Si las declaraciones pueden tener múltiples requisitos que deben ser verdaderos antes de ejecutar el código. La palabra clave and le permite combinar declaraciones. El siguiente código evalúa primero si dos más dos es igual a seis y luego si cuatro no es igual a seis. Si ambas declaraciones son verdaderas, el código se ejecutará.
-- no ejecutarif 2 + 2 == 6 and 4 ~= 6 thenprint("Both statements are true")end-- correráif 4 + 2 == 6 and 4 ~= 6 thenprint("Both statements are true")end
Creando un Powerup
Los potenciadores son artículos en la experiencia que dan a los jugadores habilidades especiales como el vuelo, la invisibilidad o la velocidad. Este potenciador aumentará la velocidad de caminata del jugador cada vez que se toque el potenciador. Aplicar potenciadores continuamente puede hacer que el jugador vaya demasiado rápido, por lo que and se utilizará para controlar el límite superior de velocidad de caminata.
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 e inserta un script llamado WalkSpeedManager .
Declara una variable llamada speedBoost y asigna el objeto padre del script.
-- Da un impulso temporal de velocidad cuando se tocalocal speedBoost = script.ParentConfigura una función llamada onTouch y conéctala al evento Touched del objeto padre. Luego prueba y comprueba 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 Humanoides. Usa el mismo patrón usado al crear una parte de trampa y crea una condicional que comprueba si hay objetos Humanoides.
Busca partes de Humanoidelocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid thenprint("A Humanoid was found")endend
Acelerando Jugadores
El aumento de velocidad hará que los avatares caminen más rápido cada vez que se toque el aumento de velocidad. Eso se convertirá rápidamente en muy, muy rápido. La palabra clave and se asegurará de que los jugadores no puedan ir demasiado rápido solo habilitando el aumento de velocidad si el jugador está debajo de una cierta velocidad.
Si se encuentra un Humanoide, toma el valor actual de WalkSpeed y añade 10 a él. Prueba de juego, y tu avatar se volverá más rápido cada vez que toque el aumento 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 sentencia if, use la palabra clave and para agregar una segunda condición de que el valor actual de WalkSpeed sea inferior a 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
Ajustando el Boost de Velocidad
OnTouch se llama cada vez que se toca el aumento de velocidad. Cada paso o el menor rebote activa el evento Tocado y llama a la función conectada. La propiedad de la parte, CanTouch puede evitar que el evento Tocado se dispare. Aproveche CanTouch y apague el aumento de velocidad durante un segundo cada vez que se haya activado.
Después de aplicar el impulso, configure la propiedad CanTouch de la parte en false. Prueba y asegúrate de que el impulso solo se aplique 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 pon CanTouch en true. Reproduce y asegúrate de que el aumento de velocidad se pueda volver a aplicar 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 del 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 fragmento de código, como un valor que sea más que 0 y menos de 100. O eso si hay un Humanoide y su WalkSpeed es inferior o igual a 50.