Menu
CoddyTech

Porte à pièces

Fait partie de la section Scripting de jeux Roblox du Journey Lua de Coddy. Leçon 16 sur 24.

Un if peut faire plus que vérifier si une valeur est nil. Il peut comparer des nombres, et une partie else s’exécute lorsque la comparaison est fausse :

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

Les opérateurs de comparaison sont == (égal), ~= (différent), <, >, <= et >=. Remarque le double == : un seul = affecte une valeur à une variable, il ne sert pas à comparer.

>= 3 signifie « 3 ou plus » ; > 3 signifie « plus de 3 », donc exactement 3 ne satisferait pas la condition.

challenge icon

Défi

Moyen

Trois pièces flottent à droite, et une porte en bois bloque le mur. Le monde compte les pièces pour toi. Ce script se trouve dans la porte, et sa fonction Touched s’exécute lorsqu’un joueur marche sur le pad bleu devant celle-ci.

  • Si le joueur a 3 pièces ou plus, ouvre la porte : CanCollide false et Transparency 0.5.
  • Sinon, affiche exactement You need 3 coins.

Appuie sur Play, essaie d’abord le pad, récupère les pièces, puis réessaie. Ensuite, clique sur Check.

Essayez vous-même

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 coins ou plus : ouvrir la porte
		-- sinon : afficher "You need 3 coins"
	end
end)
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Scripting de jeux Roblox

Entraînez-vous par vous-même : Compilateur Lua en ligne