Évaluer plusieurs déclarations

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Si les déclarations peuvent avoir plusieurs exigences qui doivent être vraies avant d'exécuter du code. Le mot-clé and vous permet de combiner les déclarations. Le code suivant évalue d'abord si deux plus deux est égale à six et puis si quatre ne sont pas égaux à six. Si les deux déclarations sont vraies, le code s'lancer.


-- ne lancerpas
if 2 + 2 == 6 and 4 ~= 6 then
print("Both statements are true")
end
-- va s'lancer
if 4 + 2 == 6 and 4 ~= 6 then
print("Both statements are true")
end

Créer un Powerup

Les powerups sont des objets d'expérience qui donnent aux joueurs des capacités spéciales comme voler, invisibilité ou vitesse. Ce powerup augmentera la vitesse de marche du joueur à chaque fois que le powerup est touché. Continuement appliquer des boosts peut faire que le joueur va beaucoup trop vite, alors and sera utilisé pour contrôler la limite de vitesse supérieure.

Configurer le power-up

Utilisez ce code avec une partie simple ou un modèlisation, comme un cristal, une pièce ou un orbe fluo brillant.

  1. Créez une nouvelle partie nommée Powerup et insérez un script nommé WalkSpeedManager .

  2. Déclarez une variable nommée speedBoost et attribuez l'objet parent du script.


    -- Donne un boost de vitesse temporaire lorsqu'on touche
    local speedBoost = script.Parent
  3. Définissez 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.Parent
    local function onTouch(otherPart)
    print("Something touched speedBoost")
    end
    speedBoost.Touched:Connect(onTouch)
  4. La propriété WalkSpeed est trouvée sur les objets humanoïdes. Utilisez le même modèle utilisé lors de la création d'une partie de piège et créez une condition qui vérifie les objets humanoïdes.

    Recherche des parties humanoïdes

    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    if humanoid then
    print("A Humanoid was found")
    end
    end

Accélérer les joueurs Up

Le bonus de vitesse fera en sorte que les avatars marchent plus vite chaque fois que le bonus de vitesse est touché. Cela deviendra rapidement très, très rapide. Le mot-clé and garantira que les joueurs ne puissent pas aller trop vite en activant le bonus de vitesse uniquement si le joueur est sous une certaine vitesse.

  1. Si un humanoid est trouvé, prenez la valeur de vitesse de marche actuelle et ajoutez 10 à elle. Testez le jeu et votre avatar obtiendra plus de vitesse chaque fois qu'il touchera le booster de vitesse.

    Augmente la vitesse de marche actuelle

    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    if humanoid then
    humanoid.WalkSpeed += 10
    end
    end
    speedBoost.Touched:Connect(onTouch)
  2. Dans la déclaration if, utilisez le mot-clé and pour ajouter une deuxième condition que la valeur actuelle de WalkSpeed est inférieure à 50. Après avoir ajouté le boost, la valeur la plus rapide de WalkSpeed sera 60.

    Vérifie si la vitesse de marche actuelle est de 50 ou moins

    if humanoid and humanoid.WalkSpeed <= 50 then
    humanoid.WalkSpeed += 10
    end

Réglage fin du booster de vitesse

OnTouch est appelé à chaque fois que le boost de vitesse est touché. Chaque étape ou la plus petite bounce déclenche l'événement Touched et appelle la fonction connectée. La propriété de la partie, CanTouch peut garder l'événement Touched de tirer. Profitez d'un avantage de CanTouch et désactivez le boost de vitesse pendant un seul secondé à chaque fois qu'il est activé.

  1. Après avoir appliqué le boost, définissez la propriété CanTouch de la partie sur false. Playtest et assurez-vous que le boost ne s'applique qu'une fois.

    Désactive le boost de vitesse

    local speedBoost = script.Parent
    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    if humanoid and humanoid.WalkSpeed <= 50 then
    humanoid.WalkSpeed += 10
    speedBoost.CanTouch = false
    end
    end
    speedBoost.Touched:Connect(onTouch)
  2. Utilisez task.wait(1) pour暂停脚本一秒钟,然后将 CanTouch 设置为 true。测试并确保速度提升可以在一秒钟后重新应用。

    Script script

    local speedBoost = script.Parent
    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    if humanoid and humanoid.WalkSpeed <= 50 then
    humanoid.WalkSpeed += 10
    speedBoost.CanTouch = false
    task.wait(1)
    speedBoost.CanTouch = true
    end
    end
    speedBoost.Touched:Connect(onTouch)
  3. Jouez avec les valeurs dans le script terminé. WalkSpeed peut aller jusqu'à 100. La valeur par défaut de WalkSpeed est 16.

Résumé

Le mot-clé and peut être utilisé pour exiger plusieurs conditions avant d'exécuter un morceau de code, comme une valeur supérieure à 0 et inférieure à 100. Ou que si il y a un Humanoid et sa vitesse de marche est inférieure ou égale à 50.