Roblox Lua if语句即使在值为';这不是真的
这一直是我比赛中的一个主要问题。我一直在尝试制作一个脚本来检测值是1、2、3、4还是5。但是,即使值为0,if语句仍将执行,使计时器在任何人进入电梯之前启动。这真的很烦人,我无法解决。以下是脚本:Roblox Lua if语句即使在值为';这不是真的,lua,roblox,Lua,Roblox,这一直是我比赛中的一个主要问题。我一直在尝试制作一个脚本来检测值是1、2、3、4还是5。但是,即使值为0,if语句仍将执行,使计时器在任何人进入电梯之前启动。这真的很烦人,我无法解决。以下是脚本: localplayers=workspace.TestMode.players 玩家。值=0 等等(5) script.Parent.Text=“等待玩家…” 函数StartTimer() 尽管如此 如果players.Value==1或2或3或4或5,则 script.Parent.Text=“15
localplayers=workspace.TestMode.players
玩家。值=0
等等(5)
script.Parent.Text=“等待玩家…”
函数StartTimer()
尽管如此
如果players.Value==1或2或3或4或5,则
script.Parent.Text=“15”
打印(“足够的玩家”)
等待(0.1)
其他的
script.Parent.Text=“等待玩家…”
打印(“没有足够的玩家”)
结束
如果players.Value==1或2或3或4或5,则
等待(0.9)
script.Parent.Text=“14”
其他的
script.Parent.Text=“等待玩家…”
结束
等待(0.1)
如果players.Value==1或2或3或4或5,则
等待(0.9)
script.Parent.Text=“13”
其他的
script.Parent.Text=“等待玩家…”
结束
等待(0.1)
如果players.Value==1或2或3或4或5,则
等待(0.9)
script.Parent.Text=“12”
其他的
script.Parent.Text=“等待玩家…”
结束
等待(0.1)
如果players.Value==1或2或3或4或5,则
等待(0.9)
script.Parent.Text=“11”
其他的
script.Parent.Text=“等待玩家…”
结束
等待(0.1)
如果players.Value==1或2或3或4或5,则
等待(0.9)
script.Parent.Text=“10”
其他的
script.Parent.Text=“等待玩家…”
结束
等待(0.1)
如果players.Value==1或2或3或4或5,则
等待(0.9)
script.Parent.Text=“9”
其他的
script.Parent.Text=“等待玩家…”
结束
等待(0.1)
如果players.Value==1或2或3或4或5,则
等待(0.9)
script.Parent.Text=“8”
其他的
script.Parent.Text=“等待玩家…”
结束
等待(0.1)
如果players.Value==1或2或3或4或5,则
等待(0.9)
script.Parent.Text=“7”
其他的
script.Parent.Text=“等待玩家…”
结束
等待(0.1)
如果players.Value==1或2或3或4或5,则
等待(0.9)
script.Parent.Text=“6”
其他的
script.Parent.Text=“等待玩家…”
结束
等待(0.1)
如果players.Value==1或2或3或4或5,则
等待(0.9)
script.Parent.Text=“5”
其他的
script.Parent.Text=“等待玩家…”
结束
等待(0.1)
如果players.Value==1或2或3或4或5,则
等待(0.9)
script.Parent.Text=“4”
其他的
script.Parent.Text=“等待玩家…”
结束
等待(0.1)
如果players.Value==1或2或3或4或5,则
等待(0.9)
script.Parent.Text=“3”
其他的
script.Parent.Text=“等待玩家…”
结束
等待(0.1)
如果players.Value==1或2或3或4或5,则
等待(0.9)
script.Parent.Text=“2”
其他的
script.Parent.Text=“等待玩家…”
结束
等待(0.1)
如果players.Value==1或2或3或4或5,则
等待(0.9)
script.Parent.Text=“1”
其他的
script.Parent.Text=“等待玩家…”
结束
等待(0.1)
如果players.Value==1或2或3或4或5,则
等待(0.9)
script.Parent.Text=“传送玩家…”
其他的
script.Parent.Text=“等待玩家…”
结束
结束
结束
StartTimer()
在Lua中,除nil
和false
之外的所有值都是truthy
,因此在布尔上下文中计算时,它们将被视为true
如果players.Value==1或2或3或4或5,则
这意味着您的if条件是players.Value==1
true
或是2
true
,依此类推<代码>2始终为真
。因此,您的if条件总是true
您的情况应该如下所示:
如果players.Value==1或players.Value==2或players.Value==3或players.Value==4或players.Value==5,则
或者你可以有一个更简单的条件这里有一些想法:
如果players.Value>0和players.Value这不是一个答案,因为上面的人回答了,但这只是告诉您脚本有什么问题,以便您可以从中学习。如果players.Value==1或2或3或4或5,则会执行此操作。当您使用if语句时,其中包含or语句。您必须完全重新启动代码。例如,如果是players.Value==1或players.Value==2或players.Value==3等,它就会工作。这就是它不工作的原因。您错误地使用了“或”。它应该像“如果players.Value==1或players.Value==2”那样使用。你应该阅读更多的文档,有更好的方法。你也可以查一下