noonbr Posted December 13, 2019 Share Posted December 13, 2019 (edited) Quero remover o DxDraw quando o comando for executado novamente. CLIENT-SIDE: function f_tabPanel() local screenW, screenH = guiGetScreenSize() linha = dxDrawLine(screenW * 0.3160, screenH * 0.3444, screenW * 0.7694, screenH * 0.3444, tocolor(41, 49, 213, 255), 1, false) end function f_executeTab() addEventHandler("onClientRender", root, f_tabPanel) end addCommandHandler("rectangle", f_executeTab) Estou estudando, por isso é só uma linha :v Obs.: tentei fazer o método de verificação básico. Não funciona porque onClientRender é como um loop, ou seja, quando ele verifica se a variável é igual a false ou nil ele ativa a linha, mas logo destrói ela. function f_tabPanel() local screenW, screenH = guiGetScreenSize() if s_aberto ~= true then linha = dxDrawLine(screenW * 0.3160, screenH * 0.3444, screenW * 0.7694, screenH * 0.3444, tocolor(41, 49, 213, 255), 1, false) s_aberto = true else destroyElement(linha) end end function f_executeTab() addEventHandler("onClientRender", root, f_tabPanel) end addCommandHandler("rectangle", f_executeTab) **Edit: Com GUI é tão simples, basta verificar guiGetVisible ** Edit: Como descobri o loop: Edited December 13, 2019 by GM_Goulart Link to comment
main Posted December 13, 2019 Share Posted December 13, 2019 local screenW, screenH = guiGetScreenSize() local render = false -- variável function f_tabPanel() dxDrawLine(screenW * 0.3160, screenH * 0.3444, screenW * 0.7694, screenH * 0.3444, tocolor(41, 49, 213, 255), 1, false) end function f_executeTab() local addRemove = render and removeEventHandler("onClientRender", root, f_tabPanel) or addEventHandler("onClientRender", root, f_tabPanel) -- se a váriavel render for true vai remover o evento caso contrário irá adicionar if addRemove then render = not render -- alterna a variável end end addCommandHandler("rectangle", f_executeTab) Tente isso, coloquei umas explicações para você, espero que entenda! 1 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