edit checkDistance

This commit is contained in:
Mustache Dom committed 2026-01-19 00:46:49 -07:00
1 parent df9584711a
commit fb500dc502
16 files changed
+52 -88

No files matched your search

+2 -2
View File
@@ -1,7 +1,7 @@
local locations = GlobalState.MDDrugsLocations.Pharma
Bridge.Callback.Register("md-drugs:client:prescriptionpad", function(data, op)
local job = ps.getPlayerData().job.name
Bridge.Callback.Register("md-drugs:client:prescriptionpad", function( data, op)
local job = Bridge.Framework.GetPlayerJob()
if job ~= 'ambulance' then
Bridge.Notify.SendNotify(Bridge.Language.Locale('pharma.notPharma'), 'error')
return
+1 -2
View File
@@ -46,8 +46,7 @@ end)
RegisterServerEvent("md-drugs:server:purchaseGoods", function(item)
local src = source
if not checkDistance(src, loc, 10) then
Bridge.Notify.SendNotify(src, Bridge.Language.Locale('Catches.notIn'), "error")
if not checkDistance(src, loc, 10, 'md-drugs:server:purchaseGoods') then
return
end
if not stores.travel[item] then
+6 -7
View File
@@ -61,8 +61,7 @@ RegisterServerEvent('md-drugs:server:makepowder', function(num)
if timeOut(src, 'md-drugs:server:makepowder') then return end
if not checkDistance(src, Locations.Cocaine.MakePowder[num].loc, 3.5) then
Bridge.Prints.Warm(Bridge.Language.Locale('Catches.notIn', ps.getPlayerName(src)), 'md-drugs:server:makepowder')
if not checkDistance(src, Locations.Cocaine.MakePowder[num].loc, 3.5, 'md-drugs:server:makepowder') then
return
end
@@ -81,10 +80,10 @@ RegisterServerEvent('md-drugs:server:cutcokeone', function(num)
if timeOut(src, 'md-drugs:server:cutcokeone') then return end
if not checkDistance(src, Locations.Cocaine.CuttingCoke[num].loc, 2.5) then
Bridge.Prints.Warn(src, Bridge.Language.Locale('Catches.notIn'), 'error')
if not checkDistance(src, Locations.Cocaine.CuttingCoke[num].loc, 2.5, 'md-drugs:server:cutcokeone') then
return
end
local tier = 'tier1'
local itemCheck = {
{check = Bridge.Inventory.HasItem(src,'loosecoke'), tier = 'tier1'},
@@ -107,10 +106,10 @@ RegisterServerEvent('md-drugs:server:bagcoke', function(num)
if timeOut(src, 'md-drugs:server:bagcoke') then return end
if not checkDistance(src, Locations.Cocaine.BaggingCoke[num].loc, 2.5) then
Bridge.Prints.Warn(src, Bridge.Language.Locale('Catches.notIn'), 'error')
if not checkDistance(src, Locations.Cocaine.BaggingCoke[num].loc, 2.5, 'md-drugs:server:bagcoke') then
return
end
local tier = 'tier1'
local itemCheck = {
{check = Bridge.Inventory.HasItem(src,'coke'), tier = 'tier1'},
@@ -138,7 +137,7 @@ for k, v in pairs (cokecut) do
return
end
if Bridge.Inventory.HasItem(src,item.name) then
local check = ps.callback('md-drugs:client:uncuff', src, 'Cutting It Further')
local check = Bridge.Callback.Trigger('md-drugs:client:uncuff', src, 'Cutting It Further')
if not check then return end
if Bridge.Inventory.RemoveItem(src, k, 1) and Bridge.Inventory.RemoveItem(src, 'bakingsoda', 1) then
Bridge.Inventory.AddItem(src, 'loosecoke', v)
+4 -6
View File
@@ -29,10 +29,10 @@ RegisterServerEvent('md-drugs:server:makecrackone', function(num)
if timeOut(src, 'md-drugs:server:makecrackone') then return end
if not checkDistance(src, Locations.Crack.makecrack[num].loc, 2.0) then
Bridge.Prints.Warn(src, Bridge.Language.Locale('Catches.notIn'), 'error')
if not checkDistance(src, Locations.Crack.makecrack[num].loc, 2.0, 'md-drugs:server:makecrackone') then
return
end
local tier = 'tier1'
if Config.TierSystem then
local crackTiers = {
@@ -58,8 +58,7 @@ RegisterServerEvent('md-drugs:server:bagcrack', function(num)
if timeOut(src, 'md-drugs:server:bagcrack') then return end
if not checkDistance(src, Locations.Crack.bagcrack[num].loc, 2.0) then
Bridge.Prints.Warn(src, Bridge.Language.Locale('Catches.notIn'), 'error')
if not checkDistance(src, Locations.Crack.bagcrack[num].loc, 2.0, 'md-drugs:server:bagcrack') then
return
end
@@ -102,8 +101,7 @@ end
RegisterNetEvent("md-drugs:server:failcrackone", function(num)
local src = source
if not checkDistance(src, Locations.Crack.makecrack[num].loc, 2.0) then
Bridge.Prints.Warn(src, Bridge.Language.Locale('Catches.notIn'), 'error')
if not checkDistance(src, Locations.Crack.makecrack[num].loc, 2.0, 'md-drugs:server:failcrackone') then
return
end
local items = {
+3 -3
View File
@@ -94,7 +94,7 @@ local Dealers = {}
Bridge.Callback.Register('md-drugs:server:dealerList', function(source, location)
local coords = json.decode(Dealers[location].coords)
coords = vector3(coords.x, coords.y, coords.z)
if not checkDistance(source, coords, 4.0) then
if not checkDistance(source, coords, 4.0, 'md-drugs:server:dealerList') then
return
end
return Products
@@ -167,7 +167,7 @@ RegisterNetEvent('md-drugs:server:giveDeliveryItems', function(item, amount)
if amount ~= itemData.amount then return end
local coords = json.decode(check[1].location)
coords = vector3(coords.x, coords.y, coords.z)
if not checkDistance(src, coords, 5.0) then
if not checkDistance(src, coords, 5.0, 'md-drugs:server:giveDeliveryItems') then
return
end
if Bridge.Inventory.RemoveItem(src, item, amount) then
@@ -242,7 +242,7 @@ RegisterNetEvent('md-drugs:server:buyItemDealer', function(num, loc)
if not itemData then return end
local coords = json.decode(Dealers[loc].coords)
coords = vector3(coords.x, coords.y, coords.z)
if not checkDistance(src, coords, 5.0) then
if not checkDistance(src, coords, 5.0, 'md-drugs:server:buyItemDealer') then
return
end
if not Bridge.Framework.RemoveAccountBalance(src, 'cash', itemData.price) or not Bridge.Framework.RemoveAccountBalance(src,'bank', itemData.price) then
+5 -4
View File
@@ -1,14 +1,16 @@
local timeOutPlayers = {}
local playerRep = {}
function checkDistance(src, coords, dist)
function checkDistance(src, coords, dist, event)
local pcoords = GetEntityCoords(GetPlayerPed(src))
coords = vector3(coords.x, coords.y, coords.z)
if #(pcoords - coords) > dist then
Bridge.Prints.Warn(Bridge.Language.Locale('Catches.outOfRangeWarn', Bridge.Framework.GetPlayerIdentifier(src), event))
return false
end
return true
end
local function timeOutThread(src)
local id = Bridge.Framework.GetPlayerIdentifier(src)
CreateThread(function()
@@ -123,9 +125,8 @@ function AddRep(source, type, amount)
end
MySQL.query.await('UPDATE drugrep SET drugrep = ? WHERE cid = ?', {json.encode(playerRep[id]), id})
end
-- TODO: Callbacks
ps.registerCallback('md-drugs:server:GetCoppers', function(source, cb, args)
return Bridge.Framework.GetPlayersByJob('police')
Bridge.Callback.Register('md-drugs:server:GetCoppers', function(source, cb, args)
return #Bridge.Framework.GetPlayersByJob('police')
end)
Bridge.Callback.Register('md-drugs:server:GetRep', function(source, cb, args)
+5 -9
View File
@@ -72,8 +72,7 @@ RegisterServerEvent('md-drugs:server:dryplant', function(num)
if timeOut(src, 'md-drugs:server:dryplant') then return end
if not checkDistance(src, Locations.Heroin.dryplant[num].loc, 3.0) then
Bridge.Prints.Warn(src, Bridge.Language.Locale('Catches.notIn'), 'error')
if not checkDistance(src, Locations.Heroin.dryplant[num].loc, 3.0, 'md-drugs:server:dryplant') then
return
end
@@ -88,8 +87,7 @@ RegisterServerEvent('md-drugs:server:cutheroin', function(num)
if timeOut(src, 'md-drugs:server:cutheroin') then return end
if not checkDistance(src, Locations.Heroin.cutheroinone[num].loc, 3.0) then
Bridge.Prints.Warn(src, Bridge.Language.Locale('Catches.notIn'), 'error')
if not checkDistance(src, Locations.Heroin.cutheroinone[num].loc, 3.0, 'md-drugs:server:cutheroin') then
return
end
@@ -117,8 +115,7 @@ RegisterServerEvent('md-drugs:server:getheroinlabkit', function(num)
if timeOut(src, 'md-drugs:server:getheroinlabkit') then return end
if not checkDistance(src, Locations.Heroin.buyKit[num].loc, 3.0) then
Bridge.Prints.Warn(src, Bridge.Language.Locale('Catches.notIn'), 'error')
if not checkDistance(src, Locations.Heroin.buyKit[num].loc, 3.0, 'md-drugs:server:getheroinlabkit') then
return
end
@@ -144,7 +141,7 @@ RegisterServerEvent('md-drugs:server:getheroinlabkitback', function()
end
local loc = vector3(heroinLabKits[src].coords.x, heroinLabKits[src].coords.y, heroinLabKits[src].coords.z)
if not checkDistance(src, loc, 5.0) then
if not checkDistance(src, loc, 5.0, 'md-drugs:server:getheroinlabkitback') then
return
end
@@ -234,8 +231,7 @@ RegisterServerEvent('md-drugs:server:fillneedle', function(num)
local src = source
if timeOut(src, 'md-drugs:server:fillneedle') then return end
if not checkDistance(src, Locations.Heroin.fillneedle[num].loc, 3.0) then
Bridge.Notify.SendNotify(src, Bridge.Language.Locale('Catches.notIn'), 'error')
if not checkDistance(src, Locations.Heroin.fillneedle[num].loc, 3.0, 'md-drugs:server:fillneedle') then
return
end
local tier = 'tier1'
+1 -1
View File
@@ -116,7 +116,7 @@ Bridge.Callback.Register('md-drugs:server:registerLean', function(source, loc, v
if onRun[src] then
return false
else
if not checkDistance(src, Locations.Lean.SyrupVendor[loc].loc, 5.0) then
if not checkDistance(src, Locations.Lean.SyrupVendor[loc].loc, 5.0, 'md-drugs:server:registerLean') then
return false
end
if not vehicleNetId then
+10 -20
View File
@@ -35,8 +35,7 @@ RegisterServerEvent('md-drugs:server:getlysergic', function(num)
if timeOut(src, 'md-drugs:server:getlysergic') then return end
if not checkDistance(src, Locations.LSD.lysergicacid[num].loc, 2.0) then
Bridge.Prints.Warn(src, Bridge.Language.Locale('Catches.notIn'), "error")
if not checkDistance(src, Locations.LSD.lysergicacid[num].loc, 2.0, 'md-drugs:server:getlysergic') then
return
end
Bridge.Inventory.AddItem(src, 'lysergic_acid', 2)
@@ -45,8 +44,7 @@ end)
RegisterServerEvent('md-drugs:server:getdiethylamide', function(num)
local src = source
if timeOut(src, 'md-drugs:server:getdiethylamide') then return end
if not checkDistance(src, Locations.LSD.diethylamide[num].loc, 2.0) then
Bridge.Notify.SendNotify(src, Bridge.Language.Locale('Catches.notIn'), "error")
if not checkDistance(src, Locations.LSD.diethylamide[num].loc, 2.0, 'md-drugs:server:getdiethylamide') then
return
end
Bridge.Inventory.AddItem(src, 'diethylamide', 2)
@@ -70,8 +68,7 @@ end)
Bridge.Callback.Register('md-drugs:server:removecleaningkit', function(source)
local src = source
if not lsdTables[src] then return false end
if not checkDistance(src, lsdTables[src].loc, 3.0) then
Bridge.Prints.Warn(src, Bridge.Language.Locale('Catches.notIn'), "error")
if not checkDistance(src, lsdTables[src].loc, 3.0, 'md-drugs:server:removecleaningkit') then
return false
end
return Bridge.Inventory.RemoveItem(src, "cleaningkit", 1)
@@ -91,8 +88,7 @@ RegisterServerEvent('md-drugs:server:heatliquid', function()
if not lsdTables[src] then return end
if timeOut(src, 'md-drugs:server:heatliquid') then return end
if not checkDistance(src, lsdTables[src].loc, 3.0) then
Bridge.Prints.Warn(src, Bridge.Language.Locale('Catches.notIn'), "error")
if not checkDistance(src, lsdTables[src].loc, 3.0, 'md-drugs:server:heatliquid') then
return
end
if not craft(src, Recipes.LSD['vial']['heat']) then
@@ -104,8 +100,7 @@ RegisterServerEvent('md-drugs:server:failheating', function()
local src = source
if not lsdTables[src] then return end
if not checkDistance(src, lsdTables[src].loc, 3.0) then
Bridge.Prints.Warn(src, Bridge.Language.Locale('Catches.notIn'), "error")
if not checkDistance(src, lsdTables[src].loc, 3.0, 'md-drugs:server:failheating') then
return
end
@@ -121,8 +116,7 @@ RegisterServerEvent('md-drugs:server:refinequalityacid', function()
if not lsdTables[src] then
return
end
if not checkDistance(src, lsdTables[src].loc, 3.0) then
Bridge.Prints.Warn(src, Bridge.Language.Locale('Catches.notIn'), "error")
if not checkDistance(src, lsdTables[src].loc, 3.0, 'md-drugs:server:refinequalityacid') then
return
end
@@ -168,8 +162,7 @@ RegisterServerEvent('md-drugs:server:failrefinequality', function()
if not lsdTables[src] then return end
if not checkDistance(src, lsdTables[src].loc, 3.0) then
Bridge.Prints.Warn(src, Bridge.Language.Locale('Catches.notIn'), "error")
if not checkDistance(src, lsdTables[src].loc, 3.0, 'md-drugs:server:failrefinequality') then
return
end
@@ -182,8 +175,7 @@ RegisterServerEvent('md-drugs:server:gettabpaper', function(num)
if timeOut(src, 'md-drugs:server:gettabpaper') then return end
if not checkDistance(src, Locations.LSD.gettabs[num].loc, 3.0) then
Bridge.Prints.Warn(src, Bridge.Language.Locale('Catches.notIn'), "error")
if not checkDistance(src, Locations.LSD.gettabs[num].loc, 3.0, 'md-drugs:server:gettabpaper') then
return
end
@@ -202,8 +194,7 @@ RegisterServerEvent('md-drugs:server:getlabkit', function(num)
return
end
if not checkDistance(src, Locations.LSD.buyLSDkit[num].loc, 3.0) then
Bridge.Prints.Warn(src, Bridge.Language.Locale('Catches.notIn'), "error")
if not checkDistance(src, Locations.LSD.buyLSDkit[num].loc, 3.0, 'md-drugs:server:getlabkit') then
return
end
if Bridge.Framework.RemoveAccountBalance(src, 'cash', prices.lsdlabkitcost) then
@@ -217,8 +208,7 @@ RegisterServerEvent('md-drugs:server:maketabpaper', function()
local src = source
if timeOut(src, 'md-drugs:server:maketabpaper') then return end
if not lsdTables[src] then return end
if not checkDistance(src, lsdTables[src].loc, 3.0) then
Bridge.Prints.Warn(src, Bridge.Language.Locale('Catches.notIn'), "error")
if not checkDistance(src, lsdTables[src].loc, 3.0, 'md-drugs:server:maketabpaper') then
return
end
+1 -2
View File
@@ -20,8 +20,7 @@ RegisterNetEvent("md-drugs:server:drymescaline", function(num)
local src = source
if timeOut(src, 'md-drugs:server:drymescaline') then return end
if not checkDistance(src, Locations.Mescaline.DryOutMescaline[num].loc, 3.0) then
Bridge.Prints.Warn(src, Bridge.Language.Locale('Catches.notIn'), "error")
if not checkDistance(src, Locations.Mescaline.DryOutMescaline[num].loc, 3.0, 'md-drugs:server:drymescaline') then
return
end
+5 -7
View File
@@ -88,8 +88,7 @@ RegisterServerEvent('md-drugs:server:getmeth', function(num)
local src = source
if timeOut(src, 'md-drugs:server:getmeth') then return end
if not checkDistance(src, Locations.Meth.BagMeth[num].loc, 2.5) then
Bridge.Notify.SendNotify(src, Bridge.Language.Locale('Catches.notIn'), "error")
if not checkDistance(src, Locations.Meth.BagMeth[num].loc, 2.5, 'md-drugs:server:getmeth') then
return
end
@@ -101,8 +100,7 @@ end)
RegisterServerEvent('md-drugs:server:geteph', function(num)
local src = source
if timeOut(src, 'md-drugs:server:geteph') then return end
if not checkDistance(src, Locations.Meth.MethEph[num].loc, 2.5) then
Bridge.Notify.SendNotify(src, Bridge.Language.Locale('Catches.notIn'), "error")
if not checkDistance(src, Locations.Meth.MethEph[num].loc, 2.5, 'md-drugs:server:geteph') then
return
end
Bridge.Inventory.AddItem(src, 'ephedrine', 1)
@@ -111,7 +109,7 @@ end)
RegisterServerEvent('md-drugs:server:getace', function(num)
local src = source
if timeOut(src, 'md-drugs:server:getace') then return end
if not checkDistance(src, Locations.Meth.MethAce[num].loc, 2.5) then
if not checkDistance(src, Locations.Meth.MethAce[num].loc, 2.5, 'md-drugs:server:getace') then
Bridge.Notify.SendNotify(src, Bridge.Language.Locale('Catches.notIn'), "error")
return
end
@@ -120,7 +118,7 @@ end)
Bridge.Callback.Register('md-drugs:server:startcook', function(source, num)
local src = source
if not checkDistance(src, Locations.Meth.CookMeth[num].loc, 2.5) then
if not checkDistance(src, Locations.Meth.CookMeth[num].loc, 2.5, 'md-drugs:server:startcook') then
Bridge.Notify.SendNotify(src, Bridge.Language.Locale('Catches.notIn'), "error")
return false
end
@@ -135,7 +133,7 @@ Bridge.Callback.Register('md-drugs:server:registerMeth', function(source, loc, v
if onRun[source] then
return false
else
if checkDistance(src, Locations.Meth.MethHeist[loc].loc, 10.0) then
if checkDistance(src, Locations.Meth.MethHeist[loc].loc, 10.0, 'md-drugs:server:registerMeth') then
local vehicle = NetworkGetEntityFromNetworkId(vehNetId)
if DoesEntityExist(vehicle) and GetEntityModel(vehicle) == GetHashKey('journey') then
vehicles[src] = vehicle
+2 -4
View File
@@ -31,8 +31,7 @@ GlobalState.MDDrugsLocations = Locations
Bridge.Callback.Register('md-drugs:server:payfortruck', function(source, loc)
local src = source
if timeOut(src, 'md-drugs:server:payfortruck') then return false end
if not checkDistance(src, Locations.Oxy.OxyPayForTruck[loc].loc, 2.0) then
Bridge.Prints.Warn(src, Bridge.Language.Locale('Catches.notIn'), "error")
if not checkDistance(src, Locations.Oxy.OxyPayForTruck[loc].loc, 2.0, 'md-drugs:server:payfortruck') then
return false
end
if not Bridge.Framework.RemoveAccountBalance(src, 'cash', prices.payfortruck) then
@@ -55,8 +54,7 @@ RegisterServerEvent('md-drugs:server:giveoxybox', function()
return
end
if not checkDistance(src, Locations.Oxy.oxylocations[onRoute[src].current], 3.5) then
Bridge.Notify.SendNotify(src, Bridge.Language.Locale('Catches.notIn'), "error")
if not checkDistance(src, Locations.Oxy.oxylocations[onRoute[src].current], 3.5, 'md-drugs:server:giveoxybox') then
return
end
+2 -2
View File
@@ -74,8 +74,8 @@ RegisterServerEvent('md-drugs:server:fillprescription', function(num)
local src = source
if timeOut(src, 'md-drugs:server:fillprescription') then return end
if not checkDistance(src, Locations.Pharma.FillPrescription[num].loc, 3.5) then
return Bridge.Notify.SendNotify(src, Bridge.Language.Locale('Catches.notIn'), "error")
if not checkDistance(src, Locations.Pharma.FillPrescription[num].loc, 3.5, 'md-drugs:server:fillprescription') then
return
end
local pres = {
vicodin_prescription = 'vicodinbottle',
+3 -6
View File
@@ -107,8 +107,7 @@ GlobalState.MDDrugsRecipes = Recipes
RegisterNetEvent('md-drugs:server:buyWeedItem', function(loc, name, amount)
local src = source
if not checkDistance(src, Locations.Weed.WeedSalesman[loc].loc, 3.5) then
Bridge.Notify.SendNotify(src, Bridge.Language.Locale('Checks.notIn'), "error")
if not checkDistance(src, Locations.Weed.WeedSalesman[loc].loc, 3.5, 'md-drugs:server:buyWeedItem') then
return
end
if not Recipes.Weed.weedStore[name] then
@@ -126,8 +125,7 @@ end)
RegisterServerEvent('md-drugs:server:dryoutweed', function(loc)
local src = source
if timeOut(src, 'md-drugs:server:dryoutweed') then return end
if checkDistance(src, Locations.Weed.WeedDry[loc].loc, 5.0) == false then
Bridge.Notify.SendNotify(src, Bridge.Language.Locale('Checks.notIn'), "error")
if not checkDistance(src, Locations.Weed.WeedDry[loc].loc, 5.0, 'md-drugs:server:dryoutweed') then
return
end
if Bridge.Inventory.RemoveItem(src,"wetcannabis", 1) then
@@ -157,8 +155,7 @@ RegisterServerEvent('md-drugs:server:MakeWeedItems', function(tabl, item, loc)
Bridge.Notify.SendNotify(src, Bridge.Language.Locale('weed.invalidTable'), "error")
return
end
if not checkDistance(src, Locations.Weed[locs][loc].loc, 5.0) then
Bridge.Notify.SendNotify(src, Bridge.Language.Locale('Checks.notIn'), "error")
if not checkDistance(src, Locations.Weed[locs][loc].loc, 5.0, 'md-drugs:server:MakeWeedItems') then
return
end
local recipe = Recipes.Weed[tabl][item]
+2 -2
View File
@@ -31,7 +31,7 @@ GlobalState.MDDrugsRecipes = Recipes
RegisterServerEvent('md-drugs:server:buyWhippitItem', function(loc, item,amount)
local src = source
if not ps.checkDistance(src, Locations.Whippit[loc].loc, 3.0) then return end
if not checkDistance(src, Locations.Whippit[loc].loc, 3.0, 'md-drugs:server:buyWhippitItem') then return end
if not Recipes.Whippit.shop[item] then return end
local price = Recipes.Whippit.shop[item] * amount
if not Bridge.Framework.RemoveAccountBalance(src, 'cash', price, 'whippit-shop') then
@@ -60,7 +60,7 @@ Bridge.Framework.RegisterUsableItem('cracker', function(source)
return Bridge.Notify.SendNotify(src, Bridge.Language.Locale('Whippit.needCanister'), 'error')
end
if not Bridge.Inventory.RemoveItem(src, balloonItem, 1) then
return ps.warn(src, 'Failed to remove balloon', 'error')
return
end
Bridge.Callback.Trigger('md-drugs:client:useWhippit', src, balloonColor)
end)
-11
View File
@@ -1,15 +1,5 @@
Config = {} --Ignore.
if GetResourceState('ps_lib') ~= 'started' then
print('^1ERROR: ps_lib is not started, please start ps_lib before starting this resource.^0')
return
end
if GetResourceState('ps_lib') == 'missing' then
print('^1ERROR: ps_lib is missing, please install ps_lib to use this resource.^0')
print('^1You can find ps_lib here: https://github.com/Project-Sloth/ps_lib')
return
end
Bridge = exports.community_bridge:Bridge()
ps = exports.ps_lib:init() --Ignore.
ps.loadLangs("en") -- set your language
@@ -70,5 +60,4 @@ Config.Bzz = { -- if you have BZZZ props for these turn it on if you want
heroin =false,
shrooms = false,
weed = false,
}