dener189

[Ajude-Me] Adicionar Player a ACL Group

Recommended Posts

Posted (edited)

Olá pessoal da comunidade PT/BR do MTA, estou com uma duvida. Tenho um script de entregador de jornais, queria saber se consigo fazer que o player entre em um grupo da ACL "Entregador de Jornal" quando ele acabar de ingressar na profissão e ele for removido ao pedir demissão?

 

Client

--[[



 ################################################
 #                                              #
 #              Script Criado Por               #
 #           FACEBOOK.COM/AIRNEWSCR             #
 #                                              #
 #                                              #
 ################################################



--]]

--------------------------------------------------------------------

local screenW,screenH = guiGetScreenSize()
local resW, resH = 1366,768
local x, y = (screenW/resW), (screenH/resH)

--------------------------------------------------------------------

function Window(rnames)
  if isElement(myWindow) then return end
  local screenW, screenH = guiGetScreenSize()
	
  myWindow = guiCreateWindow((screenW - x*485) / 2, (screenH - y*404) / 2, x*485, y*404, "Rotas", false)
  rotas = guiCreateGridList(x*40, y*40, x*405, y*275, false, myWindow)
  guiWindowSetSizable(myWindow, false)
  guiSetAlpha(rotas, x*0.70)
  guiGridListAddColumn( rotas, "Rotas", x*0.85 )
	
  for k,v in pairs(rnames) do
   row =  guiGridListAddRow ( rotas )
   guiGridListSetItemText ( rotas, row, 1,  tostring(k), false, false )
  end
	
  showCursor(true)
	
  fechar = guiCreateButton(x*275, y*334, x*168, y*35, "Fechar", false, myWindow)
  escolher = guiCreateButton(x*42, y*334, x*168, y*35, "Carregar", false, myWindow)
end
addEvent("AirNew>JOBEntregadorDeJornal>AbrirPainel<Client", true)
addEventHandler("AirNew>JOBEntregadorDeJornal>AbrirPainel<Client", localPlayer, Window)

function botoes(bt,state)
	if state == "up" and bt == "left" then
		if source == fechar then
			if isElement(myWindow) then
				destroyElement(myWindow)
				showCursor(false)
			end
		end
		if source == escolher then
			local selectedItemx = guiGridListGetSelectedItem(rotas)
			local nome = guiGridListGetItemText(rotas, selectedItemx, 1)
			if nome == nil then outputChatBox("#00FF73[HR] #ffffffSelecione Uma Rota",255,255,255,true) return end
			triggerServerEvent("AirNew>request>Startrota>Server>EntregadorDeJornal",localPlayer,localPlayer,nome)	
			if isElement(myWindow) then
				destroyElement(myWindow)
				showCursor(false)
			end			
		end
	end
end
addEventHandler("onClientGUIClick", root,botoes)


function blips(state,x,y,z)
	if state == true then
		if not isElement(blips) then
			blips = createBlip ( x, y, z, 0)
		end
	else
		if isElement(blips) then
			destroyElement(blips)
		end	
	end
end
addEvent("AirNew>JOBEntregadorDeJornal>blips<Client", true)
addEventHandler("AirNew>JOBEntregadorDeJornal>blips<Client", localPlayer, blips)

function DesligarAntiQuedaBike ()  
 setPedCanBeKnockedOffBike ( localPlayer, true )
end
addEvent( "Desligar:AntiQueda", true )
addEventHandler( "Desligar:AntiQueda", localPlayer, DesligarAntiQuedaBike )

function LigarAntiQuedaBike ()  
 setPedCanBeKnockedOffBike ( localPlayer, false )
end
addEvent( "Ligar:AntiQueda", true )
addEventHandler( "Ligar:AntiQueda", localPlayer, LigarAntiQuedaBike )

Server

MarkerSafeEntregadorDeJornal = createMarker( 765.68848, -1355.44495, 13.52570, "cylinder", 35, 0, 255, 0, 0)

EntregadorDeJornalPickup = createPickup ( 783.27710, -1327.66260, 13.54688, 3, 1210)
MarkerEntregadorDeJornal = createMarker ( 783.27710, -1327.66260, 13.54688, "cylinder", 1.2, 255, 255, 255, 0 )
attachElements ( MarkerEntregadorDeJornal, EntregadorDeJornalPickup, 0, 0, -1 )

function CancelarSumirPickup ( player )
   cancelEvent()
end
addEventHandler ( "onPickupHit", EntregadorDeJornalPickup, CancelarSumirPickup )

LetraParaMarkers = "k"
cmd1 = "hq"
cmd2 = "profissao"

local HQEntregadorDeJornalBlip = createBlip ( 783.27710, -1327.66260, 13.54688 )
setElementVisibleTo ( HQEntregadorDeJornalBlip, root, false )

--------------------------------------------------------------------

function VerificarBlipEmprego(player)
  if player then
  acc = getPlayerAccount ( player )
  if isGuestAccount ( acc ) then return end
  setElementVisibleTo ( HQEntregadorDeJornalBlip, player, false )
  end
end

setTimer(
function()
	for i, pl in pairs(getElementsByType("player")) do
		if pl ~= (false or nil) then
		    if getElementData ( pl, "Emprego" ) == "Entregador de Jornal" then return end
			   VerificarBlipEmprego(pl)
		end
	end
end,
3000,0)

--------------------------------------------------------------------

function ComandoHQ ( source )
    if getElementData ( source, "Emprego" ) == "Entregador de Jornal" then
	if isElementVisibleTo ( HQEntregadorDeJornalBlip, source ) then
	setElementVisibleTo ( HQEntregadorDeJornalBlip, source, false )
	exports.Scripts_Dxmessages:outputDx(source, "Seu Local de Trabalho foi Desmarcado do Mapa!", "info")
	else
	setElementVisibleTo ( HQEntregadorDeJornalBlip, source, true )
	exports.Scripts_Dxmessages:outputDx(source, "Seu Local de Trabalho foi Marcado no Mapa!", "info")
end
end	
end    
addCommandHandler ( cmd1, ComandoHQ )

--------------------------------------------------------------------

function AceitarEmprego02 (source)
exports.Scripts_OnMarkerMsgs_:delete(source)
unbindKey ( source, LetraParaMarkers, "down", AceitarEmprego02 )
if getElementData ( source, "AirNew>Encaminhamento" ) == "Entregador de Jornal" then
setElementData ( source, "AirNew>Encaminhamento", false )
setElementData ( source, "Emprego", "Entregador de Jornal" )
exports.Scripts_Dxmessages:outputDx(source, "Você Agora Trabalha de Entregador de Jornal, Para Mais Informações Digite ( /Profissao )", "success")
else
exports.Scripts_Dxmessages:outputDx(source, "Você Precisa Estar Encaminhado da Agencia de Empregos para Trabalhar neste Local!", "error")
end
end

function RecusarEmprego02 (source)
exports.Scripts_OnMarkerMsgs_:delete(source)
unbindKey ( source, LetraParaMarkers, "down", RecusarEmprego02 )
if isElementVisibleTo ( HQEntregadorDeJornalBlip, source ) then
setElementVisibleTo ( HQEntregadorDeJornalBlip, source, false )
end
removeElementData ( source, "Emprego", "Entregador de Jornal" )
exports.Scripts_Dxmessages:outputDx(source, "Você se Demitiu do Emprego de Entregador de Jornal com Sucesso!", "warning")
end

--------------------------------------------------------------------

function ComandosProf ( ThePlayer )
if getElementData ( ThePlayer, "Emprego" ) == "Entregador de Jornal" then
playSoundFrontEnd ( ThePlayer, 43 )
outputChatBox ( "#F9A631~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #F96031Profissão #F9A631~~~~~~~~~~~~~~~~~~~~~~~~~~~~", ThePlayer, 255, 255, 255, true )
outputChatBox ( "#F96031» #BEE09AComandos da Profissão de Entregador de Jornal", ThePlayer, 255, 255, 255, true )
outputChatBox ( "#F96031» #55D444/HQ #ffffff- #9ABDE0Para Marcar / Desmarcar o seu Local de Trabalho", ThePlayer, 255, 255, 255, true )
outputChatBox ( "#F96031» #55D444/Rotas #ffffff- #9ABDE0Abre a Lista de Rotas Disponiveis Para Trabalhar", ThePlayer, 255, 255, 255, true )
outputChatBox ( "#F96031» #FFD700Entre na Lambreta e Digite /Rotas Selecione uma Rota e Siga os Checkpoints!", ThePlayer, 255, 255, 255, true )
outputChatBox ( "#F9A631~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #F96031Profissão #F9A631~~~~~~~~~~~~~~~~~~~~~~~~~~~~", ThePlayer, 255, 255, 255, true )
end
end
addCommandHandler(cmd2, ComandosProf )

--------------------------------------------------------------------


function emarker(marker,md) 
	if (md) then
	  if isPedInVehicle ( source ) then return end
		if marker == MarkerEntregadorDeJornal then
		    if getElementData ( source, "Emprego" ) == "Entregador de Jornal" then
			exports.Scripts_OnMarkerMsgs_:create(source,"Aperte 'K' Para se Demitir do Emprego de Entregador de Jornal")
			bindKey ( source, LetraParaMarkers, "down", RecusarEmprego02 )
		else
			exports.Scripts_OnMarkerMsgs_:create(source,"Aperte 'K' Para Aceitar o Emprego de Entregador de Jornal")
			bindKey ( source, LetraParaMarkers, "down", AceitarEmprego02 )
		end
	 end
  end	
end
addEventHandler("onPlayerMarkerHit",getRootElement(),emarker)

function lmarker(marker,md)
	if (md) then
		if marker == MarkerEntregadorDeJornal then
			exports.Scripts_OnMarkerMsgs_:delete(source)			
			unbindKey ( source, LetraParaMarkers, "down", AceitarEmprego02 )
			unbindKey ( source, LetraParaMarkers, "down", RecusarEmprego02 )
		end
	end
end
addEventHandler("onPlayerMarkerLeave",getRootElement(),lmarker)

function CriarVeiculosComData ()
VeiculosComDataEntregadorDeJornal = {
createVehicle(462, 785.55151, -1332.39575 -0, 13.54213, 0, 0, 90 ),
createVehicle(462, 785.55151, -1332.39575 -2, 13.54213, 0, 0, 90 ),
createVehicle(462, 785.55151, -1332.39575 -4, 13.54213, 0, 0, 90 ),
createVehicle(462, 785.55151, -1332.39575 -6, 13.54213, 0, 0, 90 ),
createVehicle(462, 785.55151, -1332.39575 -8, 13.54213, 0, 0, 90 ),
createVehicle(462, 785.55151, -1332.39575 -10, 13.54213, 0, 0, 90 ),
createVehicle(462, 785.55151, -1332.39575 -12, 13.54213, 0, 0, 90 ),
createVehicle(462, 785.55151, -1332.39575 -14, 13.54213, 0, 0, 90 ),
createVehicle(462, 785.55151, -1332.39575 -16, 13.54213, 0, 0, 90 ),
createVehicle(462, 785.55151, -1332.39575 -18, 13.54213, 0, 0, 90 ),
}

for i, veh in ipairs(VeiculosComDataEntregadorDeJornal) do
setElementData ( veh, "Emprego", "Entregador de Jornal" )
setVehicleDamageProof(veh,true)
setVehicleColor( veh, 0, 0, 0 )
setVehiclePlateText ( veh, "RPGAMING" )
addEventHandler("onVehicleStartEnter", veh, VerificarEmprego )
--addEventHandler("onVehicleExit", veh, SairDoVeiculosComData )
local tx, ty, tz = getElementPosition(veh)
local rx, ry, rz = getElementRotation(veh)
setVehicleRespawnPosition(veh, tx, ty, tz, rx, ry, rz)
end
end
addEventHandler("onResourceStart", resourceRoot, CriarVeiculosComData )

function VerificarEmprego (thePlayer, seat)
local Jogador = getElementData(thePlayer, "Emprego" )
if seat == 0 then
    if Jogador == "Entregador de Jornal" then	
	else
    cancelEvent()
    exports.Scripts_Dxmessages:outputDx(thePlayer, "Esse Veiculo é Exclusivo dos Entregadores de Jornal!", "error")
    end
  end
end

--[[function SairDoVeiculosComData ()
local veh = source
setTimer(function()
  if getVehicleOccupant(veh) == false then
respawnVehicle(veh)
end
end, 30000, 1)
end
addEventHandler ( "onPlayerQuit", getRootElement(), SairDoVeiculosComData ) --]]

--------------------------------------------------------------------

local rElement = getRootElement() 
  
function respawnVehicles(player, seconds)
    for i, veh in ipairs(VeiculosComDataEntregadorDeJornal) do
        if isEmpty( veh ) then 
                respawnVehicle ( veh ) 
            end 
        end 
    end
setTimer(respawnVehicles, 10000,0)

function isEmpty( vehicle ) 
    local passengers = getVehicleMaxPassengers( vehicle ) 
    if type( passengers ) == 'number' then 
        for seat = 0, passengers do 
            if getVehicleOccupant( vehicle, seat ) then 
                return false 
            end 
        end 
    end 
    return true 
end

--------------------------------------------------------------------

atualrotnumberJORNAL = {}
ppcikJORNAL = {}
blips = {}

rotasJORNAL = {
	["Entregas de Jornais - Los Santos (1) - 20 Entregas - $670"] = {
		{993.64386, -1050.08850, 30.72189},
		{1051.22083, -1049.50073, 31.70257},
		{1117.78308, -1030.55933, 31.88287},
		{1190.73914, -1027.36011, 32.35918},
		{1466.25684, -1172.65686, 23.88302},
		{1673.56787, -1169.50952, 23.92861},
		{1791.41406, -1164.77539, 23.82813},
		{2095.31763, -1292.43701, 23.97214},
		{2150.26270, -1291.66003, 23.97753},
		{2352.69019, -1513.26306, 24.00000},
		{2561.87158, -1467.34753, 24.01236},
		{2756.12573, -1180.33130, 69.39844},
		{2863.57446, -1440.18982, 10.95315},
		{2507.24414, -1725.65881, 13.54688},
		{2390.33276, -1721.86511, 13.58705},
		{2228.38867, -1722.77356, 13.55438},
		{2175, -1742, 13.55438},
		{2072.61230, -1793.96008, 13.54688},
		{1871.15784, -1923.91858, 13.54688},
		{1352.39136, -1758.33508, 13.50781},
	},
	["Entregas de Jornais - Los Santos (2) - 20 Entregas - $750"] = {
		{823.93018, -1413.86011, 13.46503},
		{909.32098, -1504.01135, 13.54223},
		{797.72333, -1580.37390, 13.54688},
		{645.75140, -1694.06555, 14.89330},
		{422.36475, -1758.63403, 8.18526},
		{305.55188, -1771.70020, 4.54249},
		{168.62589, -1770.10681, 4.43438},
		{138.38370, -1460.07129, 25.62103},
		{169.82892, -1348.34363, 69.36220},
		{280.87973, -1320.37817, 53.81308},
		{543.01135, -1202.30334, 44.50127},
		{562.19452, -1060.57458, 74.59800},
		{782.98035, -808.70764, 65.19865},
		{908.08984, -684.05566, 116.23006},
		{1091.30396, -627.89929, 111.38203},
		{1280.77197, -614.80652, 102.93521},
		{1437.30725, -935.30865, 36.26117},
		{1335.64368, -1066.11133, 27.87136},
		{1144.98792, -1131.54431, 23.82813},
		{1022.52026, -1122.13037, 23.87152},
	},
}

pay = {
	["Entregas de Jornais - Los Santos (1) - 20 Entregas - $670"] = 670,
	["Entregas de Jornais - Los Santos (2) - 20 Entregas - $750"] = 750,
}

function ifPlayerEnterOnMarker(markerHit,matchingDimension)
	if isPedInVehicle(source) then
		if markerHit == ppcikJORNAL[source] then
			if (matchingDimension) then
				if isElement(ppcikJORNAL[source]) then
					local rname = getElementData(source,"rtnameJornal") or nil
					if rname == nil then return end
					destroyElement(ppcikJORNAL[source])
					triggerClientEvent(source,"AirNew>JOBEntregadorDeJornal>blips<Client",source,false)
					local vh = getPedOccupiedVehicle(source)
					
					toggleAllControls ( source, false )
					setControlState ( source, "handbrake", true )
					
					if atualrotnumberJORNAL[source] <= #rotasJORNAL[rname] then
					    exports.Scripts_Dxmessages:outputDx(source, "Entregando Jornais... Aguarde 2 Segundos!", "info")
						setTimer(gerarrota,2500,1,source)
						setTimer(function(source) exports.Scripts_Dxmessages:outputDx(source, "Jornais Entregues, Siga Para o Proximo Checkpoint!", "success") end,2500,1,source)
					elseif atualrotnumberJORNAL[source] == #rotasJORNAL[rname]+1 then
						setElementData(source,"rtnameJornal",rname)
						atualrotnumberJORNAL[source] = 1
						local rec = pay[rname]
						givePlayerMoney(source,tonumber(rec))	
						local vh = getPedOccupiedVehicle(source)
						setTimer(function(source) exports.Scripts_Dxmessages:outputDx(source, "Você Recebeu um Valor de $"..rec.." Por Finalizar as Entregas de Jornais!", "success") end,2500,1,source)
						setTimer(function(source) toggleAllControls ( source, true ) end, 2500,1, source )
						setTimer(function(source) setControlState ( source, "handbrake", false ) end, 2500,1, source )
						setElementData(source,"rtnameJornal",nil)	
					end

					
				end

			end	
		end
	end
end
addEventHandler("onPlayerMarkerHit",getRootElement(),ifPlayerEnterOnMarker)

--------------------------------------------------------------------

function VerificarCairBike(player)
  if player then
  acc = getPlayerAccount ( player )
  if isGuestAccount ( acc ) then return end
  local rname = getElementData(player,"rtnameJornal") or nil
  if rname == nil then
  triggerClientEvent ( "Desligar:AntiQueda", player )
  else
  triggerClientEvent ( "Ligar:AntiQueda", player )
  end
 end		
end

setTimer(
function()
	for i, pl in pairs(getElementsByType("player")) do
		if pl ~= (false or nil) then
		    if getElementData ( pl, "Emprego" ) == "Entregador de Jornal" then
			   VerificarCairBike(pl)
			end
		end
	end
end,
3000,0)

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

function pickjobJornal(source)
	if not isElement(source) then return end
	local im = isPedInVehicle(source)
	if im == false then return end	
	local job = getElementData(source,"Emprego") or false
	if job == "Entregador de Jornal" then
	local vh = getPedOccupiedVehicle(source)
	if isElement(vh) then
		local x,y = getElementPosition(vh)
		local x1,y1 = getElementPosition(source)
		local dist = getDistanceBetweenPoints2D(x,y,x1,y1)
		local isMarkerSafe = isElementWithinMarker(vh,MarkerSafeEntregadorDeJornal)
		local id = getElementModel(vh)
		local seat = getPedOccupiedVehicleSeat(source)
		if dist > 0 then return end
		if id == 462 then		
			if seat == 0 then
				if isMarkerSafe == false then return end
				triggerClientEvent(source,"AirNew>JOBEntregadorDeJornal>AbrirPainel<Client",source,rotasJORNAL)
			end
		end
	end
end
end
addCommandHandler("rotas",pickjobJornal)

function receivert(source,rotaname)
	if isElement(ppcikJORNAL[source]) then
		destroyElement(ppcikJORNAL[source])
	end	
	triggerClientEvent(source,"AirNew>JOBEntregadorDeJornal>blips<Client",source,false)
	setElementData(source,"rtnameJornal",rotaname)
	atualrotnumberJORNAL[source] = 1
	gerarrota(source)
end
addEvent("AirNew>request>Startrota>Server>EntregadorDeJornal", true)
addEventHandler("AirNew>request>Startrota>Server>EntregadorDeJornal",getRootElement(), receivert)

function gerarrota(source)
	local rname = getElementData(source,"rtnameJornal") or nil
	if rname == nil then return end
	if not isElement(ppcikJORNAL[source]) and isPedInVehicle(source) then
		local vh = getPedOccupiedVehicle(source)
		toggleAllControls ( source, true )
		setControlState ( source, "handbrake", false )
		local id = tonumber(atualrotnumberJORNAL[source])
		local x,y,z = rotasJORNAL[rname][id][1],rotasJORNAL[rname][id][2],rotasJORNAL[rname][id][3]
		ppcikJORNAL[source] = createMarker (x, y,z, "checkpoint", 4, 255, 0, 0, 50,source)
		triggerClientEvent(source,"AirNew>JOBEntregadorDeJornal>blips<Client",source,true,x,y,z)
		atualrotnumberJORNAL[source] = id+1
	end
end

function sair ( quitType )
	if isElement(ppcikJORNAL[source]) then
		destroyElement(ppcikJORNAL[source])
	end
end
addEventHandler ( "onPlayerQuit", getRootElement(), sair )

function SairDaBike ( thePlayer, seat, jacked )
   local rname = getElementData(thePlayer,"rtnameJornal") or nil
   if rname == nil then return end
   canceljobtimer (thePlayer)
   exports.Scripts_Dxmessages:outputDx(thePlayer, "Você saiu da Lambreta, e suas entregas foram canceladas!", "warning")
end
addEventHandler ( "onVehicleExit", getRootElement(), SairDaBike )

function canceljobtimer(source)
	if isElement(ppcikJORNAL[source]) then
		destroyElement(ppcikJORNAL[source])
	end	
	triggerClientEvent(source,"AirNew>JOBEntregadorDeJornal>blips<Client",source,false)	
	atualrotnumberJORNAL[source] = 1
	setElementData(source,"rtnameJornal",nil)	
end

function canceljobdeath()
	local job = getElementData(source,"Emprego") or false
	if job ~= "Entregador de Jornal" then return end
	local rname = getElementData(source,"rtnameJornal") or nil
	if rname == nil then return end
	canceljobtimer(source)
	exports.Scripts_Dxmessages:outputDx(source, "Você Morreu e Suas Entregas Foram Canceladas!", "warning")
end	
addEventHandler( "onPlayerWasted", getRootElement( ),canceljobdeath)

 

Edited by dener189

Share this post


Link to post
22 hours ago, Jonas^ said:

Código bem mal feito....

Respondendo sua dúvida, este tópico ira te ajudar: Clique Aqui

By AirNews SCR kkkk

  • Haha 1

Share this post


Link to post
On 25/08/2019 at 19:09, Jonas^ said:

Código bem mal feito....

Respondendo sua dúvida, este tópico ira te ajudar: Clique Aqui

Oque fiz de errado? KKKKKKKK

Server:

function AceitarEmprego02 (source)
exports.Scripts_OnMarkerMsgs_:delete(source)
unbindKey ( source, LetraParaMarkers, "down", AceitarEmprego02 )
if getElementData ( source, "AirNew>Encaminhamento" ) == "Entregador de Jornal" then
setElementData ( source, "AirNew>Encaminhamento", false )
setElementData ( source, "Emprego", "Entregador de Jornal" )
exports.Scripts_Dxmessages:outputDx(source, "Você Agora Trabalha de Entregador de Jornal, Para Mais Informações Digite ( /Profissao )", "success")
triggerServerEvent ("onRequestPegarEmprego", localPlayer, "pegarEmprego")
else
exports.Scripts_Dxmessages:outputDx(source, "Você Precisa Estar Encaminhado da Agencia de Empregos para Trabalhar neste Local!", "error")
end
end

function confirmTrampo (type, join, leave)
    if (type == "pegarEmprego") then -- Se a string enviada pelo client for "pegarEmprego", então:
        if (isObjectInACLGroup ("user."..getAccountName (getPlayerAccount (client)), aclGetGroup("Entregador"))) then -- Se o jogador já estiver na acl "Mecanico", então:
        else -- Senão:
            aclGroupAddObject (aclGetGroup("Entregador"), "user."..getAccountName (getPlayerAccount (client))) -- Coloca o jogador na acl "Mecanico".
        end
    end
end
addEvent ("onRequestPegarEmprego", true)
addEventHandler ("onRequestPegarEmprego", root, confirmTrampo)

function RecusarEmprego02 (source)
exports.Scripts_OnMarkerMsgs_:delete(source)
unbindKey ( source, LetraParaMarkers, "down", RecusarEmprego02 )
if isElementVisibleTo ( HQEntregadorDeJornalBlip, source ) then
setElementVisibleTo ( HQEntregadorDeJornalBlip, source, false )
end
removeElementData ( source, "Emprego", "Entregador de Jornal" )
triggerServerEvent ("onRequestSairEmprego", localPlayer, "sairEmprego")
exports.Scripts_Dxmessages:outputDx(source, "Você se Demitiu do Emprego de Entregador de Jornal com Sucesso!", "warning")
end

function sairTrampo (type, join, leave)
    if (type == "sairEmprego") then -- Se a string enviada pelo client for "sairEmprego", então:
        if (isObjectInACLGroup ("user."..getAccountName (getPlayerAccount (client)), aclGetGroup("Entregador"))) then -- Se o jogador estiver na acl "Mecanico", então:
            aclGroupRemoveObject (aclGetGroup("Entregador"), "user."..getAccountName (getPlayerAccount (client))) -- Remove o jogador da acl "Mecanico".
        else
        end
    end
end
addEvent ("onRequestSairEmprego", true)
addEventHandler ("onRequestSairEmprego", root, sairTrampo)

 

Share this post


Link to post

Qual dificuldade de pelo menos tentar fazer? não só dar ctrl c + v.

 

function AceitarEmprego02 (source)
	exports.Scripts_OnMarkerMsgs_:delete (source)
	unbindKey (source, LetraParaMarkers, "down", AceitarEmprego02)
	if not isObjectInACLGroup ("user."..getAccountName (getPlayerAccount (source)), aclGetGroup("Entregador")) then -- Se o jogador não estiver na acl "Entregador", então:
		aclGroupAddObject (aclGetGroup("Entregador"), "user."..getAccountName (getPlayerAccount (source))) -- Adiciona ele na acl "Entregador".
		if getElementData (source, "AirNew>Encaminhamento") == "Entregador de Jornal" then
			setElementData (source, "AirNew>Encaminhamento", false)
			setElementData (source, "Emprego", "Entregador de Jornal")
			exports.Scripts_Dxmessages:outputDx (source, "Você Agora Trabalha de Entregador de Jornal, Para Mais Informações Digite ( /Profissao )", "success")
		else
			exports.Scripts_Dxmessages:outputDx (source, "Você Precisa Estar Encaminhado da Agencia de Empregos para Trabalhar neste Local!", "error")
		end
	end
end	

function RecusarEmprego02 (source)
	exports.Scripts_OnMarkerMsgs_:delete (source)
	unbindKey (source, LetraParaMarkers, "down", RecusarEmprego02)
	if isObjectInACLGroup ("user."..getAccountName (getPlayerAccount (source)), aclGetGroup("Entregador")) then -- Se o jogador já estiver na acl "Entregador", então:
		aclGroupRemoveObject (aclGetGroup("Entregador"), "user."..getAccountName (getPlayerAccount (source))) -- Remove ele da acl "Entregador".
		if isElementVisibleTo (HQEntregadorDeJornalBlip, source) then
			setElementVisibleTo (HQEntregadorDeJornalBlip, source, false)
		end
		removeElementData (source, "Emprego", "Entregador de Jornal")
		exports.Scripts_Dxmessages:outputDx(source, "Você se Demitiu do Emprego de Entregador de Jornal com Sucesso!", "warning")
	end
end

Troque as duas funções do seu código por essas, digite /debugscript 3 quando for testar, poste resultados.

  • Thanks 1

Share this post


Link to post
4 hours ago, Jonas^ said:

Qual dificuldade de pelo menos tentar fazer? não só dar ctrl c + v.

 


function AceitarEmprego02 (source)	exports.Scripts_OnMarkerMsgs_:delete (source)	unbindKey (source, LetraParaMarkers, "down", AceitarEmprego02)	if not isObjectInACLGroup ("user."..getAccountName (getPlayerAccount (source)), aclGetGroup("Entregador")) then -- Se o jogador não estiver na acl "Entregador", então:		aclGroupAddObject (aclGetGroup("Entregador"), "user."..getAccountName (getPlayerAccount (source))) -- Adiciona ele na acl "Entregador".		if getElementData (source, "AirNew>Encaminhamento") == "Entregador de Jornal" then			setElementData (source, "AirNew>Encaminhamento", false)			setElementData (source, "Emprego", "Entregador de Jornal")			exports.Scripts_Dxmessages:outputDx (source, "Você Agora Trabalha de Entregador de Jornal, Para Mais Informações Digite ( /Profissao )", "success")		else			exports.Scripts_Dxmessages:outputDx (source, "Você Precisa Estar Encaminhado da Agencia de Empregos para Trabalhar neste Local!", "error")		end	endend	function RecusarEmprego02 (source)	exports.Scripts_OnMarkerMsgs_:delete (source)	unbindKey (source, LetraParaMarkers, "down", RecusarEmprego02)	if isObjectInACLGroup ("user."..getAccountName (getPlayerAccount (source)), aclGetGroup("Entregador")) then -- Se o jogador já estiver na acl "Entregador", então:		aclGroupRemoveObject (aclGetGroup("Entregador"), "user."..getAccountName (getPlayerAccount (source))) -- Remove ele da acl "Entregador".		if isElementVisibleTo (HQEntregadorDeJornalBlip, source) then			setElementVisibleTo (HQEntregadorDeJornalBlip, source, false)		end		removeElementData (source, "Emprego", "Entregador de Jornal")		exports.Scripts_Dxmessages:outputDx(source, "Você se Demitiu do Emprego de Entregador de Jornal com Sucesso!", "warning")	endend

Troque as duas funções do seu código por essas, digite /debugscript 3 quando for testar, poste resultados.

Desculpe por apenas copiar e colar, estava com pressa e apenas queria ver se assim seria eficaz. Essas linhas estão perfeitas, funcionou certinho ❤️ 

Share this post


Link to post
4 minutes ago, dener189 said:

Desculpe por apenas copiar e colar, estava com pressa e apenas queria ver se assim seria eficaz. Essas linhas estão perfeitas, funcionou certinho ❤️ 

Só não esqueça de corrigir a primeira função, primeiro deve ser a verificação da data, desta forma:

function AceitarEmprego02 (source)
	exports.Scripts_OnMarkerMsgs_:delete (source)
	unbindKey (source, LetraParaMarkers, "down", AceitarEmprego02)
	if getElementData (source, "AirNew>Encaminhamento") == "Entregador de Jornal" then
		setElementData (source, "AirNew>Encaminhamento", false)
		setElementData (source, "Emprego", "Entregador de Jornal")
		exports.Scripts_Dxmessages:outputDx (source, "Você Agora Trabalha de Entregador de Jornal, Para Mais Informações Digite ( /Profissao )", "success")
	else
		exports.Scripts_Dxmessages:outputDx (source, "Você Precisa Estar Encaminhado da Agencia de Empregos para Trabalhar neste Local!", "error")
	end
	if not isObjectInACLGroup ("user."..getAccountName (getPlayerAccount (source)), aclGetGroup("Entregador")) then -- Se o jogador não estiver na acl "Entregador", então:
		aclGroupAddObject (aclGetGroup("Entregador"), "user."..getAccountName (getPlayerAccount (source))) -- Adiciona ele na acl "Entregador".
	end
end

 

Share this post


Link to post

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.