Menu
CoddyTech

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")
end

Los 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.

challenge icon

Desafío

Intermedio

Tres 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 3 monedas o más, abre la puerta: CanCollide false y Transparency 0.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)
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