Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Roblox Lua值不变_Lua_Roblox - Fatal编程技术网

Roblox Lua值不变

Roblox Lua值不变,lua,roblox,Lua,Roblox,我已经添加了多个不同的NumberValue和BoolValue,但是当我尝试使用以下内容更改这些值时,例如: local i = 1 for i == 1 game.Workspace.Time.Value = 0 wait(120) game.Workspace.Time.Value + 0.5 end 而且工作区中的数字值不会更改随机旁注:游戏。工作区已弃用,请改用“工作区” 此外,它背后的语法完全错误,这是一个诚实的错误。应该是这样的: -- Assuming

我已经添加了多个不同的NumberValue和BoolValue,但是当我尝试使用以下内容更改这些值时,例如:

local i = 1
for i == 1
    game.Workspace.Time.Value = 0
    wait(120)
    game.Workspace.Time.Value + 0.5
end

而且工作区中的数字值不会更改

随机旁注:游戏。工作区已弃用,请改用“工作区”

此外,它背后的语法完全错误,这是一个诚实的错误。应该是这样的:

-- Assuming "Time" is a 'NumberValue' under workspace
-- Assuming this script is in workspace

local i = 1
while (i == 1) do
    local time = workspace:FindFirstChild("Time") -- Usage of the 'FindFirstChild' method
    time.Value = time.Value + 0.5
    wait(120)
end
然而,这本身就是一种不好的做法,因为这将产生任何你正在运行的线程,对于这一点,我建议使用协同程序

local function addTime()
    local varContainer = workspace:GetFirstChild("Time")
    repeat
        varContainer.Value = varContainer.Value + 0.5
        wait(120)
    until false
end

local newThread = coroutine.create(addTime) -- Create the new coroutine

coroutine.resume(newThread) -- Run it forever in another running thread

如果lua与其他语言一样工作,
game.Workspace.Time.Value+0.5
不会覆盖
Value
的旧值。它将数字相加,然后丢弃结果。你可能需要<代码>+=。此外,在每个循环开始时都会将其重置回0,因此即使该值发生了变化,它会立即被更改回0。没有理由将协同路由引入到这个中。是的,我不知道是否是协同路由,但当我在测试studio时尝试检查时间时,Crassesi只是将协同路由作为一种不同的途径,假设这将是一个驱动程序脚本,更多内容将跟随此块。