|
楼主 |
发表于 2015-5-3 10:36:29
|
显示全部楼层
语法基础(触发事件):
新增觸發事件
- Trig ( "觸發事件名稱", 觸發事件起始狀態, 觸發事件循環, 任務目標顯示, "觸發事件敘述", 敘述順序);
复制代码 觸發事件名稱:字符。
觸發事件起始狀態:數值。開啟時為 1 ,關閉時為 0 。預設值為 1 。
觸發事件循環:數值。循環時為 1 ,不循環時為 0 。預設值為 0 。
任務目標顯示:數值。顯示時為 1 ,不顯示時為 0 。預設值為 0 。
觸發事件敘述:字符。觸發事件說明文字,任務目標顯示時會顯示在任務欄。預設值為空白。
敘述順序:數值。任務目標顯示時觸發事件敘述在任務欄顯示的次序。預設值為 0 。
觸發事件狀況:基本結構
- Cond('狀況條件類型',array(Q=>數量, R=>資源屬性, U=>物件類型編號, P=>來源遊戲者編號, H=>科技編號, T=>計時器秒數, , A=>array(array(設定區域左端 X 坐標, 設定區域左端 Y 坐標),array(設定區域右端 X 坐標, 設定區域右端 Y 坐標)), G=>物件群組編號, Y=>物件類別編號, S=>array(設定物件編號), Z=>人工智慧信號值, K=>逆向判斷));
复制代码 逆向判斷:數值, Userpatch 1.4 版專用。啟用時為 True 或 -256 ,關閉時為 False 或 -1 。
觸發事件狀況:將指定物件帶到指定區域
- Cond('BringObjectToArea',array(S=>array(設定物件編號), A=>array(array(設定區域左端 X 坐標, 設定區域左端 Y 坐標),array(設定區域右端 X 坐標, 設定區域右端 Y 坐標))));
复制代码
觸發事件狀況:將指定物件帶給指定物件
現行版本腳本代碼懷疑因為作者失誤,並未容許設定觸發事件狀況的第二個物件,故無法順利編寫將指定物件帶給指定物件狀況。
觸發事件狀況:擁有物件
- Cond('OwnObjects',array(P=>來源遊戲者編號, U=>物件類型編號, G=>物件群組編號, Y=>物件類別編號, Q=>數量));
复制代码
觸發事件狀況:擁有較少物件
- Cond('OwnFewerObjects',array(P=>來源遊戲者編號, U=>物件類型編號, G=>物件群組編號, Y=>物件類別編號, Q=>數量));
复制代码
觸發事件狀況:區域中的物件
- Cond('ObjectsInArea',array(P=>來源遊戲者編號, U=>物件類型編號, G=>物件群組編號, Y=>物件類別編號, Q=>數量, A=>array(array(設定區域左端 X 坐標, 設定區域左端 Y 坐標),array(設定區域右端 X 坐標, 設定區域右端 Y 坐標)));
复制代码
觸發事件狀況:摧毀物件
- Cond_Destroy(array(設定物件編號));
复制代码 或
- Cond('DestroyObject',array(S=>array(設定物件編號)));
复制代码
觸發事件狀況:捕獲物件
- Cond('CaptureObject',array(P=>來源遊戲者編號, S=>array(設定物件編號)));
复制代码
觸發事件狀況:累積屬性
- Cond_Accumulate(來源遊戲者編號, 資源屬性, 屬性數量);
复制代码 或
- Cond('AccumulateAttribute',array(P=>來源遊戲者編號, R=>資源屬性, Q=>屬性數量));
复制代码
觸發事件狀況:科技研發
- Cond_Researched(來源遊戲者編號, 科技編號);
复制代码 或
- Cond('ResearchTechnology',array(P=>來源遊戲者編號, H=>科技編號));
复制代码
觸發事件狀況:計時器
或
- Cond('Timer',array(T=>計時器秒數));
复制代码
觸發事件狀況:選擇物件
- Cond('ObjectSelected',array(S=>array(設定物件編號)));
复制代码
觸發事件狀況:人工智慧信號
- Cond('AISignal',array(Z=>人工智慧信號值));
复制代码
觸發事件狀況:遊戲者被擊敗
或
- Cond('PlayerDefeated',array(P=>來源遊戲者編號));
复制代码
觸發事件狀況:目標物件
- Cond('ObjectHasTarget',array(S=>array(設定物件編號)));
复制代码 目標物件狀況雖然容許設定物件類型、群組、類別和下一個物件,但都沒有實際效用。
觸發事件狀況:可視物件
- Cond('ObjectVisible',array(S=>array(設定物件編號)));
复制代码
觸發事件狀況:不可視物件
- Cond('ObjectNotVisible',array(S=>array(設定物件編號)));
复制代码
觸發事件狀況:研發科技
- Cond('ResearchingTechnology',array(P=>來源遊戲者編號, H=>科技編號));
复制代码
觸發事件狀況:駐守單位
- Cond('UnitsGarrisoned',array(S=>array(設定物件編號), Q=>數量));
复制代码
觸發事件狀況:難易度
- Cond('DifficultyLevel',array(Q=>難易度等級));
复制代码 難易度等級:最易為 4 ,標準為 3 ,中等為 2 ,困難為 1 ,較難為 0 。
觸發事件效果:基本結構
- Efft('效果類型',array(Q=>數量, R=>資源屬性, U=>物件類型編號, P=>來源遊戲者編號, E=>目標遊戲者編號, H=>科技編號, T=>計時器秒數, I=>觸發事件名稱, L=>array(目標位置 X 坐標, 目標位置 Y 坐標), A=>array(array(設定區域左端 X 坐標, 設定區域左端 Y 坐標),array(設定區域右端 X 坐標, 設定區域右端 Y 坐標)), G=>物件群組編號, Y=>物件類別編號, N=>指令欄編號, X=>文字訊息, D=>聲音檔案名稱, S=>array(設定物件編號)));
复制代码
觸發事件效果:改變外交策略
現行版本腳本代碼懷疑因為作者失誤,未容許設定觸發事件效果的外交狀態,故此無法順利編寫改變外交策略效果。
觸發事件效果:科技研發
- Efft_Research(來源遊戲者編號, 科技編號));
复制代码
或
- Efft('ResearchTechnology',array(P=>來源遊戲者編號, H=>科技編號));
复制代码
觸發事件效果:送出交談訊息
- Efft_Chat(來源遊戲者編號, 文字訊息));
复制代码
或
- Efft('SendChat',array(P=>來源遊戲者編號, X=>文字訊息, D=>聲音檔案名稱));
复制代码
觸發事件效果:播放聲音
- Efft_PlaySound(來源遊戲者編號, D=>聲音檔案名稱);
复制代码
或
- Efft('PlaySound',array(P=>來源遊戲者編號, D=>聲音檔案名稱));
复制代码
觸發事件效果:貢品
- Efft('SendTribute',array(P=>來源遊戲者編號, E=>目標遊戲者編號, R=>資源屬性, Q=>屬性數量));
复制代码
觸發事件效果:開啟城門
- Efft('UnlockGate',array(S=>array(設定物件編號)));
复制代码
觸發事件效果:關閉城門
- Efft('LockGate',array(S=>array(設定物件編號)));
复制代码
觸發事件效果:啟動觸發事件
或
- Efft('ActivateTrigger',array(I=>觸發事件名稱));
复制代码
觸發事件效果:關閉觸發事件
或
- Efft('DeactivateTrigger',array(I=>觸發事件名稱));
复制代码
觸發事件效果:人工智慧設定目標
- Efft('AIScriptGoal',array('P=>來源遊戲者編號, Q=>數量));
复制代码
觸發事件效果:建立物件
- Efft_Create(來源遊戲者編號, 物件類型編號, array(目標位置 X 坐標, 目標位置 Y 坐標));
复制代码
或
- Efft('CreateObject',array(S=>array(P=>來源遊戲者編號, U=>物件類型編號, L=>array(目標位置 X 坐標, 目標位置 Y 坐標)));
复制代码
觸發事件效果:指派物件
- Efft('TaskObject',array(P=>來源遊戲者編號, U=>物件類型編號, G=>物件群組編號, Y=>物件類別編號, S=>array(設定物件編號), array(array(設定區域左端 X 坐標, 設定區域左端 Y 坐標),array(設定區域右端 X 坐標, 設定區域右端 Y 坐標)), L=>array(目標位置 X 坐標, 目標位置 Y 坐標)));
复制代码
觸發事件效果:宣告勝利
- Efft('DeclareVictory',array(P=>來源遊戲者編號));
复制代码
觸發事件效果:毀滅物件
- Efft('KillObject',array(P=>來源遊戲者編號, U=>物件類型編號, G=>物件群組編號, Y=>物件類別編號, S=>array(設定物件編號), array(array(設定區域左端 X 坐標, 設定區域左端 Y 坐標),array(設定區域右端 X 坐標, 設定區域右端 Y 坐標))));
复制代码
觸發事件效果:移除物件
- Efft('RemoveObject',array(P=>來源遊戲者編號, U=>物件類型編號, G=>物件群組編號, Y=>物件類別編號, S=>array(設定物件編號), array(array(設定區域左端 X 坐標, 設定區域左端 Y 坐標),array(設定區域右端 X 坐標, 設定區域右端 Y 坐標))));
复制代码
觸發事件效果:改變視野
- Efft_ChangeView(來源遊戲者編號, array(目標位置 X 坐標, 目標位置 Y 坐標));
复制代码
或
- Efft('ChangeView',array(P=>來源遊戲者編號, L=>array(目標位置 X 坐標, 目標位置 Y 坐標)));
复制代码
觸發事件效果:卸載
- Efft_Unload(來源遊戲者編號, 設定物件編號, array(目標位置 X 坐標, 目標位置 Y 坐標));
复制代码
或
- Efft('Unload',array(P=>來源遊戲者編號, U=>物件類型編號, G=>物件群組編號, Y=>物件類別編號, S=>array(設定物件編號), array(array(設定區域左端 X 坐標, 設定區域左端 Y 坐標),array(設定區域右端 X 坐標, 設定區域右端 Y 坐標)), L=>array(目標位置 X 坐標, 目標位置 Y 坐標)));
复制代码
觸發事件效果:改變所有權
- Efft('ChangeOwnership',array(P=>來源遊戲者編號, E=>目標遊戲者編號, U=>物件類型編號, G=>物件群組編號, Y=>物件類別編號, S=>array(設定物件編號), array(array(設定區域左端 X 坐標, 設定區域左端 Y 坐標),array(設定區域右端 X 坐標, 設定區域右端 Y 坐標))));
复制代码
觸發事件效果:巡邏
- Efft('Patrol',array(S=>array(設定物件編號), L=>array(目標位置 X 坐標, 目標位置 Y 坐標)));
复制代码
觸發事件效果:顯示指令
- Efft_Chat(計時器秒數, 指令欄編號, 文字訊息));
复制代码
或
- Efft('DisplayInstructions',array(T=>計時器秒數, N=>指令欄編號, X=>文字訊息, D=>聲音檔案名稱));
复制代码
觸發事件效果:清除指令
- Efft('ClearInstructions',array(N=>指令欄編號));
复制代码
觸發事件效果:凍結單位
- Efft('FreezeUnit',array(P=>來源遊戲者編號, U=>物件類型編號, G=>物件群組編號, Y=>物件類別編號, S=>array(設定物件編號), array(array(設定區域左端 X 坐標, 設定區域左端 Y 坐標),array(設定區域右端 X 坐標, 設定區域右端 Y 坐標))));
复制代码
觸發事件效果:使用進階選項按鈕
- Efft('UseAdvancedButtons');
复制代码
觸發事件效果:摧毀目標
- Efft('DamageObject',array(P=>來源遊戲者編號, U=>物件類型編號, G=>物件群組編號, Y=>物件類別編號, S=>array(設定物件編號), array(array(設定區域左端 X 坐標, 設定區域左端 Y 坐標),array(設定區域右端 X 坐標, 設定區域右端 Y 坐標)), Q=>數量));
复制代码
觸發事件效果:設置基礎
- Efft('ChangeObjectName',array(S=>array(P=>來源遊戲者編號, U=>物件類型編號, L=>array(目標位置 X 坐標, 目標位置 Y 坐標)));
复制代码
觸發事件效果:改變目標名字
- Efft_Name(設定物件編號, 文字訊息));
复制代码
或
- Efft('ChangeObjectName',array(S=>array(設定物件編號), X=>文字訊息));
复制代码
觸發事件效果:改變目標的生命值
- Efft('ChangeObjectHP',array(P=>來源遊戲者編號, U=>物件類型編號, G=>物件群組編號, Y=>物件類別編號, S=>array(設定物件編號), array(array(設定區域左端 X 坐標, 設定區域左端 Y 坐標),array(設定區域右端 X 坐標, 設定區域右端 Y 坐標)), Q=>數量));
复制代码
觸發事件效果:改變目標的攻擊力
- Efft('ChangeObjectAttack',array(P=>來源遊戲者編號, U=>物件類型編號, G=>物件群組編號, Y=>物件類別編號, S=>array(設定物件編號), array(array(設定區域左端 X 坐標, 設定區域左端 Y 坐標),array(設定區域右端 X 坐標, 設定區域右端 Y 坐標)), Q=>數量));
复制代码
觸發事件效果:停止部隊
- Efft('StopUnit',array(P=>來源遊戲者編號, U=>物件類型編號, G=>物件群組編號, Y=>物件類別編號, S=>array(設定物件編號), array(array(設定區域左端 X 坐標, 設定區域左端 Y 坐標),array(設定區域右端 X 坐標, 設定區域右端 Y 坐標))));
复制代码
|
|