#Raiden Posted September 21, 2015 Share Posted September 21, 2015 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
UserToDelete Posted September 21, 2015 Share Posted September 21, 2015 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
#Raiden Posted September 21, 2015 Author Share Posted September 21, 2015 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. 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
UserToDelete Posted September 21, 2015 Share Posted September 21, 2015 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. 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
Enargy, Posted September 21, 2015 Share Posted September 21, 2015 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
#Raiden Posted September 21, 2015 Author Share Posted September 21, 2015 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
Enargy, Posted September 21, 2015 Share Posted September 21, 2015 addCommandHandler("password", marker123) Link to comment
#Raiden Posted September 21, 2015 Author Share Posted September 21, 2015 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. 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
Castillo Posted September 21, 2015 Share Posted September 21, 2015 Tenes dos comandos ahi, "/pass" y "/bossa2514789", este ultimo es el que verifica si estas dentro del marker, y te teleporta a las coordenadas que pusiste. Lo que tenes que hacer es mover el codigo del comando "/bossa2514789" a la funcion del comando "/pass". Link to comment
#Raiden Posted September 21, 2015 Author Share Posted September 21, 2015 Bueno, ya no importa, puse el 'setElementPosition' y isElementWithinMarker en la parte del comando /pass y me sirvió así, no se si a eso te referias Solid, pero si es así Gracias . Link to comment
#Raiden Posted September 22, 2015 Author Share Posted September 22, 2015 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
UserToDelete Posted September 22, 2015 Share Posted September 22, 2015 Al usar onMarkerHit no necesitas nada de comparacion de si esta en el marker o no Link to comment
#Raiden Posted September 22, 2015 Author Share Posted September 22, 2015 Sigue apareciendo el mensaje en el piso de abajo aunque haya quitado el isElementWithinMarker, probé quitando onClientMarkerHit y probando de diferentes maneras, pero igual sigue apareciendo el mensaje en el segundo piso. Link to comment
Tomas Posted September 22, 2015 Share Posted September 22, 2015 Sigue apareciendo el mensaje en el piso de abajo aunque haya quitado el isElementWithinMarker, probé quitando onClientMarkerHit y probando de diferentes maneras, pero igual sigue apareciendo el mensaje en el segundo piso. getElementColShape isElementWithinColShape ó getElementColShape onClientColShapeHit Link to comment
Enargy, Posted September 22, 2015 Share Posted September 22, 2015 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
UserToDelete Posted September 23, 2015 Share Posted September 23, 2015 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
Recommended Posts