Evaluar múltiples declaraciones

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

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")
end

Crear un powerup

Los powerups son elementos dentro de la experiencia que otorgan a los jugadores habilidades especiales como volar, invisibilidad o velocidad. Este powerup aumentará la velocidad de caminar del jugador cada vez que el powerup sea tocado. Aplicar continuamente aumentos puede hacer que el jugador vaya demasiado rápido, así que se utilizará and para controlar el límite superior de velocidad al caminar.

Configurar el powerup

Usa este código con una parte simple o un modelo, como un cristal, moneda u orbe de neón brillante.

  1. Crea una nueva parte llamada Powerup e inserta un script llamado WalkSpeedManager.

  2. Declara una variable llamada speedBoost y asigna el objeto padre del script.


    -- Da un aumento de velocidad temporal al ser tocado
    local speedBoost = script.Parent
  3. Configura una función llamada onTouch y conéctala al evento Touched del objeto padre. Luego, prueba y verifica tu trabajo.


    local speedBoost = script.Parent
    local function onTouch(otherPart)
    print("Algo tocó speedBoost")
    end
    speedBoost.Touched:Connect(onTouch)
  4. La propiedad WalkSpeed se encuentra en objetos Humanoid. Usa el mismo patrón utilizado al crear una parte trampa y crea una condición que verifique si hay objetos Humanoid.

    Busca partes Humanoid

    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    if humanoid then
    print("Se encontró un Humanoid")
    end
    end

Acelerar 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 rápidamente se volverá muy, muy rápido. La palabra clave and asegurará que los jugadores no vayan demasiado rápido, habilitando el aumento de velocidad solo si el jugador está por debajo de una cierta velocidad.

  1. Si se encuentra un Humanoid, toma el valor actual de WalkSpeed y súmale 10. Prueba y tu avatar se volverá más rápido cada vez que toque el aumento de velocidad.

    Aumenta el WalkSpeed actual

    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    if humanoid then
    humanoid.WalkSpeed += 10
    end
    end
    speedBoost.Touched:Connect(onTouch)
  2. En la declaración if, utiliza la palabra clave and para añadir una segunda condición que el valor actual de WalkSpeed sea menor o igual a 50. Después de añadir el aumento, el valor más rápido de WalkSpeed será 60.

    Verifica si el WalkSpeed actual es 50 o menos

    if humanoid and humanoid.WalkSpeed <= 50 then
    humanoid.WalkSpeed += 10
    end

Ajustar el aumento de velocidad

onTouch se llama cada vez que se toca el aumento 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.

  1. Después de aplicar el aumento, establece la propiedad CanTouch de la parte a false. Prueba y asegúrate de que el aumento se aplique solo una vez.

    Desactiva el aumento de velocidad

    local speedBoost = script.Parent
    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    if humanoid and humanoid.WalkSpeed <= 50 then
    humanoid.WalkSpeed += 10
    speedBoost.CanTouch = false
    end
    end
    speedBoost.Touched:Connect(onTouch)
  2. Usa task.wait(1) para pausar el script durante un segundo, luego establece CanTouch a true. Prueba y asegúrate de que el aumento de velocidad se pueda volver a aplicar después de un segundo.

    Script terminado

    local speedBoost = script.Parent
    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    if humanoid and humanoid.WalkSpeed <= 50 then
    humanoid.WalkSpeed += 10
    speedBoost.CanTouch = false
    task.wait(1)
    speedBoost.CanTouch = true
    end
    end
    speedBoost.Touched:Connect(onTouch)
  3. Juega con los valores en el script terminado. WalkSpeed puede llegar hasta 100. El valor predeterminado de WalkSpeed es 16.

Resumen

La palabra clave and se puede utilizar 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.

©2026 Roblox Corporation. Roblox, el logotipo de Roblox y "Powering Imagination" son algunas de nuestras marcas registradas y no registradas en los Estados Unidos y otros países.