2024-10-28 14:11:49 -07:00
# MD-Drugs
2023-12-07 15:45:48 -08:00
2023-12-17 01:02:02 +01:00
<div align="center">
<a href="https://discord.gg/sAMzrB4DDx">
2024-11-12 01:19:37 -08:00
<img align="center" src="https://i.imgur.com/t65G9Z0.png" width="200">
2023-12-17 01:02:02 +01:00
</a><br>
2024-11-25 02:07:07 -08:00
<a href="https://discord.gg/sAMzrB4DDx"><strong>Mustache Scripts Discord</strong></a><br>
2023-12-17 01:02:02 +01:00
</div>
2023-12-07 15:45:48 -08:00
2024-11-25 02:07:07 -08:00
## **Credits**
2023-12-07 15:45:48 -08:00
2024-11-25 02:07:07 -08:00
- **[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 ).
2024-05-18 14:08:25 -07:00
2023-12-07 15:45:48 -08:00
2024-11-25 02:07:07 -08:00
## **Dependencies**
2023-12-07 15:45:48 -08:00
2024-11-25 02:07:07 -08:00
- **[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):**
2024-11-26 16:07:15 -08:00
- [dpemotes ](https://github.com/andristum/dpemotes ) <-- seriously just use rpemotes. this is old and outdated
2024-11-25 02:07:07 -08:00
- [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**
2024-05-02 18:34:49 -07:00
2023-12-07 15:45:48 -08:00
2024-07-11 17:52:33 -07:00
2024-11-25 02:07:07 -08:00
## **Preview**
2023-12-11 15:22:52 -08:00
2024-11-25 02:07:07 -08:00
- **[Watch Preview ](https://www.youtube.com/watch?v=I_x7_oz_SAU )**
2023-12-11 15:22:52 -08:00
2023-12-16 23:35:43 -06:00
2024-11-25 02:07:07 -08:00
## **How to install like a fuckin boss**
2023-12-07 15:45:48 -08:00
2024-10-28 14:11:49 -07:00
### STEP 1
2023-12-07 15:45:48 -08:00
2024-10-28 14:11:49 -07:00
- 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
2023-12-07 15:45:48 -08:00
2024-10-28 14:11:49 -07:00
### STEP 2
- delete `qb-drugs`
2023-12-07 15:45:48 -08:00
2024-10-28 14:11:49 -07:00
### STEP 3
2024-11-26 16:07:15 -08:00
2024-11-26 15:45:17 -08:00
- all locations, shops, pricings, and recipes are in the server files now utilizing callbacks to build targets and retrieve data
2024-11-12 01:19:37 -08:00
- 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 <strong> INTERIOR </strong> 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
2024-11-26 16:07:15 -08:00
local Drugs = { -- for example
["weed_white-widow"] = {rep = 1,min = 15, max = 24 },
["weed_og-kush"] = {rep = 1,min = 15, max = 28 },
2024-11-12 01:19:37 -08:00
}
` ``
- all plant locations i.e. coke, heroin, weed, shrooms, mescaline are in the respective server files
2024-11-26 16:07:15 -08:00
- 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 = ""},
}
` ``
2024-10-28 14:11:49 -07:00
### STEP 4
2024-05-18 14:01:26 -07:00
- Head to your emote script search for **uncuff** if it's missing add it
2024-10-28 14:11:49 -07:00
- if rpemotes do this
- go to client/animationListCustom.lua
- add these to the CustomDP.Emotes = {}
` ``lua
["uncuff"] = {"mp_arresting","a_uncuff","Uncuff", AnimationOptions = { EmoteLoop = true, EmoteMoving = true } },
["edible"] = { "mp_player_inteat@burger", "mp_player_int_eat_burger", "edible", AnimationOptions = { EmoteLoop = false, EmoteMoving = true }},
` ``
- Add This to CustomDP.PropEmotes = {}
` ``lua
["shootup"] = { "rcmpaparazzo1ig_4", "miranda_shooting_up", "Shoot Up", AnimationOptions = {EmoteLoop = true,EmoteMoving = true,Prop = 'prop_syringe_01', PansexualPropBone = 18905,PropPlacement = {0.11, 0.03, 0.0, -124.0, 0.0, 0.0},}}
` ``
- elseif dpemotes add this to client/AnimationList.lua
- add these to DP.Emotes = {}
` ``lua
["uncuff"] = {"mp_arresting","a_uncuff","Uncuff", AnimationOptions = { EmoteLoop = true, EmoteMoving = true } },
["edible"] = { "mp_player_inteat@burger", "mp_player_int_eat_burger", "edible", AnimationOptions = { EmoteLoop = false, EmoteMoving = true }},
` ``
- add these to DP.PropEmotes = {}
` ``lua
["shootup"] = { "rcmpaparazzo1ig_4", "miranda_shooting_up", "Shoot Up", AnimationOptions = {EmoteLoop = true,EmoteMoving = true,Prop = 'prop_syringe_01', PansexualPropBone = 18905,PropPlacement = {0.11, 0.03, 0.0, -124.0, 0.0, 0.0},}}
` ``
- elseif scullyemotes then
- add this to emotes.lua
` ``lua
{
Label = 'Uncuff',
Command = 'uncuff',
Animation = 'a_uncuff',
Dictionary = 'mp_arresting',
Options = {
Flags = {
Loop = true,
Move = true,
},
}
},
{
Label = 'Edibles',
Command = 'edible',
Animation = 'mp_player_int_eat_burger',
Dictionary = 'mp_player_inteat@burger',
Options = {
Flags = {
Loop = true,
Move = true,
},
}
},
` ``
- then in prop emotes do
` ``lua
{
Label = 'Shoot Up',
Command = 'shootup',
Animation = "miranda_shooting_up",
Dictionary = "rcmpaparazzo1ig_4",
Options = {
Flags = {
Loop = true,
},
Props = {
{
Bone = 18905,
Name = 'prop_syringe_01',
Placement = {
vector3(0.11, 0.03, 0.0),
vector3( -124.0, 0.0, 0.0),
},
},
},
2024-05-02 18:34:49 -07:00
},
},
2024-10-28 14:11:49 -07:00
` ``
# STEP 5
- check ` qb-smallresources/config.lua` and if this exists, delete it
- look for this code
` ``lua
[2] = { --Coke Processing Enter/Exit
[1] = {
poly = { coords = vector3(909.49, -1589.22, 30.51), heading = 92.24, length = 2, width = 2 },
allowVeh = false,
label = '[E] Enter Coke Processing'
},
[2] = {
poly = { coords = vector3(1088.81, -3187.57, -38.99), heading = 181.7, length = 2, width = 2 },
allowVeh = false,
label = '[E] Leave'
}
}
` ``
2024-05-02 18:34:49 -07:00
2024-10-28 14:11:49 -07:00
# STEP 6
- Run SQL
2024-07-16 14:17:27 -07:00
2024-11-25 02:07:07 -08:00
# **OPTIONAL STEPS**
2024-10-28 14:11:49 -07:00
## Fivemerr
2024-11-25 02:07:07 -08:00
This is **NOT** a requirement but something I personally use and believe in.
2024-07-19 00:11:11 -07:00
- to integrate with fivemerr make sure you have ` ``set fivemerrLogs "API_KEY"` `` in your server.cfg
2024-07-16 14:23:16 -07:00
2024-07-19 01:57:14 -07:00
- Head to /server/functions.lua turn local logs = true
2024-07-19 00:11:11 -07:00
- profit
2024-11-25 02:07:07 -08:00
<b>Why Integrate with Fivemerr?</b>
- 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)
2024-07-16 14:17:27 -07:00
2024-11-25 02:07:07 -08:00
[Fivemerr Docs](https://docs.fivemerr.com/)
2024-07-16 14:17:27 -07:00
2024-11-12 17:22:12 -08:00
## Radial Menu
2024-10-28 14:11:49 -07:00
- head to ` qb-radial/config.lua` and search for the following event
2024-07-11 17:58:10 -07:00
` ``lua
event = 'qb-drugs:client:cornerselling',
` ``
2024-10-28 14:11:49 -07:00
- and change it to this
2024-07-11 17:58:10 -07:00
` ``lua
event = 'md-drugs:client:cornerselling',
` ``
2024-07-16 14:43:05 -07:00
2024-11-12 17:22:12 -08:00
## For Qb-shops users
2024-07-11 17:52:33 -07:00
2024-10-28 14:11:49 -07:00
- 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
2024-07-11 17:52:33 -07:00
` ``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'},
` ``
2024-11-12 17:22:12 -08:00
## Tier System
2024-10-28 14:11:49 -07:00
- Turn On Config.TierSystem after you run the sql file
2024-01-12 12:40:27 -08:00
2024-05-18 14:01:26 -07:00
[mlo i use ](https://www.gta5-mods.com/maps/mlo-4x-drug-lab-interiors-sp-fivem ) heres an option. use it or dont.