- half done

This commit is contained in:
Mustache Dom committed 2026-01-16 02:57:26 -07:00
1 parent d2f70d78ed
commit ebc47ba5d7
41 files changed
+1499 -1012

No files matched your search

+36 -35
View File
@@ -1,32 +1,32 @@
local herointable = false
local dirty = false
local locations = ps.callback('md-drugs:server:GetHeroinLocations')
local locations = GlobalState.MDDrugsLocations.Heroin
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)
ps.entityTarget(heroinlabkit, {
Bridge.Target.AddLocalEntity(heroinlabkit, {
{
icon = "fa-solid fa-temperature-high",
label = ps.lang('heroin.targetCook'),
label = Bridge.Language.Locale('heroin.targetCook'),
action = function()
if not ps.hasItem('emptyvial') then
ps.notify(ps.lang('Catches.itemMissings', ps.getLabel('emptyvial')), 'error')
if not Bridge.Inventory.HasItem('emptyvial') then
Bridge.Notify.SendNotify(Bridge.Language.Locale('Catches.itemMissings', Bridge.Inventory.GetItemInfo('emptyvial').label), 'error')
return
end
if not minigame() then
dirty = true
TriggerServerEvent("md-drugs:server:failheatingheroin")
ps.requestPTFX("core")
local heroinkit = StartParticleFxLoopedOnEntity("exp_air_molotov", heroinlabkit, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.5, false, false, false)
local coords = GetEntityCoords(heroinlabkit)
AddExplosion(coords.x, coords.y, coords.z-1.0, 34, 0.0, true, false, true)
SetParticleFxLoopedAlpha(heroinkit, 3.0)
SetPedToRagdoll(PlayerPedId(), 1300, 1300, 0, 0, 0, 0)
return end
if not ps.progressbar(ps.lang('heroin.pbCook'), 4000, 'uncuff') then return end
return
end
if not progressbar(Bridge.Language.Locale('heroin.pbCook'), 4000, 'uncuff') then return end
TriggerServerEvent("md-drugs:server:heatliquidheroin")
end,
canInteract = function()
@@ -35,9 +35,9 @@ local function createLabKit(coord, head)
},
{
icon = "fas fa-box-circle-check",
label = ps.lang('heroin.targetPickup'),
label = Bridge.Language.Locale('heroin.targetPickup'),
action = function()
if not ps.progressbar(ps.lang('heroin.pbPickup'), 4000, 'uncuff') then return end
if not progressbar(Bridge.Language.Locale('heroin.pbPickup'), 4000, 'uncuff') then return end
herointable = false
DeleteObject(heroinlabkit)
TriggerServerEvent("md-drugs:server:getheroinlabkitback")
@@ -49,14 +49,14 @@ local function createLabKit(coord, head)
},
{
icon = "fa-solid fa-hand-sparkles",
label = ps.lang('heroin.targetClean'),
label = Bridge.Language.Locale('heroin.targetClean'),
action = function()
if not ps.hasItem('cleaningkit') then
ps.notify(ps.lang('Catches.itemMissings', ps.getLabel('cleaningkit')), 'error')
if not Bridge.Inventory.HasItem('cleaningkit') then
Bridge.Notify.SendNotify(Bridge.Language.Locale('Catches.itemMissings', Bridge.Inventory.GetItemInfo('cleaningkit').label), 'error')
return
end
if not ps.progressbar(ps.lang('heroin.pbClean'), 4000, 'clean') then return end
local done = ps.callback('removeCleaningkit', false)
if not progressbar(Bridge.Language.Locale('heroin.pbClean'), 4000, 'clean') then return end
local done = Bridge.Callback.Trigger('md-drugs:server:removeCleaningKitHeroin', false)
if done then dirty = false end
end,
canInteract = function()
@@ -67,12 +67,12 @@ local function createLabKit(coord, head)
end
for k, v in pairs (locations.dryplant) do
ps.boxTarget('dryHeroin'..k, v.loc, {length = v.l, width = v.w, height = 1.0, rotation = v.rot}, {
Bridge.Target.AddBoxZone('dryHeroin'..k, v.loc, vector3(v.l, v.w, 2.0), v.loc.w or 180.0, {
{
label = ps.lang('heroin.targetDry'),
label = Bridge.Language.Locale('heroin.targetDry'),
icon = 'fa-solid fa-temperature-high',
action = function()
if not ps.progressbar(ps.lang('heroin.pbDry'), 4000, 'uncuff') then return end
if not progressbar(Bridge.Language.Locale('heroin.pbDry'), 4000, 'uncuff') then return end
TriggerServerEvent("md-drugs:server:dryplant", k)
end,
canInteract = function()
@@ -83,16 +83,16 @@ for k, v in pairs (locations.dryplant) do
end
for k, v in pairs (locations.cutheroinone) do
ps.boxTarget('cutHeroin'..k, v.loc, {length = v.l, width = v.w, height = 1.0, rotation = v.rot}, {
Bridge.Target.AddBoxZone('cutHeroin'..k, v.loc, vector3(v.l, v.w, 2.0), v.loc.w or 180.0, {
{
label = ps.lang('heroin.targetCutHeroin'),
label = Bridge.Language.Locale('heroin.targetCutHeroin'),
icon = 'fa-solid fa-seedling',
action = function()
if not ps.hasItem('bakingsoda') then
ps.notify(ps.lang('Catches.itemMissings', ps.getLabel('bakingsoda')), 'error')
if not Bridge.Inventory.HasItem('bakingsoda') then
Bridge.Notify.SendNotify(Bridge.Language.Locale('Catches.itemMissings', Bridge.Inventory.GetItemInfo('bakingsoda').label), 'error')
return
end
if not ps.progressbar(ps.lang('heroin.pbCutHeroin'), 4000, 'uncuff') then return end
if not progressbar(Bridge.Language.Locale('heroin.pbCutHeroin'), 4000, 'uncuff') then return end
TriggerServerEvent("md-drugs:server:cutheroin", k)
end,
canInteract = function()
@@ -101,19 +101,20 @@ for k, v in pairs (locations.cutheroinone) do
}
})
end
local peds = {}
for k, v in pairs (locations.buyKit) do
ps.requestModel(v.ped, 1000)
requestModel(v.ped, 1000)
peds[k] = CreatePed(4, v.ped, v.loc.x, v.loc.y, v.loc.z, v.loc.w, false, false)
Freeze(peds[k], true, v.loc.w)
SetBlockingOfNonTemporaryEvents(peds[k], true)
SetEntityInvincible(peds[k], true)
ps.entityTarget(peds[k], {
Bridge.Target.AddLocalEntity(peds[k], {
{
label = ps.lang('heroin.targetBuyKit'),
label = Bridge.Language.Locale('heroin.targetBuyKit'),
icon = 'fa-solid fa-box-open',
action = function()
if not ps.progressbar(ps.lang('heroin.pbBuyKit'), 4000, 'uncuff') then return end
if not progressbar(Bridge.Language.Locale('heroin.pbBuyKit'), 4000, 'uncuff') then return end
TriggerServerEvent("md-drugs:server:getheroinlabkit", k)
end,
canInteract = function()
@@ -125,28 +126,28 @@ for k, v in pairs (locations.buyKit) do
end
ps.registerCallback("md-drugs:client:setheroinlabkit", function()
Bridge.Callback.Register("md-drugs:client:setheroinlabkit", function()
if herointable then
ps.notify(ps.lang('heroin.tableout'), 'error')
Bridge.Notify.SendNotify(Bridge.Language.Locale('heroin.tableout'), 'error')
return false
else
herointable = true
local location, head = StartRay()
if not location then herointable = false return end
if not ps.progressbar(ps.lang('heroin.placing'), 4000, 'uncuff') then return end
if not progressbar(Bridge.Language.Locale('heroin.placing'), 4000, 'uncuff') then return end
createLabKit(location, head)
return true, location
end
end)
for k, v in pairs (locations.fillneedle) do
ps.boxTarget('fillNeedle'..k, v.loc, {length = v.l, width = v.w, height = 1.0, rotation = v.rot}, {
Bridge.Target.AddBoxZone('fillNeedle'..k, v.loc, vector3(v.l, v.w, 2.0), v.loc.w or 180.0, {
{
label = ps.lang('heroin.targetFill'),
label = Bridge.Language.Locale('heroin.targetFill'),
icon = 'fa-solid fa-syringe',
action = function()
if not minigame() then TriggerServerEvent("md-drugs:server:failheroin", k) return end
if not ps.progressbar(ps.lang('heroin.pbFill'), 4000, 'uncuff') then return end
if not progressbar(Bridge.Language.Locale('heroin.pbFill'), 4000, 'uncuff') then return end
TriggerServerEvent("md-drugs:server:fillneedle", k)
end,
canInteract = function()