Files
md-drugs/readme.md
T
2024-11-12 01:19:37 -08:00

10 KiB

MD-Drugs

Credits

  • I used Samuel's development Christmas script global states and prop spawning (with permission obtained prior to release) in the development process.
  • Shout out to STACHY225 for working out the meth network animations!
  • Huge credit to Bostra for sharing free scripts and providing sanity checks during moments of confusion. Those cute mushrooms? His creation!
  • Special thanks to Feisty for the stunning visuals. If it looks good, she probably had a hand in it.
  • Special shoutout to Beta TestersYour feedback has been invaluable!
  • Big Credit to Bostra. if you have been around you may have seen him post some free scripts and help people, There was definetly times I dm'd him saying what the fuck am I doing and he helped keep me sane. He also made the cute mushrooms!
  • Jim's Tebex for putting out open source resources that I was able to break and fix and learn how to code
  • jixeltay for putting out banger after banger. These people help the community learn so much more
  • Our partner 1of1 Servers and their discord for their amazing server hosting! absolutely top notch.
  • Thanks to Kamaryn for this install guide video join their discord for other videos updates.

Dependencies

Preview

How to install like a fuckin boss

STEP 1

  • 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 3

  • all locations are in the server files now utilizing callbacks to build targets
    • 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
              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
          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
            local Drugs = {
        
            }
        
    • all plant locations i.e. coke, heroin, weed, shrooms, mescaline are in the respective server files

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
        • add these to the CustomDP.Emotes = {}
            ["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 = {}
            ["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 = {}
             ["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 = {}
           ["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
            {
            	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
        {
                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),
                            },
                        },
                    },
                },
            },
        

STEP 5

  • check qb-smallresources/config.lua and if this exists, delete it
    • look for this code
      [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'
              }
          }
      

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? Its a great place to store logs as it doesnt rely on discord webhooks and its far easier to search through

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

Radial Menu

  • head to qb-radial/config.lua and search for the following event
     event = 'qb-drugs:client:cornerselling',
  • and change it to this
     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
	{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 heres an option. use it or dont.