diff --git a/readme.md b/readme.md index 68934fb..8d65773 100644 --- a/readme.md +++ b/readme.md @@ -1,122 +1,68 @@ -# MD-Drugs +# 🌿 MD-Drugs – Advanced Drug System for FiveM + +A fully customizable, immersive drug system for FiveM servers using QBCore or OX_Inventory. Features include drug processing, corner selling, edible/syringe animations, plant growth, and more.
-## **Credits** +--- -- **[Samuel's Development](https://fivem.samueldev.shop/):** Used their Christmas script global states and prop spawning (with permission). -- **[STACHY225](https://babiczind.tebex.io/category/2103836):** Meth network animations. -- **[Bostra](https://discord.gg/5ncbwMNq):** Free scripts, sanity checks, and those cute mushrooms! +- **[Samuel's Development](https://fivem.samueldev.shop/ ):** Used their Christmas script global states and prop spawning (with permission). +- **[STACHY225](https://babiczind.tebex.io/category/2103836 ):** Meth network animations. +- **[Bostra](https://discord.gg/5ncbwMNq ):** Free scripts, sanity checks, and those cute mushrooms! - **[Feisty]():** Stunning visuals that make everything look amazing. - **Beta Testers:** Your invaluable feedback made this possible. -- **[1of1 Servers](https://1of1servers.com/):** Top-notch hosting and support. Join their [Discord](https://discord.gg/1of1servers). -- **[Kamaryn](https://discord.gg/KPRmZqFS):** For the [installation guide video](https://youtu.be/zvuYnUfrqaA?si=FGJuBO5krZMC14Nd). +- **[1of1 Servers](https://1of1servers.com/ ):** Top-notch hosting and support. Join their [Discord](https://discord.gg/1of1servers ). +- **[Kamaryn](https://discord.gg/KPRmZqFS ):** For the [installation guide video](https://youtu.be/zvuYnUfrqaA?si=FGJuBO5krZMC14Nd). + +## 🎬 Preview + +🎥 **[Watch Full Preview Video](https://www.youtube.com/watch?v=I_x7_oz_SAU)** -## **Dependencies** +--- -- **[ox_lib](https://github.com/overextended/ox_lib/releases/tag/v3.12.0)** -- **[qb-target](https://github.com/qbcore-framework/qb-target)** or **[ox_target](https://github.com/overextended/ox_target)** -- **Emote Scripts (supports animations):** - - [dpemotes](https://github.com/andristum/dpemotes) <-- seriously just use rpemotes. this is old and outdated - - [rpemotes](https://github.com/alberttheprince/rpemotes-reborn) - - [scully_emotemenu](https://github.com/Scullyy/scully_emotemenu) -- **[Read](https://letters.hookedonphonics.com/us/read-guaranteed-G14.html)** -- **Game Build 2944 or Later** +## 📦 Dependencies +| Dependency | Link | +|----------|------| +| `ps_lib` | [GitHub - Project-Sloth/ps_lib](https://github.com/Project-Sloth/ps_lib) | +| `Read` | [Read Docs](https://letters.hookedonphonics.com/us/read-guaranteed-G14.html) | +| Game Build | **2944 or later** required | +> ⚠️ Ensure all dependencies are installed and up to date before proceeding. -## **Preview** +--- -- **[Watch Preview](https://www.youtube.com/watch?v=I_x7_oz_SAU)** +## 🛠️ Installation +### Step 1: Inventory Integration -## **How to install like a fuckin boss** +#### For QBCore (`qb-inventory`) +1. Copy items from `md-drugs/items_install/qb-inventory` into `qb-core/shared/items.lua`. +2. Add item images from `md-drugs/items_install/images` to `qb-inventory/html/images`. -### STEP 1 +#### For OX_Inventory +1. Copy items from `md-drugs/items_install/ox_inventory` into `ox_inventory/data/items.lua`. +2. Add item images to `ox_inventory/web/images`. -- qb-inventory users go to md-drugs/items_install/qb-inventory and add the Items to `qb-core/shared/items.lua` and - Add items from md-drugs/items_install/images to qb-inventory/html/images -- ox_inventory users go to md-drugs/items_install/ox_inventory and add the Items to `ox_inventory/data/items.lua` and - Add items from md-drugs/items_install/images to ox_inventory/web/images +--- -### STEP 2 -- delete `qb-drugs` +### Step 2: Configure Drug Locations & Recipes +- All **processing locations and recipes** are located in their respective drug type files: + - `cocaine.lua`, `meth.lua`, `weed.lua`, etc. +- **Plant spawns** are managed in `server/plantSpawns.lua`. + +> ✏️ Modify these files to customize spawn points, yields, and processing times. + +--- ### STEP 3 - -- all locations, shops, pricings, and recipes are in the server files now utilizing callbacks to build targets and retrieve data - - shops.lua - - travelling merchant - - Weed Store - - Dealer Shops - - locations.lua - - holds all old config options for locations. edit what you need in here - - if you previously had them in the config copy and paste the INTERIOR guts of the options. example below - ```lua - Config.MakePowder = { - {loc = vector3(1086.20, -3195.30, -39.20), l = 1.0, w = 1.0, rot = 45.0, gang = ""}, - {loc = vector3(1090.15, -3199.5, -39.18), l = 1.0, w = 1.0, rot = 45.0, gang = ""}, - {loc = vector3(1093.09, -3199.53, -39.05), l = 1.0, w = 1.0, rot = 45.0, gang = ""}, - } - ``` - is now - ```lua - local Target = { - MakePowder = { - {loc = vector3(1086.20, -3195.30, -39.20), l = 1.0, w = 1.0, rot = 45.0, gang = ""}, - {loc = vector3(1090.15, -3199.5, -39.18), l = 1.0, w = 1.0, rot = 45.0, gang = ""}, - {loc = vector3(1093.09, -3199.53, -39.05), l = 1.0, w = 1.0, rot = 45.0, gang = ""}, - } - } - ``` - - see its a simple change. - - recipes.lua - - handles the vast majority of remove X get Y - - Cornerselling.lua - - now the drug table is inserted into this file. - - copy and paste your data inside of the - ```lua - local Drugs = { -- for example - ["weed_white-widow"] = {rep = 1,min = 15, max = 24 }, - ["weed_og-kush"] = {rep = 1,min = 15, max = 28 }, - } - ``` - - all plant locations i.e. coke, heroin, weed, shrooms, mescaline are in the respective server files - - check server files to see drug specific settings now. - - heroin/lsd/ and xtc will have a setting table now at the top - ### HOW TO CONVERT FROM OLD - - its simple really - - copy the data from your Config and paste it in locations.lua - - if the previous config option was a single location ( Not designed for multiples) then check target.singleSpot - - shops.lua will now hold all shops for md-drugs so edit the data needed there - - this is simple but tedious, but will handle security better in the long run - - if you want to be lazy you can delete everything from - ```lua - local Targt = { - - } - ``` - **besides singleSpot** - - and copy and paste your - ```lua - Config.MakePowder = { - {loc = vector3(1086.20, -3195.30, -39.20), l = 1.0, w = 1.0, rot = 45.0, gang = ""}, - {loc = vector3(1090.15, -3199.5, -39.18), l = 1.0, w = 1.0, rot = 45.0, gang = ""}, - {loc = vector3(1093.09, -3199.53, -39.05), l = 1.0, w = 1.0, rot = 45.0, gang = ""}, - } - and change the Config to Target like this BELOW the local Target = { - Target.MakePowder = { - {loc = vector3(1086.20, -3195.30, -39.20), l = 1.0, w = 1.0, rot = 45.0, gang = ""}, - {loc = vector3(1090.15, -3199.5, -39.18), l = 1.0, w = 1.0, rot = 45.0, gang = ""}, - {loc = vector3(1093.09, -3199.53, -39.05), l = 1.0, w = 1.0, rot = 45.0, gang = ""}, - } - ``` -### STEP 4 - Head to your emote script search for **uncuff** if it's missing add it - if rpemotes do this - go to client/animationListCustom.lua @@ -193,7 +139,7 @@ ``` -# STEP 5 +### STEP 4 (IF QBCore) - check `qb-smallresources/config.lua` and if this exists, delete it - look for this code ```lua @@ -211,54 +157,7 @@ } ``` -# STEP 6 +### STEP 6 - Run SQL - - -# **OPTIONAL STEPS** - -## Fivemerr -This is **NOT** a requirement but something I personally use and believe in. - - -- to integrate with fivemerr make sure you have ```set fivemerrLogs "API_KEY"``` in your server.cfg - -- Head to /server/functions.lua turn local logs = true - -- profit - -Why Integrate with Fivemerr? - -- Efficient Logging: Unlike Discord webhooks, Fivemerr provides an organized and searchable log system. -- Media Storage: Easily store and access images or videos without relying on Discord. Discord's API often deletes media after a certain time, but Fivemerr keeps them secure and accessible. -- As well as a place to offload images and videos from fivem that doesnt rely on discord since discord API will be automatically deleting images and videos after a certain amount of time If you need an invite to their server look below - -[Fivemerr Discord](https://discord.com/invite/fivemerr) - -[Fivemerr Docs](https://docs.fivemerr.com/) - -## Radial Menu -- head to `qb-radial/config.lua` and search for the following event -```lua - event = 'qb-drugs:client:cornerselling', -``` -- and change it to this -```lua - event = 'md-drugs:client:cornerselling', -``` - - -## For Qb-shops users - -- Head to `qb-shops/config.lua` **Config.Products** and add the folowing items to OR anywhere else you want them. The Only way in this script to get them is to find the travelling merchant - -```lua - {name = 'bakingsoda', price = 100, amount = 5000, info = {}, type = 'item'}, - {name = 'emptyvial', price = 100, amount = 5000, info = {}, type = 'item'}, - {name = 'needle', price = 100, amount = 5000, info = {}, type = 'item'}, -``` - -## Tier System -- Turn On Config.TierSystem after you run the sql file - -[mlo i use](https://www.gta5-mods.com/maps/mlo-4x-drug-lab-interiors-sp-fivem) heres an option. use it or dont. + - if you dont know how, click this image below + - [](https://www.youtube.com/watch?v=8QpFOluK_xo) \ No newline at end of file diff --git a/server/lsd.lua b/server/lsd.lua index 7aa3881..f891533 100644 --- a/server/lsd.lua +++ b/server/lsd.lua @@ -128,7 +128,7 @@ RegisterServerEvent('md-drugs:server:refinequalityacid', function() if not hasLabKit(src) then return end if not ps.hasItem(src, 'lsd_one_vial', 1) then return end if Config.TierSystem then - local lsd = getRep(src, 'lsd') + local lsd = tonumber(getRep(src, 'lsd')) if ps.removeItem(src, 'lsd_one_vial', 1) then if lsd <= 30 then ps.addItem(src,'lsd_vial_two', 1) diff --git a/version.txt b/version.txt index ae8b5e3..2986038 100644 --- a/version.txt +++ b/version.txt @@ -1,3 +1,4 @@ -Newest Build:3.9.1 -- `tested` version checker +Newest Build:4.0.0 +- updated everything to ps_lib +