Merge pull request #57 from Mustachedom/testing-shit

updated
This commit is contained in:
Mustache Dom authored and GitHub committed 2024-11-05 00:49:26 -08:00
commit bb4d05373e
54 files changed
+1622 -2937

No files matched your search

+141 -151
View File
@@ -14,78 +14,73 @@ end
function MethCooking()
local animDict, animName = "anim@amb@business@meth@meth_monitoring_cooking@cooking@", "chemical_pour_short_cooker"
lib.requestAnimDict(animDict, 500)
dict = "scr_ornate_heist"
local ped = PlayerPedId()
SetEntityCoords(ped, vector3(1005.773, -3200.402, -38.524))
Wait(1)
local targetPosition = GetEntityCoords(ped)
local animDuration = GetAnimDuration(animDict, animName) * 800
FreezeEntityPosition(ped, true)
local scenePos, sceneRot = vector3(1010.656, -3198.445, -38.925), vector3(0.0, 0.0, 0.0)
local netScene = NetworkCreateSynchronisedScene(scenePos, sceneRot, 2, false, false, 1065353216, 0, 1.3)
NetworkAddPedToSynchronisedScene(ped, netScene, animDict, animName, 1.5, -4.0, 1, 16, 1148846080, 0)
local sacid = CreateObjectNoOffset(`bkr_prop_meth_sacid`, targetPosition, 1, 1, 0)
NetworkAddEntityToSynchronisedScene(sacid, netScene, animDict, "chemical_pour_short_sacid", 4.0, -8.0, 1)
local ammonia = CreateObjectNoOffset(`bkr_prop_meth_ammonia`, targetPosition, 1, 1, 0)
NetworkAddEntityToSynchronisedScene(ammonia, netScene, animDict, "chemical_pour_short_ammonia", 4.0, -8.0, 1)
NetworkStartSynchronisedScene(netScene)
Wait(animDuration)
NetworkStopSynchronisedScene(netScene)
DeleteObject(sacid)
DeleteObject(ammonia)
FreezeEntityPosition(ped, false)
lib.requestModel('hei_prop_heist_thermite', 2000)
loadParticle('scr_ornate_heist')
local thermite = CreateObject('hei_prop_heist_thermite', vector3(1005.76, -3201.3, -39.25), true, false, false)
FreezeEntityPosition(thermite, true)
SetEntityRotation(thermite, 190.0, 90.0, 140.0, 3, true )
Wait(1000)
local therm = StartParticleFxLoopedOnEntity('scr_heist_ornate_thermal_burn', thermite, 0.0, 1.4, 0.0, 0.0, 0.0, 0.0, 1.5, false, false, false)
Wait(math.random(10000, 20000))
StopParticleFxLooped(therm, true)
local animDict, animName = "anim@amb@business@meth@meth_monitoring_cooking@cooking@", "chemical_pour_short_cooker"
lib.requestAnimDict(animDict, 500)
SetEntityCoords(PlayerPedId(), vector3(1005.773, -3200.402, -38.524))
local targetPosition = GetEntityCoords(PlayerPedId())
local animDuration = GetAnimDuration(animDict, animName) * 800
FreezeEntityPosition(PlayerPedId(), true)
local scenePos, sceneRot = vector3(1010.656, -3198.445, -38.925), vector3(0.0, 0.0, 0.0)
local netScene = NetworkCreateSynchronisedScene(scenePos, sceneRot, 2, false, false, 1065353216, 0, 1.3)
NetworkAddPedToSynchronisedScene(PlayerPedId(), netScene, animDict, animName, 1.5, -4.0, 1, 16, 1148846080, 0)
local sacid = CreateObjectNoOffset(`bkr_prop_meth_sacid`, targetPosition, 1, 1, 0)
NetworkAddEntityToSynchronisedScene(sacid, netScene, animDict, "chemical_pour_short_sacid", 4.0, -8.0, 1)
local ammonia = CreateObjectNoOffset(`bkr_prop_meth_ammonia`, targetPosition, 1, 1, 0)
NetworkAddEntityToSynchronisedScene(ammonia, netScene, animDict, "chemical_pour_short_ammonia", 4.0, -8.0, 1)
NetworkStartSynchronisedScene(netScene)
Wait(animDuration)
NetworkStopSynchronisedScene(netScene)
DeleteObject(sacid) DeleteObject(ammonia)
FreezeEntityPosition(PlayerPedId(), false)
lib.requestModel('hei_prop_heist_thermite', 2000)
loadParticle('scr_ornate_heist')
local thermite = CreateObject('hei_prop_heist_thermite', vector3(1005.76, -3201.3, -39.25), true, false, false)
FreezeEntityPosition(thermite, true)
SetEntityRotation(thermite, 190.0, 90.0, 140.0, 3, true )
Wait(1000)
local therm = StartParticleFxLoopedOnEntity('scr_heist_ornate_thermal_burn', thermite, 0.0, 1.4, 0.0, 0.0, 0.0, 0.0, 1.5, false, false, false)
Wait(math.random(10000, 20000))
StopParticleFxLooped(therm, true)
end
function SmashMeth()
local ver = ""
local animDict, animName = "anim@amb@business@meth@meth_smash_weight_check@", "break_weigh_"..ver.."char02"
lib.requestAnimDict(animDict, 500)
local ped = PlayerPedId()
local targetPosition = vector3(1012.628, -3194.619, -39.589)
SetEntityCoords(ped, targetPosition)
Wait(1)
local animDuration = GetAnimDuration(animDict, animName) * 800
FreezeEntityPosition(ped, true)
local scenePos, sceneRot = vector3(1008.734, -3196.646, -39.99), vector3(0.0, 0.0, 1.08)
local netScene = NetworkCreateSynchronisedScene(scenePos, sceneRot, 2, false, false, 1065353216, 0, 1.3)
NetworkAddPedToSynchronisedScene(ped, netScene, animDict, animName, 1.5, -4.0, 1, 16, 1148846080, 0)
local objects, sceneObjects = {}, {
{ hash = `w_me_hammer`, animName = "break_weigh_" .. ver .. "hammer"},
{ hash = `bkr_Prop_Meth_SmashedTray_01_frag_`, animName = "break_weigh_"..ver.."tray01"},
{ hash = `bkr_Prop_Meth_Tray_02a`, animName = "break_weigh_"..ver.."tray01^1"},
{ hash = `bkr_Prop_Meth_Tray_02a`, animName = "break_weigh_"..ver.."tray01^2"},
{ hash = `bkr_Prop_Meth_SmashedTray_01_frag_`, animName = "break_weigh_"..ver.."tray01^3"},
}
for i=1, #sceneObjects, 1 do
local obj = CreateObjectNoOffset(sceneObjects[i].hash, targetPosition, true, true, true)
NetworkAddEntityToSynchronisedScene(obj, netScene, animDict, sceneObjects[i].animName, 4.0, -8.0, 1)
objects[#objects+1] = obj
end
NetworkStartSynchronisedScene(netScene)
Wait(animDuration)
NetworkStopSynchronisedScene(netScene)
for i=1, #objects, 1 do
DeleteObject(objects[i])
end
RemoveAnimDict(animDict)
FreezeEntityPosition(ped, false)
local ver = ""
local animDict, animName = "anim@amb@business@meth@meth_smash_weight_check@", "break_weigh_"..ver.."char02"
lib.requestAnimDict(animDict, 500)
local ped = PlayerPedId()
local targetPosition = vector3(1012.628, -3194.619, -39.589)
SetEntityCoords(ped, targetPosition)
Wait(1)
local animDuration = GetAnimDuration(animDict, animName) * 800
FreezeEntityPosition(ped, true)
local scenePos, sceneRot = vector3(1008.734, -3196.646, -39.99), vector3(0.0, 0.0, 1.08)
local netScene = NetworkCreateSynchronisedScene(scenePos, sceneRot, 2, false, false, 1065353216, 0, 1.3)
NetworkAddPedToSynchronisedScene(ped, netScene, animDict, animName, 1.5, -4.0, 1, 16, 1148846080, 0)
local objects, sceneObjects = {}, {
{ hash = `w_me_hammer`, animName = "break_weigh_" .. ver .. "hammer"},
{ hash = `bkr_Prop_Meth_SmashedTray_01_frag_`, animName = "break_weigh_"..ver.."tray01"},
{ hash = `bkr_Prop_Meth_Tray_02a`, animName = "break_weigh_"..ver.."tray01^1"},
{ hash = `bkr_Prop_Meth_Tray_02a`, animName = "break_weigh_"..ver.."tray01^2"},
{ hash = `bkr_Prop_Meth_SmashedTray_01_frag_`, animName = "break_weigh_"..ver.."tray01^3"},
}
for i=1, #sceneObjects, 1 do
local obj = CreateObjectNoOffset(sceneObjects[i].hash, targetPosition, true, true, true)
NetworkAddEntityToSynchronisedScene(obj, netScene, animDict, sceneObjects[i].animName, 4.0, -8.0, 1)
objects[#objects+1] = obj
end
NetworkStartSynchronisedScene(netScene)
Wait(animDuration)
NetworkStopSynchronisedScene(netScene)
for i=1, #objects, 1 do
DeleteObject(objects[i])
end
RemoveAnimDict(animDict)
FreezeEntityPosition(ped, false)
end
function BagMeth()
local ver = ""
local ver = ""
local animDict, animName = "anim@amb@business@meth@meth_smash_weight_check@", "break_weigh_"..ver.."char01"
lib.requestAnimDict(animDict, 500)
local animDuration = GetAnimDuration(animDict, animName) * 1000
@@ -142,7 +137,6 @@ for i=1, #scenesList, 1 do
end
Wait(animDuration-11000)
-- Citizen.Wait(45000)
for i=1, #scenesList, 1 do
NetworkStopSynchronisedScene(scenesList[i])
end
@@ -154,18 +148,18 @@ FreezeEntityPosition(ped, false)
end
function Tray()
local pos = GetEntityCoords(PlayerPedId(), true)
RequestAnimDict('anim@heists@box_carry@')
while (not HasAnimDictLoaded('anim@heists@box_carry@')) do
Wait(7)
end
TaskPlayAnim(PlayerPedId(), 'anim@heists@box_carry@', 'idle', 5.0, -1, -1, 50, 0, false, false, false)
RequestModel("bkr_prop_meth_tray_02a")
while not HasModelLoaded("bkr_prop_meth_tray_02a") do
Wait(0)
end
local trays = CreateObject("bkr_prop_meth_tray_02a", pos.x, pos.y, pos.z, true, true, true)
AttachEntityToEntity(trays, PlayerPedId(), GetPedBoneIndex(PlayerPedId(), 28422), 0.01,-0.2, -0.2, 20.0, 0.0, 0.0, true, true, false, true, 1, true)
local pos = GetEntityCoords(PlayerPedId(), true)
RequestAnimDict('anim@heists@box_carry@')
while (not HasAnimDictLoaded('anim@heists@box_carry@')) do
Wait(7)
end
TaskPlayAnim(PlayerPedId(), 'anim@heists@box_carry@', 'idle', 5.0, -1, -1, 50, 0, false, false, false)
RequestModel("bkr_prop_meth_tray_02a")
while not HasModelLoaded("bkr_prop_meth_tray_02a") do
Wait(0)
end
local trays = CreateObject("bkr_prop_meth_tray_02a", pos.x, pos.y, pos.z, true, true, true)
AttachEntityToEntity(trays, PlayerPedId(), GetPedBoneIndex(PlayerPedId(), 28422), 0.01,-0.2, -0.2, 20.0, 0.0, 0.0, true, true, false, true, 1, true)
end
@@ -183,52 +177,49 @@ function CutCoke()
{ hash = `prop_cs_credit_card`, animName = "coke_cut_v5_creditcard"},
{ hash = `prop_cs_credit_card`, animName = "coke_cut_v5_creditcard^1"}
},
}
local scenesList, entitiesList = {}, {}
for i=1, #scenes, 1 do
local scene = NetworkCreateSynchronisedScene(scenePos, sceneRot, 2, false, false, 1065353216, 0, 1.3)
NetworkAddPedToSynchronisedScene(ped, scene, animDict, animName, 1.5, -4.0, 1, 16, 1148846080, 0)
for j=1, #scenes[i], 1 do
local s = scenes[i][j]
RequestModel(s.hash)
while not HasModelLoaded(s.hash) do
Wait(0)
local scenesList, entitiesList = {}, {}
for i=1, #scenes, 1 do
local scene = NetworkCreateSynchronisedScene(scenePos, sceneRot, 2, false, false, 1065353216, 0, 1.3)
NetworkAddPedToSynchronisedScene(ped, scene, animDict, animName, 1.5, -4.0, 1, 16, 1148846080, 0)
for j=1, #scenes[i], 1 do
local s = scenes[i][j]
RequestModel(s.hash)
while not HasModelLoaded(s.hash) do
Wait(0)
end
local obj = CreateObjectNoOffset(s.hash, coords, true, true, true)
SetModelAsNoLongerNeeded(s.hash)
entitiesList[#entitiesList+1] = obj
NetworkAddEntityToSynchronisedScene(obj, scene, animDict, s.animName, 4.0, -8.0, 1)
end
local obj = CreateObjectNoOffset(s.hash, coords, true, true, true)
SetModelAsNoLongerNeeded(s.hash)
entitiesList[#entitiesList+1] = obj
NetworkAddEntityToSynchronisedScene(obj, scene, animDict, s.animName, 4.0, -8.0, 1)
scenesList[#scenesList+1] = scene
end
DisableCamCollisionForEntity(ped)
FreezeEntityPosition(ped, true)
for i=1, #scenesList, 1 do
NetworkStartSynchronisedScene(scenesList[i])
end
scenesList[#scenesList+1] = scene
end
DisableCamCollisionForEntity(ped)
FreezeEntityPosition(ped, true)
for i=1, #scenesList, 1 do
NetworkStartSynchronisedScene(scenesList[i])
end
Wait(animDuration-11000)
for i=1, #scenesList, 1 do
NetworkStopSynchronisedScene(scenesList[i])
end
for i=1, #entitiesList, 1 do
DeleteEntity(entitiesList[i])
end
RemoveAnimDict(animDict)
FreezeEntityPosition(ped, false)
Wait(animDuration-11000)
for i=1, #scenesList, 1 do
NetworkStopSynchronisedScene(scenesList[i])
end
for i=1, #entitiesList, 1 do
DeleteEntity(entitiesList[i])
end
RemoveAnimDict(animDict)
FreezeEntityPosition(ped, false)
end
CreateThread(function()
BikerCocaine = exports['bob74_ipl']:GetBikerCocaineObject()
BikerCocaine.Style.Set(BikerCocaine.Style.upgrade)
BikerCocaine.Security.Set(BikerCocaine.Security.upgrade)
BikerCocaine.Details.Enable({BikerCocaine.Details.cokeBasic1, BikerCocaine.Details.cokeBasic2, BikerCocaine.Details.cokeBasic3}, true)
end)
function BagCoke()
function BagCoke()
local ver = ""
local animDict, animName = "anim@amb@business@meth@meth_smash_weight_check@", "break_weigh_"..ver.."char01"
lib.requestAnimDict(animDict, 500)
@@ -281,7 +272,6 @@ for i=1, #scenesList, 1 do
end
Wait(animDuration-11000)
-- Citizen.Wait(45000)
for i=1, #scenesList, 1 do
NetworkStopSynchronisedScene(scenesList[i])
end
@@ -382,18 +372,18 @@ end
local hit = 0
function SpawnCarPedChase()
local ped = GetEntityCoords(PlayerPedId())
local stoploc = vector3(-1157.63, -3056.71, 13.94)
local start = Config.StartLoc[math.random(1,#Config.StartLoc)]
if started then -- checks if active
else
local stoploc = vector3(-1157.63, -3056.71, 13.94)
local start = Config.StartLoc[math.random(1,#Config.StartLoc)]
if started then
Notify(Lang.lean.act,'error')
else
started = true
lib.requestModel(`pounder`, Config.RequestModelTime)
lib.requestModel("ig_priest", Config.RequestModelTime)
lib.requestModel(`cargobob3`, Config.RequestModelTime)
local leancar = CreateVehicle(`pounder`, start.x+3, start.y-2, start.z-1, 52.0, true, true)
local driver = CreatePed(26, "ig_priest", start.x, start.y, start.z, 268.9422, true, false)
local pilot2 = CreatePed(26, "ig_priest", stoploc.x-3, stoploc.y-3, stoploc.z-1, 268.9422, true, false)
local leancar = CreateVehicle(`pounder`, start.x+3, start.y-2, start.z-1, 52.0, true, true)
local driver = CreatePed(26, "ig_priest", start.x, start.y, start.z, 268.9422, true, false)
local pilot2 = CreatePed(26, "ig_priest", stoploc.x-3, stoploc.y-3, stoploc.z-1, 268.9422, true, false)
FreezeEntityPosition(pilot2, true)
SetEntityInvincible(pilot2, true)
SetEntityAsMissionEntity(leancar)
@@ -401,16 +391,16 @@ else
SetPedIntoVehicle(driver, leancar, -1)
SetPedFleeAttributes(driver,false)
TaskVehicleDriveToCoordLongrange(driver, leancar, stoploc.x, stoploc.y, stoploc.z-1, 50.0, 524288, 25.0)
SetPedKeepTask(driver, true) -- everything above is ped/ veh spawn
repeat -- repeats Wait(1000) only until
SetPedKeepTask(driver, true)
repeat
Wait(1000)
until #(GetEntityCoords(driver) - stoploc) < 20.0 or GetEntityHealth(driver) == 0 -- either the distance is within 20 OR the driver is dead
until #(GetEntityCoords(driver) - stoploc) < 20.0 or GetEntityHealth(driver) == 0
RemoveBlip(leancar)
if GetEntityHealth(driver) == 0 then -- once one of those thing ends, the loop breaks and carries on from here
if GetEntityHealth(driver) == 0 then
AddSingleModel(leancar, { name = 'leancar', icon = 'fa-solid fa-car', label = 'Steal From Car',
action = function()
hit = hit + 1
if not minigame(2,8) then return end
if not minigame() then return end
TriggerServerEvent('md-drugs:server:givelean')
started = nil
if math.random(1,100) <= 30 or hit == 4 then
@@ -421,7 +411,7 @@ else
end
end}, nil)
else
repeat -- this second loop is to spawn the helicopter when the truck is in distance
repeat
Wait(1000)
until #(GetEntityCoords(driver) - GetEntityCoords(pilot2)) < 25.0
Wait( 3 * 1000)
@@ -448,6 +438,7 @@ local start = Config.StartLoc[math.random(1,#Config.StartLoc)]
local startedmeth = false
if startedmeth then
Notify(Lang.meth.act,'error')
else
startedmeth = true
lib.requestModel(`journey`, Config.RequestModelTime)
@@ -471,9 +462,9 @@ else
AddSingleModel(methcar,{
name = 'methcar',
icon = 'fa-solid fa-car',
label = 'Steal From Car',
label = Lang.targets.meth.stealfromcar,
action = function()
if not minigame(2,8) then return end
if not minigame() then return end
TriggerServerEvent('md-drugs:server:givemethingridients')
startedmeth = nil
if math.random(1,100) <= 30 then
@@ -507,26 +498,24 @@ end
function SetUpPeds()
AddRelationshipGroup('setups')
local ped = GetEntityCoords(PlayerPedId())
local peds = {
{x = ped.x+3, y = ped.y-5, z = ped.z-1, },
{x = ped.x+6, y = ped.y-10, z = ped.z-1,},
{x = ped.x+-2,y = ped.y+5, z = ped.z-1,},
{x = ped.x+8, y = ped.y-12, z = ped.z-1,},
{x = ped.x+5, y = ped.y-2, z = ped.z-1, },
{x = ped.x+2, y = ped.y-20, z = ped.z-1,},
{x = ped.x+1, y = ped.y-10, z = ped.z-1,},
}
for i = 1, #peds do
local k = peds[i]
print(GetPedRelationshipGroupHash(i) )
i = CreatePed(0, "g_m_y_famdnf_01", k.x, k.y, k.z, 90.0, true, true)
SetPedRelationshipGroupHash(i, 'setups')
GiveWeaponToPed(i, "weapon_pistol", 1, false, true)
TaskCombatPed(i, PlayerPedId(), 0, 16)
SetPedCombatAttributes(i, 46, true)
end
local ped = GetEntityCoords(PlayerPedId())
local peds = {
{x = ped.x+3, y = ped.y-5, z = ped.z-1, },
{x = ped.x+6, y = ped.y-10, z = ped.z-1,},
{x = ped.x+-2,y = ped.y+5, z = ped.z-1,},
{x = ped.x+8, y = ped.y-12, z = ped.z-1,},
{x = ped.x+5, y = ped.y-2, z = ped.z-1, },
{x = ped.x+2, y = ped.y-20, z = ped.z-1,},
{x = ped.x+1, y = ped.y-10, z = ped.z-1,},
}
for i = 1, #peds do
local k = peds[i]
i = CreatePed(0, "g_m_y_famdnf_01", k.x, k.y, k.z, 90.0, true, true)
SetPedRelationshipGroupHash(i, 'setups')
GiveWeaponToPed(i, "weapon_pistol", 1, false, true)
TaskCombatPed(i, PlayerPedId(), 0, 16)
SetPedCombatAttributes(i, 46, true)
end
end
RegisterCommand('DrugRep', function()
@@ -537,9 +526,10 @@ RegisterCommand('DrugRep', function()
title = 'Drug Reputation',
options = {
{icon = "fa-solid fa-face-flushed", title = 'Cocaine: '..rep.coke},
{icon = "fa-solid fa-syringe", title = 'Heroin: '..rep.heroin},
{icon = "fa-solid fa-vial", title = 'LSD: '..rep.lsd},
{icon = "fa-solid fa-plug", title = 'Dealer: '..rep.dealerrep},
{icon = "fa-solid fa-syringe", title = 'Heroin: '..rep.heroin},
{icon = "fa-solid fa-vial", title = 'LSD: '..rep.lsd},
{icon = "fa-solid fa-plug", title = 'Dealer: '..rep.dealerrep},
{icon = "fa-solid fa-money-bill", title = 'Corner Selling: ' .. rep.cornerselling.rep, description = 'Rank: ' .. rep.cornerselling.label }
}
})
lib.showContext('DrugRep')
+10 -23
View File
@@ -4,9 +4,9 @@ local cuttingcoke = nil
local baggingcoke = nil
local function pick(loc)
if not progressbar(Lang.Coke.picking, 4000, 'uncuff') then return end
TriggerServerEvent("coke:pickupCane", loc)
return true
if not progressbar(Lang.Coke.picking, 4000, 'uncuff') then return end
TriggerServerEvent("coke:pickupCane", loc)
return true
end
RegisterNetEvent('coke:respawnCane', function(loc)
@@ -15,7 +15,7 @@ RegisterNetEvent('coke:respawnCane', function(loc)
if not CocaPlant[loc] then
CocaPlant[loc] = CreateObject(hash, v.location, false, true, true)
Freeze(CocaPlant[loc], true, v.heading)
AddSingleModel(CocaPlant[loc], {icon = 'fas fa-hand', label = 'Pick Cocaine', action = function() if not pick(loc) then return end end}, loc)
AddSingleModel(CocaPlant[loc], {icon = "fa-solid fa-seedling", label = Lang.targets.coke.pick, action = function() if not pick(loc) then return end end}, loc)
end
end)
@@ -27,27 +27,15 @@ end)
RegisterNetEvent("coke:init", function()
for k, v in pairs (GlobalState.CocaPlant) do
local hash = GetHashKey(v.model)
if not HasModelLoaded(hash) then LoadModel(hash) end
LoadModel(hash)
if not v.taken then
CocaPlant[k] = CreateObject(hash, v.location.x, v.location.y, v.location.z, false, true, true)
Freeze(CocaPlant[k], true, v.heading)
AddSingleModel(CocaPlant[k], {icon = 'fas fa-hand', label = 'Pick Cocaine', action = function() if not pick(k) then return end end}, k)
AddSingleModel(CocaPlant[k], {icon = "fa-solid fa-seedling", label = Lang.targets.coke.pick, action = function() if not pick(k) then return end end}, k)
end
end
end)
AddEventHandler('onResourceStart', function(resource)
if resource == GetCurrentResourceName() then
LoadModel('prop_plant_01a')
TriggerEvent('coke:init')
end
end)
RegisterNetEvent('QBCore:Client:OnPlayerLoaded', function()
Wait(3000)
LoadModel('prop_plant_01a')
TriggerEvent('coke:init')
end)
AddEventHandler('onResourceStop', function(resourceName)
if GetCurrentResourceName() == resourceName then
SetModelAsNoLongerNeeded(GetHashKey('prop_plant_01a'))
@@ -87,17 +75,16 @@ RegisterNetEvent("md-drugs:client:bagcoke", function()
end
TriggerServerEvent("md-drugs:server:bagcoke")
baggingcoke = nil
end)
CreateThread(function()
if Config.FancyCokeAnims == false then
AddBoxZoneMulti('cuttcoke', Config.CuttingCoke, { type = "client", event = "md-drugs:client:cutcokeone", icon = "fas fa-sign-in-alt", label = "Cut Coke"})
AddBoxZoneMulti('baggcoke', Config.BaggingCoke, { type = "client", event = "md-drugs:client:bagcoke", icon = "fas fa-sign-in-alt", label = "Bag Coke"})
AddBoxZoneMulti('cuttcoke', Config.CuttingCoke, { type = "client", event = "md-drugs:client:cutcokeone", icon = "fa-solid fa-mortar-pestle", label = Lang.targets.coke.cut})
AddBoxZoneMulti('baggcoke', Config.BaggingCoke, { type = "client", event = "md-drugs:client:bagcoke", icon = "fa-solid fa-sack-xmark", label = Lang.targets.coke.bag})
else
AddBoxZoneSingle('cutcoke', vector3(1093.17, -3195.74, -39.19),
{ type = "client", event = "md-drugs:client:cutcokeone", icon = "fas fa-sign-in-alt", label = "cut up", canInteract = function()if cuttingcoke == nil and baggingcoke == nil then return true end end })
{ type = "client", event = "md-drugs:client:cutcokeone", icon = "fa-solid fa-mortar-pestle", label = Lang.targets.coke.cut, canInteract = function()if cuttingcoke == nil and baggingcoke == nil then return true end end })
AddBoxZoneSingle('bagcokepowder', vector3(1090.29, -3195.66, -39.13),
{ type = "client", event = "md-drugs:client:bagcoke", icon = "fas fa-sign-in-alt", label = "bagging", canInteract = function() if baggingcoke == nil and cuttingcoke == nil then return true end end })
{ type = "client", event = "md-drugs:client:bagcoke", icon = "fa-solid fa-sack-xmark", label = Lang.targets.coke.bag, canInteract = function() if baggingcoke == nil and cuttingcoke == nil then return true end end })
end
end)
+8 -10
View File
@@ -1,11 +1,9 @@
local QBCore = exports['qb-core']:GetCoreObject()
RegisterNetEvent('md-drugs:client:consumedrugs', function(time, effect, anim, progresstext, status, item)
print(time, effect, anim, progresstext, status, item)
if not progressbar(progresstext .. GetLabel(item).. "!", time, anim ) then return end
TriggerServerEvent('md-drugs:server:removeconsum', item)
for k, v in pairs (status) do
print(k,v)
if k == 'health' then
local cur = GetEntityHealth(PlayerPedId())
SetEntityHealth(PlayerPedId(), cur + v)
@@ -21,7 +19,7 @@ RegisterNetEvent('md-drugs:client:consumedrugs', function(time, effect, anim, pr
TriggerEvent('md-drugs:client:recievebuff', k, v)
end
end
TriggerEvent('evidence:client:SetStatus', 'widepupils', 200) if effect == "alien" then AlienEffect() elseif effect == "ecstacy" then EcstasyEffect() elseif effect == "meth" then MethBagEffect() elseif effect == "coke" then CokeBaggyEffect() elseif effect == "trevor" then TrevorEffect() else end if status == nil then return end
TriggerEvent('evidence:client:SetStatus', 'widepupils', 200) if effect == "alien" then AlienEffect() elseif effect == "ecstacy" then EcstasyEffect() elseif effect == "meth" then MethBagEffect() elseif effect == "coke" then CokeBaggyEffect() elseif effect == "trevor" then TrevorEffect() else end if status == nil then return end
end)
RegisterNetEvent('md-drugs:client:recievebuff', function(type, amount)
@@ -36,12 +34,12 @@ if type == 'speed' then
end
if type == 'strength' then
local strength = 0
SetCurrentPedWeapon(PlayerPedId(), 'weapon_unarmed', true)
SetWeaponDamageModifier(GetHashKey("WEAPON_UNARMED"), 60.0)
repeat
strength = strength + 1
Wait(1000)
until strength == amount
SetWeaponDamageModifier(GetHashKey("WEAPON_UNARMED"), 1.0)
SetCurrentPedWeapon(PlayerPedId(), 'weapon_unarmed', true)
SetWeaponDamageModifier(GetHashKey("WEAPON_UNARMED"), 50.0)
repeat
strength = strength + 1
Wait(1000)
until strength == amount
SetWeaponDamageModifier(GetHashKey("WEAPON_UNARMED"), 1.0)
end
end)
+36 -46
View File
@@ -2,40 +2,34 @@ local QBCore = exports['qb-core']:GetCoreObject()
local sell = false
local sold = false
local targbusy = false
local inZone = false
local function reset(targ)
FreezeEntityPosition(targ, false)
ClearPedTasks(targ)
Wait(10000)
DeletePed(targ)
targbusy = false
sold = true
end
local function sellDrug(item, amount, price, targ)
PoliceCall(20)
targbusy = true
if IsPedInAnyVehicle(PlayerPedId(), true) then
Notify('STRANGER DANGER, I WONT GET IN THE CAR WITH YOU', 'error')
FreezeEntityPosition(targ, false)
ClearPedTasks(targ)
Wait(10000)
DeletePed(targ)
targbusy = false
sold = true
sell = false
Notify(Lang.Cornerselling.inveh, 'error')
reset(targ)
return end
if not progressbar('Selling ' .. GetLabel(item) .. '!', 4000, 'uncuff') then return end
if not progressbar(string.format(Lang.Cornerselling.selling, GetLabel(item), price), 4000, 'uncuff') then return end
TriggerServerEvent('md-drugs:server:sellCornerDrugs', item, amount, price)
FreezeEntityPosition(targ, false)
ClearPedTasks(targ)
Wait(10000)
DeletePed(targ)
targbusy = false
sold = true
reset(targ)
end
local function deny(targ)
PoliceCall(20)
targbusy = true
if not progressbar('Telling This Dumbass To Leave!', 4000, 'argue5') then return end
FreezeEntityPosition(targ, false)
ClearPedTasks(targ)
Wait(10000)
DeletePed(targ)
targbusy = false
sold = true
if not progressbar(Lang.Cornerselling.deny, 4000, 'argue5') then return end
reset(targ)
end
function Cornersell()
@@ -47,30 +41,19 @@ function Cornersell()
Wait(1000)
until #(GetEntityCoords(PlayerPedId()) - GetEntityCoords(targ)) < 2.0
lib.requestAnimDict("rcmme_tracey1")
TaskStartScenarioInPlace(targ, "WORLD_HUMAN_STAND_IMPATIENT_UPRIGHT", 0, false)
FreezeEntityPosition(targ, true)
TaskStartScenarioInPlace(targ, "WORLD_HUMAN_STAND_IMPATIENT_UPRIGHT", 0, false) FreezeEntityPosition(targ, true)
local item, amount, price = lib.callback.await('md-drugs:server:cornerselling:getAvailableDrugs', false)
if item == 'nothing' then Notify(' You Aint Got Shit', 'error') sell = false FreezeEntityPosition(targ, false) ClearPedTasks(targ) return false end
if item == 'nothing' then Notify(Lang.Cornerselling.nodrugs, 'error') sell = false FreezeEntityPosition(targ, false) ClearPedTasks(targ) return false end
local options = {
{ label = 'Sell ' .. amount .. ' Of ' .. GetLabel(item) .. ' For $' .. price .. '!', icon = "fas fa-eye",
action = function()
sellDrug(item, amount, price, targ)
end,
onSelect = function()
sellDrug(item, amount, price, targ)
end,
{ label = string.format(Lang.targets.CornerSell.sell, amount, GetLabel(item), price), icon ="fa-solid fa-money-bill",
action = function() sellDrug(item, amount, price, targ) end,
canInteract = function()
if not targbusy then return true end end,
},
{ label = 'Deny Price', icon = "fas fa-eye",
action = function()
deny(targ)
end,
onSelect = function()
deny(targ)
end,
canInteract = function()
if not targbusy then return true end end,
{ label = Lang.targets.CornerSell.deny, icon = "fa-solid fa-person-harassing",
action = function() deny(targ) end,
canInteract = function()
if not targbusy then return true end end,
},
}
AddMultiModel(targ, options, nil)
@@ -82,21 +65,28 @@ end
RegisterNetEvent('md-drugs:client:cornerselling', function()
if not GetCops(QBConfig.MinimumDrugSalePolice) then return end
if inZone then Notify(Lang.Cornerselling.no, 'error') return end
local item, amount, price = lib.callback.await('md-drugs:server:cornerselling:getAvailableDrugs', false)
if item ~= 'nothing' then
if sell then
Notify('Lazy Ass Cant Even Sell Drugs', 'error')
Notify(Lang.Cornerselling.stop, 'error')
sell = false
else
sell = true
Notify('Go Make That Paper', 'success')
Notify(Lang.Cornerselling.start, 'success')
repeat
Wait(1000)
if not Cornersell() then end
until sell == false
if not Cornersell() then end
until not sell
end
else
Notify('You Cant Sell Air', 'error')
Notify(Lang.Cornerselling.nodrugs, 'error')
end
end)
CreateThread(function()
for k, v in pairs (QBConfig.NoSellZones) do
local box = lib.zones.box({ coords = v.loc, size = vec3(v.width, v.length, v.height), rotation = 180.0, debug = true,
onEnter = function() inZone = true end, onExit = function() inZone = false end})
end
end)
+1 -1
View File
@@ -3,7 +3,7 @@ local QBCore = exports['qb-core']:GetCoreObject()
RegisterNetEvent("md-drugs:client:makecrackone", function(data)
if not ItemCheck('bakingsoda') then return end
if not minigame(2, 8) then TriggerServerEvent("md-drugs:server:failcrackone", data.data) return end
if not minigame() then TriggerServerEvent("md-drugs:server:failcrackone", data.data) return end
if not progressbar(Lang.Crack.cookcrack, 4000, 'uncuff') then return end
TriggerServerEvent("md-drugs:server:makecrackone", data.data)
end)
+24 -84
View File
@@ -1,48 +1,9 @@
local QBCore = exports['qb-core']:GetCoreObject()
local isActive = false
RegisterNetEvent('md-drugs:client:opendealermenu', function()
local dealermenu = {}
if Config.StupidassNewQbItemName then
for k, v in pairs (QBConfig.ProductsStupidNameRewrite) do
if QBCore.Functions.GetPlayerData().metadata["dealerrep"] >= v.minrep then
dealermenu[#dealermenu + 1] = {
icon = GetImage(v.name),
title = GetLabel(v.name),
description = v.price,
event = "md-drugs:client:travellingmerchantox",
args = {
item = v.name,
cost = v.price,
amount = v.amount,
table = QBConfig.ProductsStupidNameRewrite,
num = k,
}
}
lib.registerContext({id = 'dealermenu',title = "Dealer Menu", options = dealermenu})
end
end
else
for k, v in pairs (QBConfig.Products) do
if QBCore.Functions.GetPlayerData().metadata["dealerrep"] >= v.minrep then
dealermenu[#dealermenu + 1] = {
icon = GetImage(v.name),
title = GetLabel(v.name),
description = v.price,
event = "md-drugs:client:travellingmerchantox",
args = {
item = v.name,
cost = v.price,
amount = v.amount,
table = QBConfig.Products,
num = k,
}
}
lib.registerContext({id = 'dealermenu',title = "Dealer Menu", options = dealermenu})
end
end
end
local rep = GetRep()
makeMenu('dealermenu', rep)
lib.showContext('dealermenu')
end)
@@ -56,34 +17,17 @@ CreateThread(function()
dealer[k] = CreatePed(0, Ped,loc.x,loc.y, loc.z-1, loc.h, false, false)
Freeze(dealer[k], true, loc.h)
local options = {
{
icon = 'fas fa-user-secret',
label = "Deliver For " .. v.name,
{ icon = 'fas fa-user-secret', label = string.format(Lang.targets.Delivery.Deliver, v.name),
action = function()
local bool, item, amount, coords = lib.callback.await('md-drugs:server:GetDeliveryItem', false, k)
if bool then
Email('Not A Drug Dealer', 'Hurry Up And Get The Package To The Buyer', 'I Swear To God If It Doesnt Get There I Will Tell Your Mom You Said Fuck Just Bring ' .. amount .. ' Of '.. GetLabel(item) .. '!' )
Email(Lang.Delivery.emailn, Lang.Delivery.emailsub, string.format(Lang.Delivery.emailcon, amount, GetLabel(item)))
TriggerEvent('md-drugs:client:setLocation', {bool = bool, item = item, amount = amount, coords = coords})
end
end,
onSelect = function()
local bool, item, amount, coords = lib.callback.await('md-drugs:server:GetDeliveryItem', false, k)
if item then
TriggerEvent('md-drugs:client:setLocation', {bool = bool, item = item, amount = amount, coords = coords})
Email('Not A Drug Dealer', 'Hurry Up And Get The Package To The Buyer', 'I Swear To God If It Doesnt Get There I Will Tell Your Mom You Said Fuck Just Bring ' .. amount .. ' Of '.. GetLabel(item) .. '!' )
end
end
},
{
icon = 'fas fa-user-secret',
label = "Open " .. v.name .. "'s Shop",
action = function()
TriggerEvent('md-drugs:client:opendealermenu')
end,
onSelect = function()
TriggerEvent('md-drugs:client:opendealermenu')
end
{ icon = "fa-solid fa-store", label = string.format(Lang.targets.Delivery.open, v.name),
action = function() TriggerEvent('md-drugs:client:opendealermenu') end,
}
}
AddMultiModel(dealer[k], options)
@@ -92,28 +36,24 @@ end)
RegisterNetEvent('md-drugs:client:setLocation', function(data)
local coord = json.decode(data.coords)
if isActive then
Blip(vector3(coord.x, coord.y, coord.z), 'Drop Off')
return
end
SetNewWaypoint(coord.x, coord.y)
if isActive then return end
isActive = true
Blip(vector3(coord.x, coord.y, coord.z), 'Drop Off')
Buyer = CreatePed(0, "g_m_y_famdnf_01",coord.x, coord.y, coord.z-1, 180.0, false, false)
local Buyer = CreatePed(0, "g_m_y_famdnf_01",coord.x, coord.y, coord.z-1, 180.0, false, false)
Freeze(Buyer, true, 180)
AddSingleModel(Buyer, {
icon = 'fas fa-user-secret',
label = "Hand Off",
action = function()
if not progressbar('Delivering The Package', 4000, 'uncuff') then return end
isActive = false
DeletePed(Buyer)
RemoveBlip(deliveryBlip)
TriggerServerEvent('md-drugs:server:giveDeliveryItems', data.item, data.amount)
end,
canInteract = function()
if isActive then
return true
end
AddSingleModel(Buyer, {
icon = 'fas fa-user-secret',
label = Lang.targets.Delivery.hand,
action = function()
if not progressbar(Lang.Delivery.pack, 4000, 'uncuff') then return end
isActive = false
DeletePed(Buyer)
TriggerServerEvent('md-drugs:server:giveDeliveryItems', data.item, data.amount)
end,
canInteract = function()
if isActive then
return true
end
}, nil)
end
}, nil)
end)
+107 -58
View File
@@ -53,7 +53,24 @@ function progressbar(text, time, anim)
end
end
function minigame(tier)
function loadParticle(dict)
if not HasNamedPtfxAssetLoaded(dict) then
RequestNamedPtfxAsset(dict)
end
while not HasNamedPtfxAssetLoaded(dict) do
Wait(0)
end
SetPtfxAssetNextCall(dict)
end
function LoadModel(hash)
RequestModel(hash)
while not HasModelLoaded(hash) do
Wait(0)
end
end
function minigame()
local time = 0
local game = Config.Minigames
if minigametype == 'ps_circle' then
@@ -144,12 +161,10 @@ function progressbar(text, time, anim)
elseif minigametype == 'none' then
return true
else
print"^1 SCRIPT ERROR: Md-Drugs set your minigame with one of the options!"
print"^1 SCRIPT ERROR: Md-Drugs set your minigame with one of the options!"
end
end
function Notify(text, type)
if notifytype =='ox' then
lib.notify({title = text, type = type})
@@ -163,30 +178,28 @@ function progressbar(text, time, anim)
end
function GetImage(img)
if GetResourceState('ox_inventory') == 'started' then
local Items = exports['ox_inventory']:Items()
if Items[img]['client'] then
if Items[img]['client']['image'] then
return Items[img]['client']['image']
else
return "nui://ox_inventory/web/images/".. img.. '.png'
end
else
return "nui://ox_inventory/web/images/".. img.. '.png'
end
elseif GetResourceState('ps-inventory') == 'started' then
return "nui://ps-inventory/html/images/".. QBCore.Shared.Items[img].image
elseif GetResourceState('lj-inventory') == 'started' then
return "nui://lj-inventory/html/images/".. QBCore.Shared.Items[img].image
elseif GetResourceState('qb-inventory') == 'started' then
return "nui://qb-inventory/html/images/".. QBCore.Shared.Items[img].image
elseif GetResourceState('qs-inventory') == 'started' then
return "nui://qs-inventory/html/img/".. QBCore.Shared.Items[img].image
elseif GetResourceState('origen_inventory') == 'started' then
return "nui://origen_inventory/html/img/".. QBCore.Shared.Items[img].image
elseif GetResourceState('core_inventory') == 'started' then
return "nui://core_inventory/html/img/".. QBCore.Shared.Items[img].image
end
if GetResourceState('ox_inventory') == 'started' then
local Items = exports['ox_inventory']:Items()
local itemClient = Items[img] and Items[img]['client']
if itemClient and itemClient['image'] then
return itemClient['image']
else
return "nui://ox_inventory/web/images/" .. img .. '.png'
end
end
local invs = {
['ps-inventory'] = "nui://ps-inventory/html/images/",
['lj-inventory'] = "nui://lj-inventory/html/images/",
['qb-inventory'] = "nui://qb-inventory/html/images/",
['qs-inventory'] = "nui://qs-inventory/html/img/",
['origen_inventory'] = "nui://origen_inventory/html/img/",
['core_inventory'] = "nui://core_inventory/html/img/"
}
for k, v in pairs(invs) do
if GetResourceState(k) == 'started' then
return v .. QBCore.Shared.Items[img].image
end
end
end
function GetLabel(label)
@@ -198,9 +211,49 @@ function GetLabel(label)
end
end
function GetRep()
local rep = lib.callback.await('md-drugs:server:GetRep', false)
return rep
end
function sorter(sorting, value)
table.sort(sorting, function(a, b) return a[value] < b[value] end)
end
function makeMenu(name, rep)
local menu = {}
local data = lib.callback.await('md-drugs:server:menu', false, name)
for k, v in pairs (data.table) do
local allow = false
if rep == nil then
allow = true
else
if rep.dealerrep >= v.minrep then allow = true end
end
if allow then
menu[#menu + 1] = {
icon = GetImage(v.name),
description = '$'.. v.price,
title = GetLabel(v.name),
onSelect = function()
local settext = "Cost: $"..v.price
local dialog = exports.ox_lib:inputDialog(v.name .."!", {
{ type = 'select', label = "Payment Type", default = "cash", options = { { value = "cash"}, { value = "bank"},}},
{ type = 'number', label = "Amount to buy", description = settext, min = 0, max = v.amount, default = 1 },
})
if not dialog[1] then return end
TriggerServerEvent("md-drugs:server:purchaseGoods", dialog[2], dialog[1], v.name, v.price, data.table, k)
end,
}
end
end
sorter(menu, 'title')
lib.registerContext({id = data.id, title = data.title, options = menu})
end
function ItemCheck(item)
local success
if GetResourceState('ox_inventory') == 'started' then
if exports.ox_inventory:GetItemCount(item) >= 1 then return true else Notify('You Need ' .. GetLabel(item) .. " !", 'error') return false end
else
@@ -236,7 +289,6 @@ function Email(sender, subject, message)
sender = sender,
senderDisplayName = sender,
content = message,
}, 'phoneNumber', receiver)
elseif Config.Phone == 'qs' then
TriggerServerEvent('qs-smartphone:server:sendNewMail', {
@@ -269,15 +321,7 @@ function PoliceCall(chance)
flash = 0,
unique_id = data.unique_id,
sound = 1,
blip = {
sprite = 431,
scale = 1.2,
colour = 3,
flashes = false,
text = '420-69 Drug Sale',
time = 5,
radius = 0,
}
blip = { sprite = 431, scale = 1.2, colour = 3, flashes = false, text = '420-69 Drug Sale', time = 5, radius = 0,}
})
elseif dispatch == 'core' then
exports['core_dispatch']:addCall("420-69", "Drugs Are Being Sold", {
@@ -317,22 +361,6 @@ function tele(coords)
DoScreenFadeIn(500)
end
function Blip(entity, text)
local deliveryBlip = AddBlipForCoord(entity)
SetBlipSprite(deliveryBlip, 1)
SetBlipDisplay(deliveryBlip, 2)
SetBlipScale(deliveryBlip, 1.0)
SetBlipAsShortRange(deliveryBlip, false)
SetBlipColour(deliveryBlip, 27)
BeginTextCommandSetBlipName("STRING")
AddTextComponentSubstringPlayerName(text)
EndTextCommandSetBlipName(deliveryBlip)
SetBlipRoute(deliveryBlip, true)
end
function RemoveBlips()
RemoveBlip(deliveryBlip)
end
function AddBoxZoneSingle(name, loc, data)
if Config.Target == 'qb' then
@@ -404,7 +432,6 @@ function AddBoxZoneMulti(name, table, data)
end
function AddBoxZoneMultiOptions(name, loc, data)
if Config.Target == 'qb' then
exports['qb-target']:AddBoxZone(name , loc, 1.5, 1.75, {name = name, minZ = loc.z-1.50,maxZ = loc.z +1.5},
{ options = data, distance = 2.5})
@@ -425,10 +452,17 @@ function AddSingleModel(model, data, num)
end
function AddMultiModel(model, data, num)
local options = {}
for k, v in pairs (data) do
table.insert(options,{
icon = v.icon, label = v.label, event = v.event or nil, action = v.action or nil,
onSelect = v.action,data = v.data,canInteract = v.canInteract or nil, distance = 2.0,
})
end
if Config.Target == 'qb' then
exports['qb-target']:AddTargetEntity(model, {options = data, distance = 2.5})
exports['qb-target']:AddTargetEntity(model, {options = options, distance = 2.5})
elseif Config.Target == 'ox' then
exports.ox_target:addLocalEntity(model, data)
exports.ox_target:addLocalEntity(model, options)
end
end
@@ -523,10 +557,25 @@ end
RegisterNetEvent('QBCore:Client:OnPlayerLoaded', function()
Wait(3000)
LoadModel('prop_plant_01b') TriggerEvent('heroin:init')
LoadModel('prop_plant_01a') TriggerEvent('coke:init')
LoadModel('prop_cactus_03') TriggerEvent('Mescaline:init')
LoadModel('mushroom') TriggerEvent('shrooms:init')
LoadModel('bkr_prop_weed_lrg_01b') TriggerEvent('weed:init')
local check = lib.callback.await('md-drugs:server:GetRep', false)
return
end)
AddEventHandler('onResourceStart', function(resource)
if resource == GetCurrentResourceName() then
LoadModel('prop_plant_01b') TriggerEvent('heroin:init')
LoadModel('prop_plant_01a') TriggerEvent('coke:init')
LoadModel('prop_cactus_03') TriggerEvent('Mescaline:init')
LoadModel('mushroom') TriggerEvent('shrooms:init')
LoadModel('bkr_prop_weed_lrg_01b') TriggerEvent('weed:init')
end
end)
local active = false
RegisterNetEvent('md-drugs:client:minusTier', function(data)
if active then return end
+31 -68
View File
@@ -2,6 +2,17 @@ local QBCore = exports['qb-core']:GetCoreObject()
local PoppyPlants = {}
local herointable = false
local function createLabKit(coord, head)
local heroinlabkit = CreateObject("v_ret_ml_tablea", coord.x, coord.y, coord.z - 1, true, false,false)
SetEntityHeading(heroinlabkit, head)
PlaceObjectOnGroundProperly(heroinlabkit)
local options = {
{ event = "md-drugs:client:heatliquidheroin", icon = "fa-solid fa-temperature-high", label = Lang.targets.heroin.cook, data = heroinlabkit},
{ event = "md-drugs:client:getheroinkitback", icon = "fas fa-box-circle-check", label = Lang.targets.heroin.up, data = heroinlabkit, canInteract = function() if herointable then return true end end},
}
AddMultiModel(heroinlabkit, options, heroinlabkit)
end
local function pickher(loc)
if not progressbar(Lang.Heroin.pick, 4000, 'uncuff') then return end
TriggerServerEvent("heroin:pickupCane", loc)
@@ -13,29 +24,24 @@ local Ped = "g_m_y_famdnf_01"
local labkitlocation = Config.buyheroinlabkit
local heroinkitdealer = CreatePed(0, Ped, labkitlocation.x, labkitlocation.y, labkitlocation.z-1, labkitlocation.w, false, false)
Freeze(heroinkitdealer, true, labkitlocation.w)
AddSingleModel(heroinkitdealer, { label = "Buy Heroin Lab Kit", icon = "fas fa-eye", event = "md-drugs:client:buyheroinlabkit", distance = 2.0}, nil )
AddSingleModel(heroinkitdealer, { label = Lang.targets.heroin.kit, icon = "fa-solid fa-money-bill", event = "md-drugs:client:buyheroinlabkit", distance = 2.0}, nil )
end)
---- plant spawns dont edit
RegisterNetEvent('heroin:respawnCane', function(loc)
local v = GlobalState.PoppyPlants[loc]
local hash = GetHashKey(v.model)
if not PoppyPlants[loc] then
PoppyPlants[loc] = CreateObject(hash, v.location, false, true, true)
Freeze(PoppyPlants[loc], true, v.heading)
AddSingleModel(PoppyPlants[loc], {icon = "fas fa-hand", label = "pick Poppies", action = function() pickher(loc) end}, loc )
AddSingleModel(PoppyPlants[loc], {icon = "fa-solid fa-seedling", label = Lang.targets.heroin.pick, action = function() pickher(loc) end}, loc )
end
end)
RegisterNetEvent('heroin:removeCane', function(loc)
if DoesEntityExist(PoppyPlants[loc]) then DeleteEntity(PoppyPlants[loc]) end
PoppyPlants[loc] = nil
end)
RegisterNetEvent("heroin:init", function()
for k, v in pairs (GlobalState.PoppyPlants) do
local hash = GetHashKey(v.model)
@@ -43,24 +49,11 @@ RegisterNetEvent("heroin:init", function()
if not v.taken then
PoppyPlants[k] = CreateObject(hash, v.location.x, v.location.y, v.location.z, false, true, true)
Freeze(PoppyPlants[k], true, v.heading)
AddSingleModel(PoppyPlants[k], {icon = "fas fa-hand", label = "pick Poppies", action = function() pickher(k) end}, k )
AddSingleModel(PoppyPlants[k], {icon = "fa-solid fa-seedling", label = Lang.targets.heroin.pick, action = function() pickher(k) end}, k )
end
end
end)
AddEventHandler('onResourceStart', function(resource)
if resource == GetCurrentResourceName() then
LoadModel('prop_plant_01b')
TriggerEvent('heroin:init')
end
end)
RegisterNetEvent('QBCore:Client:OnPlayerLoaded', function()
Wait(3000)
LoadModel('prop_plant_01b')
TriggerEvent('heroin:init')
end)
AddEventHandler('onResourceStop', function(resourceName)
if GetCurrentResourceName() == resourceName then
SetModelAsNoLongerNeeded(GetHashKey('prop_plant_01b'))
@@ -70,11 +63,7 @@ AddEventHandler('onResourceStart', function(resource)
end
end
end
DeleteObject(heroinlabkit)
DeleteObject(dirtylabkitheroin)
end)
---- plant stop end
RegisterNetEvent("md-drugs:client:dryplant", function(data)
if not progressbar(Lang.Heroin.dryout, 4000, 'uncuff') then return end
@@ -92,32 +81,22 @@ RegisterNetEvent("md-drugs:client:buyheroinlabkit", function()
TriggerServerEvent("md-drugs:server:getheroinlabkit")
end)
RegisterNetEvent("md-drugs:client:setheroinlabkit", function()
if herointable then
Notify(Lang.Heroin.tableout, 'error')
else
herointable = true
local location, head = StartRay()
if not location then herointable = false TriggerServerEvent('md-drugs:server:getheroinlabkitback') return end
if not progressbar(Lang.Heroin.table, 4000, 'uncuff') then TriggerServerEvent('md-drugs:server:getheroinlabkitback') return end
local heroinlabkit = CreateObject("v_ret_ml_tablea", location.x, location.y, location.z, true, false)
SetEntityHeading(heroinlabkit, head)
PlaceObjectOnGroundProperly(heroinlabkit)
local options = {
{ event = "md-drugs:client:heatliquidheroin", icon = "fas fa-box-circle-check", label = "Cook Heroin", data = heroinlabkit},
{ event = "md-drugs:client:getheroinkitback", icon = "fas fa-box-circle-check", label = "Pick Up", data = heroinlabkit, canInteract = function() if herointable then return true end end},
}
AddMultiModel(heroinlabkit, options, heroinlabkit)
end
if herointable then
Notify(Lang.Heroin.tableout, 'error')
else
herointable = true
local location, head = StartRay()
if not location then herointable = false TriggerServerEvent('md-drugs:server:getheroinlabkitback') return end
if not progressbar(Lang.Heroin.table, 4000, 'uncuff') then TriggerServerEvent('md-drugs:server:getheroinlabkitback') return end
createLabKit(location, head)
end
end)
RegisterNetEvent("md-drugs:client:heatliquidheroin", function(data)
local loc = GetEntityCoords(data.data)
local head = GetEntityHeading(data.data)
local loc, head = GetEntityCoords(data.data), GetEntityHeading(data.data)
if not ItemCheck('emptyvial') then return end
if not minigame(2, 8) then
if not minigame() then
TriggerServerEvent("md-drugs:server:failheatingheroin")
DeleteObject(data.data)
local dirtylabkitheroin = CreateObject("v_ret_ml_tablea", loc.x, loc.y, loc.z-1, true, false)
@@ -127,12 +106,9 @@ RegisterNetEvent("md-drugs:client:heatliquidheroin", function(data)
heroinkit = StartParticleFxLoopedOnEntity("exp_air_molotov", dirtylabkitheroin, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.5, false, false, false)
SetParticleFxLoopedAlpha(heroinkit, 3.0)
SetPedToRagdoll(PlayerPedId(), 1300, 1300, 0, 0, 0, 0)
local options = {
{ event = "md-drugs:client:cleanheroinlabkit", icon = "fas fa-box-circle-check", label = "Clean It", data = dirtylabkitheroin}
}
AddMultiModel(dirtylabkitheroin, options, nil )
AddMultiModel(dirtylabkitheroin, {{event = "md-drugs:client:cleanheroinlabkit",icon = "fa-solid fa-hand-sparkles",label = Lang.targets.heroin.clean, data = dirtylabkitheroin}}, nil )
return end
if not progressbar(Lang.Heroin.success, 4000, 'uncuff') then return end
if not progressbar(Lang.Heroin.success, 4000, 'uncuff') then return end
TriggerServerEvent("md-drugs:server:heatliquidheroin")
end)
@@ -144,21 +120,11 @@ RegisterNetEvent("md-drugs:client:cleanheroinlabkit", function(data)
end)
RegisterNetEvent("md-drugs:client:deletedirtyheroin", function(data)
local location = GetEntityCoords(data)
local head = GetEntityHeading(data)
local location,head = GetEntityCoords(data), GetEntityHeading(data)
DeleteObject(data)
local heroinlabkit = CreateObject("v_ret_ml_tablea", location.x, location.y, location.z-1, true, false)
SetEntityHeading(heroinlabkit, head)
PlaceObjectOnGroundProperly(heroinlabkit)
local options = {
{ event = "md-drugs:client:heatliquidheroin", icon = "fas fa-box-circle-check", label = "Cook Heroin", data = heroinlabkit},
{ event = "md-drugs:client:getheroinkitback", icon = "fas fa-box-circle-check", label = "Pick Up", data = heroinlabkit, canInteract = function() if herointable then return true end end},
}
AddMultiModel(heroinlabkit, options, heroinlabkit)
createLabKit(location, head)
end)
RegisterNetEvent("md-drugs:client:getheroinkitback", function(data)
if not progressbar(Lang.Heroin.pickup, 4000, 'uncuff') then return end
herointable = false
@@ -166,11 +132,8 @@ RegisterNetEvent("md-drugs:client:getheroinkitback", function(data)
TriggerServerEvent("md-drugs:server:getheroinlabkitback")
end)
RegisterNetEvent("md-drugs:client:fillneedle", function(data)
if not minigame(2, 8) then TriggerServerEvent("md-drugs:server:failheroin", data.data) return end
if not progressbar(Lang.Heroin.needles, 4000, 'uncuff') then return end
if not minigame() then TriggerServerEvent("md-drugs:server:failheroin", data.data) return end
if not progressbar(Lang.Heroin.needles, 4000, 'uncuff') then return end
TriggerServerEvent("md-drugs:server:fillneedle", data.data)
end)
+12 -15
View File
@@ -5,7 +5,7 @@ CreateThread(function()
lib.requestModel(current, Config.RequestModelTime)
local SyrupLocation = CreatePed(0, current,Config.SyrupVendor.x,Config.SyrupVendor.y,Config.SyrupVendor.z-1, Config.SyrupVendor.w, false, false)
Freeze(SyrupLocation, true, Config.SyrupVendor.w)
AddSingleModel(SyrupLocation, { type = "client", label = "Get Task", icon = "fas fa-eye", event = "md-drugs:client:getsyruplocationtobuy", distance = 2.0}, nil )
AddSingleModel(SyrupLocation, { type = "client", label = Lang.targets.lean.git, icon = "fa-solid fa-circle-info", event = "md-drugs:client:getsyruplocationtobuy", distance = 2.0}, nil )
end)
@@ -21,12 +21,8 @@ local items = lib.callback.await('md-drugs:server:GetRecipe', false,'lean', 'cup
for k, v in pairs (items) do
label = {}
local item = ''
for m, d in pairs (items[k].take) do
table.insert(label, GetLabel(m) .. ' X ' .. d)
end
for m,d in pairs (items[k].give) do
item = m
end
for m, d in pairs (items[k].take) do table.insert(label, GetLabel(m) .. ' X ' .. d) end
for m,d in pairs (items[k].give) do item = m end
store[#store + 1] = {
icon = GetImage(item),
description = table.concat(label, ", "),
@@ -34,22 +30,23 @@ for k, v in pairs (items) do
event = 'md-drugs:client:stirlean',
args = {
item = item,
recipe = 'weed',
recipe = 'lean',
num = k,
label = 'Cooking Up ' .. GetLabel(item),
table = 'edibles'
table = 'cups'
}
}
sorter(store, 'title')
lib.registerContext({id = 'leanCraft',title = "Make Lean", options = store})
end
lib.showContext('leanCraft')
end)
local busy = false
RegisterNetEvent('md-drugs:client:stirlean', function(data)
if busy then return end
busy = true
if not progressbar(data.label, 4000, 'uncuff') then busy = false return end
TriggerServerEvent('md-drugs:server:finishcup', data)
busy = false
if busy then return end
busy = true
if not progressbar(data.label, 4000, 'uncuff') then busy = false return end
TriggerServerEvent('md-drugs:server:finishcup', data)
busy = false
end)
+26 -42
View File
@@ -2,34 +2,37 @@ local QBCore = exports['qb-core']:GetCoreObject()
local tableout = false
local function loadParticle(dict)
if not HasNamedPtfxAssetLoaded(dict) then
RequestNamedPtfxAsset(dict)
end
while not HasNamedPtfxAssetLoaded(dict) do
Wait(0)
end
SetPtfxAssetNextCall(dict)
local function createLabKit(coord, head)
local labkit = CreateObject("v_ret_ml_tablea", coord.x, coord.y, coord.z - 1, true, false)
SetEntityHeading(labkit, head)
PlaceObjectOnGroundProperly(labkit)
local options = {
{ event = "md-drugs:client:heatliquid", icon = "fa-solid fa-temperature-high", label = Lang.targets.lsd.heat, data = labkit },
{ event = "md-drugs:client:refinequalityacid", icon = "fa-solid fa-temperature-high", label = Lang.targets.lsd.refine, data = labkit },
{ event = "md-drugs:client:maketabpaper", icon = "fa-regular fa-note-sticky", label = Lang.targets.lsd.dab, data = labkit },
{ event = "md-drugs:client:getlabkitback", icon = "fas fa-box-circle-check", label = Lang.targets.lsd.back, data = labkit, canInteract = function() return tableout end }
}
AddMultiModel(labkit, options, labkit)
end
CreateThread(function()
local Ped = "g_m_y_famdnf_01"
local Ped = "g_m_y_famdnf_01"
lib.requestModel(Ped, Config.RequestModelTime)
local tabdealer = CreatePed(0, Ped,Config.buylsdlabkit.x,Config.buylsdlabkit.y,Config.buylsdlabkit.z-1, Config.buylsdlabkit.w, false, false)
Freeze(tabdealer, true, Config.buylsdlabkit.w)
AddSingleModel(tabdealer,{ type = "client", label = "Buy LSD Lab Kit", icon = "fas fa-eye", event = "md-drugs:client:buylabkit", distance = 2.0}, tabdealer )
AddSingleModel(tabdealer,{ type = "client", label = Lang.targets.lsd.buy, icon = "fa-solid fa-money-bill", event = "md-drugs:client:buylabkit", distance = 2.0}, tabdealer )
end)
RegisterNetEvent("md-drugs:client:getlysergic", function(data)
if not minigame(2, 8) then return end
if not minigame() then return end
if not progressbar(Lang.lsd.steallys, 4000, 'uncuff') then return end
TriggerServerEvent("md-drugs:server:getlysergic",data.data)
end)
RegisterNetEvent("md-drugs:client:getdiethylamide", function(data)
if not minigame(2, 8) then return end
if not minigame() then return end
if not progressbar(Lang.lsd.stealdie, 4000, 'uncuff') then return end
TriggerServerEvent('md-drugs:server:getdiethylamide', data.data)
end)
@@ -43,16 +46,7 @@ else
local loc, head = StartRay()
if not loc then tableout = false TriggerServerEvent('md-drugs:server:getlabkitback') return end
if not progressbar(Lang.lsd.place, 4000, 'uncuff') then TriggerServerEvent('md-drugs:server:getlabkitback') return end
local labkit = CreateObject("v_ret_ml_tablea", loc.x, loc.y, loc.z-1, true, false)
SetEntityHeading(labkit, head)
PlaceObjectOnGroundProperly(labkit)
local options = {
{ event = "md-drugs:client:heatliquid", icon = "fas fa-box-circle-check", label = "Heat Liquid" , data = labkit, },
{ event = "md-drugs:client:refinequalityacid", icon = "fas fa-box-circle-check", label = "Refine", data = labkit, },
{ event = "md-drugs:client:maketabpaper", icon = "fas fa-box-circle-check", label = "Dab Sheets", data = labkit, },
{ event = "md-drugs:client:getlabkitback", icon = "fas fa-box-circle-check", label = "Pick Up", data = labkit, canInteract = function() if tableout then return true end end},
}
AddMultiModel(labkit, options, labkit)
createLabKit(loc, head)
end
end)
@@ -64,23 +58,21 @@ RegisterNetEvent("md-drugs:client:getlabkitback", function(data)
end)
RegisterNetEvent("md-drugs:client:heatliquid", function(data)
local PedCoords = GetEntityCoords(data.data)
dict = "scr_ie_svm_technical2"
local PedCoords, head = GetEntityCoords(data.data), GetEntityHeading(data.data)
local dict = "scr_ie_svm_technical2"
if not ItemCheck('lysergic_acid') then return end
if not ItemCheck('diethylamide') then return end
if not minigame(2, 8) then
if not minigame() then
TriggerServerEvent("md-drugs:server:failheating")
DeleteObject(data.data)
local dirtylabkit = CreateObject("v_ret_ml_tablea", PedCoords.x, PedCoords.y, PedCoords.z-1, true, false)
SetEntityHeading(dirtylabkit, head)
loadParticle(dict)
exitPtfx = StartParticleFxLoopedOnEntity("scr_dst_cocaine", dirtylabkit, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.5, false, false, false)
PlaceObjectOnGroundProperly(dirtylabkit)
SetParticleFxLoopedAlpha(exitPtfx, 3.0)
Wait(100)
local options = {
{ event = "md-drugs:client:cleanlabkit", icon = "fas fa-box-circle-check", label = "Clean It", data = dirtylabkit}
}
AddMultiModel(dirtylabkit, options, nil )
AddMultiModel(dirtylabkit, { event = "md-drugs:client:cleanlabkit", icon = "fa-solid fa-hand-sparkles", label = Lang.targets.lsd.clean, data = dirtylabkit}, nil )
return end
if not progressbar(Lang.lsd.heat, 7000, 'uncuff') then return end
TriggerServerEvent("md-drugs:server:heatliquid")
@@ -91,30 +83,22 @@ RegisterNetEvent("md-drugs:client:cleanlabkit", function(data)
if not progressbar(Lang.lsd.clean, 4000, 'clean') then return end
local check = lib.callback.await('md-drugs:server:removecleaningkit')
if check then
local coord = GetEntityCoords(data.data)
local coord, head = GetEntityCoords(data.data), GetEntityHeading(data.data)
DeleteObject(data.data)
local labkit = CreateObject("v_ret_ml_tablea", coord.x, coord.y, coord.z-1, true, false)
PlaceObjectOnGroundProperly(labkit)
local options = {
{ event = "md-drugs:client:heatliquid", icon = "fas fa-box-circle-check", label = "Heat Liquid" , data = labkit, },
{ event = "md-drugs:client:refinequalityacid", icon = "fas fa-box-circle-check", label = "Refine", data = labkit, },
{ event = "md-drugs:client:maketabpaper", icon = "fas fa-box-circle-check", label = "Dab Sheets", data = labkit, },
{ event = "md-drugs:client:getlabkitback", icon = "fas fa-box-circle-check", label = "Pick Up", data = labkit, canInteract = function() if tableout then return true end end},
}
AddMultiModel(labkit, options, labkit)
createLabKit(coord, head)
end
end)
RegisterNetEvent("md-drugs:client:refinequalityacid", function()
if not ItemCheck('lsd_one_vial') then return end
if not minigame(2, 8) then TriggerServerEvent("md-drugs:server:failrefinequality") return end
if not minigame() then TriggerServerEvent("md-drugs:server:failrefinequality") return end
if not progressbar(Lang.lsd.refine, 4000, 'uncuff') then return end
TriggerServerEvent("md-drugs:server:refinequalityacid")
end)
RegisterNetEvent("md-drugs:client:maketabpaper", function()
if not ItemCheck('tab_paper') then return end
if not minigame(2, 8) then TriggerServerEvent("md-drugs:server:failtabs") return end
if not minigame() then TriggerServerEvent("md-drugs:server:failtabs") return end
if not progressbar(Lang.lsd.dip, 4000, 'uncuff') then return end
TriggerServerEvent("md-drugs:server:maketabpaper")
end)
@@ -126,7 +110,7 @@ end)
RegisterNetEvent("md-drugs:client:buylabkit", function()
if QBCore.Functions.HasItem('lsdlabkit') then Notify('You Have One Idiot', 'error') return end
if QBCore.Functions.HasItem('lsdlabkit') then Notify(Lang.lsd.hav, 'error') return end
if not progressbar(Lang.lsd.buykit, 4000, 'uncuff') then return end
TriggerServerEvent("md-drugs:server:getlabkit")
end)
+13 -51
View File
@@ -1,36 +1,26 @@
local QBCore = exports['qb-core']:GetCoreObject()
local Mescaline = {}
function LoadModel(hash)
hash = GetHashKey(hash)
RequestModel(hash)
while not HasModelLoaded(hash) do
Wait(3000)
end
end
local function pick(loc)
if not progressbar(Lang.mescaline.pick, 4000, 'uncuff') then return end
TriggerServerEvent("Mescaline:pickupCane", loc)
end
RegisterNetEvent('Mescaline:respawnCane', function(loc)
local v = GlobalState.Mescaline[loc]
local hash = GetHashKey(v.model)
if not Mescaline[loc] then
Mescaline[loc] = CreateObject(hash, v.location, false, true, true)
Freeze(Mescaline[loc], true, v.heading)
AddSingleModel(Mescaline[loc], {icon = "fas fa-hand",label = "pick Cactus",action = function() pick(loc) end}, loc )
AddSingleModel(Mescaline[loc], {icon = "fa-solid fa-seedling",label = Lang.targets.mescaline.pick, action = function() pick(loc) end}, loc )
end
end)
RegisterNetEvent('Mescaline:removeCane', function(loc)
if DoesEntityExist(Mescaline[loc]) then DeleteEntity(Mescaline[loc]) end
Mescaline[loc] = nil
end)
RegisterNetEvent("Mescaline:init", function()
for k, v in pairs (GlobalState.Mescaline) do
local hash = GetHashKey(v.model)
@@ -38,25 +28,12 @@ RegisterNetEvent("Mescaline:init", function()
if not v.taken then
Mescaline[k] = CreateObject(hash, v.location.x, v.location.y, v.location.z, false, true, true)
Freeze(Mescaline[k], true, v.heading)
AddSingleModel(Mescaline[k], {icon = "fas fa-hand",label = "pick Cactus",action = function() pick(k) end}, k)
AddSingleModel(Mescaline[k], {icon = "fa-solid fa-seedling",label = Lang.targets.mescaline.pick,action = function() pick(k) end}, k)
end
end
end)
AddEventHandler('onResourceStart', function(resource)
if resource == GetCurrentResourceName() then
LoadModel('prop_cactus_03')
TriggerEvent('Mescaline:init')
end
end)
RegisterNetEvent('QBCore:Client:OnPlayerLoaded', function()
Wait(3000)
LoadModel('prop_cactus_03')
TriggerEvent('Mescaline:init')
end)
AddEventHandler('onResourceStop', function(resourceName)
AddEventHandler('onResourceStop', function(resourceName)
if GetCurrentResourceName() == resourceName then
SetModelAsNoLongerNeeded(GetHashKey('prop_cactus_03'))
for k, v in pairs(Mescaline) do
@@ -67,42 +44,27 @@ AddEventHandler('onResourceStart', function(resource)
end
end)
RegisterNetEvent("md-drugs:client:drymescaline", function()
if not ItemCheck('cactusbulb') then return end
if not progressbar(Lang.mescaline.dry, 4000, 'uncuff') then return end
TriggerServerEvent("md-drugs:server:drymescaline")
end)
RegisterNetEvent("md-drugs:client:takemescaline", function()
local chance = math.random(1,100)
local chance2 = math.random(1,100)
local chance, chance2 = math.random(1,100), math.random(1,100)
local weapon = ''
if chance2 == 100 then weapon = 'weapon_rpg' else weapon = 'weapon_flaregun' end
if not progressbar(Lang.mescaline.eat, 4000, 'uncuff') then return end
if chance <= Config.Badtrip then
AlienEffect()
clone = ClonePed(PlayerPedId(), false, false, true)
local clone = ClonePed(PlayerPedId(), false, false, true)
SetEntityAsMissionEntity(clone)
SetEntityVisible(clone, true)
SetPedRelationshipGroupHash(clone)
SetPedAccuracy(clone)
SetPedArmour(clone)
SetPedCanSwitchWeapon(clone, true)
SetPedFleeAttributes(clone, false)
if chance2 <= 99 then
GiveWeaponToPed(clone, "weapon_flaregun", 1, false, true)
TaskCombatPed(clone, PlayerPedId(), 0, 16)
SetPedCombatAttributes(clone, 46, true)
Wait(1000 * 30)
DeleteEntity(clone)
else
GiveWeaponToPed(clone, "weapon_rpg", 1, false, true)
TaskCombatPed(clone, PlayerPedId(), 0, 16)
SetPedCombatAttributes(clone, 46, true)
Wait(1000 * 30)
DeleteEntity(clone)
end
GiveWeaponToPed(clone, weapon, 1, false, true)
TaskCombatPed(clone, PlayerPedId(), 0, 16)
SetPedCombatAttributes(clone, 46, true)
Wait(1000 * 30)
DeleteEntity(clone)
else
AlienEffect()
end
+22 -13
View File
@@ -3,7 +3,6 @@ local amonia = nil
local tray = nil
local heated = nil
local active = nil
local function startcook()
if not ItemCheck('empty_weed_bag') then return end
if not ItemCheck('acetone') then return end
@@ -20,7 +19,7 @@ end
local function dials()
if amonia == true then
if not minigame(2, 8) then
if not minigame() then
AddExplosion(1005.773, -3200.402, -38.524, 49, 10, true, false, true, true)
ClearPedTasks(PlayerPedId())
amonia = nil
@@ -41,7 +40,17 @@ if tray then
Freeze(bucket, true, 90.0)
SmashMeth()
Wait(100)
AddSingleModel(bucket, {name = 'bucket',icon = 'fa-solid fa-car',label = 'Bag Meth',action = function() DeleteObject(bucket)amonia = nil heated = nil tray = nil active = nil BagMeth() TriggerServerEvent('md-drugs:server:getmeth')end,}, bucket)
AddSingleModel(bucket,
{name = 'bucket',icon = "fa-solid fa-sack-xmark",label = Lang.targets.meth.bag, canInteract = function() if active == nil then return false end end,
action = function()
active = nil
DeleteObject(bucket)
amonia = nil
heated = nil
tray = nil
BagMeth()
TriggerServerEvent('md-drugs:server:getmeth')
end,}, bucket)
end
end
@@ -73,35 +82,35 @@ CreateThread(function()
end)
CreateThread(function()
AddBoxZoneSingle("methTeleOut",Config.MethTeleIn, {name = 'teleout', icon = "fas fa-sign-in-alt", label = "Enter Building", action = function() SetEntityCoords(PlayerPedId(), Config.MethTeleOut) end} )
AddBoxZoneSingle("methtelein",Config.MethTeleOut, {name = 'teleout', icon = "fas fa-sign-in-alt", label = "Exit Building", action = function() SetEntityCoords(PlayerPedId(), Config.MethTeleIn) end} )
AddBoxZoneSingle("methTeleOut",Config.MethTeleIn, {name = 'teleout', icon = "fa-solid fa-door-open", label = Lang.targets.meth.enter, action = function() SetEntityCoords(PlayerPedId(), Config.MethTeleOut) end} )
AddBoxZoneSingle("methtelein",Config.MethTeleOut, {name = 'teleout', icon = "fa-solid fa-door-closed", label = Lang.targets.meth.exit, action = function() SetEntityCoords(PlayerPedId(), Config.MethTeleIn) end} )
local options = {
{ name = 'methcook', icon = "fas fa-sign-in-alt", label = "Cook Meth", distance = 2.5, action = function() startcook() end, onSelect = function() startcook() end,
{ name = 'methcook', icon = "fa-solid fa-temperature-high", label = Lang.targets.meth.cook, distance = 2.5, action = function() startcook() end,
canInteract = function()
if amonia == nil and active == nil then
return true
end
end,
},
{ name = 'grabtray', icon = "fas fa-sign-in-alt", label = "Grab Tray", distance = 2.5, onSelect = function() trayscarry() end, action = function() trayscarry() end,
{ name = 'grabtray', icon = "fas fa-sign-in-alt", label = Lang.targets.meth.tray, distance = 2.5, action = function() trayscarry() end,
canInteract = function()
if heated and amonia and tray == nil then return true end
end,
},
}
AddBoxZoneMultiOptions("cookmeth",vector3(1005.72, -3200.33, -38.52), options )
AddBoxZoneSingle('boxmeth', vector3(1012.15, -3194.04, -39.20), {name = 'boxmeth',icon = "fas fa-sign-in-alt",label = "Box Up Meth",action = function() smash()end,
AddBoxZoneSingle('boxmeth', vector3(1012.15, -3194.04, -39.20), {name = 'boxmeth',icon = "fas fa-sign-in-alt",label = Lang.targets.meth.box,action = function() smash()end,
canInteract = function()
if tray then return true end
end})
AddBoxZoneSingle('adjustdials',vector3(1007.89, -3201.17, -38.99),{ name = 'adjustdials', icon = "fas fa-sign-in-alt", label = "Adjust Dials", distance = 5, action = function() dials() end,
AddBoxZoneSingle('adjustdials',vector3(1007.89, -3201.17, -38.99),{ name = 'adjustdials', icon = "fas fa-sign-in-alt", label = Lang.targets.meth.adjust,
distance = 5, action = function() dials() end,
canInteract = function()
if amonia and heated == nil then return true end end
})
if Config.MethHeist == false then
AddBoxZoneMulti('methep', Config.MethEph, {icon = "fas fa-sign-in-alt", label = "Steal Ephedrine", event = 'md-drugs:client:stealeph'})
AddBoxZoneMulti('methace', Config.Methace, {icon = "fas fa-sign-in-alt", label = "Steal Acetone", event = 'md-drugs:client:stealace'})
AddBoxZoneMulti('methep', Config.MethEph, {icon = "fas fa-sign-in-alt", label = Lang.targets.meth.eph, event = 'md-drugs:client:stealeph'})
AddBoxZoneMulti('methace', Config.Methace, {icon = "fas fa-sign-in-alt", label = Lang.targets.meth.ace, event = 'md-drugs:client:stealace'})
end
end)
@@ -114,7 +123,7 @@ if not Config.MethHeist == false then
Freeze(methdealer, true, 220.0)
Wait(100)
AddSingleModel(methdealer,{
label = "Get Mission",
label = Lang.targets.meth.mission,
icon = "fas fa-eye",
action = function()
Notify(Lang.meth.mission, "success")
+5 -17
View File
@@ -1,18 +1,16 @@
local QBCore = exports['qb-core']:GetCoreObject()
local deliveryBlip = nil
local carryPackage = nil
RegisterNetEvent("md-drugs:client:GetOxyCar", function()
lib.requestModel("burrito3", Config.RequestModelTime)
local paid = lib.callback.await('md-drugs:server:payfortruck', false)
if not paid then return end
local oxycar = CreateVehicle("burrito3",Config.truckspawn.x, Config.truckspawn.y,Config.truckspawn.z, Config.truckspawn.h, true, false)
local oxycar = CreateVehicle("burrito3",Config.truckspawn.x, Config.truckspawn.y,Config.truckspawn.z, Config.truckspawn.w, true, false)
exports[Config.Fuel]:SetFuel(oxycar, 100.0)
TriggerEvent("vehiclekeys:client:SetOwner", QBCore.Functions.GetPlate(oxycar))
Notify(Lang.oxy.truck, 'success')
TriggerEvent("md-drugs:client:getoxylocationroute")
SetVehicleEngineOn(oxycar, true, true)
AddSingleModel(oxycar, { event = "md-drugs:client:getfromtrunk", icon = "fas fa-box-circle-check", label = "Get Package"}, nil )
AddSingleModel(oxycar, { event = "md-drugs:client:getfromtrunk", icon = "fas fa-box-circle-check", label = Lang.targets.oxy.pack}, nil )
end)
@@ -20,16 +18,7 @@ end)
RegisterNetEvent("md-drugs:client:getoxylocationroute", function()
local CurrentLocation = Config.oxylocations[math.random(#Config.oxylocations)]
if CurrentLocation ~= nil then
local deliveryBlip = AddBlipForCoord(CurrentLocation)
SetBlipSprite(deliveryBlip, 1)
SetBlipDisplay(deliveryBlip, 2)
SetBlipScale(deliveryBlip, 1.0)
SetBlipAsShortRange(deliveryBlip, false)
SetBlipColour(deliveryBlip, 27)
BeginTextCommandSetBlipName("STRING")
AddTextComponentSubstringPlayerName(text)
EndTextCommandSetBlipName(deliveryBlip)
SetBlipRoute(deliveryBlip, true)
SetNewWaypoint(CurrentLocation.x, CurrentLocation.y)
local current = "g_m_y_famdnf_01"
lib.requestModel(current, Config.RequestModelTime)
local oxybuyer = CreatePed(0, current,CurrentLocation.x,CurrentLocation.y,CurrentLocation.z-1, CurrentLocation.w, false, false)
@@ -37,9 +26,9 @@ RegisterNetEvent("md-drugs:client:getoxylocationroute", function()
repeat
Wait(1000)
until #(GetEntityCoords(PlayerPedId()) - vector3(CurrentLocation.x,CurrentLocation.y,CurrentLocation.z)) < 5.0
RemoveBlip(deliveryBlip)
PoliceCall(Config.PoliceAlertOxy)
AddSingleModel(oxybuyer, { type = "client", label = "Talk To Buyer", icon = "fas fa-eye",
AddSingleModel(oxybuyer, { type = "client", label = Lang.targets.oxy.talk, icon = "fas fa-eye",
action = function()
if carryPackage then
if not progressbar(Lang.oxy.hand, 4000, 'uncuff') then return end
@@ -78,7 +67,6 @@ end)
RegisterNetEvent("md-drugs:client:giveoxybox", function(data)
if carryPackage then
if not progressbar(Lang.oxy.hand, 4000, 'uncuff') then return end
TriggerServerEvent("md-drugs:server:giveoxybox")
+5 -22
View File
@@ -1,15 +1,16 @@
local QBCore = exports['qb-core']:GetCoreObject()
RegisterNetEvent("md-drugs:client:prescriptionpad", function(args)
local icon, event = 'fa-solid fa-file-prescription', 'md-drugs:client:writeprescription'
if QBCore.Functions.GetPlayerData().job.type == Config.PharmaJob then
lib.registerContext({
id = 'prescriptionpad',
title = "Prescription Pad",
options = {
{title = 'Give Vics', description = 'Give Vics ', icon = 'fa-solid fa-file-prescription', event = 'md-drugs:client:writeprescription', args = {item = 'vicodin_prescription'}},
{title = 'Give Madderal', description = 'Give Madderal ', icon = 'fa-solid fa-file-prescription', event = 'md-drugs:client:writeprescription', args = {item = 'adderal_prescription'}},
{title = 'Give Morphin',description = 'Give Morphin ',icon = 'fa-solid fa-file-prescription', event = 'md-drugs:client:writeprescription', args = {item = 'morphine_prescription'}},
{title = 'Give Zany', description = 'Give Zany ', icon = 'fa-solid fa-file-prescription', event = 'md-drugs:client:writeprescription', args = {item = 'xanax_prescription'} },
{title = 'Give Vics', description = 'Give Vics ', icon = icon, event = event, args = {item = 'vicodin_prescription'}},
{title = 'Give Madderal', description = 'Give Madderal ', icon = icon, event = event, args = {item = 'adderal_prescription'}},
{title = 'Give Morphin', description = 'Give Morphin ', icon = icon, event = event, args = {item = 'morphine_prescription'}},
{title = 'Give Zany', description = 'Give Zany ', icon = icon, event = event, args = {item = 'xanax_prescription'} },
}
})
lib.showContext('prescriptionpad')
@@ -18,20 +19,16 @@ else
end
end)
RegisterNetEvent("md-drugs:client:writeprescription", function(args)
if not progressbar(Lang.Pharma.write, 4000, 'notepad') then return end
TriggerServerEvent("md-drugs:server:giveprescription", args.item)
end)
RegisterNetEvent("md-drugs:client:fillprescription", function(data)
if not progressbar(Lang.Pharma.fill, 4000, 'uncuff') then return end
TriggerServerEvent("md-drugs:server:fillprescription", data.data)
end)
RegisterNetEvent("md-drugs:client:unbottle", function(item)
if not progressbar(Lang.Pharma.open, 4000, 'uncuff') then return end
if item.name == 'vicodinbottle' then item = 'vicodin' end
@@ -40,17 +37,3 @@ RegisterNetEvent("md-drugs:client:unbottle", function(item)
if item.name == 'xanaxbottle' then item = 'xanax' end
TriggerServerEvent('md-drugs:server:unbottle', item)
end)
RegisterNetEvent('md-drugs:client:takepharma', function(itemName)
if not progressbar(Lang.Pharma.consume, 1000, 'eat') then return end
if itemName == "vicodin" then
exports['ps-buffs']:AddHealthBuff(10000, 20)
elseif itemName == "adderal" then
exports['ps-buffs']:StaminaBuffEffect(5000, 1.3)
elseif itemName == "xanax" then
exports['ps-buffs']:AddStressBuff(10000, 25)
else
exports['ps-buffs']:AddHealthBuff(10000, 40)
end
end)
+12 -27
View File
@@ -1,34 +1,27 @@
local QBCore = exports['qb-core']:GetCoreObject()
local shrooms = {}
function LoadModel(hash)
hash = GetHashKey(hash)
RequestModel(hash)
while not HasModelLoaded(hash) do
Wait(3000)
end
end
local function pick(loc)
if not progressbar(Lang.Shrooms.pick, 4000, 'uncuff') then return end
TriggerServerEvent("shrooms:pickupCane", loc)
end
function LoadModel(hash)
RequestModel(hash)
while not HasModelLoaded(hash) do
Wait(0)
end
end
RegisterNetEvent('shrooms:respawnCane', function(loc)
local v = GlobalState.shrooms[loc]
local hash = GetHashKey(v.model)
if not shrooms[loc] then
shrooms[loc] = CreateObject(hash, v.location, false, true, true)
Freeze(shrooms[loc], true, v.heading)
AddSingleModel(shrooms[loc],{ icon = "fas fa-hand", label = "pick shrooms", action = function() pick(loc) end }, loc )
AddSingleModel(shrooms[loc],{ icon = "fas fa-hand", label = Lang.targets.shrooms.pick, action = function() pick(loc) end }, loc )
end
end)
AddEventHandler('onResourceStart', function(resource)
if resource == GetCurrentResourceName() then
Wait(3000)
LoadModel('mushroom')
TriggerEvent('shrooms:init')
end
end)
AddEventHandler('onResourceStop', function(resourceName)
if GetCurrentResourceName() == resourceName then
@@ -46,26 +39,18 @@ RegisterNetEvent('shrooms:removeCane', function(loc)
shrooms[loc] = nil
end)
RegisterNetEvent('QBCore:Client:OnPlayerLoaded', function()
Wait(3000)
LoadModel('mushroom')
TriggerEvent('shrooms:init')
end)
RegisterNetEvent("shrooms:init", function()
RegisterNetEvent("shrooms:init", function()
for k, v in pairs (GlobalState.shrooms) do
local hash = GetHashKey(v.model)
if not HasModelLoaded(hash) then LoadModel(hash) end
lib.requestModel(v.model, Config.RequestModelTime)
if not v.taken then
shrooms[k] = CreateObject(hash, v.location.x, v.location.y, v.location.z, false, true, true)
Freeze(shrooms[k], true, v.heading)
AddSingleModel(shrooms[k],{ icon = "fas fa-hand", label = "pick shrooms", action = function() pick(k) end }, k )
AddSingleModel(shrooms[k],{ icon = "fas fa-hand", label = Lang.targets.shrooms.pick, action = function() pick(k) end }, k )
end
end
end)
RegisterNetEvent('md-drugs:client:takeshrooms', function()
if not progressbar(Lang.Shrooms.eat, 500, 'eat') then return end
TriggerEvent("evidence:client:SetStatus", "widepupils", 300)
+20 -20
View File
@@ -1,23 +1,23 @@
local QBCore = exports['qb-core']:GetCoreObject()
local icon = "fa solid fa-eye"
CreateThread(function()
AddBoxZoneMulti('makepowder', Config.MakePowder, { type = "client", event = "md-drugs:client:makepowder", icon = "fas fa-sign-in-alt", label = "chop it up"}) -- coke
AddBoxZoneSingle('telecokein', Config.CokeTeleIn, {name = 'teleout',icon = "fas fa-sign-in-alt",label = "Enter Building",action = function() tele(Config.CokeTeleOut) end,}) -- coke
AddBoxZoneSingle('telecokeout', Config.CokeTeleOut, {name = 'teleout',icon = "fas fa-sign-in-alt",label = "Exit Building",action = function() tele(Config.CokeTeleIn) end,}) -- coke
AddBoxZoneMulti('steallysergic', Config.lysergicacid, { type = "client", event = "md-drugs:client:getlysergic", icon = "fas fa-sign-in-alt", label = "stealing Lysergic"}) -- lsd
AddBoxZoneMulti('stealdiethylamide', Config.diethylamide, {type = "client", event = "md-drugs:client:getdiethylamide", icon = "fas fa-sign-in-alt", label = "stealing Diethylamide"}) -- lsd
AddBoxZoneMulti('gettabs', Config.gettabs, {type = "client", event = "md-drugs:client:buytabs", icon = "fas fa-sign-in-alt", label = "Buy Tabs"}) -- lsd
AddBoxZoneMulti('dryheroin', Config.dryplant, {type = "client",event = "md-drugs:client:dryplant", icon = "fas fa-sign-in-alt", label = "Dry Poppies"}) -- heroin
AddBoxZoneMulti('cutheroin', Config.cutheroinone, {type = "client", event = "md-drugs:client:cutheroin", icon = "fas fa-sign-in-alt", label = "Cut Heroin"}) -- heroin
AddBoxZoneMulti('fillneedle', Config.fillneedle, {type = "client", event = "md-drugs:client:fillneedle", icon = "fas fa-sign-in-alt", label = "Fill Needles"}) -- heroin
AddBoxZoneMulti('makecrack', Config.makecrack, {type = "client", event = "md-drugs:client:makecrackone", icon = "fas fa-sign-in-alt", label = "Cook Crack"}) -- crack
AddBoxZoneMulti('bagcrack', Config.bagcrack, {type = "client", event = "md-drugs:client:bagcrack", icon = "fas fa-sign-in-alt", label = "Bag Crack"}) -- crack
AddBoxZoneMulti('fillprescription', Config.FillPrescription, {type = "client", event = "md-drugs:client:fillprescription", icon = "fas fa-sign-in-alt", label = "Fill Prescription"}) -- pharma
AddBoxZoneSingle('payfortruck', Config.Payfortruck, { event = "md-drugs:client:GetOxyCar", icon = "fas fa-sign-in-alt", label = "Pay For Truck"}) -- oxy runs
AddBoxZoneSingle('drymescaline', Config.DryOut, { type = "client", event = "md-drugs:client:drymescaline", icon = "fas fa-sign-in-alt", label = "Dry Out"}) -- mescaline
AddBoxZoneMulti('stealisosafrole', Config.isosafrole, {type = "client", event = "md-drugs:client:stealisosafrole", icon = "fas fa-sign-in-alt", label = "Steal Isosafrole"}) -- xtc
AddBoxZoneMulti('stealmdp2p', Config.mdp2p, {type = "client", event = "md-drugs:client:stealmdp2p", icon = "fas fa-sign-in-alt", label = "Steal MDP2P"}) -- xtc
AddBoxZoneMulti('rawxtcloc', Config.rawxtcloc, {type = "client", event = "md-drugs:client:makingrawxtc", icon = "fas fa-sign-in-alt", label = "Make Raw XTC"}) -- xtc
AddBoxZoneSingle('buypress', Config.buypress, { type = "client",event = "md-drugs:client:buypress", icon = 'fas fa-eye', label = 'Buy Press'}) -- xtc
AddBoxZoneMulti('stamp', Config.stamp, {type = "client", event = "md-drugs:client:stampwhite", icon = 'fas fa-eye', label = 'Stamp Pills'}) -- xtc
AddBoxZoneSingle('telecokein', Config.CokeTeleIn, {action = function()tele(Config.CokeTeleOut)end, icon = 'fa-solid fa-door-open', label = Lang.targets.coke.enter}) -- coke
AddBoxZoneSingle('telecokeout', Config.CokeTeleOut, {action = function()tele(Config.CokeTeleIn) end, icon = "fa-solid fa-door-closed", label = Lang.targets.coke.exit}) -- coke
AddBoxZoneMulti('makepowder', Config.MakePowder, {event = "md-drugs:client:makepowder", icon = "fa-solid fa-scissors", label = Lang.targets.coke.chop}) -- coke
AddBoxZoneMulti('steallysergic', Config.lysergicacid, {event = "md-drugs:client:getlysergic", icon = icon, label = Lang.targets.lsd.lys}) -- lsd
AddBoxZoneMulti('stealdiethylamide', Config.diethylamide, {event = "md-drugs:client:getdiethylamide", icon = icon, label = Lang.targets.lsd.die}) -- lsd
AddBoxZoneMulti('gettabs', Config.gettabs, {event = "md-drugs:client:buytabs", icon = icon, label = Lang.targets.lsd.buyt}) -- lsd
AddBoxZoneMulti('dryheroin', Config.dryplant, {event = "md-drugs:client:dryplant", icon = icon, label = Lang.targets.heroin.dry}) -- heroin
AddBoxZoneMulti('cutheroin', Config.cutheroinone, {event = "md-drugs:client:cutheroin", icon = icon, label = Lang.targets.heroin.cut}) -- heroin
AddBoxZoneMulti('fillneedle', Config.fillneedle, {event = "md-drugs:client:fillneedle", icon = icon, label = Lang.targets.heroin.fill}) -- heroin
AddBoxZoneMulti('makecrack', Config.makecrack, {event = "md-drugs:client:makecrackone", icon = icon, label = Lang.targets.crack.cook}) -- crack
AddBoxZoneMulti('bagcrack', Config.bagcrack, {event = "md-drugs:client:bagcrack", icon = icon, label = Lang.targets.crack.bag}) -- crack
AddBoxZoneMulti('fillprescription', Config.FillPrescription, {event = "md-drugs:client:fillprescription", icon = icon, label = Lang.targets.pha.fill}) -- pharma
AddBoxZoneSingle('payfortruck', Config.Payfortruck, {event = "md-drugs:client:GetOxyCar", icon = icon, label = Lang.targets.oxy.pay}) -- oxy runs
AddBoxZoneSingle('drymescaline', Config.DryOut, {event = "md-drugs:client:drymescaline", icon = icon, label = Lang.targets.mescaline.dry}) -- mescaline
AddBoxZoneMulti('stealisosafrole', Config.isosafrole, {event = "md-drugs:client:stealisosafrole", icon = icon, label = Lang.targets.xtc.iso}) -- xtc
AddBoxZoneMulti('stealmdp2p', Config.mdp2p, {event = "md-drugs:client:stealmdp2p", icon = icon, label = Lang.targets.xtc.mdp}) -- xtc
AddBoxZoneMulti('rawxtcloc', Config.rawxtcloc, {event = "md-drugs:client:makingrawxtc", icon = icon, label = Lang.targets.xtc.raw}) -- xtc
AddBoxZoneSingle('buypress', Config.buypress, {event = "md-drugs:client:buypress", icon = icon, label = Lang.targets.xtc.press}) -- xtc
AddBoxZoneMulti('stamp', Config.stamp, {event = "md-drugs:client:stampwhite", icon = icon, label = Lang.targets.xtc.stamp}) -- xtc
end)
+5 -39
View File
@@ -7,43 +7,9 @@ local current = "g_m_y_famdnf_01"
local CurrentLocation = Config.Travellingmerchant[num]
local travellingmerchant = CreatePed(0, current,CurrentLocation.x,CurrentLocation.y,CurrentLocation.z-1, CurrentLocation.w, false, false)
Freeze(travellingmerchant, true, CurrentLocation.w)
AddSingleModel(travellingmerchant, { label = "Travelling Merchant", icon = "fas fa-eye", action = function() lib.showContext('travellingmerchant') end}, nil)
end)
CreateThread(function()
local ShopMenu = {}
for k, v in pairs (Config.Items.items) do
ShopMenu[#ShopMenu + 1] = {
icon = GetImage(v.name),
description = '$'.. v.price,
title = GetLabel(v.name),
event = "md-drugs:client:travellingmerchantox",
args = {
item = v.name,
cost = v.price,
amount = v.amount,
table = Config.Items.items,
num = k
}
}
lib.registerContext({id = 'travellingmerchant',title = "Travelling Merchant", options = ShopMenu})
end
end)
RegisterNetEvent("md-drugs:client:travellingmerchantox", function(data)
local price = data.cost
local settext = "Amnt: "..data.amount.." | Cost: "..price or "Cost: "..price
local max = data.amount
local dialog = exports.ox_lib:inputDialog(data.item .."!", {
{ type = 'select', label = "Payment Type", default = "cash",
options = {
{ value = "cash"},
{ value = "bank"},
}
},
{ type = 'number', label = "Amount to buy", description = settext, min = 0, max = max, default = 1 },
})
if data.cost == "Free" then data.cost = 0 end
TriggerServerEvent("md-drugs:server:travellingmerchantox", dialog[2], dialog[1], data.item, data.cost, data.table, data.num )
AddSingleModel(travellingmerchant, { label = Lang.targets.travel.travel, icon = "fas fa-eye",
action = function()
makeMenu('travellingMerchant')
lib.showContext('travellingMerchant')
end}, nil)
end)
+68 -170
View File
@@ -1,24 +1,15 @@
local QBCore = exports['qb-core']:GetCoreObject()
local WeedPlant = {}
local exploded = nil
local drying = false
function LoadModel(hash)
hash = GetHashKey(hash)
RequestModel(hash)
while not HasModelLoaded(hash) do
Wait(3000)
end
end
local exploded, drying = false, false
local function hasJob()
if Config.Joblock then
if QBCore.Functions.GetPlayerData().job.name == Config.weedjob then
return true else return false end
return true else return false end
else
return true end
end
RegisterNetEvent('weed:respawnCane', function(loc)
local v = GlobalState.WeedPlant[loc]
local hash = GetHashKey(v.model)
@@ -27,14 +18,9 @@ RegisterNetEvent('weed:respawnCane', function(loc)
WeedPlant[loc] = CreateObject(hash, v.location.x, v.location.y, v.location.z-3.5, false, true, true)
Freeze(WeedPlant[loc],true, v.heading)
AddSingleModel(WeedPlant[loc],
{
icon = "fas fa-hand",
label = "Pick Weed",
action = function()
if not progressbar(Lang.Weed.pick, 4000, 'uncuff') then return end
TriggerServerEvent("weed:pickupCane", loc)
end
}, loc)
{icon = "fas fa-hand",label = Lang.targets.weed.pick,
action = function()if not progressbar(Lang.Weed.pick, 4000, 'uncuff') then return end TriggerServerEvent("weed:pickupCane", loc) end},
loc)
end
end)
@@ -51,30 +37,13 @@ RegisterNetEvent("weed:init", function()
WeedPlant[k] = CreateObject(hash, v.location.x, v.location.y, v.location.z-3.5, false, true, true)
Freeze(WeedPlant[k],true, v.heading)
AddSingleModel(WeedPlant[k],
{
icon = "fas fa-hand",
label = "Pick Weed",
action = function()
if not progressbar(Lang.Weed.pick, 4000, 'uncuff') then return end
TriggerServerEvent("weed:pickupCane", k)
end
}, k)
{icon = "fas fa-hand",label = Lang.targets.weed.pick,
action = function()if not progressbar(Lang.Weed.pick, 4000, 'uncuff') then return end TriggerServerEvent("weed:pickupCane", k) end},
k)
end
end
end)
AddEventHandler('onResourceStart', function(resource)
if resource == GetCurrentResourceName() then
LoadModel('bkr_prop_weed_lrg_01b')
TriggerEvent('weed:init')
end
end)
RegisterNetEvent('QBCore:Client:OnPlayerLoaded', function()
Wait(3000)
LoadModel('bkr_prop_weed_lrg_01b')
TriggerEvent('weed:init')
end)
AddEventHandler('onResourceStop', function(resourceName)
if GetCurrentResourceName() == resourceName then
SetModelAsNoLongerNeeded(GetHashKey('bkr_prop_weed_lrg_01b'))
@@ -90,7 +59,7 @@ CreateThread(function()
AddBoxZoneMulti('weeddry', Config.WeedDry, {
name = 'dryweed',
icon = "fas fa-sign-in-alt",
label = "Dry Weed",
label = Lang.targets.weed.dry,
distance = 1,
action = function()
if not ItemCheck('wetcannabis') then return end
@@ -101,12 +70,12 @@ CreateThread(function()
local weedplant = CreateObject("bkr_prop_weed_drying_01a", loc.x, loc.y+.2, loc.z, true, false)
drying = true
FreezeEntityPosition(weedplant, true)
Notify("Wait A little Bit To Dry", "success")
Notify(Lang.Weed.wait, "success")
Wait(math.random(1000,5000))
Notify("Take Down The Weed", "success")
Notify(Lang.Weed.take, "success")
AddSingleModel(weedplant, {
icon = "fas fa-sign-in-alt",
label = "Pick Up Weed",
label = Lang.targets.weed.dpick,
action = function()
DeleteEntity(weedplant)
drying = false
@@ -121,38 +90,38 @@ CreateThread(function()
if hasJob() then return true end end
})
AddBoxZoneSingle('teleinweedout', Config.Teleout, { name = 'teleout', icon = "fas fa-sign-in-alt", label = "Enter Building", distance = 2.0, action = function() SetEntityCoords(PlayerPedId(),Config.Telein) end,
AddBoxZoneSingle('teleinweedout', Config.Teleout, { name = 'teleout', icon = "fas fa-sign-in-alt", label = Lang.targets.coke.exit, distance = 2.0, action = function() SetEntityCoords(PlayerPedId(),Config.Telein) end,
canInteract = function() if hasJob() then return true end end
})
AddBoxZoneSingle('teleinweedin', Config.Telein, { name = 'teleout', icon = "fas fa-sign-in-alt", label = "Exit Building", distance = 2.0, action = function() SetEntityCoords(PlayerPedId(),Config.Teleout) end,
AddBoxZoneSingle('teleinweedin', Config.Telein, { name = 'teleout', icon = "fas fa-sign-in-alt", label = Lang.targets.coke.enter, distance = 2.0, action = function() SetEntityCoords(PlayerPedId(),Config.Teleout) end,
canInteract = function() if hasJob() then return true end end
})
AddBoxZoneSingle('MakeButterCrafting', Config.MakeButter, {label = 'Open Butter Menu', action = function() lib.showContext('ButterCraft') end, icon = "fas fa-sign-in-alt",
AddBoxZoneSingle('MakeButterCrafting', Config.MakeButter, {label = Lang.targets.weed.butt, action = function() lib.showContext('ButterCraft') end, icon = "fas fa-sign-in-alt",
canInteract = function() if hasJob() then return true end end
})
AddBoxZoneSingle('makeoil',Config.MakeOil, {
name = 'Oil',
icon = "fas fa-sign-in-alt",
label = "Make Oil",
label = Lang.targets.weed.oil,
action = function()
if not ItemCheckMulti({'butane', 'grindedweed'}) then return end
if not minigame(2, 8) then
if not minigame() then
local explosion = math.random(1,100)
local loc = GetEntityCoords(PlayerPedId())
if explosion <= 99 then
AddExplosion(loc.x, loc.y, loc.z, 49, 10, true, false, true, true)
exploded = true
Notify(Lang.Weed.stovehot, "error")
Wait(1000 * 30)
exploded = nil
end
local loc = GetEntityCoords(PlayerPedId())
if explosion <= 99 then
AddExplosion(loc.x, loc.y, loc.z, 49, 10, true, false, true, true)
exploded = true
Notify(Lang.Weed.stovehot, "error")
Wait(1000 * 30)
exploded = false
end
return end
if not progressbar(Lang.Weed.shat, 4000, 'uncuff') then return end
TriggerServerEvent("md-drugs:server:makeoil")
end,
canInteract = function()
if hasJob() and exploded == nil then return true end
if hasJob() and exploded == false then return true end
end,
} )
end)
@@ -163,20 +132,14 @@ CreateThread(function()
BikerWeedFarm.Security.Set(BikerWeedFarm.Security.upgrade)
BikerWeedFarm.Details.Enable(BikerWeedFarm.Details.chairs, true)
BikerWeedFarm.Details.Enable({BikerWeedFarm.Details.production, BikerWeedFarm.Details.chairs, BikerWeedFarm.Details.drying}, true)
BikerWeedFarm.Plant1.Clear(false)
BikerWeedFarm.Plant2.Clear(false)
BikerWeedFarm.Plant3.Clear(false)
BikerWeedFarm.Plant4.Clear(false)
BikerWeedFarm.Plant5.Clear(false)
BikerWeedFarm.Plant6.Clear(false)
BikerWeedFarm.Plant7.Clear(false)
BikerWeedFarm.Plant8.Clear(false)
BikerWeedFarm.Plant9.Clear(false)
BikerWeedFarm.Plant1.Clear(false) BikerWeedFarm.Plant2.Clear(false) BikerWeedFarm.Plant3.Clear(false)
BikerWeedFarm.Plant4.Clear(false) BikerWeedFarm.Plant5.Clear(false) BikerWeedFarm.Plant6.Clear(false)
BikerWeedFarm.Plant7.Clear(false) BikerWeedFarm.Plant8.Clear(false) BikerWeedFarm.Plant9.Clear(false)
RefreshInterior(BikerWeedFarm.interiorId)
stove = CreateObject("prop_cooker_03",vector3(1045.49, -3198.46, -38.15-1), true, false)
local stove = CreateObject("prop_cooker_03",vector3(1045.49, -3198.46, -38.15-1), true, false)
SetEntityHeading(stove, 270.00)
FreezeEntityPosition(stove, true)
stove2 = CreateObject("prop_cooker_03",vector3(1038.90, -3198.66, -38.17-1), true, false)
local stove2 = CreateObject("prop_cooker_03",vector3(1038.90, -3198.66, -38.17-1), true, false)
SetEntityHeading(stove2, 90.00)
FreezeEntityPosition(stove2, true)
end)
@@ -196,113 +159,48 @@ AlienEffect()
end)
CreateThread(function()
local WeedShop = {}
local current = "u_m_m_jesus_01"
local current = "u_m_m_jesus_01"
lib.requestModel(current, Config.RequestModelTime)
local CurrentLocation = Config.WeedSaleman
local WeedGuy = CreatePed(0,current,CurrentLocation.x,CurrentLocation.y,CurrentLocation.z-1, CurrentLocation.h, false, false)
Freeze(WeedGuy, true, CurrentLocation.h)
AddSingleModel(WeedGuy, {label = "Weed Shop",icon = "fas fa-eye",action = function() lib.showContext('WeedShop')end}, nil)
for k, v in pairs (Config.Weed.items) do
WeedShop[#WeedShop + 1] = {
icon = GetImage(v.name),
title = GetLabel(v.name),
description = '$'.. v.price,
event = "md-drugs:client:travellingmerchantox",
args = {
item = v.name,
cost = v.price,
amount = v.amount,
table = Config.Weed.items,
num = k,
}
}
lib.registerContext({id = 'WeedShop',title = "Weed Shop", options = WeedShop})
end
local WeedGuy = CreatePed(0,current,CurrentLocation.x,CurrentLocation.y,CurrentLocation.z-1, CurrentLocation.w, false, false)
Freeze(WeedGuy, true, CurrentLocation.w)
AddSingleModel(WeedGuy, {label = "Weed Shop",icon = "fas fa-eye", action = function() makeMenu('WeedShop') lib.showContext('WeedShop')end}, nil)
end)
CreateThread(function()
local items = lib.callback.await('md-drugs:server:GetRecipe', false,'weed', 'edibles')
local items2 = lib.callback.await('md-drugs:server:GetRecipe', false,'weed', 'blunts')
local items3 = lib.callback.await('md-drugs:server:GetRecipe', false,'weed', 'bluntwrap')
local craft = {}
local blunt = {}
local bluntwrap = {}
local label = {}
for k, v in pairs (items) do
label = {}
local item = ''
for m, d in pairs (items[k].take) do
table.insert(label, GetLabel(m) .. ' X ' .. d)
end
for m,d in pairs (items[k].give) do
item = m
end
craft[#craft + 1] = {
icon = GetImage(item),
description = table.concat(label, ", "),
title = GetLabel(item),
event = "md-drugs:client:MakeWeedItems",
args = {
item = item,
recipe = 'weed',
num = k,
label = 'Cooking Up ' .. GetLabel(item),
table = 'edibles'
local function createBluntOptions(contextId, contextTitle, eventLabelPrefix, tableName)
local options = {}
local items = lib.callback.await('md-drugs:server:GetRecipe', false,'weed',tableName)
for k, v in pairs(items) do
local label = {}
local item = ''
for m, d in pairs(v.take) do table.insert(label, GetLabel(m) .. ' X ' .. d) end
for m, d in pairs(v.give) do item = m end
options[#options + 1] = {
icon = GetImage(item),
description = table.concat(label, ", "),
title = GetLabel(item),
event = "md-drugs:client:MakeWeedItems",
args = {
item = item,
recipe = 'weed',
num = k,
label = eventLabelPrefix .. GetLabel(item),
table = tableName
}
}
end
sorter(options, 'title')
lib.registerContext({
id = contextId,
title = contextTitle,
options = options
})
end
}
}
lib.registerContext({id = 'ButterCraft',title = "Edible Cooking", options = craft})
end
for k, v in pairs (items2) do
label = {}
local item = ''
for m, d in pairs (items2[k].take) do
table.insert(label, GetLabel(m) .. ' X ' .. d)
end
for m, d in pairs (items2[k].give) do
item = m
end
blunt[#blunt + 1] = {
icon = GetImage(item),
description = table.concat(label, ", "),
title = GetLabel(item),
event = "md-drugs:client:MakeWeedItems",
args = {
item = item,
recipe = 'weed',
num = k,
label = 'Rolling A ' .. GetLabel(item),
table = 'blunts'
}
}
lib.registerContext({id = 'mddrugsblunts',title = "Roll Blunts", options = blunt})
end
for k, v in pairs (items3) do
label = {}
local item = ''
for m, d in pairs (items3[k].take) do
table.insert(label, GetLabel(m) .. ' X ' .. d)
end
for m,d in pairs (items3[k].give) do
item = m
end
bluntwrap[#bluntwrap + 1] = {
icon = GetImage(item),
description = table.concat(label, ", "),
title = GetLabel(item),
event = "md-drugs:client:MakeWeedItems",
args = {
item = item,
recipe = 'weed',
num = k,
label = 'Dipping Syrup To Make ' .. GetLabel(item),
table = 'bluntwrap'
}
}
lib.registerContext({id = 'mddrugsbluntwraps',title = "Dip Blunt Wrap", options = bluntwrap})
end
CreateThread(function()
createBluntOptions('ButterCraft', "Edible Cooking", 'Cooking A ', 'edibles')
createBluntOptions('mddrugsblunts', "Roll Blunts", 'Rolling A ', 'blunts')
createBluntOptions('mddrugsbluntwraps', "Dipping Syrup", 'Dipping Syrup To Make ', 'bluntwrap')
end)
RegisterNetEvent("md-drugs:client:MakeWeedItems", function(data)
+26 -39
View File
@@ -1,27 +1,18 @@
local QBCore = exports['qb-core']:GetCoreObject()
local miss = false
local deliveryBlip = nil
RegisterNetEvent("md-drugs:client:GetLocation", function(drug, notify)
if not GetCops(Config.PoliceCount) then return end
if miss then
Notify('Already Called Someone', 'error')
Notify(Lang.Wholesale.al, 'error')
else
TriggerServerEvent('md-drugs:server:RemoveBurner', drug)
Notify(notify, 'success')
local CurrentLocation = Config.oxylocations[math.random(#Config.oxylocations)]
local timer = 0
miss = true
deliveryBlip = AddBlipForCoord(CurrentLocation)
SetBlipSprite(deliveryBlip, 1)
SetBlipDisplay(deliveryBlip, 2)
SetBlipScale(deliveryBlip, 1.0)
SetBlipAsShortRange(deliveryBlip, false)
SetBlipColour(deliveryBlip, 27)
BeginTextCommandSetBlipName("STRING")
AddTextComponentSubstringPlayerName("drug Meet")
EndTextCommandSetBlipName(deliveryBlip)
SetBlipRoute(deliveryBlip, true)
SetNewWaypoint(CurrentLocation.x, CurrentLocation.y)
lib.requestModel("g_m_y_famdnf_01", Config.RequestModelTime)
local current = "g_m_y_famdnf_01"
local drugdealer = CreatePed(0, current,CurrentLocation.x,CurrentLocation.y,CurrentLocation.z-1, 90.0, false, false)
@@ -29,28 +20,25 @@ RegisterNetEvent("md-drugs:client:GetLocation", function(drug, notify)
SetEntityInvincible(drugdealer, true)
AddSingleModel(drugdealer, {
type = "client",
label = "Talk To Buyer",
label = Lang.Wholesale.talk,
icon = "fas fa-eye",
action = function()
local luck = math.random(1,100)
if luck >=101 then
TriggerEvent("md-drugs:client:SuccessSale", drug)
Wait(4000)
DeleteEntity(drugdealer)
else
TriggerEvent("md-drugs:client:SetUp")
Wait(3000)
DeleteEntity(drugdealer)
end
miss = false
end,
local luck = math.random(1,100)
if luck >= Config.SuccessfulChance then
TriggerEvent("md-drugs:client:SuccessSale", drug)
else
TriggerEvent("md-drugs:client:SetUp")
end
Wait(3000)
DeleteEntity(drugdealer)
miss = false
end,
},nil )
repeat
Wait(1000)
timer = timer + 1
until #(GetEntityCoords(PlayerPedId()) - vector3(CurrentLocation.x, CurrentLocation.y, CurrentLocation.z) ) < 4.0 or timer == Config.WholesaleTimeout + 1
PoliceCall(Config.AlertPoliceWholesale)
RemoveBlip(deliveryBlip)
if timer <= Config.WholesaleTimeout or #(GetEntityCoords(PlayerPedId()) - vector3(CurrentLocation.x, CurrentLocation.y, CurrentLocation.z) ) < 4.0 then
timer = 0
else
@@ -62,21 +50,20 @@ end)
RegisterNetEvent("md-drugs:client:SuccessSale", function(drug)
if not progressbar("Wholesaling Drugs", 4000, 'uncuff') then return end
if drug == 'coke' then
TriggerServerEvent("md-drugs:server:wholesalecoke")
elseif drug == 'crack' then
TriggerServerEvent("md-drugs:server:wholesalecrack")
elseif drug == 'lsd' then
TriggerServerEvent("md-drugs:server:wholesalelsd")
elseif drug == 'heroin' then
TriggerServerEvent("md-drugs:server:wholesaleheroin")
elseif drug == 'xtc' then
TriggerEvent("md-drugs:client:wholesalextc")
end
if not progressbar("Wholesaling Drugs", 4000, 'uncuff') then return end
if drug == 'coke' then
TriggerServerEvent("md-drugs:server:wholesalecoke")
elseif drug == 'crack' then
TriggerServerEvent("md-drugs:server:wholesalecrack")
elseif drug == 'lsd' then
TriggerServerEvent("md-drugs:server:wholesalelsd")
elseif drug == 'heroin' then
TriggerServerEvent("md-drugs:server:wholesaleheroin")
elseif drug == 'xtc' then
TriggerEvent("md-drugs:client:wholesalextc")
end
end)
RegisterNetEvent("md-drugs:client:SetUp", function()
progressbar("YOU FUCKED NOW", 4000, 'uncuff')
SetUpPeds()
+39 -95
View File
@@ -1,43 +1,22 @@
local QBCore = exports['qb-core']:GetCoreObject()
local xtcpress = false
RegisterNetEvent("md-drugs:client:setpress", function(type)
if xtcpress then
Notify(Lang.xtc.out, 'error')
else
local coords, head = StartRay2()
xtcpress = true
local coords, head = StartRay2()
xtcpress = true
progressbar('Setting Press On The Ground', 4000, 'uncuff')
local press = CreateObject("bkr_prop_coke_press_01aa", coords.x, coords.y, coords.z, true, false, false)
PlaceObjectOnGroundProperly(press)
SetEntityHeading(press, head)
SetEntityHeading(press, head)
local options = {
{
icon = "fas fa-eye",
label = "Make XTC",
distance = 2.0,
action = function()
TriggerEvent("md-drugs:client:XTCMenu", type)
end,
onSelect = function()
TriggerEvent("md-drugs:client:XTCMenu", type)
end,
canInteract = function()
if xtcpress then return true end end
{ icon = "fas fa-eye", label = Lang.targets.xtc.make, distance = 2.0, action = function() TriggerEvent("md-drugs:client:XTCMenu", type) end,
canInteract = function() if xtcpress then return true end end
},
{
icon = "fas fa-eye",
label = "Pick Up",
action = function()
TriggerEvent("md-drugs:client:GetPressBack", type, press)
end,
onSelect = function()
TriggerEvent("md-drugs:client:GetPressBack", type, press)
end,
distance = 2.0,
canInteract = function()
if xtcpress then return true end end
{icon = "fas fa-eye", label = Lang.targets.xtc.pick, action = function() TriggerEvent("md-drugs:client:GetPressBack", type, press) end, distance = 2.0,
canInteract = function() if xtcpress then return true end end
},
}
AddMultiModel(press, options, nil)
@@ -45,60 +24,36 @@ RegisterNetEvent("md-drugs:client:setpress", function(type)
end)
RegisterNetEvent("md-drugs:client:XTCMenu", function(type)
local event = "md-drugs:client:MakeXTC"
lib.registerContext({
id = 'XTCmenu',
title = 'XTC Menu',
options = {
{
icon = GetImage('white_xtc'),
title = 'White XTC',
description = '1 X Raw XTC',
event = "md-drugs:client:MakeXTC",
args = { data = type, color = 'white'}
},
{
icon = GetImage('red_xtc'),
title = 'Red XTC',
description = '1 X Raw XTC and 1 X Loose Coke',
event = "md-drugs:client:MakeXTC",
args = { data = type, color = 'red'}
},
{
icon = GetImage('orange_xtc'),
title = 'Orange XTC',
description = '1 X Raw XTC and 1 X Heroin Vial',
event = "md-drugs:client:MakeXTC",
args = { data = type, color = 'orange'}
},
{
icon = GetImage('blue_xtc'),
title = 'Blue XTC',
description = '1 X Raw XTC and 1 X Crack Rock',
event = "md-drugs:client:MakeXTC",
args = { data = type, color = 'blue'}
},
{icon = GetImage('white_xtc'), title = 'White XTC', description = '1 X Raw XTC', event = event, args = { data = type, color = 'white'}},
{icon = GetImage('red_xtc'), title = 'Red XTC', description = '1 X Raw XTC and 1 X Loose Coke', event = event, args = { data = type, color = 'red'}},
{icon = GetImage('orange_xtc'), title = 'Orange XTC', description = '1 X Raw XTC and 1 X Heroin Vial', event = event, args = { data = type, color = 'orange'}},
{icon = GetImage('blue_xtc'), title = 'Blue XTC', description = '1 X Raw XTC and 1 X Crack Rock', event = event, args = { data = type, color = 'blue'}},
}
})
lib.showContext('XTCmenu')
lib.showContext('XTCmenu')
end)
RegisterNetEvent("md-drugs:client:GetPressBack", function(type, press)
if not progressbar('Packing Up The Press', 5000, 'uncuff') then return end
if not progressbar(Lang.xtc.pickup, 5000, 'uncuff') then return end
DeleteObject(press)
xtcpress = false
TriggerServerEvent("md-drugs:server:getpressback", type)
end)
RegisterNetEvent("md-drugs:client:stealisosafrole", function(data)
if not minigame(2, 8) then Notify(Lang.xtc.fail, "error") return end
if not minigame() then Notify(Lang.xtc.fail, "error") return end
if not progressbar(Lang.xtc.iso, 4000, 'uncuff') then return end
TriggerServerEvent("md-drugs:server:stealisosafrole",data.data)
end)
RegisterNetEvent("md-drugs:client:stealmdp2p", function(data)
if not minigame(2, 8) then Notify(Lang.xtc.fail, "error") return end
if not minigame() then Notify(Lang.xtc.fail, "error") return end
if not progressbar(Lang.xtc.mdp2p, 4000, 'uncuff') then return end
TriggerServerEvent("md-drugs:server:stealmdp2p", data.data)
end)
@@ -120,47 +75,36 @@ end)
------------------------------------------------------------------ Stamping
RegisterNetEvent("md-drugs:client:stampwhite", function(data)
lib.registerContext({
id = 'stampxtc',
title = 'Stamp XTC Menu',
lib.registerContext({ id = 'stampxtc', title = 'Stamp XTC Menu',
options = {
{
icon = GetImage('white_xtc'),
title = 'White XTC',
{ icon = GetImage('white_xtc'), title = 'White XTC',
onSelect = function()
if not minigame(2, 8) then Notify(Lang.xtc.fail, "error") return end
if not progressbar('Stamping White Pills', 4000, 'uncuff') then return end
if not minigame() then Notify(Lang.xtc.fail, "error") return end
if not progressbar(string.format(Lang.xtc.stamp, 'White'), 4000, 'uncuff') then return end
TriggerServerEvent("md-drugs:server:stampwhite",data.data)
end
},
{
icon = GetImage('red_xtc'),
title = 'Red XTC',
{ icon = GetImage('red_xtc'), title = 'Red XTC',
onSelect = function()
if not minigame(2, 8) then Notify(Lang.xtc.fail, "error") return end
if not progressbar('Stamping Red Pills', 4000, 'uncuff') then return end
if not minigame() then Notify(Lang.xtc.fail, "error") return end
if not progressbar(string.format(Lang.xtc.stamp, 'Red'), 4000, 'uncuff') then return end
TriggerServerEvent("md-drugs:server:stampred", data.data)
end
},
{
icon = GetImage('orange_xtc'),
title = 'Orange XTC',
{ icon = GetImage('orange_xtc'), title = 'Orange XTC',
onSelect = function()
if not minigame(2, 8) then Notify(Lang.xtc.fail, "error") return end
if not progressbar('Stamping Orange Pills', 4000, 'uncuff') then return end
if not minigame() then Notify(Lang.xtc.fail, "error") return end
if not progressbar(string.format(Lang.xtc.stamp, 'Orange'), 4000, 'uncuff') then return end
TriggerServerEvent("md-drugs:server:stamporange", data.data)
end,
},
{
icon = GetImage('blue_xtc'),
title = 'Blue XTC',
{ icon = GetImage('blue_xtc'), title = 'Blue XTC',
onSelect = function()
if not minigame(2, 8) then Notify(Lang.xtc.fail, "error") return end
if not progressbar('Stamping Blue Pills', 4000, 'uncuff') then return end
if not minigame() then Notify(Lang.xtc.fail, "error") return end
if not progressbar(string.format(Lang.xtc.stamp, 'Blue'), 4000, 'uncuff') then return end
TriggerServerEvent("md-drugs:server:stampblue", data.data)
end
},
}
})
lib.showContext('stampxtc')
@@ -168,27 +112,27 @@ end)
RegisterNetEvent("md-drugs:client:getsinglepress", function()
if not progressbar('Buying Press', 4000, 'uncuff') then return end
if not progressbar(Lang.xtc.buyp, 4000, 'uncuff') then return end
TriggerServerEvent("md-drugs:server:buypress")
end)
RegisterNetEvent("md-drugs:client:exchangepresses", function(data)
if not progressbar('Buying Press', 4000, 'uncuff') then return end
if not progressbar(Lang.xtc.buyp, 4000, 'uncuff') then return end
TriggerServerEvent("md-drugs:server:upgradepress", data.data)
end)
RegisterNetEvent("md-drugs:client:buypress", function()
local img = GetImage('singlepress')
lib.registerContext({
id = 'buypresses',
title = 'Purchase Presses',
options = {
{ title = 'Single Press', description = 'Buy a single press for 20k', icon = img, event = 'md-drugs:client:getsinglepress'},
{ title = 'Exchange Single For Dual', description = '20 of each unstamped single stack pill and your single press ', icon = img, event = 'md-drugs:client:exchangepresses', args = {data = 'dual'}},
{ title = 'Exchange Dual For Triple', description = '50 of each unstamped dual stack pill and your dual press ', icon = img, event = 'md-drugs:client:exchangepresses', args = {data = 'triple'}},
{ title = 'Exchange Triple For Quad', description = '150 of each unstamped Triple stack pill and your triple press ', icon = img, event = 'md-drugs:client:exchangepresses', args = {data = 'quad'}}
}
id = 'buypresses',
title = 'Purchase Presses',
options = {
{title = Lang.xtc.press.title.single, description = Lang.xtc.des.title.single, icon = img, event = 'md-drugs:client:getsinglepress'},
{title = Lang.xtc.press.title.dual, description = Lang.xtc.des.title.dual, icon = img, event = 'md-drugs:client:exchangepresses', args = {data = 'dual'}},
{title = Lang.xtc.press.title.triple, description = Lang.xtc.des.title.triple, icon = img, event = 'md-drugs:client:exchangepresses', args = {data = 'triple'}},
{title = Lang.xtc.press.title.quad, description = Lang.xtc.des.title.quad, icon = img, event = 'md-drugs:client:exchangepresses', args = {data = 'quad'}}
}
})
lib.showContext('buypresses')
end)
+1 -1
View File
@@ -3,7 +3,7 @@ author "mustache_dom"
description "drugs by mustache dom"
fx_version "cerulean"
game "gta5"
version '3.7.2'
version '3.8.0'
client_scripts {
'client/**.lua',
}
+29 -29
View File
@@ -3,7 +3,7 @@
["coke"] = {
label = "Raw Cocaine",
weight = 1000,
stack = false,
stack =true,
close = false,
description = "Raw Cocaine",
client = {
@@ -13,7 +13,7 @@
["cokebaggy"] = {
label = "Bag Of Cocaine",
weight = 1000,
stack = false,
stack =true,
close = false,
description = "A Small Bag Of Weak Cocaine",
client = {
@@ -23,7 +23,7 @@
["empty_weed_bag"] = {
label = "Empty Bag",
weight = 1000,
stack = false,
stack =true,
close = false,
description = "Empty Bag To Put Product In",
client = {
@@ -33,7 +33,7 @@
["coca_leaf"] = {
label = "Cocaine leaves",
weight = 1500,
stack = false,
stack =true,
close = false,
description = "Cocaine leaves that must be processed !",
client = {
@@ -43,7 +43,7 @@
["poppyresin"] = {
label = "Poppy resin",
weight = 2000,
stack = false,
stack =true,
close = false,
description = "It sticks to your fingers when you handle it.",
client = {
@@ -53,7 +53,7 @@
["heroin"] = {
label = "Weak Heroin Powder",
weight = 500,
stack = false,
stack =true,
close = true,
description = "Dragon Chasin?",
client = {
@@ -63,7 +63,7 @@
["bakingsoda"] = {
label = "Baking Soda",
weight = 300,
stack = false,
stack =true,
close = false,
description = "Household Baking Soda!",
client = {
@@ -73,7 +73,7 @@
["loosecoke"] = {
label = "Loose Coke",
weight = 100,
stack = false,
stack =true,
close = true,
description = "Cut Cocaine",
client = {
@@ -83,7 +83,7 @@
["loosecokestagetwo"] = {
label = "More Pure Loose Coke",
weight = 100,
stack = false,
stack =true,
close = true,
description = "Cut Cocaine",
client = {
@@ -93,7 +93,7 @@
["loosecokestagethree"] = {
label = "Purest Loose Coke",
weight = 100,
stack = false,
stack =true,
close = true,
description = "Cut Cocaine",
client = {
@@ -123,7 +123,7 @@
["cokestagetwo"] = {
label = "Better Raw Cocaine",
weight = 100,
stack = false,
stack =true,
close = false,
description = "Raw cocaine",
client = {
@@ -133,7 +133,7 @@
["cokestagethree"] = {
label = "Best Raw Cocaine",
weight = 100,
stack = false,
stack =true,
close = false,
description = "Raw cocaine",
client = {
@@ -363,7 +363,7 @@
["heroinstagetwo"] = {
label = "Better Heroin",
weight = 250,
stack = false,
stack =true,
close = false,
description = "Raw Heroin",
client = {
@@ -373,7 +373,7 @@
["heroinstagethree"] = {
label = "Best Heroin",
weight = 250,
stack = false,
stack =true,
close = false,
description = "Raw Heroin",
client = {
@@ -383,7 +383,7 @@
["heroincut"] = {
label = "Cut Heroin",
weight = 250,
stack = false,
stack =true,
close = false,
description = "Cut Heroin",
client = {
@@ -393,7 +393,7 @@
["heroincutstagetwo"] = {
label = "Better Cut Heroin",
weight = 250,
stack = false,
stack =true,
close = false,
description = "Cut Heroin",
client = {
@@ -403,7 +403,7 @@
["heroincutstagethree"] = {
label = "Best Cut Heroin",
weight = 250,
stack = false,
stack =true,
close = false,
description = "Cut Heroin",
client = {
@@ -413,7 +413,7 @@
["heroinlabkit"] = {
label = "Heroin Lab Kit",
weight = 250,
stack = false,
stack =true,
close = false,
description = "How Can A Big Ass Table Fit In One Slot",
client = {
@@ -423,7 +423,7 @@
["heroinvial"] = {
label = "Vial Of Heroin",
weight = 250,
stack = false,
stack =true,
close = false,
description = "Hmm, Maybe A Needle Can Help",
client = {
@@ -433,7 +433,7 @@
["heroinvialstagetwo"] = {
label = "Better Vial of Heroin",
weight = 250,
stack = false,
stack =true,
close = false,
description = "Hmm, Maybe A Needle Can Help",
client = {
@@ -443,7 +443,7 @@
["heroinvialstagethree"] = {
label = "Best Vial Of Heroin",
weight = 250,
stack = false,
stack =true,
close = false,
description = "Hmm, Maybe A Needle Can Help",
client = {
@@ -493,7 +493,7 @@
["needle"] = {
label = "Syringe",
weight = 250,
stack = false,
stack =true,
close = false,
description = "I Swear Officer, Its For Diabetes",
client = {
@@ -503,7 +503,7 @@
["crackrock"] = {
label = "Crack Rock",
weight = 250,
stack = false,
stack =true,
close = false,
description = "This Isnt The Rock The Hippie Girl Told Me About",
client = {
@@ -513,7 +513,7 @@
["crackrockstagetwo"] = {
label = "Better Crack Rock",
weight = 250,
stack = false,
stack =true,
close = false,
description = "This Rocks!",
client = {
@@ -523,7 +523,7 @@
["crackrockstagethree"] = {
label = "Best Crack Rock",
weight = 250,
stack = false,
stack =true,
close = false,
description = "This Rocks!",
client = {
@@ -583,7 +583,7 @@
["vicodin_prescription"] = {
label = "Vicie Prescription",
weight = 250,
stack = false,
stack =true,
close = false,
description = "If Only This Helped With The Pain inside",
client = {
@@ -593,7 +593,7 @@
["adderal_prescription"] = {
label = "Mdderal Prescription",
weight = 250,
stack = false,
stack =true,
close = false,
description = "I CAN DO EVERYTHING",
client = {
@@ -603,7 +603,7 @@
["morphine_prescription"] = {
label = "Morphin Prescription",
weight = 250,
stack = false,
stack =true,
close = false,
description = "I Cant Feel Anything",
client = {
@@ -613,7 +613,7 @@
["xanax_prescription"] = {
label = "Zany Prescription",
weight = 250,
stack = false,
stack =true,
close = false,
description = "Ahhh Sweet Comfort",
client = {
-161
View File
@@ -1,161 +0,0 @@
Lang = {}
Lang.Coke = {
-- شريط تقدم العميل
picking = "جمع الأوراق",
makepow = 'تقطيع الأوراق إلى مسحوق',
-- نهاية شريط التقدم
cut = "قمت بتقطيع بعض الكوكا",
nocutcoke = "لا يمكنك تقطيع الكوكا بدونها، أحمق",
bagcoke = "لقد قمت بتعبئة الكوكا",
nobagcoke = "لا يمكنك تعبئة الكوكا بدونها، أحمق",
}
Lang.Crack = {
-- العميل
cookcrack = "طهي الكراك",
bagcrack = 'تعبئة هذا',
-- الخادم
makecrack = 'كراك جيد',
nocoke = 'لا يمكنك صنع هذا بدون الكوكا'
}
Lang.Cornerselling = {
-- إشعارات العميل
toofar = "بعيد جدًا عن زاويتك، صديقي",
inacar = "لا يمكنك البيع أثناء الجلوس في السيارة",
deny = "إلى الجحيم بهذا العرض",
start = "احصل على تلك الأموال",
stop = "لا يمكن للشخص الكسول حتى بيع المخدرات",
nodrugs = "ماذا ستبيع؟ هواء؟",
notcops = "لا يوجد عدد كاف من رجال الشرطة",
-- نهاية إشعارات العميل
-- شريط التقدم
sell = "بيع المخدرات",
}
Lang.Delivery = {
-- العميل
search = "البحث عن توصيل ...",
none = "لا شيء قريب",
busy = "لم تنه أيضًا الذي قلت لك أن تنهيه",
found = "محدد على خريطتك",
already = "بالفعل توصيل",
checkrep = "سمعة البائع الحالية: ",
-- شريط التقدم
pack = 'تسليم الحزمة',
-- نهاية العميل
}
Lang.Heroin = {
-- العميل
pick = "جمع الأفيون",
tableout = 'لديك بالفعل طاولة معدة',
dryout = "تجفيف الأفيون",
cutting = "تقطيع الهيروين مع الصودا الخبز",
secret = "ششششش",
table = "وضع الطاولة",
success = "تسخين الهيروين بشكل جيد",
clean = 'تنظيف طاولة الهيروين',
needles = 'ملء الحقنة',
-- تعيين سيناريو الشخصيات المتوقع إرجاعها بالأمر التالي
cutheroin = 'قمت بتحضير بعض الهيروين المقطوع',
noheroin = "كيف يمكنك تقطيع الهيروين بدونه، أحمق",
vial = 'قمت بصنع قارورة هيروين',
novial = "كيف يمكنك صنع قوارير هيروين بدونه، أحمق",
fail = 'لقد سخنتهم كثيرًا، أحمق',
fill = 'تم ملء الحقنة',
nofill = 'كيف ستملأ الإبر بالهيروين بدونه'
}
Lang.Lean = {
marked = 'تم وضع علامة على السيارة على خريطتك',
lean = 'لقد حصلت على Lean الأرجواني',
dextro = 'لقد حصلت على ديكسترو أحمر'
}
Lang.lsd = {
steallys = 'سرقة حمض الليزرجيك',
stealdie = 'سرقة حمض الليزرجيك',
tableout = 'لديك بالفعل طاولة معدة',
tablepack = 'تعبئة الطاولة',
heat = 'تسخين السوائل',
clean = 'تنظيف الطاولة',
refine = 'تنقية الجودة',
dip = 'تغميس حمض الليزرجيك في الورق',
buypaper = 'شراء ورق التبن',
buykit = 'شراء مجموعة مختبر',
-- الخادم
lys = 'لقد حصلت على حمض الليزرجيك',
die = 'لقد حصلت على الديثيلاميد',
cleaned = 'لقد قمت بتنظيفه بشكل مثالي',
madelsd = 'لقد صنعت الإل إس دي!',
failed = 'لقد سخنتهم كثيرًا، أحمق',
refined = 'لقد قمت بتنقيتهم!',
broke = 'لا يمكنك تحمل هذا الآن!',
novial = 'لا يوجد قوارير إل إس دي، أحمق',
}
Lang.mescaline = {
pick = "جمع الصبار",
dry = 'تجفيف الصبار',
nocactus = 'لا توجد بصيلات صبار'
}
Lang.meth = {
inside = 'يوجد بالفعل شيء في الداخل',
increaseheat = 'زيادة الحرارة',
mission = 'تم وضع علامة على السيارة على خريطتك',
ace = 'لقد حصلت على بعض الأستون',
eph = 'لقد حصلت على بعض الإيفيدرين',
mix = 'إضافة أشياء إلى الخليط',
nobag = 'لا توجد حقائب'
}
Lang.oxy = {
truck = 'سيارتك هنا',
cantcarry = 'أنت لست قويًا لهذا، يمكنك حمل واحد فقط',
hand = 'تسليم الأكسيجين',
empty = 'لا يمكنك أن تكون بلا شيء في يدك، أحمق',
broke = 'لا يمكنك تحمل هذا المبلغ!',
hot = 'السيارة ساخنة، ارمها الآن',
next = 'انتقل إلى الموقع التالي'
}
Lang.Pharma = {
notems = 'أنت لست شخصًا طبيًا',
write = 'كتابة الوصفة الطبية',
fill = 'ملء الوصفة الطبية',
open = 'فتح الزجاجة',
pills = 'لقد حصلت على بعض الحبوب!',
no = 'ليس لديك وصفة طبية'
}
Lang.Shrooms = {
pick = 'جمع الفطر',
eat = 'أكل الفطر',
trip = 'رحلة ممتعة!'
}
Lang.Weed = {
pick = 'حصاد الحشيش',
busy = 'بالفعل تجفيف واحد',
canna = 'صنع زبدة الكانابينويد',
brown = 'صنع براونيز خاصة',
cook = 'صنع كوكيز خاصة',
Choc = 'صنع شوكولاتة خاصة',
muff = 'صنع مافن خاصة',
stovehot = 'الموقد ساخن جدًا، انتظر 30 ثانية ليبرد',
shat = 'صنع شاتر',
roll = 'لف السجائر',
--
nodry = 'تحتاج إلى حشيش رطب لتجفيفه',
noweed = 'لا يمكنك لف السجائر بالهواء',
noshat = 'تحتاج إلى شاتر للقيام بـ Dab',
notorch = 'تحتاج إلى شعلة بوتان'
}
Lang.xtc = {
out = 'لديك بالفعل ماكينة برس جاهزة',
pressing = 'ضغط الحبوب',
raw = 'صنع XTC خام',
mdp2p = 'سرقة MDP2P',
iso = 'سرقة إيزوسافرول',
fail = 'رفيق، إنه دائرة ليست علم صواريخ',
--
cash = 'أحتاج 20 ألف نقدًا'
}
-167
View File
@@ -1,167 +0,0 @@
Lang = {}
Lang.Coke = {
-- klient side progressbarer
picking = "Plukker Blade",
makepow = 'Hakker Blade Til Pulver',
cutting = 'Blander Kokain Med Bagepulver',
bagging = "Pakker Denne Lort",
-- slut progressbarer
cut = "Du Har Skåret Noget Kokain",
nocutcoke = "Du Kan Ikke Skære Kokain Uden Kokain, Idiot",
bagcoke = "Du Har Pakket Kokain",
nobagcoke = "Du Kan Ikke Pakke Kokain Uden Kokain, Idiot",
}
Lang.Crack = {
--klient side
cookcrack = "Koger Noget Crack",
bagcrack = 'Pakker Denne Lort',
-- server
makecrack = 'Godt Crack',
nocoke = 'Du Kan Ikke Lave Dette Uden Kokain'
}
Lang.Cornerselling = {
-- klient side beskeder
toofar = "For Langt Væk Fra Dit Hjørne, Homie",
inacar = "Du Kan Ikke Sælge Mens Du Er I En Bil",
deny = "Fuck Det Tilbud",
start = "Tjen De Penge",
stop = "Doven Røv Kan Ikke Engang Sælge Stoffer",
nodrugs = "Hvad Vil Du Sælge? Luft?",
notcops = "Ikke Nok Betjente",
-- slut klient side beskeder
-- progressbarer
sell = "Sælger Stoffer",
}
Lang.Delivery = {
-- klient side
search = "Søger Efter En Levering ...",
none = "Intet I Nærheden",
busy = "Du Har Ikke Engang Færdiggjort Den Jeg Sagde Til Dig",
found = "Markeret På Dit Kort",
already = "Allerede Levering",
checkrep = "Nuværende Forhandler Repræsentation: ",
-- progressbarer
pack = 'Overrækker Pakke',
-- slut klient side
}
Lang.Heroin = {
--klient
pick = "Plukker Valmuer",
tableout = 'Du Har Allerede Et Bord Ude',
dryout = "Tørrer Valmuer",
cutting = "Blander Heroin Med Bagepulver",
secret = "SHHHHHHHHH",
table = "Sætter Bord Ned",
success = "Opvarmede Heroin Rigtigt",
clean = 'Rengør Heroin Bord',
needles = 'Fylder Sprøjte',
pickup = 'Tager Heroin Bord Op',
--
cutheroin = 'Du Lavede Noget Blandingsheroin',
noheroin = "Hvordan Kan Du Skære Heroin Uden Heroin, Idiot",
vial = 'Du Lavede Et Vial Med Heroin',
novial = "Hvordan Kan Du Lave Heroin Vialer Uden Heroin, Idiot",
fail = 'Du Overophedede Dem, Idiot',
fill = 'Fyldte Sprøjten',
nofill = 'Hvordan Vil Du Fylde Sprøjter Med Heroin Uden Heroin'
}
Lang.Lean = {
marked = 'Bil Er Markeret På Dit Kort',
lean = 'Du Har Purple Lean',
dextro = 'Du Har Rød Dextro'
}
Lang.lsd = {
steallys = 'Stjæler Lyserginsyre',
stealdie = 'Stjæler Lyserginsyre',
tableout = 'Du Har Allerede Et Bord Ude',
tablepack = 'Pakker Bord',
heat = 'Opvarmer Væsker',
clean = 'Rengør Bordet',
refine = 'Forfiner Kvaliteten',
dip = 'Dypper LSD På Papir',
buypaper = 'Køber Tab Papir',
buykit = 'Køber Lab Kit',
place = 'Sætter Bord Ned',
-- server
lys = 'Du Har Lyserginsyre',
die = 'Du Har Diethylamid',
cleaned = 'Du Rengjorde Det Perfekt',
madelsd = 'Du Lavede LSD!',
failed = 'Du Overophedede Dem, Idiot',
refined = 'Du Forfinede Dem!',
broke = 'Din Fattige Røv Har Ikke Råd Til Disse!',
novial = 'Ingen LSD Vialer, Idiot',
}
Lang.mescaline = {
pick = "Plukker Kaktus",
dry = 'Tørrer Kaktus',
nocactus = 'Ingen Kaktus Bulbs',
eat = 'Spiser Mescaline'
}
Lang.meth = {
inside = 'Ting Indeni Allerede',
increaseheat = 'Øger Varme',
mission = 'Bil Er Markeret På Dit Kort',
ace = 'Du Har Noget Aceton',
eph = 'Du Har Noget Efedrin',
mix = 'Tilsætter Ting Til Blandingen',
nobag = 'Ingen Poser'
}
Lang.oxy = {
truck = 'Din Lastbil Er Her',
cantcarry = 'Du Er Ikke Så Stærk, Du Kan Kun Bære En',
hand = 'Overrækker Oxy',
empty = 'Du Kan Ikke Være Tomhændet, Idiot',
broke = 'Din Fattige Røv Har Ikke Råd Til Dette',
hot = 'Bilen Er Hot, Dump Den Nu',
next = 'Kom Til Den Næste Lokation'
}
Lang.Pharma = {
notems = 'Du Er Ikke En Medicinsk Person',
write = 'Skriver Recept',
fill = 'Fylder Recept',
open = 'Åbner Flaske',
pills = 'Du Har Nogle Piller!',
no = 'Du Har Ingen Recept'
}
Lang.Shrooms = {
pick = 'Plukker Svampe',
eat = 'Spiser Svampe',
trip = 'Hav En God Tur!'
}
Lang.Weed = {
pick = 'Høster Weed',
busy = 'Tørrer Allerede En Ud',
canna = 'Laver Cannabis-smør',
brown = 'Laver Specielle Brownies',
cook = 'Laver Specielle Cookies',
Choc = 'Laver Speciel Chokolade',
muff = 'Laver Speciel Muffin',
stovehot = 'Komfuret Er For Varmt, Vent 30 Sekunder På At Køle Ned',
shat = 'Laver Shatter',
roll = 'Ruller Blunts',
--
nodry = 'Du Har Brug For Våd Cannabis Til At Tørre',
noweed = 'Kan Ikke Rulle En Blunt Med Luft',
noshat = 'Du Har Brug For Shatter Til At Lave En Dab',
notorch = 'Du Har Brug For En Butanbrænder'
}
Lang.xtc = {
out = 'Du Har Allerede En Presser Ude',
pressing = 'Presser Piller',
raw = 'Laver Rå XTC',
mdp2p = 'Stjæler MDP2P',
iso = 'Stjæler Isosafrol',
fail = 'Dude, Det Er En Cirkel, Ikke Raketteknologi',
--
cash = 'Jeg har brug for 20k i kontanter'
}
-154
View File
@@ -1,154 +0,0 @@
Lang = {}
Lang.Coke = {
picking = "Bladeren plukken",
makepow = 'Bladeren tot poeder malen',
cutting = 'Coke snijden met bakpoeder',
bagging = "Coke in zakken doen",
cut = "Je hebt wat coke gesneden",
nocutcoke = "Je kunt geen coke snijden zonder coke, idioot",
bagcoke = "Je hebt coke in zakken gedaan",
nobagcoke = "Je kunt geen coke in zakken doen zonder coke, idioot",
}
Lang.Crack = {
cookcrack = "Crack aan het maken",
bagcrack = 'Crack in zakken doen',
makecrack = 'Goede crack',
nocoke = 'Je kunt dit niet maken zonder coke'
}
Lang.Cornerselling = {
toofar = "Te ver van je hoek, maat",
inacar = "Je kunt niet verkopen terwijl je in een auto zit",
deny = "Fuck dat bod",
start = "Verdien wat geld",
stop = "Luie reet, kan niet eens drugs verkopen",
nodrugs = "Wat ga je verkopen? Lucht?",
notcops = "Niet genoeg agenten",
sell = "Drugs verkopen",
}
Lang.Delivery = {
search = "Op zoek naar een bezorging...",
none = "Niets in de buurt",
busy = "Je hebt nog niet eens degene afgemaakt die ik je vertelde",
found = "Gemarkeerd op je kaart",
already = "Al bezig met bezorgen",
checkrep = "Huidige handelaarsreputatie: ",
pack = 'Pakket overhandigen',
}
Lang.Heroin = {
pick = "Papaver plukken",
tableout = 'Je hebt al een tafel uitstaan',
dryout = "Papaver laten drogen",
cutting = "Heroin snijden met bakpoeder",
secret = "SSSTTTT",
table = "Tafel neerzetten",
success = "Heroin goed verwarmd",
clean = 'Heroïnetafel schoonmaken',
needles = 'Spuit vullen',
pickup = 'Heroïnetafel oppakken',
cutheroin = 'Je hebt wat gesneden heroïne gemaakt',
noheroin = "Hoe kun je heroïne snijden zonder heroïne, idioot",
vial = 'Je hebt een flacon heroïne gemaakt',
novial = "Hoe kun je heroïneflacons maken zonder heroïne, idioot",
fail = 'Je hebt ze te veel verhit, idioot',
fill = 'Vul de spuit',
nofill = 'Hoe ga je heroïne-naalden vullen zonder heroïne'
}
Lang.Lean = {
marked = 'Auto staat op je kaart',
lean = 'Je hebt paarse lean gekregen',
dextro = 'Je hebt rode dextro gekregen'
}
Lang.lsd = {
steallys = 'Lyserginezuur stelen',
stealdie = 'Lyserginezuur stelen',
tableout = 'Je hebt al een tafel uitstaan',
tablepack = 'Tafel inpakken',
heat = 'Vloeistoffen verwarmen',
clean = 'Tafel schoonmaken',
refine = 'Kwaliteit verfijnen',
dip = 'LSD op papier dippen',
buypaper = 'Tab-papier kopen',
buykit = 'Lab-kit kopen',
place = 'Tafel neerzetten',
lys = 'Je hebt lyserginezuur',
die = 'Je hebt di-ethylamide',
cleaned = 'Je hebt het perfect schoongemaakt',
madelsd = 'Je hebt LSD gemaakt!',
failed = 'Je hebt ze te veel verhit, idioot',
refined = 'Je hebt ze verfijnd!',
broke = 'Je arme reet kan dit niet betalen!',
novial = 'Geen LSD-flesjes, idioot',
}
Lang.mescaline = {
pick = "Cactus plukken",
dry = 'Cactus laten drogen',
nocactus = 'Geen cactusbollen',
eat = 'Mescaline eten'
}
Lang.meth = {
inside = 'Al iets binnen',
increaseheat = 'Hitte verhogen',
mission = 'Auto staat op je kaart',
ace = 'Je hebt wat aceton gekregen',
eph = 'Je hebt wat efedrine gekregen',
mix = 'Dingen toevoegen aan de mix',
nobag = 'Geen tassen'
}
Lang.oxy = {
truck = 'Je vrachtwagen is hier',
cantcarry = 'Je bent niet zo sterk, je kunt er maar één dragen',
hand = 'Oxy overhandigen',
empty = 'Je kunt niet met lege handen staan, idioot',
broke = 'Je arme reet kan dit niet betalen',
hot = 'Auto is heet, dump het nu',
next = 'Ga naar de volgende locatie'
}
Lang.Pharma = {
notems = 'Je bent geen medisch persoon',
write = 'Recept schrijven',
fill = 'Recept vullen',
open = 'Fles openen',
pills = 'Je hebt wat pillen!',
no = 'Je hebt geen recept'
}
Lang.Shrooms = {
pick = 'Paddenstoelen plukken',
eat = 'Paddenstoelen eten',
trip = 'Fijne reis!'
}
Lang.Weed = {
pick = 'Wiet oogsten',
busy = 'Ben al bezig met eentje te drogen',
canna = 'Wietboter maken',
brown = 'Speciale bruine maken',
cook = 'Speciale koekjes maken',
Choc = 'Speciale chocolade maken',
muff = 'Speciale muffin maken',
stovehot = 'Het fornuis is te heet, wacht 30 seconden om af te koelen',
shat = 'Shatter maken',
roll = 'Blunts rollen',
nodry = 'Je hebt natte cannabis nodig om te drogen',
noweed = 'Kan geen joint rollen zonder wiet',
noshat = 'Je hebt shatter nodig om te dabben',
notorch = 'Je hebt een gasbrander nodig'
}
Lang.xtc = {
out = 'Je hebt al een persmachine',
pressing = 'Pillen persen',
raw = 'Ruwe XTC maken',
mdp2p = 'MDP2P stelen',
iso = 'Iso safrole stelen',
fail = 'Dude, het is een cirkel, geen raketwetenschap',
cash = 'Ik heb 20k in contanten nodig'
}
-154
View File
@@ -1,154 +0,0 @@
Lang = {}
Lang.Coke = {
picking = "葉を摘む",
makepow = '葉を粉にする',
cutting = 'ベーキングソーダでコカインを切る',
bagging = "コカインを袋詰めする",
cut = "コカインを切った",
nocutcoke = "コカインがないと切れないよ、アホ",
bagcoke = "コカインを袋詰めした",
nobagcoke = "コカインがないと袋詰めできないよ、アホ",
}
Lang.Crack = {
cookcrack = "クラックを作る",
bagcrack = 'クラックを袋詰めする',
makecrack = 'いいクラック',
nocoke = 'コカインなしではこれは作れない'
}
Lang.Cornerselling = {
toofar = "あなたのコーナーから遠すぎる",
inacar = "車の中で売ることはできない",
deny = "そのオファーはダメだ",
start = "お金を稼ごう",
stop = "怠け者、薬さえ売れないのか",
nodrugs = "何を売るつもり?空気?",
notcops = "警官が足りない",
sell = "薬を売る",
}
Lang.Delivery = {
search = "配達を検索中...",
none = "近くに何もない",
busy = "まだ完成していないものを終えていない",
found = "あなたの地図にマークされた",
already = "すでに配達中",
checkrep = "現在のディーラーの評判:",
pack = 'パッケージを渡す',
}
Lang.Heroin = {
pick = "アヘンを摘む",
tableout = 'すでにテーブルが出ている',
dryout = "アヘンを乾燥させる",
cutting = "ベーキングソーダでヘロインを切る",
secret = "ひそかに",
table = "テーブルを置く",
success = "ヘロインを正しく加熱した",
clean = 'ヘロインテーブルを掃除する',
needles = '注射器を満たす',
pickup = 'ヘロインテーブルを拾う',
cutheroin = 'ヘロインを切った',
noheroin = "アヘンがないとヘロインを切れないよ、アホ",
vial = 'ヘロインのびんを作った',
novial = "アヘンがないとヘロインのびんを作れないよ、アホ",
fail = '加熱しすぎた、アホ',
fill = '注射器を満たす',
nofill = 'アヘンがないとヘロインの注射器を満たせないよ、アホ'
}
Lang.Lean = {
marked = '車が地図にマークされた',
lean = '紫色のリーンを手に入れた',
dextro = '赤いデキストロを手に入れた'
}
Lang.lsd = {
steallys = 'リゼルグ酸を盗む',
stealdie = 'リゼルグ酸を盗む',
tableout = 'すでにテーブルが出ている',
tablepack = 'テーブルをパッキングする',
heat = '液体を加熱する',
clean = 'テーブルを掃除する',
refine = '品質を高める',
dip = '紙にLSDを浸す',
buypaper = 'タブ用紙を購入する',
buykit = 'ラボキットを購入する',
place = 'テーブルを置く',
lys = 'リゼルグ酸を手に入れた',
die = 'ジエチルアミドを手に入れた',
cleaned = '完璧にきれいにした',
madelsd = 'LSDを作った!',
failed = '加熱しすぎた、アホ',
refined = '高めた!',
broke = 'あなたはこれを買うお金がありません!',
novial = 'LSDのびんがありません、アホ',
}
Lang.mescaline = {
pick = "サボテンを摘む",
dry = 'サボテンを乾燥させる',
nocactus = 'サボテンの球根がありません',
eat = 'メスカリンを食べる'
}
Lang.meth = {
inside = '中にはすでに何かある',
increaseheat = '熱を上げる',
mission = '車が地図にマークされた',
ace = 'アセトンを手に入れた',
eph = 'エフェドリンを手に入れた',
mix = '混ぜ物を追加する',
nobag = '袋がない'
}
Lang.oxy = {
truck = 'あなたのトラックはここにあります',
cantcarry = 'あなたはそんなに強くない、あなたは1つしか運べない',
hand = '酸素を手渡す',
empty = 'あなたは空手ではいられない、アホ',
broke = 'あなたはこれを払うお金がありません',
hot = '車が熱い、すぐにそれを投げ捨てる',
next = '次の場所に行く'
}
Lang.Pharma = {
notems = '医療関係者ではありません',
write = '処方箋を書く',
fill = '処方箋を埋める',
open = 'ボトルを開ける',
pills = 'いくつかの錠剤を手に入れた!',
no = '処方箋がありません'
}
Lang.Shrooms = {
pick = 'キノコを摘む',
eat = 'キノコを食べる',
trip = 'いい旅を!'
}
Lang.Weed = {
pick = '大麻を収穫する',
busy = 'すでに1つを乾かしています',
canna = 'キャナバターを作る',
brown = '特製ブラウニーを作る',
cook = '特製クッキーを作る',
Choc = '特製チョコレートを作る',
muff = '特製マフィンを作る',
stovehot = 'ストーブが熱すぎるので、30秒待って冷ます',
shat = 'シャターを作る',
roll = 'ブラントを巻く',
nodry = '乾燥させるためには湿った大麻が必要です',
noweed = '大麻なしではブラントを巻けません',
noshat = 'ダブするにはシャターが必要です',
notorch = 'ガスバーナーが必要です'
}
Lang.xtc = {
out = 'すでにプレスがあります',
pressing = '錠剤を押す',
raw = '生のXTCを作る',
mdp2p = 'MDP2Pを盗む',
iso = 'イソサフロールを盗む',
fail = '兄ちゃん、それは円形だ、ロケットサイエンスじゃない',
cash = '現金20kが必要です'
}
-154
View File
@@ -1,154 +0,0 @@
Lang = {}
Lang.Coke = {
picking = "采摘叶子",
makepow = '将叶子研磨成粉末',
cutting = '用苏打粉切割可乐',
bagging = "包装可乐",
cut = "你切了一些可乐",
nocutcoke = "你不能没有可乐就切可乐,笨蛋",
bagcoke = "你装袋了可乐",
nobagcoke = "你不能没有可乐就装袋可乐,笨蛋",
}
Lang.Crack = {
cookcrack = "制作一些 crack",
bagcrack = '包装 crack',
makecrack = '不错的 crack',
nocoke = '没有可乐不能制作这个'
}
Lang.Cornerselling = {
toofar = "离你的拐角太远了,兄弟",
inacar = "你不能在车里卖东西",
deny = "拒绝那个出价",
start = "赚点钱",
stop = "懒鬼,甚至连卖毒品都不想做",
nodrugs = "你打算卖什么?空气吗?",
notcops = "警察不够",
sell = "正在销售毒品",
}
Lang.Delivery = {
search = "正在寻找交付...",
none = "附近没有东西",
busy = "你甚至还没有完成我告诉你的一个",
found = "标记在你的地图上",
already = "已经在交付中",
checkrep = "当前交易员声誉:",
pack = '交接包裹',
}
Lang.Heroin = {
pick = "采摘罂粟",
tableout = '你已经摆出了一张桌子',
dryout = "晾干罂粟",
cutting = "用苏打粉切割海洛因",
secret = "嘘",
table = "放置桌子",
success = "正确加热海洛因",
clean = '清洁海洛因桌',
needles = '填充针筒',
pickup = '捡起海洛因桌',
cutheroin = '你制造了一些剪切过的海洛因',
noheroin = "没有海洛因怎么能剪切海洛因?笨蛋",
vial = '你制作了一个海洛因小瓶',
novial = "没有海洛因怎么能制作海洛因小瓶?笨蛋",
fail = '你把它们加热过头了,笨蛋',
fill = '填充针筒',
nofill = '没有海洛因怎么填充海洛因的针筒?'
}
Lang.Lean = {
marked = '车子已标记在你的地图上',
lean = '你得到了紫色的瘾',
dextro = '你得到了红色的右旋'
}
Lang.lsd = {
steallys = '偷窃溴酸',
stealdie = '偷窃溴酸',
tableout = '你已经摆出了一张桌子',
tablepack = '打包桌子',
heat = '加热液体',
clean = '清洁桌子',
refine = '提纯品质',
dip = '把 LSD 涂在纸上',
buypaper = '购买标签纸',
buykit = '购买实验室工具',
place = '放置桌子',
lys = '你得到了溴酸',
die = '你得到了二乙酰胺',
cleaned = '你清洁得很好',
madelsd = '你制造了 LSD!',
failed = '你加热过头了,笨蛋',
refined = '你提纯了它们!',
broke = '你穷得买不起这些!',
novial = '没有 LSD 小瓶,笨蛋',
}
Lang.mescaline = {
pick = "采摘仙人掌",
dry = '晾干仙人掌',
nocactus = '没有仙人掌球',
eat = '吃麦斯卡林'
}
Lang.meth = {
inside = '里面已经有东西了',
increaseheat = '加热中',
mission = '车子已标记在你的地图上',
ace = '你得到了一些乙酸',
eph = '你得到了一些麻黄碱',
mix = '加入混合物',
nobag = '没有袋子'
}
Lang.oxy = {
truck = '你的卡车在这里',
cantcarry = '你不那么强壮,你只能搬运一个',
hand = '交付氧气',
empty = '你不能空手,笨蛋',
broke = '你穷得买不起这个',
hot = '车子很热,现在倾倒它',
next = '去下一个地点'
}
Lang.Pharma = {
notems = '你不是医生',
write = '开具处方',
fill = '填写处方',
open = '打开瓶子',
pills = '你得到了一些药丸!',
no = '你没有处方'
}
Lang.Shrooms = {
pick = '采摘蘑菇',
eat = '吃蘑菇',
trip = '祝你旅途愉快!'
}
Lang.Weed = {
pick = '收获大麻',
busy = '已经在晾干一个了',
canna = '制作大麻黄油',
brown = '制作特制棕子',
cook = '制作特制饼干',
Choc = '制作特制巧克力',
muff = '制作特制松饼',
stovehot = '炉子太热了,请等待 30 秒冷却',
shat = '制作特制糖霜',
roll = '卷烟',
nodry = '你需要湿大麻才能晾干',
noweed = '不能用空气卷烟',
noshat = '你需要糖霜来吸食',
notorch = '你需要打火机'
}
Lang.xtc = {
out = '你已经有一个压片机了',
pressing = '压片',
raw = '制作原始 XTC',
mdp2p = '偷窃 MDP2P',
iso = '偷窃异亚硫酸酯',
fail = '哥们,这是圆的不是火箭科学',
cash = '我需要 20k 现金'
}
-154
View File
@@ -1,154 +0,0 @@
Lang = {}
Lang.Coke = {
picking = "Recogiendo hojas",
makepow = 'Moliendo hojas en polvo',
cutting = 'Cortando coca con bicarbonato de sodio',
bagging = "Empacando coca",
cut = "Has cortado algo de coca",
nocutcoke = "No puedes cortar coca sin coca, idiota",
bagcoke = "Has empacado coca",
nobagcoke = "No puedes empacar coca sin coca, idiota",
}
Lang.Crack = {
cookcrack = "Cocinando crack",
bagcrack = 'Empacando crack',
makecrack = 'Buen crack',
nocoke = 'No puedes hacer esto sin cocaína'
}
Lang.Cornerselling = {
toofar = "Demasiado lejos de tu esquina, amigo",
inacar = "No puedes vender mientras estás en un auto",
deny = "A la mierda esa oferta",
start = "Consigue ese dinero",
stop = "El culo perezoso ni siquiera puede vender drogas",
nodrugs = "¿Qué vas a vender? ¿Aire?",
notcops = "No hay suficientes policías",
sell = "Vendiendo drogas",
}
Lang.Delivery = {
search = "Buscando una entrega...",
none = "Nada cerca",
busy = "Ni siquiera has terminado el que te dije",
found = "Marcado en tu mapa",
already = "Ya entregando",
checkrep = "Reputación actual del vendedor: ",
pack = 'Entregando paquete',
}
Lang.Heroin = {
pick = "Recogiendo amapolas",
tableout = 'Ya tienes una mesa fuera',
dryout = "Secando amapolas",
cutting = "Cortando heroína con bicarbonato de sodio",
secret = "SHHHHHHHHH",
table = "Colocando mesa",
success = "Calentaste la heroína adecuadamente",
clean = 'Limpiando mesa de heroína',
needles = 'Rellenando jeringa',
pickup = 'Recogiendo mesa de heroína',
cutheroin = 'Hiciste algo de heroína cortada',
noheroin = "¿Cómo puedes cortar heroína sin heroína, idiota?",
vial = 'Hiciste una ampolla de heroína',
novial = "¿Cómo puedes hacer ampollas de heroína sin heroína, idiota?",
fail = 'Los calentaste demasiado, idiota',
fill = 'Llenaste la jeringa',
nofill = '¿Cómo vas a llenar agujas de heroína sin heroína?'
}
Lang.Lean = {
marked = 'El auto está marcado en tu mapa',
lean = 'Tienes lean morado',
dextro = 'Tienes dextro rojo'
}
Lang.lsd = {
steallys = 'Robando ácido lisérgico',
stealdie = 'Robando ácido lisérgico',
tableout = 'Ya tienes una mesa fuera',
tablepack = 'Empacando mesa',
heat = 'Calentando líquidos',
clean = 'Limpiando mesa',
refine = 'Refinando la calidad',
dip = 'Sumerjiendo LSD en papel',
buypaper = 'Comprando papel de tab',
buykit = 'Comprando kit de laboratorio',
place = 'Colocando mesa',
lys = 'Tienes ácido lisérgico',
die = 'Tienes dietilamida',
cleaned = 'Lo limpiaste perfectamente',
madelsd = '¡Hiciste LSD!',
failed = 'Los calentaste demasiado, idiota',
refined = '¡Los refinaste!',
broke = '¡Tu culo quebrado no puede pagarlo!',
novial = '¡No hay ampollas de LSD, idiota!',
}
Lang.mescaline = {
pick = "Recogiendo cactus",
dry = 'Secando cactus',
nocactus = 'Sin bulbos de cactus',
eat = 'Comiendo mescalina'
}
Lang.meth = {
inside = 'Ya hay algo dentro',
increaseheat = 'Aumentando el calor',
mission = 'El auto está marcado en tu mapa',
ace = 'Tienes acetona',
eph = 'Tienes efedrina',
mix = 'Agregando cosas a la mezcla',
nobag = 'No hay bolsas'
}
Lang.oxy = {
truck = 'Tu camión está aquí',
cantcarry = 'No eres tan fuerte, solo puedes llevar uno',
hand = 'Entregando oxy',
empty = 'No puedes estar vacío, idiota',
broke = '¡Tu culo quebrado no puede pagarlo!',
hot = 'El auto está caliente, tíralo ahora',
next = 'Ve a la siguiente ubicación'
}
Lang.Pharma = {
notems = 'No eres una persona médica',
write = 'Escribiendo receta',
fill = 'Llenando receta',
open = 'Abriendo botella',
pills = '¡Tienes algunas píldoras!',
no = 'No tienes una receta'
}
Lang.Shrooms = {
pick = 'Recogiendo hongos',
eat = 'Comiendo hongos',
trip = '¡Ten un buen viaje!'
}
Lang.Weed = {
pick = 'Cosechando marihuana',
busy = 'Ya estoy secando uno',
canna = 'Haciendo mantequilla de marihuana',
brown = 'Haciendo brownies especiales',
cook = 'Haciendo galletas especiales',
Choc = 'Haciendo chocolate especial',
muff = 'Haciendo muffin especial',
stovehot = 'La estufa está demasiado caliente, espera 30 segundos para enfriar',
shat = 'Haciendo shatter',
roll = 'Enrollando blunts',
nodry = 'Necesitas marihuana húmeda para secar',
noweed = 'No puedes enrollar un blunt sin marihuana',
noshat = 'Necesitas shatter para hacer un dab',
notorch = 'Necesitas un soplete de butano'
}
Lang.xtc = {
out = 'Ya tienes una prensa',
pressing = 'Prensando pastillas',
raw = 'Haciendo XTC crudo',
mdp2p = 'Robando MDP2P',
iso = 'Robando isosafrol',
fail = 'Tío, es un círculo, no ciencia de cohetes',
cash = 'Necesito 20k en efectivo'
}
-157
View File
@@ -1,157 +0,0 @@
Lang = {}
Lang.Coke = {
picking = "Plockar löv",
makepow = 'Mal löv till pulver',
cutting = 'Skär kokain med bikarbonat',
bagging = "Fyller på påsar med kokain",
cut = "Du skar lite kokain",
nocutcoke = "Du kan inte skära kokain utan kokain, idiot",
bagcoke = "Du fyllde på påsar med kokain",
nobagcoke = "Du kan inte fylla på påsar med kokain utan kokain, idiot",
}
Lang.Crack = {
cookcrack = "Kokar crack",
bagcrack = 'Fyller på påsar med crack',
makecrack = 'Bra crack',
nocoke = 'Du kan inte göra detta utan kokain'
}
Lang.Cornerselling = {
toofar = "För långt från din hörna, kompis",
inacar = "Du kan inte sälja medan du är i en bil",
deny = "Fuck det erbjudandet",
start = "Skaffa pengarna",
stop = "Lat röv kan inte ens sälja droger",
nodrugs = "Vad ska du sälja? Luft?",
notcops = "Inte tillräckligt med poliser",
sell = "Säljer droger",
}
Lang.Delivery = {
search = "Söker efter en leverans...",
none = "Inget nära",
busy = "Du har inte ens slutfört den jag sa till dig",
found = "Markerat på din karta",
already = "Redan levererande",
checkrep = "Nuvarande återförsäljares rykte: ",
pack = 'Överlämnar paket',
}
Lang.Heroin = {
pick = "Plockar opiumvallmo",
tableout = 'Du har redan ett bord ute',
dryout = "Torkar opiumvallmo",
cutting = "Skär heroin med bikarbonat",
secret = "SHHHHHHHHH",
table = "Placerar bord",
success = "Värmt upp heroinet ordentligt",
clean = 'Rengör heroinbordet',
needles = 'Fyller spruta',
pickup = 'Plockar upp heroinbordet',
cutheroin = 'Du gjorde lite skuret heroin',
noheroin = "Hur kan du skära heroin utan heroin, idiot",
vial = 'Du gjorde en flaska med heroin',
novial = "Hur kan du göra heroinflaskor utan heroin, idiot",
fail = 'Du överhettade dem, idiot',
fill = 'Fyllde sprutan',
nofill = 'Hur ska du fylla nålar med heroin utan heroin'
}
Lang.Lean = {
marked = 'Bilen är markerad på din karta',
lean = 'Du fick lila lean',
dextro = 'Du fick rött dextro'
}
Lang.lsd = {
steallys = 'Stjäl lysergsyra',
stealdie = 'Stjäl lysergsyra',
tableout = 'Du har redan ett bord ute',
tablepack = 'Packar upp bordet',
heat = 'Värmer upp vätskor',
clean = 'Rengör bordet',
refine = 'Förfinar kvaliteten',
dip = 'Doppa LSD på papper',
buypaper = 'Köp flikpapper',
buykit = 'Köp laboratoriekit',
place = 'Placerar bord',
lys = 'Du fick lysergsyra',
die = 'Du fick dietilamid',
cleaned = 'Du rengjorde det perfekt',
madelsd = 'Du gjorde LSD!',
failed = 'Du överhettade dem, idiot',
refined = 'Du förfinade dem!',
broke = 'Din fattiga röv kan inte ha råd med det här!',
novial = 'Inga LSD-flaskor, idiot'
}
Lang.mescaline = {
pick = "Plockar kaktus",
dry = 'Torkar ut kaktus',
nocactus = 'Inga kaktusknoppar',
eat = 'Äter mescalin'
}
Lang.meth = {
inside = 'Något inuti redan',
increaseheat = 'Öka värmen',
mission = 'Bilen är markerad på din karta',
ace = 'Du fick acetone',
eph = 'Du fick efedrin',
mix = 'Lägger till saker i blandningen',
nobag = 'Inga påsar'
}
Lang.oxy = {
truck = 'Din lastbil är här',
cantcarry = 'Du är inte så stark, du kan bara bära en',
hand = 'Ger över oxy',
empty = 'Du kan inte vara tomhänt, idiot',
broke = 'Din fattiga röv kan inte ha råd med det här',
hot = 'Bilen är het, släng den nu',
next = 'Gå till nästa plats'
}
Lang.Pharma = {
notems = 'Du är inte en medicinsk person',
write = 'Skriva recept',
fill = 'Fyller recept',
open = 'Öppnar flaska',
pills = 'Du fick några piller!',
no = 'Du har inget recept'
}
Lang.Shrooms = {
pick = 'Plockar svampar',
eat = 'Äter svampar',
trip = 'Ha en trevlig resa!'
}
Lang.Weed = {
pick = 'Skördar cannabis',
busy = 'Redan torkar en',
canna = 'Gör cannabis-smör',
brown = 'Gör speciella brownies',
cook = 'Gör speciella kakor',
Choc = 'Gör speciell choklad',
muff = 'Gör speciell muffin',
stovehot = 'Spisen är för varm, vänta 30 sekunder för att svalna',
shat = 'Gör shatter',
roll = 'Rullar blunts',
nodry = 'Du behöver fuktig cannabis för att torka',
noweed = 'Kan inte rulla en blunt utan cannabis',
noshat = 'Du behöver shatter för att göra en dab',
notorch = 'Du behöver en butangasbrännare'
}
Lang.xtc = {
out = 'Du har redan en press',
pressing = 'Pressar piller',
raw = 'Gör rå XTC',
mdp2p = 'Stjäl MDP2P',
iso = 'Stjäl isosafrol',
fail = 'Kille, det är en cirkel, inte raketvetenskap',
cash = 'Jag behöver 20k i kontanter'
}
+127 -113
View File
@@ -1,4 +1,4 @@
<h1>md-drugs</h1>
# MD-Drugs
<div align="center">
<a href="https://discord.gg/sAMzrB4DDx">
@@ -7,7 +7,7 @@
<a href="https://discord.gg/sAMzrB4DDx">Mustache Scripts Discord</a><br>
</div>
<h1>Credits</h1>
# Credits
- I used [Samuel's development](https://fivem.samueldev.shop/) Christmas script global states and prop spawning (with permission obtained prior to release) in the development process.
@@ -26,131 +26,148 @@
- [jixeltay](https://jixeltay.tebex.io/category/scripts) for putting out banger after banger. These people help the community learn so much more
- Our partner [1of1 Servers]( https://1of1servers.com/) and their [discord](https://discord.gg/1of1servers) for their amazing server hosting! absolutely top notch.
<h1>Special Thanks To Kamaryn For The Preview</h1>
- Special Thanks To Kamaryn For The Preview
- Thanks to Kamaryn for this [install guide video](https://youtu.be/zvuYnUfrqaA?si=FGJuBO5krZMC14Nd)
- join their [discord](https://discord.gg/KPRmZqFS) for other videos updates.
<h1>Dependencies</h1>
- [Ox Lib](https://github.com/overextended/ox_lib/releases/tag/v3.12.0)
# Dependencies
- [qb-target](https://github.com/qbcore-framework/qb-target) **or** ox_target
- [ox_lib](https://github.com/overextended/ox_lib/releases/tag/v3.12.0)
- emote script that uses the animations event (rpemotes, dpemotes, scully emotes all work)
- [qb-target](https://github.com/qbcore-framework/qb-target) **or** [ox_target](https://github.com/overextended/ox_target)
- emote script that uses the animations event
- for example one of these
- [dpemotes](https://github.com/andristum/dpemotes) -- should use RP instead
- [rpemotes](https://github.com/alberttheprince/rpemotes-reborn)
- [scully_emotemenu](https://github.com/Scullyy/scully_emotemenu)
- [read](https://letters.hookedonphonics.com/us/read-guaranteed-G14.html?vc=HPG1&pc=SHPGBR&tracking_id=102917836048989658da259e8c83e6&url_id=5586&oid=707&vid=1855&cid=4194&hid=14509&utm_source=1855&aff_id2={aff_id2}&utm_campaign=PracticePackHOS&utm_medium=S&utm_content=BrandDollarPacks&gc_id=184380999&h_ad_id=374941048206&src=O&qid=3&msvid=v2)
- GAME BUILD 2944 OR LATER
# Preview
<h1>Preview</h1>
### [Preview link](https://www.youtube.com/watch?v=I_x7_oz_SAU)
- [Preview link](https://www.youtube.com/watch?v=I_x7_oz_SAU)
- **Preview**
# How to install like a fuckin boss
![](https://cdn.discordapp.com/attachments/1164709522691076120/1185729686135910582/image.png?ex=6590abd2&is=657e36d2&hm=35c3b2d4f55473d65dd9197a69052b7ec7ac7b28528811f3f59d5f306b7237eb&)
### STEP 1
<h1>How to install like a fuckin boss</h1>
- qb-inventory users go to md-drugs/items_install/qb-inventory and add the Items to `qb-core/shared/items.lua` and - Add items from md-drugs/items_install/images to qb-inventory/html/images
- ox_inventory users go to md-drugs/items_install/ox_inventory and add the Items to `ox_inventory/data/items.lua` and - Add items from md-drugs/items_install/images to ox_inventory/web/images
- **STEP 1**
- qb-inventory users go to md-drugs/items_install/qb-inventory and add the Items to `qb-core/shared/items.lua` and - Add items from md-drugs/items_install/images to qb-inventory/html/images
- ox_inventory users go to md-drugs/items_install/ox_inventory and add the Items to `ox_inventory/data/items.lua` and - Add items from md-drugs/items_install/images to ox_inventory/web/images
### STEP 2
- delete `qb-drugs`
- **STEP 2**
### STEP 3
- Inside the config file change **all** the locations for everything.
- **ps: All locations have been changed to make a preview video easier and with how big of a script this is, Im not going to config it for every city. THESE LOCATION DO NOT DO WELL FOR A LIVE SERVER SO CHANGE THEM**
- delete `qb-drugs`
- **STEP 3**
- Inside the config file change **all** the locations for everything.
- **ps: All locations have been changed to make a preview video easier and with how big of a script this is, Im not going to config it for every city. THESE LOCATION DO NOT DO WELL FOR A LIVE SERVER SO CHANGE THEM**
- **STEP 4**
### STEP 4
- Head to your emote script search for **uncuff** if it's missing add it
- if rp or dpemotes then do this
```lua
["uncuff"] = {"mp_arresting","a_uncuff","Uncuff", AnimationOptions = { EmoteLoop = true, EmoteMoving = true } },
["edible"] = { "mp_player_inteat@burger", "mp_player_int_eat_burger", "edible", AnimationOptions = { EmoteLoop = false, EmoteMoving = true }},
["shootup"] = { "rcmpaparazzo1ig_4", "miranda_shooting_up", "Shoot Up", AnimationOptions = {EmoteLoop = true,EmoteMoving = true,Prop = 'prop_syringe_01', PansexualPropBone = 18905,PropPlacement = {0.11, 0.03, 0.0, -124.0, 0.0, 0.0},}},
```
- if scully emotes do this in emotes.lua
```
{
Label = 'Uncuff',
Command = 'uncuff',
Animation = 'a_uncuff',
Dictionary = 'mp_arresting',
Options = {
Flags = {
Loop = true,
Move = true,
},
}
},
{
Label = 'Edibles',
Command = 'edible',
Animation = 'mp_player_int_eat_burger',
Dictionary = 'mp_player_inteat@burger',
Options = {
Flags = {
Loop = true,
Move = true,
},
}
},
```
then in prop emotes do
```
{
Label = 'Shoot Up',
Command = 'shootup',
Animation = "miranda_shooting_up",
Dictionary = "rcmpaparazzo1ig_4",
Options = {
Flags = {
Loop = true,
},
Props = {
{
Bone = 18905,
Name = 'prop_syringe_01',
Placement = {
vector3(0.11, 0.03, 0.0),
vector3( -124.0, 0.0, 0.0),
- if rpemotes do this
- go to client/animationListCustom.lua
- add these to the CustomDP.Emotes = {}
```lua
["uncuff"] = {"mp_arresting","a_uncuff","Uncuff", AnimationOptions = { EmoteLoop = true, EmoteMoving = true } },
["edible"] = { "mp_player_inteat@burger", "mp_player_int_eat_burger", "edible", AnimationOptions = { EmoteLoop = false, EmoteMoving = true }},
```
- Add This to CustomDP.PropEmotes = {}
```lua
["shootup"] = { "rcmpaparazzo1ig_4", "miranda_shooting_up", "Shoot Up", AnimationOptions = {EmoteLoop = true,EmoteMoving = true,Prop = 'prop_syringe_01', PansexualPropBone = 18905,PropPlacement = {0.11, 0.03, 0.0, -124.0, 0.0, 0.0},}}
```
- elseif dpemotes add this to client/AnimationList.lua
- add these to DP.Emotes = {}
```lua
["uncuff"] = {"mp_arresting","a_uncuff","Uncuff", AnimationOptions = { EmoteLoop = true, EmoteMoving = true } },
["edible"] = { "mp_player_inteat@burger", "mp_player_int_eat_burger", "edible", AnimationOptions = { EmoteLoop = false, EmoteMoving = true }},
```
- add these to DP.PropEmotes = {}
```lua
["shootup"] = { "rcmpaparazzo1ig_4", "miranda_shooting_up", "Shoot Up", AnimationOptions = {EmoteLoop = true,EmoteMoving = true,Prop = 'prop_syringe_01', PansexualPropBone = 18905,PropPlacement = {0.11, 0.03, 0.0, -124.0, 0.0, 0.0},}}
```
- elseif scullyemotes then
- add this to emotes.lua
```lua
{
Label = 'Uncuff',
Command = 'uncuff',
Animation = 'a_uncuff',
Dictionary = 'mp_arresting',
Options = {
Flags = {
Loop = true,
Move = true,
},
}
},
{
Label = 'Edibles',
Command = 'edible',
Animation = 'mp_player_int_eat_burger',
Dictionary = 'mp_player_inteat@burger',
Options = {
Flags = {
Loop = true,
Move = true,
},
}
},
```
- then in prop emotes do
```lua
{
Label = 'Shoot Up',
Command = 'shootup',
Animation = "miranda_shooting_up",
Dictionary = "rcmpaparazzo1ig_4",
Options = {
Flags = {
Loop = true,
},
Props = {
{
Bone = 18905,
Name = 'prop_syringe_01',
Placement = {
vector3(0.11, 0.03, 0.0),
vector3( -124.0, 0.0, 0.0),
},
},
},
},
},
},
},
},
```
```
- **STEP 5**
- check `qb-smallresources/config.lua` and if this exists, delete it
```
[2] = { --Coke Processing Enter/Exit
[1] = {
poly = { coords = vector3(909.49, -1589.22, 30.51), heading = 92.24, length = 2, width = 2 },
allowVeh = false,
label = '[E] Enter Coke Processing'
},
[2] = {
poly = { coords = vector3(1088.81, -3187.57, -38.99), heading = 181.7, length = 2, width = 2 },
allowVeh = false,
label = '[E] Leave'
}
}
```
- **STEP 6**
Run SQL
# STEP 5
- check `qb-smallresources/config.lua` and if this exists, delete it
- look for this code
```lua
[2] = { --Coke Processing Enter/Exit
[1] = {
poly = { coords = vector3(909.49, -1589.22, 30.51), heading = 92.24, length = 2, width = 2 },
allowVeh = false,
label = '[E] Enter Coke Processing'
},
[2] = {
poly = { coords = vector3(1088.81, -3187.57, -38.99), heading = 181.7, length = 2, width = 2 },
allowVeh = false,
label = '[E] Leave'
}
}
```
-- **OPTIONAL STEPS**
# STEP 6
- Run SQL
<h1>Fivemerr</h1>
# OPTIONAL STEPS
## Fivemerr
This is NOT a requirement but something I personally use and believe in.
@@ -166,23 +183,20 @@ As well as a place to offload images and videos from fivem that doesnt rely on d
- [Fivemerr Discord](https://discord.com/invite/fivemerr)
- [Fivemerr Docs](https://docs.fivemerr.com/)
- <h1>Radial Menu </h1>
- head to `qb-radial/config.lua` and search for the following event
# Radial Menu
- head to `qb-radial/config.lua` and search for the following event
```lua
event = 'qb-drugs:client:cornerselling',
```
![](https://cdn.discordapp.com/attachments/1164709522691076120/1185724912648867940/image.png?ex=6590a760&is=657e3260&hm=51534201d8d3e71f79a5c1678879ed8423f381a4a31c62f1bce6caf73782abe0&)
- and change it to this
```lua
event = 'md-drugs:client:cornerselling',
```
![](https://cdn.discordapp.com/attachments/1164709522691076120/1185725132975644753/image.png?ex=6590a795&is=657e3295&hm=97d7f60ec6c4508af92f758c00669b1d52fe673c6481434b586f81cf29c1f292&)
or just use the command /cornersell
<h1>For Qb-shops users</h1>
# For Qb-shops users
- Head to `qb-shops/config.lua` **Config.Products** and add the folowing items to OR anywhere else you want them. The Only way in this script to get them is to find the travelling merchant
- Head to `qb-shops/config.lua` **Config.Products** and add the folowing items to OR anywhere else you want them. The Only way in this script to get them is to find the travelling merchant
```lua
{name = 'bakingsoda', price = 100, amount = 5000, info = {}, type = 'item'},
@@ -190,7 +204,7 @@ or just use the command /cornersell
{name = 'needle', price = 100, amount = 5000, info = {}, type = 'item'},
```
- <h1>Tier System</h1>
Turn On Config.TierSystem after you run the sql file
# Tier System
- Turn On Config.TierSystem after you run the sql file
[mlo i use](https://www.gta5-mods.com/maps/mlo-4x-drug-lab-interiors-sp-fivem) heres an option. use it or dont.
+63 -67
View File
@@ -34,85 +34,81 @@ AddEventHandler("coke:pickupCane", function(loc)
end)
RegisterServerEvent('md-drugs:server:makepowder', function(num)
local src = source
if CheckDist(src, Config.MakePowder[num]['loc']) then return end
if Config.TierSystem then
local coke = getRep(src, 'coke')
if coke <= Config.Tier1 then
if not GetRecipe(src, 'cocaine', 'cokepowder', 'tier1') then return end
Log(GetName(src) .. ' Made Raw Coke' .. dist(src, Config.MakePowder[num]['loc']) .. ' vectors', 'coke')
elseif coke >= Config.Tier1 and coke <= Config.Tier2 then
if not GetRecipe(src, 'cocaine', 'cokepowder', 'tier2') then return end
Log(GetName(src) .. ' Made Raw Coke tier 2' .. dist(src, Config.MakePowder[num]['loc']) .. ' vectors', 'coke')
else
if not GetRecipe(src, 'cocaine', 'cokepowder', 'tier3') then return end
Log(GetName(src) ..' Made Raw Coke tier 3' .. dist(src, Config.MakePowder[num]['loc']) .. ' vectors', 'coke')
end
else
if not GetRecipe(src, 'cocaine', 'cokepowder', 'tier1') then return end
Log(GetName(src) .. ' Made Raw Coke' .. dist(src, Config.MakePowder[num]['loc']) .. ' vectors', 'coke')
end
local src = source
if CheckDist(src, Config.MakePowder[num]['loc']) then return end
local tier = 'tier1'
local logMessage = ' Made Raw Coke'
if Config.TierSystem then
local coke = getRep(src, 'coke')
if coke > Config.Tier1 and coke <= Config.Tier2 then
tier = 'tier2'
logMessage = ' Made Raw Coke tier 2'
elseif coke > Config.Tier2 then
tier = 'tier3'
logMessage = ' Made Raw Coke tier 3'
end
end
if not GetRecipe(src, 'cocaine', 'cokepowder', tier) then return end
Log(GetName(src) .. logMessage .. dist(src, Config.MakePowder[num]['loc']) .. ' vectors', 'coke')
end)
RegisterServerEvent('md-drugs:server:cutcokeone', function()
local src = source
local Player = QBCore.Functions.GetPlayer(src)
if Config.TierSystem then
local coke = Player.Functions.GetItemByName('coke')
local coke2 = Player.Functions.GetItemByName('cokestagetwo')
local coke3 = Player.Functions.GetItemByName('cokestagethree')
if coke then
if not GetRecipe(src, 'cocaine', 'cutcoke', 'tier1') then return end
Log(GetName(src) .. ' Cut Coke', 'coke')
elseif coke2 then
if not GetRecipe(src, 'cocaine', 'cutcoke', 'tier2') then return end
Log(GetName(src) .. ' Cut Coke tier 2', 'coke')
elseif coke3 then
if not GetRecipe(src, 'cocaine', 'cutcoke', 'tier3') then return end
Log(GetName(src) .. ' Cut Coke tier 3', 'coke')
else
Notifys(src,Lang.Coke.nocutcoke, "error")
end
else
if not GetRecipe(src, 'cocaine', 'cutcoke', 'tier1') then return end
Log(GetName(src) .. ' Cut Coke', 'coke')
end
local src = source
local Player = getPlayer(src)
local count = 0
if Config.TierSystem then
local cokeTiers = {
{item = 'coke', tier = 'tier1', log = ' Cut Coke'},
{item = 'cokestagetwo', tier = 'tier2', log = ' Cut Coke tier 2'},
{item = 'cokestagethree', tier = 'tier3', log = ' Cut Coke tier 3'}
}
for _, v in ipairs(cokeTiers) do
if count >= 1 then return end
if Player.Functions.GetItemByName(v.item) then
if not GetRecipe(src, 'cocaine', 'cutcoke', v.tier) then return end
Log(GetName(src) .. v.log, 'coke')
return
end
end
Notifys(src, Lang.Coke.nocutcoke, "error")
else
if not GetRecipe(src, 'cocaine', 'cutcoke', 'tier1') then return end
Log(GetName(src) .. ' Cut Coke', 'coke')
end
end)
RegisterServerEvent('md-drugs:server:bagcoke', function()
local src = source
local Player = QBCore.Functions.GetPlayer(src)
if Config.TierSystem then
local coke = getRep(source, 'coke')
local locoke = Player.Functions.GetItemByName('loosecoke')
local locoke2 = Player.Functions.GetItemByName('loosecokestagetwo')
local locoke3 = Player.Functions.GetItemByName('loosecokestagethree')
if locoke then
if not GetRecipe(src, 'cocaine', 'bagcoke', 'tier1') then return end
AddRep(src, 'coke')
Log(GetName(src) .. ' Bagged Coke and now has a rep of ' .. coke + 1, 'coke')
elseif locoke2 then
if not GetRecipe(src, 'cocaine', 'bagcoke', 'tier1') then return end
AddRep(src, 'coke')
Log(GetName(src) .. ' Bagged Coke tier 2 and now has a rep of ' .. coke + 1, 'coke')
elseif locoke3 then
if not GetRecipe(src, 'cocaine', 'bagcoke', 'tier3') then return end
AddRep(src, 'coke')
Log(GetName(source) .. ' Bagged Coke tier 3 and now has a rep of ' .. coke + 1, 'coke')
else
Notifys(src, Lang.Coke.nobagcoke, "error")
end
else
if not GetRecipe(src, 'cocaine', 'bagcoke', 'tier1') then return end
Log(GetName(source) .. ' Bagged Coke', 'coke')
end
local src = source
local Player = getPlayer(src)
local count = 0
if Config.TierSystem then
local coke = getRep(src, 'coke')
local cokeTiers = {
{item = 'loosecoke', tier = 'tier1', log = ' Bagged Coke'},
{item = 'loosecokestagetwo', tier = 'tier2', log = ' Bagged Coke tier 2'},
{item = 'loosecokestagethree', tier = 'tier3', log = ' Bagged Coke tier 3'}
}
for _, v in ipairs(cokeTiers) do
if Player.Functions.GetItemByName(v.item) then
if count >= 1 then return end
if not GetRecipe(src, 'cocaine', 'bagcoke', v.tier) then return end
AddRep(src, 'coke')
Log(GetName(src) .. v.log .. ' and now has a rep of ' .. coke + 1, 'coke')
return
end
end
Notifys(src, Lang.Coke.nobagcoke, "error")
else
if not GetRecipe(src, 'cocaine', 'bagcoke', 'tier1') then return end
Log(GetName(src) .. ' Bagged Coke', 'coke')
end
end)
local cokecut = {loosecokestagetwo = 2, loosecokestagethree = 3}
for k, v in pairs (cokecut) do
QBCore.Functions.CreateUseableItem(k, function(source, item)
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
if Player.Functions.GetItemByName(item.name) then
if not Itemcheck(src, 'bakingsoda', 1) then return end
TriggerClientEvent('md-drugs:client:minusTier', src, {type = 'coke', xt = 'bakingsoda', item = k, amount = v,recieve = 'loosecoke'})
+13 -15
View File
@@ -1,26 +1,24 @@
local QBCore = exports['qb-core']:GetCoreObject()
for k, v in pairs (Consumables.Items) do QBCore.Functions.CreateUseableItem(k, function(source, item)
local src = source
local Player = QBCore.Functions.GetPlayer(src)
if v.time == nil then v.time = Consumables.defaulttime end
if v.effect == nil then v.effect = 0 end
if v.anim == nil then v.anim = Consumables.defaultanim end
if v.progressbartext == nil then v.progressbartext = Consumables.defaultprogresstext end
if v.add == nil then v.add = 'none' end
TriggerClientEvent("md-drugs:client:consumedrugs", source, v.time, v.effect, v.anim, v.progressbartext, v.add, k)
end)
for k, v in pairs(Consumables.Items) do
QBCore.Functions.CreateUseableItem(k, function(source, item)
if not Itemcheck(source, k, 1) then return end
local time = v.time or Consumables.defaulttime
local effect = v.effect or 0
local anim = v.anim or Consumables.defaultanim
local progressbartext = v.progressbartext or Consumables.defaultprogresstext
local add = v.add or {hunger = 0}
TriggerClientEvent("md-drugs:client:consumedrugs", source, time, effect, anim, progressbartext, add, k)
end)
end
RegisterNetEvent('md-drugs:server:removeconsum', function(item)
local src = source
RemoveItem(source,item, 1)
Log(GetName(source) .. ' Got High With ' .. item .. '!', 'consuming')
RemoveItem(source,item, 1)
Log(GetName(source) .. ' Got High With ' .. item .. '!', 'consuming')
end)
RegisterNetEvent('md-drugs:server:updatestatus', function(stat, statval)
local Player = QBCore.Functions.GetPlayer(source)
local Player = getPlayer(source)
if stat == "thirst" then
local value = Player.PlayerData.metadata.thirst + statval
Player.Functions.SetMetaData('hunger', value)
+7 -5
View File
@@ -1,7 +1,8 @@
local QBCore = exports['qb-core']:GetCoreObject()
lib.callback.register('md-drugs:server:cornerselling:getAvailableDrugs', function(source, cb)
local Player = QBCore.Functions.GetPlayer(source)
local Player = getPlayer(source)
local rep = getRep(source, 'cornerselling')
if not Player then return nil end
local type = 0
for k, v in pairs(QBConfig.DrugsPrice) do
@@ -12,7 +13,8 @@ lib.callback.register('md-drugs:server:cornerselling:getAvailableDrugs', functio
local amount = math.random(1,item.amount)
if amount >= 15 then amount = 15 end
local price = math.random(QBConfig.DrugsPrice[k]['min'], QBConfig.DrugsPrice[k]['max']) * amount
return item.name, amount, price
local result = math.floor(price * rep.price)
return item.name, amount, result
end
end
if type == 0 then
@@ -23,8 +25,9 @@ end)
RegisterNetEvent('md-drugs:server:sellCornerDrugs', function(item, amount, price)
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
if RemoveItem(src, item, amount) then
AddRep(src, 'cornerselling', QBConfig.DrugsPrice[item].rep * amount)
Log(GetName(src) .. ' Sold ' .. amount .. ' Of ' .. item .. ' For A Price Of ' .. price .. '!' , 'cornerselling')
if QBConfig.MarkedBills then
if price >= QBConfig.DrugsPrice[item]['min'] * amount and price <= QBConfig.DrugsPrice[item]['max'] * amount then
@@ -44,11 +47,10 @@ end)
lib.addCommand('cornersell', {
help = 'Sell Things On The Corner',
params = {
},
}, function(source, args, raw)
local src = source
local Player = QBCore.Functions.GetPlayer(source)
local Player = getPlayer(src)
Log(GetName(source) .. ' Used Command cornersell!' , 'cornerselling')
TriggerClientEvent('md-drugs:client:cornerselling', src)
end)
+42 -47
View File
@@ -1,63 +1,58 @@
local QBCore = exports['qb-core']:GetCoreObject()
RegisterServerEvent('md-drugs:server:makecrackone', function(num)
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local src = source
local Player = getPlayer(src)
local count,type, tier = 0, 'cookcrack', 'tier1'
if CheckDist(src, Config.makecrack[num]['loc']) then return end
if Config.TierSystem then
local locoke = Player.Functions.GetItemByName('loosecoke')
local locoke2 = Player.Functions.GetItemByName('loosecokestagetwo')
local locoke3 = Player.Functions.GetItemByName('loosecokestagethree')
if locoke then
if not GetRecipe(src, 'crack', 'cookcrack', 'tier1') then return end
Log(GetName(src) .. ' Cut Crack', 'crack')
elseif locoke2 then
if not GetRecipe(src, 'crack', 'cookcrack', 'tier2') then return end
Log(GetName(src) .. ' Cut Crack', 'crack')
elseif locoke3 then
if not GetRecipe(src, 'crack', 'cookcrack', 'tier3') then return end
Log(GetName(src) .. ' Cut Crack', 'crack')
else
Notifys(src,Lang.Crack.nocoke, 'error')
end
else
if not GetRecipe(src, 'crack', 'cookcrack', 'tier1') then return end
Log(GetName(src) .. ' Cut Crack', 'crack')
end
if Config.TierSystem then
local crackTiers = {
{item = 'loosecoke', tier = 'tier1', log = ' Cut Crack'},
{item = 'loosecokestagetwo', tier = 'tier2', log = ' Cut Crack tier 2'},
{item = 'loosecokestagethree', tier = 'tier3', log = ' Cut Crack tier 3'}
}
for _, v in ipairs(crackTiers) do
if count >= 1 then break end
print(v.item)
if Player.Functions.GetItemByName(v.item) then
tier = v.tier
count = count + 1
Log(GetName(src) .. v.log, 'crack')
end
end
end
print(tier)
if not GetRecipe(src, 'crack', type, tier) then return end
end)
RegisterServerEvent('md-drugs:server:bagcrack', function(num)
local src = source
local Player = QBCore.Functions.GetPlayer(src)
if CheckDist(src, Config.bagcrack[num]['loc']) then return end
if Config.TierSystem then
local rock = Player.Functions.GetItemByName('crackrock')
local rock2 = Player.Functions.GetItemByName('crackrockstagetwo')
local rock3 = Player.Functions.GetItemByName('crackrockstagethree')
if rock then
if not GetRecipe(src, 'crack', 'bagcrack', 'tier1') then return end
Log(GetName(src) .. ' Bagged Crack', 'crack')
elseif rock2 then
if not GetRecipe(src, 'crack', 'bagcrack', 'tier2') then return end
Log(GetName(src) .. ' Bagged Crack', 'crack')
elseif rock3 then
if not GetRecipe(src, 'crack', 'bagcrack', 'tier3') then return end
Log(GetName(src) .. ' Bagged Crack', 'crack')
else
Notifys(src, Lang.Crack.nocoke, "error")
end
else
if not GetRecipe(src, 'crack', 'bagcrack', 'tier1') then return end
Log(GetName(src) .. ' Bagged Crack', 'crack')
end
local src = source
local Player = getPlayer(src)
local count,type, tier = 0, 'bagcrack', 'tier1'
if Config.TierSystem then
local crackTiers = {
{item = 'crackrock', tier = 'tier1', log = ' Bagged Crack'},
{item = 'crackrockstagetwo', tier = 'tier2', log = ' Bagged Crack tier 2'},
{item = 'crackrockstagethree', tier = 'tier3', log = ' Bagged Crack tier 3'}
}
for _, v in ipairs(crackTiers) do
if count >= 1 then break end
if Player.Functions.GetItemByName(v.item) then
tier = v.tier
count = count + 1
Log(GetName(src) .. v.log, 'crack')
end
end
end
if not GetRecipe(src, 'crack', type, tier) then return end
end)
local cokecut = {crackrockstagetwo = 2, crackrockstagethree = 3}
for k, v in pairs (cokecut) do
QBCore.Functions.CreateUseableItem(k, function(source, item)
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
if Player.Functions.GetItemByName(item.name) then
if not Itemcheck(src, 'bakingsoda', 1) then return end
TriggerClientEvent('md-drugs:client:minusTier', src, {type = 'crack', xt = 'bakingsoda', item = k, amount = v,recieve = 'crackrock'})
+5 -4
View File
@@ -18,7 +18,7 @@ end)
lib.callback.register('md-drugs:server:GetDeliveryItem', function(data)
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
local item = math.random(1, #QBConfig.DeliveryItems)
local amount = math.random(1,4)
local check = MySQL.query.await('SELECT * FROM deliveriesdealer WHERE cid = ?', {Player.PlayerData.citizenid})
@@ -44,7 +44,7 @@ end)
RegisterNetEvent('md-drugs:server:giveDeliveryItems', function(item, amount)
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
local check = MySQL.query.await('SELECT * FROM deliveriesdealer WHERE cid = ?', {Player.PlayerData.citizenid})
if not check[1] then return end
local time = os.time()
@@ -69,7 +69,7 @@ end)
QBCore.Commands.Add("newdealer", "Place a dealer (Admin Only)", {{ name = "name", help = "Dealer name"}, { name = "min", help = "Minimum Time"}, {name = "max", help = "Maximum Time"}}, true, function(source, args)
local ped = GetPlayerPed(source)
local coords = GetEntityCoords(ped)
local Player = QBCore.Functions.GetPlayer(source)
local Player = getPlayer(source)
if not Player then return end
local dealerName = args[1]
local minTime = tonumber(args[2])
@@ -113,7 +113,8 @@ QBCore.Commands.Add("deletedealer", "Delete a dealer (Admin Only)", {{
end, "admin")
RegisterServerEvent("md-drugs:server:Dealershop", function(amount, value, item, info)
local src = source local Player = QBCore.Functions.GetPlayer(src)
local src = source
local Player = getPlayer(src)
local balance = Player.Functions.GetMoney(tostring(value))
if Player.Functions.RemoveMoney(tostring(value), tonumber(info) * tonumber(amount)) then
TriggerClientEvent('inventory:client:ItemBox', src, item.name, "add", amount)
+128 -74
View File
@@ -66,50 +66,16 @@ else
inventory = 'qb'
end
end)
------------------------------------ functions
---
---
function Notifys(source, text, type)
------------------------------------ Player Stuff functions
function getPlayer(source)
local src = source
if notify == 'qb' then
TriggerClientEvent("QBCore:Notify", src, text, type)
elseif notify == 'ox' then
lib.notify(src, { title = text, type = type})
elseif notify == 'okok' then
TriggerClientEvent('okokNotify:Alert', src, '', text, 4000, type, false)
else
print"^1 Look At The Config For Proper Alert Options"
end
local Player = QBCore.Functions.GetPlayer(src)
return Player
end
function GetLabels(item)
if inventory == 'qb' then
return QBCore.Shared.Items[item].label
elseif inventory == 'ox' then
local items = exports.ox_inventory:Items()
return items[item].label
end
end
function Itemcheck(source, item, amount)
if inventory == 'qb' then
local Player = QBCore.Functions.GetPlayer(source)
local itemchecks = Player.Functions.GetItemByName(item)
if itemchecks and itemchecks.amount >= amount then
return true
else
Notifys(source, 'You Need ' .. amount .. ' Of ' .. GetLabels(item) .. ' To Do this', 'error')
return false
end
elseif inventory == 'ox' then
local items = exports.ox_inventory:GetItem(source, item, nil, false)
if items.count >= amount then
return true
else
Notifys(source, 'You Need ' .. amount .. ' Of ' .. GetLabels(item) .. ' To Do This', 'error')
return false
end
end
function GetName(source)
local Player = getPlayer(source)
return Player.PlayerData.charinfo.firstname .. ' ' .. Player.PlayerData.charinfo.lastname
end
function GetCoords(source)
@@ -137,22 +103,53 @@ function CheckDist(source, coords)
end
end
function checkTable(table)
local need = 0
local have = 0
for k, v in pairs (table) do
need = need + 1
if Itemcheck(source, k, v) then have = have + 1 end
end
if need == have then
return true
else
end
function Notifys(source, text, type)
local src = source
if notify == 'qb' then
TriggerClientEvent("QBCore:Notify", src, text, type)
elseif notify == 'ox' then
lib.notify(src, { title = text, type = type})
elseif notify == 'okok' then
TriggerClientEvent('okokNotify:Alert', src, '', text, 4000, type, false)
else
print"^1 Look At The Config For Proper Alert Options"
end
end
function GetLabels(item)
if inventory == 'qb' then
return QBCore.Shared.Items[item].label
elseif inventory == 'ox' then
local items = exports.ox_inventory:Items()
return items[item].label
end
end
function Itemcheck(source, item, amount)
if inventory == 'qb' then
local Player = getPlayer(source)
local itemchecks = Player.Functions.GetItemByName(item)
if itemchecks and itemchecks.amount >= amount then
return true
else
Notifys(source, 'You Need ' .. amount .. ' Of ' .. GetLabels(item) .. ' To Do this', 'error')
return false
end
elseif inventory == 'ox' then
local items = exports.ox_inventory:GetItem(source, item, nil, false)
if items.count >= amount then
return true
else
Notifys(source, 'You Need ' .. amount .. ' Of ' .. GetLabels(item) .. ' To Do This', 'error')
return false
end
end
end
function RemoveItem(source, item, amount)
if inventory == 'qb' then
local Player = QBCore.Functions.GetPlayer(source)
local Player = getPlayer(source)
if Player.Functions.RemoveItem(item, amount) then
TriggerClientEvent(invname ..":client:ItemBox", source, QBCore.Shared.Items[item], "remove", amount)
return true
@@ -170,7 +167,7 @@ end
function AddItem(source, item, amount)
if inventory == 'qb' then
local Player = QBCore.Functions.GetPlayer(source)
local Player = getPlayer(source)
if Player.Functions.AddItem(item, amount) then
TriggerClientEvent(invname ..":client:ItemBox", source, QBCore.Shared.Items[item], "add", amount)
return true
@@ -190,14 +187,9 @@ function AddItem(source, item, amount)
end
end
function GetName(source)
local Player = QBCore.Functions.GetPlayer(source)
return Player.PlayerData.charinfo.firstname .. ' ' .. Player.PlayerData.charinfo.lastname
end
function getRep(source, type)
local Player = QBCore.Functions.GetPlayer(source)
local Player = getPlayer(source)
local sql = MySQL.query.await('SELECT * FROM drugrep WHERE cid = ?', {Player.PlayerData.citizenid})
if not sql[1] then
local table = json.encode({
@@ -205,11 +197,20 @@ function getRep(source, type)
lsd = Player.PlayerData.metadata.lsd or 0,
heroin = Player.PlayerData.metadata.heroin or 0,
dealerrep = Player.PlayerData.metadata.dealerrep or 0,
cornerselling = {
price = QBConfig.SellLevel[1].price,
rep = 0,
label = QBConfig.SellLevel[1].label,
level = 1
}
})
MySQL.insert('INSERT INTO drugrep SET cid = ?, drugrep = ?, name = ?', {Player.PlayerData.citizenid, table, GetName(source)})
return 0
Wait(1000)
return json.decode(table)
else
local rep = json.decode(sql[1].drugrep)
local reps = json.decode(sql[1].drugrep)
local rep = ''
if reps.coke == nil then rep = reps[1] else rep = reps end
if type == 'coke' then
return rep.coke
elseif type == 'heroin' then
@@ -218,6 +219,8 @@ function getRep(source, type)
return rep.lsd
elseif type == 'dealerrep' then
return rep.dealerrep
elseif type == 'cornerselling' then
return rep.cornerselling
else
print('^1 Error: No Valid Drug Rep Option Chosen')
end
@@ -226,7 +229,7 @@ function getRep(source, type)
end
function GetAllRep(source)
local Player = QBCore.Functions.GetPlayer(source)
local Player = getPlayer(source)
local sql = MySQL.query.await('SELECT * FROM drugrep WHERE cid = ?', {Player.PlayerData.citizenid})
if not sql[1] then
local table = json.encode({
@@ -234,38 +237,89 @@ function GetAllRep(source)
lsd = Player.PlayerData.metadata.lsd or 0,
heroin = Player.PlayerData.metadata.heroin or 0,
dealerrep = Player.PlayerData.metadata.dealerrep or 0,
cornerselling = {
price = QBConfig.SellLevel[1].price,
rep = 0,
label = QBConfig.SellLevel[1].label,
level = 1
}
})
MySQL.insert('INSERT INTO drugrep SET cid = ?, drugrep = ?, name = ?', {Player.PlayerData.citizenid, table, GetName(source)})
Wait(1000)
return 0
return json.decode(table)
else
local rep = json.decode(sql[1].drugrep)
if rep.coke == nil then return rep[1] end
return rep
end
end
function AddRep(source, type)
local Player = QBCore.Functions.GetPlayer(source)
function AddRep(source, type, amount)
if not amount then amount = 1 end
local Player = getPlayer(source)
local sql = MySQL.query.await('SELECT * FROM drugrep WHERE cid = ?', {Player.PlayerData.citizenid})
local rep = json.decode(sql[1].drugrep)
local reps = json.decode(sql[1].drugrep)
local update
if type == 'coke' then
update = json.encode({coke = rep.coke + 1, heroin = rep.heroin, lsd = rep.lsd, dealerrep = rep.dealerrep})
local rep = ''
if reps.coke == nil then rep = reps[1] else rep = reps end
if type == 'cornerselling' then
for k, v in pairs (QBConfig.SellLevel) do
if rep.cornerselling.level == k then
if rep.cornerselling.rep + amount >= v.maxrep then
update = json.encode({coke = rep.coke, heroin = rep.heroin, lsd = rep.lsd, dealerrep = rep.dealerrep, cornerselling = {label = v.label, price = v.price, rep = rep.cornerselling.rep + amount, level = k + 1}})
else
update = json.encode({coke = rep.coke, heroin = rep.heroin, lsd = rep.lsd, dealerrep = rep.dealerrep, cornerselling = {label = v.label, price = v.price, rep = rep.cornerselling.rep + amount, level = k}})
end
end
end
elseif type == 'coke' then
update = json.encode({coke = rep.coke + amount, heroin = rep.heroin, lsd = rep.lsd, dealerrep = rep.dealerrep, cornerselling = rep.cornerselling})
elseif type == 'heroin' then
update = json.encode({coke = rep.coke, heroin = rep.heroin + 1, lsd = rep.lsd, dealerrep = rep.dealerrep})
update = json.encode({coke = rep.coke, heroin = rep.heroin + amount, lsd = rep.lsd, dealerrep = rep.dealerrep, cornerselling = rep.cornerselling})
elseif type == 'lsd' then
update = json.encode({coke = rep.coke, heroin = rep.heroin, lsd = rep.lsd +1 , dealerrep = rep.dealerrep})
update = json.encode({coke = rep.coke, heroin = rep.heroin, lsd = rep.lsd +amount , dealerrep = rep.dealerrep, cornerselling = rep.cornerselling})
elseif type == 'dealerrep' then
update = json.encode({coke = rep.coke, heroin = rep.heroin, lsd = rep.lsd, dealerrep = rep.dealerrep + 1})
update = json.encode({coke = rep.coke, heroin = rep.heroin, lsd = rep.lsd, dealerrep = rep.dealerrep + amount, cornerselling = rep.cornerselling})
end
if update == '' then return false end
MySQL.update('UPDATE drugrep SET drugrep = ? WHERE cid = ?', {update, Player.PlayerData.citizenid})
return true
end
lib.addCommand('addCornerSellingTOREP', {
help = 'RUN THIS ONCE AND DELETE',
restricted = 'group.admin'
}, function(source, args, raw)
local sql = MySQL.query.await('SELECT * FROM drugrep', {})
for k, v in pairs (sql) do
local new = {}
local old = json.decode(v.drugrep)
local get = old[1] or old
table.insert(new, {
coke = get.coke,
lsd = get.lsd,
heroin = get.heroin,
dealerrep = get.dealerrep,
cornerselling = {
price = QBConfig.SellLevel[1].price,
rep = 0,
label = QBConfig.SellLevel[1].label,
level = 1
}
})
local news = json.encode(new)
MySQL.query.await('UPDATE drugrep SET drugrep = ? WHERE cid = ?', {news, v.cid})
end
end)
function sortTab(tbl, type)
table.sort(tbl, function(a, b)
return a[type] < b[type]
end)
end
function ChecknRemove(source, table)
local Player = QBCore.Functions.GetPlayer(source)
local Player = getPlayer(source)
local hass = 0
local need = 0
for k, v in pairs (table) do
@@ -282,7 +336,7 @@ function ChecknRemove(source, table)
if items.count >= v then
hass = hass + 1
else
Notifys(source, 'You Need ' .. amount .. ' Of ' .. GetLabels(item) .. ' To Do This', 'error')
Notifys(source, 'You Need ' .. v .. ' Of ' .. GetLabels(k) .. ' To Do This', 'error')
end
end
end
+8 -8
View File
@@ -68,7 +68,7 @@ end)
RegisterServerEvent('md-drugs:server:cutheroin', function(num)
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
if CheckDist(source, Config.cutheroinone[num]['loc']) then return end
if not Itemcheck(src, 'bakingsoda', 1) then return end
if Config.TierSystem then
@@ -95,7 +95,7 @@ end)
RegisterServerEvent('md-drugs:server:getheroinlabkit', function()
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
if CheckDist(source, vector3(Config.buyheroinlabkit.x,Config.buyheroinlabkit.y,Config.buyheroinlabkit.z)) then return end
if Player.Functions.RemoveMoney('cash', Config.heroinlabkitprice) then
@@ -108,7 +108,7 @@ end)
RegisterServerEvent('md-drugs:server:getheroinlabkitback', function()
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
if AddItem(src, "heroinlabkit", 1) then
Log(GetName(src) ..' Picked Up Their Heroin Lab Kit Back At ' .. GetCoords(src) .. '!', 'heroin')
end
@@ -116,7 +116,7 @@ end)
QBCore.Functions.CreateUseableItem('heroinlabkit', function(source, item)
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
if not Itemcheck(source, 'heroinlabkit', 1) then return end
if TriggerClientEvent("md-drugs:client:setheroinlabkit", src) then
RemoveItem(src, "heroinlabkit", 1)
@@ -128,7 +128,7 @@ end)
RegisterServerEvent('md-drugs:server:heatliquidheroin', function()
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
if not Itemcheck(source, 'emptyvial', 1) then return end
if Config.TierSystem then
local cuth = Player.Functions.GetItemByName('heroincut')
@@ -154,7 +154,7 @@ end)
RegisterServerEvent('md-drugs:server:failheatingheroin', function()
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
local cuth = Player.Functions.GetItemByName('heroincut')
local cuth2 = Player.Functions.GetItemByName('heroincutstagetwo')
local cuth3 = Player.Functions.GetItemByName('heroincutstagethree')
@@ -174,7 +174,7 @@ end)
RegisterServerEvent('md-drugs:server:fillneedle', function(num)
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
if CheckDist(source, Config.fillneedle[num]['loc']) then return end
if not Itemcheck(src, 'needle', 1) then return end
if Config.TierSystem then
@@ -207,7 +207,7 @@ end)
RegisterServerEvent('md-drugs:server:failheroin', function()
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
Log(GetName(src) ..' Sucks And Burned Their Heroin', 'heroin')
if Config.TierSystem then
local vh = Player.Functions.GetItemByName('heroinvial')
+6 -10
View File
@@ -1,31 +1,27 @@
local QBCore = exports['qb-core']:GetCoreObject()
RegisterServerEvent('md-drugs:server:givelean', function()
local src = source
local chance = math.random(1,100)
local amount = math.random(1,5)
if chance <= 50 then
if AddItem(src, 'mdlean', amount) then
if AddItem(source, 'mdlean', amount) then
Notifys(Lang.Lean.lean, "success")
Log(GetName(src) .. ' Got ' .. amount .. ' Of Lean' , 'lean')
Log(GetName(source) .. ' Got ' .. amount .. ' Of Lean' , 'lean')
end
else
if AddItem(src, 'mdreddextro', amount) then
if AddItem(source, 'mdreddextro', amount) then
Notifys(Lang.Lean.dextro, "success")
Log(GetName(src) .. ' Got ' .. amount .. ' Of Red Dextro' , 'lean')
Log(GetName(source) .. ' Got ' .. amount .. ' Of Red Dextro' , 'lean')
end
end
end)
QBCore.Functions.CreateUseableItem('leancup', function(source, item)
local src = source
local Player = QBCore.Functions.GetPlayer(src)
if Itemcheck(src, 'leancup', 1) then
TriggerClientEvent('md-drugs:client:leancraft', src)
if Itemcheck(source, 'leancup', 1) then
TriggerClientEvent('md-drugs:client:leancraft', source)
end
end)
RegisterServerEvent('md-drugs:server:finishcup', function(data)
local src = source
if not GetRecipe(source, 'lean','cups', data.item) then return end
end)
+39 -43
View File
@@ -9,8 +9,7 @@ RegisterServerEvent('md-drugs:server:getlysergic', function(num)
end)
RegisterServerEvent('md-drugs:server:getdiethylamide', function(num)
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local src = source
if CheckDist(src, Config.diethylamide[num]['loc']) then return end
if AddItem(src,'diethylamide', 2) then
Log(GetName(src) ..' Got Diethylamide with a distance of ' .. dist(source, Config.diethylamide[num]['loc']) .. '!', 'lsd')
@@ -28,7 +27,7 @@ end)
lib.callback.register('md-drugs:server:removecleaningkit', function(source)
local src = source
local src = source
if not Itemcheck(src, 'cleaningkit', 1) then return end
if RemoveItem(src,"cleaningkit", 1) then
Log(GetName(src) ..' Wiped Down Their LSD Lab Kit!' , 'lsd')
@@ -37,21 +36,21 @@ local src = source
end)
RegisterServerEvent('md-drugs:server:getlabkitback', function()
local src = source
local src = source
if AddItem(src,"lsdlabkit", 1) then
Log(GetName(src) ..' Picked Up Their LSD Lab Kit Back At ' .. GetCoords(src) .. '!', 'lsd')
end
end)
RegisterServerEvent('md-drugs:server:heatliquid', function()
local src = source
local src = source
if not GetRecipe(src, 'lsd', 'vial', 'heat') then return end
Log(GetName(src) ..' Heated Basic LSD!', 'lsd')
end)
RegisterServerEvent('md-drugs:server:failheating', function()
local src = source
if not ChecknRemove(source, {lysergic_acid = 1, diethylamide = 1}) then return end
local src = source
if not ChecknRemove(source, {lysergic_acid = 1, diethylamide = 1}) then return end
Notifys(src,Lang.lsd.failed, "error")
Log(GetName(src) ..' Failed Basic LSD Like An Idiot!', 'lsd')
end)
@@ -59,7 +58,6 @@ end)
RegisterServerEvent('md-drugs:server:refinequalityacid', function()
local src = source
local randomchance = math.random(1,100)
if not Itemcheck(src, 'lsd_one_vial', 1) then return end
if Config.TierSystem then
local lsd = getRep(src, 'lsd')
@@ -79,6 +77,7 @@ if not Itemcheck(src, 'lsd_one_vial', 1) then return end
Log(GetName(src) ..' Refined Acid and Now Has A Rep Of ' .. lsd + 1 .. '!', 'lsd')
end
else
local randomchance = math.random(1,100)
if RemoveItem(src,'lsd_one_vial', 1) then
if randomchance <= 60 then
AddItem(src,'lsd_vial_two', 1)
@@ -105,7 +104,7 @@ end)
RegisterServerEvent('md-drugs:server:gettabpaper', function(num)
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
if CheckDist(source, Config.gettabs[num]['loc']) then return end
if Player.Functions.RemoveMoney('cash', Config.tabcost * 10) then
AddItem(src,'tab_paper', 10)
@@ -117,7 +116,7 @@ end)
RegisterServerEvent('md-drugs:server:getlabkit', function()
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
if CheckDist(source, vector3(Config.buylsdlabkit.x, Config.buylsdlabkit.y, Config.buylsdlabkit.z)) then return end
if Player.Functions.RemoveMoney('cash', Config.lsdlabkitcost) then
AddItem(src,'lsdlabkit', 1)
@@ -127,39 +126,36 @@ RegisterServerEvent('md-drugs:server:getlabkit', function()
end
end)
RegisterServerEvent('md-drugs:server:maketabpaper', function()
local src = source
local Player = QBCore.Functions.GetPlayer(src)
if not Itemcheck(src,'tab_paper', 1) then return end
if RemoveItem(src,'lsd_one_vial', 1) then
RemoveItem(src,'tab_paper', 1)
AddItem(src,'smileyfacesheet', 1)
Log(GetName(src) ..' Made A Smiley Face Sheet', 'lsd')
elseif Player.Functions.RemoveItem('lsd_vial_two', 1) then
RemoveItem(src,'tab_paper', 1)
AddItem(src,'wildcherrysheet', 1)
Log(GetName(src) ..' Made A Wild Cherry Sheet', 'lsd')
elseif Player.Functions.RemoveItem('lsd_vial_three', 1) then
RemoveItem(src,'tab_paper', 1)
AddItem(src,'yinyangsheet', 1)
Log(GetName(src) ..' Made A Yin Yang Sheet', 'lsd')
elseif Player.Functions.RemoveItem('lsd_vial_four', 1) then
RemoveItem(src,'tab_paper', 1)
AddItem(src,'pineapplesheet', 1)
Log(GetName(src) ..' Made A Pine Apple Sheet', 'lsd')
elseif Player.Functions.RemoveItem('lsd_vial_five', 1) then
RemoveItem(src,'tab_paper', 1)
AddItem(src,'bartsheet', 1)
Log(GetName(src) ..' Made A Cluckin Bell Sheet', 'lsd')
elseif Player.Functions.RemoveItem('lsd_vial_six', 1) then
RemoveItem(src,'tab_paper', 1)
AddItem(src,'gratefuldeadsheet', 1)
Log(GetName(src) ..' Made A Maze Sheet', 'lsd')
else
Notifys(Lang.lsd.novial, "error")
local src = source
local Player = getPlayer(src)
if not Itemcheck(src,'tab_paper', 1) then return end
local count = 0
local items, recieve = nil, nil
local vialdata = {
{vial = 'lsd_one_vial', sheet = 'smileyfacesheet', log = 'Made A Smiley Face Sheet'},
{vial = 'lsd_vial_two', sheet = 'wildcherrysheet', log = 'Made A Wild Cherry Sheet'},
{vial = 'lsd_vial_three', sheet = 'yinyangsheet', log = 'Made A Yin Yang Sheet'},
{vial = 'lsd_vial_four', sheet = 'pineapplesheet', log = 'Made A Pine Apple Sheet'},
{vial = 'lsd_vial_five', sheet = 'bartsheet', log = 'Made A Cluckin Bell Sheet'},
{vial = 'lsd_vial_six', sheet = 'gratefuldeadsheet', log = 'Made A Maze Sheet'}
}
sortTab(vialdata, 'vial')
for k, v in pairs (vialdata) do
if count >= 1 then break end
local check = Player.Functions.GetItemByName(v.vial)
if check and check.amount >= 1 then
items = v.vial
recieve = v.sheet
Log(GetName(src) ..' ' .. v.log, 'lsd')
count = count + 1
end
end
if count >= 1 then
if RemoveItem(src, items, 1) and RemoveItem(src, 'tab_paper', 1) then
AddItem(src, recieve, 1)
end
end
end)
@@ -175,7 +171,7 @@ local sheets = {
for k, v in pairs (sheets) do
QBCore.Functions.CreateUseableItem(v.item, function(source)
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
local math = math.random(1,10)
if RemoveItem(src, v.item, 1) then
AddItem(src, v.recieve, math)
+1 -3
View File
@@ -1,14 +1,12 @@
local QBCore = exports['qb-core']:GetCoreObject()
GlobalState.Mescaline = Config.Mescaline
Citizen.CreateThread(function()
for _, v in pairs(Config.Mescaline) do
v.taken = false
end
end)
function MescalineCooldown(loc)
CreateThread(function()
Wait(Config.respawnTime * 1000)
@@ -22,7 +20,7 @@ end
RegisterNetEvent("Mescaline:pickupCane", function(loc)
if CheckDist(source, Config.Mescaline[loc].location) then return end
if CheckDist(source, Config.Mescaline[loc].location) then return end
if not Config.Mescaline[loc].taken then
Config.Mescaline[loc].taken = true
GlobalState.Mescaline = Config.Mescaline
+12 -12
View File
@@ -1,14 +1,14 @@
local QBCore = exports['qb-core']:GetCoreObject()
RegisterServerEvent('md-drugs:server:startcook', function()
local src = source
local src = source
if not GetRecipe(source, 'meth', 'cook', 'heat') then return end
Notifys(src, "Adding Things To The Mix", "success")
Log(GetName(source) .. ' Started A Meth Batch', 'Meth')
end)
RegisterServerEvent('md-drugs:server:givemethingridients', function()
local src = source
local src = source
local chance = math.random(1,100)
local amount = math.random(1,5)
if chance <= 50 then
@@ -30,18 +30,18 @@ end)
RegisterServerEvent('md-drugs:server:geteph', function(num)
local src = source
if CheckDist(src, Config.MethEph[num]['loc']) then return end
if AddItem(src, 'ephedrine', 1) then
Notifys(src, 'Got Ephedrine!', "success")
Log(GetName(src) .. ' Got ' .. 1 .. 'Of Ephedrine', 'Meth')
end
if CheckDist(src, Config.MethEph[num]['loc']) then return end
if AddItem(src, 'ephedrine', 1) then
Notifys(src, 'Got Ephedrine!', "success")
Log(GetName(src) .. ' Got ' .. 1 .. 'Of Ephedrine', 'Meth')
end
end)
RegisterServerEvent('md-drugs:server:getace', function(num)
local src = source
if CheckDist(src, Config.Methace[num]['loc']) then return end
if AddItem(src, 'acetone', 1) then
Log(GetName(src) .. ' Got ' .. 1 .. 'Of Acetone', 'Meth')
Notifys(src, 'Got Acetone!', "success")
end
if CheckDist(src, Config.Methace[num]['loc']) then return end
if AddItem(src, 'acetone', 1) then
Log(GetName(src) .. ' Got ' .. 1 .. 'Of Acetone', 'Meth')
Notifys(src, 'Got Acetone!', "success")
end
end)
+2 -2
View File
@@ -2,7 +2,7 @@ QBCore = exports['qb-core']:GetCoreObject()
lib.callback.register('md-drugs:server:payfortruck', function()
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
if Player.Functions.RemoveMoney('cash', Config.TruckPrice ) or Player.Functions.RemoveMoney('bank', Config.TruckPrice ) then
Log(GetName(src) .. ' Rented A Van For OxyRuns', 'oxy')
return true
@@ -15,7 +15,7 @@ end)
RegisterServerEvent('md-drugs:server:giveoxybox', function()
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
local chance = math.random(1,100)
local cash = Config.OxyRunCompleteCash
local itemchance = math.random(1,100)
+2 -13
View File
@@ -2,7 +2,7 @@ local QBCore = exports['qb-core']:GetCoreObject()
local function GetJob(source)
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
if Player.PlayerData.job.type == 'ems' then
return true
else
@@ -42,19 +42,10 @@ QBCore.Functions.CreateUseableItem(d, function(source, item)
end)
end
local pharmadrugs = { "adderal", "vicodin", "xanax", "morphine"}
for k, v in pairs (pharmadrugs) do QBCore.Functions.CreateUseableItem(v, function(source, item)
local src = source
if TriggerClientEvent('md-drugs:client:takepharma', src, item.name) then
RemoveItem(src, item.name, 1)
Log(GetName(source) .. ' Took ' .. item.name .. '!', 'pharma')
end
end)
end
RegisterServerEvent('md-drugs:server:fillprescription', function()
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
local vic = Player.Functions.GetItemByName('vicodin_prescription')
local add = Player.Functions.GetItemByName('adderal_prescription')
local mor = Player.Functions.GetItemByName('morphine_prescription')
@@ -71,12 +62,10 @@ RegisterServerEvent('md-drugs:server:fillprescription', function()
RemoveItem(src,'morphine_prescription', 1 )
AddItem(src,'morphinebottle', 1)
Notifys(src,Lang.Pharma.pills, "success")
elseif xan then
RemoveItem(src,'xanax_prescription', 1 )
AddItem(src,'xanaxbottle', 1)
Notifys(src,Lang.Pharma.pills, "success")
else
Notifys(src,Lang.Pharma.no, "error")
end
+1 -1
View File
@@ -137,7 +137,7 @@ local recipe = {
function GetRecipe(source, type, method, tier)
local src = source
local Player = QBCore.Functions.GetPlayer(source)
local Player = getPlayer(source)
local has = 0
local need = 0
for k, v in pairs (recipe[type][method][tier].take) do
+1 -4
View File
@@ -20,10 +20,7 @@ function shroomsCooldown(loc)
end)
end
RegisterNetEvent("shrooms:pickupCane")
AddEventHandler("shrooms:pickupCane", function(loc)
local chance = math.random(1,10)
RegisterNetEvent("shrooms:pickupCane", function(loc)
if CheckDist(source, Config.shrooms[loc].location) then return end
if not Config.shrooms[loc].taken then
Config.shrooms[loc].taken = true
+77 -8
View File
@@ -1,15 +1,84 @@
local QBCore = exports['qb-core']:GetCoreObject()
local loc = math.random(1, #Config.Travellingmerchant)
RegisterServerEvent("md-drugs:server:travellingmerchantox", function(amount, money, item, price,table,num)
local src = source local Player = QBCore.Functions.GetPlayer(src)
if not table[num]['name'] == item then return end
if Player.Functions.RemoveMoney(tostring(money), tonumber(price) * tonumber(amount)) then
AddItem(source, item, amount)
Log(GetName(source) .. ' Bought ' .. amount .. ' Of ' .. item .. ' For ' .. tonumber(price) * tonumber(amount) .. '!', 'merchant')
end
local stores = {
travel = {
{name = "tab_paper", price = 50, amount = 50, },
{name = "bakingsoda", price = 25, amount = 50, },
{name = "isosafrole", price = 25, amount = 50, },
{name = "mdp2p", price = 25, amount = 50, },
{name = "lysergic_acid", price = 25, amount = 50, },
{name = "diethylamide", price = 25, amount = 50, },
{name = "lockpick", price = 2, amount = 1000, },
{name = "emptyvial", price = 2, amount = 1000, },
{name = "needle", price = 2, amount = 1000, },
{name = "cokeburner", price = 25, amount = 50, },
{name = "crackburner", price = 2, amount = 50, },
{name = "lsdburner", price = 2, amount = 50, },
{name = "heroinburner", price = 2, amount = 50, },
{name = "mdlean", price = 50, amount = 50, },
{name = "weedgrinder", price = 25, amount = 50, },
{name = "mdbutter", price = 25, amount = 50, },
{name = "flour", price = 25, amount = 50, },
{name = "chocolate", price = 25, amount = 50, },
{name = "butane", price = 25, amount = 50, },
{name = "butanetorch", price = 2, amount = 1000, },
{name = "dabrig", price = 2, amount = 1000, },
{name = "mdwoods", price = 2, amount = 1000, },
{name = "leancup", price = 25, amount = 50, },
{name = "xtcburner", price = 25, amount = 50, },
},
Weed = {
{name = "weedgrinder", price = 25, amount = 50, },
{name = "mdbutter", price = 25, amount = 50, },
{name = "flour", price = 25, amount = 50, },
{name = "chocolate", price = 25, amount = 50, },
{name = "butane", price = 25, amount = 50, },
{name = "butanetorch", price = 2, amount = 1000,},
{name = "dabrig", price = 2, amount = 1000,},
{name = "mdwoods", price = 2, amount = 1000},
},
Products = {
{name = "weed_white-widow_seed", price = 15, amount = 150, minrep = 0},
{name = "weed_skunk_seed", price = 15, amount = 150, minrep = 0},
{name = "weed_purple-haze_seed", price = 15, amount = 150, minrep = 0},
{name = "weed_og-kush_seed", price = 15, amount = 150, minrep = 0},
{name = "weed_amnesia_seed", price = 15, amount = 150, minrep = 0},
},
ProductsStupidNameRewrite = {
{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},
}
}
lib.callback.register('md-drugs:server:menu', function(source, data)
local src = source
if data == 'travellingMerchant' then
return {table = stores.travel, des = '$', id = 'travellingMerchant', title = 'travelling Merchant'}
elseif data == 'dealermenu' then
local table
if Config.StupidassNewQbItemName then table = stores.ProductsStupidNameRewrite else table = stores.Products end
return {table = table, id = 'dealermenu', title = "Dealer Menu"}
elseif data == 'WeedShop' then
return {table = stores.Weed, id = 'WeedShop', title = "Weed Shop"}
end
end)
RegisterServerEvent("md-drugs:server:purchaseGoods", function(amount, money, item, price,table,num)
local src = source local Player = getPlayer(src)
for i = 1, #table do
if table[i].name == item then
if not table[i].price == price then return end
if Player.Functions.RemoveMoney(tostring(money), tonumber(table[i].price) * tonumber(amount)) then
AddItem(src, item, amount)
Log(GetName(src) .. ' Bought ' .. amount .. ' Of ' .. item .. ' For ' .. tonumber(price) * tonumber(amount) .. '!', 'merchant')
end
end
end
end)
lib.callback.register('md-drugs:server:GetMerchant', function(source)
return loc
return loc
end)
+20 -22
View File
@@ -20,8 +20,7 @@ function WeedCooldown(loc)
end)
end
RegisterNetEvent("weed:pickupCane")
AddEventHandler("weed:pickupCane", function(loc)
RegisterNetEvent("weed:pickupCane", function(loc)
local src = source
if not Config.WeedPlant[loc].taken then
Config.WeedPlant[loc].taken = true
@@ -30,14 +29,13 @@ AddEventHandler("weed:pickupCane", function(loc)
WeedCooldown(loc)
AddItem(src, 'wetcannabis', 1)
Log(GetName(source) .. ' Picked Weed With a distance of ' .. dist(source, Config.WeedPlant[loc].location) .. ' vectors', 'weed')
end
end)
--------------- events
RegisterServerEvent('md-drugs:server:dryoutweed', function()
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
if RemoveItem(src,"wetcannabis", 1) then
AddItem(src,"drycannabis", 1)
Log(GetName(source) .. ' Dried Weed', 'weed')
@@ -66,21 +64,21 @@ end
RegisterServerEvent('md-drugs:server:MakeWeedItems', function(data)
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
if not Player then return end
if not GetRecipe(src, data.recipe, data.table, data.item) then return end
end)
RegisterServerEvent('md-drugs:server:makeoil', function(data)
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
if not Player then return end
if not GetRecipe(src, 'weed', 'oil', 'shatter') then return end
end)
QBCore.Functions.CreateUseableItem("dabrig", function(source, item)
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
if Player.Functions.GetItemByName("butanetorch") then
if RemoveItem(src, "shatter", 1) then
@@ -91,24 +89,24 @@ end
end)
QBCore.Functions.CreateUseableItem("weedgrinder", function(source, item)
local src = source
if RemoveItem(src, "drycannabis",1 ) then
AddItem(src, "grindedweed", 1)
TriggerClientEvent("md-drugs:client:grind", src)
else
Notifys(src,'You Need Dried Weed', 'error')
end
local src = source
if RemoveItem(src, "drycannabis",1 ) then
AddItem(src, "grindedweed", 1)
TriggerClientEvent("md-drugs:client:grind", src)
else
Notifys(src,'You Need Dried Weed', 'error')
end
end)
QBCore.Functions.CreateUseableItem("mdwoods", function(source, item)
local src = source
local Player = QBCore.Functions.GetPlayer(src)
TriggerClientEvent("md-drugs:client:rollanim", src)
Wait(4000)
if RemoveItem(src, "mdwoods",1 ) then
AddItem(src, "bluntwrap", 5)
AddItem(src, "tobacco", 5)
end
local src = source
local Player = getPlayer(src)
TriggerClientEvent("md-drugs:client:rollanim", src)
Wait(4000)
if RemoveItem(src, "mdwoods",1 ) then
AddItem(src, "bluntwrap", 5)
AddItem(src, "tobacco", 5)
end
end)
+11 -21
View File
@@ -7,15 +7,14 @@ local xtc = {"white_playboys", "white_playboys2", "white_playboys3", "white_p
QBCore.Functions.CreateUseableItem("cokeburner", function(source, item)
local src = source
local Player = QBCore.Functions.GetPlayer(source)
local Player = getPlayer(source)
TriggerClientEvent("md-drugs:client:GetLocation", src, 'coke', "Bring Me All The Coke You Have")
end)
RegisterServerEvent('md-drugs:server:wholesalecoke', function()
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
local price = math.random(Config.Wcoke.min, Config.Wcoke.max)
for k, v in pairs(coke) do
local item = Player.Functions.GetItemByName(v)
@@ -28,19 +27,16 @@ RegisterServerEvent('md-drugs:server:wholesalecoke', function()
end
end)
QBCore.Functions.CreateUseableItem("crackburner", function(source, item)
local src = source
local Player = QBCore.Functions.GetPlayer(source)
local Player = getPlayer(source)
TriggerClientEvent("md-drugs:client:GetLocation", src, 'crack', "Bring Me All The Crack You Have")
end)
RegisterServerEvent('md-drugs:server:wholesalecrack', function()
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
local price = math.random(Config.Wcrack.min, Config.Wcrack.max)
for k, v in pairs(crack) do
local item = Player.Functions.GetItemByName(v)
if item and item.amount > 0 then
@@ -55,15 +51,13 @@ end)
QBCore.Functions.CreateUseableItem("lsdburner", function(source, item)
local src = source
local Player = QBCore.Functions.GetPlayer(source)
local Player = getPlayer(source)
TriggerClientEvent("md-drugs:client:GetLocation", src, 'lsd', "Bring Me All The lsd You Have")
end)
RegisterServerEvent('md-drugs:server:wholesalelsd', function()
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
local price = math.random(Config.Wlsd.min, Config.Wlsd.max)
for k, v in pairs(lsd) do
@@ -81,16 +75,14 @@ end)
QBCore.Functions.CreateUseableItem("heroinburner", function(source, item)
local src = source
local Player = QBCore.Functions.GetPlayer(source)
local Player = getPlayer(source)
TriggerClientEvent("md-drugs:client:GetLocation", src, 'heroin', "Bring Me All The Heroin You Have")
end)
RegisterServerEvent('md-drugs:server:wholesaleheroin', function()
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
local price = math.random(Config.WHeroin.min, Config.WHeroin.max)
for k, v in pairs(heroin) do
local item = Player.Functions.GetItemByName(v)
@@ -105,16 +97,14 @@ end)
---- xtc
QBCore.Functions.CreateUseableItem("xtcburner", function(source, item)
local src = source
local Player = QBCore.Functions.GetPlayer(source)
local Player = getPlayer(source)
TriggerClientEvent("md-drugs:client:GetLocation", src, 'xtc', "Bring Me All The xtc You Have")
end)
RegisterServerEvent('md-drugs:server:wholesalextc', function()
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
local price = math.random(Config.WXTC.min, Config.WXTC.max)
for k, v in pairs(xtc) do
local item = Player.Functions.GetItemByName(v)
@@ -130,7 +120,7 @@ end)
RegisterServerEvent('md-drugs:server:RemoveBurner', function(item)
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
if item == 'coke' then
if Player.Functions.RemoveItem('cokeburner', 1) then
+11 -11
View File
@@ -2,7 +2,7 @@ local QBCore = exports['qb-core']:GetCoreObject()
-------------------- stealing ingridients
RegisterServerEvent('md-drugs:server:stealisosafrole', function(num)
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
if CheckDist(source, Config.isosafrole[num]['loc']) then return end
if AddItem(src, "isosafrole", 1) then
Log(GetName(source) .. ' Stole isosafrole with a distance of ' .. dist(source, Config.isosafrole[num]['loc']) .. ' vectors!', 'xtc')
@@ -11,7 +11,7 @@ end)
RegisterServerEvent('md-drugs:server:stealmdp2p', function(num)
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
if CheckDist(source, Config.mdp2p[num]['loc']) then return end
if AddItem(src,"mdp2p", 1) then
Log(GetName(source) .. ' Stole MDP2P with a distance of ' .. dist(source, Config.mdp2p[num]['loc']) .. ' vectors!', 'xtc')
@@ -27,7 +27,7 @@ local presses = {
for k, v in pairs (presses) do
QBCore.Functions.CreateUseableItem(v.item, function(source, item)
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
if TriggerClientEvent("md-drugs:client:setpress", src, v.data) then
RemoveItem(src, v.item, 1)
Log(GetName(source) .. ' Placed A ' .. v.item .. ' At ' .. GetCoords(source) .. '!', 'xtc')
@@ -37,7 +37,7 @@ end
RegisterServerEvent('md-drugs:server:getpressback', function(type)
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
if type == 'single' then
if Player.Functions.GetItemByName('singlepress') then Notifys(src, 'You Already Have A Kit') return end
AddItem(src, 'singlepress', 1)
@@ -60,7 +60,7 @@ end)
RegisterServerEvent('md-drugs:server:makextc', function(data)
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
if not Itemcheck(src, 'raw_xtc', 1) then return end
if data.data == 'single' then
if data.color == 'white' then
@@ -123,7 +123,7 @@ end)
RegisterServerEvent('md-drugs:server:buypress', function()
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
if Player.Functions.RemoveMoney("cash", 20000) then
AddItem(src, "singlepress", 1)
@@ -154,7 +154,7 @@ end)
------------- making powder
RegisterServerEvent('md-drugs:server:makingrawxtc', function(num)
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
if CheckDist(source, Config.rawxtcloc[num]['loc']) then return end
if not GetRecipe(src, 'xtc', 'raw', 'raw_xtc') then return end
Log(GetName(source) .. ' Made Raw XTC With A Distance Of ' .. dist(source, Config.rawxtcloc[num]['loc']) .. '!', 'xtc')
@@ -162,7 +162,7 @@ end)
RegisterServerEvent('md-drugs:server:stampwhite', function(num)
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
local one = {'white_playboys', 'white_aliens', 'white_pl', 'white_trolls', 'white_cats'}
local chance = math.random(#one)
local two = {'white_playboys2', 'white_aliens2', 'white_pl2', 'white_trolls2', 'white_cats2'}
@@ -192,7 +192,7 @@ end)
RegisterServerEvent('md-drugs:server:stampred', function(num)
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
local one = {'red_playboys', 'red_aliens', 'red_pl', 'red_trolls', 'red_cats'}
local chance = math.random(#one)
local two = {'red_playboys2', 'red_aliens2', 'red_pl2', 'red_trolls2', 'red_cats2'}
@@ -223,7 +223,7 @@ end)
RegisterServerEvent('md-drugs:server:stamporange', function(num)
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
local one = {'orange_playboys', 'orange_aliens', 'orange_pl', 'orange_trolls', 'orange_cats'}
local chance = math.random(#one)
local two = {'orange_playboys2', 'orange_aliens2', 'orange_pl2', 'orange_trolls2', 'orange_cats2'}
@@ -254,7 +254,7 @@ end)
RegisterServerEvent('md-drugs:server:stampblue', function(num)
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local Player = getPlayer(src)
local one = {'blue_playboys', 'blue_aliens', 'blue_pl', 'blue_trolls', 'blue_cats'}
local chance = math.random(#one)
local two = {'blue_playboys2', 'blue_aliens2', 'blue_pl2', 'blue_trolls2', 'blue_cats2'}
+18 -63
View File
@@ -18,20 +18,20 @@ Config.Phone = 'qb' -- either 'qb' or 'yflip' or 'qs'
Config.Dispatch = 'ps' -- either 'ps', 'cd', 'core', 'aty'
Config.Minigames = {
ps_circle = { amount = 2, speed = 8,},
ps_maze = { timelimit = 15},
ps_scrambler = { type = 'numeric', time = 15, mirrored = 0},
ps_var = { numBlocks = 5, time = 10},
ps_thermite = { time = 10, gridsize = 5, incorrect = 3},
ox = { 'easy', 'easy'}, --easy medium or hard each one corresponds to how many skillchecks and the difficulty
blcirprog = { amount = 2, speed = 50}, -- speed = 1-100
blprog = { amount = 1, speed = 50}, -- speed = 1-100
blkeyspam = { amount = 1, difficulty = 50}, -- difficulty = 1-100
blkeycircle = { amount = 1, difficulty = 50, keynumbers = 3},
blnumberslide = { amount = 1, difficulty = 50, keynumbers = 3},
blrapidlines = { amount = 1, difficulty = 50, numberofline = 3},
blcircleshake = { amount = 1, difficulty = 50, stages = 3},
glpath = { gridSize = 19, lives = 3, timelimit = 10000},
ps_circle = {amount = 2, speed = 8,},
ps_maze = {timelimit = 15},
ps_scrambler = {type = 'numeric', time = 15, mirrored = 0},
ps_var = {numBlocks = 5, time = 10},
ps_thermite = {time = 10, gridsize = 5, incorrect = 3},
ox = {'easy', 'easy'}, --easy medium or hard each one corresponds to how many skillchecks and the difficulty
blcirprog = {amount = 2, speed = 50}, -- speed = 1-100
blprog = {amount = 1, speed = 50}, -- speed = 1-100
blkeyspam = {amount = 1, difficulty = 50}, -- difficulty = 1-100
blkeycircle = {amount = 1, difficulty = 50, keynumbers = 3},
blnumberslide = {amount = 1, difficulty = 50, keynumbers = 3},
blrapidlines = {amount = 1, difficulty = 50, numberofline = 3},
blcircleshake = {amount = 1, difficulty = 50, stages = 3},
glpath = {gridSize = 19, lives = 3, timelimit = 10000},
glspot = {gridSize = 6, timeLimit = 999999, charSet = "alphabet", required = 10},
glmath = {timeLimit = 300000},
@@ -134,7 +134,6 @@ Config.StartLoc = {
vector3(-224.89, 6388.32, 31.59)
}
---------- Pharma
Config.FillPrescription = {---------- this is where you want people to take their prescription to get a bottle of pills. They use bottle to get a random amount of prescription pills
@@ -142,14 +141,12 @@ Config.FillPrescription = {---------- this is where you want people to take thei
}
Config.PharmaJob = "ems" -- what TYPE role you need to be on to get the command
-------------- weed
Config.Teleout = vector3(1066.31, -3183.36, -39.16) -- where you target to tele in
Config.Telein = vector3(244.74, 374.54, 105.74) -- where you target to tele out
Config.MakeButter = vector3(1045.48, -3198.49, -38.22) -- where you make cannabutter and baked edibles
Config.MakeOil = vector3(1038.90, -3198.66, -38.17) -- where you make shatter
Config.WeedSaleman = vector4(1030.46, -3203.63, -38.2, 180.0)
Config.WeedSaleman = vector4(1030.77, -3203.18, -38.2, 262.37)
Config.WeedDry = { -- where you dry leaves
{loc = vector3(1043.0, -3191.59, -38.39),},
@@ -160,20 +157,6 @@ Config.WeedDry = { -- where you dry leaves
Config.Joblock = false -- if you want weed to be a job
Config.weedjob = "" -- what the job name is
Config.Weed = { --- this is the store for the weed ingridients
label = "Weed Shop",
slots = 8,
items = {
{name = "weedgrinder", price = 25, amount = 50, },
{name = "mdbutter", price = 25, amount = 50, },
{name = "flour", price = 25, amount = 50, },
{name = "chocolate", price = 25, amount = 50, },
{name = "butane", price = 25, amount = 50, },
{name = "butanetorch", price = 2, amount = 1000,},
{name = "dabrig", price = 2, amount = 1000,},
{name = "mdwoods", price = 2, amount = 1000,},
}
}
----------------- Wholesale
Config.SuccessfulChance = 90 --- this is the chance of a Success wholesale 1-100
@@ -181,9 +164,9 @@ Config.AlertPoliceWholesale = 90 -- 1-100 of how often it will alert police
Config.WholesaleTimeout = 600 -- time in seconds to get to the location
Config.PoliceCount = 0 -- Amount of police required
Config.Wcoke = { min = 20, max = 60} -- pricings per item
Config.Wcrack = { min = 20, max = 60}
Config.Wlsd = { min = 20, max = 60}
Config.WXTC = { min = 20, max = 60}
Config.Wcrack = { min = 20, max = 60} -- pricings per item
Config.Wlsd = { min = 20, max = 60} -- pricings per item
Config.WXTC = { min = 20, max = 60} -- pricings per item
--- travelling merchant
@@ -193,35 +176,7 @@ Config.Travellingmerchant = { ------------ these are the random locations the me
vector4(-1522.93, 1476.01, 111.45, 41.25),
vector4(-3278.98, 973.38, 5.35, 101.53),
}
Config.Items = { --- this is the store for the travelling merchant
items = {
{name = "tab_paper", price = 50, amount = 50,},
{name = "bakingsoda", price = 25, amount = 50, },
{name = "isosafrole", price = 25, amount = 50, },
{name = "mdp2p", price = 25, amount = 50, },
{name = "lysergic_acid", price = 25, amount = 50, },
{name = "diethylamide", price = 25, amount = 50, },
{name = "lockpick", price = 2, amount = 1000, },
{name = "emptyvial", price = 2, amount = 1000, },
{name = "needle", price = 2, amount = 1000, },
{name = "cokeburner", price = 25, amount = 50, },
{name = "crackburner", price = 2, amount = 50, },
{name = "lsdburner", price = 2, amount = 50, },
{name = "heroinburner", price = 2, amount = 50, },
{name = "mdlean", price = 50, amount = 50, },
{name = "weedgrinder", price = 25, amount = 50, },
{name = "mdbutter", price = 25, amount = 50, },
{name = "flour", price = 25, amount = 50, },
{name = "chocolate", price = 25, amount = 50, },
{name = "butane", price = 25, amount = 50, },
{name = "butanetorch", price = 2, amount = 1000, },
{name = "dabrig", price = 2, amount = 1000, },
{name = "mdwoods", price = 2, amount = 1000, },
{name = "leancup", price = 25, amount = 50, },
{name = "xtcburner", price = 25, amount = 50, },
}
}
--------------------------------------- oxy runs
---- How oxyruns work. You pay for a truck, you get in it and it gives a route. There is a 20% chance that the car will be "hot" and you have to ditch it. No Routes will spawn if that pops up
----- when you get to the drop off point third eye the truck. You will carry a box to the ped. He will give you cash, some oxy and maybe a random item. Rinse and repeat
+117 -111
View File
@@ -24,118 +24,124 @@ strength = number -- how long you are strong boi
]]
Consumables.Items = {
-- meth
["methbags"] = { time = 4000, effect = 'meth', anim = "smoke", progressbartext = "Injesting",
add = {health = -20, stress = -10, speed = 40, strength = 10, thirst = -30}},
["cokebaggy"] = { anim = 'smell', time = 1000, effect = 'coke', add = { stress = -10 }},
["cokebaggystagetwo"] = { anim = 'smell', time = 1000, effect = 'coke', add = { stress = -10 }},
["cokebaggystagethree"] = { anim = 'smell', time = 1000, effect = 'coke', add = { stress = -10 }},
-- heroin
["heroin_ready"] = { anim = 'shootup', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["heroin_readystagetwo"] = { anim = 'shootup', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["heroin_readystagethree"] = { anim = 'shootup', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
-- crack
["baggedcracked"] = { anim = 'smell', time = 1000, effect = 'coke', add = { stress = -10 }},
["baggedcrackedstagetwo"] = { anim = 'smell', time = 1000, effect = 'coke', add = { stress = -10 }},
["baggedcrackedstagethree"] = { anim = 'smell', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
-- xtc
["white_playboys"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["white_playboys2"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["white_playboys3"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["white_playboys4"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["blue_playboys"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["blue_playboys2"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["blue_playboys3"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["blue_playboys4"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["red_playboys"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["red_playboys2"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["red_playboys3"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["red_playboys4"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["orange_playboys"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["orange_playboy2s"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["orange_playboys3"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["orange_playboys4"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["white_aliens"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["white_aliens2"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["white_aliens3"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["white_aliens4"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["blue_aliens"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["blue_aliens2"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["blue_aliens3"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["blue_aliens4"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["red_aliens"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["red_aliens3"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["red_aliens2"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["red_aliens4"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["orange_aliens"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["orange_aliens2"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["orange_aliens3"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["orange_aliens4"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["white_pl"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["white_pl2"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["white_pl3"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["white_pl4"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["blue_pl"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["blue_pl2"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["blue_pl3"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["blue_pl4"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["red_pl"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["red_pl2"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["red_pl3"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["red_pl4"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["orange_pl"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["orange_pl2"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["orange_pl3"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["orange_pl4"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["white_trolls"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["white_trolls2"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["white_trolls3"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["white_trolls4"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["blue_trolls"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["blue_trolls2"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["blue_trolls3"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["blue_trolls4"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["red_trolls"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["red_trolls2"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["red_trolls3"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["red_trolls4"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["orange_trolls"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["orange_trolls2"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["orange_trolls3"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["orange_trolls4"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["white_cats2"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["white_cats3"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["white_cats4"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["white_cats"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["blue_cats"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["blue_cats3"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["blue_cats2"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["blue_cats4"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["red_cats"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["red_cats2"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["red_cats3"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["red_cats4"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["orange_cats"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["orange_cats2"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["orange_cats3"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
["orange_cats4"] = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
-- meth
methbags = { time = 4000, effect = 'meth', anim = "smoke", progressbartext = "Injesting",
add = {health = -20, stress = -10, speed = 40, strength = 10, thirst = -30}},
cokebaggy = { anim = 'smell', time = 1000, effect = 'coke', add = { stress = -10 }},
cokebaggystagetwo = { anim = 'smell', time = 1000, effect = 'coke', add = { stress = -10 }},
cokebaggystagethree = { anim = 'smell', time = 1000, effect = 'coke', add = { stress = -10 }},
-- heroin
heroin_ready = { anim = 'shootup', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
heroin_readystagetwo = { anim = 'shootup', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
heroin_readystagethree = { anim = 'shootup', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
-- crack
baggedcracked = { anim = 'smell', time = 1000, effect = 'coke', add = { stress = -10 }},
baggedcrackedstagetwo = { anim = 'smell', time = 1000, effect = 'coke', add = { stress = -10 }},
baggedcrackedstagethree = { anim = 'smell', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
-- xtc
white_playboys = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
white_playboys2 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
white_playboys3 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
white_playboys4 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
blue_playboys = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
blue_playboys2 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
blue_playboys3 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
blue_playboys4 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
red_playboys = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
red_playboys2 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
red_playboys3 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
red_playboys4 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
orange_playboys = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
orange_playboy2s = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
orange_playboys3 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
orange_playboys4 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
white_aliens = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
white_aliens2 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
white_aliens3 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
white_aliens4 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
blue_aliens = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
blue_aliens2 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
blue_aliens3 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
blue_aliens4 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
red_aliens = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
red_aliens3 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
red_aliens2 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
red_aliens4 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
orange_aliens = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
orange_aliens2 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
orange_aliens3 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
orange_aliens4 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
white_pl = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
white_pl2 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
white_pl3 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
white_pl4 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
blue_pl = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
blue_pl2 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
blue_pl3 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
blue_pl4 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
red_pl = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
red_pl2 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
red_pl3 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
red_pl4 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
orange_pl = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
orange_pl2 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
orange_pl3 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
orange_pl4 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
white_trolls = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
white_trolls2 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
white_trolls3 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
white_trolls4 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
blue_trolls = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
blue_trolls2 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
blue_trolls3 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
blue_trolls4 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
red_trolls = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
red_trolls2 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
red_trolls3 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
red_trolls4 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
orange_trolls = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
orange_trolls2 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
orange_trolls3 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
orange_trolls4 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
white_cats2 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
white_cats3 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
white_cats4 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
white_cats = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
blue_cats = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
blue_cats3 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
blue_cats2 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
blue_cats4 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
red_cats = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
red_cats2 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
red_cats3 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
red_cats4 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
orange_cats = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
orange_cats2 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
orange_cats3 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
orange_cats4 = { anim = 'edible', time = 1000, effect = 'ecstacy', add = { stress = -10 }},
-- weed
["specialbrownie"] = { anim = 'edible', effect = 'alien', add = { hunger = 10, stress = -10 }},
["specialcookie"] = { anim = 'edible', effect = 'alien', add = { hunger = 10, stress = -10 }},
["specialchocolate"] = { anim = 'edible', effect = 'alien', add = { hunger = 10, stress = -10 }},
["specialmuffin"] = { anim = 'edible', effect = 'alien', add = { hunger = 10, stress = -10 }},
["blunt"] = { anim = 'smokeweed', effect = 'alien', add = { stress = -10 }},
["dextroblunts"] = { anim = 'smokeweed', effect = 'alien', add = { stress = -10 }},
["leanblunts"] = { anim = 'smokeweed', effect = 'alien', add = { stress = -10 }},
["chewyblunt"] = { anim = 'smokeweed', effect = 'alien', add = { stress = -10 }},
specialbrownie = { anim = 'edible', effect = 'alien', add = { hunger = 10, stress = -10 }},
specialcookie = { anim = 'edible', effect = 'alien', add = { hunger = 10, stress = -10 }},
specialchocolate = { anim = 'edible', effect = 'alien', add = { hunger = 10, stress = -10 }},
specialmuffin = { anim = 'edible', effect = 'alien', add = { hunger = 10, stress = -10 }},
blunt = { anim = 'smokeweed', effect = 'alien', add = { stress = -10 }},
dextroblunts = { anim = 'smokeweed', effect = 'alien', add = { stress = -10 }},
leanblunts = { anim = 'smokeweed', effect = 'alien', add = { stress = -10 }},
chewyblunt = { anim = 'smokeweed', effect = 'alien', add = { stress = -10 }},
-- lean
["cupofdextro"] = { anim = 'cup', effect = 'alien', add = { stress = -10 }},
["cupoflean"] = { anim = 'cup', effect = 'alien', add = { stress = -10 }},
cupofdextro = { anim = 'cup', effect = 'alien', add = { stress = -10 }},
cupoflean = { anim = 'cup', effect = 'alien', add = { stress = -10 }},
-- lsd
["smiley_tabs"] = { anim = 'edible', effect = 'trevor', add = { stress = -10 }},
["wildcherry_tabs"] = { anim = 'edible', effect = 'trevor', add = { stress = -10 }},
["yinyang_tabs"] = { anim = 'edible', effect = 'trevor', add = { stress = -10 }},
["pineapple_tabs"] = { anim = 'edible', effect = 'trevor', add = { stress = -10 }},
["bart_tabs"] = { anim = 'edible', effect = 'trevor', add = { stress = -10 }},
["gratefuldead_tabs"] = { anim = 'edible', effect = 'trevor', add = { stress = -10 }},
smiley_tabs = { anim = 'edible', effect = 'trevor', add = { stress = -10 }},
wildcherry_tabs = { anim = 'edible', effect = 'trevor', add = { stress = -10 }},
yinyang_tabs = { anim = 'edible', effect = 'trevor', add = { stress = -10 }},
pineapple_tabs = { anim = 'edible', effect = 'trevor', add = { stress = -10 }},
bart_tabs = { anim = 'edible', effect = 'trevor', add = { stress = -10 }},
gratefuldead_tabs = { anim = 'edible', effect = 'trevor', add = { stress = -10 }},
-- pharma
vicodin = { anim = 'pill', effect = 'none', add = { health = 20 }},
adderal = { anim = 'pill', effect = 'none', add = { stress = -20 }},
morphine = { anim = 'pill', effect = 'none', add = { health = 40 }},
xanax = { anim = 'pill', effect = 'none', add = { stress = -40 }},
}
+129 -4
View File
@@ -1,5 +1,107 @@
Lang = {}
Lang.targets = {
coke = {
pick = 'Pick Cocaine',
cut = 'Cut Cocaine',
bag = 'Bag Cocaine',
enter = 'Enter Building',
exit = 'Exit Building',
chop = 'Chop Coca Leaves',
},
CornerSell = {
sell = 'Sell %s Of %s For $%s',
deny = 'Deny Price'
},
crack = {
cook = 'Cook Crack',
bag = 'Bag Crack'
},
Delivery = {
Deliver = 'Deliver For %s',
open = 'Open %s Shop',
hand = 'Hand Over'
},
heroin = {
pick = 'Pick Poppies',
up = 'Pick Up Table',
dry = 'Dry Poppies',
cut = 'Cut Heroin',
cook = 'Cook Heroin',
kit = 'Buy Heroin Lab Kit',
clean = 'Clean Table',
fill = 'Fill Syringe',
vial = 'Make Vial',
},
lean = {
git = 'Get Task'
},
lsd = {
buy = 'Buy LSD Lab Kit',
heat = 'Heat Liquid',
refine = 'Refine Quality',
paper = 'Make Tab Paper',
back = 'Pick Up Lab Kit',
dab = 'Dab LSD on sheets',
clean = 'Clean Table',
lys = 'Steal Lysergic Acid',
die = 'Steal Diethylamide',
buyt = 'Buy Tabs',
},
mescaline = {
pick = 'Pick Cactus',
dry = 'Dry Out Cactus',
},
meth = {
bag = 'Bag Up Meth',
enter = 'Enter Buidling',
exit = 'Exit Building',
cook = 'Cook Meth',
tray = 'Grab Tray',
box = 'Box Up Meth',
adjust = 'Adjust Temperature',
eph = 'Steal Ephedrine',
ace = 'Steal Acetone',
mission = 'Get Mission',
stealfromcar = 'Steal From Car',
},
oxy = {
pack = 'Get Oxy Package',
talk = 'Talk To Buyer',
pay = 'Pay For Truck',
},
pha = {
fill = 'Fill Prescription',
},
shrooms = {
pick = 'Pick Shrooms',
},
travel = {
travel = 'Open Travelling Merchant',
},
xtc = {
iso = 'Steal Isosafrole',
mdp = 'Steal MDP2P',
raw = 'Make Raw XTC',
press = 'Buy XTC Press',
stamp = 'Stamp Pills',
make = 'Make XTC',
pick = 'Pick Up Press',
},
weed = {
pick = 'Pick Weed',
dry = 'Dry Weed',
dpick = 'Pick Dried Weed',
butt = 'Open Edible Menu',
oil = 'Make Oil'
},
Wholesale = {
talk = 'Talk To Buyer'
},
}
Lang.Coke = {
-- client side progressbars
picking = "Picking Leaves",
@@ -22,19 +124,24 @@ Lang.Crack = {
}
Lang.Cornerselling = {
-- client side notifys
inveh = 'STRANGER DANGER, I WONT GET IN THE CAR WITH YOU',
toofar = "To Far From Your Corner Homie",
inacar = " You Cant Sell While In A Car",
selling = 'Selling %s For $%s',
deny = "Fuck That Offer",
start = "Get That Paper",
stop = "Lazy Ass Cant Even Sell Drugs",
nodrugs = "What You Gonna sell? Air?",
notcops = "Not Enough Cops",
no = 'You Cant Sell Drugs Here!',
-- end client side notifys
-- progressbars
sell = "Selling Drugs",
}
Lang.Delivery = {
-- client side
emailn = 'Not A Drug Dealer',
emailsub = 'Hurry Up And Get The Package To The Buyer',
emailcon = 'I Swear To God If It Doesnt Get There I Will Tell Your Mom You Said Fuck Just Bring %s Of %s',
search = "Searching For A Delivery ...",
none = "Nothing Close By",
busy = "You Havent Even Finished The One I Told You Too",
@@ -70,7 +177,8 @@ Lang.Heroin = {
Lang.Lean = {
marked = ' Car Has Been Marked On Your Map',
lean = 'You Got Purple Lean',
dextro = ' You Got Red Dextro'
dextro = ' You Got Red Dextro',
act = 'You Already Have A Lean Task',
}
Lang.lsd = {
@@ -85,6 +193,7 @@ Lang.lsd = {
buypaper = 'Buying Tab Paper',
buykit = 'Buying Lab Kit',
place = 'Placing Table Down',
hav = 'You Already Have A Table',
-- server
lys = 'You Got Lysergic Acid',
die = 'You Got Diethylamide',
@@ -109,7 +218,8 @@ Lang.meth = {
ace = 'You Got Some Acetone',
eph = 'You Got Some Ephedrine',
mix = 'Adding Things To The Mix',
nobag = 'No Bags'
nobag = 'No Bags',
act = 'You Already Have A Meth Task',
}
Lang.oxy = {
@@ -148,6 +258,8 @@ Lang.Weed = {
stovehot = 'Stove Is Too Hot Wait 30 Seconds To Cool Down',
shat = 'Making Shatter',
roll = 'Rolling Blunts',
wait = 'Wait A Little Bit For To Drive',
take = 'Taking Down The Weed',
--
nodry = 'You Need Wet Cannabis To Dry',
noweed = 'Cant Roll A Blunt With Air',
@@ -162,6 +274,19 @@ Lang.xtc = {
mdp2p = 'Stealing MDP2P',
iso = 'Stealing Isosafrole',
fail = 'Dude Its A Circle Not Rocket Science',
pickup = 'Picking Up The Press',
stamp = 'Stamping %s Pills',
buyp = "Buying Press",
--
cash = 'I need 20k In Cash'
cash = 'I need 20k In Cash',
press = {
title = {single = 'Single Press', dual = 'Dual Press', triple = 'Triple Press', quad = 'Quad Press'},
des = {single ='Buy a single press for 20k', dual = '20 of each unstamped single stack pill and your single press ',
triple = '50 of each unstamped dual stack pill and your dual press ', quad = '150 of each unstamped Triple stack pill and your triple press'
}
}
}
Lang.Wholesale = {
al = 'Already Called Someone!'
}
+140 -153
View File
@@ -10,162 +10,137 @@ QBConfig.CustomDirtyMoneyitem = ''
QBConfig.DrugsPrice = {
-- base qb
["weed_white-widow"] = {min = 15, max = 24 },
["weed_og-kush"] = {min = 15, max = 28},
["weed_skunk"] = {min = 15, max = 31 },
["weed_amnesia"] = {min = 18, max = 34},
["weed_purple-haze"] = {min = 18, max = 37},
["weed_ak47"] = {min = 18, max = 40},
["crack_baggy"] = {min = 18, max = 34},
["cokebaggy"] = {min = 18, max = 37},
-- coke
["cokebaggystagetwo"] = {min = 18, max = 40},
["cokebaggystagethree"] = {min = 18, max = 40},
-- heroin
["heroin_ready"] = {min = 18, max = 40},
["heroin_readystagetwo"] = {min = 18, max = 40},
["heroin_readystagethree"] = {min = 18, max = 40},
-- crack
["baggedcracked"] = {min = 18, max = 40},
["baggedcrackedstagetwo"] = {min = 18, max = 40},
["baggedcrackedstagethree"] = {min = 18, max = 40},
-- xtc
["white_playboys"] = {min = 18, max = 40},
["white_playboys2"] = {min = 18, max = 40},
["white_playboys3"] = {min = 18, max = 40},
["white_playboys4"] = {min = 18, max = 40},
["blue_playboys"] = {min = 18, max = 40},
["blue_playboys2"] = {min = 18, max = 40},
["blue_playboys3"] = {min = 18, max = 40},
["blue_playboys4"] = {min = 18, max = 40},
["red_playboys"] = {min = 18, max = 40},
["red_playboys2"] = {min = 18, max = 40},
["red_playboys3"] = {min = 18, max = 40},
["red_playboys4"] = {min = 18, max = 40},
["orange_playboys"] = {min = 18, max = 40},
["orange_playboys2"] = {min = 18, max = 40},
["orange_playboys3"] = {min = 18, max = 40},
["orange_playboys4"] = {min = 18, max = 40},
["white_aliens"] = {min = 18, max = 40},
["white_aliens2"] = {min = 18, max = 40},
["white_aliens3"] = {min = 18, max = 40},
["white_aliens4"] = {min = 18, max = 40},
["blue_aliens"] = {min = 18, max = 40},
["blue_aliens2"] = {min = 18, max = 40},
["blue_aliens3"] = {min = 18, max = 40},
["blue_aliens4"] = {min = 18, max = 40},
["red_aliens"] = {min = 18, max = 40},
["red_aliens2"] = {min = 18, max = 40},
["red_aliens3"] = {min = 18, max = 40},
["red_aliens4"] = {min = 18, max = 40},
["orange_aliens"] = {min = 18, max = 40},
["orange_aliens2"] = {min = 18, max = 40},
["orange_aliens3"] = {min = 18, max = 40},
["orange_aliens4"] = {min = 18, max = 40},
["white_pl"] = {min = 18, max = 40},
["white_pl2"] = {min = 18, max = 40},
["white_pl3"] = {min = 18, max = 40},
["white_pl4"] = {min = 18, max = 40},
["blue_pl"] = {min = 18, max = 40},
["blue_pl2"] = {min = 18, max = 40},
["blue_pl3"] = {min = 18, max = 40},
["blue_pl4"] = {min = 18, max = 40},
["red_pl"] = {min = 18, max = 40},
["red_pl2"] = {min = 18, max = 40},
["red_pl3"] = {min = 18, max = 40},
["red_pl4"] = {min = 18, max = 40},
["orange_pl"] = {min = 18, max = 40},
["orange_pl2"] = {min = 18, max = 40},
["orange_pl3"] = {min = 18, max = 40},
["orange_pl4"] = {min = 18, max = 40},
["white_trolls"] = {min = 18, max = 40},
["white_trolls2"] = {min = 18, max = 40},
["white_trolls3"] = {min = 18, max = 40},
["white_trolls4"] = {min = 18, max = 40},
["blue_trolls"] = {min = 18, max = 40},
["blue_trolls2"] = {min = 18, max = 40},
["blue_trolls3"] = {min = 18, max = 40},
["blue_trolls4"] = {min = 18, max = 40},
["red_trolls"] = {min = 18, max = 40},
["red_trolls2"] = {min = 18, max = 40},
["red_trolls3"] = {min = 18, max = 40},
["red_trolls4"] = {min = 18, max = 40},
["orange_trolls"] = {min = 18, max = 40},
["orange_trolls2"] = {min = 18, max = 40},
["orange_trolls3"] = {min = 18, max = 40},
["orange_trolls4"] = {min = 18, max = 40},
["white_cats"] = {min = 18, max = 40},
["white_cats2"] = {min = 18, max = 40},
["white_cats3"] = {min = 18, max = 40},
["white_cats4"] = {min = 18, max = 40},
["blue_cats"] = {min = 18, max = 40},
["blue_cats2"] = {min = 18, max = 40},
["blue_cats3"] = {min = 18, max = 40},
["blue_cats4"] = {min = 18, max = 40},
["red_cats"] = {min = 18, max = 40},
["red_cats2"] = {min = 18, max = 40},
["red_cats3"] = {min = 18, max = 40},
["red_cats4"] = {min = 18, max = 40},
["orange_cats"] = {min = 18, max = 40},
["orange_cats2"] = {min = 18, max = 40},
["orange_cats3"] = {min = 18, max = 40},
["orange_cats4"] = {min = 18, max = 40},
-- weed stuff
["blunts"] = {min = 18, max = 40},
["leanblunts"] = {min = 18, max = 40},
["dextroblunts"] = {min = 18, max = 40},
["chewyblunt"] = {min = 18, max = 40},
["blunt"] = {min = 18, max = 40},
["specialchocolate"] = {min = 18, max = 40},
["specialbrownie"] = {min = 18, max = 40},
["specialcookie"] = {min = 18, max = 40},
["specialmuffin"] = {min = 18, max = 40},
["shatter"] = {min = 18, max = 40},
["ciggie"] = {min = 18, max = 40},
-- meth
["methbags"] = {min = 18, max = 40},
-- mescaline
["driedmescaline"] = {min = 18, max = 40},
-- shrooms
["shrooms"] = {min = 18, max = 40},
-- LSD
["gratefuldead_tabs"] = {min = 18, max = 40},
["bart_tabs"] = {min = 18, max = 40},
["pineapple_tabs"] = {min = 18, max = 40},
["yinyang_tabs"] = {min = 18, max = 40},
["wildcherry_tabs"] = {min = 18, max = 40},
["smiley_tabs"] = {min = 18, max = 40},
["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},
-- cokerep = 1,
["cokebaggystagetwo"] = {rep = 1,min = 18, max = 40},
["cokebaggystagethree"] = {rep = 1,min = 18, max = 40},
-- heroin rep = 1,
["heroin_ready"] = {rep = 1,min = 18, max = 40},
["heroin_readystagetwo"] = {rep = 1,min = 18, max = 40},
["heroin_readystagethree"] = {rep = 1,min = 18, max = 40},
-- crackrep = 1,
["baggedcracked"] = {rep = 1,min = 18, max = 40},
["baggedcrackedstagetwo"] = {rep = 1,min = 18, max = 40},
["baggedcrackedstagethree"] = {rep = 1,min = 18, max = 40},
-- xtc rep = 1,
["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},
-- weed stuffrep = 1,
["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},
-- methrep = 1,
["methbags"] = {rep = 1,min = 18, max = 40},
-- mescalinerep = 1,
["driedmescaline"] = {rep = 1,min = 18, max = 40},
-- shroomsrep = 1,
["shrooms"] = {rep = 1,min = 18, max = 40},
-- LSDrep = 1,
["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},
-- lean
["cupoflean"] = {min = 18, max = 40},
["cupofdextro"] = {min = 18, max = 40},
["cupoflean"] = {rep = 1,min = 18, max = 40},
["cupofdextro"] = {rep = 1,min = 18, max = 40},
}
QBConfig.Dealers = {}
-- Shop QBConfig
QBConfig.Products = {
[1] = {name = "weed_white-widow_seed", price = 15, amount = 150, minrep = 0},
[2] = {name = "weed_skunk_seed", price = 15, amount = 150, minrep = 0},
[3] = {name = "weed_purple-haze_seed", price = 15, amount = 150, minrep = 0},
[4] = {name = "weed_og-kush_seed", price = 15, amount = 150, minrep = 0},
[5] = {name = "weed_amnesia_seed", price = 15, amount = 150, minrep = 0},
}
QBConfig.ProductsStupidNameRewrite = {
[1] = {name = "weed_whitewidow_seed", price = 15, amount = 150, minrep = 0},
[2] = {name = "weed_skunk_seed", price = 15, amount = 150, minrep = 0},
[3] = {name = "weed_purplehaze_seed", price = 15, amount = 150, minrep = 0},
[4] = {name = "weed_ogkush_seed", price = 15, amount = 150, minrep = 0},
[5] = {name = "weed_amnesia_seed", price = 15, amount = 150, minrep = 0},
}
QBConfig.UseMarkedBills = false -- true for marked bills, false for cash
QBConfig.DeliveryRepGain = 1 -- amount of rep gained per delivery
QBConfig.DeliveryRepLoss = 1 -- amount of rep lost if delivery wrong or late
QBConfig.PoliceDeliveryModifier = 2 -- amount to multiply active cop count by
QBConfig.WrongAmountFee = 2 -- divide the payout by this value for wrong delivery amount
QBConfig.OverdueDeliveryFee = 4 -- divide the payout by this value for overdue delivery
QBConfig.Dealers = {}
QBConfig.DeliveryItems = {
{ item = "weed_brick", minrep = 0, payout = {min = 10, max = 50}},
@@ -254,3 +229,15 @@ QBConfig.DeliveryLocations = {
[79] = { ["label"] = "Bahama Mamas", ["coords"] = vector3(-1383.1, -639.99, 28.67),},
}
QBConfig.NoSellZones = {
{loc = vector3(445.11, -991.3, 30.69), width = 10.0, length = 10.0, height = 10.0, rot = 180.0},
}
QBConfig.SellLevel = {
{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'},
}
+1 -1
View File
@@ -1,2 +1,2 @@
3.7.2
3.8.0