54 files changed
+1622
-2937
No files matched your search
+141
-151
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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)
|
||||
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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',
|
||||
}
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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 ألف نقدًا'
|
||||
}
|
||||
@@ -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
@@ -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'
|
||||
}
|
||||
@@ -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が必要です'
|
||||
}
|
||||
@@ -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 现金'
|
||||
}
|
||||
@@ -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'
|
||||
}
|
||||
@@ -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'
|
||||
}
|
||||
@@ -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
|
||||
|
||||

|
||||
### 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',
|
||||
```
|
||||

|
||||
|
||||
- and change it to this
|
||||
```lua
|
||||
event = 'md-drugs:client:cornerselling',
|
||||
```
|
||||
|
||||

|
||||
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
@@ -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
@@ -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)
|
||||
|
||||
@@ -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
@@ -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'})
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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,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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -1,2 +1,2 @@
|
||||
3.7.2
|
||||
3.8.0
|
||||
|
||||
Reference in new issue
Block a user