Puerta de monedas
Parte de la sección Creación de scripts para juegos de Roblox del Journey de Lua de Coddy. Lección 16 de 24.
Un if puede hacer más que comprobar si hay nil. Puede comparar números, y una parte else se ejecuta cuando la comparación es falsa:
local score = player.leaderstats.Score.Value
if score >= 10 then
print("You win!")
else
print("Keep going")
endLos operadores de comparación son == (igual), ~= (distinto), <, >, <= y >=. Fíjate en los dos signos ==: un solo = asigna un valor a una variable; no compara.
>= 3 significa «3 o más»; > 3 significa «más de 3», así que exactamente 3 no cumpliría la condición.
Desafío
IntermedioTres monedas flotan a la derecha y una puerta de madera bloquea la pared. El mundo cuenta las monedas por ti. Este script está en la puerta y su función Touched se ejecuta cuando un jugador pisa la plataforma azul que tiene delante.
- Si el jugador tiene
3monedas o más, abre la puerta:CanCollidefalseyTransparency0.5. - De lo contrario, imprime exactamente
You need 3 coins.
Pulsa Jugar, prueba primero la plataforma, recoge las monedas y vuelve a intentarlo. Después, pulsa Comprobar.
Pruébalo tú mismo
local Players = game:GetService("Players")
local door = script.Parent
local pad = workspace.DoorPad
pad.Touched:Connect(function(hit)
local player = Players:GetPlayerFromCharacter(hit.Parent)
if player then
local coins = player.leaderstats.Coins.Value
-- 3 monedas o más: abre la puerta
-- de lo contrario: imprime "You need 3 coins"
end
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