我在roblox studio中制作了等级系统,脚本似乎没问题,但是当经验值达到最大值时,它并没有升级,而是继续增加,我该怎么办?

所以脚本应该是可以工作的,除了在达到所需经验值时不会升级,它只会继续增加。以下是脚本:对于糟糕的英语,我表示歉意。

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)

我没有收到任何错误,也没有发现任何问题,有人可以告诉我该怎么办吗?

点赞
用户15107943
用户15107943

我测试了这段代码,并且它工作正常。将脚本(不是本地脚本)放到ServerScriptService中,它就会正常工作。

2021-04-04 20:34:18
用户14802048
用户14802048

我已经解决了问题?,问题是我的经验从本地脚本递增,并没有被复制到服务器上。我解决了这个问题,现在一切都正常了。

2021-04-05 16:03:26
用户19192176
用户19192176

将一个脚本(不是本地脚本)放在 ServerScriptService 中,它就会工作。

2022-08-24 08:50:25