Evaluando 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í.

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 ejecutar
if 2 + 2 == 6 and 4 ~= 6 then
print("Both statements are true")
end
-- correrá
if 4 + 2 == 6 and 4 ~= 6 then
print("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.

  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 impulso temporal de velocidad cuando se toca
    local speedBoost = script.Parent
  3. Configura una función llamada onTouch y conéctala al evento Touched del objeto padre. Luego prueba y comprueba tu trabajo.


    local speedBoost = script.Parent
    local function onTouch(otherPart)
    print("Something touched speedBoost")
    end
    speedBoost.Touched:Connect(onTouch)
  4. 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 Humanoide

    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    if humanoid then
    print("A Humanoid was found")
    end
    end

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.

  1. 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 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 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 menos

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

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.

  1. 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 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 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.

    scriptterminado

    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 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.