概述
魔獸爭霸中任何英雄的主動技能都需要魔法——以藍色條顯示,釋放技能后需要冷卻時間。對此,有的玩家——像我——就想,能不能不要冷卻,和擁有無限魔法啊?這樣玩起來不就更加爽嗎?于是,就有了無CD(Cold Down的縮寫)和無限藍的需求了。
實戰(zhàn)
以“盧溝橋抗擊戰(zhàn) 4.1”為例,進行改圖。按照《魔獸改圖實戰(zhàn):P閃》的操作步驟,獲得war3map.j后,在globals以下添加以下代碼:
trigger gg_trg_my_cheat_NOCD = CreateTrigger()
接下來,使用查找功能,查找“function main”。找到后,在它上面添加以下代碼:
// 動作:無CD無限藍
function Trig_my_cheat_NOCD_Action takes nothing returns nothing
// 獲得觸發(fā)單位
local unit sel_unit = GetTriggerUnit()
// 無CD
call UnitResetCooldown(sel_unit)
// 無限藍
call SetUnitManaPercentBJ(sel_unit, 100)
endfunction
function MyCheat takes nothing returns nothing
// 當玩家發(fā)布命令,使英雄在施放技能結束后,調用觸發(fā)器
call TriggerRegisterPlayerUnitEventSimple(gg_trg_my_cheat_NOCD, Player(0), EVENT_PLAYER_UNIT_SPELL_FINISH)
call TriggerAddAction(gg_trg_my_cheat_NOCD, function Trig_my_cheat_NOCD_Action)
call EnableTrigger(gg_trg_my_cheat_NOCD)
endfunction
添加完后,從“function main”開始查找“endfunction”,在它上面添加以下代碼:
call MyCheat()
到此,war3map.j改完了。此時,你要用HkeW3mModifier 2.0把修改好的war3map.j替換進w3x里。
為什么要這樣修改?
因為我已經(jīng)在以上代碼的注釋中寫得很清楚了,所以在這里我就簡單贅述下吧。
當玩家讓指定英雄施放技能,并且結束后,就調用指定的觸發(fā)器gg_trg_my_cheat_NOCD。該觸發(fā)器會執(zhí)行指定的回調函數(shù)Trig_my_cheat_NOCD_Action,而該回調函數(shù),首先獲取觸發(fā)的玩家,也就是施放技能的英雄,然后立即重置冷卻時間,和將魔法值修改100%。
到此,相信你已經(jīng)完全掌握了無CD和無限藍。??