Menu
CoddyTech

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

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

challenge icon

Défi

Moyen

Le 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)
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