代码之家  ›  专栏  ›  技术社区  ›  Naruto_333

Roblox:函数不循环或添加“货币”值

  •  0
  • Naruto_333  · 技术社区  · 5 月前

    我正在编写一个Roblox游戏,我需要一个循环的计时器,它必须增加IntValue的钱。我对代码进行了测试,但它没有循环或增加货币价值。我该如何解决这个问题?没有发生任何错误。 这是计时器脚本的代码。这是一个当地的脚本。

    local minutes = 0
    local seconds = 15
    
    local player = game.Players.LocalPlayer
    local leaderstats = player:FindFirstChild("leaderstats")
    local money = leaderstats:FindFirstChild("Effect Coins")
    
    while true do
        for i = 1, 15 do
            wait(1)
            if seconds == 0 then
                minutes = minutes - 1
                secconds = 59
            else
                seconds = seconds - 1
            end
            
            if seconds < 10 then
                script.Parent.Text = tostring(minutes)..":0"..tostring(seconds)
            else
                script.Parent.Text = tostring(minutes)..":"..tostring(seconds)
            end
        end
        
        money += 1
        minutes = 0
        seconds = 15
        
    end
    
    

    我尝试更改时间长度的值,但似乎不起作用。

    1 回复  |  直到 5 月前
        1
  •  0
  •   Dominikis    5 月前

    从您提供的代码片段来看,您的代码似乎甚至无法正常运行,因为存在以下错误:

    变量中的拼写错误:

    secconds = 59
    

    Lua没有运算符+=。请改用:

    seconds = seconds + 1
    

    可能还有另一个问题。当你寻找金钱时。

    leaderstats:FindFirstChild("Effect
    

    它返回对对象的引用。当你想更改对象时,你必须访问它的属性或方法。

    我从未在roblox中编程过任何东西,但我在文档中找到了文本标签的参考。它包含名为“ContentText”的属性,这意味着您可以通过这样做来兑换货币: money.ContentText = "money value"

    Link to documentation