gpt4 book ai didi

lua - 我想让lua函数运行一次

转载 作者:行者123 更新时间:2023-12-04 15:47:08 26 4
gpt4 key购买 nike

我对 lua 脚本很陌生..现在我正在尝试在 game boss 中编写代码

local function SlitherEvents(event, creature, attacker, damage)
if(creature:GetHealthPct() <= 60) then
creature:SendUnitYell("Will punish you all",0)
creature:RegisterEvent(AirBurst, 1000, 0) -- 1 seconds
return
end
end

这应该让老板在他的生命值 = 60% 或更少时说话,但它应该运行一次,当我运行代码时,老板一直在说话和攻击。如何让它运行一次?

最佳答案

使用在函数回调范围之外创建的 bool 值:

local has_talked = false
local function SlitherEvents(event, creature, attacker, damage)
if creature:GetHealthPct() <= 60 and not has_talked then
has_talked = true
creature:SendUnitYell("Will punish you all",0)
creature:RegisterEvent(AirBurst, 1000, 1) -- 1 seconds
return
end
end

编辑

如果您实际使用的是 Eluna Engine's RegisterEvent调用,然后将重复次数设置为 1 而不是 0。这将解决 issue you had .

关于lua - 我想让lua函数运行一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42194327/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com