【发布时间】:2020-11-19 07:01:04
【问题描述】:
我遇到的问题是我的变量在事件发生后没有更新。这是我的代码:
local Players = game:GetService("Players")
local intermission = 15 -- time in seconds
local AmountOfPlayers = #Players:GetPlayers() -- starts at zero
local minPlayers = 1
Players.PlayerAdded:Connect(function(Player) -- updates amount of players in server
AmountOfPlayers = AmountOfPlayers + 1
end)
Players.PlayerRemoving:Connect(function(Player) -- updates amount of players in server
AmountOfPlayers = AmountOfPlayers - 1
end)
下面,这个 if 语句没有运行,因为 AmountOfPlayers 不等于 minPlayers。
while intermission > 0 do
if AmountOfPlayers >= minPlayers then
print("SUCCESS")
end
end
我有一个变量 AmountOfPlayers 的范围问题。我不知道如何解决这个问题,所以任何建议都将不胜感激。感谢您的帮助!
【问题讨论】:
-
什么是中场休息?你的事件回调被触发了吗?
-
使
AmountOfPlayers全局化。或者确保您的while intermission语句在本地AmountOfPlayers范围内 -
Players:GetPlayers()已经是全球性的。为什么不在您需要检查游戏中有多少玩家时调用它?
标签: if-statement events lua scope roblox