Menu
CoddyTech

Porta a monete

Fa parte della sezione Scripting di giochi Roblox del percorso Lua di Coddy. Lezione 16 di 24.

Un if può fare più che controllare nil. Può confrontare i numeri e una parte else viene eseguita quando il confronto è falso:

local score = player.leaderstats.Score.Value
if score >= 10 then
	print("You win!")
else
	print("Keep going")
end

Gli operatori di confronto sono == (uguale), ~= (diverso), <, >, <= e >=. Nota il doppio ==: un singolo = assegna un valore a una variabile, non esegue un confronto.

>= 3 significa "3 o più"; > 3 significa "più di 3", quindi esattamente 3 non soddisferebbe la condizione.

challenge icon

Sfida

Medio

Tre monete fluttuano a destra e una porta di legno blocca il muro. Il mondo conta le monete per te. Questo script si trova nella porta e la sua funzione Touched viene eseguita quando un giocatore calpesta il tappetino blu davanti a essa.

  • Se il giocatore ha 3 o più Coins, apri la porta: CanCollide false e Transparency 0.5.
  • Altrimenti, stampa esattamente You need 3 coins.

Premi Gioca, prova prima il tappetino, raccogli le monete e riprova. Poi premi Controlla.

Provalo tu

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 monete o più: apri la porta
		-- altrimenti: stampa "You need 3 coins"
	end
end)
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Scripting di giochi Roblox

Esercitati da solo: Compilatore Lua online