CMD("延迟_预警",...)
大约 3 分钟
延迟等待n秒.同时在界面中显示出进攻路线. 玩家点击预警Icon后可以提前结束预警
基础
CMD("延迟_预警",30)
- 参数1 : 延迟等待时间
完整配置
CMD("延迟_预警",30,"Ground",false)
参数1: 延迟等待时间
参数2: 预警Icon的样式
- 可以是
Ground
,Fly
,Boss
,Unknow
这四个标准Icon中的任意一个 - 也可以是 "绿皮","大壮","石头人" 这种在图鉴/单位中定义的名字
- 可以是
参数3: 当前进攻路线绘制是否采用空军路线
Icon | 对应参数 | 备注 |
---|---|---|
![]() | Ground | 普通小怪 |
![]() | Fly | 飞行单位 |
![]() | Boss | Boss |
![]() | Unknow | 未知 |
注意
- 请不要在调用了延迟预警以后又通过CMD("出兵位置")等操作变更出兵策略. 否则有可能会导致显示给玩家的出怪路线和真是的出怪路线不符
回调函数
CMD("延迟_预警",30,"Ground",false,"Reward",3000)
function Reward(_shiLiID, _percent, _customArg)
CMD("奖励", "金币", math.ceil(_customArg * _percent), "势力", _shiLiID)
end
在最后可以增加两个参数
- 参数4 : 回调的函数名称
- 参数5 : 回传的参数 你在这里写什么 回调函数的
_customArg
就是什么
函数分析
提示
- 如果这个代码对于你来说比较难理解,你可以直接 把上面的
Reward
函数放在你脚本的最下方, 然后在延迟_预警
函数的最后两个参数传入Reward
,3000
- 其中
Reward
就是这个函数名,3000
是你想奖励给玩家的金币数. - 这样实现的效果就是 玩家按点击的时间早晚领取(3000 ~ 0) 个金币
这种带回调函数的写法比较高级. 主要的目的是为了提前结束时候给玩家一些奖励.
在上面的例子中 延迟时间设置为30秒
假设有两个玩家
玩家1
,玩家2
分别控制善良
阵营的两个势力势力1
,势力2
当预警出现后5秒,玩家1
点击了Icon. 则此时Reward
函数收到的三个参数分别为
_shiLiID = "势力1" _percent = 0.8333333 => (30-5)/30 _customArg = 3000 => 因为调用时候传入的是3000
当预警过了10秒后玩家2
点击了Icon 此时_percent
= (30-10)/30 = 0.6666667,_shiLiID
= "势力2"
多参数回调
警告
- 在使用前最好对
Lua
以及函数
有一定的了解 - 参数只支持简单类型(int,float,string,bool).不要传LuaTable,Array等复杂类型
函数结构同CMD("函数",...)
CMD("延迟_预警", 70, "紫皮", false, "Fun1")
CMD("延迟_预警", 70, "大壮", false, "Fun2", 15, true, "HelloWorld")
CMD("延迟_预警", 70, "大壮", false, "Fun2", 99, true)
CMD("延迟_预警", 70, "大壮", false, "Fun2", 77, true, "Arg3", "Arg4")
CMD("延迟_预警", 70, "大壮", false, "Fun3", 66, true, "Arg3")
function Fun1()
print("无参数函数 Fun1 Called")
end
function Fun2(_shiLiID, _percent, int1, bool2, string3)
print("3参数函数 Fun2 Called")
print("参数1", int1)
print("参数2", bool2)
print("参数3", string3)
CMD("输出", "Fun2 Called")
end
注意前面两个参数_shiLiID
和_percent
是固有参数.也就是无论你自定义函数传不传参数进去.这两个参数都会存在