Fazendo uma contagem de segundos no Roblox Studio

Olá a todos!

Nesse post pretendo fazer uma contagem de segundos que será mostrada na tela de todos os jogadores assim que o jogo começar. :grinning:

Para isso, utilizarei uma estrutura de repetição “While”. A repetição possui a seguinte estrutura na linguagem Lua:

local count = 0
while true do
	wait(1)
	count = count + 1
end

O código dentro do “while” irá se repetir a cada segundo durante todo o jogo.

Agora, começaremos o passo a passo:

  1. No explorer, localize o botão + no lugar que deseja armazenar os segundos. Recomendo que o lugar fique na sessão “ServerStorage” pois assim garantimos que todos os usuários estão vendo os mesmos segundos ao mesmo tempo.

  2. Procure por “int” e selecione o objeto “IntValue”:

  3. Iremos renomear esse objeto para “ElapsedSeconds”. Ele armazenará no seu valor os segundos percorridos pelo jogo.

  4. Crie um Script na sessão “ServerScriptServer”. Ele irá atualizar o objeto “IntValue” criado anteriormente com os segundos. O Script conterá o seguinte código:

    local elapsedSeconds = game.ServerStorage.ElapsedSeconds
    local count = 0
    while true do
    	wait(1)
    	count = count + 1
    	elapsedSeconds.Value = count
    end
    

  5. Agora que já estamos armazenando os segundos no objeto, falta só exibi-los na tela do jogo através de uma interface gráfica. O objeto “ScreenGui” irá mostrar uma janela na tela para todos os jogadores.

    local serverStorage = game:GetService("ServerStorage")
    local seconds = serverStorage:FindFirstChild("ElapsedSeconds")
    
    seconds.Changed:Connect(function(newValue)
       script.Parent.Text = newValue
    end)
    
    script.Parent.AncestryChanged:Connect(function()
       script.Parent.Text = seconds.Value
    end)
    

    O código acima “escuta” todas as modificações que ocorrem no objeto “ElapsedSeconds” e escreve seu valor na interface gráfica que acabamos de criar.

  6. Aperte “Play” e rode o jogo. Você notará que os segundos estarão sendo contados na “TextLabel” branca no canto superior esquerdo da tela:

Uma melhoria que você pode tentar fazer posteriormente: mudar o design do Timer exibido na tela. Mais pra frente poderei fazer um post de como fazer uma “ScreenGui” mais detalhadamente se quiserem.

Obrigado e até a próxima!

7 Curtidas