跳至主要內容

CMD("延迟_预警",...)

鸵鸟工作室大约 3 分钟

延迟等待n秒.同时在界面中显示出进攻路线. 玩家点击预警Icon后可以提前结束预警

基础

CMD("延迟_预警",30)
  • 参数1 : 延迟等待时间

完整配置

CMD("延迟_预警",30,"Ground",false)
  • 参数1: 延迟等待时间

  • 参数2: 预警Icon的样式

    • 可以是Ground,Fly,Boss,Unknow 这四个标准Icon中的任意一个
    • 也可以是 "绿皮","大壮","石头人" 这种在图鉴/单位中定义的名字
  • 参数3: 当前进攻路线绘制是否采用空军路线

Icon对应参数备注
Ground普通小怪
Fly飞行单位
BossBoss
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是固有参数.也就是无论你自定义函数传不传参数进去.这两个参数都会存在

上次编辑于:
贡献者: Eran