概述
魔兽争霸中任何英雄的主动技能都需要魔法——以蓝色条显示,释放技能后需要冷却时间。对此,有的玩家——像我——就想,能不能不要冷却,和拥有无限魔法啊?这样玩起来不就更加爽吗?于是,就有了无CD(Cold Down的缩写)和无限蓝的需求了。
实战
以“卢沟桥抗击战 4.1”为例,进行改图。按照《魔兽改图实战:P闪》的操作步骤,获得war3map.j后,在globals
以下添加以下代码:
trigger gg_trg_my_cheat_NOCD = CreateTrigger()
接下来,使用查找功能,查找“function main”。找到后,在它上面添加以下代码:
// 动作:无CD无限蓝
function Trig_my_cheat_NOCD_Action takes nothing returns nothing
// 获得触发单位
local unit sel_unit = GetTriggerUnit()
// 无CD
call UnitResetCooldown(sel_unit)
// 无限蓝
call SetUnitManaPercentBJ(sel_unit, 100)
endfunction
function MyCheat takes nothing returns nothing
// 当玩家发布命令,使英雄在施放技能结束后,调用触发器
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里。
为什么要这样修改?
因为我已经在以上代码的注释中写得很清楚了,所以在这里我就简单赘述下吧。
当玩家让指定英雄施放技能,并且结束后,就调用指定的触发器gg_trg_my_cheat_NOCD
。该触发器会执行指定的回调函数Trig_my_cheat_NOCD_Action
,而该回调函数,首先获取触发的玩家,也就是施放技能的英雄,然后立即重置冷却时间,和将魔法值修改100%。
到此,相信你已经完全掌握了无CD和无限蓝。👍