Luccas Posted March 30, 2019 Share Posted March 30, 2019 Então eu quero colocar para abrir o painel quando passa em cima do marker markerarmas = createMarker(1824.381, -1984.783, 21.181, "cylinder", 1.5, 13, 130, 232, 500) function Pdx(player) dxDrawRectangle(322, 205, 181, 192, tocolor(0, 0, 0, 150), false) dxDrawRectangle(498, 201, 0, 14, tocolor(255, 255, 255, 255), false) dxDrawRectangle(321, 205, 182, 15, tocolor(92, 92, 92, 150), false) dxDrawText("Armamentos", 375, 205, 513, 209, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false) dxDrawRectangle(342, 242, 146, 16, tocolor(92, 92, 92, 150), false) dxDrawText("Pegar Armas", 384, 242, 482, 251, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false) end addEventHandler("onMarkerHit", markerarmas, Pdx) Só que não tá funcionando Link to comment
Jonas^ Posted March 30, 2019 Share Posted March 30, 2019 (edited) Obvio que não vai funcionar assim, como você pretende renderizar um DX direto no onMarkerHit sem chamar o evento onClientRender? E me responde outra pergunta, você pretende usar uma função server-side no client como? '-' Faça assim: local markerArmas = createMarker(1824.381, -1984.783, 21.181, "cylinder", 1.5, 13, 130, 232, 500) local abrirPainel = false function mainPanel () dxDrawRectangle (322, 205, 181, 192, tocolor(0, 0, 0, 150), false) dxDrawRectangle (498, 201, 0, 14, tocolor(255, 255, 255, 255), false) dxDrawRectangle (321, 205, 182, 15, tocolor(92, 92, 92, 150), false) dxDrawText ("Armamentos", 375, 205, 513, 209, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false) dxDrawRectangle (342, 242, 146, 16, tocolor(92, 92, 92, 150), false) dxDrawText ("Pegar Armas", 384, 242, 482, 251, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false) end function onRequestDX () AbrirPainel () end addEventHandler ("onClientMarkerHit", markerArmas, onRequestDX) function AbrirPainel () if abrirPainel then -- Se o painel estiver aberto, então: removeEventHandler ("onClientRender", root, mainPanel) -- Para de renderizar o painel. showCursor (false) -- Desabilita o cursor else -- Senão: addEventHandler ("onClientRender", root, mainPanel) -- Começa renderizar o painel. showCursor (true) -- Habilita o cursor. end abrirPainel = not abrirPainel end Aconselho fazer um botão pra fechar o painel, dai você só chama a função abrirPainel () que ele ira fechar quando o botão for pressionado. Edited March 30, 2019 by Jonas^ Link to comment
Luccas Posted March 31, 2019 Author Share Posted March 31, 2019 (edited) 4 hours ago, Jonas^ said: Obvio que não vai funcionar assim, como você pretende renderizar um DX direto no onMarkerHit sem chamar o evento onClientRender? E me responde outra pergunta, você pretende usar uma função server-side no client como? '-' Faça assim: local markerArmas = createMarker(1824.381, -1984.783, 21.181, "cylinder", 1.5, 13, 130, 232, 500) local abrirPainel = false function mainPanel () dxDrawRectangle (322, 205, 181, 192, tocolor(0, 0, 0, 150), false) dxDrawRectangle (498, 201, 0, 14, tocolor(255, 255, 255, 255), false) dxDrawRectangle (321, 205, 182, 15, tocolor(92, 92, 92, 150), false) dxDrawText ("Armamentos", 375, 205, 513, 209, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false) dxDrawRectangle (342, 242, 146, 16, tocolor(92, 92, 92, 150), false) dxDrawText ("Pegar Armas", 384, 242, 482, 251, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false) end function onRequestDX () AbrirPainel () end addEventHandler ("onClientMarkerHit", markerArmas, onRequestDX) function AbrirPainel () if abrirPainel then -- Se o painel estiver aberto, então: removeEventHandler ("onClientRender", root, mainPanel) -- Para de renderizar o painel. showCursor (false) -- Desabilita o cursor else -- Senão: addEventHandler ("onClientRender", root, mainPanel) -- Começa renderizar o painel. showCursor (true) -- Habilita o cursor. end abrirPainel = not abrirPainel end Aconselho fazer um botão pra fechar o painel, dai você só chama a função abrirPainel () que ele ira fechar quando o botão for pressionado. Cara, o painel não está abrindo quando passa no marker. Me ajuda a colocar só para um grupo na ACL conseguir abrir o painel ? Edited March 31, 2019 by Luccas Link to comment
Jonas^ Posted March 31, 2019 Share Posted March 31, 2019 Eu testei aqui e abriu. Pra colocar por acl você tem que passar um trigger do cliente no server pra verificar se o jogador ta em tal acl. Link to comment
Other Languages Moderators Lord Henry Posted March 31, 2019 Other Languages Moderators Share Posted March 31, 2019 Explicar essa diferença entre server-side e client-side daria um ótimo tutorial. A propósito, testei o código e funcionou aqui também. Tenha certeza de ter copiado o código sem nenhum símbolo invisível, que impede o funcionamento do script. Para fazer o esquema de ACL Groups, que só funciona server-side, você vai precisar mudar toda a lógica do seu painel. A ativação dele passará a ser no server, com um triggerClientEvent para iniciar/parar a renderização do painel. 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