制作一个LuaModifier,当然,KV Modifier也是可以的。
local custom_movespeed_cap = 1000
modifier_movespeed_cap = class({})
function modifier_movespeed_cap:DeclareFunctions()
local funcs = {
MODIFIER_PROPERTY_MOVESPEED_MAX,
MODIFIER_PROPERTY_MOVESPEED_LIMIT,
}
return funcs
end
function modifier_movespeed_cap:GetModifierMoveSpeed_Max( params )
return custom_movespeed_cap
end
function modifier_movespeed_cap:GetModifierMoveSpeed_Limit( params )
return custom_movespeed_cap
end
function modifier_movespeed_cap:IsHidden()
return true
end
之后监听单位的出生,给他们赋予改变移动速度上限的modifier:
LinkLuaModifier("modifier_movespeed_cap", "PATH_FOLDER/modifier_movespeed_cap", LUA_MODIFIER_MOTION_NONE)
ListenToGameEvent( 'npc_spawned', Dynamic_Wrap( GameMode, 'OnNPCSpawned' ), self )
function GameMode:OnNPCSpawned( args )
local hUnit = EntIndexToHScript( args.entindex)
hUnit:AddNewModifier( hUnit, nil, 'modifier_movespeed_cap', nil )
end