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 s'exécutera.
-- ne s'exécutera pas
if 2 + 2 == 6 and 4 ~= 6 then
print("Les deux déclarations sont vraies")
end
-- s'exécutera
if 4 + 2 == 6 and 4 ~= 6 then
print("Les deux déclarations sont vraies")
endCréer un powerup
Les powerups sont des objets dans le jeu qui donnent aux joueurs des capacités spéciales comme voler, être invisible ou avoir de la vitesse. Ce powerup augmentera la vitesse de marche du joueur chaque fois que le powerup est touché. Appliquer continuellement des boosts peut faire en sorte que le joueur aille beaucoup trop vite, donc and sera utilisé pour contrôler la limite supérieure de la vitesse de marche.
Configurer le powerup
Utilisez ce code avec une simple pièce ou un modèle, comme un cristal, une pièce ou une orbe 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 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 modèle que celui utilisé lors de la création d'une pièce 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 est 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 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 la déclaration if, utilisez le mot-clé and pour ajouter une seconde 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 mettre le script en pause 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)Jouez 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.