Dans ce premier module, tu vas apprendre à :
👉 À la fin de ce module, tu auras déjà créé ton premier comportement “intelligent” avec un script.
Un script, c’est basiquement une suite d’instructions qui sera exécutée par le jeu.
👉 On arrive dans le cœur de ce qu’est un jeu : la suite logique une fois que tu as appris à créer des interactions !
📌 À retenir Un script est une suite d’instructions / d’actions automatiques du jeu.
Pour commencer, il est nécessaire de créer un nouveau script attaché à un bloc.
➡️ Cela doit créer un script avec la commande : print("Hello World!") pré-ajoutée.
Dans cette partie, on se concentre sur l’ajout d’un script et la compréhension du rapport entre le script et son Parent (le parent du script est l’objet auquel il est attribué).
Nous reviendrons par la suite sur la manière de les écrire et leur signification.
L’idée ici est de créer un bloc qui tue celui qui le touche.
Pour ce faire :
local lava = script.Parent -- Ici on récupère l'objet parent
local function onTouch(objetQuiTouche) -- objetQuiTouche est l'objet physique qui entre en contact
local personnage = objetQuiTouche.Parent -- Le personnage est le parent de la partie du corps qui a touché
local humanoid = personnage:FindFirstChild("Humanoid") -- L'Humanoid contient les stats (vitesse, vie...)
if humanoid then
humanoid.Health = 0 -- On met les points de vie à 0 pour faire réapparaître le joueur
end
end
lava.Touched:Connect(onTouch) -- On connecte l'événement au moment du toucher
Note : Pour ce bloc “spécial” comme pour les autres, veille à bien Ancrer (Anchor) le bloc afin qu’il ne se déplace pas.
L’idée ici est de créer un bloc qui téléporte celui qui le touche vers un autre objet.
Pour ce faire :
local depart = script.Parent
local destination = workspace:WaitForChild("arrivee_teleporteur")
local function onTouch(blocQuiTouche)
local personnage = blocQuiTouche.Parent
local rootPart = personnage:FindFirstChild("HumanoidRootPart") -- Le cœur du mouvement du personnage
if rootPart then
-- Téléporte le joueur 3 unités au-dessus de la destination pour éviter d'être coincé dans le sol
rootPart.CFrame = destination.CFrame + Vector3.new(0, 3, 0)
end
end
depart.Touched:Connect(onTouch)
L’idée ici est de créer une plateforme qui se déplace toute seule.
Pour ce faire :
local platform = script.Parent
while true do -- Répète indéfiniment
-- Mouvement aller
for i = 1, 100 do -- On répète 100 fois le petit mouvement
platform.Position = platform.Position + Vector3.new(0.1, 0, 0)
task.wait(0.01)
end
-- Mouvement retour
for i = 1, 100 do
platform.Position = platform.Position - Vector3.new(0.1, 0, 0)
task.wait(0.01)
end
end
Ici, on utilise le concept de boucle, qui consiste à répéter une action. L’idée est de commencer à se familiariser avec ces concepts, même si nous y reviendrons en détail plus tard.
Bravo ! Tu as franchi une étape importante. Voici ce que tu as appris :
script.Parent permet de contrôler l’objet qui contient le code..Touched.Health) ou la position (CFrame) d’un joueur.Pour devenir un pro du scripting, essaie de réaliser ces défis dans ton monde :
JumpPower de l’Humanoid pour que le joueur saute très haut quand il le touche.👉 Astuce : N’oublie pas de bien nommer tes objets dans l’Explorer pour que tes scripts les retrouvent !