免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享
返回列表 发帖

[教程] 闪电战2脚本编写教程(脚本编辑交流)

由于闪2脚本使用专用语言函数,函数是固定的,但是编辑和组织却很困难,如果没有C++基础是很难组织使用的,我自己对一些函数的使用也很头疼,希望大家一起来交流脚本编辑的问题

如果有人做出好的地图,我可以帮忙代写脚本
如果有人需要代写脚本请加我的QQ:17964570
加QQ时请注明你是论坛的(谁,谁,谁)

下面是一些脚本讲解:

设置开始

----------------------------------------------------------MAIN
StartThread( RevealObjective0 );
(执行 RevealObjective0 )
StartThread( Recon_0 );
(执行( Recon_0)

----------------------------------------------------------设置任务
function RevealObjective0()                                                   
(运行命令,这里是指运行RevealObjective0() 函数)
        while 1 do   
               (默认以下函数)               
                Wait( 3 );            
                                (等待1秒)
                if ((GetNUnitsInArea(0, "F1", 0) > 0) and (GetNUnitsInArea(1,"F1", 0) < 1)) then     
                                  (函数定义,(玩家0在位置F1地面单位大于1)和(玩家1在位置F1地面单位小于1)
                        ObjectiveChanged(0, 2);         
                                               (改变任务为完成)
                        SetIGlobalVar( "temp.objective.0", 2 );
                                                (改变已完成任务代码为temp.objective.0", 2 )
                        Wait( 3 );      
                                                (等待3秒)   
                        break;
                                                (完成以上函数)
                end;
                               (结束以上函数)
        end;
               (结束以上函数)
end;
(结束以上函数)

-----------------------------------------------------------------设置胜利条件
function Winner()            
(运行命令,运行Winner()函数)
    while 1 do
        Wait( 3 );
        if ((GetIGlobalVar("temp.objective.0", 1) == 2 ) and ( GetNUnitsInParty(1) < 1) ) then
         (函数定义:当("temp.objective.0", 1) == 2),玩家1单位小于1)
            Wait( 2 );
            Win(0);
           (胜利)
            break;
        end;        
    end;
end;

----------------------------------------------------------------------------设置失败条件
function Unlucky()
    while 1 do
        if (( GetNUnitsInParty(0) < 1) and ( ( GetReinforcementCallsLeft( 0 ) == 0 ) or ( IsReinforcementAvailable( 0 ) == 0 )) ) then
         (函数定义:玩家0在地图上的单位小于1,可调用增援等于0,可得到的增援等于0)
            Wait(3);
            Win(1);
                   (失败)
        return 1;
       (归还1)
        end;
    Wait(5);
    end;
end;

-----------------------------------------------------------------设置脚本增援
function Recon_0()
    Wait(5);
    LandReinforcementFromMap( 1, "TANKS", 0, 601 );
  (在地图增援位置0为玩家1载入脚本增援代号为(TANKS)的增援,脚本ID为601)
    Cmd( 3, 601, 0, GetScriptAreaParams( 'CT' ) );
  (命令脚本ID601的单位有攻击性的保持紧密队形前往脚本位置CT)
    end;
------------------------------------------------------------------命令函数解释
下面再加上一些常用的命令函数解释

( ACT_LOAD )       (火炮载入单位)

(ACT_UNLOAD )       (火炮卸载单位)

( ACT_ENTER)  ScriptID1 进入一建筑物

(ACT_SUPPRESS )  ScriptID 火炮炮击

-------------------------------------------------------------设置脚本增援数目(次数)
(GetDifficultyLevel() == 1) then 默认困难级别为1时
GiveReinforcementCalls ( 1, 6 ); 给玩家1增援6

-------------------------------------------------------------俘虏单位
GetNUnitsInArea ( 1 , "F3" , 0 ) < 1 then      当玩家1在脚本位置F3单位小于1时
ChangePlayerForScriptGroup (666, 0 );    将脚本代号666的单位交给玩家0

-------------------------------------------------------------清除脚本代号为601的单位
RemoveScriptGroup ( 601 );
分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
支持论坛发展
对闪2的热爱让我们来到一起,致力打造闪2精品地图。

地图如何制作

TOP

返回列表