add delped
This commit is contained in:
@@ -0,0 +1,92 @@
|
|||||||
|
-- Don't forget that the script is essentially the same delveh from WolfKnight179
|
||||||
|
-- But only to delete ped instead of a vehicle
|
||||||
|
-- I actually took from delveh all system of delete and even some of his comments lol
|
||||||
|
-- So let's all say thank you to him
|
||||||
|
-- Thx WolfKnight179
|
||||||
|
-- And thanks to the other people who helped him
|
||||||
|
|
||||||
|
RegisterCommand("dp", function()
|
||||||
|
TriggerEvent("wk:deletePed")
|
||||||
|
end, false)
|
||||||
|
TriggerEvent("chat:addSuggestion", "/dp", "Delete ped")
|
||||||
|
|
||||||
|
-- The distance to check in front of the player for a ped
|
||||||
|
local distanceToCheck = 5.0
|
||||||
|
|
||||||
|
-- The number of times to retry deleting a ped if it fails the first time
|
||||||
|
local numRetries = 5
|
||||||
|
|
||||||
|
-- Add an event handler for the deletePed event
|
||||||
|
RegisterNetEvent("wk:deletePed")
|
||||||
|
AddEventHandler("wk:deletePed", function()
|
||||||
|
local ped = GetPlayerPed(-1)
|
||||||
|
|
||||||
|
if (DoesEntityExist(ped) and IsPedOnFoot(ped)) then
|
||||||
|
local pos = GetEntityCoords(ped)
|
||||||
|
|
||||||
|
if (nearestPed) then
|
||||||
|
DeleteNearestPed(nearestPed, numRetries)
|
||||||
|
else
|
||||||
|
local inFrontOfPlayer = GetOffsetFromEntityInWorldCoords(ped, 0.0, distanceToCheck, 0.0)
|
||||||
|
local ped = GetPedInDirection(ped, pos, inFrontOfPlayer)
|
||||||
|
|
||||||
|
if (DoesEntityExist(ped)) then
|
||||||
|
DeleteNearestPed(ped, numRetries)
|
||||||
|
else
|
||||||
|
Notify("~y~You must be near the ped to delete it.")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
|
function DeleteNearestPed(ped, timeoutMax)
|
||||||
|
local timeout = 0
|
||||||
|
|
||||||
|
SetEntityAsMissionEntity(ped, true, true)
|
||||||
|
DeletePed(ped)
|
||||||
|
|
||||||
|
if (DoesEntityExist(ped)) then
|
||||||
|
Notify("~r~Failed to delete ped, trying again...")
|
||||||
|
|
||||||
|
-- Fallback if ped doesn't get deleted
|
||||||
|
while (DoesEntityExist(ped) and timeout < timeoutMax) do
|
||||||
|
DeletePed(ped)
|
||||||
|
|
||||||
|
-- Ped got banned
|
||||||
|
if (not DoesEntityExist(ped)) then
|
||||||
|
Notify("~g~Ped deleted.")
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Increase the timeout counter and make the system wait
|
||||||
|
timeout = timeout + 1
|
||||||
|
Citizen.Wait(500)
|
||||||
|
|
||||||
|
-- We've timed out and the ped still hasn't been deleted
|
||||||
|
if (DoesEntityExist(ped) and (timeout == timeoutMax - 1)) then
|
||||||
|
Notify("~r~Failed to delete vehicle after " .. timeoutMax .. " retries.")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else
|
||||||
|
Notify("~g~Ped deleted.")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Gets a ped in a certain direction
|
||||||
|
-- As I understand this function writes Konijima in WolfKnight's delveh script
|
||||||
|
-- So all credits to him
|
||||||
|
-- Thx Konijima
|
||||||
|
function GetPedInDirection(entFrom, coordFrom, coordTo)
|
||||||
|
local rayHandle = StartShapeTestCapsule(coordFrom.x, coordFrom.y, coordFrom.z, coordTo.x, coordTo.y, coordTo.z, 5.0, 10, entFrom, 7)
|
||||||
|
local _, _, _, _, ped = GetShapeTestResult(rayHandle)
|
||||||
|
|
||||||
|
if (IsEntityAPed(ped)) then
|
||||||
|
return ped
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Shows a notification on the player's screen
|
||||||
|
function Notify(text)
|
||||||
|
SetNotificationTextEntry("STRING")
|
||||||
|
AddTextComponentString(text)
|
||||||
|
DrawNotification(false, false)
|
||||||
|
end
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
fx_version "bodacious"
|
||||||
|
game "gta5"
|
||||||
|
client_script "client.lua"
|
||||||
@@ -73,6 +73,7 @@ ensure SmartHoseLite
|
|||||||
ensure SmartFiresLite
|
ensure SmartFiresLite
|
||||||
ensure SmartFiresLite
|
ensure SmartFiresLite
|
||||||
ensure ebu_flatbeds_ers
|
ensure ebu_flatbeds_ers
|
||||||
|
ensure delped
|
||||||
ensure Cruise-Control
|
ensure Cruise-Control
|
||||||
ensure guidehud
|
ensure guidehud
|
||||||
ensure EGRP-LoadingScreen
|
ensure EGRP-LoadingScreen
|
||||||
|
|||||||
Reference in New Issue
Block a user