Jump to content

[Ayuda] 'else' y 'addCommandHandler'


#Raiden

Recommended Posts

Comando = "bossa2514789" 
  
function comandEntrar() 
if Comando then 
exports.barmessage:outputBarMessage( "#00ff00Contraseña correcta!  al entrar a este lugar  no podras volver al CASINO!", 255, 255, 255, 3500, true ) 
else 
exports.barmessage:outputBarMessage( "#ff000Contraseña Incorrecta!  Sigue intentado", 255, 255, 255, 3500, true ) 
end 
end 
addCommandHandler(Comando, comandEntrar) 

Lo que quiero hacer es que, si el jugador pone un comando diferente al "bossa2514789" le salga el barmessage, diciendo ''Contraseña incorrecta'' y si pone el comando "bossa2514789'' Le salga el barmessage de ''Contraseña correcta''.

Link to comment

Me he tomado la libertad de cambiar el comando, por ejemplo

/pass [contraseña aqui]

Si es correcta, pasa el argumento, si no, no

Debes especificar el argumento en la funcion y source.

password = "bossa2514789" 
  
addCommandHandler("pass", 
    function (source, comand, arg1) 
        if tostring(arg1) == password then 
        exports.barmessage:outputBarMessage( "#00ff00Contraseña correcta!  al entrar a este lugar  no podras volver al CASINO!", 255, 255, 255, 3500, true ) 
        else 
        exports.barmessage:outputBarMessage( "#ff000Contraseña Incorrecta!  Sigue intentado", 255, 255, 255, 3500, true ) 
        end 
    end 
) 

Link to comment

Me pone contraseña incorrecta con cualquier pass, no se si tenía que editar otras cosa del código que me pasaste o simplemente dejarlo así, pero ahora que lo pienso debí para todo el código. :S

Este sería el código completo con los que me paso Venad:

markerPass = createMarker(2147.90308, 1605.75427, 1005, "cylinder",1.5, 255,255,0) 
setElementInterior(markerPass, 1) 
  
password = "bossa2514789" 
  
function marker123( ) 
if isElementWithinMarker(localPlayer,markerPass ) then 
     setElementPosition(localPlayer,2147.75269, 1601.10425, 1005.97955) 
end 
end 
addCommandHandler(password, marker123) 
  
  
function mensaje() 
  
exports.barmessage:outputBarMessage( "#ff0000Para entrar a este lugar tienes que escribir una contraseña, Buscala por todo el CASINO!", 255, 255, 255, 3500, true ) 
  
end 
addEventHandler("onClientMarkerHit", markerPass, mensaje) 
  
  
  
addCommandHandler("pass", 
    function (source, comand, arg1) 
        if tostring(arg1) == password then 
            exports.barmessage:outputBarMessage( "#00ff00Contraseña correcta!  al entrar a este lugar  no podras volver al CASINO!", 255, 255, 255, 3500, true ) 
        else 
            exports.barmessage:outputBarMessage( "#ff000Contraseña Incorrecta!  Sigue intentado", 255, 255, 255, 3500, true ) 
        end 
    end 
) 

Este el que tenia.

markerPass = createMarker(2147.90308, 1605.75427, 1005, "cylinder",1.5, 255,255,0) 
setElementInterior(markerPass, 1) 
  
function marker123( ) 
if isElementWithinMarker(localPlayer,markerPass ) then 
     setElementPosition(localPlayer,2147.75269, 1601.10425, 1005.97955) 
end 
end 
addCommandHandler("bossa2514789", marker123) 
  
  
function mensaje() 
  
exports.barmessage:outputBarMessage( "#ff0000Para entrar a este lugar tienes que escribir una contraseña, Buscala por todo el CASINO!", 255, 255, 255, 3500, true ) 
  
end 
addEventHandler("onClientMarkerHit", markerPass, mensaje) 
  
Comando = "bossa2514789" 
  
function comandEntrar() 
if Comando then 
    exports.barmessage:outputBarMessage( "#00ff00Contraseña correcta!  al entrar a este lugar  no podras volver al CASINO!", 255, 255, 255, 3500, true ) 
else 
   exports.barmessage:outputBarMessage( "#ff000Contraseña Incorrecta!  Sigue intentado", 255, 255, 255, 3500, true ) 
end 
end 
addCommandHandler(Comando, comandEntrar) 

Link to comment
Me pone contraseña incorrecta con cualquier pass, no se si tenía que editar otras cosa del código que me pasaste o simplemente dejarlo así, pero ahora que lo pienso debí para todo el código. :S

Este sería el código completo con los que me paso Venad:

markerPass = createMarker(2147.90308, 1605.75427, 1005, "cylinder",1.5, 255,255,0) 
setElementInterior(markerPass, 1) 
  
password = "bossa2514789" 
  
function marker123( ) 
if isElementWithinMarker(localPlayer,markerPass ) then 
     setElementPosition(localPlayer,2147.75269, 1601.10425, 1005.97955) 
end 
end 
addCommandHandler(password, marker123) 
  
  
function mensaje() 
  
exports.barmessage:outputBarMessage( "#ff0000Para entrar a este lugar tienes que escribir una contraseña, Buscala por todo el CASINO!", 255, 255, 255, 3500, true ) 
  
end 
addEventHandler("onClientMarkerHit", markerPass, mensaje) 
  
  
  
addCommandHandler("pass", 
    function (source, comand, arg1) 
        if tostring(arg1) == password then 
            exports.barmessage:outputBarMessage( "#00ff00Contraseña correcta!  al entrar a este lugar  no podras volver al CASINO!", 255, 255, 255, 3500, true ) 
        else 
            exports.barmessage:outputBarMessage( "#ff000Contraseña Incorrecta!  Sigue intentado", 255, 255, 255, 3500, true ) 
        end 
    end 
) 

Este el que tenia.

markerPass = createMarker(2147.90308, 1605.75427, 1005, "cylinder",1.5, 255,255,0) 
setElementInterior(markerPass, 1) 
  
function marker123( ) 
if isElementWithinMarker(localPlayer,markerPass ) then 
     setElementPosition(localPlayer,2147.75269, 1601.10425, 1005.97955) 
end 
end 
addCommandHandler("bossa2514789", marker123) 
  
  
function mensaje() 
  
exports.barmessage:outputBarMessage( "#ff0000Para entrar a este lugar tienes que escribir una contraseña, Buscala por todo el CASINO!", 255, 255, 255, 3500, true ) 
  
end 
addEventHandler("onClientMarkerHit", markerPass, mensaje) 
  
Comando = "bossa2514789" 
  
function comandEntrar() 
if Comando then 
    exports.barmessage:outputBarMessage( "#00ff00Contraseña correcta!  al entrar a este lugar  no podras volver al CASINO!", 255, 255, 255, 3500, true ) 
else 
   exports.barmessage:outputBarMessage( "#ff000Contraseña Incorrecta!  Sigue intentado", 255, 255, 255, 3500, true ) 
end 
end 
addCommandHandler(Comando, comandEntrar) 

Lo que te cambie es la funcion del comando, es decir, ahora debes escribir:

/pass bossa2514789

Si no te funciona aun asi, prueba con esto

addCommandHandler("pass", 
    function (source, comand, arg1) 
        if tostring(arg1) == tostring(password) then 
            exports.barmessage:outputBarMessage( "#00ff00Contraseña correcta!  al entrar a este lugar  no podras volver al CASINO!", 255, 255, 255, 3500, true ) 
        else 
            exports.barmessage:outputBarMessage( "#ff000Contraseña Incorrecta!  Sigue intentado", 255, 255, 255, 3500, true ) 
        end 
    end 
) 

Link to comment
Me he tomado la libertad de cambiar el comando, por ejemplo

/pass [contraseña aqui]

Si es correcta, pasa el argumento, si no, no

Debes especificar el argumento en la funcion y source.

password = "bossa2514789" 
  
addCommandHandler("pass", 
    function (source, comand, arg1) 
        if tostring(arg1) == password then 
        exports.barmessage:outputBarMessage( "#00ff00Contraseña correcta!  al entrar a este lugar  no podras volver al CASINO!", 255, 255, 255, 3500, true ) 
        else 
        exports.barmessage:outputBarMessage( "#ff000Contraseña Incorrecta!  Sigue intentado", 255, 255, 255, 3500, true ) 
        end 
    end 
) 

El codigo de venad funciona, pero el codigo en tu caso esta en cliente. Los parametros de addCommandHandler no necesita definir source. "Funcion( cmd, arg1 )". Debes eliminar source.

Link to comment

Bueno, si funciona lo que me pasaste Venad, ya salen los mensajes que es cuando es incorrecto o correcto muchas gracias por eso :) , pero no me manda a la posición que es al escribir el comando, sino que solo sale ''Comando correcto'' pero no me da teleport al lugar que puse.

markerPass = createMarker(2147.90308, 1605.75427, 1005, "cylinder",1.5, 255,255,0) 
setElementInterior(markerPass, 1) 
  
password = "bossa2514789" 
  
  
  
function marker123( ) 
if isElementWithinMarker(localPlayer,markerPass ) then 
setElementPosition(localPlayer,2147.75269, 1601.10425, 1005.97955) 
end 
end 
addCommandHandler(password, marker123) 
  
  
function asd2() 
  
exports.barmessage:outputBarMessage( "#ff0000Para entrar a este lugar tienes que escribir una contraseña, Buscala por todo el CASINO!", 255, 255, 255, 3500, true ) 
end 
addEventHandler("onClientMarkerHit", markerPass, asd2) 
  
  
addCommandHandler("pass", 
    function ( comand, arg1) 
        if tostring(arg1) == tostring(password) then 
            exports.barmessage:outputBarMessage( "#00ff00Contraseña correcta!  al entrar a este lugar  no podras volver al CASINO!", 255, 255, 255, 3500, true ) 
        else 
            exports.barmessage:outputBarMessage( "#ff000Contraseña Incorrecta!  Sigue intentado", 255, 255, 255, 3500, true ) 
        end 
    end 
) 

Link to comment

Se supone que solo debería funcionar el comando cuando este en el marker, pero se puede usar en cualquier lugar, y no teletransporta al lugar que es. :S

El código:

--Este es el marker 
markerPass = createMarker(2147.90308, 1605.75427, 1005, "cylinder",1.5, 255,255,0) 
setElementInterior(markerPass, 1) 
-- 
password = "bossa2514789" 
  
  
  
function marker123( ) 
if isElementWithinMarker(localPlayer,markerPass ) then 
setElementPosition(localPlayer,2147.75269, 1601.10425, 1005.97955) 
end 
end 
addCommandHandler("password", marker123) 
  
  
function asd2() 
  
exports.barmessage:outputBarMessage( "#ff0000Para entrar a este lugar tienes que escribir una contraseña, Buscala por todo el CASINO!", 255, 255, 255, 3500, true ) 
end 
addEventHandler("onClientMarkerHit", markerPass, asd2) 
  
  
addCommandHandler("pass", 
    function ( comand, arg1) 
        if tostring(arg1) == tostring(password) then 
            exports.barmessage:outputBarMessage( "#00ff00Contraseña correcta!  al entrar a este lugar  no podras volver al CASINO!", 255, 255, 255, 3500, true ) 
        else 
            exports.barmessage:outputBarMessage( "#ff000Contraseña Incorrecta!  Sigue intentado", 255, 255, 255, 3500, true ) 
        end 
    end 
) 

Link to comment

Quiero hacer otra pregunta, quiero que este mensaje solo aparezca cuando este arriba del marker, yo intente con isElementWithinMarker pero aún así aparece en el piso de abajo, el teleport del comando /pass manda al piso de abajo del casino, y si paso por el lugar donde estaba ubicado el marker saldrá el mensaje :

function asd2() 
if isElementWithinMarker(localPlayer,markerPass ) then 
exports.barmessage:outputBarMessage( "#ff0000Para entrar a este lugar tienes que escribir una contraseña, Buscala por todo el CASINO!", 255, 255, 255, 3500, true ) 
end 
end 
addEventHandler("onClientMarkerHit", markerPass, asd2) 

Ya intente quitando ''OnClientMarkerHit'' pero igual.

Link to comment

Coloca esto en asd2.

  
if isPedOnGround( localPlayer ) then 
      local _,_,mz = getElementPosition( markerPass ); 
          local _,_,pz = getElementPosition( localPlayer ); 
          if ( math.floor(pz) == math.floor(mz) ) then 
                    --- outputBarMessage(...) 
          end 
end 
  

Link to comment
Coloca esto en asd2.
  
if isPedOnGround( localPlayer ) then 
      local _,_,mz = getElementPosition( markerPass ); 
          local _,_,pz = getElementPosition( localPlayer ); 
          if ( math.floor(pz) == math.floor(mz) ) then 
                    --- outputBarMessage(...) 
          end 
end 
  

Es complicado hacerlo funcionar asi, ya que Z no siempre cuadra con el jugador

Link to comment
  • Recently Browsing   0 members

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