我在roblox studio中制作了关卡系统,脚本似乎没问题,但是xp达到max后没有升级,而是继续升级,我该怎么办?
I made level system in roblox studio, script seems to be ok, but instead of leveling up after xp hits max, it just continues going, what should i do?
所以脚本应该可以正常工作,除了它在 exp 达到所需的数量后它不会升级,它只是继续运行,这是脚本:我为糟糕的英语道歉
local maxXp = 20
game.Players.PlayerAdded:Connect(function(player)
local levelinfo = Instance.new("Folder")
levelinfo.Name = "LevelsInfo"
levelinfo.Parent = player
local level = Instance.new("IntValue")
level.Name = "Level"
level.Value = 1
level.Parent = levelinfo
local exp = Instance.new("IntValue")
exp.Name = "Experience"
exp.Value = 5
exp.Parent = levelinfo
local xpNeeded = Instance.new("IntValue")
xpNeeded.Name = "expNeeded"
xpNeeded.Value = 20
xpNeeded.Parent = levelinfo
exp.Changed:Connect(function(newExp)
if exp.Value >= xpNeeded.Value then
level.Value += 1
exp.Value -= xpNeeded.Value
xpNeeded.Value = xpNeeded.Value + 2
end
end)
end)
应该起作用的部分是:
exp.Changed:Connect(function(newExp)
if exp.Value >= xpNeeded.Value then
level.Value += 1
exp.Value -= xpNeeded.Value
xpNeeded.Value = xpNeeded.Value + 2
end
end)
我没有收到任何错误,似乎没有任何问题,有人可以告诉我该怎么做吗?
我测试了代码,它运行良好。在 ServerScriptService 中放置一个脚本(不是本地脚本),它将开始工作。
我解决了这个问题,问题原来是我从本地脚本增加我的 exp 而它没有复制到服务器,我解决了这个问题,现在一切正常
所以脚本应该可以正常工作,除了它在 exp 达到所需的数量后它不会升级,它只是继续运行,这是脚本:我为糟糕的英语道歉
local maxXp = 20
game.Players.PlayerAdded:Connect(function(player)
local levelinfo = Instance.new("Folder")
levelinfo.Name = "LevelsInfo"
levelinfo.Parent = player
local level = Instance.new("IntValue")
level.Name = "Level"
level.Value = 1
level.Parent = levelinfo
local exp = Instance.new("IntValue")
exp.Name = "Experience"
exp.Value = 5
exp.Parent = levelinfo
local xpNeeded = Instance.new("IntValue")
xpNeeded.Name = "expNeeded"
xpNeeded.Value = 20
xpNeeded.Parent = levelinfo
exp.Changed:Connect(function(newExp)
if exp.Value >= xpNeeded.Value then
level.Value += 1
exp.Value -= xpNeeded.Value
xpNeeded.Value = xpNeeded.Value + 2
end
end)
end)
应该起作用的部分是:
exp.Changed:Connect(function(newExp)
if exp.Value >= xpNeeded.Value then
level.Value += 1
exp.Value -= xpNeeded.Value
xpNeeded.Value = xpNeeded.Value + 2
end
end)
我没有收到任何错误,似乎没有任何问题,有人可以告诉我该怎么做吗?
我测试了代码,它运行良好。在 ServerScriptService 中放置一个脚本(不是本地脚本),它将开始工作。
我解决了这个问题,问题原来是我从本地脚本增加我的 exp 而它没有复制到服务器,我解决了这个问题,现在一切正常