【发布时间】:2020-10-23 13:36:59
【问题描述】:
这是我游戏中的一个主要问题。我一直在尝试制作一个脚本来检测值何时为 1、2、3、4 或 5。但是,即使值为 0,if 语句仍将执行,从而使计时器在任何人进入之前启动电梯。这真的很烦人,我无法解决它。这是脚本:
local players = workspace.TestMode.Players
players.Value = 0
wait(5)
script.Parent.Text = "Waiting for players..."
function StartTimer()
while true do
if players.Value == 1 or 2 or 3 or 4 or 5 then
script.Parent.Text = "15"
print("enough players")
wait(0.1)
else
script.Parent.Text = "Waiting for players..."
print("not enough players")
end
if players.Value == 1 or 2 or 3 or 4 or 5 then
wait(0.9)
script.Parent.Text = "14"
else
script.Parent.Text = "Waiting for players..."
end
wait(0.1)
if players.Value == 1 or 2 or 3 or 4 or 5 then
wait(0.9)
script.Parent.Text = "13"
else
script.Parent.Text = "Waiting for players..."
end
wait(0.1)
if players.Value == 1 or 2 or 3 or 4 or 5 then
wait(0.9)
script.Parent.Text = "12"
else
script.Parent.Text = "Waiting for players..."
end
wait(0.1)
if players.Value == 1 or 2 or 3 or 4 or 5 then
wait(0.9)
script.Parent.Text = "11"
else
script.Parent.Text = "Waiting for players..."
end
wait(0.1)
if players.Value == 1 or 2 or 3 or 4 or 5 then
wait(0.9)
script.Parent.Text = "10"
else
script.Parent.Text = "Waiting for players..."
end
wait(0.1)
if players.Value == 1 or 2 or 3 or 4 or 5 then
wait(0.9)
script.Parent.Text = "9"
else
script.Parent.Text = "Waiting for players..."
end
wait(0.1)
if players.Value == 1 or 2 or 3 or 4 or 5 then
wait(0.9)
script.Parent.Text = "8"
else
script.Parent.Text = "Waiting for players..."
end
wait(0.1)
if players.Value == 1 or 2 or 3 or 4 or 5 then
wait(0.9)
script.Parent.Text = "7"
else
script.Parent.Text = "Waiting for players..."
end
wait(0.1)
if players.Value == 1 or 2 or 3 or 4 or 5 then
wait(0.9)
script.Parent.Text = "6"
else
script.Parent.Text = "Waiting for players..."
end
wait(0.1)
if players.Value == 1 or 2 or 3 or 4 or 5 then
wait(0.9)
script.Parent.Text = "5"
else
script.Parent.Text = "Waiting for players..."
end
wait(0.1)
if players.Value == 1 or 2 or 3 or 4 or 5 then
wait(0.9)
script.Parent.Text = "4"
else
script.Parent.Text = "Waiting for players..."
end
wait(0.1)
if players.Value == 1 or 2 or 3 or 4 or 5 then
wait(0.9)
script.Parent.Text = "3"
else
script.Parent.Text = "Waiting for players..."
end
wait(0.1)
if players.Value == 1 or 2 or 3 or 4 or 5 then
wait(0.9)
script.Parent.Text = "2"
else
script.Parent.Text = "Waiting for players..."
end
wait(0.1)
if players.Value == 1 or 2 or 3 or 4 or 5 then
wait(0.9)
script.Parent.Text = "1"
else
script.Parent.Text = "Waiting for players..."
end
wait(0.1)
if players.Value == 1 or 2 or 3 or 4 or 5 then
wait(0.9)
script.Parent.Text = "Teleporting players..."
else
script.Parent.Text = "Waiting for players..."
end
end
end
StartTimer()
【问题讨论】:
-
您错误地使用了“或”。它应该像“如果 player.Value == 1 或 player.Value ==2”一样使用。您应该阅读更多文档,有更好的方法。您也可以查看stackoverflow.com/questions/33510736/…