Menu
CoddyTech

Linha de chegada

Parte da seção Scripts para jogos no Roblox do Journey de Lua da Coddy. Lição 23 de 24.

Uma linha de chegada conta uma vitória e manda o vencedor de volta ao início. player:LoadCharacterAsync() dá ao jogador um personagem novo no ponto de surgimento, sem esperar pelo temporizador de ressurgimento.

Isso leva um momento. Até o novo personagem chegar, a linha de chegada continua disparando Touched para as outras partes do corpo do personagem antigo, e cada uma delas contaria uma vitória. Um debounce impede isso, e uma linha de chegada precisa de um por jogador, para que dois jogadores que terminem ao mesmo tempo contem ambos. Mantenha isso em uma tabela, usando o jogador como chave:

local busy = {}
if not busy[player] then
	busy[player] = true
	-- contabilize a vitória e mande o jogador de volta
	task.wait(1)
	busy[player] = nil
end

busy[player] lê ou define a entrada da tabela para aquele jogador, e uma entrada ausente é nil. busy[player] = nil a remove, então a próxima travessia desse jogador conta novamente.

challenge icon

Desafio

Médio

A plataforma dourada é a linha de chegada, e este script está dentro dela. Cada jogador já tem leaderstats com Wins em 0, e o debounce por jogador já está configurado.

  1. Adicione 1 ao Wins do jogador.
  2. Envie-o de volta ao início com player:LoadCharacterAsync().
  3. Em seguida, limpe o debounce dele, para que a próxima corrida conte.

Pressione Play, corra até a linha de chegada duas vezes e, em seguida, Check.

Experimente você mesmo

local Players = game:GetService("Players")
local finish = script.Parent
local busy = {}

finish.Touched:Connect(function(hit)
	local player = Players:GetPlayerFromCharacter(hit.Parent)
	if player and not busy[player] then
		busy[player] = true
		-- 1. Adicione 1 ao Wins do jogador
		-- 2. Envie o jogador de volta ao início
		-- 3. Após 1 segundo, permita que o jogador vença novamente
	end
end)
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Scripts para jogos no Roblox

Pratique por conta própria: Compilador de Lua online