¿Quién lo tocó?
Parte de la sección Creación de scripts para juegos de Roblox del Journey de Lua de Coddy. Lección 14 de 24.
hit es una parte del cuerpo, y hit.Parent es el personaje al que pertenece esa parte del cuerpo. El servicio Players convierte un personaje en el jugador que lo controla:
local Players = game:GetService("Players")
local player = Players:GetPlayerFromCharacter(hit.Parent)Cuando quien toca no es un personaje (una pelota, un ladrillo que cae), GetPlayerFromCharacter devuelve nil, así que compruébalo antes de usarlo:
local player = Players:GetPlayerFromCharacter(hit.Parent)
if player then
print(player.Name .. " found the secret")
endUna vez que tienes al jugador, puedes acceder a cualquier cosa que haya dentro de él, como su marcador: player.leaderstats.Coins.Value. Asignar un valor a Value con = lo reemplaza.
Desafío
IntermedioLa plataforma luminosa es el tesoro, y este script está dentro de ella. Cada jugador ya tiene leaderstats con Coins en 0.
Cuando un jugador toca el tesoro, imprime su nombre y establece sus Coins en 100. Las cosas que no son jugadores no deben causar un error.
Presiona Play, pisa la plataforma y observa el marcador; después, presiona Check.
Pruébalo tú mismo
local Players = game:GetService("Players")
local treasure = script.Parent
treasure.Touched:Connect(function(hit)
local player = Players:GetPlayerFromCharacter(hit.Parent)
-- Si es un jugador: imprime su nombre y establece sus Coins en 100
end)
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
2Bucles y funciones
Fila de pilaresConstructor de escalerasConstructor de torresFábrica de monedasLuz parpadeantePuente que desaparece5Tu primer juego
Tu primer Obby3Eventos y jugadores
Panel táctilSuelo de lavaEstadísticas de líder¿Quién lo tocó?Recolector de monedasPuerta de monedasPractica por tu cuenta: Compilador de Lua online