miiguelz Posted February 9, 2021 Share Posted February 9, 2021 local screenW, screenH = guiGetScreenSize() local showPainel = false function renderStuff() dxDrawRectangle((screenW - 340) / 2, (screenH - 326) / 2, 340, 326, tocolor(0, 0, 0, 165), false) dxDrawRectangle((screenW - 283) / 2, (screenH - 118) / 2, 283, 118, tocolor(0, 0, 0, 150), false) dxDrawText("SKIN", 432, 354, 644, 433, tocolor(255, 255, 255, 255), 2.00, "bankgothic", "left", "top", false, false, false, false, false) end function painelControl(button, state) if showPainel == false then addEventHandler("onClientRender", root, renderStuff) showCursor(true) showPainel = true else removeEventHandler("onClientRender", root, renderStuff) showCursor(false) showPainel = false end end addCommandHandler("painel", painelControl) function clickControl(button, state) if button == "left" and state == "up" then if showPainel == true then if isMouseInPosition((screenW - 283) / 2, (screenH - 118) / 2, 283, 118) then triggerServerEvent ("addSkinPlayer", root, source) outputChatBox("Skin alterada com sucesso.") end end end end addEventHandler("onClientClick", root, clickControl) function isMouseInPosition ( x, y, width, height ) if ( not isCursorShowing( ) ) then return false end local sx, sy = guiGetScreenSize ( ) local cx, cy = getCursorPosition ( ) local cx, cy = ( cx * sx ), ( cy * sy ) return ( ( cx >= x and cx <= x + width ) and ( cy >= y and cy <= y + height ) ) end Este é meu primeiro script, mas queria pela perspectiva de pessoas mais experientes, o que eu poderia melhorá-lo. Aceito críticas construtivas e afins! Link to comment
Other Languages Moderators Lord Henry Posted February 9, 2021 Other Languages Moderators Share Posted February 9, 2021 Prefira indentar com 4 espaços em vez de 2 pois o tamanho padrão de uma tabulação é 4. É desnecessário deixar uma linha em branco entre a função e seu addEventHandler. No dxDrawText, depois do parâmetro "top" não é necessário declarar os falses pois eles já possuem estes valores por padrão. No triggerServerEvent, evite usar root se o evento está sendo ativado pelo mesmo resource. No seu caso, use localPlayer. E provavelmente o parâmetro source é desnecessário (teria que ver o lado server para saber). Espero ter ajudado. Link to comment
miiguelz Posted February 9, 2021 Author Share Posted February 9, 2021 (edited) 1 hour ago, Lord Henry said: Prefira indentar com 4 espaços em vez de 2 pois o tamanho padrão de uma tabulação é 4. É desnecessário deixar uma linha em branco entre a função e seu addEventHandler. No dxDrawText, depois do parâmetro "top" não é necessário declarar os falses pois eles já possuem estes valores por padrão. No triggerServerEvent, evite usar root se o evento está sendo ativado pelo mesmo resource. No seu caso, use localPlayer. E provavelmente o parâmetro source é desnecessário (teria que ver o lado server para saber). Espero ter ajudado. Valeu cara, vou ajustar o meu vsc (prefiro pra programar). Em relação a tabulação vou colocar 4, é porque eu me acostumei com 2. server-side Spoiler function setSkinPlayer(player) setElementModel(player, 130) end addEvent("addSkinPlayer", true) addEventHandler("addSkinPlayer", root, setSkinPlayer) Edited February 9, 2021 by miiguelz Link to comment
Other Languages Moderators Lord Henry Posted February 10, 2021 Other Languages Moderators Share Posted February 10, 2021 client-side: triggerServerEvent ("addSkinPlayer", localPlayer) -- Por estar passando o localPlayer como source, não é necessário usá-lo como parâmetro de função. server-side: function setSkinPlayer () setElementModel (source, 130) -- source deste evento é o que foi definido no segundo parâmetro do triggerServerEvent. end addEvent ("addSkinPlayer", true) addEventHandler ("addSkinPlayer", root, setSkinPlayer) 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