Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ESX = nil
- local CopsConnected = 0
- local PlayersHarvestingCoke = {}
- local PlayersTransformingCoke = {}
- local PlayersSellingCoke = {}
- local PlayersHarvestingMeth = {}
- local PlayersTransformingMeth = {}
- local PlayersSellingMeth = {}
- local PlayersHarvestingWeed = {}
- local PlayersTransformingWeed = {}
- local PlayersSellingWeed = {}
- local PlayersHarvestingOpium = {}
- local PlayersTransformingOpium = {}
- local PlayersSellingOpium = {}
- TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
- function CountCops()
- local xPlayers = ESX.GetPlayers()
- CopsConnected = 0
- for i=1, #xPlayers, 1 do
- local xPlayer = ESX.GetPlayerFromId(xPlayers[i])
- if xPlayer.job.name == 'police' then
- CopsConnected = CopsConnected + 1
- end
- end
- SetTimeout(5000, CountCops)
- end
- CountCops()
- --coke
- local function HarvestCoke(source)
- if CopsConnected < Config.RequiredCopsCoke then
- TriggerClientEvent('customNotification', source, _U('act_imp_police') .. CopsConnected .. '/' .. Config.RequiredCopsCoke)
- return
- end
- SetTimeout(5000, function()
- if PlayersHarvestingCoke[source] == true then
- local xPlayer = ESX.GetPlayerFromId(source)
- local coke = xPlayer.getInventoryItem('coke')
- if coke.limit ~= 3 and coke.count >= coke.limit then
- TriggerClientEvent('customNotification', source, _U('inv_full_coke'), 2000, true, 'error')
- else
- xPlayer.addInventoryItem('coke', 1)
- HarvestCoke(source)
- end
- end
- end)
- end
- RegisterServerEvent('esx_drugs:startHarvestCoke')
- AddEventHandler('esx_drugs:startHarvestCoke', function()
- local _source = source
- PlayersHarvestingCoke[_source] = true
- TriggerClientEvent('customNotification', _source, _U('pickup_in_prog'), 2000, true, 'success')
- HarvestCoke(_source)
- end)
- RegisterServerEvent('esx_drugs:stopHarvestCoke')
- AddEventHandler('esx_drugs:stopHarvestCoke', function()
- local _source = source
- PlayersHarvestingCoke[_source] = false
- end)
- local function TransformCoke(source)
- if CopsConnected < Config.RequiredCopsCoke then
- TriggerClientEvent('customNotification', source, _U('act_imp_police') .. CopsConnected .. '/' .. Config.RequiredCopsCoke)
- return
- end
- SetTimeout(10000, function()
- if PlayersTransformingCoke[source] == true then
- local xPlayer = ESX.GetPlayerFromId(source)
- local cokeQuantity = xPlayer.getInventoryItem('coke').count
- local poochQuantity = xPlayer.getInventoryItem('coke_pooch').count
- if poochQuantity > 300 then
- TriggerClientEvent('customNotification', source, _U('too_many_pouches'), 2000, true, 'error')
- elseif cokeQuantity < 3 then
- TriggerClientEvent('customNotification', source, _U('not_enough_coke'), 2000, true, 'error')
- else
- xPlayer.removeInventoryItem('coke', 3)
- xPlayer.addInventoryItem('coke_pooch', 1)
- TransformCoke(source)
- end
- end
- end)
- end
- RegisterServerEvent('esx_drugs:startTransformCoke')
- AddEventHandler('esx_drugs:startTransformCoke', function()
- local _source = source
- PlayersTransformingCoke[_source] = true
- TriggerClientEvent('customNotification', _source, _U('packing_in_prog'), 2000, true, 'success')
- TransformCoke(_source)
- end)
- RegisterServerEvent('esx_drugs:stopTransformCoke')
- AddEventHandler('esx_drugs:stopTransformCoke', function()
- local _source = source
- PlayersTransformingCoke[_source] = false
- end)
- local function SellCoke(source)
- if CopsConnected < Config.RequiredCopsCoke then
- TriggerClientEvent('customNotification', source, _U('act_imp_police') .. CopsConnected .. '/' .. Config.RequiredCopsCoke)
- return
- end
- SetTimeout(7500, function()
- if PlayersSellingCoke[source] == true then
- local xPlayer = ESX.GetPlayerFromId(source)
- local poochQuantity = xPlayer.getInventoryItem('coke_pooch').count
- if poochQuantity == 0 then
- TriggerClientEvent('customNotification', source, _U('no_pouches_sale'), 2000, true, 'error')
- else
- xPlayer.removeInventoryItem('coke_pooch', 10)
- xPlayer.addAccountMoney('black_money', 1600)
- TriggerClientEvent('customNotification', source, _U('sold_one_coke'), 2000, true, 'success')
- end
- SellCoke(source)
- end
- end)
- end
- RegisterServerEvent('esx_drugs:startSellCoke')
- AddEventHandler('esx_drugs:startSellCoke', function()
- local id = GetPlayerIdentifiers(source)[1]
- local result = MySQL.Sync.fetchAll('SELECT * FROM users WHERE identifier = @identifier',
- {
- ['@identifier'] = id
- })
- local user = result[1]
- local _source = source
- local job = user['job']
- PlayersSellingCoke[_source] = true
- TriggerClientEvent('customNotification', _source, _U('sale_in_prog'), 2000, true, 'success')
- SellCoke(_source)
- end)
- RegisterServerEvent('esx_drugs:stopSellCoke')
- AddEventHandler('esx_drugs:stopSellCoke', function()
- local _source = source
- PlayersSellingCoke[_source] = false
- end)
- --meth
- local function HarvestMeth(source)
- if CopsConnected < Config.RequiredCopsMeth then
- TriggerClientEvent('customNotification', source, _U('act_imp_police') .. CopsConnected .. '/' .. Config.RequiredCopsMeth)
- return
- end
- SetTimeout(5000, function()
- if PlayersHarvestingMeth[source] == true then
- local xPlayer = ESX.GetPlayerFromId(source)
- local meth = xPlayer.getInventoryItem('meth')
- if meth.limit ~= -1 and meth.count >= meth.limit then
- TriggerClientEvent('customNotification', source, _U('inv_full_meth'), 2000, true, 'error')
- else
- xPlayer.addInventoryItem('meth', 1)
- HarvestMeth(source)
- end
- end
- end)
- end
- RegisterServerEvent('esx_drugs:startHarvestMeth')
- AddEventHandler('esx_drugs:startHarvestMeth', function()
- local id = GetPlayerIdentifiers(source)[1]
- local result = MySQL.Sync.fetchAll('SELECT * FROM users WHERE identifier = @identifier',
- {
- ['@identifier'] = id
- })
- local user = result[1]
- local _source = source
- local job = user['job']
- PlayersHarvestingMeth[_source] = true
- TriggerClientEvent('customNotification', _source, _U('pickup_in_prog'), 2000, true, 'success')
- HarvestMeth(_source)
- end)
- RegisterServerEvent('esx_drugs:stopHarvestMeth')
- AddEventHandler('esx_drugs:stopHarvestMeth', function()
- local _source = source
- PlayersHarvestingMeth[_source] = false
- end)
- local function TransformMeth(source)
- if CopsConnected < Config.RequiredCopsMeth then
- TriggerClientEvent('customNotification', source, _U('act_imp_police') .. CopsConnected .. '/' .. Config.RequiredCopsMeth)
- return
- end
- SetTimeout(12000, function()
- if PlayersTransformingMeth[source] == true then
- local xPlayer = ESX.GetPlayerFromId(source)
- local methQuantity = xPlayer.getInventoryItem('meth').count
- local poochQuantity = xPlayer.getInventoryItem('meth_pooch').count
- if poochQuantity > 300 then
- TriggerClientEvent('customNotification', source, _U('too_many_pouches'), 2000, true, 'error')
- elseif methQuantity < 3 then
- TriggerClientEvent('customNotification', source, _U('not_enough_meth'), 2000, true, 'error')
- else
- xPlayer.removeInventoryItem('meth', 3)
- xPlayer.addInventoryItem('meth_pooch', 1)
- TransformMeth(source)
- end
- end
- end)
- end
- RegisterServerEvent('esx_drugs:startTransformMeth')
- AddEventHandler('esx_drugs:startTransformMeth', function()
- local id = GetPlayerIdentifiers(source)[1]
- local result = MySQL.Sync.fetchAll('SELECT * FROM users WHERE identifier = @identifier',
- {
- ['@identifier'] = id
- })
- local user = result[1]
- local _source = source
- local job = user['job']
- local _source = source
- PlayersTransformingMeth[_source] = true
- TriggerClientEvent('customNotification', _source, _U('packing_in_prog'), 2000, true, 'success')
- TransformMeth(_source)
- end)
- RegisterServerEvent('esx_drugs:stopTransformMeth')
- AddEventHandler('esx_drugs:stopTransformMeth', function()
- local _source = source
- PlayersTransformingMeth[_source] = false
- end)
- local function SellMeth(source)
- if CopsConnected < Config.RequiredCopsMeth then
- TriggerClientEvent('customNotification', source, _U('act_imp_police') .. CopsConnected .. '/' .. Config.RequiredCopsMeth)
- return
- end
- SetTimeout(7500, function()
- if PlayersSellingMeth[source] == true then
- local xPlayer = ESX.GetPlayerFromId(source)
- local poochQuantity = xPlayer.getInventoryItem('meth_pooch').count
- if poochQuantity == 0 then
- TriggerClientEvent('customNotification', source, _U('no_pouches_sale'), 2000, true, 'error')
- else
- xPlayer.removeInventoryItem('meth_pooch', 10)
- xPlayer.addAccountMoney('black_money', 6400)
- TriggerClientEvent('customNotification', source, _U('sold_one_meth'), 2000, true, 'success')
- end
- SellMeth(source)
- end
- end)
- end
- RegisterServerEvent('esx_drugs:startSellMeth')
- AddEventHandler('esx_drugs:startSellMeth', function()
- local id = GetPlayerIdentifiers(source)[1]
- local result = MySQL.Sync.fetchAll('SELECT * FROM users WHERE identifier = @identifier',
- {
- ['@identifier'] = id
- })
- local user = result[1]
- local _source = source
- local job = user['job']
- PlayersSellingMeth[_source] = true
- TriggerClientEvent('customNotification', _source, _U('sale_in_prog'), 2000, true, 'success')
- SellMeth(_source)
- end)
- RegisterServerEvent('esx_drugs:stopSellMeth')
- AddEventHandler('esx_drugs:stopSellMeth', function()
- local _source = source
- PlayersSellingMeth[_source] = false
- end)
- --weed
- local function HarvestWeed(source)
- if CopsConnected < Config.RequiredCopsWeed then
- TriggerClientEvent('customNotification', source, _U('act_imp_police') .. CopsConnected .. '/' .. Config.RequiredCopsWeed)
- return
- end
- SetTimeout(5000, function()
- if PlayersHarvestingWeed[source] == true then
- local xPlayer = ESX.GetPlayerFromId(source)
- local weed = xPlayer.getInventoryItem('weed')
- if weed.limit ~= 10 and weed.count >= weed.limit then
- TriggerClientEvent('customNotification', source, _U('inv_full_weed'), 2000, true, 'error')
- else
- xPlayer.addInventoryItem('weed', 1)
- HarvestWeed(source)
- end
- end
- end)
- end
- RegisterServerEvent('esx_drugs:startHarvestWeed')
- AddEventHandler('esx_drugs:startHarvestWeed', function()
- local _source = source
- PlayersHarvestingWeed[_source] = true
- TriggerClientEvent('customNotification', _source, _U('pickup_in_prog'), 2000, true, 'success')
- HarvestWeed(_source)
- end)
- RegisterServerEvent('esx_drugs:stopHarvestWeed')
- AddEventHandler('esx_drugs:stopHarvestWeed', function()
- local _source = source
- PlayersHarvestingWeed[_source] = false
- end)
- local function TransformWeed(source)
- if CopsConnected < Config.RequiredCopsWeed then
- TriggerClientEvent('customNotification', source, _U('act_imp_police') .. CopsConnected .. '/' .. Config.RequiredCopsWeed)
- return
- end
- SetTimeout(7500, function()
- if PlayersTransformingWeed[source] == true then
- local xPlayer = ESX.GetPlayerFromId(source)
- local weedQuantity = xPlayer.getInventoryItem('weed').count
- local poochQuantity = xPlayer.getInventoryItem('weed_pooch').count
- if poochQuantity > 300 then
- TriggerClientEvent('customNotification', source, _U('too_many_pouches'), 2000, true, 'error')
- elseif weedQuantity < 3 then
- TriggerClientEvent('customNotification', source, _U('not_enough_weed'), 2000, true, 'error')
- else
- xPlayer.removeInventoryItem('weed', 3)
- xPlayer.addInventoryItem('weed_pooch', 1)
- TransformWeed(source)
- end
- end
- end)
- end
- RegisterServerEvent('esx_drugs:startTransformWeed')
- AddEventHandler('esx_drugs:startTransformWeed', function()
- local _source = source
- PlayersTransformingWeed[_source] = true
- TriggerClientEvent('customNotification', _source, _U('packing_in_prog'), 2000, true, 'success')
- TransformWeed(_source)
- end)
- RegisterServerEvent('esx_drugs:stopTransformWeed')
- AddEventHandler('esx_drugs:stopTransformWeed', function()
- local _source = source
- PlayersTransformingWeed[_source] = false
- end)
- local function SellWeed(source)
- if CopsConnected < Config.RequiredCopsWeed then
- TriggerClientEvent('esx_weedjob:showNotification', source, _U('act_imp_police') .. CopsConnected .. '/' .. Config.RequiredCopsWeed)
- return
- end
- SetTimeout(7500, function()
- if PlayersSellingWeed[source] == true then
- local xPlayer = ESX.GetPlayerFromId(source)
- local poochQuantity = xPlayer.getInventoryItem('weed_pooch').count
- if poochQuantity == 0 then
- TriggerClientEvent('customNotification', source, _U('no_pouches_sale'), 2000, true, 'error')
- else
- xPlayer.removeInventoryItem('weed_pooch', 10)
- xPlayer.addAccountMoney('black_money', 2400)
- TriggerClientEvent('customNotification', source, _U('sold_one_weed'), 2000, true, 'success')
- end
- SellWeed(source)
- end
- end)
- end
- RegisterServerEvent('esx_drugs:startSellWeed')
- AddEventHandler('esx_drugs:startSellWeed', function()
- local id = GetPlayerIdentifiers(source)[1]
- local result = MySQL.Sync.fetchAll('SELECT * FROM users WHERE identifier = @identifier',
- {
- ['@identifier'] = id
- })
- local user = result[1]
- local _source = source
- local job = user['job']
- PlayersSellingWeed[_source] = true
- TriggerClientEvent('customNotification', _source, _U('sale_in_prog'), 2000, true, 'success')
- SellWeed(_source)
- end)
- RegisterServerEvent('esx_drugs:stopSellWeed')
- AddEventHandler('esx_drugs:stopSellWeed', function()
- local _source = source
- PlayersSellingWeed[_source] = false
- end)
- --opium
- local function HarvestOpium(source)
- if CopsConnected < Config.RequiredCopsOpium then
- TriggerClientEvent('customNotification', source, _U('act_imp_police') .. CopsConnected .. '/' .. Config.RequiredCopsOpium)
- return
- end
- SetTimeout(5000, function()
- if PlayersHarvestingOpium[source] == true then
- local xPlayer = ESX.GetPlayerFromId(source)
- local opium = xPlayer.getInventoryItem('opium')
- if opium.limit ~= -1 and opium.count >= opium.limit then
- TriggerClientEvent('customNotification', source, _U('inv_full_opium'))
- else
- xPlayer.addInventoryItem('opium', 1)
- HarvestOpium(source)
- end
- end
- end)
- end
- RegisterServerEvent('esx_drugs:startHarvestOpium')
- AddEventHandler('esx_drugs:startHarvestOpium', function()
- local id = GetPlayerIdentifiers(source)[1]
- local result = MySQL.Sync.fetchAll('SELECT * FROM users WHERE identifier = @identifier',
- {
- ['@identifier'] = id
- })
- local user = result[1]
- local _source = source
- local job = user['job']
- local _source = source
- PlayersHarvestingOpium[_source] = true
- TriggerClientEvent('customNotification', _source, _U('pickup_in_prog'), 2000, true, 'success')
- HarvestOpium(_source)
- end)
- RegisterServerEvent('esx_drugs:stopHarvestOpium')
- AddEventHandler('esx_drugs:stopHarvestOpium', function()
- local _source = source
- PlayersHarvestingOpium[_source] = false
- end)
- local function TransformOpium(source)
- if CopsConnected < Config.RequiredCopsOpium then
- TriggerClientEvent('customNotification', source, _U('act_imp_police') .. CopsConnected .. '/' .. Config.RequiredCopsOpium)
- return
- end
- SetTimeout(10000, function()
- if PlayersTransformingOpium[source] == true then
- local xPlayer = ESX.GetPlayerFromId(source)
- local opiumQuantity = xPlayer.getInventoryItem('opium').count
- local poochQuantity = xPlayer.getInventoryItem('opium_pooch').count
- if poochQuantity > 300 then
- TriggerClientEvent('customNotification', source, _U('too_many_pouches'), 2000, true, 'error')
- elseif opiumQuantity < 3 then
- TriggerClientEvent('customNotification', source, _U('not_enough_opium'), 2000, true, 'error')
- else
- xPlayer.removeInventoryItem('opium', 3)
- xPlayer.addInventoryItem('opium_pooch', 1)
- TransformOpium(source)
- end
- end
- end)
- end
- RegisterServerEvent('esx_drugs:startTransformOpium')
- AddEventHandler('esx_drugs:startTransformOpium', function()
- local id = GetPlayerIdentifiers(source)[1]
- local result = MySQL.Sync.fetchAll('SELECT * FROM users WHERE identifier = @identifier',
- {
- ['@identifier'] = id
- })
- local user = result[1]
- local _source = source
- local job = user['job']
- local _source = source
- PlayersTransformingOpium[_source] = true
- TriggerClientEvent('customNotification', _source, _U('packing_in_prog'), 2000, true, 'success')
- TransformOpium(_source)
- end)
- RegisterServerEvent('esx_drugs:stopTransformOpium')
- AddEventHandler('esx_drugs:stopTransformOpium', function()
- local _source = source
- PlayersTransformingOpium[_source] = false
- end)
- local function SellOpium(source)
- if CopsConnected < Config.RequiredCopsOpium then
- TriggerClientEvent('customNotification', source, _U('act_imp_police') .. CopsConnected .. '/' .. Config.RequiredCopsOpium)
- return
- end
- SetTimeout(7500, function()
- if PlayersSellingOpium[source] == true then
- local xPlayer = ESX.GetPlayerFromId(source)
- local poochQuantity = xPlayer.getInventoryItem('opium_pooch').count
- if poochQuantity == 0 then
- TriggerClientEvent('customNotification', source, _U('no_pouches_sale'), 2000, true, 'error')
- else
- xPlayer.removeInventoryItem('opium_pooch', 10)
- xPlayer.addAccountMoney('black_money', 4400)
- TriggerClientEvent('customNotification', source, _U('sold_one_opium'), 2000, true, 'success')
- end
- SellOpium(source)
- end
- end)
- end
- RegisterServerEvent('esx_drugs:startSellOpium')
- AddEventHandler('esx_drugs:startSellOpium', function()
- local id = GetPlayerIdentifiers(source)[1]
- local result = MySQL.Sync.fetchAll('SELECT * FROM users WHERE identifier = @identifier',
- {
- ['@identifier'] = id
- })
- local user = result[1]
- local _source = source
- local job = user['job']
- PlayersSellingOpium[_source] = true
- TriggerClientEvent('customNotification', _source, _U('sale_in_prog'), 2000, true, 'success')
- SellOpium(_source)
- end)
- RegisterServerEvent('esx_drugs:stopSellOpium')
- AddEventHandler('esx_drugs:stopSellOpium', function()
- local _source = source
- PlayersSellingOpium[_source] = false
- end)
- -- RETURN INVENTORY TO CLIENT
- RegisterServerEvent('esx_drugs:GetUserInventory')
- AddEventHandler('esx_drugs:GetUserInventory', function(currentZone)
- local _source = source
- local xPlayer = ESX.GetPlayerFromId(_source)
- TriggerClientEvent('esx_drugs:ReturnInventory',
- _source,
- xPlayer.getInventoryItem('coke').count,
- xPlayer.getInventoryItem('coke_pooch').count,
- xPlayer.getInventoryItem('meth').count,
- xPlayer.getInventoryItem('meth_pooch').count,
- xPlayer.getInventoryItem('weed').count,
- xPlayer.getInventoryItem('weed_pooch').count,
- xPlayer.getInventoryItem('opium').count,
- xPlayer.getInventoryItem('opium_pooch').count,
- xPlayer.job.name,
- currentZone
- )
- end)
- -- Register Usable Item
- ESX.RegisterUsableItem('weed', function(source)
- local _source = source
- local xPlayer = ESX.GetPlayerFromId(source)
- xPlayer.removeInventoryItem('weed', 1)
- TriggerClientEvent('esx_drugs:onPot', _source)
- TriggerClientEvent('customNotification', _source, _U('used_one_weed'), 2000, true, 'success')
- end)
- ESX.RegisterUsableItem('piwo', function(source)
- local _source = source
- local xPlayer = ESX.GetPlayerFromId(source)
- xPlayer.removeInventoryItem('piwo', 1)
- TriggerClientEvent('esx_drugs:onZbieranie', _source)
- end)
- ESX.RegisterUsableItem('vodka', function(source)
- local _source = source
- local xPlayer = ESX.GetPlayerFromId(source)
- xPlayer.removeInventoryItem('vodka', 1)
- TriggerClientEvent('esx_drugs:onZbieranie', _source)
- end)
- ESX.RegisterUsableItem('whiskey', function(source)
- local _source = source
- local xPlayer = ESX.GetPlayerFromId(source)
- xPlayer.removeInventoryItem('whiskey', 1)
- TriggerClientEvent('esx_drugs:onZbieranie', _source)
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement