Si las declaraciones pueden tener múltiples requisitos que deben ser ciertos antes de ejecutar el código.La palabra clave and te permite combinar declaraciones.El siguiente código primero evalúa si dos más dos iguala seis y luego si cuatro no iguala 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
Crear un potenciador
Los poderes son artículos de experiencia que otorgan a los jugadores habilidades especiales como volar, invisibilidad o velocidad.Esta potenciación aumentará la velocidad de caminata del jugador cada vez que se toque la potenciación.Aplicar continuamente potenciadores puede hacer que el jugador vaya demasiado rápido, por lo que and se usará para controlar el límite superior de velocidad de caminata.
Configura el potenciador
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 potenciador e insere un script llamado WalkSpeedManager .
Declare una variable llamada speedBoost y asigne el objeto padre del script.
-- Da un impulso de velocidad temporal al ser tocadolocal 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 objetos humanoides.Usa el mismo patrón utilizado al crear una parte de trampa y crea una condicional que verifica objetos humanoides.
Busca partes humanoideslocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid thenprint("A Humanoid was found")endend
Acelera a los 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 garantizará que los jugadores no puedan ir demasiado rápido al habilitar solo el aumento de velocidad si el jugador está por debajo de una cierta velocidad.
Si se encuentra un humanoide, toma el valor actual de WalkSpeed y agrégale 10.Prueba y tu avatar se acelerará 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, utilice la palabra clave and para agregar una segunda condición de que el valor actual de WalkSpeed sea menor a 50.Después de agregar el impulso, el valor más rápido de WalkSpeed será de 60.
Comprueba si la velocidad de caminata actual es de 50 o menosif humanoid and humanoid.WalkSpeed <= 50 thenhumanoid.WalkSpeed += 10end
Ajustar fino el impulso de velocidad
OnTouch se llama cada vez que se toca el aumento de velocidad.Cada paso o rebote más pequeño activa el evento Tocado y llama a la función conectada.La propiedad de la parte, CanTouch puede mantener el evento Tocado de disparar.Aproveche CanTouch y desactive el aumento de velocidad durante un segundo cada vez que se haya activado.
Después de aplicar el impulso, establece la propiedad CanTouch de la parte en falso. Prueba y asegúrate de que el impulso se aplique solo una vez.
Desactiva el aumento 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 establece CanTouch en verdadero.Prueba 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 en el scriptterminado. WalkSpeed puede llegar a 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 que un valor sea mayor que 0 y menor que 100.O que si hay un humanoide y su velocidad de caminata es menor o igual a 50.