Qui l’a touché ?
Fait partie de la section Scripting de jeux Roblox du Journey Lua de Coddy. Leçon 14 sur 24.
hit est une partie du corps, et hit.Parent est le personnage auquel cette partie du corps appartient. Le service Players associe un personnage au joueur qui le contrôle :
local Players = game:GetService("Players")
local player = Players:GetPlayerFromCharacter(hit.Parent)Lorsque l’objet qui touche n’est pas un personnage (une balle, une brique qui tombe), GetPlayerFromCharacter renvoie nil. Vérifie donc le résultat avant de l’utiliser :
local player = Players:GetPlayerFromCharacter(hit.Parent)
if player then
print(player.Name .. " found the secret")
endUne fois que tu as le joueur, tu peux accéder à tout ce qu’il contient, comme son tableau des scores : player.leaderstats.Coins.Value. Attribuer une valeur à Value avec = la remplace.
Défi
MoyenLe pad lumineux est le trésor, et ce script se trouve à l’intérieur. Chaque joueur possède déjà leaderstats avec Coins à 0.
Lorsqu’un joueur touche le trésor, affiche son nom et définis ses Coins à 100. Les objets qui ne sont pas des joueurs ne doivent pas provoquer d’erreur.
Appuie sur Play, marche dessus et observe le tableau des scores, puis Check.
Essayez vous-même
local Players = game:GetService("Players")
local treasure = script.Parent
treasure.Touched:Connect(function(hit)
local player = Players:GetPlayerFromCharacter(hit.Parent)
-- Si c'est un joueur : affiche son nom et définis ses Coins à 100
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