Jump to content

Ajuda Script Emprego Por ACL


Recommended Posts

alguem poderia me ajudar, não consigo fazer este script dar acl para quem pega o emprego

 

function Pegar_Emprego (playerSource, commandName, accountName)
		if (type == "DNL:Pegar_Emprego") then
        aclGroupAddObject (aclGetGroup("UBER"), "user."..accountName)
        outputChatBox ("Parabéns! Agora você está trabalhando de UBER!", client, 0, 255, 0)
    elseif (type == "DNL:Pegar_Emprego") then 
        if isObjectInACLGroup ("user."..accName, aclGetGroup ( "UBER" ) ) then  
            aclGroupRemoveObject (aclGetGroup("UBER"), "user."..getAccountName (getPlayerAccount (client))) 
            outputChatBox ("Você saiu do trabalho de UBER!", client, 0, 255, 0)
        else
            outputChatBox ("Você não está no trabalho de UBER!", client, 255, 30, 30)
        end
end 
  
addEvent("DNL:Pegar_Emprego", true)
addEventHandler("DNL:Pegar_Emprego", root, Pegar_Emprego)

estou usando o mod de agencia do danilin. e este script esta separado para o emprego que adicionei de uber

Edited by Looktovask
Link to comment
function Pegar_Emprego (playerSource)
    local accName = getAccountName ( getPlayerAccount ( playerSource ) ) -- get his account name
    if not isObjectInACLGroup ("user."..accName, aclGetGroup ( "UBER" ) ) then -- Does he have access to Admin functions?
        aclGroupAddObject (aclGetGroup("UBER"), "user."..accName)
        outputChatBox ("Parabéns! Agora você está trabalhando de UBER!", playerSource, 0, 255, 0,true)
    else
        aclGroupRemoveObject (aclGetGroup("UBER"), "user."..accName)
        outputChatBox ("Você saiu do trabalho de UBER!", playerSource, 0, 255, 0,true)
    end
end
addEvent("DNL:Pegar_Emprego", true)
addEventHandler("DNL:Pegar_Emprego", root, Pegar_Emprego)

-- USE triggerServerEvent("DNL:Pegar_Emprego",localPlayer,localPlayer) No Client / triggerEvent("DNL:Pegar_Emprego",source,source) No Server

Qualquer dúvida pode falar

Edited by LucasST
  • Thanks 1
Link to comment
function Pegar_Emprego (playerSource)
    local accName = getAccountName ( getPlayerAccount ( playerSource ) ) -- get his account name
    if not isObjectInACLGroup ("user."..accName, aclGetGroup ( "UBER" ) ) then -- Does he have access to Admin functions?
        aclGroupAddObject (aclGetGroup("UBER"), "user."..accName)
        outputChatBox ("Parabéns! Agora você está trabalhando de UBER!", playerSource, 0, 255, 0,true)
    end
end
addEvent("DNL:Pegar_Emprego", true)
addEventHandler("DNL:Pegar_Emprego", root, Pegar_Emprego)

function Sair_ACL (playerSource)
    local accName = getAccountName ( getPlayerAccount ( playerSource ) ) -- get his account name
    if isObjectInACLGroup ("user."..accName, aclGetGroup ( "UBER" ) ) then -- Does he have access to Admin functions?
        aclGroupRemoveObject (aclGetGroup("UBER"), "user."..accName)
        outputChatBox ("Você não está trabalhando de UBER!", playerSource, 0, 255, 0,true)
    end
end
addEvent("DNL:Pedir_Demissao", true)
addEventHandler("DNL:Pedir_Demissao", root, Sair_ACL)

 o script ficou assim, porem mesmo se o player clicar em pegar emprego e não ter os requerimentos para o emrpego ele é movido para a ACL
tentei fazer desta forma usando de baser um script da agencia, mas infelizmente não funcionou
 

function Pegar_Emprego (playerSource, Trab, Level, Hab)
local accName = getAccountName ( getPlayerAccount ( playerSource ) ) -- get his account name
local Habilicao = getElementData ( playerSource, "DNL:Categoria("..Hab..")")
local Level_Player = tonumber(getElementData(playerSource, "Level")) or 0
	if Emprego == "Uber" then then triggerClientEvent(playerSource, "addNotification", root, "INFO: Você Já Trabalha Como "..Trab.."", "info") return end
	if Habilicao == false then triggerClientEvent(playerSource, "addNotification", root, "Erro: Você Não Tem Habilitação ("..Hab..") e Não Pode Trabalhar Como ("..Trab..")", "erro") return end
		setElementData ( playerSource, "Emprego", Trab )
		triggerClientEvent(playerSource, "addNotification", root, "INFO: Você Agora Trabalha de "..Trab.."", "info")
    if not isObjectInACLGroup ("user."..accName, aclGetGroup ( "UBER" ) ) then -- Does he have access to Admin functions?
        aclGroupAddObject (aclGetGroup("UBER"), "user."..accName)
    end
end
addEvent("DNL:Pegar_Emprego", true)
addEventHandler("DNL:Pegar_Emprego", root, Pegar_Emprego)

function Sair_ACL (playerSource)
    local accName = getAccountName ( getPlayerAccount ( playerSource ) ) -- get his account name
    if isObjectInACLGroup ("user."..accName, aclGetGroup ( "UBER" ) ) then -- Does he have access to Admin functions?
        aclGroupRemoveObject (aclGetGroup("UBER"), "user."..accName)
        outputChatBox ("Você não está trabalhando de UBER!", playerSource, 0, 255, 0,true)
    end
end
addEvent("DNL:Pedir_Demissao", true)
addEventHandler("DNL:Pedir_Demissao", root, Sair_ACL)

 

Link to comment
function Dar_ACL ( source )
	local Emprego = getElementData ( source, "Emprego" )
	if Emprego == "Uber" then
		if isObjectInACLGroup ("user."..accName, aclGetGroup ( "UBER" ) ) then
			aclGroupAddObject (aclGetGroup("UBER"), "user."..accName)
		else
			outputChatBox ("Error", playerSource, 0, 255, 0,true)
		end
	end	
end
addEvent("DNL:Pegar_Emprego", true)
addEventHandler("DNL:Pegar_Emprego", root, Dar_ACL)

function Sair_ACL (playerSource)
    local accName = getAccountName ( getPlayerAccount ( playerSource ) )
    if isObjectInACLGroup ("user."..accName, aclGetGroup ( "UBER" ) ) then
        aclGroupRemoveObject (aclGetGroup("UBER"), "user."..accName)
        outputChatBox ("Você não está trabalhando de UBER!", playerSource, 0, 255, 0,true)
    end
end
addEvent("DNL:Pedir_Demissao", true)
addEventHandler("DNL:Pedir_Demissao", root, Sair_ACL)

daquela forma antes quando clicava em pegar emprego mesmo sem lvl suficiente movia para acl, tentei fazer com checagem de emprego pra dar a acl, mas não funcionou tbm

Link to comment

se eu quiser fazer para que se o emprego for de uber na hora de selecionar no script da agencia seria desta forma?

 

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  
    local accName = getAccountName ( getPlayerAccount ( source ) )	
	if Level_Player >= tonumber(Level) then 
		if Trabalho == Trab then triggerClientEvent(source, "addNotification", root, "INFO: Você Já Trabalha Como "..Trab.."", "info") return end
		if Habilicao == false then triggerClientEvent(source, "addNotification", root, "Erro: Você Não Tem Habilitação ("..Hab..") e Não Pode Trabalhar Como ("..Trab..")", "erro") return end
		setElementData ( source, "Emprego", Trab )
		triggerClientEvent(source, "addNotification", root, "INFO: Você Agora Trabalha de "..Trab.."", "info")
		if Trabalho == "uber" then
		aclGroupAddObject (aclGetGroup("UBER"), "user."..accName)
		end
	else
		triggerClientEvent(source, "addNotification", root, "Erro: Seu Level é Muito Baixo e Você Não Pode Trabalhar Como "..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, "Erro: Você não está empregado para se demitir.", "erro") return end
	setElementData ( source, "Emprego", "Desempregado" )
	triggerClientEvent(source, "addNotification", root, "Sucesso: Você Se Demitiu Do Emprego de "..Trabalho.."", "sucesso")
end
addEvent("DNL:Pedir_Demissao", true)
addEventHandler("DNL:Pedir_Demissao", root, Pedir_Demissao)

 

Edited by Looktovask
Link to comment

resolvido, muito obrigado a todos

script final

 

function Pegar_Emprego (playerSource)
    local accName = getAccountName ( getPlayerAccount ( playerSource ) ) -- get his account name
	local Emprego = getElementData ( playerSource, "Emprego" )
	if Emprego == "Uber" then
        aclGroupAddObject (aclGetGroup("UBER"), "user."..accName)
        outputChatBox ("Parabéns! Agora você está trabalhando de UBER!", playerSource, 0, 255, 0,true)
    end
end
addEvent("DNL:Pegar_Emprego", true)
addEventHandler("DNL:Pegar_Emprego", root, Pegar_Emprego)

function Sair_ACL (playerSource)
    local accName = getAccountName ( getPlayerAccount ( playerSource ) ) -- get his account name
    if isObjectInACLGroup ("user."..accName, aclGetGroup ( "UBER" ) ) then -- Does he have access to Admin functions?
        aclGroupRemoveObject (aclGetGroup("UBER"), "user."..accName)
        outputChatBox ("Você não está trabalhando de UBER!", playerSource, 0, 255, 0,true)
    end
end
addEvent("DNL:Pedir_Demissao", true)
addEventHandler("DNL:Pedir_Demissao", root, Sair_ACL)

 

  • Thanks 1
Link to comment
7 hours ago, Looktovask said:

resolvido, muito obrigado a todos

script final

 


function Pegar_Emprego (playerSource)
    local accName = getAccountName ( getPlayerAccount ( playerSource ) ) -- get his account name
	local Emprego = getElementData ( playerSource, "Emprego" )
	if Emprego == "Uber" then
        aclGroupAddObject (aclGetGroup("UBER"), "user."..accName)
        outputChatBox ("Parabéns! Agora você está trabalhando de UBER!", playerSource, 0, 255, 0,true)
    end
end
addEvent("DNL:Pegar_Emprego", true)
addEventHandler("DNL:Pegar_Emprego", root, Pegar_Emprego)

function Sair_ACL (playerSource)
    local accName = getAccountName ( getPlayerAccount ( playerSource ) ) -- get his account name
    if isObjectInACLGroup ("user."..accName, aclGetGroup ( "UBER" ) ) then -- Does he have access to Admin functions?
        aclGroupRemoveObject (aclGetGroup("UBER"), "user."..accName)
        outputChatBox ("Você não está trabalhando de UBER!", playerSource, 0, 255, 0,true)
    end
end
addEvent("DNL:Pedir_Demissao", true)
addEventHandler("DNL:Pedir_Demissao", root, Sair_ACL)

 

Recomendo que use setAccountData em vez de ACL, é mais leve pro seu servidor e fácil de trabalhar.

 

function Pegar_Emprego (playerSource)
    local account = getPlayerAccount ( playerSource )
    if not getAccountData (account, 'Emprego', 'UBER') then
        setAccountData (account, 'Emprego', 'UBER' )
        outputChatBox ("Parabéns! Agora você está trabalhando de UBER!", playerSource, 0, 255, 0,true)
    else
		outputChatBox ("Você já está trabalhando de UBER!", playerSource, 0, 255, 0,true)
	end
end
addEvent("DNL:Pegar_Emprego", true)
addEventHandler("DNL:Pegar_Emprego", root, Pegar_Emprego)

function Sair_ACL (playerSource)
    local account = getPlayerAccount ( playerSource )
    if getAccountData (account, 'Emprego', 'UBER') then
        setAccountData (account, 'Emprego', nil)
		outputChatBox ("Você se demitiu do emprego de UBER!", playerSource, 0, 255, 0,true)
	else
        outputChatBox ("Você não está trabalhando de UBER!", playerSource, 0, 255, 0,true)
    end
end
addEvent("DNL:Pedir_Demissao", true)
addEventHandler("DNL:Pedir_Demissao", root, Sair_ACL)
  • Thanks 1
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...