在DOTA2中突破移动速度上限的办法

制作一个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

转载于:https://my.oschina.net/XavierCHN/blog/515753

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值