Skip to content

Mustachedom/md-drugs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MD-Drugs

Credits

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, 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
              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 = { -- 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

        local Targt = {
            
        }

        besides singleSpot

        and copy and paste your

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

  • 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

Fivemerr Docs

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.