Les déclarations if peuvent avoir plusieurs conditions qui doivent être vraies avant d'exécuter du code. Le mot-clé and vous permet de combiner des déclarations. Le code suivant évalue d'abord si deux plus deux égalent six, puis si quatre n'est pas égal à six. Si les deux déclarations sont vraies, le code sera exécuté.
-- ne s'exécutera pasif 2 + 2 == 6 and 4 ~= 6 thenprint("Les deux déclarations sont vraies")end-- s'exécuteraif 4 + 2 == 6 and 4 ~= 6 thenprint("Les deux déclarations sont vraies")end
Créer un objet de bonus
Les objets de bonus sont des éléments d'expérience qui donnent aux joueurs des capacités spéciales comme voler, l'invisibilité ou la vitesse. Cet objet de bonus augmentera la vitesse de marche du joueur chaque fois qu'il sera touché. Appliquer en continu des boosts peut faire en sorte que le joueur se déplace beaucoup trop vite, donc and sera utilisé pour contrôler la limite de vitesse de marche maximale.
Configurer l'objet de bonus
Utilisez ce code avec une simple pièce ou un modèle, comme un cristal, une pièce ou une orbite néon lumineuse.
Créez une nouvelle pièce nommée Powerup et insérez un script nommé WalkSpeedManager.
Déclarez une variable nommée speedBoost et assignez-lui l'objet parent du script.
-- Donne un boost de vitesse temporaire lorsqu'il est touchélocal speedBoost = script.ParentConfigurez une fonction nommée onTouch et connectez-la à l'événement Touched de l'objet parent. Ensuite, testez et vérifiez votre travail.
local speedBoost = script.Parentlocal function onTouch(otherPart)print("Quelque chose a touché speedBoost")endspeedBoost.Touched:Connect(onTouch)La propriété WalkSpeed se trouve sur les objets Humanoid. Utilisez le même schéma que lors de la création d'une pièce de piège et créez une condition qui vérifie les objets Humanoid.
Recherche des parties Humanoidlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid thenprint("Un Humanoid a été trouvé")endend
Accélérer les joueurs
Le boost de vitesse fera marcher les avatars plus vite chaque fois que le boost de vitesse sera touché. Cela deviendra rapidement très, très rapide. Le mot-clé and garantira que les joueurs ne peuvent pas aller trop vite en n'activant le boost de vitesse que si le joueur est en dessous d'une certaine vitesse.
Si un Humanoid est trouvé, prenez la valeur actuelle de WalkSpeed et ajoutez-y 10. Testez, et votre avatar deviendra plus rapide chaque fois qu'il touche le boost de vitesse.
Augmente la WalkSpeed actuellelocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid thenhumanoid.WalkSpeed += 10endendspeedBoost.Touched:Connect(onTouch)Dans l'instruction if, utilisez le mot-clé and pour ajouter une deuxième condition que la valeur actuelle de WalkSpeed est inférieure ou égale à 50. Après avoir ajouté le boost, la valeur maximale de WalkSpeed sera de 60.
Vérifie si la WalkSpeed actuelle est de 50 ou moinsif humanoid and humanoid.WalkSpeed <= 50 thenhumanoid.WalkSpeed += 10end
Affiner le boost de vitesse
OnTouch est appelé chaque fois que le boost de vitesse est touché. Chaque pas ou le moindre rebond déclenche l'événement Touched et appelle la fonction connectée. La propriété de la pièce, CanTouch, peut empêcher l'événement Touched de se déclencher. Profitez de CanTouch et désactivez le boost de vitesse pendant une seconde chaque fois qu'il a été activé.
Après avoir appliqué le boost, définissez la propriété CanTouch de la pièce sur false. Testez et assurez-vous que le boost ne s'applique qu'une seule fois.
Désactive le boost de vitesselocal speedBoost = script.Parentlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid and humanoid.WalkSpeed <= 50 thenhumanoid.WalkSpeed += 10speedBoost.CanTouch = falseendendspeedBoost.Touched:Connect(onTouch)Utilisez task.wait(1) pour faire une pause dans le script pendant une seconde, puis définissez CanTouch sur true. Testez et assurez-vous que le boost de vitesse peut être réappliqué après une seconde.
Script terminélocal speedBoost = script.Parentlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid and humanoid.WalkSpeed <= 50 thenhumanoid.WalkSpeed += 10speedBoost.CanTouch = falsetask.wait(1)speedBoost.CanTouch = trueendendspeedBoost.Touched:Connect(onTouch)Expérimentez avec les valeurs dans le script terminé. La WalkSpeed peut atteindre 100. La valeur par défaut de WalkSpeed est de 16.
Résumé
Le mot-clé and peut être utilisé pour exiger plusieurs conditions avant d'exécuter un bloc de code, comme une valeur étant supérieure à 0 et inférieure à 100. Ou que s'il y a un Humanoid et que sa WalkSpeed est inférieure ou égale à 50.