Delete Vehicle Script W/ Ace Perms
About
This is just an updated version of @WolfKnight179 Delete vehicle script.
None of this would be possible without his code so all credit goes to him.
This update could be good for any servers who do not want everyone being able to delete vehicles.
I will post it here unless he allows me to release it.
Source
__resource.lua
open me
Name 'Delete Vehicle Script w/ Ace Perms'
Auther 'WolfKnight'
Description 'adds ace perms to delete vehicle script'
EXECUTE_CFG_INFO 'exec jeremys.admin.cfg'
ADD_ACE_INFO 'add_ace admin.delete jeremys.admin allow'
ADD_PRINCIPLE_INFO 'add_principal identifier.steam:STEAM_HEX_HERE admin.delete'
-- Delete Vehicle script written by WolfKnight
-- With credit to Mr.Scammer, thers, Zanax and Konijima!
-- Version 1.0.5
-- Set the resource manifest
resource_manifest_version '77731fab-63ca-442c-a67b-abc70f28dfa5'
-- Add a client script
client_script "client.lua"
-- Add a server script
server_script "server.lua"
Client.lua
Open me
-- Register a network event
RegisterNetEvent( 'wk:deleteVehicle' )
-- The distance to check in front of the player for a vehicle
-- Distance is in GTA units, which are quite big
local distanceToCheck = 5.0
-- Add an event handler for the deleteVehicle event.
-- Gets called when a user types in /dv in chat (see server.lua)
AddEventHandler( 'wk:deleteVehicle', function()
local ped = GetPlayerPed( -1 )
if ( DoesEntityExist( ped ) and not IsEntityDead( ped ) ) then
local pos = GetEntityCoords( ped )
if ( IsPedSittingInAnyVehicle( ped ) ) then
local vehicle = GetVehiclePedIsIn( ped, false )
if ( GetPedInVehicleSeat( vehicle, -1 ) == ped ) then
SetEntityAsMissionEntity( vehicle, true, true )
deleteCar( vehicle )
if ( DoesEntityExist( vehicle ) ) then
ShowNotification( "~r~Unable to delete vehicle, try again." )
else
ShowNotification( "Vehicle deleted." )
end
else
ShowNotification( "You must be in the driver's seat!" )
end
else
local playerPos = GetEntityCoords( ped, 1 )
local inFrontOfPlayer = GetOffsetFromEntityInWorldCoords( ped, 0.0, distanceToCheck, 0.0 )
local vehicle = GetVehicleInDirection( playerPos, inFrontOfPlayer )
if ( DoesEntityExist( vehicle ) ) then
SetEntityAsMissionEntity( vehicle, true, true )
deleteCar( vehicle )
if ( DoesEntityExist( vehicle ) ) then
ShowNotification( "~r~Unable to delete vehicle, try again." )
else
ShowNotification( "Vehicle deleted." )
end
else
ShowNotification( "You must be in or near a vehicle to delete it." )
end
end
end
end )
-- Delete car function borrowed frtom Mr.Scammer's model blacklist, thanks to him!
function deleteCar( entity )
Citizen.InvokeNative( 0xEA386986E786A54F, Citizen.PointerValueIntInitialized( entity ) )
end
-- Gets a vehicle in a certain direction
-- Credit to Konijima
function GetVehicleInDirection( coordFrom, coordTo )
local rayHandle = CastRayPointToPoint( coordFrom.x, coordFrom.y, coordFrom.z, coordTo.x, coordTo.y, coordTo.z, 10, GetPlayerPed( -1 ), 0 )
local _, _, _, _, vehicle = GetRaycastResult( rayHandle )
return vehicle
end
-- Shows a notification on the player's screen
function ShowNotification( text )
SetNotificationTextEntry( "STRING" )
AddTextComponentString( text )
DrawNotification( false, false )
end
Server.lua
Open me
-- Add an event handler for the 'chatMessage' event
AddEventHandler( 'chatMessage', function( source, n, msg )
msg = string.lower( msg )
-- Check to see if player has perms
if IsPlayerAceAllowed(source, "jeremys.admin") then
-- Check to see if a client typed in /dv
if ( msg == "/dv" or msg == "/delveh" ) then
-- Cancel the chat message event (stop the server from posting the message)
CancelEvent()
-- Trigger the client event
TriggerClientEvent( 'wk:deleteVehicle', source )
end
end )
download (2.8 KB)
Ace Setup
add_ace delete jeremys.admin allow
add_principal identifier.steam:11000011d1621fe delete