Jump to content

Boton


#Raiden

Recommended Posts

Holaa, Bueno, diré rápido en lo que necesito ayuda :v, Quiero hacer que esto :

function agua(_,wep) 
    if (source == BucearSinMorir) then 
    if wep == 53 then 
    cancelEvent() 
    addEventHandler("onClientPlayerDamage",root, agua) 
  
    end 
end 
addEventHandler("onClientGUIClick", root, agua) 

Solo funcione al precionar el boton ''BucearSinMorir'' , el jugador pueda entrar al agua sin ahogarse, intente de esa manera pero nada, Lo unico que pasa es que entra al agua y se ahoga, igual al precionar el boton.

Link to comment

Estas comparando una string con un numero.

if wep == 53 then -- wep en este caso, es conocido como el estado del boton, ya sea presionado o no ( up - down ) 
-- 
end 

Usa esto

function agua(_,wep) 
    if ( source == BucearSinMorir ) then 
        if ( wep == "up" ) then 
            addEventHandler( "onClientPlayerDamage",localPlayer, cancelEvent() ) 
        end 
    end 
end 
addEventHandler("onClientGUIClick", root, agua) 

Link to comment
Estas comparando una string con un numero.
if wep == 53 then -- wep en este caso, es conocido como el estado del boton, ya sea presionado o no ( up - down ) 
-- 
end 

Usa esto

function agua(_,wep) 
    if ( source == BucearSinMorir ) then 
        if ( wep == "up" ) then 
            addEventHandler( "onClientPlayerDamage",localPlayer, cancelEvent() ) 
        end 
    end 
end 
addEventHandler("onClientGUIClick", root, agua) 

No, no funciono, sigue igual.

Link to comment
¿Qué se supone que es Wep?

PD: ¿Quieres hacer que al tener el arma 53 no le quite lo de la respiración o que al hacer click a un botón del gui no le quite?

53 no es la id de un arma, sino un tipo de muerte ( Drowned - ahogado ), no te serviría usando esto pero puedes cancelar el daño por falta de oxigeno, usando onClientPlayerDamage e isPlayerInWater como condicional cancelas el evento. Tambien tienes que definir que no haya un atacante.

Parameters

string button, string state, int absoluteX, int absoluteY

En este caso, wep es state. Los argumentos pueden llamarse 'askjdashk' o 'perro' e igual funcionaria.

Link to comment

Intente así pero aún sigue sin funcionar.

function agua(attacker) 
    if ( source == BucearSinMorir ) then 
  
        if not attacker and isPedInWater(localPlayer) then 
            addEventHandler( "onClientPlayerDamage",localPlayer, cancelEvent() ) 
        end 
    end 
end 
  
addEventHandler("onClientGUIClick", root, agua) 
  

Link to comment

Creo que podrias tener suerte si pruebas esto...

  
function agua() 
    if (source == BucearSinMorir) then 
        if not(funcActive) then 
            funcActive = true 
            local maxOxygen = math.floor(1000 + getPedStat(localPlayer, 22) * 1.5 + getPedStat(localPlayer, 225) * 1.5) 
            timerFunction = setTimer(setPedOxygenLevel, 50, 0,  localPlayer, maxOxygen) 
            outputChatBox("#0099FFBucear sin morir: #00FF00ON", 255, 255, 255, true) 
        else 
            funcActive = false 
            outputChatBox("#0099FFBucear sin morir: #FF0000OFF", 255, 255, 255, true) 
            if isTimer(timerFunction) then 
                killTimer(timerFunction) 
                outputChatBox("Timer Kill") 
            end 
        end 
    end 
end 
addEventHandler("onClientGUIClick", root, agua) 
  

Con esta funcion podras activar/desactivar la funcion solo con precionar el boton del GUI, hace lo que pides osea no morira al bucear pero si podra morir por otros medios, si lo que buscas es que sea completamente inmortal sigue pobrando con el "onClientPlayerDamage" y "cancelEvent", espero que te sirva.

Link to comment

Gracias, Razor64, Si era lo que quería aparte me aclaraste otra duda con los botones, pero otra pregunta, Para hacer que esto:

addEventHandler("onPlayerDamage",root, 
function(attacker, weapon) 
     if weapon == 8 then 
          killPed(source,attacker,weapon) 
     end 
end) 

Solo funcione precionando un boton, ¿Cómo sería? :?

Link to comment
Gracias, Razor64, Si era lo que quería aparte me aclaraste otra duda con los botones, pero otra pregunta, Para hacer que esto:
addEventHandler("onPlayerDamage",root, 
function(attacker, weapon) 
     if weapon == 8 then 
          killPed(source,attacker,weapon) 
     end 
end) 

Solo funcione precionando un boton, ¿Cómo sería?

¿Quién debería tener la tecla presionada?

  
    -- Client side 
    addEventHandler("onClientPlayerDamage", localPlayer, 
            function (attacker, weapon) 
                    if ( getKeyState('p') and weapon == 8 ) then 
                            triggerServerEvent( "killOnKatanaHit", resourceRoot, source, attacker, weapon) 
                    end 
            end 
    ) 
      
    -- Server side 
    addEvent("killOnKatanaHit", true) 
    addEventHandler("killOnKatanaHit", root, 
            function (player, attacker, weapon) 
                    killPed(player, attacker, weapon) 
            end 
    ) 
  

Link to comment
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...