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 executarif 2 + 2 == 6 and 4 ~= 6 thenprint("Both statements are true")end-- vai executarif 4 + 2 == 6 and 4 ~= 6 thenprint("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.
Crie uma nova parte chamada Powerup e insira um script chamado WalkSpeedManager .
Declare uma variável chamada speedBoost e atribua o Objetopai do script.
-- Dá um impulso temporário de velocidade quando tocadolocal speedBoost = script.ParentConfigure uma função chamada onTouch e conecte-a ao evento Touched do Objetopai. Em seguida, teste e verifique seu trabalho.
local speedBoost = script.Parentlocal function onTouch(otherPart)print("Something touched speedBoost")endspeedBoost.Touched:Connect(onTouch)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 Humanoidelocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid thenprint("A Humanoid was found")endend
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.
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 atuallocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid thenhumanoid.WalkSpeed += 10endendspeedBoost.Touched:Connect(onTouch)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 menosif humanoid and humanoid.WalkSpeed <= 50 thenhumanoid.WalkSpeed += 10end
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.
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 velocidadelocal 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)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.
scriptterminadolocal 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)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.