Avaliando Declarações Múltiplas

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

Se as declarações podem ter vários requisitos que precisam ser verdadeiros antes de correr o código. A palavra-chave and permite que você combine declarações. O código a seguir avalia primeiro se dois mais dois são iguais a seis e, em seguida, se quatro não são iguais a seis. Se ambas as declarações forem verdadeiras, o código será executar.


-- não vai executar
if 2 + 2 == 6 and 4 ~= 6 then
print("Both statements are true")
end
-- vai executar
if 4 + 2 == 6 and 4 ~= 6 then
print("Both statements are true")
end

Criando um Powerup

Powerups são itens na experiência que dão aos jogadores habilidades especiais como vôo, invisibilidade ou velocidade. Este powerup aumentará a velocidade de caminhada do jogador sempre que o powerup for tocado. Aplicar continuamente boosts pode fazer o jogador ir muito rápido, então and será usado para controlar o limite superior de velocidade de caminhada.

Configurando o Powerup

Use este código com uma parte simples ou um modelo, como um cristal, moeda ou orbe neon brilhante.

  1. Crie uma nova parte chamada Powerup e insira um script chamado WalkSpeedManager .

  2. Declare uma variável chamada speedBoost e atribua o Objetopai do script.


    -- Dá um impulso temporário de velocidade quando tocado
    local speedBoost = script.Parent
  3. Configure uma função chamada onTouch e conecte-a ao evento Touched do Objetopai. Em seguida, teste e verifique seu trabalho.


    local speedBoost = script.Parent
    local function onTouch(otherPart)
    print("Something touched speedBoost")
    end
    speedBoost.Touched:Connect(onTouch)
  4. A propriedade WalkSpeed é encontrada em objetos Humanoid. Use o mesmo padrão usado ao criar uma parte de armadilha e crie um condicional que verifica se há objetos Humanoid.

    Busca por peças de Humanoide

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

Acelerando Jogadores

O aumento de velocidade fará com que os avatares andem mais rápido sempre que o aumento de velocidade for tocado. Isso rapidamente se tornará muito, muito rápido. A palavra-chave and garantirá que os jogadores não possam ir muito rápido, habilitando apenas o aumento de velocidade se o jogador estiver abaixo de uma certa velocidade.

  1. Se um Humanoide for encontrado, pegue o valor atual de WalkSpeed e adicione 10 a ele. Teste, e seu avatar ficará mais rápido toda vez que tocar no aumento de velocidade.

    Aumenta a velocidade de caminhada atual

    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. Na instrução if, use a palavra-chave and para adicionar uma segunda condição de que o valor atual de WalkSpeed seja inferior a 50. Depois de adicionar o boost, o valor de WalkSpeed mais rápido será 60.

    Verifica se a WalkSpeed atual é 50 ou menos

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

Ajustando o Boost de Velocidade

O OnTouch é chamado toda vez que o aumento de velocidade é tocado. Cada passo ou o menor rebote aciona o evento Toqueado e chama a função conectada. A propriedade da peça, CanTouch pode impedir que o evento Toqueado atinja. Aproveite o CanTouch e desligue o aumento de velocidade por um segundo sempre que tiver sido ativado.

  1. Depois de aplicar o boost, defina a propriedade CanTouch da peça para false. Teste e certifique-se de que o boost só se aplique uma vez.

    Desativa o aumento de velocidade

    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. Use task.wait(1) para suspender o script por um segundo e, em seguida, defina CanTouch como verdadeiro. Faça o teste e certifique-se de que o aumento de velocidade possa ser reaplicado após um segundo.

    scriptterminado

    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. Jogue com os valores no script terminado. WalkSpeed pode ir até 100. O valor padrão de WalkSpeed é 16.

Resumo

A palavra-chave and pode ser usada para exigir várias condições antes de correr um pedaço de código, como um valor maior que 0 e menor que 100. Ou que se houver um Humanoide e sua WalkSpeed for menor ou igual a 50.