Jump to content

[Script] DX PANEL


Recommended Posts

Opa tudo bem galera? antes de tudo muito obrigado pela ajuda no tópico anterior. Então voltando ao assunto... Então pessoal estou fazendo um inventario + loja, é um passo longo para uma perna curta, e por isso preciso da ajuda da nossa queria comunidade. Estou com um problema pois quando clica em um objeto quero que mude algumas coisas no painel tentei fazer isso mais não aconteceu nada:

 

function abasAlimentos()
    if isEventHandlerAdded("onClientRender", root, alimentos) then
        if isCursorOnElement(730, 216, 404, 27) then
            dxDrawRectangle(382, 346, 264, 1, tocolor(254, 254, 254, 255), false)
            dxDrawText("HAMBURGUER", 380, 304, 646, 340, tocolor(255, 255, 255, 255), 3.00, "default-bold", "center", "center", false, false, false, false, false)
            dxDrawText("Que tal um lanche?\n function abasAlimentos()
    if isEventHandlerAdded("onClientRender", root, inventario) then
        if isCursorOnElement(730, 216, 404, 27) then
            dxDrawRectangle(382, 346, 264, 1, tocolor(254, 254, 254, 255), false)
            dxDrawText("NENHUM ITEM", 380, 304, 646, 340, tocolor(255, 255, 255, 255), 3.00, "default-bold", "center", "center", false, false, false, false, false)
            dxDrawText("Que tal um lanche?\n Coma um\n HAMBRUGUER !", 377, 360, 646, 565, tocolor(0, 95, 253, 255), 1.50, "default-bold", "center", "top", false, false, false, false, false)
            dxDrawRectangle(382, 570, 264, 1, tocolor(254, 254, 254, 255), false)
            dxDrawRectangle(570, 578, 76, 34, tocolor(0, 28, 243, 255), false)
            dxDrawText("HAMBURGUER", 380, 574, 568, 614, tocolor(255, 255, 255, 255), 1.00, "default-bold", "center", "center", false, false, false, false, false)
            dxDrawText("USAR", 569, 577, 646, 612, tocolor(255, 255, 255, 255), 2.00, "default-bold", "center", "center", false, false, false, false, false)
        end
    end
end
addEventHandler("onClientClick", root, abasAlimentos)

esse aí acima não está funciona antes dele eu fiz e funcionam olha:

 

function abas()
    if isEventHandlerAdded("onClientRender", root, inventario) then 
        if isCursorOnElement(770, 105, 64, 64) then
                dxDrawImage(770, 105, 64, 64, ":guieditor/images/alimentos.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
                addEventHandler("onClientRender", root, alimentos)
        end
    end
end
addEventHandler("onClientClick", root, abas)

ja tentei olha na debug mais não diz nd OBS: LEMBRADO O PRIMEIRO CÓDIGO ACIMA É O QUE NÃO FUNCIONA. O SEGUNDO FUNCIONA !!!!!!!!

Link to comment
8 minutes ago, MesaDowN said:

Não se esqueça, poste codigos por completo sempre para nós podermos ajudar. No caso você colococou a função do isCursorOnElement?

sim usei esta :

 

function isCursorOnElement( posX, posY, width, height )
  if isCursorShowing( ) then
    local mouseX, mouseY = getCursorPosition( )
    local clientW, clientH = guiGetScreenSize( )
    local mouseX, mouseY = mouseX * clientW, mouseY * clientH
    if ( mouseX > posX and mouseX < ( posX + width ) and mouseY > posY and mouseY < ( posY + height ) ) then
      return true
    end
  end
  return false
end

 

o código que não está funcionando é essse

function abasAlimentos()
    if isEventHandlerAdded("onClientRender", root, alimentos) then -- se ele tiver na aba de alimentos
        if isCursorOnElement(730, 216, 404, 27) then -- no caso qui eu quero que se o tiver clicado
            dxDrawRectangle(382, 346, 264, 1, tocolor(254, 254, 254, 255), false)
            dxDrawText("NENHUM ITEM", 380, 304, 646, 340, tocolor(255, 255, 255, 255), 3.00, "default-bold", "center", "center", false, false, false, false, false)
            dxDrawText("ATUALMENTE  NÃO HÁ\n NENHUM OBJETO\n SELECIONADO !", 377, 360, 646, 565, tocolor(0, 95, 253, 255), 1.50, "default-bold", "center", "top", false, false, false, false, false)
            dxDrawRectangle(382, 570, 264, 1, tocolor(254, 254, 254, 255), false)
            dxDrawRectangle(570, 578, 76, 34, tocolor(0, 28, 243, 255), false)
            dxDrawText("agua", 380, 574, 568, 614, tocolor(255, 255, 255, 255), 1.00, "default-bold", "center", "center", false, false, false, false, false)
            dxDrawText("USAR", 569, 577, 646, 612, tocolor(255, 255, 255, 255), 2.00, "default-bold", "center", "center", false, false, false, false, false)
        end
    end
end
addEventHandler("onClientClick", root, abasAlimentos)

no caso eu quero disser que se o carinha clicar no objeto vai ficar uma demarcação no objeto e tbm vai mostrar suas informações ao lado

pra vc entender melhor vou mostrar uma imagem do script, eu quero que quando clicar em um item quero que apareça suas informações

 

https://imgur.com/a/tjnmMuR

Link to comment
  • Moderators

Deixe as função do dx separada:

function drawDX()
           dxDrawRectangle(382, 346, 264, 1, tocolor(254, 254, 254, 255), false)
            dxDrawText("NENHUM ITEM", 380, 304, 646, 340, tocolor(255, 255, 255, 255), 3.00, "default-bold", "center", "center", false, false, false, false, false)
            dxDrawText("ATUALMENTE  NÃO HÁ\n NENHUM OBJETO\n SELECIONADO !", 377, 360, 646, 565, tocolor(0, 95, 253, 255), 1.50, "default-bold", "center", "top", false, false, false, false, false)
            dxDrawRectangle(382, 570, 264, 1, tocolor(254, 254, 254, 255), false)
            dxDrawRectangle(570, 578, 76, 34, tocolor(0, 28, 243, 255), false)
            dxDrawText("agua", 380, 574, 568, 614, tocolor(255, 255, 255, 255), 1.00, "default-bold", "center", "center", false, false, false, false, false)
            dxDrawText("USAR", 569, 577, 646, 612, tocolor(255, 255, 255, 255), 2.00, "default-bold", "center", "center", false, false, false, false, false)
end

Lembre-se que funções dx precisam ser renderizadas para sempre aparecer na tela; utilize com o evento onClientRender.

No onClientClick você só fará verificações:

  • Se o clique foi em certa área da tela
if isCursorOnElement(X, Y, width, height) then
  • Se o dx está visível 

E

  • isMainMenuActiveisConsoleActive
  • Verificar se o botão do cloque foi o botão esquerdo do mouse "left" (a menos que você queria outro, como botão direito "right")

Feitas essas verificações no evento, o seu clique em 'botões DX' está feito.

Se o seu clique for em um elemento do GTA, você pode obter o elemento clicado no parâmetro do evento onClientClick:

string button, string state, int absoluteX, int absoluteY, float worldX, float worldY, float worldZ, element clickedWorld

clickedWorld

Link to comment

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

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