Ce script permet de donner un super-pouvoir de saut au joueur quand il touche une pièce spéciale (JumpPart).
- Effet : Le joueur peut sauter beaucoup plus haut (200 unités au lieu de la valeur normale, qui est généralement autour de 7–8).
- Déclencheur : Quand le joueur touche la pièce
JumpPart(dans le dossierJumpFolder).
Créer un part « JumpPart » sous un folder « JumpFolder »pour donner au joueur le pouvoir de courir plus vite :


Saisie sous un script sous ServerScriptService :
local jumpFolder = workspace:waitForChild("JumpFolder")
local jumpPart = jumpFolder:waitForChild("JumpPart")
jumpPart.Touched:Connect(function(hit)
local character = hit:FindFirstAncestorOfClass("Model")
if not character then return end
local humanoid = character:FindFirstChild("Humanoid")
if humanoid then
humanoid.JumpHeight = 200
end
end)
Explication du code pas à pas
1. Récupérer les objets dans le Workspace
local jumpFolder = workspace:WaitForChild("JumpFolder")
local jumpPart = jumpFolder:WaitForChild("JumpPart")
workspace:WaitForChild("JumpFolder"):- Le script attend que le dossier
JumpFolderexiste dans leWorkspace. - Si le dossier n’existe pas encore (par exemple, s’il est créé plus tard dans le jeu), le script ne plante pas et attend qu’il soit disponible.
- Le script attend que le dossier
jumpFolder:WaitForChild("JumpPart"):- Attend que la pièce
JumpPartexiste à l’intérieur du dossierJumpFolder.
- Attend que la pièce
💡 Pourquoi
WaitForChild?
- En Roblox, les objets peuvent être créés après que le script ait commencé à s’exécuter.
- Sans
WaitForChild, siJumpFolderouJumpPartn’existe pas encore, le script planterait avec une erreur.WaitForChildpermet d’éviter cela en attendant que l’objet soit prêt.
2. Détecter quand un joueur touche la pièce
jumpPart.Touched:Connect(function(hit)
jumpPart.Touched:- C’est un événement qui se déclenche chaque fois qu’un objet touche
JumpPart.
- C’est un événement qui se déclenche chaque fois qu’un objet touche
function(hit):hitest l’objet qui a touchéJumpPart(par exemple, la main, la tête ou le torse du joueur).
3. Récupérer le modèle du personnage
local character = hit:FindFirstAncestorOfClass("Model")
if not character then return end
hit:FindFirstAncestorOfClass("Model"):- Cherche le premier ancêtre de
hitqui est unModel. - Dans Roblox, un joueur est représenté par un
Model(son personnage complet, avec toutes ses parties : tête, bras, jambes, etc.). hitest une partie du corps (ex:Head,RightArm), et son ancêtre est le modèle du joueur (Character).
- Cherche le premier ancêtre de
🔍 Exemple concret :
Sihitest la tête du joueur (Head), alors :Head→Character(le Model).
La fonction renvoie doncCharacter.
if not character then return end:- Si
characterestnil(c’est-à-dire quehitn’a pas de modèle parent), le script s’arrête ici (return). - C’est une sécurité pour éviter les erreurs si
hitn’est pas une partie d’un joueur.
- Si
4. Récupérer l’Humanoid
local humanoid = character:FindFirstChild("Humanoid")
character:FindFirstChild("Humanoid"):- Cherche l’Humanoid dans le modèle du joueur (
character). - L’Humanoid est un composant essentiel qui gère :
- La vie du joueur.
- Le mouvement (saut, course, etc.).
- La taille (
BodyHeightScale, etc.). - La hauteur de saut (
JumpHeight).
- Cherche l’Humanoid dans le modèle du joueur (
5. Vérifier si l’Humanoid existe et modifier la hauteur de saut
if humanoid then
humanoid.JumpHeight = 200
end
if humanoid then:- Vérifie que l’Humanoid existe avant de continuer.
- Si
humanoidestnil(le joueur n’a pas d’Humanoid), le script ne fait rien pour éviter les erreurs.
humanoid.JumpHeight = 200:- Modifie la hauteur de saut du joueur à 200 unités.
- Effet : Le joueur peut sauter beaucoup plus haut que d’habitude (la valeur normale est généralement entre 7 et 20).
💡 Pour ajuster la hauteur de saut :
humanoid.JumpHeight = 50→ Saut modéré.humanoid.JumpHeight = 100→ Saut très haut.humanoid.JumpHeight = 200→ Saut extrême (attention, le joueur peut sortir de la carte !).
QCM pour tester la compréhension
Questions sur le script « Pouvoir de sauter plus haut »
- Que fait
workspace:WaitForChild("JumpFolder")?- A. Crée un dossier nommé
JumpFolder. - B. Attend que le dossier
JumpFolderexiste dans leWorkspace. - C. Supprime le dossier
JumpFolder. - D. Change la couleur du dossier.
- A. Crée un dossier nommé
- Que représente
hitdansjumpPart.Touched:Connect(function(hit)?- A. La pièce
JumpPartelle-même. - B. La partie du joueur qui a touché
JumpPart(ex: la main, la tête). - C. Le script Lua.
- D. Le dossier
JumpFolder.
- A. La pièce
- À quoi sert
hit:FindFirstAncestorOfClass("Model")?- A. Trouve la pièce
JumpPart. - B. Trouve le modèle du personnage (le joueur entier).
- C. Trouve l’Humanoid directement.
- D. Change la taille de la pièce.
- A. Trouve la pièce
- Que fait
humanoid.JumpHeight = 200?- A. Réduit la taille du joueur.
- B. Donne au joueur une hauteur de saut de 200 unités.
- C. Change la couleur du joueur.
- D. Supprime l’Humanoid.
- Pourquoi utilise-t-on
if humanoid then?- A. Pour créer un Humanoid.
- B. Pour éviter les erreurs si l’Humanoid n’existe pas.
- C. Pour changer la taille de la pièce.
- D. Pour désactiver le script.
- Que se passe-t-il si un joueur touche
JumpPart?- A. Le joueur disparaît.
- B. Le joueur peut sauter beaucoup plus haut (200 unités).
- C. Le joueur devient plus petit.
- D. La pièce change de couleur.
- Où doit-on placer la pièce
JumpPartpour que le script fonctionne ?- A. Dans le
Workspacedirectement. - B. Dans un dossier nommé
JumpFolderdans leWorkspace. - C. Dans le
ServerScriptService. - D. Dans le
StarterPack.
- A. Dans le
- Si on veut que le joueur saute encore plus haut, que doit-on modifier ?
- A. Le nom de la pièce
JumpPart. - B. La valeur de
humanoid.JumpHeight(ex: 300). - C. La couleur de la pièce.
- D. Le nom du dossier
JumpFolder
- A. Le nom de la pièce
