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)
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user