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
endbusy[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.
Desafio
MédioA 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.
- Adicione 1 ao
Winsdo jogador. - Envie-o de volta ao início com
player:LoadCharacterAsync(). - 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)
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
4Mecânicas de jogo
Plataforma de velocidadePlataforma de saltoClique em mimA porta com botãoPlataforma móvelPontos de controleLinha de chegada2Laços e funções
Fileira de pilaresConstrutor de escadasConstrutor de torresFábrica de moedasLuz piscantePonte desaparecendo5Seu primeiro jogo
Seu primeiro ObbyPratique por conta própria: Compilador de Lua online