2017-01-22 3 views
-1

내가 여러 다른 NumberValues ​​및 BoolValues을 추가 한 변경하지 않는, 아직 내가 예를 들어이 같은 뭔가 값을 변경하려고하면Roblox 루아 값은

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

및 작업 공간의 NumberValue 변경되지 않습니다

+1

lua가 다른 모든 언어처럼 작동하면'game.Workspace.Time.Value + 0.5'는'Value'의 이전 값을 덮어 쓰지 않습니다. 숫자를 더한 다음 결과를 무시합니다. 아마도 필요할 것입니다. '+ ='. – Carcigenicate

+1

또한 각 루프가 시작될 때 다시 0으로 재설정하므로 'Value'가 변경 되더라도 즉각 0으로 변경됩니다. – Carcigenicate

답변

1

임의 사이드 참고 사항 : game.Workspace는 더 이상 사용되지 않으며 'workspace'를 대신 사용하십시오.

또한 그 뒤에 숨겨진 구문은 모두 잘못되었습니다. 이는 정직한 실수입니다. 그것은 다음과 같아야합니다

그러나
-- 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 
+0

Coroutines를 가져올 이유가 없습니다 – warspyking

+0

예 그 coroutines 경우 알아하지만 내 스튜디오 충돌을 테스트하는 동안 시간을 ​​확인하려고하면 – MCbigminer

+0

나는 단순히 드라이버 대본이 될 것이라고 가정하고, 다른 블록으로 coroutines 준, 그리고 더 많은 내용이 블록을 따르려고했다. –