Jump to content

Ajuda Painel Policial


Recommended Posts

Olá pessoal tou a usar um painel policial que tem aquela opção de colocar o player na viatura, acontece que também deixa colocar na viatura o player que esta a executar o comando do painel ou seja o policial permitindo assim bugar a opção caso o player morra so usar essa opção e é teleportado para a vtr , então eu queria basicamente que o player que desse o comando (policial) não pudesse se colocar a si proprio na vtr 

Se alguém conseguir ajudar agradecia!

Vou deixar o código dessa opção 

Mas acho que resolveria se não deixasse abrir o painel no proprio ID supondo que sou policial e sou id 1 se der /policial 1 aparecer uma msg erro a dizer que nao posso  usar o painel em mim

vou deixar o cdigo do comando em baixo também!

[CODIGO DA OPÇÃO]

addEventHandler("Player.onViatura", root,
    function()
        local receiver = getElementData(source, "ReceiverPM")
        local vtr      = carros[source]
        if (receiver) and (vtr) then
            local vrx, vry, vrz = getElementRotation(vtr)
            local px, py, pz    = getElementPosition(vtr)
            if not getElementData(receiver, "NaViatura") then
                if not isPedInVehicle(receiver) then
                    setElementData(receiver, "NaViatura", true)
                    message(source, "O jogador foi colocado na viatura.", "success")
                    message(receiver, "Você foi colocado na viatura!", "info")

                    attachElements(receiver, vtr, 0.2, -1.5, 0, 0,0,90)
                    setPedAnimation(receiver, 'ped','CAR_dead_LHS')
                    setElementRotation(receiver, vrx, vry, vrz + 83)
                end
            else
                setElementData(receiver, "NaViatura", nil)
                message(source, "O jogador foi retirado da viatura.", "success")
                message(receiver, "Você foi retirado da viatura!", "info")

                detachElements(receiver, getElementAttachedTo(receiver))
                setElementPosition(receiver, px + 2, py + 2, pz)
                setPedAnimation(receiver)
            end
		else
		message(source, "Voce nao pode colocar-se a si mesmo na viatura!", "error")
        end
    end
)

[CODIGO DO COMANDO]

local comando = "p"
addCommandHandler(comando, 
function (thePlayer, _, id)
	local id = tonumber(id)
	if id then 
		local player = getPlayerByID(id)
		if player and isElement(player) then
      		local accountname = getAccountName(getPlayerAccount(thePlayer))
			if accountname and not isGuestAccount(accountname) then 
        		local acc = getAccountName(accountname)
              	if isObjectInACLGroup("user."..accountname, aclGetGroup("Policial")) then
					triggerClientEvent(thePlayer, "Player.onPainelPolicial", resourceRoot, player)
          		end 
        	end 
      	end
    end 
end)

getPlayerByID = 
function (id)
	local pReturn = false 
	for i, v in ipairs(getElementsByType("player")) do 
		local idp = getElementData(v, "ID") or false
		if idp then 
			if idp == tonumber(id) then 
				pReturn = v
			end 
		end
    end 
	return pReturn 
end

 

Edited by ImSoCrzy
Link to comment
  • Other Languages Moderators

Adicione isso na função do comando, logo abaixo da condição if player and isElement(player) then

if (player == thePlayer) then return end -- Se o jogador obtido é o mesmo que está executando o comando, então nada acontece.

 

Edited by Lord Henry
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...