Las declaraciones if pueden tener múltiples requisitos que deben ser verdaderos antes de ejecutar el código. La palabra clave and te 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 se ejecutará
if 2 + 2 == 6 and 4 ~= 6 then
print("Ambas declaraciones son verdaderas")
end
-- se ejecutará
if 4 + 2 == 6 and 4 ~= 6 then
print("Ambas declaraciones son verdaderas")
endCrear un potenciador
Los potenciadores son objetos en el juego que otorgan a los jugadores habilidades especiales como volar, invisibilidad o velocidad. Este potenciador aumentará la velocidad de caminata del jugador cada vez que se toque el potenciador. Aplicar continuamente aumentos puede hacer que el jugador vaya demasiado rápido, por lo que se utilizará and para controlar el límite superior de velocidad de caminata.
Configurar el potenciador
Usa este código con una parte simple o un modelo, como un cristal, una moneda o una esfera de neón brillante.
Crea una nueva parte llamada Potenciador e inserta un script llamado GestorDeVelocidadDeCaminata.
Declara una variable llamada speedBoost y asigna el objeto padre del script.
-- Da un aumento 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 el juego y verifica tu trabajo.
local speedBoost = script.Parentlocal function onTouch(otherPart)print("Algo tocó el potenciador de velocidad")endspeedBoost.Touched:Connect(onTouch)La propiedad WalkSpeed se encuentra en los objetos Humanoid. Usa el mismo patrón que se utilizó al crear una parte de trampa y crea una condición que verifique los objetos Humanoid.
Busca partes Humanoidlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid thenprint("Se encontró un Humanoid")endend
Acelerar a los jugadores
El aumento de velocidad hará que los avatares caminen más rápido cada vez que se toque el potenciador de velocidad. Eso rápidamente se volverá muy, muy rápido. La palabra clave and asegurará que los jugadores no puedan ir demasiado rápido al habilitar el aumento de velocidad solo si el jugador está por debajo de una cierta velocidad.
Si se encuentra un Humanoid, toma el valor actual de WalkSpeed y súmale 10. Prueba el juego, y tu avatar se volverá más rápido cada vez que toque el potenciador de velocidad.
Aumenta el WalkSpeed 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, usa la palabra clave and para agregar una segunda condición de que el valor actual de WalkSpeed sea menor o igual a 50. Después de agregar el aumento, el valor máximo de WalkSpeed será 60.
Verifica si el WalkSpeed actual es 50 o menosif humanoid and humanoid.WalkSpeed <= 50 thenhumanoid.WalkSpeed += 10end
Ajustar el aumento de velocidad
onTouch se llama cada vez que se toca el potenciador de velocidad. Cada paso o el más mínimo rebote activa el evento Touched y llama a la función conectada. La propiedad de la parte, CanTouch, puede evitar que el evento Touched se dispare. Aprovecha CanTouch y desactiva el aumento de velocidad durante un segundo cada vez que se ha activado.
Después de aplicar el aumento, establece la propiedad CanTouch de la parte en false. Prueba el juego y asegúrate de que el aumento solo se aplique 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 durante un segundo, luego establece CanTouch en true. Prueba el juego y asegúrate de que el aumento de velocidad se pueda reaplicar después de un segundo.
Script finalizadolocal 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 finalizado. WalkSpeed puede llegar 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 bloque de código, como que un valor sea mayor que 0 y menor que 100. O que si hay un Humanoid y su WalkSpeed es menor o igual a 50.