#DeltaSCR Posted January 22, 2019 Share Posted January 22, 2019 Olá caros amigos, então, estou desenvolvendo um código cujo o player passará por Verificação de Data, mas ai que está o problema, estou com um erro e gostaria que me ajudassem... No lado do (client-side), depois que é executado todo o codigo, o player é setado na data a seguir: setElementData (localPlayer, "DeltaSCR_HaveRG", "Sim") Até ai tudo bem, esse Data é Sub Dividido em 2 Partes: "Não" se ele não possui o documento e "Sim" se ele possui; Logo a frente no lado do (server-side) é necessário que eu verifique se o Player está não está com a data "Sim", pois se ele tiver, não deverá abrir um determinado painel quando ele passar no marker: function openPainel (marker, md) if not getElementData (localPlayer, "DeltaSCR_HaveRG") == "Sim" then -- Verificação Citada if md then if marker == mkRG then triggerClientEvent (source, "DeltaSCR_OCRG", root) end end else outputChatBox ("#ffff00Atenção: Você já possui seu RG", localPlayer, 255, 255, 255, true) end end addEventHandler ("onPlayerMarkerHit", getRootElement(), openPainel) Mas ao fazer isto, o debugscript apresenta o seguinte erro: WARNING: [mods]\[SCR]Identidade\DeltaSCR_server.lua:39: Bad argument @ 'getElementData' [Expected element at argument 1, got nil] Minha duvida é: O que eu devo fazer para resolver isto? Link to comment
Other Languages Moderators Lord Henry Posted January 22, 2019 Other Languages Moderators Share Posted January 22, 2019 localPlayer não existe no lado server. Troque por source. Link to comment
#DeltaSCR Posted January 22, 2019 Author Share Posted January 22, 2019 Just now, Lord Henry said: localPlayer não existe no lado server. Troque por source. OK, O erro do debug desapareceu, agora tenho outro problema, o painel é para aparecer somente para quem está na data "Não", aqui no caso ele está aparendo para ambas data ("Sim" e "Não"), e no caso está aparecendo quando o player sai do marker, quando era pra aparecer quando o mesmo entra. Eis o codigo: function openPainel (marker, md) if not getElementData (source, "DeltaSCR_HaveRG") == "Sim" then if md then if marker == mkRG then triggerClientEvent (source, "DeltaSCR_OCRG", root) end end else outputChatBox ("#ffff00Atenção: Você já possui seu RG", localPlayer, 255, 255, 255, true) end end addEventHandler ("onPlayerMarkerHit", getRootElement(), openPainel) function closePainel (marker, md) if md then if marker == mkRG then triggerClientEvent (source, "DeltaSCR_OCRG", root) end end end addEventHandler ("onPlayerMarkerLeave", getRootElement(), closePainel) Link to comment
brunob22 Posted January 22, 2019 Share Posted January 22, 2019 fica postando resto de codigo. fica dificil pelo menos eu .. se quiser minha ajuda nao poste resto de codigo porque eu não sou advinha Link to comment
#DeltaSCR Posted January 22, 2019 Author Share Posted January 22, 2019 Just now, brunob22 said: fica postando resto de codigo. fica dificil pelo menos eu .. se quiser minha ajuda nao poste resto de codigo porque eu não sou advinha Postei somente está parte porque no meu conceito, é o necessário Link to comment
brunob22 Posted January 22, 2019 Share Posted January 22, 2019 function openPainel (marker, md) if not getElementData (source, "DeltaSCR_HaveRG") == "Sim" then --- < <<< MUDE SIM E NAO . PARA TRUE E FALSE E ASSIM FICA if X then mais facil doque if x = "sim" then if md then if marker == mkRG then ---<<<< MKRG? ???????????? triggerClientEvent (source, "DeltaSCR_OCRG", root) end end else outputChatBox ("#ffff00Atenção: Você já possui seu RG", localPlayer, 255, 255, 255, true) ---<<< ja foi informado que localplayer e so client end end addEventHandler ("onPlayerMarkerHit", getRootElement(), openPainel) ---< "onPlayerMarkerHit" esse evento e chamado quando o player entra .. function closePainel (marker, md) if md then --- <<<< VOCE SABE QUE ISSO EA DIMENSAO? QUE O PLAYER TA? if marker == mkRG then ---- << mkRG? que isso? triggerClientEvent (source, "DeltaSCR_OCRG", root) ---<<< E ISSO VAI PARA ONDE? NARMIA? end end end addEventHandler ("onPlayerMarkerLeave", getRootElement(), closePainel) ctz? mudei algumas coisas para ver q resto de codigo não funciona tenho algum desconfiança que esse codigo tu pego pronto Link to comment
#DeltaSCR Posted January 22, 2019 Author Share Posted January 22, 2019 4 minutes ago, brunob22 said: function openPainel (marker, md) if not getElementData (source, "DeltaSCR_HaveRG") == "Sim" then --- < <<< MUDE SIM E NAO . PARA TRUE E FALSE E ASSIM FICA if X then mais facil doque if x = "sim" then if md then if marker == mkRG then ---<<<< MKRG? ???????????? triggerClientEvent (source, "DeltaSCR_OCRG", root) end end else outputChatBox ("#ffff00Atenção: Você já possui seu RG", localPlayer, 255, 255, 255, true) ---<<< ja foi informado que localplayer e so client end end addEventHandler ("onPlayerMarkerHit", getRootElement(), openPainel) ---< "onPlayerMarkerHit" esse evento e chamado quando o player entra .. function closePainel (marker, md) if md then --- <<<< VOCE SABE QUE ISSO EA DIMENSAO? QUE O PLAYER TA? if marker == mkRG then ---- << mkRG? que isso? triggerClientEvent (source, "DeltaSCR_OCRG", root) ---<<< E ISSO VAI PARA ONDE? NARMIA? end end end addEventHandler ("onPlayerMarkerLeave", getRootElement(), closePainel) ctz? mudei algumas coisas para ver q resto de codigo não funciona tenho algum desconfiança que esse codigo tu pego pronto mkRG Signifca um Marker que está criado em uma parte mais acima; function closePainel: o objetivo dessa função é: quando o Player sair do Marker "mkRG", o painel que está aberto ser a fechado Link to comment
brunob22 Posted January 22, 2019 Share Posted January 22, 2019 porque a função de abriir e fechar ta levando para o msm lugar do client ? triggerClientEvent (source, "DeltaSCR_OCRG", root) Link to comment
#DeltaSCR Posted January 22, 2019 Author Share Posted January 22, 2019 Just now, brunob22 said: porque a função de abriir e fechar ta levando para o msm lugar do client ? triggerClientEvent (source, "DeltaSCR_OCRG", root) Por que a função a basicamente a mesma... (Estou pelo celular agora), é mais ou menos assim: function openCreateRG() if RGPanel == false then showCursor (true) -- O resto é desnecessário postar else showCursor (false) end end É mais ou menos isso ae Link to comment
DNL291 Posted January 22, 2019 Share Posted January 22, 2019 (edited) Tente o seguinte (não testado): function openPainel (marker, md) if getElementData (source, "DeltaSCR_HaveRG") ~= "Sim" then if md and marker == mkRG then triggerClientEvent ( source, "DeltaSCR_OCRG", source, true ) end else outputChatBox ("#ffff00Atenção: Você já possui seu RG", source, 255, 255, 255, true) end end addEventHandler ("onPlayerMarkerHit", getRootElement(), openPainel) function closePainel (marker, md) if md and marker == mkRG and getElementData (source, "DeltaSCR_HaveRG") ~= "Sim" then triggerClientEvent ( source, "DeltaSCR_OCRG", source ) end end addEventHandler ("onPlayerMarkerLeave", getRootElement(), closePainel) Client: function openCreateRG( open ) if open then -- abrir o painel showCursor (true) -- O resto é desnecessário postar else -- fechar showCursor (false) end end addEvent( "DeltaSCR_OCRG", true ) addEventHandler( "DeltaSCR_OCRG", root, openCreateRG ) Edited January 22, 2019 by DNL291 1 Link to comment
#DeltaSCR Posted January 22, 2019 Author Share Posted January 22, 2019 2 minutes ago, DNL291 said: Tente o seguinte (não testado): function openPainel (marker, md) if getElementData (source, "DeltaSCR_HaveRG") ~= "Sim" then if md and marker == mkRG then triggerClientEvent ( source, "DeltaSCR_OCRG", source, true ) end else outputChatBox ("#ffff00Atenção: Você já possui seu RG", source, 255, 255, 255, true) end end addEventHandler ("onPlayerMarkerHit", getRootElement(), openPainel) function closePainel (marker, md) if md and marker == mkRG then triggerClientEvent ( source, "DeltaSCR_OCRG", source ) end end addEventHandler ("onPlayerMarkerLeave", getRootElement(), closePainel) Client: function openCreateRG( open ) if open then -- abrir o painel showCursor (true) -- O resto é desnecessário postar else -- fechar showCursor (false) end end addEvent( "DeltaSCR_OCRG", true ) addEventHandler( "DeltaSCR_OCRG", root, openCreateRG ) Vou testar aqui Link to comment
DNL291 Posted January 22, 2019 Share Posted January 22, 2019 2 minutes ago, danblemes1 said: Vou testar aqui Ok, atualizei o código, coloquei uma verificação no evento onPlayerMarkerLeave. Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now