structura foldere
mutat kq- folders in un singur folder [kq]
This commit is contained in:
@@ -0,0 +1,191 @@
|
||||
--[[
|
||||
Hi dear customer or developer, here you can fully configure your server's
|
||||
framework or you could even duplicate this file to create your own framework.
|
||||
If you do not have much experience, we recommend you download the base version
|
||||
of the framework that you use in its latest version and it will work perfectly.
|
||||
]]
|
||||
|
||||
if Config.Framework ~= 'esx' then
|
||||
return
|
||||
end
|
||||
|
||||
local version = GetResourceMetadata('es_extended', 'version', 0)
|
||||
|
||||
if version == '1.1.0' or version == '1.2.0' or version == 'legacy' then
|
||||
ESX = nil
|
||||
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
|
||||
else
|
||||
ESX = exports['es_extended']:getSharedObject()
|
||||
end
|
||||
|
||||
identifierTypes = 'owner'
|
||||
vehiclesTable = 'owned_vehicles'
|
||||
plateTable = 'plate'
|
||||
inventoryTrunk = 'inventory_trunk'
|
||||
inventoryGlovebox = 'inventory_glovebox'
|
||||
|
||||
function RegisterServerCallback(name, cb)
|
||||
ESX.RegisterServerCallback(name, cb)
|
||||
end
|
||||
|
||||
function GetPlayerFromIdFramework(player)
|
||||
local Player = ESX.GetPlayerFromId(player)
|
||||
return Player
|
||||
end
|
||||
|
||||
function GetPlayerIdentifier(player)
|
||||
return ESX.GetPlayerFromId(player).identifier
|
||||
end
|
||||
|
||||
function GetPlayerJob(player)
|
||||
return player.getJob().name
|
||||
end
|
||||
|
||||
function GetPlayerDuty(player)
|
||||
return true
|
||||
end
|
||||
|
||||
function GetPlayers()
|
||||
return ESX.GetPlayers()
|
||||
end
|
||||
|
||||
function GetMoney(player)
|
||||
return player.getMoney()
|
||||
end
|
||||
|
||||
function RemoveMoney(player, mount)
|
||||
return player.removeMoney(mount)
|
||||
end
|
||||
|
||||
function GetAccountMoney(player, account)
|
||||
return player.getAccount(account).money
|
||||
end
|
||||
|
||||
function RemoveAccountMoney(player, account, mount)
|
||||
return player.removeAccountMoney(account, mount)
|
||||
end
|
||||
|
||||
function RegisterUsableItem(name, cb)
|
||||
ESX.RegisterUsableItem(name, cb)
|
||||
end
|
||||
|
||||
function GetItem(player, item)
|
||||
return player.getInventoryItem(item)
|
||||
end
|
||||
|
||||
function GetItemCount(player, item)
|
||||
if Config.InventoryScript == 'codem' then
|
||||
return player.getInventoryItem(item).amount
|
||||
else
|
||||
return player.getInventoryItem(item).count
|
||||
end
|
||||
end
|
||||
|
||||
function AddItem(player, item, metadata)
|
||||
player.addInventoryItem(item, 1, metadata)
|
||||
end
|
||||
|
||||
function RemoveItem(player, item)
|
||||
player.removeInventoryItem(item, 1, metadata)
|
||||
end
|
||||
|
||||
function SetInventoryItem(player)
|
||||
return true
|
||||
end
|
||||
|
||||
function AddItemMetadata(player, item, slot, metadata)
|
||||
if not player then return end
|
||||
if Config.InventoryScript == 'qs' then
|
||||
exports['qs-inventory']:AddItem(player.source, item, 1, nil, metadata)
|
||||
elseif Config.InventoryScript == 'qb' then
|
||||
player.Functions.AddItem(item, 1, false, metadata)
|
||||
elseif Config.InventoryScript == 'ox' then
|
||||
if exports.ox_inventory:CanCarryItem(player.source, item, 1, metadata) then
|
||||
exports.ox_inventory:AddItem(player.source, item, 1, metadata)
|
||||
end
|
||||
elseif Config.InventoryScript == 'origen' then
|
||||
exports['origen_inventory']:AddItem(player.source, item, 1, metadata)
|
||||
elseif Config.InventoryScript == 'core_inventory' then
|
||||
local inv = 'content-' .. player.identifier:gsub(':', '')
|
||||
exports['core_inventory']:addItem(inv, item, 1, metadata)
|
||||
elseif Config.InventoryScript == 'codem' then
|
||||
exports['codem-inventory']:AddItem(player.source, item, 1, nil, metadata)
|
||||
elseif Config.InventoryScript == 'tgiannInv' then
|
||||
exports['tgiann-inventory']:AddItem(player.source, item, 1, nil, metadata, false)
|
||||
elseif Config.InventoryScript == 'ak47' then
|
||||
exports['ak47_inventory']:AddItem(player.source, item, 1, nil, metadata)
|
||||
else
|
||||
print('Inventory not properly configured')
|
||||
end
|
||||
end
|
||||
|
||||
function GetMetadata(player, item, slot, metadata)
|
||||
if not player then return end
|
||||
if Config.InventoryScript == 'qs' then
|
||||
return exports['qs-inventory']:GetInventory(player.source)
|
||||
elseif Config.InventoryScript == 'qb' then
|
||||
return player.PlayerData.items
|
||||
elseif Config.InventoryScript == 'origen' then
|
||||
return exports['origen_inventory']:GetInventoryItems(player.source)
|
||||
elseif Config.InventoryScript == 'ox' then
|
||||
return ox_inventory:GetInventoryItems(player.source)
|
||||
elseif Config.InventoryScript == 'core_inventory' then
|
||||
local inv = 'content-' .. player.identifier:gsub(':', '')
|
||||
return exports['core_inventory']:getInventory(inv)
|
||||
elseif Config.InventoryScript == 'codem' then
|
||||
return exports['codem-inventory']:GetInventory(false, player.source)
|
||||
elseif Config.InventoryScript == 'tgiannInv' then
|
||||
return exports['tgiann-inventory']:GetPlayerItems(player.source)
|
||||
elseif Config.InventoryScript == 'ak47' then
|
||||
return exports['ak47_inventory']:GetInventory(player.source)
|
||||
else
|
||||
print('Inventory not properly configured')
|
||||
end
|
||||
end
|
||||
|
||||
function RemoveItemMetadata(player, item, slot, metadata)
|
||||
if not player then return end
|
||||
if Config.InventoryScript == 'qs' then
|
||||
exports['qs-inventory']:RemoveItem(player.source, item, 1, slot, metadata)
|
||||
elseif Config.InventoryScript == 'qb' then
|
||||
player.Functions.RemoveItem(item, 1, false)
|
||||
elseif Config.InventoryScript == 'ox' then
|
||||
ox_inventory:RemoveItem(player.source, item, 1, metadata, slot)
|
||||
elseif Config.InventoryScript == 'origen' then
|
||||
exports['origen_inventory']:RemoveItem(player.source, item, 1, metadata, slot)
|
||||
elseif Config.InventoryScript == 'core_inventory' then
|
||||
coreInventoryRemoveItemWithMetadata(player, item, metadata)
|
||||
elseif Config.InventoryScript == 'codem' then
|
||||
exports['codem-inventory']:RemoveItem(player.source, item, 1, slot)
|
||||
elseif Config.InventoryScript == 'tgiannInv' then
|
||||
exports['tgiann-inventory']:RemoveItem(player.source, item, 1, nil)
|
||||
elseif Config.InventoryScript == 'ak47' then
|
||||
exports['ak47_inventory']:RemoveItem(player.source, item, 1, slot, metadata)
|
||||
else
|
||||
print('Inventory not properly configured')
|
||||
end
|
||||
end
|
||||
|
||||
function coreInventoryRemoveItemWithMetadata(player, item, metadata)
|
||||
local inv = 'content-' .. player.identifier:gsub(':', '')
|
||||
if metadata and type(metadata) == 'table' and metadata.id then
|
||||
exports['core_inventory']:removeItemExact(inv, metadata.id, 1)
|
||||
elseif metadata and type(metadata) ~= 'table' then
|
||||
local inventoryData = exports['core_inventory']:getInventory(inv)
|
||||
for k, v in pairs(inventoryData) do
|
||||
if v.name == item and v.metadata and v.metadata.plate then
|
||||
if string.find(v.metadata.plate, metadata) then
|
||||
exports['core_inventory']:removeItemExact(inv, v.id, 1)
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
RegisterServerEvent('CheckPlayerItem')
|
||||
AddEventHandler('CheckPlayerItem', function(item)
|
||||
local source = source
|
||||
local hasItem = CheckIfPlayerHasItem(source, item)
|
||||
TriggerClientEvent('CheckPlayerItemResult', source, hasItem)
|
||||
end)
|
||||
@@ -0,0 +1,184 @@
|
||||
--[[
|
||||
Hi dear customer or developer, here you can fully configure your server's
|
||||
framework or you could even duplicate this file to create your own framework.
|
||||
If you do not have much experience, we recommend you download the base version
|
||||
of the framework that you use in its latest version and it will work perfectly.
|
||||
]]
|
||||
|
||||
if Config.Framework ~= 'qb' then
|
||||
return
|
||||
end
|
||||
|
||||
QBCore = exports['qb-core']:GetCoreObject()
|
||||
|
||||
identifierTypes = 'citizenid'
|
||||
vehiclesTable = 'player_vehicles'
|
||||
plateTable = 'plate'
|
||||
inventoryTrunk = 'inventory_trunk'
|
||||
inventoryGlovebox = 'inventory_glovebox'
|
||||
|
||||
function RegisterServerCallback(name, cb)
|
||||
QBCore.Functions.CreateCallback(name, cb)
|
||||
end
|
||||
|
||||
function GetPlayerIdentifier(player)
|
||||
return QBCore.Functions.GetPlayer(player).PlayerData.citizenid
|
||||
end
|
||||
|
||||
function GetPlayerFromIdFramework(player)
|
||||
local Player = QBCore.Functions.GetPlayer(player)
|
||||
if Player then
|
||||
Player.citizenid = Player.PlayerData.citizenid
|
||||
Player.identifier = Player.PlayerData.citizenid
|
||||
Player.source = Player.PlayerData.source
|
||||
end
|
||||
return Player
|
||||
end
|
||||
|
||||
function GetPlayers()
|
||||
return QBCore.Functions.GetPlayers()
|
||||
end
|
||||
|
||||
function GetPlayerJob(player)
|
||||
local data = player.PlayerData.job
|
||||
return data.name
|
||||
end
|
||||
|
||||
function GetPlayerDuty(player)
|
||||
local data = player.PlayerData.job
|
||||
return data.onduty
|
||||
end
|
||||
|
||||
function GetMoney(player)
|
||||
return player.PlayerData.money['cash']
|
||||
end
|
||||
|
||||
function GetAccountMoney(player, account)
|
||||
return player.PlayerData.money[account]
|
||||
end
|
||||
|
||||
function RemoveAccountMoney(player, account, mount)
|
||||
return player.Functions.RemoveMoney(account, mount)
|
||||
end
|
||||
|
||||
function RemoveMoney(player, mount)
|
||||
return player.Functions.RemoveMoney('cash', mount)
|
||||
end
|
||||
|
||||
function RegisterUsableItem(name, cb)
|
||||
QBCore.Functions.CreateUseableItem(name, cb)
|
||||
end
|
||||
|
||||
function GetItem(player, item)
|
||||
return player.Functions.GetItemByName(item)
|
||||
end
|
||||
|
||||
function GetItemCount(player, item)
|
||||
if Config.InventoryScript == 'codem' then
|
||||
return player.getInventoryItem(item).amount
|
||||
else
|
||||
return player.Functions.GetItemByName(item).amount
|
||||
end
|
||||
end
|
||||
|
||||
function AddItem(player, item, metadata)
|
||||
player.Functions.AddItem(item, 1, false, metadata)
|
||||
end
|
||||
|
||||
function RemoveItem(player, item, metadata)
|
||||
player.Functions.RemoveItem(item, 1, false, metadata or nil)
|
||||
end
|
||||
|
||||
function SetInventoryItem(player)
|
||||
player.Functions.SetInventory(player.PlayerData.items, true)
|
||||
end
|
||||
|
||||
function AddItemMetadata(player, item, slot, metadata)
|
||||
if not player then return end
|
||||
if Config.InventoryScript == 'qs' then
|
||||
exports['qs-inventory']:AddItem(player.source, item, 1, nil, metadata)
|
||||
elseif Config.InventoryScript == 'qb' then
|
||||
player.Functions.AddItem(item, 1, false, metadata)
|
||||
elseif Config.InventoryScript == 'ox' then
|
||||
if exports.ox_inventory:CanCarryItem(player.source, item, 1, metadata) then
|
||||
exports.ox_inventory:AddItem(player.source, item, 1, metadata)
|
||||
end
|
||||
elseif Config.InventoryScript == 'origen' then
|
||||
exports['origen_inventory']:AddItem(player.source, item, 1, metadata)
|
||||
elseif Config.InventoryScript == 'core_inventory' then
|
||||
local inv = 'content-' .. player.identifier:gsub(':', '')
|
||||
exports['core_inventory']:addItem(inv, item, 1, metadata)
|
||||
elseif Config.InventoryScript == 'codem' then
|
||||
exports['codem-inventory']:AddItem(player.source, item, 1, nil, metadata)
|
||||
elseif Config.InventoryScript == 'tgiannInv' then
|
||||
exports['tgiann-inventory']:AddItem(player.source, item, 1, nil, metadata, false)
|
||||
elseif Config.InventoryScript == 'ak47' then
|
||||
exports['ak47_inventory']:AddItem(player.source, item, 1, nil, metadata)
|
||||
else
|
||||
print('Inventory not properly configured')
|
||||
end
|
||||
end
|
||||
|
||||
function GetMetadata(player, item, slot, metadata)
|
||||
if not player then return end
|
||||
if Config.InventoryScript == 'qs' then
|
||||
return exports['qs-inventory']:GetInventory(player.source)
|
||||
elseif Config.InventoryScript == 'qb' then
|
||||
return player.PlayerData.items
|
||||
elseif Config.InventoryScript == 'origen' then
|
||||
return exports['origen_inventory']:GetInventoryItems(player.source)
|
||||
elseif Config.InventoryScript == 'ox' then
|
||||
return ox_inventory:GetInventoryItems(player.source)
|
||||
elseif Config.InventoryScript == 'core_inventory' then
|
||||
local inv = 'content-' .. player.identifier:gsub(':', '')
|
||||
return exports['core_inventory']:getInventory(inv)
|
||||
elseif Config.InventoryScript == 'codem' then
|
||||
return exports['codem-inventory']:GetInventory(false, player.source)
|
||||
elseif Config.InventoryScript == 'tgiannInv' then
|
||||
return exports['tgiann-inventory']:GetPlayerItems(player.source)
|
||||
elseif Config.InventoryScript == 'ak47' then
|
||||
return exports['ak47_inventory']:GetInventory(player.source)
|
||||
else
|
||||
print('Inventory not properly configured')
|
||||
end
|
||||
end
|
||||
|
||||
function RemoveItemMetadata(player, item, slot, metadata)
|
||||
if not player then return end
|
||||
if Config.InventoryScript == 'qs' then
|
||||
exports['qs-inventory']:RemoveItem(player.source, item, 1, slot, metadata)
|
||||
elseif Config.InventoryScript == 'qb' then
|
||||
player.Functions.RemoveItem(item, 1, false)
|
||||
elseif Config.InventoryScript == 'ox' then
|
||||
ox_inventory:RemoveItem(player.source, item, 1, metadata, slot)
|
||||
elseif Config.InventoryScript == 'origen' then
|
||||
exports['origen_inventory']:RemoveItem(player.source, item, 1, metadata, slot)
|
||||
elseif Config.InventoryScript == 'core_inventory' then
|
||||
coreInventoryRemoveItemWithMetadata(player, item, metadata)
|
||||
elseif Config.InventoryScript == 'codem' then
|
||||
exports['codem-inventory']:RemoveItem(player.source, item, 1, slot)
|
||||
elseif Config.InventoryScript == 'tgiannInv' then
|
||||
exports['tgiann-inventory']:RemoveItem(player.source, item, 1, nil)
|
||||
elseif Config.InventoryScript == 'ak47' then
|
||||
exports['ak47_inventory']:RemoveItem(player.source, item, 1, slot, metadata)
|
||||
else
|
||||
print('Inventory not properly configured')
|
||||
end
|
||||
end
|
||||
|
||||
function coreInventoryRemoveItemWithMetadata(player, item, metadata)
|
||||
local inv = 'content-' .. player.identifier:gsub(':', '')
|
||||
if metadata and type(metadata) == 'table' and metadata.id then
|
||||
exports['core_inventory']:removeItemExact(inv, metadata.id, 1)
|
||||
elseif metadata and type(metadata) ~= 'table' then
|
||||
local inventoryData = exports['core_inventory']:getInventory(inv)
|
||||
for k, v in pairs(inventoryData) do
|
||||
if v.name == item and v.metadata and v.metadata.plate then
|
||||
if string.find(v.metadata.plate, metadata) then
|
||||
exports['core_inventory']:removeItemExact(inv, v.id, 1)
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,188 @@
|
||||
--[[
|
||||
Hi dear customer or developer, here you can fully configure your server's
|
||||
framework or you could even duplicate this file to create your own framework.
|
||||
If you do not have much experience, we recommend you download the base version
|
||||
of the framework that you use in its latest version and it will work perfectly.
|
||||
]]
|
||||
|
||||
if Config.Framework ~= 'qbx' then
|
||||
return
|
||||
end
|
||||
|
||||
QBCore = exports['qb-core']:GetCoreObject()
|
||||
|
||||
identifierTypes = 'citizenid'
|
||||
vehiclesTable = 'player_vehicles'
|
||||
plateTable = 'plate'
|
||||
inventoryTrunk = 'inventory_trunk'
|
||||
inventoryGlovebox = 'inventory_glovebox'
|
||||
|
||||
function RegisterServerCallback(name, cb)
|
||||
QBCore.Functions.CreateCallback(name, cb)
|
||||
end
|
||||
|
||||
function GetPlayerIdentifier(player)
|
||||
return QBCore.Functions.GetPlayer(player).PlayerData.citizenid
|
||||
end
|
||||
|
||||
function GetPlayerFromIdentifier(identifier)
|
||||
return exports.qbx_core:GetPlayerByCitizenId(identifier)
|
||||
end
|
||||
|
||||
function GetPlayerFromIdFramework(player)
|
||||
local Player = QBCore.Functions.GetPlayer(player)
|
||||
if Player then
|
||||
Player.citizenid = Player.PlayerData.citizenid
|
||||
Player.identifier = Player.PlayerData.citizenid
|
||||
Player.source = Player.PlayerData.source
|
||||
end
|
||||
return Player
|
||||
end
|
||||
|
||||
function GetPlayers()
|
||||
return QBCore.Functions.GetPlayers()
|
||||
end
|
||||
|
||||
function GetPlayerJob(player)
|
||||
local data = player.PlayerData.job
|
||||
return data.name
|
||||
end
|
||||
|
||||
function GetPlayerDuty(player)
|
||||
local data = player.PlayerData.job
|
||||
return data.onduty
|
||||
end
|
||||
|
||||
function GetMoney(player)
|
||||
return player.PlayerData.money['cash']
|
||||
end
|
||||
|
||||
function GetAccountMoney(player, account)
|
||||
return player.PlayerData.money[account]
|
||||
end
|
||||
|
||||
function RemoveAccountMoney(player, account, mount)
|
||||
return player.Functions.RemoveMoney(account, mount)
|
||||
end
|
||||
|
||||
function RemoveMoney(player, mount)
|
||||
return player.Functions.RemoveMoney('cash', mount)
|
||||
end
|
||||
|
||||
function RegisterUsableItem(name, cb)
|
||||
QBCore.Functions.CreateUseableItem(name, cb)
|
||||
end
|
||||
|
||||
function GetItem(player, item)
|
||||
return player.Functions.GetItemByName(item)
|
||||
end
|
||||
|
||||
function GetItemCount(player, item)
|
||||
if Config.InventoryScript == 'codem' then
|
||||
return player.getInventoryItem(item).amount
|
||||
else
|
||||
return player.Functions.GetItemByName(item).amount
|
||||
end
|
||||
end
|
||||
|
||||
function AddItem(player, item, metadata)
|
||||
player.Functions.AddItem(item, 1, false, metadata)
|
||||
end
|
||||
|
||||
function RemoveItem(player, item, metadata)
|
||||
player.Functions.RemoveItem(item, 1, false, metadata or nil)
|
||||
end
|
||||
|
||||
function SetInventoryItem(player)
|
||||
player.Functions.SetInventory(player.PlayerData.items, true)
|
||||
end
|
||||
|
||||
function AddItemMetadata(player, item, slot, metadata)
|
||||
if not player then return end
|
||||
if Config.InventoryScript == 'qs' then
|
||||
exports['qs-inventory']:AddItem(player.source, item, 1, nil, metadata)
|
||||
elseif Config.InventoryScript == 'qb' then
|
||||
player.Functions.AddItem(item, 1, false, metadata)
|
||||
elseif Config.InventoryScript == 'ox' then
|
||||
if exports.ox_inventory:CanCarryItem(player.source, item, 1, metadata) then
|
||||
exports.ox_inventory:AddItem(player.source, item, 1, metadata)
|
||||
end
|
||||
elseif Config.InventoryScript == 'origen' then
|
||||
exports['origen_inventory']:AddItem(player.source, item, 1, metadata)
|
||||
elseif Config.InventoryScript == 'core_inventory' then
|
||||
local inv = 'content-' .. player.identifier:gsub(':', '')
|
||||
exports['core_inventory']:addItem(inv, item, 1, metadata)
|
||||
elseif Config.InventoryScript == 'codem' then
|
||||
exports['codem-inventory']:AddItem(player.source, item, 1, nil, metadata)
|
||||
elseif Config.InventoryScript == 'tgiannInv' then
|
||||
exports['tgiann-inventory']:AddItem(player.source, item, 1, nil, metadata, false)
|
||||
elseif Config.InventoryScript == 'ak47' then
|
||||
exports['ak47_inventory']:AddItem(player.source, item, 1, nil, metadata)
|
||||
else
|
||||
print('Inventory not properly configured')
|
||||
end
|
||||
end
|
||||
|
||||
function GetMetadata(player, item, slot, metadata)
|
||||
if not player then return end
|
||||
if Config.InventoryScript == 'qs' then
|
||||
return exports['qs-inventory']:GetInventory(player.source)
|
||||
elseif Config.InventoryScript == 'qb' then
|
||||
return player.PlayerData.items
|
||||
elseif Config.InventoryScript == 'origen' then
|
||||
return exports['origen_inventory']:GetInventoryItems(player.source)
|
||||
elseif Config.InventoryScript == 'ox' then
|
||||
return ox_inventory:GetInventoryItems(player.source)
|
||||
elseif Config.InventoryScript == 'core_inventory' then
|
||||
local inv = 'content-' .. player.identifier:gsub(':', '')
|
||||
return exports['core_inventory']:getInventory(inv)
|
||||
elseif Config.InventoryScript == 'codem' then
|
||||
return exports['codem-inventory']:GetInventory(false, player.source)
|
||||
elseif Config.InventoryScript == 'tgiannInv' then
|
||||
return exports['tgiann-inventory']:GetPlayerItems(player.source)
|
||||
elseif Config.InventoryScript == 'ak47' then
|
||||
return exports['ak47_inventory']:GetInventory(player.source)
|
||||
else
|
||||
print('Inventory not properly configured')
|
||||
end
|
||||
end
|
||||
|
||||
function RemoveItemMetadata(player, item, slot, metadata)
|
||||
if not player then return end
|
||||
if Config.InventoryScript == 'qs' then
|
||||
exports['qs-inventory']:RemoveItem(player.source, item, 1, slot, metadata)
|
||||
elseif Config.InventoryScript == 'qb' then
|
||||
player.Functions.RemoveItem(item, 1, false)
|
||||
elseif Config.InventoryScript == 'ox' then
|
||||
ox_inventory:RemoveItem(player.source, item, 1, metadata, slot)
|
||||
elseif Config.InventoryScript == 'origen' then
|
||||
exports['origen_inventory']:RemoveItem(player.source, item, 1, metadata, slot)
|
||||
elseif Config.InventoryScript == 'core_inventory' then
|
||||
coreInventoryRemoveItemWithMetadata(player, item, metadata)
|
||||
elseif Config.InventoryScript == 'codem' then
|
||||
exports['codem-inventory']:RemoveItem(player.source, item, 1, slot)
|
||||
elseif Config.InventoryScript == 'tgiannInv' then
|
||||
exports['tgiann-inventory']:RemoveItem(player.source, item, 1, nil)
|
||||
elseif Config.InventoryScript == 'ak47' then
|
||||
exports['ak47_inventory']:RemoveItem(player.source, item, 1, slot, metadata)
|
||||
else
|
||||
print('Inventory not properly configured')
|
||||
end
|
||||
end
|
||||
|
||||
function coreInventoryRemoveItemWithMetadata(player, item, metadata)
|
||||
local inv = 'content-' .. player.identifier:gsub(':', '')
|
||||
if metadata and type(metadata) == 'table' and metadata.id then
|
||||
exports['core_inventory']:removeItemExact(inv, metadata.id, 1)
|
||||
elseif metadata and type(metadata) ~= 'table' then
|
||||
local inventoryData = exports['core_inventory']:getInventory(inv)
|
||||
for k, v in pairs(inventoryData) do
|
||||
if v.name == item and v.metadata and v.metadata.plate then
|
||||
if string.find(v.metadata.plate, metadata) then
|
||||
exports['core_inventory']:removeItemExact(inv, v.id, 1)
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,69 @@
|
||||
if Config.Framework == 'esx' then
|
||||
ESX.RegisterCommand(Lang("ADMINCOMMAND_COMMAND"), Lang("ADMINCOMMAND_RANGE"), function(xPlayer, args, showError)
|
||||
if args.playerId then
|
||||
local target = args.playerId == "me" and xPlayer.source or args.playerId
|
||||
local PedVehicle = GetVehiclePedIsIn(GetPlayerPed(xPlayer.source), false)
|
||||
|
||||
if DoesEntityExist(PedVehicle) then
|
||||
local plate = GetVehicleNumberPlateText(PedVehicle)
|
||||
local model = GetEntityModel(PedVehicle)
|
||||
TriggerClientEvent(Config.Eventprefix..":client:sendMessage", xPlayer.source, Lang("ADMINCOMMAND_GIVED_VEHICLE"), "success")
|
||||
target.triggerEvent(Config.Eventprefix..":admin:giveKeys", plate, model, true)
|
||||
else
|
||||
TriggerClientEvent(Config.Eventprefix..":client:sendMessage", src, Lang("ADMINCOMMAND_NO_VEHICLE"), "error")
|
||||
end
|
||||
else
|
||||
TriggerClientEvent(Config.Eventprefix..":client:sendMessage", xPlayer.source, Lang("ADMINCOMMAND_NO_PLAYER"), "success")
|
||||
end
|
||||
end, false, {help = Lang("ADMINCOMMAND_HELP"), validate = true, arguments = {
|
||||
{name = 'playerId', validate = true, help = Lang("ADMINCOMMAND_PLAYER"), type = 'player'}
|
||||
}})
|
||||
|
||||
elseif Config.Framework == 'qb' then
|
||||
QBCore.Commands.Add(Lang("ADMINCOMMAND_COMMAND"), Lang("ADMINCOMMAND_HELP"), { { name = Lang("ADMINCOMMAND_PLAYER"), help = Lang("ADMINCOMMAND_PLAYER") } }, true, function(source, args)
|
||||
local target = args[1] == "me" and source or tonumber(args[1])
|
||||
if target ~= 0 then
|
||||
local PedVehicle = GetVehiclePedIsIn(GetPlayerPed(source), false)
|
||||
|
||||
if DoesEntityExist(PedVehicle) then
|
||||
local plate = GetVehicleNumberPlateText(PedVehicle)
|
||||
local model = GetEntityModel(PedVehicle)
|
||||
|
||||
TriggerClientEvent(Config.Eventprefix..":client:sendMessage", source, Lang("ADMINCOMMAND_GIVED_VEHICLE"), "success")
|
||||
TriggerClientEvent(Config.Eventprefix..":admin:giveKeys", target, plate, model, true)
|
||||
else
|
||||
TriggerClientEvent(Config.Eventprefix..":client:sendMessage", source, Lang("ADMINCOMMAND_NO_VEHICLE"), "error")
|
||||
end
|
||||
else
|
||||
TriggerClientEvent(Config.Eventprefix..":client:sendMessage", source, Lang("ADMINCOMMAND_NO_PLAYER"), "success")
|
||||
end
|
||||
end, Lang("ADMINCOMMAND_RANGE"))
|
||||
elseif Config.Framework == 'qbx' then
|
||||
lib.addCommand(Lang("ADMINCOMMAND_COMMAND"), {
|
||||
help = Lang("ADMINCOMMAND_HELP"),
|
||||
params = {
|
||||
{ name = Lang("ADMINCOMMAND_PLAYER"), help = Lang("ADMINCOMMAND_PLAYER"), optional = true },
|
||||
},
|
||||
restricted = 'group.admin'
|
||||
}, function(source, args)
|
||||
local target = args[1] == "me" and source or tonumber(args[1])
|
||||
if target == nil then
|
||||
target = source
|
||||
end
|
||||
if target ~= 0 then
|
||||
local PedVehicle = GetVehiclePedIsIn(GetPlayerPed(source), false)
|
||||
|
||||
if DoesEntityExist(PedVehicle) then
|
||||
local plate = GetVehicleNumberPlateText(PedVehicle)
|
||||
local model = GetEntityModel(PedVehicle)
|
||||
|
||||
TriggerClientEvent(Config.Eventprefix..":client:sendMessage", source, Lang("ADMINCOMMAND_GIVED_VEHICLE"), "success")
|
||||
TriggerClientEvent(Config.Eventprefix..":admin:giveKeys", target, plate, model, true)
|
||||
else
|
||||
TriggerClientEvent(Config.Eventprefix..":client:sendMessage", source, Lang("ADMINCOMMAND_NO_VEHICLE"), "error")
|
||||
end
|
||||
else
|
||||
TriggerClientEvent(Config.Eventprefix..":client:sendMessage", source, Lang("ADMINCOMMAND_NO_PLAYER"), "success")
|
||||
end
|
||||
end)
|
||||
end
|
||||
@@ -0,0 +1,52 @@
|
||||
RegisterNetEvent(Config.Eventprefix..':server:phoneDispatch', function(coords, street2)
|
||||
local alertData = {
|
||||
title = Lang("VEHICLEKEYS_NOTIFICATION_TITLE"),
|
||||
coords = {x = coords.x, y = coords.y, z = coords.z},
|
||||
description = Lang("VEHICLEKEYS_NOTIFICATION_POLICE_DISPATCH").." "..street2
|
||||
}
|
||||
TriggerClientEvent("qs-smartphone:client:addPoliceAlert", -1, alertData)
|
||||
end)
|
||||
|
||||
RegisterNetEvent(Config.Eventprefix..':server:Dispatch', function()
|
||||
local PlayerID = source
|
||||
|
||||
exports['qs-dispatch']:GetPlayerInfo(PlayerID, function(playerData)
|
||||
if (not playerData) then
|
||||
ErrorPrint("Error getting player data")
|
||||
return
|
||||
end
|
||||
|
||||
TriggerEvent('qs-dispatch:server:CreateDispatchCall', {
|
||||
job = { Config.JobPolice },
|
||||
callLocation = playerData.coords,
|
||||
callCode = { code = "10-42", snippet = "Vehicle Theft" },
|
||||
message = 'A ' .. playerData.sex .. ' has solten a vehicle near ' .. playerData.street_1 .. '.',
|
||||
flashes = false,
|
||||
image = nil,
|
||||
blip = {
|
||||
sprite = 490,
|
||||
scale = 1.5,
|
||||
colour = 1,
|
||||
flashes = false,
|
||||
text = "Vehicle Theft",
|
||||
time = (3 * 60 * 1000),
|
||||
},
|
||||
otherData = {
|
||||
{
|
||||
text = 'Vehicle Theft',
|
||||
icon = 'fas fa-car-side',
|
||||
}
|
||||
}
|
||||
})
|
||||
end)
|
||||
end)
|
||||
|
||||
RegisterNetEvent(Config.Eventprefix..':server:DispatchOrigen', function(coords)
|
||||
exports['origen_police']:SendAlert({
|
||||
coords = coords,
|
||||
title = 'Vehicle Theft',
|
||||
type = 'GENERAL',
|
||||
message = 'Vehicle Theft',
|
||||
job = Config.JobPolice,
|
||||
})
|
||||
end)
|
||||
@@ -0,0 +1,11 @@
|
||||
exports('GiveKeysServer', function(player, plate, model)
|
||||
GiveKeysServer(player, plate, model)
|
||||
end)
|
||||
|
||||
exports('RemoveKeysServer', function(player, plate, model)
|
||||
RemoveKeysServer(player, plate, model)
|
||||
end)
|
||||
|
||||
exports('GetKeyServer', function(player, plate)
|
||||
return GetKeyServer(player, plate)
|
||||
end)
|
||||
@@ -0,0 +1,32 @@
|
||||
if Config.InventoryScript == 'ox' then
|
||||
return
|
||||
end
|
||||
|
||||
RegisterUsableItem(Config.LockpickItem, function(source)
|
||||
local src = source
|
||||
TriggerClientEvent(Config.Eventprefix..":client:useLockpick", src, false)
|
||||
end)
|
||||
|
||||
RegisterUsableItem(Config.AdvancedLockpickItem, function(source)
|
||||
local src = source
|
||||
TriggerClientEvent(Config.Eventprefix..":client:useLockpick", src, true)
|
||||
end)
|
||||
|
||||
RegisterUsableItem(Config.VehicleKeysItem, function(source, item, itemData)
|
||||
local plate = item.info.plate
|
||||
local model = item.info.description
|
||||
TriggerClientEvent(Config.Eventprefix .. ':client:UseKey', source, plate, model)
|
||||
end)
|
||||
|
||||
RegisterUsableItem(Config.PlateItem, function(source, item)
|
||||
local plate = item.info.plate
|
||||
TriggerClientEvent(Config.Eventprefix..':client:UsePlate', source, plate)
|
||||
end)
|
||||
|
||||
RegisterUsableItem(Config.GPSItem, function(source)
|
||||
TriggerClientEvent(Config.Eventprefix..':client:UseGPS', source)
|
||||
end)
|
||||
|
||||
RegisterUsableItem(Config.TrackerItem, function(source)
|
||||
TriggerClientEvent(Config.Eventprefix..':client:UseTracker', source)
|
||||
end)
|
||||
Reference in New Issue
Block a user