local QBCore = exports['qb-core']:GetCoreObject() --==USEUABLE ITEMS==-- QBCore.Functions.CreateUseableItem('headbag', function(source) local src = source local Player = QBCore.Functions.GetPlayer(src) local HasHeadbag = QBCore.Functions.HasItem(src, 'headbag') if not HasHeadbag then return end TriggerClientEvent('Crazy:Client:UseHeadBag', src) end) QBCore.Functions.CreateUseableItem('ziptie', function(source) local src = source local Player = QBCore.Functions.GetPlayer(src) local HasZiptie = QBCore.Functions.HasItem(src, 'ziptie') if not HasZiptie then return end TriggerClientEvent('Crazy:Client:UseZiptie', src) end) --==END OF USEABLE ITEMS==-- --==ZIPTIE==-- RegisterNetEvent('Crazy:Server:ZiptiePlayer', function(playerId) local src = source local playerPed = GetPlayerPed(src) local targetPed = GetPlayerPed(playerId) local playerCoords = GetEntityCoords(playerPed) local targetCoords = GetEntityCoords(targetPed) local Player = QBCore.Functions.GetPlayer(src) local ZiptiedPlayer = QBCore.Functions.GetPlayer(playerId) local HasZiptie = QBCore.Functions.HasItem(src, 'ziptie') if #(playerCoords - targetCoords) > 2.5 then return TriggerEvent("qb-log:server:CreateLog", "anticheat", "qb-zipties: Distance > 2.5", "orange", string.format("User: ** %s **\nIdentifier: ** %s **\nCitizenId: ** %s **\nServer Id: ** %s **", GetPlayerName(src), GetPlayerIdentifier(src, fivem), Player.PlayerData.citizenid, src)) end if HasZiptie then if Player.Functions.RemoveItem('ziptie', 1) then TriggerClientEvent('inventory:client:ItemBox', src, QBCore.Shared.Items['ziptie'], 'remove') TriggerClientEvent("Crazy:Client:GetZiptied", ZiptiedPlayer.PlayerData.source, Player.PlayerData.source) end end end) RegisterNetEvent('Crazy:Server:UnZiptie', function(TargetId) local src = source local Player = QBCore.Functions.GetPlayer(src) local UnZiptiedPlayer = QBCore.Functions.GetPlayer(TargetId) local PlayerPed = GetPlayerPed(src) local TargetPed = GetPlayerPed(TargetId) local uzpPos = GetEntityCoords(TargetPed) local pPos = GetEntityCoords(PlayerPed) local Distance = #(pPos - uzpPos) local HasItems = QBCore.Functions.HasItem(src, Config.UnZipItems) if Distance > 2.5 then return TriggerEvent("qb-log:server:CreateLog", "anticheat", "qb-zipties: Distance > 2.5", "orange", string.format("User: ** %s **\nIdentifier: ** %s **\nCitizenId: ** %s **\nServer Id: ** %s **", GetPlayerName(src), GetPlayerIdentifier(src, fivem), Player.PlayerData.citizenid, src)) end if HasItems then TriggerClientEvent('Crazy:Client:GetUnZiptied', UnZiptiedPlayer.PlayerData.source, Player.PlayerData.source) end end) --==END OF ZIPTIE==-- --==BAG==-- RegisterNetEvent('Crazy:Server:PutBagOn', function(TargetId) -- (Good) local src = source local Player = QBCore.Functions.GetPlayer(src) local Target = QBCore.Functions.GetPlayer(TargetId) local PlayerPed = GetPlayerPed(src) local TargetPed = GetPlayerPed(TargetId) local TargetPedCoords = GetEntityCoords(TargetPed) local PlayerPedCoords = GetEntityCoords(PlayerPed) local Distance = #(PlayerPedCoords - TargetPedCoords) if Distance > 2.5 then return end local HasBag = QBCore.Functions.HasItem(src, 'headbag') if HasBag then if Player.Functions.RemoveItem('headbag', 1) then TriggerClientEvent('inventory:client:ItemBox', src, QBCore.Shared.Items['headbag'], 'remove') TriggerClientEvent('Crazy:Client:GetBagOnHead', Target.PlayerData.source, Player.PlayerData.source) end end end) RegisterNetEvent('Crazy:Server:BagOff', function(TargetId) local src = source local Player = QBCore.Functions.GetPlayer(src) local Target = QBCore.Functions.GetPlayer(TargetId) TriggerClientEvent('Crazy:Client:GetBagOff', Target.PlayerData.source, Player.PlayerData.source) end) --==END OF BAG==--