Loops 我只想让它循环一次
我有一个循环的问题。我希望它只循环一次,但它会不断打印。如果我返回,脚本将停止,我不希望这样,因为我必须重新启动服务器,脚本总是会被触发。你知道怎么解决这个问题吗Loops 我只想让它循环一次,loops,lua,Loops,Lua,我有一个循环的问题。我希望它只循环一次,但它会不断打印。如果我返回,脚本将停止,我不希望这样,因为我必须重新启动服务器,脚本总是会被触发。你知道怎么解决这个问题吗 local hit=GetPedLastDamageBone(ped) 局部机会=数学随机(0,10) 本地ped=PlayerPedId() 尽管如此 等待(0) 如果GetEntityHealth(ped)>0,则 如果是DMGByWeapon那么 如果hit==45454或33646,则 印花(“脚”) 结束 结束 结束 结束
local hit=GetPedLastDamageBone(ped)
局部机会=数学随机(0,10)
本地ped=PlayerPedId()
尽管如此
等待(0)
如果GetEntityHealth(ped)>0,则
如果是DMGByWeapon那么
如果hit==45454或33646,则
印花(“脚”)
结束
结束
结束
结束
我只想让它循环一次
a的全部目的是多次执行一个代码块
所以,如果只想循环一次,就不需要循环。只需从代码中删除循环即可
local hit = GetPedLastDamageBone(ped)
local chance = math.random(0,10)
local ped = PlayerPedId()
Wait(0)
if GetEntityHealth(ped) > 0 then
if DMGByWeapon then
if hit == 45454 or 33646 then
print("Foot")
end
end
end
但它经常打印
是一个无限循环。该条件始终为真,并且永远不会更改,因此循环将永远运行
如果我返回,脚本将停止
脚本文件被编译为块。被视为匿名函数的主体return
将终止该函数,从而终止脚本,除非您在该块中的函数定义中使用它
如果要提前停止循环,请使用break
请阅读Lua手册并做一个初学者教程
if hit == 45454 or 33646 then
print("Foot")
end
与…相等吗
if hit == 45454 or true then
print("Foot")
end
这简化为
if true then
print("Foot")
end
或者干脆
print("Foot")
任何既不是nil
也不是false
的值都是true
因此33646
在逻辑上是true
或
ing任何带有true的内容
都会产生true
带有始终满足的条件的if语句是没有意义的
您可以使用逻辑运算符简单地组合条件,而不是嵌套多个if语句
所以不是
if GetEntityHealth(ped) > 0 then
if DMGByWeapon then
if hit == 45454 or 33646 then
print("Foot")
end
end
end
你可以写
if GetEntityHealth(ped) > 0 and DMGByWeapon then
print("Foot")
end
但如果您真的想使用if语句,则需要修复该条件:
if hit == 45454 or hit == 33646 then
print("Foot")
end
如果您只想循环一次,这意味着您根本不需要循环!我想你可以去掉这个循环,其他的都保持原样。
if hit == 45454 or hit == 33646 then
print("Foot")
end