Sparta Posted August 27, 2019 Share Posted August 27, 2019 Então galera to com uma agencia de emprego, e queria adicionar mais empregos, especificamente o de mecânico, é bem simples adicionar um emprego mas no caso do de mecânico é necessário estar no grupo "Mecanico" na acl, eu queria ajuda para quando pegar o emprego de mecânico ser automaticamente adicionado no grupo mecânico da acl. CODIGO DA AGENCIA SERVE --Pegar Trabalho function Pegar_Emprego (source, Trab, Level, Hab) local Trabalho = getElementData ( source, "Emprego" ) or "Desempregado" local Habilicao = getElementData ( source, "DNL:Categoria("..Hab..")") local Level_Player = tonumber(getElementData(source, "Level")) or 0 if Level_Player >= tonumber(Level) then if Trabalho == Trab then triggerClientEvent(source, "addNotification", root, "#ffffffINFO: #ffffffVocê Já Trabalha Como #106FE7"..Trab.."", "info") return end if Habilicao == false then triggerClientEvent(source, "addNotification", root, "#ffffffErro: #ffffffVocê Não Tem Habilitação ("..Hab..") e Não Pode Trabalhar Como ("..Trab..")", "erro") return end setElementData ( source, "Emprego", Trab ) triggerClientEvent(source, "addNotification", root, "#ffffffINFO: #ffffffVocê Agora Trabalha de #106FE7"..Trab.."", "info") else triggerClientEvent(source, "addNotification", root, "#ffffffErro: #ffffffSeu Level é Muito Baixo e Você Não Pode Trabalhar Como #106FE7"..Trab.."", "erro") end end addEvent("DNL:Pegar_Emprego", true) addEventHandler("DNL:Pegar_Emprego", root, Pegar_Emprego) --Demissao Trabalho function Pedir_Demissao (source) local Trabalho = getElementData ( source, "Emprego" ) or "Desempregado" if Trabalho == "Desempregado" then triggerClientEvent(source, "addNotification", root, "#ffffffErro: #ffffffVocê não está empregado para se demitir.", "erro") return end setElementData ( source, "Emprego", "Desempregado" ) triggerClientEvent(source, "addNotification", root, "#ffffffSucesso: #ffffffVocê Se Demitiu Do Emprego de #106FE7"..Trabalho.."", "sucesso") end addEvent("DNL:Pedir_Demissao", true) addEventHandler("DNL:Pedir_Demissao", root, Pedir_Demissao) CODIGO CLIENTE DA AGENCIA local screenW,screenH = guiGetScreenSize() local resW,resH = 1366,768 local x,y = (screenW/resW), (screenH/resH) local Font_1 = dxCreateFont("font/font.ttf", y*11) local Font_2 = dxCreateFont("font/font1.ttf", y*11) local Font_3 = dxCreateFont("font/fontNick.ttf", y*10) local Font_4 = dxCreateFont("font/OpenSans-Bold.ttf", y*11) ------------- ############################################ ------------- ------------- # Edite aqui (Level, Habilitação) # ------------- ------------- ############################################ ------------- Trabalhos = { {"Lixeiro", 0, "Nenhuma"}, -- Emprego, Level, Habilitação {"Carregador", 3, "Nenhuma"}, -- Emprego, Level, Habilitação {"Pescaria", 0, "Nenhuma"}, -- Emprego, Level, Habilitação {"Mineirador", 0, "Nenhuma"}, -- Emprego, Level, Habilitação {"Pizzaboy", 5, "A"}, -- Emprego, Level, Habilitação {"Sedex", 10, "C"}, -- Emprego, Level, Habilitação {"Caminhoneiro", 15, "D"}, -- Emprego, Level, Habilitação } --===================================-- ------------- Abrir/Fechar ------------ --===================================-- function Abrir_agencia () if isEventHandlerAdded("onClientRender", getRootElement(), Dx_Agencia) then return end showCursor(true) ListaTrabalhos:SetVisible(true) addEventHandler("onClientRender", root, Dx_Agencia) end addEvent("AG:Abrir", true) addEventHandler("AG:Abrir", root, Abrir_agencia) function CloseAgencia () if isEventHandlerAdded("onClientRender", getRootElement(), Dx_Agencia) then showCursor(false) ListaTrabalhos:SetVisible(false) removeEventHandler("onClientRender", root, Dx_Agencia) end end --=======================================-- ------------- Interface Painel ------------ --=======================================-- function Dx_Agencia () exports["Blur"]:dxDrawBluredRectangle(x*488, y*138, x*391, y*491, tocolor(255, 255, 255, 255)) dxDrawRectangle(x*488, y*138, x*391, y*491, tocolor(0, 0, 0, 170), false) dxDrawRectangle(x*489, y*138, x*391, y*38, tocolor(0, 0, 0, 212), false) dxDrawLine(x*488, y*176, x*880, y*176, tocolor(16, 111, 231, 255), x*2, false) dxDrawText("Agencia de Empregos", x*621, y*146, x*746, y*161, tocolor(255, 255, 255, 255), 1.00, Font_1, "left", "top", false, false, false, false, false) dxDrawImage(x*500, y*494, x*366, y*37, "Img/botao.png", 0, 0, 0, CorEmprego, false) dxDrawText("Pegar Emprego", x*639, y*502, x*729, y*519, tocolor(0, 0, 0, 255), 1.00, Font_1, "left", "top", false, false, false, false, false) CorEmprego = tocolor(16, 111, 231, 170) if isCursorOnElement(x*500, y*494, x*366, y*37) then CorEmprego = tocolor(16, 111, 231, 200) end dxDrawImage(x*500, y*538, x*366, y*37, "Img/botao.png", 0, 0, 0, CorDemissao, false) dxDrawText("Pedir Demissão", x*640, y*546, x*726, y*563, tocolor(0, 0, 0, 255), 1.00, Font_1, "left", "top", false, false, false, false, false) CorDemissao = tocolor(16, 111, 231, 170) if isCursorOnElement(x*500, y*538, x*366, y*37) then CorDemissao = tocolor(16, 111, 231, 200) end dxDrawImage(x*500, y*582, x*366, y*37, "Img/botao.png", 0, 0, 0, CorSair, false) dxDrawText("Sair Agencia", x*650, y*590, x*719, y*609, tocolor(0, 0, 0, 255), 1.00, Font_1, "left", "top", false, false, false, false, false) CorSair = tocolor(16, 111, 231, 170) if isCursorOnElement(x*500, y*582, x*366, y*37) then CorSair = tocolor(16, 111, 231, 200) end end --================================-- ------------- GridTable ------------ --================================-- addEventHandler("onClientResourceStart", resourceRoot, function () ListaTrabalhos = dxGridW:Create(494, 183, 379, 302) ListaTrabalhos:AddColumn("Emprego", 140) ListaTrabalhos:AddColumn("Level", 105) ListaTrabalhos:AddColumn("Habilitação", 120) ListaTrabalhos:SetVisible(false) for i,v in ipairs (Trabalhos) do ListaTrabalhos:AddItem(1, tostring(v[1])) ListaTrabalhos:AddItem(2, tostring(v[2])) ListaTrabalhos:AddItem(3, tostring(v[3])) end end) --=============================-- ------------- Clicks ------------ --=============================-- function Pegar_Trabalho ( _,state ) if isEventHandlerAdded("onClientRender", getRootElement(), Dx_Agencia) then if state == "down" then if isCursorOnElement(x*500, y*582, x*366, y*37) then -- Fechar Agencia CloseAgencia () end if isCursorOnElement(x*500, y*494, x*366, y*37) then -- Pegar Emprego if ListaTrabalhos:GetSelectedItem() > -1 then local Trab = ListaTrabalhos:GetItemDetails(1, ListaTrabalhos:GetSelectedItem()) local Level = ListaTrabalhos:GetItemDetails(2, ListaTrabalhos:GetSelectedItem()) local Hab = ListaTrabalhos:GetItemDetails(3, ListaTrabalhos:GetSelectedItem()) playSoundFrontEnd(12) triggerServerEvent("DNL:Pegar_Emprego", root, localPlayer, Trab, Level, Hab) else triggerEvent("addNotification", root, "#ffffffINFO: #ffffffSelecione o Emprego que Você Deseja Trabalhar", "info") end elseif isCursorOnElement(x*500, y*538, x*366, y*37) then -- Demissão playSoundFrontEnd(12) triggerServerEvent("DNL:Pedir_Demissao", root, localPlayer) end end end end addEventHandler ( "onClientClick", root, Pegar_Trabalho ) --=============================-- ------------- IGNORA ------------ --=============================-- --==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==- addEventHandler("onClientKey", root, function (button, press) if isEventHandlerAdded("onClientRender", getRootElement(), Dx_Agencia) then if button == "F1" or button == "F2" or button == "F3" or button == "F5" or button == "F6" or button == "F7" or button == "F9" or button == "F10" or button == "F11" or button == "F12" or button == "t" or button == "p" or button == "m" then cancelEvent() end end end ) --==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==- function isEventHandlerAdded( sEventName, pElementAttachedTo, func ) if type( sEventName ) == 'string' and isElement( pElementAttachedTo ) and type( func ) == 'function' then local aAttachedFunctions = getEventHandlers( sEventName, pElementAttachedTo ) if type( aAttachedFunctions ) == 'table' and #aAttachedFunctions > 0 then for i, v in ipairs( aAttachedFunctions ) do if v == func then return true end end end end return false end --==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==- local x,y = guiGetScreenSize() function isCursorOnElement(x, y, w, h) if (not isCursorShowing()) then return false end local mx, my = getCursorPosition() local fullx, fully = guiGetScreenSize() cursorx, cursory = mx*fullx, my*fully if cursorx > x and cursorx < x + w and cursory > y and cursory < y + h then return true else return false end end --==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==- CODIGO SERVE DO EMPREGO DE MECANICO Grupo = "Mecanico" -- Mude o Grupo da Acl Aqui! Preco_Kit = 500 -- Mude Preço do kit aqui! LimiteReparoMec = 20 -- Mude Limite de Kit Aqui! --[[ ><><><><><><><><><><><><><><><><><><><>< >< Infos Trabalho >< ><><><><><><><><><><><><><><><><><><><>< --]] function Info (source) accountname = getAccountName(getPlayerAccount(source)) if isObjectInACLGroup("user." .. accountname, aclGetGroup(Grupo)) then outputChatBox("#00ff00=====================================================", source, 255, 255, 255, true) outputChatBox("#00FF00", source, 255, 255, 255, true) outputChatBox("#00ff00/qg - #ffffffPara Marcar seu Local de Trabalho no Mapa.", source, 255, 255, 255, true) outputChatBox("#00FF00", source, 255, 255, 255, true) outputChatBox("#00ff00Trabalhar - #ffffffClique no veiculo Para Repara-lo.", source, 255, 255, 255, true) outputChatBox("#00FF00", source, 255, 255, 255, true) outputChatBox("#00ff00=====================================================", source, 255, 255, 255, true) end end addCommandHandler ( "infos", Info ) function Quartel_Emprego ( source ) accountname = getAccountName(getPlayerAccount(source)) if isObjectInACLGroup("user." .. accountname, aclGetGroup(Grupo)) then if isElementVisibleTo ( Blip_Emprego, source ) then setElementVisibleTo ( Blip_Emprego, source, false ) exports.Scripts_Dxmessages:outputDx(source, "Seu Local de Trabalho foi Desmarcado do Mapa!", "info") else setElementVisibleTo ( Blip_Emprego, source, true ) exports.Scripts_Dxmessages:outputDx(source, "Seu Local de Trabalho foi Marcado no Mapa!", "info") end end end addCommandHandler ( "qg", Quartel_Emprego ) --[[ ><><><><><><><><><><><><><><><><><><><>< >< Trabalho >< ><><><><><><><><><><><><><><><><><><><>< --]] AbrirPainelMecanico = createMarker(1481.7296142578,-1767.330078125,18.795755386353 -1, "cylinder", 1.2, 0, 255, 0, 50) setElementVisibleTo ( AbrirPainelMecanico, root, true ) Blip_Emprego = createBlipAttachedTo( AbrirPainelMecanico, 42 ) setElementVisibleTo ( Blip_Emprego, root, false ) function OpenPainelMed(source) accountname = getAccountName(getPlayerAccount(source)) if isObjectInACLGroup("user." .. accountname, aclGetGroup(Grupo)) then if isElementWithinMarker(source, AbrirPainelMecanico) then triggerClientEvent(source,"MEC:Painel",source) setElementVisibleTo ( Blip_Emprego, source, false ) end else exports.Scripts_Dxmessages:outputDx(source, "Apenas Mecânicos podem entrar aqui!", "warning") end end addEventHandler( "onMarkerHit", AbrirPainelMecanico, OpenPainelMed ) Link to comment
DNL291 Posted August 29, 2019 Share Posted August 29, 2019 On 27/08/2019 at 13:59, Sparta said: quando pegar o emprego de mecânico ser automaticamente adicionado no grupo mecânico da acl aclGroupAddObject 1 Link to comment
Sparta Posted August 30, 2019 Author Share Posted August 30, 2019 Como sou leigo no assunto tem como fazer pra min? Link to comment
Jonas^ Posted August 30, 2019 Share Posted August 30, 2019 (edited) 7 hours ago, Sparta said: Como sou leigo no assunto tem como fazer pra min? Como você tentou? poste se comprovar que você realmente tentou e não apenas fez de qualquer jeito pra ganhar pronto, quem sabe a gente possa fazer o código, já que eu fiz da última vez e nem assim você tentou se esforçar... Edited August 30, 2019 by Jonas^ Link to comment
Sparta Posted August 30, 2019 Author Share Posted August 30, 2019 53 minutes ago, Jonas^ said: Como você tentou? poste se comprovar que você realmente tentou e não apenas fez de qualquer jeito pra ganhar pronto, quem sabe a gente possa fazer o código, já que eu fiz da última vez e nem assim você tentou se esforçar... KKKKKKKK, Blz é porque eu não tenho tanto tempo. Como quero adicionar a um painel já pronto fico meio complicado pra min, já que para pegar qualquer emprego usa-se a condição "DNL:Pedir_Demissao" e sinceramente não sei o que fazer, pois só quando pegasse o trabalho de mecânico fosse adicionado a acl function darmecanico (type, join, leave) if (type == "DNL:Pegar_Emprego") then if (isObjectInACLGroup ("user."..getAccountName (getPlayerAccount (client)), aclGetGroup("Mecanico"))) then outputChatBox ("Você já está no trabalho de mecanico!", client, 255, 30, 30) else aclGroupAddObject (aclGetGroup("Mecanico"), "user."..getAccountName (getPlayerAccount (client))) outputChatBox ("Parabéns! Agora você está trabalhando de mecânio!", client, 0, 255, 0) end elseif (type == "DNL:Pegar_Emprego") then if (isObjectInACLGroup ("user."..getAccountName (getPlayerAccount (client)), aclGetGroup("Mecanico"))) then aclGroupRemoveObject (aclGetGroup("Mecanico"), "user."..getAccountName (getPlayerAccount (client))) outputChatBox ("Você saiu do trabalho de mecânico!", client, 0, 255, 0) else outputChatBox ("Você não está no trabalho de mecânico!", client, 255, 30, 30) end end end addEvent ("onRequestPegarEmprego", true) addEventHandler ("onRequestPegarEmprego", root, darmecanico) 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