Scripts/resources/[custom_script]/nc-headbag/cl_main.lua

81 lines
2.6 KiB
Lua
Raw Normal View History

2024-12-29 19:48:41 +00:00
local QBCore = exports['qb-core']:GetCoreObject()
Citizen.CreateThread(function()
while QBCore == nil do
TriggerEvent('QBCore:GetObject', function(obj) QBCore = obj end)
Citizen.Wait(0)
end
end)
local headMask = false;
RegisterNetEvent('RemoveHeadBag', function(player)
DeleteEntity(Object);
SetEntityAsNoLongerNeeded(Object);
SendNUIMessage({
["action"] = "remove"
})
headMask = false;
end)
RegisterNetEvent("StartThread", function(player)
local ped = PlayerPedId();
local handsup = IsEntityPlayingAnim(ped, "missminuteman_1ig_2", "handsup_base", 1);
if handsup then
Object = CreateObject(GetHashKey("prop_money_bag_01"), 0, 0, 0, true, true, true);
AttachEntityToEntity(Object, ped, GetPedBoneIndex(ped, 12844), 0.2, 0.04, 0, 0, 270.0, 60.0, true, true, false, true, 1, true);
SetEntityCompletelyDisableCollision(Object, false, true);
SendNUIMessage({
["action"] = "open"
})
headMask = true;
end
end)
AddEventHandler("playerSpawned", function()
DeleteEntity(Object);
SetEntityAsNoLongerNeeded(Object);
headMask = false;
end)
RegisterNetEvent("CheckThread")
AddEventHandler("CheckThread", function()
local closestPlayer, closestDistance = GetClosestPlayer();
local player = GetPlayerPed(-1);
if closestPlayer == -1 or closestDistance > 2.0 then
TriggerEvent("notification", "Ingen spiller i nærheden!", "error");
else
local handsup = IsEntityPlayingAnim(GetPlayerPed(closestPlayer), "missminuteman_1ig_2", "handsup_base", 1);
if not headMask then
if handsup then
TriggerServerEvent("nc-headbag:getClosestPlayer", GetPlayerServerId(closestPlayer));
headMask = true;
end
else
TriggerServerEvent("nc-headbag:getClosestPlayer2", GetPlayerServerId(closestPlayer));
headMask = false;
end
end
end)
function GetClosestPlayer()
local closestPlayers = QBCore.Functions.GetPlayersFromCoords();
local closestDistance = -1;
local closestPlayer = -1;
local coords = GetEntityCoords(GetPlayerPed(-1));
for i=1, #closestPlayers, 1 do
if closestPlayers[i] ~= PlayerId() then;
local pos = GetEntityCoords(GetPlayerPed(closestPlayers[i]));
local distance = GetDistanceBetweenCoords(pos.x, pos.y, pos.z, coords.x, coords.y, coords.z, true);
if closestDistance == -1 or closestDistance > distance then
closestPlayer = closestPlayers[i];
closestDistance = distance;
end
end
end
return closestPlayer, closestDistance;
end