Jump to content

Mta Script Detran


Recommended Posts

17 hours ago, Developer. said:

- Crie uma tabela 

- Insira o veículo dentro da tabela

- Use onPlayerVehicleEnter como evento.


local viatura = {} -- tabela criada
function salvar_Carro (vehicle, seat, jacked)
	viatura[source] = vehicle -- veiculo inserido
end
addEventHandler('onPlayerVehicleEnter', getRootElement(), salvar_Carro) -- evento de ativação!

 

Ai não consegui mas vou postar o code aqui pra dar uma olhada:

 

function darCarro (player)
    outputChatBox("#FFA500[Detran]:#FFFFFFVocê pegou carro do Detran", player, 255255255true)
     if veh and isElement(veh) then destroyElement(veh)
        veh = nil
    end
    veh = createVehicle(5781547.663-2303.49613.545,-001.548)
    
    warpPedIntoVehicle(player, veh, 0)
end
addEventHandler("onPickupHit", carro, darCarro)
 
local viatura = {}
function salvar_Carro (vehicle, seat, jacked)
    viatura[source] = vehicle
end
addEventHandler('onPlayerVehicleEnter'getRootElement(), salvar_Carro)
 
function guinVeh ( command )
    local x, y, z = getElementPosition ( veh ) 
    attachElements ( viatura[source], veh, 0-11 )
end
addCommandHandler ( "guinchar", guinVeh )
Edited by zking0d
Link to comment

Ta ai, um sistema simples de Detran.

local acl = "Detran" -- acl que tem permissão para efetuar os comandos /guinchar /soltar e pegar o carro do detran.

local detran = {
	vtr = {},
	last = {},
	inUse = {},
	guinchado = {},
};

function darCarro(jogador)
	if isPlayerInACL(jogador, acl) then
		if detran.inUse[jogador] ~= true then
			if detran.vtr[jogador] then 
				destroyElement(detran.vtr[jogador])
				detran.vtr[jogador] = nil
			end
			detran.vtr[jogador] = createVehicle(578, 1547.663, -2303.496, 13.545,-0, 0, 1.548)
			warpPedIntoVehicle(jogador, detran.vtr[jogador])
			outputChatBox("#FFA500[Detran]:#FFFFFFVocê pegou carro do Detran", jogador, 255, 255, 255, true)
		else
			outputChatBox("#FFA500[Detran]:#FFFFFFVocê não pode pegar um novo carro do Detran", jogador, 255, 255, 255, true)
		end
	end
end
addEventHandler("onPickupHit", carro, darCarro)

function salvar_Carro (vehicle, seat, jacked)
	if isPlayerInACL(source, acl) then
		detran.last[source] = vehicle
	end
end
addEventHandler('onPlayerVehicleEnter', getRootElement(), salvar_Carro)
 
function guinVeh (jogador)
	if isPlayerInACL(jogador, acl) then
		local vtr = detran.vtr[jogador]
		local veh = detran.last[jogador]
		local vtrx, vtry, vtrz = getElementPosition(vtr)
		local vehx, vehy, vehz = getElementPosition(veh)
		local dist = getDistanceBetweenPoints3D(vtrx, vtry, vtrz, vehx, vehy, vehz)
		if (vtr) and (veh) then
			if dist < 5.5 then
				if not detran.inUse[jogador] then
					attachElements(veh, vtr, 0, -1, 1)
					detran.guinchado[jogador] = veh
					detran.inUse[jogador] = true
					outputChatBox("#FFA500[Detran]:#FFFFFFVeículo guinchado!", jogador, 255, 255, 255, true)
				else
					outputChatBox("#FFA500[Detran]:#FFFFFFVocê já guinchou um veículo!", jogador, 255, 255, 255, true)
				end
			else
				outputChatBox("#FFA500[Detran]:#FFFFFFAproxime o guincho do veículo!", jogador, 255, 255, 255, true)
			end
		end
	end
end
addCommandHandler("guinchar", guinVeh) 

function soltarVeh (jogador)
	if isPlayerInACL(jogador, acl) then
		local vtr = detran.vtr[jogador]
		local veh = detran.guinchado[jogador]
		local jogx, jogy, jogz = getElementPosition(jogador)
		local vtrx, vtry, vtrz = getElementPosition(vtr)
		local dist = getDistanceBetweenPoints3D(jogx, jogy, jogz, vtrx, vtry, vtrz)
		if (vtr) and (veh) then
			if dist < 3.5 then
				if detran.inUse[jogador] then
					detachElements(veh, vtr)
					detran.inUse[jogador] = false
					detran.guinchado[jogador] = nil
					outputChatBox("#FFA500[Detran]:#FFFFFFVeículo liberado!", jogador, 255, 255, 255, true)
				end
			else
				outputChatBox("#FFA500[Detran]:#FFFFFFAproxime-se do guincho!", jogador, 255, 255, 255, true)
			end
		end
	end
end
addCommandHandler("soltar", soltarVeh)


function isPlayerInACL(player, acl)
	if isElement(player) and getElementType(player) == "player" and aclGetGroup(acl or "") and not isGuestAccount(getPlayerAccount(player)) then
		local account = getPlayerAccount(player)

		return isObjectInACLGroup( "user.".. getAccountName(account), aclGetGroup(acl) )
	end
	return false
end

Se ocorrer algum erro, só estar comentando aqui. Não se esqueça de ativar seu debugscript (/debugscript 3).

@zking0d

  • Like 1
Link to comment
  • 2 months later...
On 04/02/2020 at 15:29, Developer. said:

Ta ai, um sistema simples de Detran.


local acl = "Detran" -- acl que tem permissão para efetuar os comandos /guinchar /soltar e pegar o carro do detran.

local detran = {
	vtr = {},
	last = {},
	inUse = {},
	guinchado = {},
};

function darCarro(jogador)
	if isPlayerInACL(jogador, acl) then
		if detran.inUse[jogador] ~= true then
			if detran.vtr[jogador] then 
				destroyElement(detran.vtr[jogador])
				detran.vtr[jogador] = nil
			end
			detran.vtr[jogador] = createVehicle(578, 1547.663, -2303.496, 13.545,-0, 0, 1.548)
			warpPedIntoVehicle(jogador, detran.vtr[jogador])
			outputChatBox("#FFA500[Detran]:#FFFFFFVocê pegou carro do Detran", jogador, 255, 255, 255, true)
		else
			outputChatBox("#FFA500[Detran]:#FFFFFFVocê não pode pegar um novo carro do Detran", jogador, 255, 255, 255, true)
		end
	end
end
addEventHandler("onPickupHit", carro, darCarro)

function salvar_Carro (vehicle, seat, jacked)
	if isPlayerInACL(source, acl) then
		detran.last[source] = vehicle
	end
end
addEventHandler('onPlayerVehicleEnter', getRootElement(), salvar_Carro)
 
function guinVeh (jogador)
	if isPlayerInACL(jogador, acl) then
		local vtr = detran.vtr[jogador]
		local veh = detran.last[jogador]
		local vtrx, vtry, vtrz = getElementPosition(vtr)
		local vehx, vehy, vehz = getElementPosition(veh)
		local dist = getDistanceBetweenPoints3D(vtrx, vtry, vtrz, vehx, vehy, vehz)
		if (vtr) and (veh) then
			if dist < 5.5 then
				if not detran.inUse[jogador] then
					attachElements(veh, vtr, 0, -1, 1)
					detran.guinchado[jogador] = veh
					detran.inUse[jogador] = true
					outputChatBox("#FFA500[Detran]:#FFFFFFVeículo guinchado!", jogador, 255, 255, 255, true)
				else
					outputChatBox("#FFA500[Detran]:#FFFFFFVocê já guinchou um veículo!", jogador, 255, 255, 255, true)
				end
			else
				outputChatBox("#FFA500[Detran]:#FFFFFFAproxime o guincho do veículo!", jogador, 255, 255, 255, true)
			end
		end
	end
end
addCommandHandler("guinchar", guinVeh) 

function soltarVeh (jogador)
	if isPlayerInACL(jogador, acl) then
		local vtr = detran.vtr[jogador]
		local veh = detran.guinchado[jogador]
		local jogx, jogy, jogz = getElementPosition(jogador)
		local vtrx, vtry, vtrz = getElementPosition(vtr)
		local dist = getDistanceBetweenPoints3D(jogx, jogy, jogz, vtrx, vtry, vtrz)
		if (vtr) and (veh) then
			if dist < 3.5 then
				if detran.inUse[jogador] then
					detachElements(veh, vtr)
					detran.inUse[jogador] = false
					detran.guinchado[jogador] = nil
					outputChatBox("#FFA500[Detran]:#FFFFFFVeículo liberado!", jogador, 255, 255, 255, true)
				end
			else
				outputChatBox("#FFA500[Detran]:#FFFFFFAproxime-se do guincho!", jogador, 255, 255, 255, true)
			end
		end
	end
end
addCommandHandler("soltar", soltarVeh)


function isPlayerInACL(player, acl)
	if isElement(player) and getElementType(player) == "player" and aclGetGroup(acl or "") and not isGuestAccount(getPlayerAccount(player)) then
		local account = getPlayerAccount(player)

		return isObjectInACLGroup( "user.".. getAccountName(account), aclGetGroup(acl) )
	end
	return false
end

Se ocorrer algum erro, só estar comentando aqui. Não se esqueça de ativar seu debugscript (/debugscript 3).

@zking0d

Como consigo bota essa função em um botão DX coloquei mais nem o chatbox sair 

ajuda

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...