MarcMSilva Posted January 5, 2021 Share Posted January 5, 2021 (edited) Bom dia pessoal, sou novo na programação lua e estou tentando aprender um pouco sobre essa linguagem. Estou tentando criar um script de autoescola e estou com dificuldade na parte onde o jogador entra no veiculo e aparece uma mensagem dx na parte superior da tela, já tentei de tudo e a mensagem não aparece, já vi vários tópicos aqui e nenhum conseguiu me ajudar. -------------CLIENTE------------- local sx,sy = guiGetScreenSize() local px,py = 1280,720 local x,y = (sx/px), (sy/py) function semCategoriaA() if getPedOccupiedVehicle(source) then dxDrawRectangle(screenW * 0.3146, screenH * 0.0000, screenW * 0.3714, screenH * 0.0417, tocolor(50, 0, 195, 55), false) dxDrawImage(screenW * 0.3005, screenH * -0.0194, screenW * 0.0620, screenH * 0.0787, ":[PJ]GuiEditor/images/plus.png", 0, 0, 0, tocolor(255, 255, 255, 255), false) dxDrawText("VOCÊ NÃO POSSUI A CARTERIA NACIONAL DE HABILITAÇÃO TIPO A!", (screenW * 0.3573) - 1, (screenH * 0.0000) - 1, (screenW * 0.6807) - 1, (screenH * 0.0417) - 1, tocolor(50, 0, 195, 55), 1.40, "default-bold", "center", "center", false, false, false, false, false) dxDrawText("VOCÊ NÃO POSSUI A CARTERIA NACIONAL DE HABILITAÇÃO TIPO A!", (screenW * 0.3573) + 1, (screenH * 0.0000) - 1, (screenW * 0.6807) + 1, (screenH * 0.0417) - 1, tocolor(50, 0, 195, 55), 1.40, "default-bold", "center", "center", false, false, false, false, false) dxDrawText("VOCÊ NÃO POSSUI A CARTERIA NACIONAL DE HABILITAÇÃO TIPO A!", (screenW * 0.3573) - 1, (screenH * 0.0000) + 1, (screenW * 0.6807) - 1, (screenH * 0.0417) + 1, tocolor(50, 0, 195, 55), 1.40, "default-bold", "center", "center", false, false, false, false, false) dxDrawText("VOCÊ NÃO POSSUI A CARTERIA NACIONAL DE HABILITAÇÃO TIPO A!", (screenW * 0.3573) + 1, (screenH * 0.0000) + 1, (screenW * 0.6807) + 1, (screenH * 0.0417) + 1, tocolor(50, 0, 195, 55), 1.40, "default-bold", "center", "center", false, false, false, false, false) dxDrawText("VOCÊ NÃO POSSUI A CARTERIA NACIONAL DE HABILITAÇÃO TIPO A!", screenW * 0.3573, screenH * 0.0000, screenW * 0.6807, screenH * 0.0417, tocolor(255, 255, 255, 255), 1.40, "default-bold", "center", "center", false, false, false, false, false) end end addEvent("semCNH:A", true) addEventHandler("semCNH:A", root, semCategoriaA) -------------SERVER------------- function moto581(player, seat) local id = getElementModel(source) if not getElementData(player, "Categoria:A", false) and seat == 0 then if id == 581 then triggerClientEvent(source, "semCNH:A", root) end end end addEventHandler("onVehicleStartEnter", root, moto581) Se alguém puder me ajudar, irei ficar muito agradecido. Tenham um ótimo dia!! Obs: já tenho dxmessages, baixei outros scripts que possuem mensagem dx e eles funcionaram normalmente. Edited January 5, 2021 by MarcMSilva correção ortográfica Link to comment
ber Posted January 5, 2021 Share Posted January 5, 2021 -------------CLIENTE------------- local sx,sy = guiGetScreenSize() local px,py = 1280,720 local x,y = (sx/px), (sy/py) local isRenderVisible = false function semCategoriaA() dxDrawRectangle(screenW * 0.3146, screenH * 0.0000, screenW * 0.3714, screenH * 0.0417, tocolor(50, 0, 195, 55), false) dxDrawImage(screenW * 0.3005, screenH * -0.0194, screenW * 0.0620, screenH * 0.0787, ":[PJ]GuiEditor/images/plus.png", 0, 0, 0, tocolor(255, 255, 255, 255), false) dxDrawText("VOCÊ NÃO POSSUI A CARTERIA NACIONAL DE HABILITAÇÃO TIPO A!", (screenW * 0.3573) - 1, (screenH * 0.0000) - 1, (screenW * 0.6807) - 1, (screenH * 0.0417) - 1, tocolor(50, 0, 195, 55), 1.40, "default-bold", "center", "center", false, false, false, false, false) dxDrawText("VOCÊ NÃO POSSUI A CARTERIA NACIONAL DE HABILITAÇÃO TIPO A!", (screenW * 0.3573) + 1, (screenH * 0.0000) - 1, (screenW * 0.6807) + 1, (screenH * 0.0417) - 1, tocolor(50, 0, 195, 55), 1.40, "default-bold", "center", "center", false, false, false, false, false) dxDrawText("VOCÊ NÃO POSSUI A CARTERIA NACIONAL DE HABILITAÇÃO TIPO A!", (screenW * 0.3573) - 1, (screenH * 0.0000) + 1, (screenW * 0.6807) - 1, (screenH * 0.0417) + 1, tocolor(50, 0, 195, 55), 1.40, "default-bold", "center", "center", false, false, false, false, false) dxDrawText("VOCÊ NÃO POSSUI A CARTERIA NACIONAL DE HABILITAÇÃO TIPO A!", (screenW * 0.3573) + 1, (screenH * 0.0000) + 1, (screenW * 0.6807) + 1, (screenH * 0.0417) + 1, tocolor(50, 0, 195, 55), 1.40, "default-bold", "center", "center", false, false, false, false, false) dxDrawText("VOCÊ NÃO POSSUI A CARTERIA NACIONAL DE HABILITAÇÃO TIPO A!", screenW * 0.3573, screenH * 0.0000, screenW * 0.6807, screenH * 0.0417, tocolor(255, 255, 255, 255), 1.40, "default-bold", "center", "center", false, false, false, false, false) end function enter() if getPedOccupiedVehicleSeat(localPlayer) == 0 then if not getElementData(localPlayer, "CNH:A") then if not (isRenderVisible) then addEventHandler("onClientRender", root, semCategoriaA) isRenderVisible = true end end end end addEventHandler("onClientVehicleEnter", localPlayer, enter) function exit(_, seat) if seat == 0 then if (isRenderVisible) then removeEventHandler("onClientRender", root, semCategoriaA) isRenderVisible = false end end end addEventHandler("onClientVehicleExit", localPlayer, exit) Não testei mas creio que funcione. Esse evento não precisa ser pelo server-side, só irá gerar mais processamento para o servidor. Link to comment
MarcMSilva Posted January 6, 2021 Author Share Posted January 6, 2021 21 hours ago, ber said: -------------CLIENTE------------- local sx,sy = guiGetScreenSize() local px,py = 1280,720 local x,y = (sx/px), (sy/py) local isRenderVisible = false function semCategoriaA() dxDrawRectangle(screenW * 0.3146, screenH * 0.0000, screenW * 0.3714, screenH * 0.0417, tocolor(50, 0, 195, 55), false) dxDrawImage(screenW * 0.3005, screenH * -0.0194, screenW * 0.0620, screenH * 0.0787, ":[PJ]GuiEditor/images/plus.png", 0, 0, 0, tocolor(255, 255, 255, 255), false) dxDrawText("VOCÊ NÃO POSSUI A CARTERIA NACIONAL DE HABILITAÇÃO TIPO A!", (screenW * 0.3573) - 1, (screenH * 0.0000) - 1, (screenW * 0.6807) - 1, (screenH * 0.0417) - 1, tocolor(50, 0, 195, 55), 1.40, "default-bold", "center", "center", false, false, false, false, false) dxDrawText("VOCÊ NÃO POSSUI A CARTERIA NACIONAL DE HABILITAÇÃO TIPO A!", (screenW * 0.3573) + 1, (screenH * 0.0000) - 1, (screenW * 0.6807) + 1, (screenH * 0.0417) - 1, tocolor(50, 0, 195, 55), 1.40, "default-bold", "center", "center", false, false, false, false, false) dxDrawText("VOCÊ NÃO POSSUI A CARTERIA NACIONAL DE HABILITAÇÃO TIPO A!", (screenW * 0.3573) - 1, (screenH * 0.0000) + 1, (screenW * 0.6807) - 1, (screenH * 0.0417) + 1, tocolor(50, 0, 195, 55), 1.40, "default-bold", "center", "center", false, false, false, false, false) dxDrawText("VOCÊ NÃO POSSUI A CARTERIA NACIONAL DE HABILITAÇÃO TIPO A!", (screenW * 0.3573) + 1, (screenH * 0.0000) + 1, (screenW * 0.6807) + 1, (screenH * 0.0417) + 1, tocolor(50, 0, 195, 55), 1.40, "default-bold", "center", "center", false, false, false, false, false) dxDrawText("VOCÊ NÃO POSSUI A CARTERIA NACIONAL DE HABILITAÇÃO TIPO A!", screenW * 0.3573, screenH * 0.0000, screenW * 0.6807, screenH * 0.0417, tocolor(255, 255, 255, 255), 1.40, "default-bold", "center", "center", false, false, false, false, false) end function enter() if getPedOccupiedVehicleSeat(localPlayer) == 0 then if not getElementData(localPlayer, "CNH:A") then if not (isRenderVisible) then addEventHandler("onClientRender", root, semCategoriaA) isRenderVisible = true end end end end addEventHandler("onClientVehicleEnter", localPlayer, enter) function exit(_, seat) if seat == 0 then if (isRenderVisible) then removeEventHandler("onClientRender", root, semCategoriaA) isRenderVisible = false end end end addEventHandler("onClientVehicleExit", localPlayer, exit) Não testei mas creio que funcione. Esse evento não precisa ser pelo server-side, só irá gerar mais processamento para o servidor. Não funcionou da mesma maneira. Talvez seja esse meu dxmessage que esteja errado, vou tentar achar o "certo" e colocar no servidor. Link to comment
MarcMSilva Posted January 6, 2021 Author Share Posted January 6, 2021 Consegui usando o seguinte código no client-side: local screenW,screenH = guiGetScreenSize() local resW,resH = 1280,720 local x,y = (screenW/resW), (screenH/resH) function semCategoriaA() if getPedOccupiedVehicle(localPlayer) then dxDrawRectangle(screenW * 0.3146, screenH * 0.0000, screenW * 0.3714, screenH * 0.0417, tocolor(50, 0, 195, 55), false) dxDrawImage(screenW * 0.3005, screenH * -0.0194, screenW * 0.0620, screenH * 0.0787, ":[PJ]GuiEditor/images/plus.png", 0, 0, 0, tocolor(255, 255, 255, 255), false) dxDrawText("VOCÊ NÃO POSSUI A CARTERIA NACIONAL DE HABILITAÇÃO TIPO A!", (screenW * 0.3573) - 1, (screenH * 0.0000) - 1, (screenW * 0.6807) - 1, (screenH * 0.0417) - 1, tocolor(50, 0, 195, 55), 1.40, "default-bold", "center", "center", false, false, false, false, false) dxDrawText("VOCÊ NÃO POSSUI A CARTERIA NACIONAL DE HABILITAÇÃO TIPO A!", (screenW * 0.3573) + 1, (screenH * 0.0000) - 1, (screenW * 0.6807) + 1, (screenH * 0.0417) - 1, tocolor(50, 0, 195, 55), 1.40, "default-bold", "center", "center", false, false, false, false, false) dxDrawText("VOCÊ NÃO POSSUI A CARTERIA NACIONAL DE HABILITAÇÃO TIPO A!", (screenW * 0.3573) - 1, (screenH * 0.0000) + 1, (screenW * 0.6807) - 1, (screenH * 0.0417) + 1, tocolor(50, 0, 195, 55), 1.40, "default-bold", "center", "center", false, false, false, false, false) dxDrawText("VOCÊ NÃO POSSUI A CARTERIA NACIONAL DE HABILITAÇÃO TIPO A!", (screenW * 0.3573) + 1, (screenH * 0.0000) + 1, (screenW * 0.6807) + 1, (screenH * 0.0417) + 1, tocolor(50, 0, 195, 55), 1.40, "default-bold", "center", "center", false, false, false, false, false) dxDrawText("VOCÊ NÃO POSSUI A CARTERIA NACIONAL DE HABILITAÇÃO TIPO A!", screenW * 0.3573, screenH * 0.0000, screenW * 0.6807, screenH * 0.0417, tocolor(255, 255, 255, 255), 1.40, "default-bold", "center", "center", false, false, false, false, false) end end function avisoCategoriaA(source, seat) local occupied = getPedOccupiedVehicle(source) if getElementData(source, "Categoria:A", false) then return end if (getElementModel (occupied) == 581) or (getElementModel (occupied) == 462) or (getElementModel (occupied) == 521) or (getElementModel (occupied) == 463) or (getElementModel (occupied) == 522) or (getElementModel (occupied) == 461) or (getElementModel (occupied) == 448) or (getElementModel (occupied) == 468) or (getElementModel (occupied) == 586) or (getElementModel (occupied) == 523) then if seat == 0 then addEventHandler("onClientRender", root, semCategoriaA) end end end addEventHandler("onClientVehicleEnter", root, avisoCategoriaA) muito obrigado pela ajuda. 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