Si las declaraciones pueden tener múltiples requisitos que deben ser ciertos antes de ejecutar el código. La palabra clave and le permite combinar declaraciones. El siguiente código evaluará primero si dos más dos son seis y luego si cuatro no son seis. Si ambas declaraciones son ciertas, el código se ejecutará.
-- no se ejecutaráif 2 + 2 == 6 and 4 ~= 6 thenprint("Both statements are true")end-- ejecutaráif 4 + 2 == 6 and 4 ~= 6 thenprint("Both statements are true")end
Creando una Mejorar
Las ventajas son artículos de inicio de experiencia que dan a los jugadores habilidades especiales como volar, invisibilidad o velocidad. Esta ventaja se aplicará cada vez que se toque la ventaja. Continuamente aplicar aumentos puede hacer que el jugador vaya demasiado rápido, por lo que se usará and para controlar el límite de velocidad de caminata superior.
Configurando el Powerup
Usa este código con una parte simple o un aplicación de modelado, como un cristal, una moneda o un orbe de neón brillante.
Crea una nueva parte llamada Powerup yrea un script llamado WalkSpeedManager .
Declara una variable llamada speedBoost y asigna el objeto padre del script.
-- Da un aumento de velocidad temporal cuando se tocalocal speedBoost = script.ParentConfigura una función llamada onTouch y conecta el evento de tu padre objeto a Touched evento. Luego prueba y verifica tu trabajo.
local speedBoost = script.Parentlocal function onTouch(otherPart)print("Something touched speedBoost")endspeedBoost.Touched:Connect(onTouch)La propiedad WalkSpeed se encuentra en los objetos Humanoid. Usa el mismo patrón usado al crear una parte de trampa y crear una condición que verifica los objetos Humanoid.
Busca partes humanoideslocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid thenprint("A Humanoid was found")endend
Velocidad de los jugadores Up
El impulso de velocidad hará que los avatares caminen más rápido cada vez que el impulso de velocidad se toque. Eso se volverá muy, muy rápido. La palabra clave and asegurará que los jugadores no puedan ir demasiado rápido al habilitar solo el impulso de velocidad si el jugador está debajo de una cierta velocidad.
Si se encuentra un Humanoid, tome el valor de WalkSpeed actual y agrégalo a 10. Probar, y tu avatar se volverá más rápido cada vez que toque el impulso de velocidad.
Aumenta la velocidad de caminata actuallocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid thenhumanoid.WalkSpeed += 10endendspeedBoost.Touched:Connect(onTouch)En la declaración if, use la palabra clave and para agregar una segunda condición que el valor actual de WalkSpeed esté por debajo de 50. Después de agregar el impulso, el valor de WalkSpeed más rápido será 60.
Comprueba si la WalkSpeed actual es 50 o menosif humanoid and humanoid.WalkSpeed <= 50 thenhumanoid.WalkSpeed += 10end
Ajuste fino del impulso de velocidad
OnTouch se llama cada vez que el impulso de velocidad se toca. Cada paso o la menor rebote触发 el evento Touched y llama a la función conectada. La propiedad de la parte, CanTouch mantiene el evento Touched alejado de disparar. Aproveche el impulso de velocidad y apague el impulso de velocidad por un segundo cada vez que se activa.
Después de aplicar el impulso, establece la propiedad CanTouch de la parte en false. Playtest y asegúrate de que el impulso solo se aplica una vez.
Desactiva el impulso de velocidadlocal 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)Usa task.wait(1) para pausar el script por un segundo, luego configura CanTouch para que sea verdadero. Probéalo y asegúrate de que el impulso de velocidad se puede reapplicar después de un 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)Juega con los valores en el script terminado. WalkSpeed puede ir hasta 100. El valor predeterminado de WalkSpeed es 16.
Resumen
La palabra clave and se puede usar para requerir múltiples condiciones antes de ejecutar un código, como que un valor sea más de 0 y menos de 100. O que si hay un Humanoid y su WalkSpeed es menor o igual a 50.