Menu
CoddyTech

Línea de meta

Parte de la sección Creación de scripts para juegos de Roblox del Journey de Lua de Coddy. Lección 23 de 24.

Una línea de meta cuenta una victoria y devuelve al ganador al inicio. player:LoadCharacterAsync() le da al jugador un personaje nuevo en su punto de aparición, sin esperar al temporizador de reaparición.

Tarda un momento. Hasta que llega el personaje nuevo, la meta sigue activando Touched para las otras partes del cuerpo del personaje anterior, y cada una de ellas contaría como una victoria. Un antirrebote lo evita, y una meta necesita uno por jugador, así que si dos jugadores terminan a la vez, se cuentan ambas victorias. Guárdalo en una tabla usando al jugador como clave:

local busy = {}
if not busy[player] then
	busy[player] = true
	-- cuenta la victoria y envía al jugador de vuelta
	task.wait(1)
	busy[player] = nil
end

busy[player] lee o establece la entrada de la tabla para ese jugador, y si no hay una entrada, su valor es nil. busy[player] = nil la elimina, así que su siguiente cruce vuelve a contar.

challenge icon

Desafío

Intermedio

La plataforma dorada es la meta, y este script está dentro de ella. Cada jugador ya tiene leaderstats con Wins en 0, y el debounce por jugador está configurado.

  1. Suma 1 a Wins del jugador.
  2. Devuélvelo al inicio con player:LoadCharacterAsync().
  3. Después, borra su debounce para que cuente su siguiente recorrido.

Pulsa Play, corre hasta la meta dos veces y luego pulsa Check.

Pruébalo tú mismo

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. Suma 1 a Wins del jugador
		-- 2. Devuélvelo al inicio
		-- 3. Después de 1 segundo, permite que vuelva a ganar
	end
end)
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Creación de scripts para juegos de Roblox

Practica por tu cuenta: Compilador de Lua online