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")
endLes 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.
Défi
MoyenTrois 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
3pièces ou plus, ouvre la porte :CanCollidefalseetTransparency0.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)
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
2Boucles et fonctions
Rangée de piliersConstructeur d’escalierConstructeur de tourFabrique de piècesLumière clignotantePont qui disparaît5Votre premier jeu
Votre premier Obby3Événements et joueurs
Pavé tactileSol de laveLeaderstatsQui l’a touché ?Collectionneur de piècesPorte à piècesEntraînez-vous par vous-même : Compilateur Lua en ligne