- big change, moved data to shared folder
This commit is contained in:
1 parent
fdc28723bc
commit
c7eca0285b
52 files changed
+1117
-1128
No files matched your search
+1
-2
@@ -1,7 +1,6 @@
|
|||||||
local cuttingcoke = nil
|
local cuttingcoke = nil
|
||||||
local baggingcoke = nil
|
local baggingcoke = nil
|
||||||
repeat Wait(100) until GlobalState.MDDrugsLocations.Cocaine ~= nil
|
local locations = Config.Cocaine.Locations
|
||||||
local locations = GlobalState.MDDrugsLocations.Cocaine
|
|
||||||
|
|
||||||
local function CutCoke(coords, offset, rotation)
|
local function CutCoke(coords, offset, rotation)
|
||||||
cuttingcoke = true
|
cuttingcoke = true
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
local sell = false
|
local sell = false
|
||||||
local inZone = false
|
local inZone = false
|
||||||
local buyers = {}
|
local buyers = {}
|
||||||
|
|
||||||
local function walkAway(targ)
|
local function walkAway(targ)
|
||||||
FreezeEntityPosition(targ, false)
|
FreezeEntityPosition(targ, false)
|
||||||
ClearPedTasks(targ)
|
ClearPedTasks(targ)
|
||||||
@@ -209,7 +210,7 @@ RegisterNetEvent('md-drugs:client:cornerselling', function()
|
|||||||
end)
|
end)
|
||||||
|
|
||||||
CreateThread(function()
|
CreateThread(function()
|
||||||
for k, v in pairs (GlobalState.MDDrugsLocations.CornerSelling.noSellZones) do
|
for k, v in pairs (Config.Cornerselling.noSellZones) do
|
||||||
Bridge.Point.Register(
|
Bridge.Point.Register(
|
||||||
'MDDRUGNOSELLZONE'..k,
|
'MDDRUGNOSELLZONE'..k,
|
||||||
v.loc,
|
v.loc,
|
||||||
|
|||||||
+1
-2
@@ -1,5 +1,4 @@
|
|||||||
repeat Wait(100) until GlobalState.MDDrugsLocations.Crack ~= nil
|
local locations = Config.Crack.Locations
|
||||||
local locations = GlobalState.MDDrugsLocations.Crack
|
|
||||||
|
|
||||||
for k, v in pairs (locations.makecrack) do
|
for k, v in pairs (locations.makecrack) do
|
||||||
Bridge.Target.AddBoxZone('makeCrack'..k, v.loc, v.size, v.loc.w or 180.0, {
|
Bridge.Target.AddBoxZone('makeCrack'..k, v.loc, v.size, v.loc.w or 180.0, {
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
local dealer = {}
|
local dealer = {}
|
||||||
local buyer = nil
|
local buyer = nil
|
||||||
|
|
||||||
repeat Wait(100) until GlobalState.MDDrugsLocations.Deliveries.dealers ~= nil
|
repeat Wait(100) until GlobalState.MDDrugDealers ~= nil
|
||||||
|
|
||||||
local function SpawnDealer()
|
local function SpawnDealer()
|
||||||
if #dealer >= 1 then
|
if #dealer >= 1 then
|
||||||
@@ -11,7 +11,7 @@ local function SpawnDealer()
|
|||||||
end
|
end
|
||||||
dealer = {}
|
dealer = {}
|
||||||
end
|
end
|
||||||
for k,v in pairs(GlobalState.MDDrugsLocations.Deliveries.dealers) do
|
for k,v in pairs(GlobalState.MDDrugDealers) do
|
||||||
requestModel(v.model)
|
requestModel(v.model)
|
||||||
dealer[k] = CreatePed(0, v.model, v.coords.x, v.coords.y, v.coords.z-1, v.coords.w, false, false)
|
dealer[k] = CreatePed(0, v.model, v.coords.x, v.coords.y, v.coords.z-1, v.coords.w, false, false)
|
||||||
Freeze(dealer[k], true, v.coords.w)
|
Freeze(dealer[k], true, v.coords.w)
|
||||||
@@ -29,7 +29,7 @@ local function SpawnDealer()
|
|||||||
action = function()
|
action = function()
|
||||||
local rep = GetRep()
|
local rep = GetRep()
|
||||||
local options = {}
|
local options = {}
|
||||||
for m, d in pairs (GlobalState.MDDrugsRecipes.Deliveries) do
|
for m, d in pairs (Config.Deliveries.Recipes) do
|
||||||
if rep.dealerrep >= d.minrep then
|
if rep.dealerrep >= d.minrep then
|
||||||
options[#options+1] = {
|
options[#options+1] = {
|
||||||
title = Bridge.Inventory.GetItemInfo(d.name).label,
|
title = Bridge.Inventory.GetItemInfo(d.name).label,
|
||||||
@@ -50,7 +50,6 @@ local function SpawnDealer()
|
|||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
targets[#targets+1] = dealer[k]
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -81,5 +80,4 @@ RegisterNetEvent('md-drugs:client:setLocation', function(data)
|
|||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
targets[#targets+1] = buyer
|
|
||||||
end)
|
end)
|
||||||
+2
-2
@@ -1,8 +1,8 @@
|
|||||||
|
|
||||||
local herointable = false
|
local herointable = false
|
||||||
local dirty = false
|
local dirty = false
|
||||||
repeat Wait(100) until GlobalState.MDDrugsLocations.Heroin ~= nil
|
|
||||||
local locations = GlobalState.MDDrugsLocations.Heroin
|
local locations = Config.Heroin.Locations
|
||||||
|
|
||||||
local function createLabKit(coord, head)
|
local function createLabKit(coord, head)
|
||||||
local heroinlabkit = CreateObject("v_ret_ml_tablea", coord.x, coord.y, coord.z - 1, true, false,false)
|
local heroinlabkit = CreateObject("v_ret_ml_tablea", coord.x, coord.y, coord.z - 1, true, false,false)
|
||||||
|
|||||||
+3
-3
@@ -1,8 +1,8 @@
|
|||||||
|
|
||||||
local started = false
|
local started = false
|
||||||
local leanCar = nil
|
local leanCar = nil
|
||||||
repeat Wait(100) until GlobalState.MDDrugsRecipes.Lean ~= nil
|
|
||||||
local location = GlobalState.MDDrugsLocations.Lean
|
local location = Config.Lean.Locations
|
||||||
|
|
||||||
local function SpawnCarPedChase(loc)
|
local function SpawnCarPedChase(loc)
|
||||||
local stoploc = vector3(-1157.63, -3056.71, 13.94)
|
local stoploc = vector3(-1157.63, -3056.71, 13.94)
|
||||||
@@ -109,7 +109,7 @@ end
|
|||||||
|
|
||||||
RegisterNetEvent("md-drugs:client:makeLean", function()
|
RegisterNetEvent("md-drugs:client:makeLean", function()
|
||||||
local menu = {}
|
local menu = {}
|
||||||
for k, v in pairs (GlobalState.MDDrugsRecipes.Lean) do
|
for k, v in pairs (Config.Lean.Recipes) do
|
||||||
menu[#menu+1] = {
|
menu[#menu+1] = {
|
||||||
title = Bridge.Inventory.GetItemInfo(v.item).label,
|
title = Bridge.Inventory.GetItemInfo(v.item).label,
|
||||||
description = concat(v.ingredients),
|
description = concat(v.ingredients),
|
||||||
|
|||||||
+1
-3
@@ -1,8 +1,6 @@
|
|||||||
local tableout = false
|
local tableout = false
|
||||||
local dirtylsd = false
|
local dirtylsd = false
|
||||||
repeat Wait(100) until GlobalState.MDDrugsRecipes.LSD ~= nil
|
local locations = Config.LSD.Locations
|
||||||
local locations = GlobalState.MDDrugsLocations.LSD
|
|
||||||
|
|
||||||
|
|
||||||
local function createLabKit(coord, head)
|
local function createLabKit(coord, head)
|
||||||
requestModel("v_ret_ml_tablea")
|
requestModel("v_ret_ml_tablea")
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
|
|
||||||
local badTrip = 100
|
local badTrip = 100
|
||||||
repeat Wait(100) until GlobalState.MDDrugsRecipes.Mescaline ~= nil
|
local locations = Config.Mescaline.Locations
|
||||||
local locations = GlobalState.MDDrugsLocations.Mescaline
|
|
||||||
local function AlienEffect()
|
local function AlienEffect()
|
||||||
CreateThread(function()
|
CreateThread(function()
|
||||||
StartScreenEffect("DrugsMichaelAliensFightIn", 3.0, 0)
|
StartScreenEffect("DrugsMichaelAliensFightIn", 3.0, 0)
|
||||||
|
|||||||
+1
-2
@@ -1,6 +1,5 @@
|
|||||||
local amonia, tray, heated, active, trays, startedmeth, methVan = false, false, false, false, nil, false, nil
|
local amonia, tray, heated, active, trays, startedmeth, methVan = false, false, false, false, nil, false, nil
|
||||||
repeat Wait(100) until GlobalState.MDDrugsLocations.Meth ~= nil
|
local locations = Config.Meth.Locations
|
||||||
local locations = GlobalState.MDDrugsLocations.Meth
|
|
||||||
--- meth heist
|
--- meth heist
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+1
-2
@@ -1,7 +1,6 @@
|
|||||||
local carryPackage = nil
|
local carryPackage = nil
|
||||||
local onMission = false
|
local onMission = false
|
||||||
repeat Wait(100) until GlobalState.MDDrugsLocations.Oxy ~= nil
|
local locations = Config.Oxy.Locations
|
||||||
local locations = GlobalState.MDDrugsLocations.Oxy
|
|
||||||
local pdAlert = 90
|
local pdAlert = 90
|
||||||
local vehicle = nil
|
local vehicle = nil
|
||||||
|
|
||||||
|
|||||||
+1
-2
@@ -1,5 +1,4 @@
|
|||||||
repeat Wait(100) until GlobalState.MDDrugsLocations.Pharma ~= nil
|
local locations = Config.Pharma.Locations
|
||||||
local locations = GlobalState.MDDrugsLocations.Pharma
|
|
||||||
|
|
||||||
Bridge.Callback.Register("md-drugs:client:prescriptionpad", function( data, op)
|
Bridge.Callback.Register("md-drugs:client:prescriptionpad", function( data, op)
|
||||||
local job = Bridge.Framework.GetPlayerJob()
|
local job = Bridge.Framework.GetPlayerJob()
|
||||||
|
|||||||
+1
-14
@@ -97,17 +97,4 @@ for k, v in pairs (DrugPlants) do
|
|||||||
end)
|
end)
|
||||||
TriggerEvent(v.label ..":init")
|
TriggerEvent(v.label ..":init")
|
||||||
::continue::
|
::continue::
|
||||||
|
end
|
||||||
end
|
|
||||||
|
|
||||||
AddEventHandler('onResourceStop', function(resourceName)
|
|
||||||
if GetCurrentResourceName() == resourceName then
|
|
||||||
SetModelAsNoLongerNeeded(GetHashKey('prop_plant_01a'))
|
|
||||||
for k, v in pairs(DrugPlants) do
|
|
||||||
for key, plant in pairs(v.plantTbl) do
|
|
||||||
if DoesEntityExist(plant) then DeleteEntity(plant) end
|
|
||||||
v.plantTbl[key] = nil
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end)
|
|
||||||
+1
-2
@@ -1,6 +1,5 @@
|
|||||||
local exploded, drying = false, false
|
local exploded, drying = false, false
|
||||||
repeat Wait(100) until GlobalState.MDDrugsLocations.Weed ~= nil and GlobalState.MDDrugsRecipes.Weed ~= nil
|
local locations, recipes = Config.Weed.Locations, Config.Weed.Recipes
|
||||||
local locations, recipes = GlobalState.MDDrugsLocations.Weed, GlobalState.MDDrugsRecipes.Weed
|
|
||||||
for k, v in pairs (locations.WeedDry) do
|
for k, v in pairs (locations.WeedDry) do
|
||||||
Bridge.Target.AddBoxZone('weed_dry'..k, v.loc, v.size, v.loc.w or 180.0, {
|
Bridge.Target.AddBoxZone('weed_dry'..k, v.loc, v.size, v.loc.w or 180.0, {
|
||||||
{
|
{
|
||||||
|
|||||||
+2
-3
@@ -1,5 +1,4 @@
|
|||||||
local prop = nil
|
local prop = nil
|
||||||
repeat Wait(100) until GlobalState.MDDrugsLocations.Whippit ~= nil and GlobalState.MDDrugsRecipes.Whippit ~= nil
|
|
||||||
|
|
||||||
local function animation(color)
|
local function animation(color)
|
||||||
local coords = GetEntityCoords(PlayerPedId())
|
local coords = GetEntityCoords(PlayerPedId())
|
||||||
@@ -41,7 +40,7 @@ end)
|
|||||||
|
|
||||||
local function spawnShops()
|
local function spawnShops()
|
||||||
|
|
||||||
for k, v in pairs(GlobalState.MDDrugsLocations.Whippit) do
|
for k, v in pairs(Config.Whippit.Locations.Whippit) do
|
||||||
requestModel(v.ped)
|
requestModel(v.ped)
|
||||||
local ped = CreatePed(5, GetHashKey(v.ped), v.loc.x, v.loc.y, v.loc.z, v.loc.w, true, true)
|
local ped = CreatePed(5, GetHashKey(v.ped), v.loc.x, v.loc.y, v.loc.z, v.loc.w, true, true)
|
||||||
FreezeEntityPosition(ped, true)
|
FreezeEntityPosition(ped, true)
|
||||||
@@ -53,7 +52,7 @@ local function spawnShops()
|
|||||||
icon = Bridge.Language.Locale('Whippit.whippitIcon'),
|
icon = Bridge.Language.Locale('Whippit.whippitIcon'),
|
||||||
action = function()
|
action = function()
|
||||||
local menu = {}
|
local menu = {}
|
||||||
for item, price in pairs (GlobalState.MDDrugsRecipes.Whippit.shop) do
|
for item, price in pairs (Config.Whippit.Recipes.shop) do
|
||||||
local itemInfo = Bridge.Inventory.GetItemInfo(item)
|
local itemInfo = Bridge.Inventory.GetItemInfo(item)
|
||||||
menu[#menu + 1] = {
|
menu[#menu + 1] = {
|
||||||
title = itemInfo.label,
|
title = itemInfo.label,
|
||||||
|
|||||||
+2
-3
@@ -1,6 +1,5 @@
|
|||||||
local xtcpress = false
|
local xtcpress = false
|
||||||
repeat Wait(100) until GlobalState.MDDrugsLocations.XTC ~= nil
|
local locations = Config.XTC.Locations
|
||||||
local locations = GlobalState.MDDrugsLocations.XTC
|
|
||||||
|
|
||||||
local function getRecipeList(tbl, type)
|
local function getRecipeList(tbl, type)
|
||||||
local rec
|
local rec
|
||||||
@@ -139,7 +138,7 @@ for k, v in pairs(locations.xtcpress) do
|
|||||||
label = Bridge.Language.Locale('xtc.getPress'),
|
label = Bridge.Language.Locale('xtc.getPress'),
|
||||||
onSelect = function()
|
onSelect = function()
|
||||||
local options = {}
|
local options = {}
|
||||||
local recipeList = GlobalState.MDDrugsRecipes.XTC.presses
|
local recipeList = Config.XTC.Recipes.presses
|
||||||
for m, d in pairs(recipeList) do
|
for m, d in pairs(recipeList) do
|
||||||
if m == 'singlepress' then
|
if m == 'singlepress' then
|
||||||
local itemInfo = Bridge.Inventory.GetItemInfo(m)
|
local itemInfo = Bridge.Inventory.GetItemInfo(m)
|
||||||
|
|||||||
+2
-1
@@ -20,7 +20,7 @@ server_scripts {
|
|||||||
|
|
||||||
shared_scripts {
|
shared_scripts {
|
||||||
'@ox_lib/init.lua',
|
'@ox_lib/init.lua',
|
||||||
'shared/**.lua',
|
'shared/config.lua',
|
||||||
}
|
}
|
||||||
|
|
||||||
lua54 'yes'
|
lua54 'yes'
|
||||||
@@ -28,5 +28,6 @@ lua54 'yes'
|
|||||||
files {
|
files {
|
||||||
'client/**.lua',
|
'client/**.lua',
|
||||||
'server/**.lua',
|
'server/**.lua',
|
||||||
|
'shared/**.lua',
|
||||||
'locales/**.json'
|
'locales/**.json'
|
||||||
}
|
}
|
||||||
@@ -1,45 +1,8 @@
|
|||||||
|
|
||||||
local Target = {
|
local loc = Config.Merchant.Locations.Travellingmerchant[math.random(1, #Config.Merchant.Locations.Travellingmerchant)]
|
||||||
Travellingmerchant = {
|
|
||||||
vector4(-119.66, -977.43, 304.25, 88.21),
|
|
||||||
vector4(-1522.93, 1476.01, 111.45, 41.25),
|
|
||||||
vector4(-3278.98, 973.38, 5.35, 101.53),
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
local loc = Target.Travellingmerchant[math.random(1, #Target.Travellingmerchant)]
|
|
||||||
|
|
||||||
local stores = {
|
|
||||||
travel = {
|
|
||||||
tab_paper = 50,
|
|
||||||
bakingsoda = 25,
|
|
||||||
isosafrole = 25,
|
|
||||||
mdp2p = 25,
|
|
||||||
lysergic_acid = 25,
|
|
||||||
diethylamide = 25,
|
|
||||||
lockpick = 2,
|
|
||||||
emptyvial = 2,
|
|
||||||
needle = 2,
|
|
||||||
cokeburner = 25,
|
|
||||||
crackburner = 2,
|
|
||||||
lsdburner = 2,
|
|
||||||
heroinburner = 2,
|
|
||||||
mdlean = 50,
|
|
||||||
weedgrinder = 25,
|
|
||||||
mdbutter = 25,
|
|
||||||
flour = 25,
|
|
||||||
chocolate = 25,
|
|
||||||
butane = 25,
|
|
||||||
butanetorch = 2,
|
|
||||||
dabrig = 2,
|
|
||||||
mdwoods = 2,
|
|
||||||
leancup = 25,
|
|
||||||
xtcburner = 25,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
Bridge.Callback.Register('md-drugs:server:GetMerchant', function(source)
|
Bridge.Callback.Register('md-drugs:server:GetMerchant', function(source)
|
||||||
return {loc = loc, items = stores.travel}
|
return {loc = loc, items = Config.Merchant.stores}
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
|
||||||
@@ -49,11 +12,11 @@ RegisterServerEvent("md-drugs:server:purchaseGoods", function(item)
|
|||||||
if not checkDistance(src, loc, 10, 'md-drugs:server:purchaseGoods') then
|
if not checkDistance(src, loc, 10, 'md-drugs:server:purchaseGoods') then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
if not stores.travel[item] then
|
if not Config.Merchant.stores[item] then
|
||||||
Bridge.Prints.Warn(Bridge.Language.Locale('merchant.itemDoesntExist', Bridge.Framework.GetPlayerIdentifier(src), item))
|
Bridge.Prints.Warn(Bridge.Language.Locale('merchant.itemDoesntExist', Bridge.Framework.GetPlayerIdentifier(src), item))
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
if Bridge.Framework.RemoveAccountBalance(src, 'cash', stores.travel[item]) then
|
if Bridge.Framework.RemoveAccountBalance(src, 'cash', Config.Merchant.stores[item]) then
|
||||||
Bridge.Inventory.AddItem(src, item, 1)
|
Bridge.Inventory.AddItem(src, item, 1)
|
||||||
else
|
else
|
||||||
Bridge.Notify.SendNotify(src, Bridge.Language.Locale('Catches.notEnoughMoney'), "error")
|
Bridge.Notify.SendNotify(src, Bridge.Language.Locale('Catches.notEnoughMoney'), "error")
|
||||||
|
|||||||
+7
-42
@@ -1,40 +1,5 @@
|
|||||||
Recipes = Recipes or {}
|
local Locations = Config.Cocaine.Locations
|
||||||
Locations = Locations or {}
|
local Recipes = Config.Cocaine.Recipes
|
||||||
|
|
||||||
Recipes.Cocaine = {
|
|
||||||
cokepowder = {
|
|
||||||
tier1 = {take = {coca_leaf = 1}, give = {coke = 1}},
|
|
||||||
tier2 = {take = {coca_leaf = 1}, give = {cokestagetwo = 1}},
|
|
||||||
tier3 = {take = {coca_leaf = 1}, give = {cokestagethree = 1}},
|
|
||||||
},
|
|
||||||
cutcoke = {
|
|
||||||
tier1 = {take = {coke = 1, bakingsoda = 1}, give = {loosecoke = 1}},
|
|
||||||
tier2 = {take = {cokestagetwo = 1, bakingsoda = 1}, give = {loosecokestagetwo = 1}},
|
|
||||||
tier3 = {take = {cokestagethree = 1, bakingsoda = 1}, give = {loosecokestagethree = 1}},
|
|
||||||
},
|
|
||||||
bagcoke = {
|
|
||||||
tier1 = {take = {loosecoke = 1, empty_weed_bag = 1}, give = {cokebaggy = 1}},
|
|
||||||
tier2 = {take = {loosecokestagetwo = 1, empty_weed_bag = 1}, give = {cokebaggystagetwo = 1}},
|
|
||||||
tier3 = {take = {loosecokestagethree = 1, empty_weed_bag = 1}, give = {cokebaggystagethree = 1}},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
GlobalState.MDDrugsRecipes = Recipes
|
|
||||||
|
|
||||||
Locations.Cocaine = {
|
|
||||||
MakePowder = { -- size = vector3(x,y,z) x = length, y = width, z = height
|
|
||||||
{loc = vector3(1086.20, -3195.30, -39.20), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
|
||||||
},
|
|
||||||
CuttingCoke = {
|
|
||||||
{loc = vector3(1095.61, -3195.62, -39.13), size = vector3(1.0, 1.0, 2.0), offset = vec3(-1.782227, 0.445068, -0.502701), rotation = vector3(0,0,0), gang = ""},
|
|
||||||
},
|
|
||||||
BaggingCoke = {
|
|
||||||
{loc = vector3(1093.16, -3195.78, -39.19), size = vector3(1.0, 1.0, 2.0), offset = vec3(4.515137, 2.542969, -0.814194), rotation = vector3(0,0,180.0), gang = ""},
|
|
||||||
},
|
|
||||||
cokeTele = {
|
|
||||||
{inside = vector3(1088.81, -3187.57, -38.99), outside = vector3(198.16, -1276.92, 29.33), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
GlobalState.MDDrugsLocations = Locations
|
|
||||||
|
|
||||||
local function getTier(source)
|
local function getTier(source)
|
||||||
if not Config.TierSystem then
|
if not Config.TierSystem then
|
||||||
@@ -61,7 +26,7 @@ RegisterServerEvent('md-drugs:server:makepowder', function(num)
|
|||||||
|
|
||||||
if timeOut(src, 'md-drugs:server:makepowder') then return end
|
if timeOut(src, 'md-drugs:server:makepowder') then return end
|
||||||
|
|
||||||
if not checkDistance(src, Locations.Cocaine.MakePowder[num].loc, 3.5, 'md-drugs:server:makepowder') then
|
if not checkDistance(src, Locations.MakePowder[num].loc, 3.5, 'md-drugs:server:makepowder') then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -70,7 +35,7 @@ RegisterServerEvent('md-drugs:server:makepowder', function(num)
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
if not craft(src, Recipes.Cocaine.cokepowder[tier]) then
|
if not craft(src, Recipes.cokepowder[tier]) then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
@@ -80,7 +45,7 @@ RegisterServerEvent('md-drugs:server:cutcokeone', function(num)
|
|||||||
|
|
||||||
if timeOut(src, 'md-drugs:server:cutcokeone') then return end
|
if timeOut(src, 'md-drugs:server:cutcokeone') then return end
|
||||||
|
|
||||||
if not checkDistance(src, Locations.Cocaine.CuttingCoke[num].loc, 2.5, 'md-drugs:server:cutcokeone') then
|
if not checkDistance(src, Locations.CuttingCoke[num].loc, 2.5, 'md-drugs:server:cutcokeone') then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -96,7 +61,7 @@ RegisterServerEvent('md-drugs:server:cutcokeone', function(num)
|
|||||||
break
|
break
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if not craft(src, Recipes.Cocaine.cutcoke[tier]) then
|
if not craft(src, Recipes.cutcoke[tier]) then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
@@ -122,7 +87,7 @@ RegisterServerEvent('md-drugs:server:bagcoke', function(num)
|
|||||||
break
|
break
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if not craft(src, Recipes.Cocaine.bagcoke[tier]) then
|
if not craft(src, Recipes.bagcoke[tier]) then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
AddRep(src, 'coke', 1)
|
AddRep(src, 'coke', 1)
|
||||||
|
|||||||
+4
-188
@@ -1,195 +1,11 @@
|
|||||||
|
|
||||||
--[[
|
for k, v in pairs(Config.Consumables.Consume) do
|
||||||
effect options
|
|
||||||
alien
|
|
||||||
ecstacy
|
|
||||||
meth
|
|
||||||
coke
|
|
||||||
trevor
|
|
||||||
none
|
|
||||||
]]
|
|
||||||
|
|
||||||
--[[
|
|
||||||
add = {}
|
|
||||||
health = number -- amount of health to give
|
|
||||||
stress = number -- number of stress to give
|
|
||||||
speed = number -- number of seconds you a fast boi
|
|
||||||
hunger = number -- number of hunger to fill
|
|
||||||
thirst = number -- same shit
|
|
||||||
strength = number -- how long you are strong boi
|
|
||||||
|
|
||||||
]]
|
|
||||||
|
|
||||||
local Consumables = {}
|
|
||||||
Consumables.defaulttime = 4000
|
|
||||||
Consumables.defaultanim = 'pflag2'
|
|
||||||
Consumables.defaultprogresstext = 'Consuming ' -- it will always show the label of the item being used after what you put here, make sure to keep the space at the end :)
|
|
||||||
Consumables.defaultstatval = 0
|
|
||||||
local emotes = {
|
|
||||||
smoke = {
|
|
||||||
dict = "amb@world_human_aa_smoke@male@idle_a",
|
|
||||||
clip = "idle_a",
|
|
||||||
flag = 49,
|
|
||||||
prop = {
|
|
||||||
model = 'ng_proc_cigarette01a',
|
|
||||||
bone = 28422,
|
|
||||||
pos = {0.0, 0.0, 0.0},
|
|
||||||
rot = {0.0, 0.0, 0.0}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
smell = {
|
|
||||||
dict = 'move_p_m_two_idles@generic',
|
|
||||||
clip = 'fidget_sniff_fingers',
|
|
||||||
},
|
|
||||||
shoot_up = {
|
|
||||||
dict = "rcmpaparazzo1ig_4",
|
|
||||||
clip = "miranda_shooting_up",
|
|
||||||
prop = {
|
|
||||||
model = 'prop_syringe_01',
|
|
||||||
bone = 18905,
|
|
||||||
pos = {0.11, 0.03, 0.0},
|
|
||||||
rot = {-124.0, 0.0, 0.0}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
eat = {
|
|
||||||
dict = "mp_player_inteat@burger",
|
|
||||||
clip = "mp_player_int_eat_burger",
|
|
||||||
},
|
|
||||||
drink = {
|
|
||||||
dict = "mp_player_intdrink",
|
|
||||||
clip = "loop_bottle",
|
|
||||||
}
|
|
||||||
}
|
|
||||||
local Consume = {
|
|
||||||
-- meth
|
|
||||||
methbags = { time = 4000, effect = 'meth', anim = emotes.smoke, progressbartext = "Injesting",
|
|
||||||
add = {health = -20, stress = -10, speed = 40, strength = 10, thirst = -30}},
|
|
||||||
cokebaggy = { anim = emotes.smell, time = 4000, effect = 'coke', add = { stress = -10 }},
|
|
||||||
cokebaggystagetwo = { anim = emotes.smell, time = 1000, effect = 'coke', add = { stress = -10 }},
|
|
||||||
cokebaggystagethree = { anim = emotes.smell, time = 1000, effect = 'coke', add = { stress = -10 }},
|
|
||||||
-- heroin
|
|
||||||
heroin_ready = { anim = emotes.shoot_up, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
heroin_readystagetwo = { anim = emotes.shoot_up, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
heroin_readystagethree = { anim = emotes.shoot_up, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
-- crack
|
|
||||||
baggedcracked = { anim = emotes.smell, time = 1000, effect = 'coke', add = { stress = -10 }},
|
|
||||||
baggedcrackedstagetwo = { anim = emotes.smell, time = 1000, effect = 'coke', add = { stress = -10 }},
|
|
||||||
baggedcrackedstagethree = { anim = emotes.smell, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
-- xtc
|
|
||||||
white_playboys = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
white_playboys2 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
white_playboys3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
white_playboys4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
blue_playboys = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
blue_playboys2 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
blue_playboys3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
blue_playboys4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
red_playboys = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10, hunger = 10 }},
|
|
||||||
red_playboys2 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
red_playboys3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
red_playboys4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
orange_playboys = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
orange_playboy2s = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
orange_playboys3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
orange_playboys4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
white_aliens = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
white_aliens2 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
white_aliens3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
white_aliens4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
blue_aliens = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
blue_aliens2 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
blue_aliens3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
blue_aliens4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
red_aliens = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
red_aliens3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
red_aliens2 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
red_aliens4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
orange_aliens = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
orange_aliens2 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
orange_aliens3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
orange_aliens4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
white_pl = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
white_pl2 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
white_pl3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
white_pl4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
blue_pl = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
blue_pl2 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
blue_pl3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
blue_pl4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
red_pl = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
red_pl2 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
red_pl3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
red_pl4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
orange_pl = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
orange_pl2 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
orange_pl3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
orange_pl4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
white_trolls = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
white_trolls2 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
white_trolls3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
white_trolls4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
blue_trolls = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
blue_trolls2 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
blue_trolls3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
blue_trolls4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
red_trolls = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
red_trolls2 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
red_trolls3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
red_trolls4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
orange_trolls = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
orange_trolls2 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
orange_trolls3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
orange_trolls4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
white_cats2 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
white_cats3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
white_cats4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
white_cats = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
blue_cats = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
blue_cats3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
blue_cats2 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
blue_cats4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
red_cats = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
red_cats2 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
red_cats3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
red_cats4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
orange_cats = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
orange_cats2 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
orange_cats3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
orange_cats4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
|
||||||
-- weed
|
|
||||||
specialbrownie = { anim = emotes.eat, effect = 'alien', add = { hunger = 10, stress = -10 }},
|
|
||||||
specialcookie = { anim = emotes.eat, effect = 'alien', add = { hunger = 10, stress = -10 }},
|
|
||||||
specialchocolate = { anim = emotes.eat, effect = 'alien', add = { hunger = 10, stress = -10 }},
|
|
||||||
specialmuffin = { anim = emotes.eat, effect = 'alien', add = { hunger = 10, stress = -10 }},
|
|
||||||
blunt = { anim = emotes.smoke, effect = 'alien', add = { stress = -10 }},
|
|
||||||
dextroblunts = { anim = emotes.smoke, effect = 'alien', add = { stress = -10 }},
|
|
||||||
leanblunts = { anim = emotes.smoke, effect = 'alien', add = { stress = -10 }},
|
|
||||||
chewyblunt = { anim = emotes.smoke, effect = 'alien', add = { stress = -10 }},
|
|
||||||
-- lean
|
|
||||||
cupofdextro = { anim = emotes.drink, effect = 'alien', add = { stress = -10 }},
|
|
||||||
cupoflean = { anim = emotes.drink, effect = 'alien', add = { stress = -10 }},
|
|
||||||
-- lsd
|
|
||||||
smiley_tabs = { anim = emotes.eat, effect = 'trevor', add = { stress = -10 }},
|
|
||||||
wildcherry_tabs = { anim = emotes.eat, effect = 'trevor', add = { stress = -10 }},
|
|
||||||
yinyang_tabs = { anim = emotes.eat, effect = 'trevor', add = { stress = -10 }},
|
|
||||||
pineapple_tabs = { anim = emotes.eat, effect = 'trevor', add = { stress = -10 }},
|
|
||||||
bart_tabs = { anim = emotes.eat, effect = 'trevor', add = { stress = -10 }},
|
|
||||||
gratefuldead_tabs = { anim = emotes.eat, effect = 'trevor', add = { stress = -10 }},
|
|
||||||
|
|
||||||
-- pharma
|
|
||||||
vicodin = { anim = emotes.eat, effect = 'none', add = { health = 20 }},
|
|
||||||
adderal = { anim = emotes.eat, effect = 'none', add = { stress = -20 }},
|
|
||||||
morphine = { anim = emotes.eat, effect = 'none', add = { health = 40 }},
|
|
||||||
xanax = { anim = emotes.eat, effect = 'none', add = { stress = -40 }},
|
|
||||||
}
|
|
||||||
|
|
||||||
for k, v in pairs(Consume) do
|
|
||||||
Bridge.Framework.RegisterUsableItem(k, function(source, item)
|
Bridge.Framework.RegisterUsableItem(k, function(source, item)
|
||||||
if not Bridge.Inventory.HasItem(source, k, 1) then return end
|
if not Bridge.Inventory.HasItem(source, k, 1) then return end
|
||||||
local time = v.time or Consumables.defaulttime
|
local time = v.time or Config.Consumables.Defaults.time
|
||||||
local effect = v.effect or 0
|
local effect = v.effect or 0
|
||||||
local anim = v.anim or Consumables.defaultanim
|
local anim = v.anim or Config.Consumables.Defaults.defaultAnim
|
||||||
local progressbartext = v.progressbartext or Consumables.defaultprogresstext
|
local progressbartext = v.progressbartext or Config.Consumables.Defaults.defaultText
|
||||||
local add = v.add or {hunger = 0}
|
local add = v.add or {hunger = 0}
|
||||||
local done = Bridge.Callback.Trigger('md-drugs:client:consumedrugs', source, time, effect, anim, progressbartext, add, k)
|
local done = Bridge.Callback.Trigger('md-drugs:client:consumedrugs', source, time, effect, anim, progressbartext, add, k)
|
||||||
if done then
|
if done then
|
||||||
|
|||||||
+15
-146
@@ -1,147 +1,16 @@
|
|||||||
|
|
||||||
local DrugDeals = {}
|
local DrugDeals = {}
|
||||||
local Drugs = {
|
|
||||||
["weed_white-widow"] = {rep = 1,min = 15, max = 24 },
|
|
||||||
["weed_og-kush"] = {rep = 1,min = 15, max = 28 },
|
|
||||||
["weed_skunk"] = {rep = 1,min = 15, max = 31 },
|
|
||||||
["weed_amnesia"] = {rep = 1,min = 18, max = 34 },
|
|
||||||
["weed_purple-haze"] = {rep = 1,min = 18, max = 37},
|
|
||||||
["weed_ak47"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["crack_baggy"] = {rep = 1,min = 18, max = 34},
|
|
||||||
["cokebaggy"] = {rep = 1,min = 18, max = 37},
|
|
||||||
["cokebaggystagetwo"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["cokebaggystagethree"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["heroin_ready"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["heroin_readystagetwo"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["heroin_readystagethree"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["baggedcracked"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["baggedcrackedstagetwo"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["baggedcrackedstagethree"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["white_playboys"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["white_playboys2"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["white_playboys3"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["white_playboys4"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["blue_playboys"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["blue_playboys2"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["blue_playboys3"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["blue_playboys4"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["red_playboys"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["red_playboys2"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["red_playboys3"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["red_playboys4"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["orange_playboys"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["orange_playboys2"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["orange_playboys3"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["orange_playboys4"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["white_aliens"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["white_aliens2"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["white_aliens3"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["white_aliens4"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["blue_aliens"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["blue_aliens2"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["blue_aliens3"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["blue_aliens4"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["red_aliens"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["red_aliens2"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["red_aliens3"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["red_aliens4"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["orange_aliens"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["orange_aliens2"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["orange_aliens3"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["orange_aliens4"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["white_pl"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["white_pl2"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["white_pl3"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["white_pl4"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["blue_pl"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["blue_pl2"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["blue_pl3"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["blue_pl4"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["red_pl"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["red_pl2"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["red_pl3"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["red_pl4"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["orange_pl"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["orange_pl2"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["orange_pl3"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["orange_pl4"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["white_trolls"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["white_trolls2"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["white_trolls3"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["white_trolls4"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["blue_trolls"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["blue_trolls2"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["blue_trolls3"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["blue_trolls4"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["red_trolls"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["red_trolls2"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["red_trolls3"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["red_trolls4"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["orange_trolls"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["orange_trolls2"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["orange_trolls3"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["orange_trolls4"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["white_cats"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["white_cats2"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["white_cats3"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["white_cats4"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["blue_cats"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["blue_cats2"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["blue_cats3"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["blue_cats4"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["red_cats"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["red_cats2"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["red_cats3"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["red_cats4"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["orange_cats"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["orange_cats2"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["orange_cats3"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["orange_cats4"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["blunts"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["leanblunts"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["dextroblunts"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["chewyblunt"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["blunt"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["specialchocolate"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["specialbrownie"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["specialcookie"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["specialmuffin"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["shatter"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["ciggie"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["methbags"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["driedmescaline"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["shrooms"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["gratefuldead_tabs"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["bart_tabs"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["pineapple_tabs"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["yinyang_tabs"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["wildcherry_tabs"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["smiley_tabs"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["cupoflean"] = {rep = 1,min = 18, max = 40},
|
|
||||||
["cupofdextro"] = {rep = 1,min = 18, max = 40},
|
|
||||||
}
|
|
||||||
|
|
||||||
local drugsNames = {}
|
local drugsNames = {}
|
||||||
local soldPeds = {}
|
local soldPeds = {}
|
||||||
for k, v in pairs(Drugs) do
|
|
||||||
|
for k, v in pairs(Config.Cornerselling.Drugs) do
|
||||||
table.insert(drugsNames, k)
|
table.insert(drugsNames, k)
|
||||||
end
|
end
|
||||||
GlobalState.DrugNames = drugsNames
|
GlobalState.DrugNames = drugsNames
|
||||||
Locations = Locations or {}
|
|
||||||
Locations.CornerSelling = {
|
|
||||||
noSellZones = {
|
|
||||||
{loc = vector3(445.11, -991.3, 30.69), width = 10.0, length = 10.0, height = 10.0, rot = 180.0},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
GlobalState.MDDrugsLocations = Locations
|
GlobalState.MDDrugsLocations = Locations
|
||||||
local RobbedDrugs = {}
|
local RobbedDrugs = {}
|
||||||
local cornsellConfig = {
|
|
||||||
MarkedBills = false, -- if you want to use qb markedbills for selling set to true, if you want to use a custom item or cash set to false
|
|
||||||
CustomItem = '', -- If you want to use a custom item for selling, put the item name here, if not leave it blank ''
|
|
||||||
--- if MarkedBills is false and CustomItem is blank it will pay cash
|
|
||||||
policeRequired = 0, -- if you want cops to be required to sell set this to a number above 0
|
|
||||||
robChance = 20, -- Chance To Be Robbed 1 = 1%
|
|
||||||
}
|
|
||||||
|
|
||||||
local function beingRobbed(source, item, amount, ped)
|
local function beingRobbed(source, item, amount, ped)
|
||||||
local src = source
|
local src = source
|
||||||
@@ -181,19 +50,19 @@ Bridge.Callback.Register('md-drugs:server:cornerselling:getAvailableDrugs', func
|
|||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
for k, v in pairs(Drugs) do
|
for k, v in pairs(Config.Cornerselling.Drugs) do
|
||||||
local count = Bridge.Inventory.GetItemCount(src, k)
|
local count = Bridge.Inventory.GetItemCount(src, k)
|
||||||
if count >= 1 then
|
if count >= 1 then
|
||||||
local maths = math.random(1,100)
|
local maths = math.random(1,100)
|
||||||
|
|
||||||
if maths <= cornsellConfig.robChance then
|
if maths <= Config.CornerSelling.config.robChance then
|
||||||
beingRobbed(source, k, count, ped)
|
beingRobbed(source, k, count, ped)
|
||||||
soldPeds[src][ped] = {item = k, amount = count}
|
soldPeds[src][ped] = {item = k, amount = count}
|
||||||
return 'robbed'
|
return 'robbed'
|
||||||
else
|
else
|
||||||
if count > 15 then count = 15 end
|
if count > 15 then count = 15 end
|
||||||
local amount = math.random(1, count)
|
local amount = math.random(1, count)
|
||||||
local price = (math.random(Drugs[k]['min'], Drugs[k]['max']) * amount) * priceAdjust
|
local price = (math.random(Config.Cornerselling.Drugs[k]['min'], Config.Cornerselling.Drugs[k]['max']) * amount) * priceAdjust
|
||||||
DrugDeals[src] = {item = k, amount = amount, price = math.floor(price), ped = ped}
|
DrugDeals[src] = {item = k, amount = amount, price = math.floor(price), ped = ped}
|
||||||
soldPeds[src][ped] = DrugDeals[src]
|
soldPeds[src][ped] = DrugDeals[src]
|
||||||
return DrugDeals[src]
|
return DrugDeals[src]
|
||||||
@@ -204,7 +73,7 @@ Bridge.Callback.Register('md-drugs:server:cornerselling:getAvailableDrugs', func
|
|||||||
end)
|
end)
|
||||||
|
|
||||||
Bridge.Callback.Register('md-drugs:server:hasDrugs', function(source)
|
Bridge.Callback.Register('md-drugs:server:hasDrugs', function(source)
|
||||||
for k, v in pairs(Drugs) do
|
for k, v in pairs(Config.Cornerselling.Drugs) do
|
||||||
if Bridge.Inventory.HasItem(source, k) then
|
if Bridge.Inventory.HasItem(source, k) then
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
@@ -214,7 +83,7 @@ end)
|
|||||||
|
|
||||||
local function csCheck(src, item, amount, price)
|
local function csCheck(src, item, amount, price)
|
||||||
local isIn = false
|
local isIn = false
|
||||||
for k, v in pairs (Drugs) do
|
for k, v in pairs (Config.Cornerselling.Drugs) do
|
||||||
if item == k then
|
if item == k then
|
||||||
isIn = true
|
isIn = true
|
||||||
end
|
end
|
||||||
@@ -251,15 +120,15 @@ RegisterNetEvent('md-drugs:server:sellCornerDrugs', function(item, amount, price
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
AddRep(src, 'cornerselling', Drugs[item].rep * amount)
|
AddRep(src, 'cornerselling', Config.Cornerselling.Drugs[item].rep * amount)
|
||||||
DrugDeals[src] = nil
|
DrugDeals[src] = nil
|
||||||
|
|
||||||
if cornsellConfig.MarkedBills then
|
if Config.CornerSelling.config.MarkedBills then
|
||||||
Bridge.Inventory.AddItem(src, 'markedbills', price, nil, {worth = price})
|
Bridge.Inventory.AddItem(src, 'markedbills', price, nil, {worth = price})
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
if cornsellConfig.CustomItem ~= '' then
|
if Config.CornerSelling.config.CustomItem ~= '' then
|
||||||
Bridge.Inventory.AddItem(src, cornsellConfig.CustomItem, price)
|
Bridge.Inventory.AddItem(src, Config.CornerSelling.config.CustomItem, price)
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
Bridge.Framework.AddAccountBalance(src, 'cash', price)
|
Bridge.Framework.AddAccountBalance(src, 'cash', price)
|
||||||
@@ -281,8 +150,8 @@ end)
|
|||||||
|
|
||||||
RegisterCommand('cornersell', function(source, args, raw)
|
RegisterCommand('cornersell', function(source, args, raw)
|
||||||
local src = source
|
local src = source
|
||||||
if #Bridge.Framework.GetPlayersByJob('police') < cornsellConfig.policeRequired then
|
if #Bridge.Framework.GetPlayersByJob('police') < Config.CornerSelling.config.policeRequired then
|
||||||
Bridge.Notify.SendNotify(src, Bridge.Language.Locale('Cornerselling.notEnoughCops', cornsellConfig.policeRequired - #Bridge.Framework.GetPlayersByJob('police')), 'error')
|
Bridge.Notify.SendNotify(src, Bridge.Language.Locale('Cornerselling.notEnoughCops', Config.CornerSelling.config.policeRequired - #Bridge.Framework.GetPlayersByJob('police')), 'error')
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
TriggerClientEvent('md-drugs:client:cornerselling', src)
|
TriggerClientEvent('md-drugs:client:cornerselling', src)
|
||||||
|
|||||||
+5
-30
@@ -1,35 +1,10 @@
|
|||||||
Recipes, Locations = Recipes or {}, Locations or {}
|
|
||||||
|
|
||||||
Recipes.Crack = {
|
|
||||||
cookcrack = {
|
|
||||||
tier1 = {take = {loosecoke = 1, bakingsoda = 1}, give = {crackrock = 1}},
|
|
||||||
tier2 = {take = {loosecokestagetwo = 1, bakingsoda = 1}, give = {crackrockstagetwo = 1}},
|
|
||||||
tier3 = {take = {loosecokestagethree = 1,bakingsoda = 1}, give = {crackrockstagethree = 1}},
|
|
||||||
},
|
|
||||||
bagcrack = {
|
|
||||||
tier1 = {take = {crackrock = 1, empty_weed_bag = 1}, give = {baggedcracked = 1}},
|
|
||||||
tier2 = {take = {crackrockstagetwo = 1, empty_weed_bag = 1}, give = {baggedcrackedstagetwo = 1}},
|
|
||||||
tier3 = {take = {crackrockstagethree = 1, empty_weed_bag = 1}, give = {baggedcrackedstagethree = 1}},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
GlobalState.MDDrugsRecipes = Recipes
|
|
||||||
|
|
||||||
Locations.Crack = {
|
|
||||||
makecrack = { -- make crack with baking soda with cut coke 1-3
|
|
||||||
{loc = vector3(2433.47, 4970.02, 42.18), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
|
||||||
},
|
|
||||||
bagcrack = { --- bag crack 1-3 stages
|
|
||||||
{loc = vector3(2436.55, 4964.96, 42.18), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
GlobalState.MDDrugsLocations = Locations
|
|
||||||
|
|
||||||
RegisterServerEvent('md-drugs:server:makecrackone', function(num)
|
RegisterServerEvent('md-drugs:server:makecrackone', function(num)
|
||||||
local src = source
|
local src = source
|
||||||
|
|
||||||
if timeOut(src, 'md-drugs:server:makecrackone') then return end
|
if timeOut(src, 'md-drugs:server:makecrackone') then return end
|
||||||
|
|
||||||
if not checkDistance(src, Locations.Crack.makecrack[num].loc, 2.0, 'md-drugs:server:makecrackone') then
|
if not checkDistance(src, Config.Crack.Locations.makecrack[num].loc, 2.0, 'md-drugs:server:makecrackone') then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -47,7 +22,7 @@ RegisterServerEvent('md-drugs:server:makecrackone', function(num)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if not craft(src, Recipes.Crack.cookcrack[tier]) then
|
if not craft(src, Config.Crack.Recipes.cookcrack[tier]) then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
@@ -58,7 +33,7 @@ RegisterServerEvent('md-drugs:server:bagcrack', function(num)
|
|||||||
|
|
||||||
if timeOut(src, 'md-drugs:server:bagcrack') then return end
|
if timeOut(src, 'md-drugs:server:bagcrack') then return end
|
||||||
|
|
||||||
if not checkDistance(src, Locations.Crack.bagcrack[num].loc, 2.0, 'md-drugs:server:bagcrack') then
|
if not checkDistance(src, Config.Crack.Locations.bagcrack[num].loc, 2.0, 'md-drugs:server:bagcrack') then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -76,7 +51,7 @@ RegisterServerEvent('md-drugs:server:bagcrack', function(num)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if not craft(src, Recipes.Crack.bagcrack[tier]) then
|
if not craft(src, Config.Crack.Recipes.bagcrack[tier]) then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
@@ -107,7 +82,7 @@ end
|
|||||||
|
|
||||||
RegisterNetEvent("md-drugs:server:failcrackone", function(num)
|
RegisterNetEvent("md-drugs:server:failcrackone", function(num)
|
||||||
local src = source
|
local src = source
|
||||||
if not checkDistance(src, Locations.Crack.makecrack[num].loc, 2.0, 'md-drugs:server:failcrackone') then
|
if not checkDistance(src, Config.Crack.Locations.makecrack[num].loc, 2.0, 'md-drugs:server:failcrackone') then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
local items = {
|
local items = {
|
||||||
|
|||||||
+4
-97
@@ -1,95 +1,4 @@
|
|||||||
Locations, Recipes = Locations or {}, Recipes or {}
|
|
||||||
|
|
||||||
Locations.Deliveries = {
|
|
||||||
dropOff = {
|
|
||||||
{coords = vector4(282.48, -1814.32, 27.23, 145.11)},
|
|
||||||
{coords = vector4(-296.11, -1300.65, 31.31, 270.87)},
|
|
||||||
{coords = vector4(-36.64, -1492.04, 31.22, 151.91)},
|
|
||||||
{coords = vector4(282.48, -1814.32, 27.23, 232.19)},
|
|
||||||
{coords = vector4(54.54, -1873.22, 22.81, 131.47)},
|
|
||||||
{coords = vector4(-269.34, -2437.25, 6.40, 252.67)},
|
|
||||||
{coords = vector4(269.19, -3248.55, 5.79, 252.67)},
|
|
||||||
{coords = vector4(632.94, -3015.44, 7.34, 3.44)},
|
|
||||||
{coords = vector4(1049.55, -2427.88, 30.30, 79.52)},
|
|
||||||
{coords = vector4(853.16, -2207.32, 30.68, 284.88)},
|
|
||||||
{coords = vector4(903.10, -1721.98, 32.25, 168.71)},
|
|
||||||
{coords = vector4(1289.30, -1710.49, 55.48, 208.57)},
|
|
||||||
{coords = vector4(1412.01, -1490.53, 60.66, 132.46)},
|
|
||||||
{coords = vector4(734.26, -1311.26, 27.01, 102.99)},
|
|
||||||
{coords = vector4(1231.60, -1083.06, 38.53, 102.99)},
|
|
||||||
{coords = vector4(1143.55, -1000.19, 45.32, 257.05)},
|
|
||||||
{coords = vector4(1264.82, -702.87, 64.72, 257.05)},
|
|
||||||
{coords = vector4(1119.65, -639.76, 56.81, 284.53)},
|
|
||||||
{coords = vector4(1129.59, -462.59, 66.49, 79.23)},
|
|
||||||
{coords = vector4(42.80, -811.45, 31.43, 79.23)},
|
|
||||||
{coords = vector4(-509.48, -1001.66, 23.55, 79.23)},
|
|
||||||
{coords = vector4(-830.97, -862.41, 20.69, 13.72)},
|
|
||||||
{coords = vector4(-1320.26, -1177.34, 4.89, 74.29)},
|
|
||||||
{coords = vector4(-1097.63, -1673.24, 8.40, 136.51)},
|
|
||||||
{coords = vector4(-1147.61, -1452.10, 4.60, 51.50)},
|
|
||||||
{coords = vector4(-1241.69, -1208.39, 8.52, 107.56)},
|
|
||||||
{coords = vector4(-1876.92, -584.44, 11.85, 329.54)},
|
|
||||||
{coords = vector4(-1303.94, -441.39, 35.22, 128.73)},
|
|
||||||
{coords = vector4(-1705.48, -433.46, 42.17, 128.73)},
|
|
||||||
{coords = vector4(-1305.99, 336.35, 65.50, 35.13)},
|
|
||||||
{coords = vector4(-741.80, 484.84, 109.47, 110.85)},
|
|
||||||
{coords = vector4(-409.57, 341.49, 108.91, 270.45)},
|
|
||||||
{coords = vector4(-126.44, 588.18, 204.71, 8.12)},
|
|
||||||
{coords = vector4(211.42, -101.42, 73.28, 174.10)},
|
|
||||||
{coords = vector4(490.61, -95.04, 66.44, 273.57)},
|
|
||||||
{coords = vector4(387.19, -993.59, 29.42, 273.57)},
|
|
||||||
{coords = vector4(-500.47, -712.37, 33.21, 273.57)},
|
|
||||||
{coords = vector4(2572.20, 479.97, 108.68, 80.27)},
|
|
||||||
{coords = vector4(-430.10, 1205.41, 325.76, 169.25)},
|
|
||||||
{coords = vector4(-126.06, 1896.58, 197.33, 169.25)},
|
|
||||||
{coords = vector4(-2521.08, 2310.31, 33.22, 276.87)},
|
|
||||||
{coords = vector4(1129.01, 2125.14, 55.55, 276.87)},
|
|
||||||
{coords = vector4(1546.64, 2166.56, 78.72, 100.37)},
|
|
||||||
{coords = vector4(404.34, 2584.54, 43.52, 100.37)},
|
|
||||||
{coords = vector4(180.15, 2792.99, 45.66, 283.04)},
|
|
||||||
{coords = vector4(287.67, 2843.89, 44.70, 118.41)},
|
|
||||||
{coords = vector4(2030.23, 3184.42, 45.13, 146.06)},
|
|
||||||
{coords = vector4(2175.33, 3321.92, 46.13, 214.53)},
|
|
||||||
{coords = vector4(2389.61, 3340.98, 47.34, 214.52)},
|
|
||||||
{coords = vector4(1716.25, 3295.08, 41.26, 196.21)},
|
|
||||||
{coords = vector4(1779.38, 3640.83, 34.50, 24.16)},
|
|
||||||
{coords = vector4(1894.59, 3715.34, 32.75, 127.89)},
|
|
||||||
{coords = vector4(1861.90, 3857.15, 36.27, 293.45)},
|
|
||||||
{coords = vector4(996.38, 3575.07, 34.61, 328.30)},
|
|
||||||
{coords = vector4(387.45, 3584.73, 33.29, 351.41)},
|
|
||||||
{coords = vector4(68.08, 3693.22, 40.66, 63.98)},
|
|
||||||
{coords = vector4(15.55, 3688.70, 39.81, 230.89)},
|
|
||||||
{coords = vector4(2566.59, 4283.34, 41.97, 348.53)},
|
|
||||||
{coords = vector4(2570.82, 4667.95, 34.08, 135.30)},
|
|
||||||
{coords = vector4(2882.05, 4511.72, 48.02, 66.58)},
|
|
||||||
{coords = vector4(2243.78, 5154.02, 57.89, 139.42)},
|
|
||||||
{coords = vector4(1642.91, 4846.08, 45.51, 109.83)},
|
|
||||||
{coords = vector4(1308.87, 4362.17, 41.55, 256.01)},
|
|
||||||
{coords = vector4(-1090.27, 4940.57, 214.13, 256.01)},
|
|
||||||
{coords = vector4(-552.37, 5348.37, 74.76, 62.18)},
|
|
||||||
{coords = vector4(-679.02, 5834.27, 17.33, 137.18)},
|
|
||||||
{coords = vector4(-481.97, 6276.93, 13.35, 323.16)},
|
|
||||||
{coords = vector4(-24.92, 6472.60, 31.49, 144.42)},
|
|
||||||
{coords = vector4(36.03, 6549.18, 31.43, 287.85)},
|
|
||||||
{coords = vector4(406.08, 6526.43, 27.75, 97.45)},
|
|
||||||
{coords = vector4(1522.39, 6329.23, 24.61, 331.71)},
|
|
||||||
{coords = vector4(1741.39, 6419.62, 35.04, 331.71)},
|
|
||||||
{coords = vector4(3426.72, 5174.42, 7.40, 112.64)},
|
|
||||||
{coords = vector4(2525.99, 2586.62, 38.94, 257.02)},
|
|
||||||
{coords = vector4(2696.29, 1664.44, 24.52, 70.12)},
|
|
||||||
{coords = vector4(106.24, -1280.32, 29.24, 350.89)},
|
|
||||||
{coords = vector4(223.98, 121.53, 102.76, 259.68)},
|
|
||||||
{coords = vector4(102.19, -255.02, 50.05, 83.59)},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Recipes.Deliveries = {
|
|
||||||
{name = "weed_whitewidow_seed", price = 15, amount = 150, minrep = 0},
|
|
||||||
{name = "weed_skunk_seed", price = 15, amount = 150, minrep = 0},
|
|
||||||
{name = "weed_purplehaze_seed", price = 15, amount = 150, minrep = 0},
|
|
||||||
{name = "weed_ogkush_seed", price = 15, amount = 150, minrep = 0},
|
|
||||||
{name = "weed_amnesia_seed", price = 15, amount = 150, minrep = 0},
|
|
||||||
}
|
|
||||||
GlobalState.MDDrugsRecipes = Recipes
|
|
||||||
|
|
||||||
local drugDeliveryItem = {
|
local drugDeliveryItem = {
|
||||||
{item = 'coke_brick', amount = 1},
|
{item = 'coke_brick', amount = 1},
|
||||||
@@ -107,8 +16,7 @@ CreateThread(function()
|
|||||||
model = dealers[i].model or 'a_m_m_skater_01',
|
model = dealers[i].model or 'a_m_m_skater_01',
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
Locations.Deliveries.dealers = Dealers
|
GlobalState.MDDrugDealers = Dealers
|
||||||
GlobalState.MDDrugsLocations = Locations
|
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
@@ -125,8 +33,7 @@ RegisterCommand('newdealer', function(source, args, rawCommand)
|
|||||||
coords = vec,
|
coords = vec,
|
||||||
model = model,
|
model = model,
|
||||||
}
|
}
|
||||||
Locations.Deliveries.dealers = Dealers
|
GlobalState.MDDrugDealers = Dealers
|
||||||
GlobalState.MDDrugsLocations = Locations
|
|
||||||
Wait(1000)
|
Wait(1000)
|
||||||
TriggerClientEvent('md-drugs:client:RefreshDealers', -1)
|
TriggerClientEvent('md-drugs:client:RefreshDealers', -1)
|
||||||
end, false)
|
end, false)
|
||||||
@@ -141,7 +48,7 @@ RegisterNetEvent('md-drugs:server:buyItemDealer', function(item, dealerId)
|
|||||||
if not checkDistance(src, Dealers[dealerId].coords, 5.0, 'md-drugs:server:buyItemDealer') then
|
if not checkDistance(src, Dealers[dealerId].coords, 5.0, 'md-drugs:server:buyItemDealer') then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
local itemExists = Recipes.Deliveries[item]
|
local itemExists = Config.Deliveries.Recipes[item]
|
||||||
|
|
||||||
if not itemExists then
|
if not itemExists then
|
||||||
Bridge.Prints.Warn(Bridge.Language.Locale('Deliveries.itemDoesntExist', Bridge.Framework.GetPlayerIdentifier(src), item))
|
Bridge.Prints.Warn(Bridge.Language.Locale('Deliveries.itemDoesntExist', Bridge.Framework.GetPlayerIdentifier(src), item))
|
||||||
@@ -189,7 +96,7 @@ RegisterNetEvent('md-drugs:server:requestDelivery', function(dealerId)
|
|||||||
TriggerClientEvent('md-drugs:client:setLocation', src, active[id])
|
TriggerClientEvent('md-drugs:client:setLocation', src, active[id])
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
local deliveryLoc = Locations.Deliveries.dropOff[math.random(1, #Locations.Deliveries.dropOff)]
|
local deliveryLoc = Config.Deliveries.Locations.dropOff[math.random(1, #Config.Deliveries.Locations.dropOff)]
|
||||||
local item = drugDeliveryItem[math.random(1, #drugDeliveryItem)]
|
local item = drugDeliveryItem[math.random(1, #drugDeliveryItem)]
|
||||||
active[id] = {
|
active[id] = {
|
||||||
coords = deliveryLoc.coords,
|
coords = deliveryLoc.coords,
|
||||||
|
|||||||
+14
-54
@@ -1,49 +1,5 @@
|
|||||||
Recipes, Locations = Recipes or {}, Locations or {}
|
|
||||||
|
|
||||||
local heroinLabKits = {}
|
local heroinLabKits = {}
|
||||||
Recipes.Heroin = {
|
|
||||||
dryheroin = {
|
|
||||||
tier1 = {take = {poppyresin = 1}, give = {heroin = 1}},
|
|
||||||
tier2 = {take = {poppyresin = 1}, give = {heroinstagetwo = 1}},
|
|
||||||
tier3 = {take = {poppyresin = 1}, give = {heroinstagethree = 1}},
|
|
||||||
},
|
|
||||||
cutheroin = {
|
|
||||||
tier1 = {take = {heroin = 1, bakingsoda = 1}, give = {heroincut = 1}},
|
|
||||||
tier2 = {take = {heroinstagetwo = 1, bakingsoda = 1}, give = {heroincutstagetwo = 1}},
|
|
||||||
tier3 = {take = {heroinstagethree = 1, bakingsoda = 1}, give = {heroincutstagethree = 1}},
|
|
||||||
},
|
|
||||||
fillvial = {
|
|
||||||
tier1 = {take = {heroincut = 1, emptyvial = 1}, give = {heroinvial = 1}},
|
|
||||||
tier2 = {take = {heroincutstagetwo = 1, emptyvial = 1}, give = {heroinvialstagetwo = 1}},
|
|
||||||
tier3 = {take = {heroincutstagethree = 1, emptyvial = 1}, give = {heroinvialstagethree = 1}},
|
|
||||||
},
|
|
||||||
fillneedle = {
|
|
||||||
tier1 = {take = {heroinvial = 1, needle = 1}, give = {heroin_ready = 1}},
|
|
||||||
tier2 = {take = {heroinvialstagetwo = 1, needle = 1}, give = {heroin_readystagetwo = 1}},
|
|
||||||
tier3 = {take = {heroinvialstagethree = 1, needle = 1}, give = {heroin_readystagethree = 1}},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
GlobalState.MDDrugsRecipes = Recipes
|
|
||||||
|
|
||||||
Locations.Heroin = {
|
|
||||||
dryplant = { -- turn resin into powder
|
|
||||||
{loc = vector3(-1353.77, -335.58, 43.92), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
|
||||||
},
|
|
||||||
cutheroinone = { -- cut heroin stage 1-3 with baking soda
|
|
||||||
{loc = vector3(-1360.14, -337.03, 43.92), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
|
||||||
},
|
|
||||||
fillneedle = { -- fill needles with heroin
|
|
||||||
{loc = vector3(-1366.32, -334.40, 44.44), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
|
||||||
},
|
|
||||||
buyKit = {
|
|
||||||
{ped = 'a_m_m_farmer_01',loc = vector4(-1366.32, -334.40, 44.44,180.0), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
GlobalState.MDDrugsLocations = Locations
|
|
||||||
|
|
||||||
local prices = {
|
|
||||||
heroinlabkitprice = 10000
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Bridge.Callback.Register('md-drugs:server:removeCleaningKitHeroin', function(source)
|
Bridge.Callback.Register('md-drugs:server:removeCleaningKitHeroin', function(source)
|
||||||
@@ -72,12 +28,12 @@ RegisterServerEvent('md-drugs:server:dryplant', function(num)
|
|||||||
|
|
||||||
if timeOut(src, 'md-drugs:server:dryplant') then return end
|
if timeOut(src, 'md-drugs:server:dryplant') then return end
|
||||||
|
|
||||||
if not checkDistance(src, Locations.Heroin.dryplant[num].loc, 3.0, 'md-drugs:server:dryplant') then
|
if not checkDistance(src, Config.Heroin.Locations.dryplant[num].loc, 3.0, 'md-drugs:server:dryplant') then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
local tier = getTier(src)
|
local tier = getTier(src)
|
||||||
if not craft(src, Recipes.Heroin.dryheroin[tier]) then
|
if not craft(src, Config.Heroin.Recipes.dryheroin[tier]) then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
@@ -87,7 +43,7 @@ RegisterServerEvent('md-drugs:server:cutheroin', function(num)
|
|||||||
|
|
||||||
if timeOut(src, 'md-drugs:server:cutheroin') then return end
|
if timeOut(src, 'md-drugs:server:cutheroin') then return end
|
||||||
|
|
||||||
if not checkDistance(src, Locations.Heroin.cutheroinone[num].loc, 3.0, 'md-drugs:server:cutheroin') then
|
if not checkDistance(src, Config.Heroin.Locations.cutheroinone[num].loc, 3.0, 'md-drugs:server:cutheroin') then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -106,7 +62,7 @@ RegisterServerEvent('md-drugs:server:cutheroin', function(num)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if not craft(src, Recipes.Heroin.cutheroin[tier]) then
|
if not craft(src, Config.Heroin.Recipes.cutheroin[tier]) then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
@@ -116,7 +72,7 @@ RegisterServerEvent('md-drugs:server:getheroinlabkit', function(num)
|
|||||||
|
|
||||||
if timeOut(src, 'md-drugs:server:getheroinlabkit') then return end
|
if timeOut(src, 'md-drugs:server:getheroinlabkit') then return end
|
||||||
|
|
||||||
if not checkDistance(src, Locations.Heroin.buyKit[num].loc, 3.0, 'md-drugs:server:getheroinlabkit') then
|
if not checkDistance(src, Config.Heroin.Locations.buyKit[num].loc, 3.0, 'md-drugs:server:getheroinlabkit') then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -125,10 +81,10 @@ RegisterServerEvent('md-drugs:server:getheroinlabkit', function(num)
|
|||||||
Bridge.Notify.SendNotify(src, Bridge.Language.Locale('heroin.hasKitAlready'), 'error')
|
Bridge.Notify.SendNotify(src, Bridge.Language.Locale('heroin.hasKitAlready'), 'error')
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
if Bridge.Framework.RemoveAccountBalance(src, 'cash', prices.heroinlabkitprice) then
|
if Bridge.Framework.RemoveAccountBalance(src, 'cash', Config.Heroin.prices.heroinlabkitprice) then
|
||||||
Bridge.Inventory.AddItem(src, 'heroinlabkit', 1)
|
Bridge.Inventory.AddItem(src, 'heroinlabkit', 1)
|
||||||
else
|
else
|
||||||
Bridge.Notify.SendNotify(src, Bridge.Language.Locale('heroin.notEnoughMoney', prices.heroinlabkitprice), 'error')
|
Bridge.Notify.SendNotify(src, Bridge.Language.Locale('heroin.notEnoughMoney', Config.Heroin.prices.heroinlabkitprice), 'error')
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
@@ -185,6 +141,10 @@ RegisterServerEvent('md-drugs:server:heatliquidheroin', function()
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if not checkDistance(src, heroinLabKits[src].coords, 3.0, 'md-drugs:server:heatliquidheroin') then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
local tier = 'tier1'
|
local tier = 'tier1'
|
||||||
if Config.TierSystem then
|
if Config.TierSystem then
|
||||||
local itemList = {
|
local itemList = {
|
||||||
@@ -199,7 +159,7 @@ RegisterServerEvent('md-drugs:server:heatliquidheroin', function()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if not craft(src, Recipes.Heroin.fillvial[tier]) then
|
if not craft(src, Config.Heroin.Recipes.fillvial[tier]) then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
@@ -229,7 +189,7 @@ RegisterServerEvent('md-drugs:server:fillneedle', function(num)
|
|||||||
local src = source
|
local src = source
|
||||||
if timeOut(src, 'md-drugs:server:fillneedle') then return end
|
if timeOut(src, 'md-drugs:server:fillneedle') then return end
|
||||||
|
|
||||||
if not checkDistance(src, Locations.Heroin.fillneedle[num].loc, 3.0, 'md-drugs:server:fillneedle') then
|
if not checkDistance(src, Config.Heroin.Locations.fillneedle[num].loc, 3.0, 'md-drugs:server:fillneedle') then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
local tier = 'tier1'
|
local tier = 'tier1'
|
||||||
@@ -246,7 +206,7 @@ RegisterServerEvent('md-drugs:server:fillneedle', function(num)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if not craft(src, Recipes.Heroin.fillneedle[tier]) then
|
if not craft(src, Config.Hero8in.Recipes.fillneedle[tier]) then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|||||||
+5
-38
@@ -1,40 +1,6 @@
|
|||||||
Locations = Locations or {}
|
|
||||||
Recipes = Recipes or {}
|
|
||||||
local onRun = {}
|
local onRun = {}
|
||||||
Locations.Lean = {
|
|
||||||
|
|
||||||
SyrupVendor = {
|
|
||||||
{ped = 'a_m_m_farmer_01', loc = vector4(365.21, -578.77, 39.30, 347.23), gang = ""},
|
|
||||||
},
|
|
||||||
StartLoc = { -- where truck spawns for lean and meth missions
|
|
||||||
vector3(-2307.22, 434.77, 174.47),
|
|
||||||
vector3(614.75, 1786.26, 199.39),
|
|
||||||
vector3(-224.89, 6388.32, 31.59)
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
GlobalState.MDDrugsLocations = Locations
|
|
||||||
Recipes.Lean = {
|
|
||||||
{
|
|
||||||
item = 'cupoflean',
|
|
||||||
amount = 1,
|
|
||||||
ingredients = {
|
|
||||||
{item = 'leancup', amount = 1},
|
|
||||||
{item = 'mdlean', amount = 1},
|
|
||||||
{item = 'sprunk', amount = 1},
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
item = 'cupofdextro',
|
|
||||||
amount = 1,
|
|
||||||
ingredients = {
|
|
||||||
{item = 'leancup', amount = 1},
|
|
||||||
{item = 'mdreddextro', amount = 1},
|
|
||||||
{item = 'sprunk', amount = 1},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
GlobalState.MDDrugsRecipes = Recipes
|
|
||||||
local function setTimeout(identifier)
|
local function setTimeout(identifier)
|
||||||
if onRun[identifier] then
|
if onRun[identifier] then
|
||||||
CreateThread(function()
|
CreateThread(function()
|
||||||
@@ -43,6 +9,7 @@ local function setTimeout(identifier)
|
|||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
RegisterServerEvent('md-drugs:server:givelean', function()
|
RegisterServerEvent('md-drugs:server:givelean', function()
|
||||||
local src = source
|
local src = source
|
||||||
if not onRun[src] then
|
if not onRun[src] then
|
||||||
@@ -77,7 +44,7 @@ Bridge.Callback.Register('md-drugs:server:registerLean', function(source, loc, v
|
|||||||
if onRun[src] then
|
if onRun[src] then
|
||||||
return false
|
return false
|
||||||
else
|
else
|
||||||
if not checkDistance(src, Locations.Lean.SyrupVendor[loc].loc, 5.0, 'md-drugs:server:registerLean') then
|
if not checkDistance(src, Config.Lean.Locations.SyrupVendor[loc].loc, 5.0, 'md-drugs:server:registerLean') then
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
if not vehicleNetId then
|
if not vehicleNetId then
|
||||||
@@ -107,10 +74,10 @@ end)
|
|||||||
|
|
||||||
RegisterNetEvent('md-drugs:server:makeLean', function(recipe)
|
RegisterNetEvent('md-drugs:server:makeLean', function(recipe)
|
||||||
local src = source
|
local src = source
|
||||||
if not Recipes.Lean[recipe] then
|
if not Config.Lean.Recipes[recipe] then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
local rec = Recipes.Lean[recipe]
|
local rec = Config.Lean.Recipes[recipe]
|
||||||
for k, v in pairs (rec.ingredients) do
|
for k, v in pairs (rec.ingredients) do
|
||||||
if not Bridge.Inventory.HasItem(src, v.item, v.amount) then
|
if not Bridge.Inventory.HasItem(src, v.item, v.amount) then
|
||||||
Bridge.Notify.SendNotify(src, Bridge.Language.Locale('lean.missingIngredients'), 'error')
|
Bridge.Notify.SendNotify(src, Bridge.Language.Locale('lean.missingIngredients'), 'error')
|
||||||
|
|||||||
+9
-36
@@ -1,32 +1,3 @@
|
|||||||
Recipes, Locations = Recipes or {}, Locations or {}
|
|
||||||
local prices = {
|
|
||||||
tabcost = 100, -- price per piece of tab paper event does 10 at a time
|
|
||||||
lsdlabkitcost = 10000 -- price of the lsd lab kit
|
|
||||||
}
|
|
||||||
Recipes.LSD = {
|
|
||||||
vial = {
|
|
||||||
heat = {take = {lysergic_acid = 1, diethylamide = 1,}, give = {lsd_one_vial = 1}}
|
|
||||||
},
|
|
||||||
}
|
|
||||||
GlobalState.MDDrugsRecipes = Recipes
|
|
||||||
Locations.LSD = {
|
|
||||||
lysergicacid = { -- get lysergic acid
|
|
||||||
{loc = vector3(-1381.21, -327.75, 39.85),size = vector3(1.0, 1.0, 2.0), gang = ""},
|
|
||||||
{loc = vector3(2405.53, 5008.39, 46.02), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
|
||||||
},
|
|
||||||
diethylamide = { -- get diethylamide
|
|
||||||
{loc = vector3(-1372.89, -319.47, 39.05), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
|
||||||
{loc = vector3(2408.38, 5011.18, 46.08), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
|
||||||
},
|
|
||||||
gettabs = { -- buy tab paper
|
|
||||||
{loc = vector3(-1378.26, -336.56, 39.31), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
|
||||||
{loc = vector3(2409.59, 5012.45, 46.09), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
|
||||||
},
|
|
||||||
buyLSDkit = {
|
|
||||||
{ped = 'g_f_y_families_01', loc = vector4(-1376.66, -325.52, 39.63, 142.1), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
GlobalState.MDDrugsLocations = Locations
|
|
||||||
|
|
||||||
local lsdTables = {}
|
local lsdTables = {}
|
||||||
|
|
||||||
@@ -35,7 +6,7 @@ RegisterServerEvent('md-drugs:server:getlysergic', function(num)
|
|||||||
|
|
||||||
if timeOut(src, 'md-drugs:server:getlysergic') then return end
|
if timeOut(src, 'md-drugs:server:getlysergic') then return end
|
||||||
|
|
||||||
if not checkDistance(src, Locations.LSD.lysergicacid[num].loc, 2.0, 'md-drugs:server:getlysergic') then
|
if not checkDistance(src, Config.LSD.Locations.lysergicacid[num].loc, 2.0, 'md-drugs:server:getlysergic') then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
Bridge.Inventory.AddItem(src, 'lysergic_acid', 2)
|
Bridge.Inventory.AddItem(src, 'lysergic_acid', 2)
|
||||||
@@ -44,7 +15,7 @@ end)
|
|||||||
RegisterServerEvent('md-drugs:server:getdiethylamide', function(num)
|
RegisterServerEvent('md-drugs:server:getdiethylamide', function(num)
|
||||||
local src = source
|
local src = source
|
||||||
if timeOut(src, 'md-drugs:server:getdiethylamide') then return end
|
if timeOut(src, 'md-drugs:server:getdiethylamide') then return end
|
||||||
if not checkDistance(src, Locations.LSD.diethylamide[num].loc, 2.0, 'md-drugs:server:getdiethylamide') then
|
if not checkDistance(src, Config.LSD.Locations.diethylamide[num].loc, 2.0, 'md-drugs:server:getdiethylamide') then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
Bridge.Inventory.AddItem(src, 'diethylamide', 2)
|
Bridge.Inventory.AddItem(src, 'diethylamide', 2)
|
||||||
@@ -91,7 +62,7 @@ RegisterServerEvent('md-drugs:server:heatliquid', function()
|
|||||||
if not checkDistance(src, lsdTables[src].loc, 3.0, 'md-drugs:server:heatliquid') then
|
if not checkDistance(src, lsdTables[src].loc, 3.0, 'md-drugs:server:heatliquid') then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
if not craft(src, Recipes.LSD['vial']['heat']) then
|
if not craft(src, Config.LSD.Recipes.vial.heat) then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
@@ -123,10 +94,12 @@ RegisterServerEvent('md-drugs:server:refinequalityacid', function()
|
|||||||
if timeOut(src, 'md-drugs:server:refinequalityacid') then
|
if timeOut(src, 'md-drugs:server:refinequalityacid') then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
local removed = Bridge.Inventory.RemoveItem(src, 'lsd_one_vial', 1)
|
local removed = Bridge.Inventory.RemoveItem(src, 'lsd_one_vial', 1)
|
||||||
if not removed then
|
if not removed then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
if Config.TierSystem then
|
if Config.TierSystem then
|
||||||
local lsd = tonumber(getRep(src, 'lsd'))
|
local lsd = tonumber(getRep(src, 'lsd'))
|
||||||
if lsd <= 30 then
|
if lsd <= 30 then
|
||||||
@@ -175,11 +148,11 @@ RegisterServerEvent('md-drugs:server:gettabpaper', function(num)
|
|||||||
|
|
||||||
if timeOut(src, 'md-drugs:server:gettabpaper') then return end
|
if timeOut(src, 'md-drugs:server:gettabpaper') then return end
|
||||||
|
|
||||||
if not checkDistance(src, Locations.LSD.gettabs[num].loc, 3.0, 'md-drugs:server:gettabpaper') then
|
if not checkDistance(src, Config.LSD.Locations.gettabs[num].loc, 3.0, 'md-drugs:server:gettabpaper') then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
if Bridge.Framework.RemoveAccountBalance(src, 'cash', prices.tabcost * 10) then
|
if Bridge.Framework.RemoveAccountBalance(src, 'cash', Config.LSD.prices.tabcost * 10) then
|
||||||
Bridge.Inventory.AddItem(src,'tab_paper', 10)
|
Bridge.Inventory.AddItem(src,'tab_paper', 10)
|
||||||
else
|
else
|
||||||
Bridge.Notify.SendNotify(src, Bridge.Language.Locale('Catches.notEnoughMoney'), "error")
|
Bridge.Notify.SendNotify(src, Bridge.Language.Locale('Catches.notEnoughMoney'), "error")
|
||||||
@@ -194,10 +167,10 @@ RegisterServerEvent('md-drugs:server:getlabkit', function(num)
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
if not checkDistance(src, Locations.LSD.buyLSDkit[num].loc, 3.0, 'md-drugs:server:getlabkit') then
|
if not checkDistance(src, Config.LSD.Locations.buyLSDkit[num].loc, 3.0, 'md-drugs:server:getlabkit') then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
if Bridge.Framework.RemoveAccountBalance(src, 'cash', prices.lsdlabkitcost) then
|
if Bridge.Framework.RemoveAccountBalance(src, 'cash', Config.LSD.prices.lsdlabkitcost) then
|
||||||
Bridge.Inventory.AddItem(src,'lsdlabkit', 1)
|
Bridge.Inventory.AddItem(src,'lsdlabkit', 1)
|
||||||
else
|
else
|
||||||
Bridge.Notify.SendNotify(src, Bridge.Language.Locale('Catches.notEnoughMoney'), "error")
|
Bridge.Notify.SendNotify(src, Bridge.Language.Locale('Catches.notEnoughMoney'), "error")
|
||||||
|
|||||||
+2
-18
@@ -1,30 +1,14 @@
|
|||||||
Recipes, Locations = Recipes or {}, Locations or {}
|
|
||||||
|
|
||||||
Locations.Mescaline = {
|
|
||||||
DryOutMescaline = { -- where to dry out your mescaline
|
|
||||||
{loc = vector3(1850.12, 2595.23, 45.67), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
GlobalState.MDDrugsLocations = Locations
|
|
||||||
Recipes.Mescaline = {
|
|
||||||
mescaline = {
|
|
||||||
dry = {
|
|
||||||
dried = {take = {cactusbulb = 1}, give = {driedmescaline = 1} }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
}
|
|
||||||
GlobalState.MDDrugsRecipes = Recipes
|
|
||||||
|
|
||||||
|
|
||||||
RegisterNetEvent("md-drugs:server:drymescaline", function(num)
|
RegisterNetEvent("md-drugs:server:drymescaline", function(num)
|
||||||
local src = source
|
local src = source
|
||||||
if timeOut(src, 'md-drugs:server:drymescaline') then return end
|
if timeOut(src, 'md-drugs:server:drymescaline') then return end
|
||||||
|
|
||||||
if not checkDistance(src, Locations.Mescaline.DryOutMescaline[num].loc, 3.0, 'md-drugs:server:drymescaline') then
|
if not checkDistance(src, Config.Mescaline.Locations.DryOutMescaline[num].loc, 3.0, 'md-drugs:server:drymescaline') then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
if not craft(src, Recipes.Mescaline.mescaline.dry.dried) then
|
if not craft(src, Config.Mescaline.Recipes.dry.dried) then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|||||||
+6
-50
@@ -1,48 +1,5 @@
|
|||||||
Recipes, Locations = Recipes or {}, Locations or {}
|
|
||||||
local onRun = {}
|
local onRun = {}
|
||||||
local vehicles = {}
|
local vehicles = {}
|
||||||
Locations.Meth = {
|
|
||||||
CookMeth = {
|
|
||||||
{loc = vector3(1006.09, -3200.59, -38.52), size = vector3(1.0, 1.0, 2.0), offset = vec3(4.79, 2.13, -0.41), rotation = vector3(0,0,0.0), gang = ""},
|
|
||||||
},
|
|
||||||
MethDials = {
|
|
||||||
{loc = vector3(1007.89, -3201.17, -38.99), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
|
||||||
},
|
|
||||||
MethSmash = {
|
|
||||||
{loc = vector3(1012.04, -3194.96, -38.99), bucket = vector4(1012.86, -3194.13, -39.20, 90.00), size = vector3(1.0, 1.0, 2.0), offset = vec3(-3.143311, -1.666748, -1.010128), rotation = vector3(0,0,0.0), gang = ""},
|
|
||||||
},
|
|
||||||
BagMeth = {
|
|
||||||
{loc = vector3(1014.25, -3194.93, -38.99), size = vector3(1.0, 1.0, 2.0), offset = vec3(-4.9, -1.70, -1.01), rotation = vector3(0,0,0.0), gang = ""},
|
|
||||||
},
|
|
||||||
MethEph = { -- get ephedrine
|
|
||||||
{loc = vector3(3559.86, 3673.9, 28.13), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
|
||||||
},
|
|
||||||
MethAce = { -- get acetone
|
|
||||||
{loc = vector3(3535.41, 3661.05, 28.12), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
|
||||||
},
|
|
||||||
MethHeist = {
|
|
||||||
{loc = vector4(-1520.84, 827.72, 181.66, 184.13), ped = 'a_m_m_farmer_01', gang = ""},
|
|
||||||
},
|
|
||||||
StartLoc = { -- where truck spawns for lean and meth missions
|
|
||||||
vector3(-2307.22, 434.77, 174.47),
|
|
||||||
vector3(614.75, 1786.26, 199.39),
|
|
||||||
vector3(-224.89, 6388.32, 31.59)
|
|
||||||
},
|
|
||||||
MethTele = {
|
|
||||||
{inside = vector3(996.91, -3200.83, -36.39), outside = vector3(-2222.04, 303.99, 174.6), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
GlobalState.MDDrugsLocations = Locations
|
|
||||||
|
|
||||||
Recipes.Meth = {
|
|
||||||
cook = {
|
|
||||||
heat = {take = {ephedrine = 1, acetone = 1}, give = {}}
|
|
||||||
},
|
|
||||||
bag = {
|
|
||||||
bags = {take = {empty_weed_bag = 5}, give = {methbags = 5} }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
GlobalState.MDDrugsRecipes = Recipes
|
|
||||||
|
|
||||||
local function setTimeout(src)
|
local function setTimeout(src)
|
||||||
if onRun[src] then
|
if onRun[src] then
|
||||||
@@ -91,11 +48,11 @@ RegisterServerEvent('md-drugs:server:getmeth', function(num)
|
|||||||
local src = source
|
local src = source
|
||||||
if timeOut(src, 'md-drugs:server:getmeth') then return end
|
if timeOut(src, 'md-drugs:server:getmeth') then return end
|
||||||
|
|
||||||
if not checkDistance(src, Locations.Meth.BagMeth[num].loc, 2.5, 'md-drugs:server:getmeth') then
|
if not checkDistance(src, Config.Meth.Locations.BagMeth[num].loc, 2.5, 'md-drugs:server:getmeth') then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
if not craft(src, Recipes.Meth.bag.bags) then
|
if not craft(src, Config.Meth.recipes.bag.bags) then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
@@ -103,7 +60,7 @@ end)
|
|||||||
RegisterServerEvent('md-drugs:server:geteph', function(num)
|
RegisterServerEvent('md-drugs:server:geteph', function(num)
|
||||||
local src = source
|
local src = source
|
||||||
if timeOut(src, 'md-drugs:server:geteph') then return end
|
if timeOut(src, 'md-drugs:server:geteph') then return end
|
||||||
if not checkDistance(src, Locations.Meth.MethEph[num].loc, 2.5, 'md-drugs:server:geteph') then
|
if not checkDistance(src, Config.Meth.Locations.MethEph[num].loc, 2.5, 'md-drugs:server:geteph') then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
Bridge.Inventory.AddItem(src, 'ephedrine', 1)
|
Bridge.Inventory.AddItem(src, 'ephedrine', 1)
|
||||||
@@ -113,7 +70,6 @@ RegisterServerEvent('md-drugs:server:getace', function(num)
|
|||||||
local src = source
|
local src = source
|
||||||
if timeOut(src, 'md-drugs:server:getace') then return end
|
if timeOut(src, 'md-drugs:server:getace') then return end
|
||||||
if not checkDistance(src, Locations.Meth.MethAce[num].loc, 2.5, 'md-drugs:server:getace') then
|
if not checkDistance(src, Locations.Meth.MethAce[num].loc, 2.5, 'md-drugs:server:getace') then
|
||||||
Bridge.Notify.SendNotify(src, Bridge.Language.Locale('Catches.notIn'), "error")
|
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
Bridge.Inventory.AddItem(src, 'acetone', 1)
|
Bridge.Inventory.AddItem(src, 'acetone', 1)
|
||||||
@@ -121,10 +77,10 @@ end)
|
|||||||
|
|
||||||
Bridge.Callback.Register('md-drugs:server:startcook', function(source, num)
|
Bridge.Callback.Register('md-drugs:server:startcook', function(source, num)
|
||||||
local src = source
|
local src = source
|
||||||
if not checkDistance(src, Locations.Meth.CookMeth[num].loc, 2.5, 'md-drugs:server:startcook') then
|
if not checkDistance(src, Config.Meth.Locations.CookMeth[num].loc, 2.5, 'md-drugs:server:startcook') then
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
if not craft(src, Recipes.Meth.cook.heat) then
|
if not craft(src, Config.Meth.recipes.cook.heat) then
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
return true
|
return true
|
||||||
@@ -135,7 +91,7 @@ Bridge.Callback.Register('md-drugs:server:registerMeth', function(source, loc, v
|
|||||||
if onRun[source] then
|
if onRun[source] then
|
||||||
return false
|
return false
|
||||||
else
|
else
|
||||||
if checkDistance(src, Locations.Meth.MethHeist[loc].loc, 10.0, 'md-drugs:server:registerMeth') then
|
if checkDistance(src, Config.Meth.Locations.MethHeist[loc].loc, 10.0, 'md-drugs:server:registerMeth') then
|
||||||
local vehicle = NetworkGetEntityFromNetworkId(vehNetId)
|
local vehicle = NetworkGetEntityFromNetworkId(vehNetId)
|
||||||
if DoesEntityExist(vehicle) and GetEntityModel(vehicle) == GetHashKey('journey') then
|
if DoesEntityExist(vehicle) and GetEntityModel(vehicle) == GetHashKey('journey') then
|
||||||
vehicles[src] = vehicle
|
vehicles[src] = vehicle
|
||||||
|
|||||||
+9
-37
@@ -1,31 +1,7 @@
|
|||||||
Locations = Locations or {}
|
|
||||||
local prices = {
|
|
||||||
payfortruck = 500,
|
|
||||||
hotchance = 30,
|
|
||||||
itemChance = 20,
|
|
||||||
}
|
|
||||||
local onRoute = {}
|
local onRoute = {}
|
||||||
local vehicles = {}
|
local vehicles = {}
|
||||||
Locations.Oxy = {
|
|
||||||
OxyPayForTruck = {
|
|
||||||
{loc = vector3(1437.64, -1491.91, 63.62), truckSpawn = vector4(1450.87, -1482.13, 63.22, 69.95),size = vector3(1.0, 1.0, 2.0), gang = ""},
|
|
||||||
},
|
|
||||||
oxylocations = {
|
|
||||||
vector4(-2352.32, 266.78, 165.3, 23.46),
|
|
||||||
vector4(-1467.49, 874.01, 183.59, 298.45),
|
|
||||||
vector4(-856.71, 874.26, 202.85, 205.3),
|
|
||||||
vector4(950.58, -128.49, 74.42, 205.3),
|
|
||||||
vector4(1152.71, -328.43, 69.21, 205.3),
|
|
||||||
vector4(112.66, -1955.67, 20.75, 37.94),
|
|
||||||
vector4(-544.4, -1684.8, 19.89, 252.07),
|
|
||||||
vector4(-1185.02, -1805.4, 3.91, 184.83),
|
|
||||||
vector4(-1641.4, -981.99, 7.58, 35.38),
|
|
||||||
vector4(-1827.93, 782.36, 138.29, 219.99),
|
|
||||||
vector4(-320.84, 2818.73, 59.45, 337.22),
|
|
||||||
vector4(474.88, 2609.56, 44.48, 357.0),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
GlobalState.MDDrugsLocations = Locations
|
|
||||||
|
|
||||||
|
|
||||||
Bridge.Callback.Register('md-drugs:server:payfortruck', function(source, loc)
|
Bridge.Callback.Register('md-drugs:server:payfortruck', function(source, loc)
|
||||||
@@ -34,15 +10,15 @@ Bridge.Callback.Register('md-drugs:server:payfortruck', function(source, loc)
|
|||||||
if onRoute[src] then
|
if onRoute[src] then
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
if not checkDistance(src, Locations.Oxy.OxyPayForTruck[loc].loc, 2.0, 'md-drugs:server:payfortruck') then
|
if not checkDistance(src, Config.Oxy.Locations.OxyPayForTruck[loc].loc, 2.0, 'md-drugs:server:payfortruck') then
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
if not Bridge.Framework.RemoveAccountBalance(src, 'cash', prices.payfortruck) then
|
if not Bridge.Framework.RemoveAccountBalance(src, 'cash', Config.Oxy.prices.payfortruck) then
|
||||||
Bridge.Notify.SendNotify(src, Bridge.Language.Locale('oxy.notEnoughCash'), "error")
|
Bridge.Notify.SendNotify(src, Bridge.Language.Locale('oxy.notEnoughCash'), "error")
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
onRoute[src] = {
|
onRoute[src] = {
|
||||||
amount = math.random(1, #Locations.Oxy.oxylocations),
|
amount = math.random(1, #Config.Oxy.Locations.oxylocations),
|
||||||
current = 0
|
current = 0
|
||||||
}
|
}
|
||||||
return true
|
return true
|
||||||
@@ -57,7 +33,7 @@ RegisterServerEvent('md-drugs:server:giveoxybox', function()
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
if not checkDistance(src, Locations.Oxy.oxylocations[onRoute[src].current], 3.5, 'md-drugs:server:giveoxybox') then
|
if not checkDistance(src, Config.Oxy.Locations.oxylocations[onRoute[src].current], 3.5, 'md-drugs:server:giveoxybox') then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -73,13 +49,9 @@ RegisterServerEvent('md-drugs:server:giveoxybox', function()
|
|||||||
|
|
||||||
local cash = math.random(50, 200)
|
local cash = math.random(50, 200)
|
||||||
local itemchance = math.random(1,100)
|
local itemchance = math.random(1,100)
|
||||||
local itemList = {
|
local item = Config.Oxy.itemList[math.random(1, #Config.Oxy.itemList)]
|
||||||
{item = 'oxy', amount = 2},
|
|
||||||
{item = 'houselockpick', amount = 1},
|
|
||||||
}
|
|
||||||
local item = itemList[math.random(1, #itemList)]
|
|
||||||
Bridge.Framework.AddAccountBalance(src, 'cash', cash)
|
Bridge.Framework.AddAccountBalance(src, 'cash', cash)
|
||||||
if itemchance <= prices.itemChance then
|
if itemchance <= Config.Oxy.prices.itemChance then
|
||||||
Bridge.Inventory.AddItem(src, item.item, item.amount)
|
Bridge.Inventory.AddItem(src, item.item, item.amount)
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
@@ -91,7 +63,7 @@ Bridge.Callback.Register('md-drugs:server:getRoute', function(source)
|
|||||||
vehicles[source] = nil
|
vehicles[source] = nil
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
onRoute[source].current = math.random(1, #Locations.Oxy.oxylocations)
|
onRoute[source].current = math.random(1, #Config.Oxy.Locations.oxylocations)
|
||||||
onRoute[source].amount = onRoute[source].amount - 1
|
onRoute[source].amount = onRoute[source].amount - 1
|
||||||
return onRoute[source].current
|
return onRoute[source].current
|
||||||
end)
|
end)
|
||||||
|
|||||||
+1
-8
@@ -1,11 +1,4 @@
|
|||||||
Locations = Locations or {}
|
|
||||||
|
|
||||||
Locations.Pharma = {
|
|
||||||
FillPrescription = { -- where to fill out your prescription
|
|
||||||
{loc = vector3(2855.62, 4446.73, 48.53), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
GlobalState.MDDrugsLocations = Locations
|
|
||||||
|
|
||||||
local function GetJob(source)
|
local function GetJob(source)
|
||||||
local src = source
|
local src = source
|
||||||
@@ -72,7 +65,7 @@ RegisterServerEvent('md-drugs:server:fillprescription', function(num)
|
|||||||
local src = source
|
local src = source
|
||||||
|
|
||||||
if timeOut(src, 'md-drugs:server:fillprescription') then return end
|
if timeOut(src, 'md-drugs:server:fillprescription') then return end
|
||||||
if not checkDistance(src, Locations.Pharma.FillPrescription[num].loc, 3.5, 'md-drugs:server:fillprescription') then
|
if not checkDistance(src, Config.Pharma.Locations.FillPrescription[num].loc, 3.5, 'md-drugs:server:fillprescription') then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
local pres = {
|
local pres = {
|
||||||
|
|||||||
+6
-112
@@ -1,121 +1,15 @@
|
|||||||
Locations, Recipes = Locations or {}, Recipes or {}
|
|
||||||
|
|
||||||
|
|
||||||
Locations.Weed = {
|
|
||||||
WeedTele = { -- where you tele out of weed
|
|
||||||
{inside = vector3(1066.31, -3183.36, -39.16), outside = vector3(244.74, 374.54, 105.74), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
|
||||||
},
|
|
||||||
MakeButter = {
|
|
||||||
{loc = vector4(1045.43, -3198.75, -38.15, 270.0), prop = 'prop_cooker_03', checks = {}},
|
|
||||||
},
|
|
||||||
MakeOil = {
|
|
||||||
{loc = vector4(1038.8, -3198.68, -38.17, 90.0), prop = 'prop_cooker_03', checks = {}},
|
|
||||||
},
|
|
||||||
WeedDry = {
|
|
||||||
{loc = vector3(1043.0, -3191.59, -38.39), size = vector3(1.0, 1.0, 2.0)},
|
|
||||||
{loc = vector3(1041.0, -3191.59, -38.39), size = vector3(1.0, 1.0, 2.0)},
|
|
||||||
{loc = vector3(1045.0, -3191.59, -38.39), size = vector3(1.0, 1.0, 2.0)},
|
|
||||||
{loc = vector3(1039.0, -3191.59, -38.39), size = vector3(1.0, 1.0, 2.0)},
|
|
||||||
},
|
|
||||||
WeedSalesman = {
|
|
||||||
{loc = vector4(1030.77, -3203.18, -38.2, 262.37), ped = 'a_m_m_farmer_01', gang = ""},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
Recipes.Weed = {
|
|
||||||
blunts = {
|
|
||||||
blunt = {take = {bluntwrap = 1, grindedweed = 1}, give = {blunt = 1}},
|
|
||||||
chewyblunt = {take = {bluntwrap = 1, grindedweed = 1, loosecoke = 1}, give = {chewyblunt = 1}},
|
|
||||||
leanblunts = {take = {leanbluntwrap = 1, grindedweed = 1}, give = {leanblunts = 1}},
|
|
||||||
dextroblunts = {take = {dextrobluntwrap = 1, grindedweed = 1}, give = {dextroblunts = 1}}
|
|
||||||
},
|
|
||||||
bluntwrap = {
|
|
||||||
leanbluntwrap = {take = {bluntwrap = 5, mdlean = 1}, give = {leanbluntwrap = 5}},
|
|
||||||
dextrobluntwrap = {take = {bluntwrap = 5, mdreddextro = 1}, give = {dextrobluntwrap = 5}},
|
|
||||||
},
|
|
||||||
makeButter= {
|
|
||||||
cannabutter = {
|
|
||||||
amount = 1,
|
|
||||||
time = 4000,
|
|
||||||
anim = 'uncuff',
|
|
||||||
recipe = {
|
|
||||||
mdbutter = 1,
|
|
||||||
grindedweed = 1
|
|
||||||
}
|
|
||||||
},
|
|
||||||
specialbrownie = {
|
|
||||||
amount = 1,
|
|
||||||
time = 4000,
|
|
||||||
anim = 'uncuff',
|
|
||||||
recipe = {
|
|
||||||
cannabutter = 1,
|
|
||||||
flour = 1,
|
|
||||||
chocolate = 1
|
|
||||||
}
|
|
||||||
},
|
|
||||||
specialcookie = {
|
|
||||||
amount = 1,
|
|
||||||
time = 4000,
|
|
||||||
anim = 'uncuff',
|
|
||||||
recipe = {
|
|
||||||
cannabutter = 1,
|
|
||||||
flour = 1
|
|
||||||
}
|
|
||||||
},
|
|
||||||
specialchocolate = {
|
|
||||||
amount = 1,
|
|
||||||
time = 4000,
|
|
||||||
anim = 'uncuff',
|
|
||||||
recipe = {
|
|
||||||
cannabutter = 1,
|
|
||||||
chocolate = 1
|
|
||||||
}
|
|
||||||
},
|
|
||||||
specialmuffin = {
|
|
||||||
amount = 1,
|
|
||||||
time = 4000,
|
|
||||||
anim = 'uncuff',
|
|
||||||
recipe = {
|
|
||||||
cannabutter = 1,
|
|
||||||
flour = 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
makeOil = {
|
|
||||||
shatter = {
|
|
||||||
amount = 1,
|
|
||||||
time = 4000,
|
|
||||||
anim = 'uncuff',
|
|
||||||
recipe = {
|
|
||||||
butane = 1,
|
|
||||||
grindedweed = 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
weedStore = {
|
|
||||||
weedgrinder =25,
|
|
||||||
mdbutter =25,
|
|
||||||
flour =25,
|
|
||||||
chocolate =25,
|
|
||||||
butane =25,
|
|
||||||
butanetorch =2,
|
|
||||||
dabrig =2,
|
|
||||||
mdwoods =2,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
GlobalState.MDDrugsLocations = Locations
|
|
||||||
GlobalState.MDDrugsRecipes = Recipes
|
|
||||||
|
|
||||||
RegisterNetEvent('md-drugs:server:buyWeedItem', function(loc, name, amount)
|
RegisterNetEvent('md-drugs:server:buyWeedItem', function(loc, name, amount)
|
||||||
local src = source
|
local src = source
|
||||||
if not checkDistance(src, Locations.Weed.WeedSalesman[loc].loc, 3.5, 'md-drugs:server:buyWeedItem') then
|
if not checkDistance(src, Config.Weed.Locations.WeedSalesman[loc].loc, 3.5, 'md-drugs:server:buyWeedItem') then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
if not Recipes.Weed.weedStore[name] then
|
if not Config.Weed.Recipes.weedStore[name] then
|
||||||
Bridge.Prints.Warn(Bridge.Language.Locale('weed.itemDoesntExistWarn', Bridge.Framework.GetPlayerIdentifier(src), name))
|
Bridge.Prints.Warn(Bridge.Language.Locale('weed.itemDoesntExistWarn', Bridge.Framework.GetPlayerIdentifier(src), name))
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
if Bridge.Framework.RemoveAccountBalance(src, 'cash', Recipes.Weed.weedStore[name] * amount) or Bridge.Framework.RemoveAccountBalance(src, 'bank', Recipes.Weed.weedStore[name] * amount) then
|
if Bridge.Framework.RemoveAccountBalance(src, 'cash', Config.Weed.Recipes.weedStore[name] * amount) or Bridge.Framework.RemoveAccountBalance(src, 'bank', Config.Weed.Recipes.weedStore[name] * amount) then
|
||||||
Bridge.Inventory.AddItem(src, name, amount)
|
Bridge.Inventory.AddItem(src, name, amount)
|
||||||
else
|
else
|
||||||
Bridge.Notify.SendNotify(src, Bridge.Language.Locale('Catches.notEnoughMoney'), "error")
|
Bridge.Notify.SendNotify(src, Bridge.Language.Locale('Catches.notEnoughMoney'), "error")
|
||||||
@@ -125,7 +19,7 @@ end)
|
|||||||
RegisterServerEvent('md-drugs:server:dryoutweed', function(loc)
|
RegisterServerEvent('md-drugs:server:dryoutweed', function(loc)
|
||||||
local src = source
|
local src = source
|
||||||
if timeOut(src, 'md-drugs:server:dryoutweed') then return end
|
if timeOut(src, 'md-drugs:server:dryoutweed') then return end
|
||||||
if not checkDistance(src, Locations.Weed.WeedDry[loc].loc, 5.0, 'md-drugs:server:dryoutweed') then
|
if not checkDistance(src, Config.Weed.Locations.WeedDry[loc].loc, 5.0, 'md-drugs:server:dryoutweed') then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
if Bridge.Inventory.RemoveItem(src,"wetcannabis", 1) then
|
if Bridge.Inventory.RemoveItem(src,"wetcannabis", 1) then
|
||||||
@@ -155,10 +49,10 @@ RegisterServerEvent('md-drugs:server:MakeWeedItems', function(tabl, item, loc)
|
|||||||
Bridge.Prints.Warn(Bridge.Language.Locale('weed.invalidTableWarn', Bridge.Framework.GetPlayerIdentifier(src), tabl))
|
Bridge.Prints.Warn(Bridge.Language.Locale('weed.invalidTableWarn', Bridge.Framework.GetPlayerIdentifier(src), tabl))
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
if not checkDistance(src, Locations.Weed[locs][loc].loc, 5.0, 'md-drugs:server:MakeWeedItems') then
|
if not checkDistance(src, Config.Weed.Locations[locs][loc].loc, 5.0, 'md-drugs:server:MakeWeedItems') then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
local recipe = Recipes.Weed[tabl][item]
|
local recipe = Config.Weed.Recipes[tabl][item]
|
||||||
if not recipe then
|
if not recipe then
|
||||||
Bridge.Prints.Warn(Bridge.Language.Locale('weed.recipeDoesntExistWarn', Bridge.Framework.GetPlayerIdentifier(src), item))
|
Bridge.Prints.Warn(Bridge.Language.Locale('weed.recipeDoesntExistWarn', Bridge.Framework.GetPlayerIdentifier(src), item))
|
||||||
return
|
return
|
||||||
|
|||||||
+4
-33
@@ -1,32 +1,3 @@
|
|||||||
Locations, Recipes = Locations or {}, Recipes or {}
|
|
||||||
Recipes.Whippit = {
|
|
||||||
cracker = {
|
|
||||||
{color = 'blue', item = 'blue_uninflated_balloon'},
|
|
||||||
{color = 'green', item = 'green_uninflated_balloon'},
|
|
||||||
{color = 'orange', item = 'orange_uninflated_balloon'},
|
|
||||||
{color = 'purple', item = 'purple_uninflated_balloon'},
|
|
||||||
{color = 'red', item = 'red_uninflated_balloon'},
|
|
||||||
{color = 'white', item = 'white_uninflated_balloon'},
|
|
||||||
{color = 'yellow', item = 'yellow_uninflated_balloon'}
|
|
||||||
},
|
|
||||||
shop = {
|
|
||||||
blue_uninflated_balloon =5,
|
|
||||||
green_uninflated_balloon =5,
|
|
||||||
orange_uninflated_balloon =5,
|
|
||||||
purple_uninflated_balloon =5,
|
|
||||||
red_uninflated_balloon =5,
|
|
||||||
white_uninflated_balloon =5,
|
|
||||||
yellow_uninflated_balloon =5,
|
|
||||||
cracker =500,
|
|
||||||
whipped_cream_cannister =10
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Locations.Whippit = {
|
|
||||||
{loc =vector4(1695.47, 4872.98, 42.16, 288.86), ped = 'ig_priest' },
|
|
||||||
}
|
|
||||||
|
|
||||||
GlobalState.MDDrugsLocations = Locations
|
|
||||||
GlobalState.MDDrugsRecipes = Recipes
|
|
||||||
|
|
||||||
|
|
||||||
RegisterServerEvent('md-drugs:server:buyWhippitItem', function(loc, item,amount)
|
RegisterServerEvent('md-drugs:server:buyWhippitItem', function(loc, item,amount)
|
||||||
@@ -34,15 +5,15 @@ RegisterServerEvent('md-drugs:server:buyWhippitItem', function(loc, item,amount)
|
|||||||
|
|
||||||
if timeOut(src, 'md-drugs:server:buyWhippitItem') then return end
|
if timeOut(src, 'md-drugs:server:buyWhippitItem') then return end
|
||||||
|
|
||||||
if not checkDistance(src, Locations.Whippit[loc].loc, 3.0, 'md-drugs:server:buyWhippitItem') then
|
if not checkDistance(src, Config.Whippit.Locations.Whippit[loc].loc, 3.0, 'md-drugs:server:buyWhippitItem') then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
if not Recipes.Whippit.shop[item] then
|
if not Config.Whippit.Recipes.shop[item] then
|
||||||
Bridge.Prints.Warn(Bridge.Language.Locale('Whippit.invalidItemWarn', Bridge.Framework.GetPlayerIdentifier(src), item))
|
Bridge.Prints.Warn(Bridge.Language.Locale('Whippit.invalidItemWarn', Bridge.Framework.GetPlayerIdentifier(src), item))
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
local price = Recipes.Whippit.shop[item] * amount
|
local price = Config.Whippit.Recipes.shop[item] * amount
|
||||||
if not Bridge.Framework.RemoveAccountBalance(src, 'cash', price, 'whippit-shop') then
|
if not Bridge.Framework.RemoveAccountBalance(src, 'cash', price, 'whippit-shop') then
|
||||||
return Bridge.Notify.SendNotify(src, Bridge.Language.Locale('Whippit.notEnoughMoney', price), 'error')
|
return Bridge.Notify.SendNotify(src, Bridge.Language.Locale('Whippit.notEnoughMoney', price), 'error')
|
||||||
end
|
end
|
||||||
@@ -54,7 +25,7 @@ Bridge.Framework.RegisterUsableItem('cracker', function(source)
|
|||||||
if not Bridge.Inventory.HasItem(src, 'cracker', 1) then return end
|
if not Bridge.Inventory.HasItem(src, 'cracker', 1) then return end
|
||||||
if not Bridge.Inventory.HasItem(src, 'whipped_cream_cannister', 1) then return end
|
if not Bridge.Inventory.HasItem(src, 'whipped_cream_cannister', 1) then return end
|
||||||
local balloonItem, balloonColor = nil, nil
|
local balloonItem, balloonColor = nil, nil
|
||||||
for _, balloon in pairs(Recipes.Whippit.cracker) do
|
for _, balloon in pairs(Config.Whippit.Recipes.cracker) do
|
||||||
if Bridge.Inventory.HasItem(src, balloon.item, 1) then
|
if Bridge.Inventory.HasItem(src, balloon.item, 1) then
|
||||||
balloonItem = balloon.item
|
balloonItem = balloon.item
|
||||||
balloonColor = 'ate_balloon_' .. balloon.color
|
balloonColor = 'ate_balloon_' .. balloon.color
|
||||||
|
|||||||
+12
-69
@@ -8,64 +8,7 @@ local burners = {
|
|||||||
methburner = {'methbaggy'},
|
methburner = {'methbaggy'},
|
||||||
}
|
}
|
||||||
local active = {}
|
local active = {}
|
||||||
local settings = {}
|
|
||||||
|
|
||||||
settings.WholesaleQuantityBonus = 0.05 -- 5% bonus per 10 units sold (up to 20%)
|
|
||||||
settings.WholesaleMaxBonus = 0.20 -- Maximum 20% bonus
|
|
||||||
settings.WholesaleMinQuantity = 5 -- Minimum quantity required for wholesale
|
|
||||||
settings.WholesaleAmbushEnabled = true -- Enable or disable ambush on failed deals
|
|
||||||
settings.WholesaleAmbushBase = 2 -- Base number of attackers on failed deals
|
|
||||||
settings.WholesaleAmbushScale = true -- Scale number of attackers based on drug quantity
|
|
||||||
settings.WholesaleAmbushTier1 = 10 -- Drug quantity threshold for 3 attackers
|
|
||||||
settings.WholesaleAmbushTier2 = 20 -- Drug quantity threshold for 4 attackers
|
|
||||||
settings.WholesaleAmbushTier3 = 30 -- Drug quantity threshold for 5 attackers
|
|
||||||
settings.FailChance = 20 -- Percentage chance of ambush occurring on a failed deal
|
|
||||||
settings.PoliceCount = 0 -- Minimum police required to initiate a wholesale deal
|
|
||||||
local Price = {
|
|
||||||
cokeburner = {
|
|
||||||
min = 25,
|
|
||||||
max = 50
|
|
||||||
},
|
|
||||||
crackburner = {
|
|
||||||
min = 25,
|
|
||||||
max = 50
|
|
||||||
},
|
|
||||||
lsdburner = {
|
|
||||||
min = 25,
|
|
||||||
max = 50
|
|
||||||
},
|
|
||||||
heroinburner = {
|
|
||||||
min = 25,
|
|
||||||
max = 50
|
|
||||||
},
|
|
||||||
xtcburner = {
|
|
||||||
min = 25,
|
|
||||||
max = 50
|
|
||||||
},
|
|
||||||
methburner = {
|
|
||||||
min = 25,
|
|
||||||
max = 50
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
settings.Locs = {
|
|
||||||
vector4(-2352.32, 266.78, 165.3, 23.46),
|
|
||||||
vector4(-1467.49, 874.01, 183.59, 298.45),
|
|
||||||
vector4(-856.71, 874.26, 202.85, 205.3),
|
|
||||||
vector4(950.58, -128.49, 74.42, 205.3),
|
|
||||||
vector4(1152.71, -328.43, 69.21, 205.3),
|
|
||||||
vector4(112.66, -1955.67, 20.75, 37.94),
|
|
||||||
vector4(-544.4, -1684.8, 19.89, 252.07),
|
|
||||||
vector4(-1185.02, -1805.4, 3.91, 184.83),
|
|
||||||
vector4(-1641.4, -981.99, 7.58, 35.38),
|
|
||||||
vector4(-1827.93, 782.36, 138.29, 219.99),
|
|
||||||
vector4(-320.84, 2818.73, 59.45, 337.22),
|
|
||||||
vector4(474.88, 2609.56, 44.48, 357.0),
|
|
||||||
}
|
|
||||||
Locations = Locations or {}
|
|
||||||
|
|
||||||
|
|
||||||
GlobalState.MDDrugsLocations = Locations
|
|
||||||
|
|
||||||
for k, v in pairs (burners) do
|
for k, v in pairs (burners) do
|
||||||
Bridge.Framework.RegisterUsableItem(k, function(source, item)
|
Bridge.Framework.RegisterUsableItem(k, function(source, item)
|
||||||
@@ -74,7 +17,7 @@ for k, v in pairs (burners) do
|
|||||||
TriggerClientEvent("md-drugs:client:MarkLocation", src, active[source].location)
|
TriggerClientEvent("md-drugs:client:MarkLocation", src, active[source].location)
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
if #Bridge.Framework.GetPlayersByJob('police') < settings.PoliceCount then
|
if #Bridge.Framework.GetPlayersByJob('police') < Config.Wholesale.settings.PoliceCount then
|
||||||
return Bridge.Notify.SendNotify(source, Bridge.Language.Locale('wholesale.not_enough_police'), 'error')
|
return Bridge.Notify.SendNotify(source, Bridge.Language.Locale('wholesale.not_enough_police'), 'error')
|
||||||
end
|
end
|
||||||
local itemCount, itemList = 0, {}
|
local itemCount, itemList = 0, {}
|
||||||
@@ -85,7 +28,7 @@ for k, v in pairs (burners) do
|
|||||||
itemList[d] = amt
|
itemList[d] = amt
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if itemCount < settings.WholesaleMinQuantity then
|
if itemCount < Config.Wholesale.settings.WholesaleMinQuantity then
|
||||||
return Bridge.Notify.SendNotify(source, Bridge.Language.Locale('wholesale.not_enough_drugs'), 'error')
|
return Bridge.Notify.SendNotify(source, Bridge.Language.Locale('wholesale.not_enough_drugs'), 'error')
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -93,21 +36,21 @@ for k, v in pairs (burners) do
|
|||||||
active[src] = {
|
active[src] = {
|
||||||
count = itemCount,
|
count = itemCount,
|
||||||
itemList = itemList,
|
itemList = itemList,
|
||||||
location = settings.Locs[math.random(1, #settings.Locs)],
|
location = Config.Wholesale.Locs[math.random(1, #Config.Wholesale.Locs)],
|
||||||
price = math.random(Price[k].min, Price[k].max),
|
price = math.random(Config.Wholesale.Price[k].min, Config.Wholesale.Price[k].max),
|
||||||
drugType = k,
|
drugType = k,
|
||||||
ambush = math.random(1, 100) <= settings.FailChance and true or false,
|
ambush = math.random(1, 100) <= Config.Wholesale.settings.FailChance and true or false,
|
||||||
}
|
}
|
||||||
if active[src].ambush and settings.WholesaleAmbushEnabled then
|
if active[src].ambush and Config.Wholesale.settings.WholesaleAmbushEnabled then
|
||||||
active[src].attackerCount = settings.WholesaleAmbushBase
|
active[src].attackerCount = Config.Wholesale.settings.WholesaleAmbushBase
|
||||||
if settings.WholesaleAmbushScale then
|
if Config.Wholesale.settings.WholesaleAmbushScale then
|
||||||
if active[src].count > settings.WholesaleAmbushTier1 then
|
if active[src].count > Config.Wholesale.settings.WholesaleAmbushTier1 then
|
||||||
active[src].attackerCount = active[src].attackerCount + 1
|
active[src].attackerCount = active[src].attackerCount + 1
|
||||||
end
|
end
|
||||||
if active[src].count > settings.WholesaleAmbushTier2 then
|
if active[src].count > Config.Wholesale.settings.WholesaleAmbushTier2 then
|
||||||
active[src].attackerCount = active[src].attackerCount + 1
|
active[src].attackerCount = active[src].attackerCount + 1
|
||||||
end
|
end
|
||||||
if active[src].count > settings.WholesaleAmbushTier3 then
|
if active[src].count > Config.Wholesale.settings.WholesaleAmbushTier3 then
|
||||||
active[src].attackerCount = active[src].attackerCount + 1
|
active[src].attackerCount = active[src].attackerCount + 1
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -132,7 +75,7 @@ RegisterNetEvent('md-drugs:server:SuccessSale', function(entity)
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
local basePrice = active[src].price * active[src].count
|
local basePrice = active[src].price * active[src].count
|
||||||
local bonusMultiplier = math.min(math.floor(active[src].count / 10) * settings.WholesaleQuantityBonus, settings.WholesaleMaxBonus)
|
local bonusMultiplier = math.min(math.floor(active[src].count / 10) * Config.Wholesale.settings.WholesaleQuantityBonus, Config.Wholesale.settings.WholesaleMaxBonus)
|
||||||
local totalPrice = math.floor(basePrice * (1 + bonusMultiplier))
|
local totalPrice = math.floor(basePrice * (1 + bonusMultiplier))
|
||||||
for k, v in pairs (active[src].itemList) do
|
for k, v in pairs (active[src].itemList) do
|
||||||
local has = Bridge.Inventory.GetItemCount(src, k) or 0
|
local has = Bridge.Inventory.GetItemCount(src, k) or 0
|
||||||
|
|||||||
+14
-71
@@ -1,66 +1,9 @@
|
|||||||
Locations, Recipes = Locations or {}, Recipes or {}
|
|
||||||
-------------------- stealing ingridients
|
|
||||||
Recipes.XTC = {
|
|
||||||
raw = {
|
|
||||||
raw_xtc = {take = {mdp2p = 1, isosafrole = 1}, give = {raw_xtc = 1}}
|
|
||||||
},
|
|
||||||
singlestack = {
|
|
||||||
white_xtc = {give = {white_xtc = 1}, take = {raw_xtc = 1}},
|
|
||||||
red_xtc = {give = {red_xtc = 1}, take = {raw_xtc = 1, loosecoke = 1},},
|
|
||||||
orange_xtc = {give = {orange_xtc = 1}, take = {raw_xtc = 1, heroinvial = 1},},
|
|
||||||
blue_xtc = {give = {blue_xtc = 1}, take = {raw_xtc = 1, crackrock = 1},},
|
|
||||||
},
|
|
||||||
dualstack = {
|
|
||||||
white_xtc2 = {give = {white_xtc2 = 1}, take = {raw_xtc = 1},},
|
|
||||||
red_xtc2 = {give = {red_xtc2 = 1}, take = {raw_xtc = 1, loosecoke = 1},},
|
|
||||||
orange_xtc2 = {give = {orange_xtc2 = 1}, take = {raw_xtc = 1, heroinvial = 1},},
|
|
||||||
blue_xtc2 = {give = {blue_xtc2 = 1}, take = {raw_xtc = 1, crackrock = 1},},
|
|
||||||
},
|
|
||||||
triplestack = {
|
|
||||||
white_xtc3 = {give = {white_xtc3 = 1}, take = {raw_xtc = 1},},
|
|
||||||
red_xtc3 = {give = {red_xtc3 = 1}, take = {raw_xtc = 1, loosecoke = 1},},
|
|
||||||
orange_xtc3 = {give = {orange_xtc3 = 1}, take = {raw_xtc = 1, heroinvial = 1},},
|
|
||||||
blue_xtc3 = {give = {blue_xtc3 = 1}, take = {raw_xtc = 1, crackrock = 1},},
|
|
||||||
},
|
|
||||||
quadstack = {
|
|
||||||
white_xtc4 = {give = {white_xtc4 = 1}, take = {raw_xtc = 1},},
|
|
||||||
red_xtc4 = {give = {red_xtc4 = 1}, take = {raw_xtc = 1, loosecoke = 1},},
|
|
||||||
orange_xtc4 = {give = {orange_xtc4 = 1}, take = {raw_xtc = 1, heroinvial = 1},},
|
|
||||||
blue_xtc4 = {give = {blue_xtc4 = 1}, take = {raw_xtc = 1, crackrock = 1},},
|
|
||||||
},
|
|
||||||
presses = {
|
|
||||||
singlepress = {type = 1,cash = 10000},
|
|
||||||
dualpress = {type = 2,give = {dualpress = 1}, take = {white_xtc = 20, blue_xtc = 20, red_xtc = 20, orange_xtc = 20, singlepress = 1}},
|
|
||||||
triplepress = {type = 3,give = {triplepress = 1}, take = {white_xtc2 = 50, blue_xtc2 = 50, red_xtc2 = 50, orange_xtc2 = 50, dualpress = 1}},
|
|
||||||
quadpress = {type = 4,give = {quadpress = 1}, take = {white_xtc3 = 50, blue_xtc3 = 50, red_xtc3 = 50, orange_xtc3 = 50, triplepress = 1}},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Locations.XTC = {
|
|
||||||
isosafrole = { -- where to steal isosafrole
|
|
||||||
{loc = vector3(844.39, -902.92, 25.42), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
|
||||||
},
|
|
||||||
mdp2p = { -- where to steal mdp2p
|
|
||||||
{loc = vector3(844.4, -898.79, 25.23), size = vector3(1.0, 1.0, 2.0), rot = 45.0, gang = ""},
|
|
||||||
},
|
|
||||||
rawxtcloc = { -- where to combine the 2 ingridents to make raw xtc
|
|
||||||
{loc = vector3(844.71, -910.33, 25.37), size = vector3(1.0, 1.0, 2.0), rot = 45.0, gang = ""},
|
|
||||||
},
|
|
||||||
xtcpress = {
|
|
||||||
{ped = 'g_f_y_families_01',loc = vector4(845.82, -884.79, 25.18, 180.0), size = vector3(1.0, 1.0, 2.0), rot = 45.0, gang = ""},
|
|
||||||
},
|
|
||||||
stamp = { -- where to stamp pills
|
|
||||||
{loc = vector3(844.71, -900.56, 25.43), size = vector3(1.0, 1.0, 2.0), rot = 45.0, gang = ""},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
GlobalState.MDDrugsLocations = Locations
|
|
||||||
GlobalState.MDDrugsRecipes = Recipes
|
|
||||||
|
|
||||||
local activePresses = {}
|
local activePresses = {}
|
||||||
|
|
||||||
RegisterServerEvent('md-drugs:server:stealisosafrole', function(num)
|
RegisterServerEvent('md-drugs:server:stealisosafrole', function(num)
|
||||||
local src = source
|
local src = source
|
||||||
if not checkDistance(src, Locations.XTC.isosafrole[num].loc, 3.0,'md-drugs:server:stealisosafrole') then
|
if not checkDistance(src, Config.XTC.Locations.isosafrole[num].loc, 3.0,'md-drugs:server:stealisosafrole') then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
if timeOut(src, 'md-drugs:server:stealisosafrole') then return end
|
if timeOut(src, 'md-drugs:server:stealisosafrole') then return end
|
||||||
@@ -69,7 +12,7 @@ end)
|
|||||||
|
|
||||||
RegisterServerEvent('md-drugs:server:stealmdp2p', function(num)
|
RegisterServerEvent('md-drugs:server:stealmdp2p', function(num)
|
||||||
local src = source
|
local src = source
|
||||||
if not checkDistance(src, Locations.XTC.mdp2p[num].loc, 3.0,'md-drugs:server:stealmdp2p') then
|
if not checkDistance(src, Config.XTC.Locations.mdp2p[num].loc, 3.0,'md-drugs:server:stealmdp2p') then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
if timeOut(src, 'md-drugs:server:stealmdp2p') then return end
|
if timeOut(src, 'md-drugs:server:stealmdp2p') then return end
|
||||||
@@ -77,10 +20,10 @@ RegisterServerEvent('md-drugs:server:stealmdp2p', function(num)
|
|||||||
end)
|
end)
|
||||||
|
|
||||||
local presses = {
|
local presses = {
|
||||||
{item = 'singlepress', data = 'singlestack', recipes = Recipes.XTC.singlestack},
|
{item = 'singlepress', data = 'singlestack', recipes = Config.XTC.Recipes.singlestack},
|
||||||
{item = 'dualpress', data = 'dualstack', recipes = Recipes.XTC.dualstack},
|
{item = 'dualpress', data = 'dualstack', recipes = Config.XTC.Recipes.dualstack},
|
||||||
{item = 'triplepress', data = 'triplestack', recipes = Recipes.XTC.triplestack},
|
{item = 'triplepress', data = 'triplestack', recipes = Config.XTC.Recipes.triplestack},
|
||||||
{item = 'quadpress', data = 'quadstack', recipes = Recipes.XTC.quadstack},
|
{item = 'quadpress', data = 'quadstack', recipes = Config.XTC.Recipes.quadstack},
|
||||||
}
|
}
|
||||||
|
|
||||||
for k, v in pairs (presses) do
|
for k, v in pairs (presses) do
|
||||||
@@ -123,18 +66,18 @@ RegisterServerEvent('md-drugs:server:makextc', function(data)
|
|||||||
if not checkDistance(src, activePresses[src].loc, 2.0, 'md-drugs:server:makextc') then
|
if not checkDistance(src, activePresses[src].loc, 2.0, 'md-drugs:server:makextc') then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
if not craft(src, Recipes.XTC[activePresses[src].press][data]) then
|
if not craft(src, Config.XTC.Recipes[activePresses[src].press][data]) then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
RegisterServerEvent('md-drugs:server:buypress', function(loc, item)
|
RegisterServerEvent('md-drugs:server:buypress', function(loc, item)
|
||||||
local src = source
|
local src = source
|
||||||
if not checkDistance(src, Locations.XTC.xtcpress[loc].loc, 2.0, 'md-drugs:server:buypress') then
|
if not checkDistance(src, Config.XTC.Locations.xtcpress[loc].loc, 2.0, 'md-drugs:server:buypress') then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
if timeOut(src, 'md-drugs:server:buypress') then return end
|
if timeOut(src, 'md-drugs:server:buypress') then return end
|
||||||
if Bridge.Framework.RemoveAccountBalance(src,"cash", Recipes.XTC.presses['singlepress'].cash) then
|
if Bridge.Framework.RemoveAccountBalance(src,"cash", Config.XTC.Recipes.presses['singlepress'].cash) then
|
||||||
Bridge.Inventory.AddItem(src, "singlepress", 1)
|
Bridge.Inventory.AddItem(src, "singlepress", 1)
|
||||||
else
|
else
|
||||||
Bridge.Notify.SendNotify(src, Bridge.Language.Locale('Catches.notEnoughMoney'), "error")
|
Bridge.Notify.SendNotify(src, Bridge.Language.Locale('Catches.notEnoughMoney'), "error")
|
||||||
@@ -144,10 +87,10 @@ end)
|
|||||||
RegisterServerEvent('md-drugs:server:upgradepress', function(data, item)
|
RegisterServerEvent('md-drugs:server:upgradepress', function(data, item)
|
||||||
local src = source
|
local src = source
|
||||||
if timeOut(src, 'md-drugs:server:upgradepress') then return end
|
if timeOut(src, 'md-drugs:server:upgradepress') then return end
|
||||||
if not checkDistance(src, Locations.XTC.xtcpress[data].loc, 2.0, 'md-drugs:server:buypress') then
|
if not checkDistance(src, Config.XTC.Locations.xtcpress[data].loc, 2.0, 'md-drugs:server:buypress') then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
if not craft(src, Recipes.XTC.presses[item]) then
|
if not craft(src, Config.XTC.Recipes.presses[item]) then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
@@ -155,12 +98,12 @@ end)
|
|||||||
------------- making powder
|
------------- making powder
|
||||||
RegisterServerEvent('md-drugs:server:makingrawxtc', function(num)
|
RegisterServerEvent('md-drugs:server:makingrawxtc', function(num)
|
||||||
local src = source
|
local src = source
|
||||||
if not checkDistance(src, Locations.XTC.rawxtcloc[num].loc, 3.0, 'md-drugs:server:makingrawxtc') then
|
if not checkDistance(src, Config.XTC.Locations.rawxtcloc[num].loc, 3.0, 'md-drugs:server:makingrawxtc') then
|
||||||
Bridge.Notify.SendNotify(src, Bridge.Language.Locale('Checks.notIn'), "error")
|
Bridge.Notify.SendNotify(src, Bridge.Language.Locale('Checks.notIn'), "error")
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
if timeOut(src, 'md-drugs:server:makingrawxtc') then return end
|
if timeOut(src, 'md-drugs:server:makingrawxtc') then return end
|
||||||
if not craft(src, Recipes.XTC.raw.raw_xtc) then
|
if not craft(src, Config.XTC.Recipes.raw.raw_xtc) then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
@@ -180,7 +123,7 @@ end
|
|||||||
|
|
||||||
RegisterServerEvent('md-drugs:server:stamp', function(num, color)
|
RegisterServerEvent('md-drugs:server:stamp', function(num, color)
|
||||||
local src = source
|
local src = source
|
||||||
if not checkDistance(src, Locations.XTC.stamp[num].loc, 3.0, 'md-drugs:server:stamp') then return end
|
if not checkDistance(src, Config.XTC.Locations.stamp[num].loc, 3.0, 'md-drugs:server:stamp') then return end
|
||||||
if timeOut(src, 'md-drugs:server:stamp') then return end
|
if timeOut(src, 'md-drugs:server:stamp') then return end
|
||||||
local item = getColor(color)
|
local item = getColor(color)
|
||||||
local colors = {
|
local colors = {
|
||||||
|
|||||||
@@ -0,0 +1,35 @@
|
|||||||
|
Config.Merchant = {
|
||||||
|
Locations = {
|
||||||
|
Travellingmerchant = {
|
||||||
|
vector4(-119.66, -977.43, 304.25, 88.21),
|
||||||
|
vector4(-1522.93, 1476.01, 111.45, 41.25),
|
||||||
|
vector4(-3278.98, 973.38, 5.35, 101.53),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
stores = {
|
||||||
|
tab_paper = 50,
|
||||||
|
bakingsoda = 25,
|
||||||
|
isosafrole = 25,
|
||||||
|
mdp2p = 25,
|
||||||
|
lysergic_acid = 25,
|
||||||
|
diethylamide = 25,
|
||||||
|
lockpick = 2,
|
||||||
|
emptyvial = 2,
|
||||||
|
needle = 2,
|
||||||
|
cokeburner = 25,
|
||||||
|
crackburner = 2,
|
||||||
|
lsdburner = 2,
|
||||||
|
heroinburner = 2,
|
||||||
|
mdlean = 50,
|
||||||
|
weedgrinder = 25,
|
||||||
|
mdbutter = 25,
|
||||||
|
flour = 25,
|
||||||
|
chocolate = 25,
|
||||||
|
butane = 25,
|
||||||
|
butanetorch = 2,
|
||||||
|
dabrig = 2,
|
||||||
|
mdwoods = 2,
|
||||||
|
leancup = 25,
|
||||||
|
xtcburner = 25,
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
Config.Cocaine = {
|
||||||
|
Locations = {
|
||||||
|
MakePowder = { -- size = vector3(x,y,z) x = length, y = width, z = height
|
||||||
|
{loc = vector3(1086.20, -3195.30, -39.20), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
||||||
|
},
|
||||||
|
CuttingCoke = {
|
||||||
|
{loc = vector3(1095.61, -3195.62, -39.13), size = vector3(1.0, 1.0, 2.0), offset = vec3(-1.782227, 0.445068, -0.502701), rotation = vector3(0,0,0), gang = ""},
|
||||||
|
},
|
||||||
|
BaggingCoke = {
|
||||||
|
{loc = vector3(1093.16, -3195.78, -39.19), size = vector3(1.0, 1.0, 2.0), offset = vec3(4.515137, 2.542969, -0.814194), rotation = vector3(0,0,180.0), gang = ""},
|
||||||
|
},
|
||||||
|
cokeTele = {
|
||||||
|
{inside = vector3(1088.81, -3187.57, -38.99), outside = vector3(198.16, -1276.92, 29.33), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
Recipes = {
|
||||||
|
cokepowder = {
|
||||||
|
tier1 = {take = {coca_leaf = 1}, give = {coke = 1}},
|
||||||
|
tier2 = {take = {coca_leaf = 1}, give = {cokestagetwo = 1}},
|
||||||
|
tier3 = {take = {coca_leaf = 1}, give = {cokestagethree = 1}},
|
||||||
|
},
|
||||||
|
cutcoke = {
|
||||||
|
tier1 = {take = {coke = 1, bakingsoda = 1}, give = {loosecoke = 1}},
|
||||||
|
tier2 = {take = {cokestagetwo = 1, bakingsoda = 1}, give = {loosecokestagetwo = 1}},
|
||||||
|
tier3 = {take = {cokestagethree = 1, bakingsoda = 1}, give = {loosecokestagethree = 1}},
|
||||||
|
},
|
||||||
|
bagcoke = {
|
||||||
|
tier1 = {take = {loosecoke = 1, empty_weed_bag = 1}, give = {cokebaggy = 1}},
|
||||||
|
tier2 = {take = {loosecokestagetwo = 1, empty_weed_bag = 1}, give = {cokebaggystagetwo = 1}},
|
||||||
|
tier3 = {take = {loosecokestagethree = 1, empty_weed_bag = 1}, give = {cokebaggystagethree = 1}},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,192 @@
|
|||||||
|
local emotes = {
|
||||||
|
smoke = {
|
||||||
|
dict = "amb@world_human_aa_smoke@male@idle_a",
|
||||||
|
clip = "idle_a",
|
||||||
|
flag = 49,
|
||||||
|
prop = {
|
||||||
|
model = 'ng_proc_cigarette01a',
|
||||||
|
bone = 28422,
|
||||||
|
pos = {0.0, 0.0, 0.0},
|
||||||
|
rot = {0.0, 0.0, 0.0}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
smell = {
|
||||||
|
dict = 'move_p_m_two_idles@generic',
|
||||||
|
clip = 'fidget_sniff_fingers',
|
||||||
|
},
|
||||||
|
shoot_up = {
|
||||||
|
dict = "rcmpaparazzo1ig_4",
|
||||||
|
clip = "miranda_shooting_up",
|
||||||
|
prop = {
|
||||||
|
model = 'prop_syringe_01',
|
||||||
|
bone = 18905,
|
||||||
|
pos = {0.11, 0.03, 0.0},
|
||||||
|
rot = {-124.0, 0.0, 0.0}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
eat = {
|
||||||
|
dict = "mp_player_inteat@burger",
|
||||||
|
clip = "mp_player_int_eat_burger",
|
||||||
|
},
|
||||||
|
drink = {
|
||||||
|
dict = "mp_player_intdrink",
|
||||||
|
clip = "loop_bottle",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Config.Consumables = {
|
||||||
|
Defaults = {
|
||||||
|
time = 4000, -- time in ms
|
||||||
|
defaultAnim = {
|
||||||
|
dict = "mp_player_inteat@burger",
|
||||||
|
clip = "mp_player_int_eat_burger",
|
||||||
|
},
|
||||||
|
defaultText = 'Consuming ',
|
||||||
|
defaultStats = 0
|
||||||
|
},
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
--[[
|
||||||
|
effect options
|
||||||
|
alien
|
||||||
|
ecstacy
|
||||||
|
meth
|
||||||
|
coke
|
||||||
|
trevor
|
||||||
|
none
|
||||||
|
]]
|
||||||
|
|
||||||
|
--[[
|
||||||
|
add = {}
|
||||||
|
health = number -- amount of health to give
|
||||||
|
stress = number -- number of stress to give
|
||||||
|
speed = number -- number of seconds you a fast boi
|
||||||
|
hunger = number -- number of hunger to fill
|
||||||
|
thirst = number -- same shit
|
||||||
|
strength = number -- how long you are strong boi
|
||||||
|
|
||||||
|
]]
|
||||||
|
|
||||||
|
Config.Consumables.Consume = {
|
||||||
|
methbags = { time = 4000, effect = 'meth', anim = emotes.smoke, progressbartext = "Injesting",
|
||||||
|
add = {health = -20, stress = -10, speed = 40, strength = 10, thirst = -30}},
|
||||||
|
cokebaggy = { anim = emotes.smell, time = 4000, effect = 'coke', add = { stress = -10 }},
|
||||||
|
cokebaggystagetwo = { anim = emotes.smell, time = 1000, effect = 'coke', add = { stress = -10 }},
|
||||||
|
cokebaggystagethree = { anim = emotes.smell, time = 1000, effect = 'coke', add = { stress = -10 }},
|
||||||
|
-- heroin
|
||||||
|
heroin_ready = { anim = emotes.shoot_up, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
heroin_readystagetwo = { anim = emotes.shoot_up, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
heroin_readystagethree = { anim = emotes.shoot_up, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
-- crack
|
||||||
|
baggedcracked = { anim = emotes.smell, time = 1000, effect = 'coke', add = { stress = -10 }},
|
||||||
|
baggedcrackedstagetwo = { anim = emotes.smell, time = 1000, effect = 'coke', add = { stress = -10 }},
|
||||||
|
baggedcrackedstagethree = { anim = emotes.smell, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
-- xtc
|
||||||
|
white_playboys = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
white_playboys2 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
white_playboys3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
white_playboys4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
blue_playboys = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
blue_playboys2 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
blue_playboys3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
blue_playboys4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
red_playboys = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10, hunger = 10 }},
|
||||||
|
red_playboys2 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
red_playboys3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
red_playboys4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
orange_playboys = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
orange_playboy2s = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
orange_playboys3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
orange_playboys4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
white_aliens = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
white_aliens2 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
white_aliens3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
white_aliens4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
blue_aliens = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
blue_aliens2 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
blue_aliens3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
blue_aliens4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
red_aliens = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
red_aliens3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
red_aliens2 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
red_aliens4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
orange_aliens = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
orange_aliens2 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
orange_aliens3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
orange_aliens4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
white_pl = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
white_pl2 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
white_pl3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
white_pl4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
blue_pl = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
blue_pl2 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
blue_pl3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
blue_pl4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
red_pl = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
red_pl2 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
red_pl3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
red_pl4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
orange_pl = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
orange_pl2 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
orange_pl3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
orange_pl4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
white_trolls = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
white_trolls2 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
white_trolls3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
white_trolls4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
blue_trolls = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
blue_trolls2 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
blue_trolls3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
blue_trolls4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
red_trolls = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
red_trolls2 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
red_trolls3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
red_trolls4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
orange_trolls = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
orange_trolls2 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
orange_trolls3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
orange_trolls4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
white_cats2 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
white_cats3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
white_cats4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
white_cats = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
blue_cats = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
blue_cats3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
blue_cats2 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
blue_cats4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
red_cats = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
red_cats2 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
red_cats3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
red_cats4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
orange_cats = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
orange_cats2 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
orange_cats3 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
orange_cats4 = { anim = emotes.eat, time = 1000, effect = 'ecstacy', add = { stress = -10 }},
|
||||||
|
-- weed
|
||||||
|
specialbrownie = { anim = emotes.eat, effect = 'alien', add = { hunger = 10, stress = -10 }},
|
||||||
|
specialcookie = { anim = emotes.eat, effect = 'alien', add = { hunger = 10, stress = -10 }},
|
||||||
|
specialchocolate = { anim = emotes.eat, effect = 'alien', add = { hunger = 10, stress = -10 }},
|
||||||
|
specialmuffin = { anim = emotes.eat, effect = 'alien', add = { hunger = 10, stress = -10 }},
|
||||||
|
blunt = { anim = emotes.smoke, effect = 'alien', add = { stress = -10 }},
|
||||||
|
dextroblunts = { anim = emotes.smoke, effect = 'alien', add = { stress = -10 }},
|
||||||
|
leanblunts = { anim = emotes.smoke, effect = 'alien', add = { stress = -10 }},
|
||||||
|
chewyblunt = { anim = emotes.smoke, effect = 'alien', add = { stress = -10 }},
|
||||||
|
-- lean
|
||||||
|
cupofdextro = { anim = emotes.drink, effect = 'alien', add = { stress = -10 }},
|
||||||
|
cupoflean = { anim = emotes.drink, effect = 'alien', add = { stress = -10 }},
|
||||||
|
-- lsd
|
||||||
|
smiley_tabs = { anim = emotes.eat, effect = 'trevor', add = { stress = -10 }},
|
||||||
|
wildcherry_tabs = { anim = emotes.eat, effect = 'trevor', add = { stress = -10 }},
|
||||||
|
yinyang_tabs = { anim = emotes.eat, effect = 'trevor', add = { stress = -10 }},
|
||||||
|
pineapple_tabs = { anim = emotes.eat, effect = 'trevor', add = { stress = -10 }},
|
||||||
|
bart_tabs = { anim = emotes.eat, effect = 'trevor', add = { stress = -10 }},
|
||||||
|
gratefuldead_tabs = { anim = emotes.eat, effect = 'trevor', add = { stress = -10 }},
|
||||||
|
|
||||||
|
-- pharma
|
||||||
|
vicodin = { anim = emotes.eat, effect = 'none', add = { health = 20 }},
|
||||||
|
adderal = { anim = emotes.eat, effect = 'none', add = { stress = -20 }},
|
||||||
|
morphine = { anim = emotes.eat, effect = 'none', add = { health = 40 }},
|
||||||
|
xanax = { anim = emotes.eat, effect = 'none', add = { stress = -40 }},
|
||||||
|
}
|
||||||
@@ -0,0 +1,141 @@
|
|||||||
|
Config.Cornerselling = {
|
||||||
|
noSellZones = {
|
||||||
|
{loc = vector3(445.11, -991.3, 30.69), width = 10.0, length = 10.0, height = 10.0, rot = 180.0},
|
||||||
|
},
|
||||||
|
CornerSellLevel = {
|
||||||
|
{price = 0.5, minrep = 0, maxrep = 240, label = 'Rookie'},
|
||||||
|
{price = 1.0, minrep = 240, maxrep = 600, label = 'Corner Boy'},
|
||||||
|
{price = 1.1, minrep = 600, maxrep = 1200, label = 'Corner Man'},
|
||||||
|
{price = 1.2, minrep = 1200, maxrep = 1800, label = 'Dope Peddler'},
|
||||||
|
{price = 1.3, minrep = 1800, maxrep = 2400, label = 'Drug Supplier'},
|
||||||
|
{price = 1.5, minrep = 2400, maxrep = 4800, label = 'Drug Pusher'},
|
||||||
|
{price = 1.75, minrep = 4800, maxrep = 99999999999999, label = 'Drug Lord'},
|
||||||
|
},
|
||||||
|
Drugs = {
|
||||||
|
["weed_white-widow"] = {rep = 1,min = 15, max = 24 },
|
||||||
|
["weed_og-kush"] = {rep = 1,min = 15, max = 28 },
|
||||||
|
["weed_skunk"] = {rep = 1,min = 15, max = 31 },
|
||||||
|
["weed_amnesia"] = {rep = 1,min = 18, max = 34 },
|
||||||
|
["weed_purple-haze"] = {rep = 1,min = 18, max = 37},
|
||||||
|
["weed_ak47"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["crack_baggy"] = {rep = 1,min = 18, max = 34},
|
||||||
|
["cokebaggy"] = {rep = 1,min = 18, max = 37},
|
||||||
|
["cokebaggystagetwo"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["cokebaggystagethree"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["heroin_ready"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["heroin_readystagetwo"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["heroin_readystagethree"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["baggedcracked"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["baggedcrackedstagetwo"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["baggedcrackedstagethree"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["white_playboys"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["white_playboys2"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["white_playboys3"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["white_playboys4"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["blue_playboys"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["blue_playboys2"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["blue_playboys3"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["blue_playboys4"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["red_playboys"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["red_playboys2"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["red_playboys3"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["red_playboys4"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["orange_playboys"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["orange_playboys2"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["orange_playboys3"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["orange_playboys4"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["white_aliens"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["white_aliens2"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["white_aliens3"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["white_aliens4"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["blue_aliens"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["blue_aliens2"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["blue_aliens3"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["blue_aliens4"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["red_aliens"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["red_aliens2"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["red_aliens3"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["red_aliens4"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["orange_aliens"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["orange_aliens2"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["orange_aliens3"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["orange_aliens4"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["white_pl"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["white_pl2"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["white_pl3"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["white_pl4"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["blue_pl"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["blue_pl2"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["blue_pl3"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["blue_pl4"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["red_pl"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["red_pl2"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["red_pl3"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["red_pl4"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["orange_pl"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["orange_pl2"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["orange_pl3"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["orange_pl4"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["white_trolls"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["white_trolls2"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["white_trolls3"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["white_trolls4"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["blue_trolls"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["blue_trolls2"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["blue_trolls3"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["blue_trolls4"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["red_trolls"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["red_trolls2"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["red_trolls3"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["red_trolls4"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["orange_trolls"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["orange_trolls2"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["orange_trolls3"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["orange_trolls4"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["white_cats"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["white_cats2"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["white_cats3"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["white_cats4"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["blue_cats"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["blue_cats2"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["blue_cats3"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["blue_cats4"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["red_cats"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["red_cats2"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["red_cats3"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["red_cats4"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["orange_cats"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["orange_cats2"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["orange_cats3"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["orange_cats4"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["blunts"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["leanblunts"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["dextroblunts"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["chewyblunt"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["blunt"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["specialchocolate"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["specialbrownie"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["specialcookie"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["specialmuffin"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["shatter"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["ciggie"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["methbags"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["driedmescaline"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["shrooms"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["gratefuldead_tabs"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["bart_tabs"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["pineapple_tabs"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["yinyang_tabs"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["wildcherry_tabs"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["smiley_tabs"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["cupoflean"] = {rep = 1,min = 18, max = 40},
|
||||||
|
["cupofdextro"] = {rep = 1,min = 18, max = 40},
|
||||||
|
},
|
||||||
|
config = {
|
||||||
|
MarkedBills = false, -- if you want to use qb markedbills for selling set to true, if you want to use a custom item or cash set to false
|
||||||
|
CustomItem = '', -- If you want to use a custom item for selling, put the item name here, if not leave it blank ''
|
||||||
|
--- if MarkedBills is false and CustomItem is blank it will pay cash
|
||||||
|
policeRequired = 0, -- if you want cops to be required to sell set this to a number above 0
|
||||||
|
robChance = 20, -- Chance To Be Robbed 1 = 1%
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
Config.Crack = {
|
||||||
|
Recipes = {
|
||||||
|
cookcrack = {
|
||||||
|
tier1 = {take = {loosecoke = 1, bakingsoda = 1}, give = {crackrock = 1}},
|
||||||
|
tier2 = {take = {loosecokestagetwo = 1, bakingsoda = 1}, give = {crackrockstagetwo = 1}},
|
||||||
|
tier3 = {take = {loosecokestagethree = 1,bakingsoda = 1}, give = {crackrockstagethree = 1}},
|
||||||
|
},
|
||||||
|
bagcrack = {
|
||||||
|
tier1 = {take = {crackrock = 1, empty_weed_bag = 1}, give = {baggedcracked = 1}},
|
||||||
|
tier2 = {take = {crackrockstagetwo = 1, empty_weed_bag = 1}, give = {baggedcrackedstagetwo = 1}},
|
||||||
|
tier3 = {take = {crackrockstagethree = 1, empty_weed_bag = 1}, give = {baggedcrackedstagethree = 1}},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
Locations = {
|
||||||
|
makecrack = { -- make crack with baking soda with cut coke 1-3
|
||||||
|
{loc = vector3(2433.47, 4970.02, 42.18), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
||||||
|
},
|
||||||
|
bagcrack = { --- bag crack 1-3 stages
|
||||||
|
{loc = vector3(2436.55, 4964.96, 42.18), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,91 @@
|
|||||||
|
Config.Deliveries = {
|
||||||
|
Locations = {
|
||||||
|
dropOff = {
|
||||||
|
{coords = vector4(282.48, -1814.32, 27.23, 145.11)},
|
||||||
|
{coords = vector4(-296.11, -1300.65, 31.31, 270.87)},
|
||||||
|
{coords = vector4(-36.64, -1492.04, 31.22, 151.91)},
|
||||||
|
{coords = vector4(282.48, -1814.32, 27.23, 232.19)},
|
||||||
|
{coords = vector4(54.54, -1873.22, 22.81, 131.47)},
|
||||||
|
{coords = vector4(-269.34, -2437.25, 6.40, 252.67)},
|
||||||
|
{coords = vector4(269.19, -3248.55, 5.79, 252.67)},
|
||||||
|
{coords = vector4(632.94, -3015.44, 7.34, 3.44)},
|
||||||
|
{coords = vector4(1049.55, -2427.88, 30.30, 79.52)},
|
||||||
|
{coords = vector4(853.16, -2207.32, 30.68, 284.88)},
|
||||||
|
{coords = vector4(903.10, -1721.98, 32.25, 168.71)},
|
||||||
|
{coords = vector4(1289.30, -1710.49, 55.48, 208.57)},
|
||||||
|
{coords = vector4(1412.01, -1490.53, 60.66, 132.46)},
|
||||||
|
{coords = vector4(734.26, -1311.26, 27.01, 102.99)},
|
||||||
|
{coords = vector4(1231.60, -1083.06, 38.53, 102.99)},
|
||||||
|
{coords = vector4(1143.55, -1000.19, 45.32, 257.05)},
|
||||||
|
{coords = vector4(1264.82, -702.87, 64.72, 257.05)},
|
||||||
|
{coords = vector4(1119.65, -639.76, 56.81, 284.53)},
|
||||||
|
{coords = vector4(1129.59, -462.59, 66.49, 79.23)},
|
||||||
|
{coords = vector4(42.80, -811.45, 31.43, 79.23)},
|
||||||
|
{coords = vector4(-509.48, -1001.66, 23.55, 79.23)},
|
||||||
|
{coords = vector4(-830.97, -862.41, 20.69, 13.72)},
|
||||||
|
{coords = vector4(-1320.26, -1177.34, 4.89, 74.29)},
|
||||||
|
{coords = vector4(-1097.63, -1673.24, 8.40, 136.51)},
|
||||||
|
{coords = vector4(-1147.61, -1452.10, 4.60, 51.50)},
|
||||||
|
{coords = vector4(-1241.69, -1208.39, 8.52, 107.56)},
|
||||||
|
{coords = vector4(-1876.92, -584.44, 11.85, 329.54)},
|
||||||
|
{coords = vector4(-1303.94, -441.39, 35.22, 128.73)},
|
||||||
|
{coords = vector4(-1705.48, -433.46, 42.17, 128.73)},
|
||||||
|
{coords = vector4(-1305.99, 336.35, 65.50, 35.13)},
|
||||||
|
{coords = vector4(-741.80, 484.84, 109.47, 110.85)},
|
||||||
|
{coords = vector4(-409.57, 341.49, 108.91, 270.45)},
|
||||||
|
{coords = vector4(-126.44, 588.18, 204.71, 8.12)},
|
||||||
|
{coords = vector4(211.42, -101.42, 73.28, 174.10)},
|
||||||
|
{coords = vector4(490.61, -95.04, 66.44, 273.57)},
|
||||||
|
{coords = vector4(387.19, -993.59, 29.42, 273.57)},
|
||||||
|
{coords = vector4(-500.47, -712.37, 33.21, 273.57)},
|
||||||
|
{coords = vector4(2572.20, 479.97, 108.68, 80.27)},
|
||||||
|
{coords = vector4(-430.10, 1205.41, 325.76, 169.25)},
|
||||||
|
{coords = vector4(-126.06, 1896.58, 197.33, 169.25)},
|
||||||
|
{coords = vector4(-2521.08, 2310.31, 33.22, 276.87)},
|
||||||
|
{coords = vector4(1129.01, 2125.14, 55.55, 276.87)},
|
||||||
|
{coords = vector4(1546.64, 2166.56, 78.72, 100.37)},
|
||||||
|
{coords = vector4(404.34, 2584.54, 43.52, 100.37)},
|
||||||
|
{coords = vector4(180.15, 2792.99, 45.66, 283.04)},
|
||||||
|
{coords = vector4(287.67, 2843.89, 44.70, 118.41)},
|
||||||
|
{coords = vector4(2030.23, 3184.42, 45.13, 146.06)},
|
||||||
|
{coords = vector4(2175.33, 3321.92, 46.13, 214.53)},
|
||||||
|
{coords = vector4(2389.61, 3340.98, 47.34, 214.52)},
|
||||||
|
{coords = vector4(1716.25, 3295.08, 41.26, 196.21)},
|
||||||
|
{coords = vector4(1779.38, 3640.83, 34.50, 24.16)},
|
||||||
|
{coords = vector4(1894.59, 3715.34, 32.75, 127.89)},
|
||||||
|
{coords = vector4(1861.90, 3857.15, 36.27, 293.45)},
|
||||||
|
{coords = vector4(996.38, 3575.07, 34.61, 328.30)},
|
||||||
|
{coords = vector4(387.45, 3584.73, 33.29, 351.41)},
|
||||||
|
{coords = vector4(68.08, 3693.22, 40.66, 63.98)},
|
||||||
|
{coords = vector4(15.55, 3688.70, 39.81, 230.89)},
|
||||||
|
{coords = vector4(2566.59, 4283.34, 41.97, 348.53)},
|
||||||
|
{coords = vector4(2570.82, 4667.95, 34.08, 135.30)},
|
||||||
|
{coords = vector4(2882.05, 4511.72, 48.02, 66.58)},
|
||||||
|
{coords = vector4(2243.78, 5154.02, 57.89, 139.42)},
|
||||||
|
{coords = vector4(1642.91, 4846.08, 45.51, 109.83)},
|
||||||
|
{coords = vector4(1308.87, 4362.17, 41.55, 256.01)},
|
||||||
|
{coords = vector4(-1090.27, 4940.57, 214.13, 256.01)},
|
||||||
|
{coords = vector4(-552.37, 5348.37, 74.76, 62.18)},
|
||||||
|
{coords = vector4(-679.02, 5834.27, 17.33, 137.18)},
|
||||||
|
{coords = vector4(-481.97, 6276.93, 13.35, 323.16)},
|
||||||
|
{coords = vector4(-24.92, 6472.60, 31.49, 144.42)},
|
||||||
|
{coords = vector4(36.03, 6549.18, 31.43, 287.85)},
|
||||||
|
{coords = vector4(406.08, 6526.43, 27.75, 97.45)},
|
||||||
|
{coords = vector4(1522.39, 6329.23, 24.61, 331.71)},
|
||||||
|
{coords = vector4(1741.39, 6419.62, 35.04, 331.71)},
|
||||||
|
{coords = vector4(3426.72, 5174.42, 7.40, 112.64)},
|
||||||
|
{coords = vector4(2525.99, 2586.62, 38.94, 257.02)},
|
||||||
|
{coords = vector4(2696.29, 1664.44, 24.52, 70.12)},
|
||||||
|
{coords = vector4(106.24, -1280.32, 29.24, 350.89)},
|
||||||
|
{coords = vector4(223.98, 121.53, 102.76, 259.68)},
|
||||||
|
{coords = vector4(102.19, -255.02, 50.05, 83.59)},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
Recipes = {
|
||||||
|
{name = "weed_whitewidow_seed", price = 15, amount = 150, minrep = 0},
|
||||||
|
{name = "weed_skunk_seed", price = 15, amount = 150, minrep = 0},
|
||||||
|
{name = "weed_purplehaze_seed", price = 15, amount = 150, minrep = 0},
|
||||||
|
{name = "weed_ogkush_seed", price = 15, amount = 150, minrep = 0},
|
||||||
|
{name = "weed_amnesia_seed", price = 15, amount = 150, minrep = 0},
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
Config.Heroin = {
|
||||||
|
Recipes = {
|
||||||
|
dryheroin = {
|
||||||
|
tier1 = {take = {poppyresin = 1}, give = {heroin = 1}},
|
||||||
|
tier2 = {take = {poppyresin = 1}, give = {heroinstagetwo = 1}},
|
||||||
|
tier3 = {take = {poppyresin = 1}, give = {heroinstagethree = 1}},
|
||||||
|
},
|
||||||
|
cutheroin = {
|
||||||
|
tier1 = {take = {heroin = 1, bakingsoda = 1}, give = {heroincut = 1}},
|
||||||
|
tier2 = {take = {heroinstagetwo = 1, bakingsoda = 1}, give = {heroincutstagetwo = 1}},
|
||||||
|
tier3 = {take = {heroinstagethree = 1, bakingsoda = 1}, give = {heroincutstagethree = 1}},
|
||||||
|
},
|
||||||
|
fillvial = {
|
||||||
|
tier1 = {take = {heroincut = 1, emptyvial = 1}, give = {heroinvial = 1}},
|
||||||
|
tier2 = {take = {heroincutstagetwo = 1, emptyvial = 1}, give = {heroinvialstagetwo = 1}},
|
||||||
|
tier3 = {take = {heroincutstagethree = 1, emptyvial = 1}, give = {heroinvialstagethree = 1}},
|
||||||
|
},
|
||||||
|
fillneedle = {
|
||||||
|
tier1 = {take = {heroinvial = 1, needle = 1}, give = {heroin_ready = 1}},
|
||||||
|
tier2 = {take = {heroinvialstagetwo = 1, needle = 1}, give = {heroin_readystagetwo = 1}},
|
||||||
|
tier3 = {take = {heroinvialstagethree = 1, needle = 1}, give = {heroin_readystagethree = 1}},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
Locations = {
|
||||||
|
dryplant = { -- turn resin into powder
|
||||||
|
{loc = vector3(-1353.77, -335.58, 43.92), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
||||||
|
},
|
||||||
|
cutheroinone = { -- cut heroin stage 1-3 with baking soda
|
||||||
|
{loc = vector3(-1360.14, -337.03, 43.92), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
||||||
|
},
|
||||||
|
fillneedle = { -- fill needles with heroin
|
||||||
|
{loc = vector3(-1366.32, -334.40, 44.44), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
||||||
|
},
|
||||||
|
buyKit = {
|
||||||
|
{ped = 'a_m_m_farmer_01',loc = vector4(-1366.32, -334.40, 44.44,180.0), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
prices = {
|
||||||
|
heroinlabkitprice = 10000
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
Config.Lean = {
|
||||||
|
Locations = {
|
||||||
|
SyrupVendor = {
|
||||||
|
{ped = 'a_m_m_farmer_01', loc = vector4(365.21, -578.77, 39.30, 347.23), gang = ""},
|
||||||
|
},
|
||||||
|
startLoc = { -- where truck spawns for lean and meth missions
|
||||||
|
vector3(-2307.22, 434.77, 174.47),
|
||||||
|
vector3(614.75, 1786.26, 199.39),
|
||||||
|
vector3(-224.89, 6388.32, 31.59)
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Recipes = {
|
||||||
|
{
|
||||||
|
item = 'cupoflean',
|
||||||
|
amount = 1,
|
||||||
|
ingredients = {
|
||||||
|
{item = 'leancup', amount = 1},
|
||||||
|
{item = 'mdlean', amount = 1},
|
||||||
|
{item = 'sprunk', amount = 1},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
item = 'cupofdextro',
|
||||||
|
amount = 1,
|
||||||
|
ingredients = {
|
||||||
|
{item = 'leancup', amount = 1},
|
||||||
|
{item = 'mdreddextro', amount = 1},
|
||||||
|
{item = 'sprunk', amount = 1},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
Config.LSD = {
|
||||||
|
Recipes = {
|
||||||
|
vial = {
|
||||||
|
heat = {take = {lysergic_acid = 1, diethylamide = 1,}, give = {lsd_one_vial = 1}}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Locations = {
|
||||||
|
lysergicacid = { -- get lysergic acid
|
||||||
|
{loc = vector3(-1381.21, -327.75, 39.85),size = vector3(1.0, 1.0, 2.0), gang = ""},
|
||||||
|
{loc = vector3(2405.53, 5008.39, 46.02), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
||||||
|
},
|
||||||
|
diethylamide = { -- get diethylamide
|
||||||
|
{loc = vector3(-1372.89, -319.47, 39.05), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
||||||
|
{loc = vector3(2408.38, 5011.18, 46.08), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
||||||
|
},
|
||||||
|
gettabs = { -- buy tab paper
|
||||||
|
{loc = vector3(-1378.26, -336.56, 39.31), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
||||||
|
{loc = vector3(2409.59, 5012.45, 46.09), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
||||||
|
},
|
||||||
|
buyLSDkit = {
|
||||||
|
{ped = 'g_f_y_families_01', loc = vector4(-1376.66, -325.52, 39.63, 142.1), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
prices = {
|
||||||
|
tabcost = 100, -- price per piece of tab paper event does 10 at a time
|
||||||
|
lsdlabkitcost = 10000 -- price of the lsd lab kit
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
Config.Mescaline = {
|
||||||
|
Locations = {
|
||||||
|
DryOutMescaline = { -- where to dry out your mescaline
|
||||||
|
{loc = vector3(1850.12, 2595.23, 45.67), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Recipes = {
|
||||||
|
dry = {
|
||||||
|
dried = {take = {cactusbulb = 1}, give = {driedmescaline = 1} }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
Config.Meth = {
|
||||||
|
Locations = {
|
||||||
|
CookMeth = {
|
||||||
|
{loc = vector3(1006.09, -3200.59, -38.52), size = vector3(1.0, 1.0, 2.0), offset = vec3(4.79, 2.13, -0.41), rotation = vector3(0,0,0.0), gang = ""},
|
||||||
|
},
|
||||||
|
MethDials = {
|
||||||
|
{loc = vector3(1007.89, -3201.17, -38.99), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
||||||
|
},
|
||||||
|
MethSmash = {
|
||||||
|
{loc = vector3(1012.04, -3194.96, -38.99), bucket = vector4(1012.86, -3194.13, -39.20, 90.00), size = vector3(1.0, 1.0, 2.0), offset = vec3(-3.143311, -1.666748, -1.010128), rotation = vector3(0,0,0.0), gang = ""},
|
||||||
|
},
|
||||||
|
BagMeth = {
|
||||||
|
{loc = vector3(1014.25, -3194.93, -38.99), size = vector3(1.0, 1.0, 2.0), offset = vec3(-4.9, -1.70, -1.01), rotation = vector3(0,0,0.0), gang = ""},
|
||||||
|
},
|
||||||
|
MethEph = { -- get ephedrine
|
||||||
|
{loc = vector3(3559.86, 3673.9, 28.13), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
||||||
|
},
|
||||||
|
MethAce = { -- get acetone
|
||||||
|
{loc = vector3(3535.41, 3661.05, 28.12), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
||||||
|
},
|
||||||
|
MethHeist = {
|
||||||
|
{loc = vector4(-1520.84, 827.72, 181.66, 184.13), ped = 'a_m_m_farmer_01', gang = ""},
|
||||||
|
},
|
||||||
|
StartLoc = { -- where truck spawns for lean and meth missions
|
||||||
|
vector3(-2307.22, 434.77, 174.47),
|
||||||
|
vector3(614.75, 1786.26, 199.39),
|
||||||
|
vector3(-224.89, 6388.32, 31.59)
|
||||||
|
},
|
||||||
|
MethTele = {
|
||||||
|
{inside = vector3(996.91, -3200.83, -36.39), outside = vector3(-2222.04, 303.99, 174.6), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
recipes = {
|
||||||
|
cook = {
|
||||||
|
heat = {take = {ephedrine = 1, acetone = 1}, give = {}}
|
||||||
|
},
|
||||||
|
bag = {
|
||||||
|
bags = {take = {empty_weed_bag = 5}, give = {methbags = 5} }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
Config.Oxy = {
|
||||||
|
Locations = {
|
||||||
|
OxyPayForTruck = {
|
||||||
|
{loc = vector3(1437.64, -1491.91, 63.62), truckSpawn = vector4(1450.87, -1482.13, 63.22, 69.95),size = vector3(1.0, 1.0, 2.0), gang = ""},
|
||||||
|
},
|
||||||
|
oxylocations = {
|
||||||
|
vector4(-2352.32, 266.78, 165.3, 23.46),
|
||||||
|
vector4(-1467.49, 874.01, 183.59, 298.45),
|
||||||
|
vector4(-856.71, 874.26, 202.85, 205.3),
|
||||||
|
vector4(950.58, -128.49, 74.42, 205.3),
|
||||||
|
vector4(1152.71, -328.43, 69.21, 205.3),
|
||||||
|
vector4(112.66, -1955.67, 20.75, 37.94),
|
||||||
|
vector4(-544.4, -1684.8, 19.89, 252.07),
|
||||||
|
vector4(-1185.02, -1805.4, 3.91, 184.83),
|
||||||
|
vector4(-1641.4, -981.99, 7.58, 35.38),
|
||||||
|
vector4(-1827.93, 782.36, 138.29, 219.99),
|
||||||
|
vector4(-320.84, 2818.73, 59.45, 337.22),
|
||||||
|
vector4(474.88, 2609.56, 44.48, 357.0),
|
||||||
|
}
|
||||||
|
},
|
||||||
|
prices = {
|
||||||
|
payfortruck = 500,
|
||||||
|
hotchance = 30,
|
||||||
|
itemChance = 20,
|
||||||
|
},
|
||||||
|
itemList = {
|
||||||
|
{item = 'lockpick', amount = 1},
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
Config.Pharma = {
|
||||||
|
Locations = {
|
||||||
|
FillPrescription = { -- where to fill out your prescription
|
||||||
|
{loc = vector3(2855.62, 4446.73, 48.53), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Config.Shrooms ={}
|
||||||
@@ -0,0 +1,103 @@
|
|||||||
|
Config.Weed = {
|
||||||
|
Locations = {
|
||||||
|
WeedTele = { -- where you tele out of weed
|
||||||
|
{inside = vector3(1066.31, -3183.36, -39.16), outside = vector3(244.74, 374.54, 105.74), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
||||||
|
},
|
||||||
|
MakeButter = {
|
||||||
|
{loc = vector4(1045.43, -3198.75, -38.15, 270.0), prop = 'prop_cooker_03', checks = {}},
|
||||||
|
},
|
||||||
|
MakeOil = {
|
||||||
|
{loc = vector4(1038.8, -3198.68, -38.17, 90.0), prop = 'prop_cooker_03', checks = {}},
|
||||||
|
},
|
||||||
|
WeedDry = {
|
||||||
|
{loc = vector3(1043.0, -3191.59, -38.39), size = vector3(1.0, 1.0, 2.0)},
|
||||||
|
{loc = vector3(1041.0, -3191.59, -38.39), size = vector3(1.0, 1.0, 2.0)},
|
||||||
|
{loc = vector3(1045.0, -3191.59, -38.39), size = vector3(1.0, 1.0, 2.0)},
|
||||||
|
{loc = vector3(1039.0, -3191.59, -38.39), size = vector3(1.0, 1.0, 2.0)},
|
||||||
|
},
|
||||||
|
WeedSalesman = {
|
||||||
|
{loc = vector4(1030.77, -3203.18, -38.2, 262.37), ped = 'a_m_m_farmer_01', gang = ""},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Recipes = {
|
||||||
|
blunts = {
|
||||||
|
blunt = {take = {bluntwrap = 1, grindedweed = 1}, give = {blunt = 1}},
|
||||||
|
chewyblunt = {take = {bluntwrap = 1, grindedweed = 1, loosecoke = 1}, give = {chewyblunt = 1}},
|
||||||
|
leanblunts = {take = {leanbluntwrap = 1, grindedweed = 1}, give = {leanblunts = 1}},
|
||||||
|
dextroblunts = {take = {dextrobluntwrap = 1, grindedweed = 1}, give = {dextroblunts = 1}}
|
||||||
|
},
|
||||||
|
bluntwrap = {
|
||||||
|
leanbluntwrap = {take = {bluntwrap = 5, mdlean = 1}, give = {leanbluntwrap = 5}},
|
||||||
|
dextrobluntwrap = {take = {bluntwrap = 5, mdreddextro = 1}, give = {dextrobluntwrap = 5}},
|
||||||
|
},
|
||||||
|
makeButter= {
|
||||||
|
cannabutter = {
|
||||||
|
amount = 1,
|
||||||
|
time = 4000,
|
||||||
|
anim = 'uncuff',
|
||||||
|
recipe = {
|
||||||
|
mdbutter = 1,
|
||||||
|
grindedweed = 1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
specialbrownie = {
|
||||||
|
amount = 1,
|
||||||
|
time = 4000,
|
||||||
|
anim = 'uncuff',
|
||||||
|
recipe = {
|
||||||
|
cannabutter = 1,
|
||||||
|
flour = 1,
|
||||||
|
chocolate = 1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
specialcookie = {
|
||||||
|
amount = 1,
|
||||||
|
time = 4000,
|
||||||
|
anim = 'uncuff',
|
||||||
|
recipe = {
|
||||||
|
cannabutter = 1,
|
||||||
|
flour = 1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
specialchocolate = {
|
||||||
|
amount = 1,
|
||||||
|
time = 4000,
|
||||||
|
anim = 'uncuff',
|
||||||
|
recipe = {
|
||||||
|
cannabutter = 1,
|
||||||
|
chocolate = 1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
specialmuffin = {
|
||||||
|
amount = 1,
|
||||||
|
time = 4000,
|
||||||
|
anim = 'uncuff',
|
||||||
|
recipe = {
|
||||||
|
cannabutter = 1,
|
||||||
|
flour = 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
makeOil = {
|
||||||
|
shatter = {
|
||||||
|
amount = 1,
|
||||||
|
time = 4000,
|
||||||
|
anim = 'uncuff',
|
||||||
|
recipe = {
|
||||||
|
butane = 1,
|
||||||
|
grindedweed = 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
weedStore = {
|
||||||
|
weedgrinder =25,
|
||||||
|
mdbutter =25,
|
||||||
|
flour =25,
|
||||||
|
chocolate =25,
|
||||||
|
butane =25,
|
||||||
|
butanetorch =2,
|
||||||
|
dabrig =2,
|
||||||
|
mdwoods =2,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
Config.Whippit = {
|
||||||
|
Recipes = {
|
||||||
|
cracker = {
|
||||||
|
{color = 'blue', item = 'blue_uninflated_balloon'},
|
||||||
|
{color = 'green', item = 'green_uninflated_balloon'},
|
||||||
|
{color = 'orange', item = 'orange_uninflated_balloon'},
|
||||||
|
{color = 'purple', item = 'purple_uninflated_balloon'},
|
||||||
|
{color = 'red', item = 'red_uninflated_balloon'},
|
||||||
|
{color = 'white', item = 'white_uninflated_balloon'},
|
||||||
|
{color = 'yellow', item = 'yellow_uninflated_balloon'}
|
||||||
|
},
|
||||||
|
shop = {
|
||||||
|
blue_uninflated_balloon =5,
|
||||||
|
green_uninflated_balloon =5,
|
||||||
|
orange_uninflated_balloon =5,
|
||||||
|
purple_uninflated_balloon =5,
|
||||||
|
red_uninflated_balloon =5,
|
||||||
|
white_uninflated_balloon =5,
|
||||||
|
yellow_uninflated_balloon =5,
|
||||||
|
cracker =500,
|
||||||
|
whipped_cream_cannister =10
|
||||||
|
}
|
||||||
|
},
|
||||||
|
Locations = {
|
||||||
|
Whippit = {
|
||||||
|
{loc =vector4(1695.47, 4872.98, 42.16, 288.86), ped = 'ig_priest' },
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
Config.Wholesale = {
|
||||||
|
settings = {
|
||||||
|
WholesaleQuantityBonus = 0.05, -- 5% bonus per 10 units sold (up to 20%)
|
||||||
|
WholesaleMaxBonus = 0.20, -- Maximum 20% bonus
|
||||||
|
WholesaleMinQuantity = 5, -- Minimum quantity required for wholesale
|
||||||
|
WholesaleAmbushEnabled = true, -- Enable or disable ambush on failed deals
|
||||||
|
WholesaleAmbushBase = 2, -- Base number of attackers on failed deals
|
||||||
|
WholesaleAmbushScale = true, -- Scale number of attackers based on drug quantity
|
||||||
|
WholesaleAmbushTier1 = 10, -- Drug quantity threshold for 3 attackers
|
||||||
|
WholesaleAmbushTier2 = 20, -- Drug quantity threshold for 4 attackers
|
||||||
|
WholesaleAmbushTier3 = 30, -- Drug quantity threshold for 5 attackers
|
||||||
|
FailChance = 20, -- Percentage chance of ambush occurring on a failed deal
|
||||||
|
PoliceCount = 0, -- Minimum police required to initiate a wholesale deal
|
||||||
|
},
|
||||||
|
Locs = {
|
||||||
|
vector4(-2352.32, 266.78, 165.3, 23.46),
|
||||||
|
vector4(-1467.49, 874.01, 183.59, 298.45),
|
||||||
|
vector4(-856.71, 874.26, 202.85, 205.3),
|
||||||
|
vector4(950.58, -128.49, 74.42, 205.3),
|
||||||
|
vector4(1152.71, -328.43, 69.21, 205.3),
|
||||||
|
vector4(112.66, -1955.67, 20.75, 37.94),
|
||||||
|
vector4(-544.4, -1684.8, 19.89, 252.07),
|
||||||
|
vector4(-1185.02, -1805.4, 3.91, 184.83),
|
||||||
|
vector4(-1641.4, -981.99, 7.58, 35.38),
|
||||||
|
vector4(-1827.93, 782.36, 138.29, 219.99),
|
||||||
|
vector4(-320.84, 2818.73, 59.45, 337.22),
|
||||||
|
vector4(474.88, 2609.56, 44.48, 357.0),
|
||||||
|
},
|
||||||
|
Price = {
|
||||||
|
cokeburner = {
|
||||||
|
min = 25,
|
||||||
|
max = 50
|
||||||
|
},
|
||||||
|
crackburner = {
|
||||||
|
min = 25,
|
||||||
|
max = 50
|
||||||
|
},
|
||||||
|
lsdburner = {
|
||||||
|
min = 25,
|
||||||
|
max = 50
|
||||||
|
},
|
||||||
|
heroinburner = {
|
||||||
|
min = 25,
|
||||||
|
max = 50
|
||||||
|
},
|
||||||
|
xtcburner = {
|
||||||
|
min = 25,
|
||||||
|
max = 50
|
||||||
|
},
|
||||||
|
methburner = {
|
||||||
|
min = 25,
|
||||||
|
max = 50
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
Config.XTC = {
|
||||||
|
Recipes = {
|
||||||
|
raw = {
|
||||||
|
raw_xtc = {take = {mdp2p = 1, isosafrole = 1}, give = {raw_xtc = 1}}
|
||||||
|
},
|
||||||
|
singlestack = {
|
||||||
|
white_xtc = {give = {white_xtc = 1}, take = {raw_xtc = 1}},
|
||||||
|
red_xtc = {give = {red_xtc = 1}, take = {raw_xtc = 1, loosecoke = 1},},
|
||||||
|
orange_xtc = {give = {orange_xtc = 1}, take = {raw_xtc = 1, heroinvial = 1},},
|
||||||
|
blue_xtc = {give = {blue_xtc = 1}, take = {raw_xtc = 1, crackrock = 1},},
|
||||||
|
},
|
||||||
|
dualstack = {
|
||||||
|
white_xtc2 = {give = {white_xtc2 = 1}, take = {raw_xtc = 1},},
|
||||||
|
red_xtc2 = {give = {red_xtc2 = 1}, take = {raw_xtc = 1, loosecoke = 1},},
|
||||||
|
orange_xtc2 = {give = {orange_xtc2 = 1}, take = {raw_xtc = 1, heroinvial = 1},},
|
||||||
|
blue_xtc2 = {give = {blue_xtc2 = 1}, take = {raw_xtc = 1, crackrock = 1},},
|
||||||
|
},
|
||||||
|
triplestack = {
|
||||||
|
white_xtc3 = {give = {white_xtc3 = 1}, take = {raw_xtc = 1},},
|
||||||
|
red_xtc3 = {give = {red_xtc3 = 1}, take = {raw_xtc = 1, loosecoke = 1},},
|
||||||
|
orange_xtc3 = {give = {orange_xtc3 = 1}, take = {raw_xtc = 1, heroinvial = 1},},
|
||||||
|
blue_xtc3 = {give = {blue_xtc3 = 1}, take = {raw_xtc = 1, crackrock = 1},},
|
||||||
|
},
|
||||||
|
quadstack = {
|
||||||
|
white_xtc4 = {give = {white_xtc4 = 1}, take = {raw_xtc = 1},},
|
||||||
|
red_xtc4 = {give = {red_xtc4 = 1}, take = {raw_xtc = 1, loosecoke = 1},},
|
||||||
|
orange_xtc4 = {give = {orange_xtc4 = 1}, take = {raw_xtc = 1, heroinvial = 1},},
|
||||||
|
blue_xtc4 = {give = {blue_xtc4 = 1}, take = {raw_xtc = 1, crackrock = 1},},
|
||||||
|
},
|
||||||
|
presses = {
|
||||||
|
singlepress = {type = 1,cash = 10000},
|
||||||
|
dualpress = {type = 2,give = {dualpress = 1}, take = {white_xtc = 20, blue_xtc = 20, red_xtc = 20, orange_xtc = 20, singlepress = 1}},
|
||||||
|
triplepress = {type = 3,give = {triplepress = 1}, take = {white_xtc2 = 50, blue_xtc2 = 50, red_xtc2 = 50, orange_xtc2 = 50, dualpress = 1}},
|
||||||
|
quadpress = {type = 4,give = {quadpress = 1}, take = {white_xtc3 = 50, blue_xtc3 = 50, red_xtc3 = 50, orange_xtc3 = 50, triplepress = 1}},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
Locations = {
|
||||||
|
isosafrole = { -- where to steal isosafrole
|
||||||
|
{loc = vector3(844.39, -902.92, 25.42), size = vector3(1.0, 1.0, 2.0), gang = ""},
|
||||||
|
},
|
||||||
|
mdp2p = { -- where to steal mdp2p
|
||||||
|
{loc = vector3(844.4, -898.79, 25.23), size = vector3(1.0, 1.0, 2.0), rot = 45.0, gang = ""},
|
||||||
|
},
|
||||||
|
rawxtcloc = { -- where to combine the 2 ingridents to make raw xtc
|
||||||
|
{loc = vector3(844.71, -910.33, 25.37), size = vector3(1.0, 1.0, 2.0), rot = 45.0, gang = ""},
|
||||||
|
},
|
||||||
|
xtcpress = {
|
||||||
|
{ped = 'g_f_y_families_01',loc = vector4(845.82, -884.79, 25.18, 180.0), size = vector3(1.0, 1.0, 2.0), rot = 45.0, gang = ""},
|
||||||
|
},
|
||||||
|
stamp = { -- where to stamp pills
|
||||||
|
{loc = vector3(844.71, -900.56, 25.43), size = vector3(1.0, 1.0, 2.0), rot = 45.0, gang = ""},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
+25
-9
@@ -4,15 +4,7 @@ Config, Bridge, targets = {}, exports.community_bridge:Bridge(), {}
|
|||||||
Config.TierSystem = true -- allows for three tiers of certain drugs ( coke, heroin, crack, lsd)
|
Config.TierSystem = true -- allows for three tiers of certain drugs ( coke, heroin, crack, lsd)
|
||||||
Config.Tier1 = 100 -- amount to hit for level 2
|
Config.Tier1 = 100 -- amount to hit for level 2
|
||||||
Config.Tier2 = 300 -- amount to hit for level 3
|
Config.Tier2 = 300 -- amount to hit for level 3
|
||||||
Config.CornerSellLevel = {
|
|
||||||
{price = 0.5, minrep = 0, maxrep = 240, label = 'Rookie'},
|
|
||||||
{price = 1.0, minrep = 240, maxrep = 600, label = 'Corner Boy'},
|
|
||||||
{price = 1.1, minrep = 600, maxrep = 1200, label = 'Corner Man'},
|
|
||||||
{price = 1.2, minrep = 1200, maxrep = 1800, label = 'Dope Peddler'},
|
|
||||||
{price = 1.3, minrep = 1800, maxrep = 2400, label = 'Drug Supplier'},
|
|
||||||
{price = 1.5, minrep = 2400, maxrep = 4800, label = 'Drug Pusher'},
|
|
||||||
{price = 1.75, minrep = 4800, maxrep = 99999999999999, label = 'Drug Lord'},
|
|
||||||
}
|
|
||||||
|
|
||||||
--- Customizations
|
--- Customizations
|
||||||
Config.Dispatch = 'ps' -- either 'ps', 'cd', 'core', 'aty'
|
Config.Dispatch = 'ps' -- either 'ps', 'cd', 'core', 'aty'
|
||||||
@@ -79,3 +71,27 @@ Config.Bzz = { -- if you have BZZZ props for these turn it on if you want
|
|||||||
shrooms = false,
|
shrooms = false,
|
||||||
weed = false,
|
weed = false,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
for k, v in pairs (Config.Drugs) do
|
||||||
|
if not v then goto continue end
|
||||||
|
local resourceName = 'md-drugs'
|
||||||
|
local filePath = 'shared/DrugData/' .. k .. '.lua'
|
||||||
|
local fullScript = LoadResourceFile(resourceName, filePath)
|
||||||
|
if not fullScript then
|
||||||
|
Bridge.Prints.Error("Error: Failed to load module '" .. filePath .. "' from resource '" .. resourceName .. "'.")
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
local chunk, err = load(fullScript, filePath, "t")
|
||||||
|
if not chunk then
|
||||||
|
Bridge.Prints.Error("Error loading Lua chunk from '" .. filePath .. "': " .. tostring(err))
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
local success, execErr = pcall(chunk)
|
||||||
|
if not success then
|
||||||
|
Bridge.Prints.Error("Error executing Lua chunk from '" .. filePath .. "': " .. tostring(execErr))
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
::continue::
|
||||||
|
end
|
||||||
Reference in new issue
Block a user