QBCore Framework
Copyright (C) 2021 Joshua Eger
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>
- qb-core
- qb-logs - For logging transfer and other history
- qb-traphouse - Trap house system for qbcore
- qb-radio - Radio system for communication
- qb-drugs - Drugs and Weed Planting System
- qb-shops - Needed in order to add shops
- Item crafting
- Weapon attachment crafting
- Stashes (Personal and/or Shared)
- Vehicle Trunk & Glovebox
- Weapon serial number
- Shops
- Item Drops
- Download the script and put it in the
[qb]
directory. - Import
qb-inventory.sql
in your database - Add the following code to your server.cfg/resouces.cfg
ensure qb-core
ensure qb-logs
ensure qb-inventory
ensure qb-traphouse
ensure qb-radio
ensure qb-drugs
ensure qb-shops
Config = {}
Config.UseTarget = GetConvar('UseTarget', 'false') == 'true' -- Use qb-target interactions (don't change this, go to your server.cfg and add `setr UseTarget true` to use this and just that from true to false or the other way around)
Config.MaxInventoryWeight = 120000 -- Max weight a player can carry (default 120kg, written in grams)
Config.MaxInventorySlots = 41 -- Max inventory slots for a player
Config.CleanupDropTime = 15 * 60 -- How many seconds it takes for drops to be untouched before being deleted
Config.MaxDropViewDistance = 12.5 -- The distance in GTA Units that a drop can be seen
Config.UseItemDrop = false -- This will enable item object to spawn on drops instead of markers
Config.ItemDropObject = `prop_nigel_bag_pickup` -- if Config.UseItemDrop is true, this will be the prop that spawns for the item
Config.VendingObjects = {
"prop_vend_soda_01",
"prop_vend_soda_02",
"prop_vend_water_01"
}
Config.BinObjects = {
"prop_bin_05a",
}
Config.CraftingObject = `prop_toolchest_05`
Config.VendingItem = {
[1] = {
name = "kurkakola",
price = 4,
amount = 50,
info = {},
type = "item",
slot = 1,
},
[2] = {
name = "water_bottle",
price = 4,
amount = 50,
info = {},
type = "item",
slot = 2,
},
}
Config.CraftingItems = {
[1] = {
name = "lockpick",
amount = 50,
info = {},
costs = {
["metalscrap"] = 22,
["plastic"] = 32,
},
type = "item",
slot = 1,
threshold = 0,
points = 1,
},
[2] = {
name = "screwdriverset",
amount = 50,
info = {},
costs = {
["metalscrap"] = 30,
["plastic"] = 42,
},
type = "item",
slot = 2,
threshold = 0,
points = 2,
},
[3] = {
name = "electronickit",
amount = 50,
info = {},
costs = {
["metalscrap"] = 30,
["plastic"] = 45,
["aluminum"] = 28,
},
type = "item",
slot = 3,
threshold = 0,
points = 3,
},
[4] = {
name = "radioscanner",
amount = 50,
info = {},
costs = {
["electronickit"] = 2,
["plastic"] = 52,
["steel"] = 40,
},
type = "item",
slot = 4,
threshold = 0,
points = 4,
},
[5] = {
name = "gatecrack",
amount = 50,
info = {},
costs = {
["metalscrap"] = 10,
["plastic"] = 50,
["aluminum"] = 30,
["iron"] = 17,
["electronickit"] = 2,
},
type = "item",
slot = 5,
threshold = 110,
points = 5,
},
[6] = {
name = "handcuffs",
amount = 50,
info = {},
costs = {
["metalscrap"] = 36,
["steel"] = 24,
["aluminum"] = 28,
},
type = "item",
slot = 6,
threshold = 160,
points = 6,
},
[7] = {
name = "repairkit",
amount = 50,
info = {},
costs = {
["metalscrap"] = 32,
["steel"] = 43,
["plastic"] = 61,
},
type = "item",
slot = 7,
threshold = 200,
points = 7,
},
[8] = {
name = "pistol_ammo",
amount = 50,
info = {},
costs = {
["metalscrap"] = 50,
["steel"] = 37,
["copper"] = 26,
},
type = "item",
slot = 8,
threshold = 250,
points = 8,
},
[9] = {
name = "ironoxide",
amount = 50,
info = {},
costs = {
["iron"] = 60,
["glass"] = 30,
},
type = "item",
slot = 9,
threshold = 300,
points = 9,
},
[10] = {
name = "aluminumoxide",
amount = 50,
info = {},
costs = {
["aluminum"] = 60,
["glass"] = 30,
},
type = "item",
slot = 10,
threshold = 300,
points = 10,
},
[11] = {
name = "armor",
amount = 50,
info = {},
costs = {
["iron"] = 33,
["steel"] = 44,
["plastic"] = 55,
["aluminum"] = 22,
},
type = "item",
slot = 11,
threshold = 350,
points = 11,
},
[12] = {
name = "drill",
amount = 50,
info = {},
costs = {
["iron"] = 50,
["steel"] = 50,
["screwdriverset"] = 3,
["advancedlockpick"] = 2,
},
type = "item",
slot = 12,
threshold = 1750,
points = 12,
},
}
Config.AttachmentCraftingLocation = vector3(88.91, 3743.88, 40.77)
Config.AttachmentCrafting = {
["items"] = {
[1] = {
name = "pistol_extendedclip",
amount = 50,
info = {},
costs = {
["metalscrap"] = 140,
["steel"] = 250,
["rubber"] = 60,
},
type = "item",
slot = 1,
threshold = 0,
points = 1,
},
[2] = {
name = "pistol_suppressor",
amount = 50,
info = {},
costs = {
["metalscrap"] = 165,
["steel"] = 285,
["rubber"] = 75,
},
type = "item",
slot = 2,
threshold = 10,
points = 2,
},
[3] = {
name = "smg_extendedclip",
amount = 50,
info = {},
costs = {
["metalscrap"] = 190,
["steel"] = 305,
["rubber"] = 85,
},
type = "item",
slot = 3,
threshold = 25,
points = 3,
},
[4] = {
name = "microsmg_extendedclip",
amount = 50,
info = {},
costs = {
["metalscrap"] = 205,
["steel"] = 340,
["rubber"] = 110,
},
type = "item",
slot = 4,
threshold = 50,
points = 4,
},
[5] = {
name = "smg_drum",
amount = 50,
info = {},
costs = {
["metalscrap"] = 230,
["steel"] = 365,
["rubber"] = 130,
},
type = "item",
slot = 5,
threshold = 75,
points = 5,
},
[6] = {
name = "smg_scope",
amount = 50,
info = {},
costs = {
["metalscrap"] = 255,
["steel"] = 390,
["rubber"] = 145,
},
type = "item",
slot = 6,
threshold = 100,
points = 6,
},
[7] = {
name = "assaultrifle_extendedclip",
amount = 50,
info = {},
costs = {
["metalscrap"] = 270,
["steel"] = 435,
["rubber"] = 155,
["smg_extendedclip"] = 1,
},
type = "item",
slot = 7,
threshold = 150,
points = 7,
},
[8] = {
name = "assaultrifle_drum",
amount = 50,
info = {},
costs = {
["metalscrap"] = 300,
["steel"] = 469,
["rubber"] = 170,
["smg_extendedclip"] = 2,
},
type = "item",
slot = 8,
threshold = 200,
points = 8,
},
}
}
BackEngineVehicles = {
[`ninef`] = true,
[`adder`] = true,
[`vagner`] = true,
[`t20`] = true,
[`infernus`] = true,
[`zentorno`] = true,
[`reaper`] = true,
[`comet2`] = true,
[`comet3`] = true,
[`jester`] = true,
[`jester2`] = true,
[`cheetah`] = true,
[`cheetah2`] = true,
[`prototipo`] = true,
[`turismor`] = true,
[`pfister811`] = true,
[`ardent`] = true,
[`nero`] = true,
[`nero2`] = true,
[`tempesta`] = true,
[`vacca`] = true,
[`bullet`] = true,
[`osiris`] = true,
[`entityxf`] = true,
[`turismo2`] = true,
[`fmj`] = true,
[`re7b`] = true,
[`tyrus`] = true,
[`italigtb`] = true,
[`penetrator`] = true,
[`monroe`] = true,
[`ninef2`] = true,
[`stingergt`] = true,
[`surfer`] = true,
[`surfer2`] = true,
[`gp1`] = true,
[`autarch`] = true,
[`tyrant`] = true
}
Config.MaximumAmmoValues = {
["pistol"] = 250,
["smg"] = 250,
["shotgun"] = 200,
["rifle"] = 250,
}