Guest User

Untitled

a guest
Jan 15th, 2021
256
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 24.25 KB | None | 0 0
  1. ESX = nil
  2. ServerItems = {}
  3. itemShopList = {}
  4. TriggerEvent(
  5.     "esx:getSharedObject",
  6.     function(obj)
  7.         ESX = obj
  8.     end
  9. )
  10.  
  11. ESX.RegisterServerCallback("esx_inventoryhud:getPlayerInventory", function(source, cb, target)
  12.     local targetXPlayer = ESX.GetPlayerFromId(target)
  13.    
  14.         if targetXPlayer ~= nil then
  15.             cb({inventory = targetXPlayer.inventory, money = targetXPlayer.getMoney(), accounts = targetXPlayer.accounts, weapons = targetXPlayer.loadout, weight = targetXPlayer.getWeight(), maxWeight = targetXPlayer.maxWeight})
  16.         else
  17.             cb(nil)
  18.         end
  19.     end)
  20.    
  21.     RegisterServerEvent("esx_inventoryhud:tradePlayerItem")
  22.     AddEventHandler(
  23.         "esx_inventoryhud:tradePlayerItem",
  24.         function(from, target, type, itemName, itemCount)
  25.             local _source = from
  26.    
  27.             local sourceXPlayer = ESX.GetPlayerFromId(_source)
  28.             local targetXPlayer = ESX.GetPlayerFromId(target)
  29.    
  30.             if type == "item_standard" then
  31.                 local sourceItem = sourceXPlayer.getInventoryItem(itemName)
  32.                 local targetItem = targetXPlayer.getInventoryItem(itemName)
  33.    
  34.                 if itemCount > 0 and sourceItem.count >= itemCount then
  35.                     if targetXPlayer.canCarryItem(itemName, itemCount) then
  36.                     --if targetItem.weight ~= -1 and (targetItem.count + itemCount) > targetItem.weight then
  37.                         sourceXPlayer.removeInventoryItem(itemName, itemCount)
  38.                         TriggerClientEvent('playhub_notify:client:SendAlert', sourceXPlayer, { type = 'inform', text = _U('item_removed') .. itemName, length = 5000 })
  39.                         targetXPlayer.addInventoryItem(itemName, itemCount)
  40.                         sendToDiscord(sourceXPlayer.source, targetXPlayer.source, "Daiktas: "..itemName.."\nKiekis: "..itemCount)
  41.                         TriggerClientEvent('playhub_notify:client:SendAlert', targetXPlayer, { type = 'success', text = _U('item_added') .. itemName, length = 5000 })
  42.                     else
  43.                         TriggerClientEvent('playhub_notify:client:SendAlert', targetXPlayer, { type = 'error', text = _U('player_inv_no_space') .. itemName, length = 5000 })
  44.                         TriggerClientEvent('playhub_notify:client:SendAlert', sourceXPlayer, { type = 'error', text = _U('player_inv_no_space') .. itemName, length = 5000 })
  45.                     end
  46.                 end
  47.             elseif type == "item_money" then
  48.                 if itemCount > 0 and sourceXPlayer.getMoney() >= itemCount then
  49.                     sourceXPlayer.removeMoney(itemCount)
  50.                     TriggerClientEvent('playhub_notify:client:SendAlert', sourceXPlayer, { type = 'error', text = _U('player_inv_no_space') .. itemCount, length = 5000 })
  51.                     targetXPlayer.addMoney(itemCount)
  52.                     sendToDiscord(sourceXPlayer.source, targetXPlayer.source, "Daiktas: Grynieji\nKiekis: "..itemCount)
  53.                     TriggerClientEvent('playhub_notify:client:SendAlert', targetXPlayer, { type = 'success', text = _U('player_inv_no_space') .. itemCount, length = 5000 })
  54.                 end
  55.             elseif type == "item_account" then
  56.                 if itemCount > 0 and sourceXPlayer.getAccount(itemName).money >= itemCount then
  57.                     sourceXPlayer.removeAccountMoney(itemName, itemCount)
  58.                     TriggerClientEvent('playhub_notify:client:SendAlert', sourceXPlayer, { type = 'error', text = _U('money_removed') .. itemCount .. itemName, length = 5000 })
  59.                     targetXPlayer.addAccountMoney(itemName, itemCount)
  60.                     sendToDiscord(sourceXPlayer.source, targetXPlayer.source, "Perdavė", "Daiktas: "..itemName.."\nKiekis: "..itemCount)
  61.                     TriggerClientEvent('playhub_notify:client:SendAlert', targetXPlayer, { type = 'success', text = _U('money_added') .. itemCount .. itemName, length = 5000 })
  62.                 end
  63.             elseif type == "item_weapon" then
  64.                 if not targetXPlayer.hasWeapon(itemName) then
  65.                     sourceXPlayer.removeWeapon(itemName)
  66.                     TriggerClientEvent('playhub_notify:client:SendAlert', sourceXPlayer, { type = 'error', text = _U('weapon_removed') .. itemName, length = 5000 })
  67.                     targetXPlayer.addWeapon(itemName, itemCount)
  68.                     sendToDiscord(sourceXPlayer.source, targetXPlayer.source, "Perdavė", "Daiktas: "..itemName.."\nKiekis: "..itemCount)
  69.                     TriggerClientEvent('playhub_notify:client:SendAlert', targetXPlayer, { type = 'success', text = _U('waepon_added') .. itemName, length = 5000 })
  70.                 end
  71.             end
  72.         end
  73.     )
  74.    
  75.     RegisterCommand("openinventory", function(source, args, rawCommand)
  76.         if IsPlayerAceAllowed(source, "inventory.openinventory") then
  77.             local target = tonumber(args[1])
  78.             local targetXPlayer = ESX.GetPlayerFromId(target)
  79.    
  80.                 if targetXPlayer ~= nil then
  81.                     TriggerClientEvent("esx_inventoryhud:openPlayerInventory", source, target, targetXPlayer.name)
  82.                 else
  83.                     TriggerClientEvent('playhub_notify:client:SendAlert', source, { type = 'error', text = _U('no_player'), length = 5000 })
  84.                 end
  85.             else
  86.                 TriggerClientEvent('playhub_notify:client:SendAlert', source, { type = 'error', text = _U('no_permissions'), length = 5000 })
  87.             end
  88.         end
  89.     )
  90.  
  91.     RegisterServerEvent("suku:sendShopItems")
  92.     AddEventHandler("suku:sendShopItems", function(source, itemList)
  93.         itemShopList = itemList
  94.     end)
  95.  
  96.     ESX.RegisterServerCallback("suku:getJobShopItems", function(source, cb, shoptype)
  97.         ItemShopList = {}
  98.         local itemResult = MySQL.Sync.fetchAll('SELECT * FROM job_shops')
  99.         local itemInformation = {}
  100.  
  101.         for i=1, #itemResult, 1 do
  102.             if itemInformation[itemResult[i].name] == nil then
  103.                 itemInformation[itemResult[i].name] = {}
  104.             end
  105.  
  106.             itemInformation[itemResult[i].name].name = itemResult[i].name
  107.             itemInformation[itemResult[i].name].label = itemResult[i].label
  108.             itemInformation[itemResult[i].name].weight = itemResult[i].weight
  109.             itemInformation[itemResult[i].name].price = itemResult[i].price
  110.  
  111.             --[[if shoptype == "policeshop" then
  112.                 for _, v in pairs(Config.JobShops.PoliceShop.Items) do
  113.                     if v.name == itemResult[i].name then
  114.                         table.insert(itemShopList, {
  115.                             type = "item_weapon",
  116.                             name = itemInformation[itemResult[i].name].name,
  117.                             label = itemInformation[itemResult[i].name].label,
  118.                             weight = itemInformation[itemResult[i].name].weight,
  119.                             price = itemInformation[itemResult[i].name].price,
  120.                             can_remove = itemInformation[itemResult[i].name].can_remove,
  121.                             count = 999999
  122.                         })
  123.                     end
  124.                 end
  125.             end--]]
  126.             if shoptype == "policeshop" then
  127.                 local weapons = Config.JobShops.PoliceShop.Weapons
  128.                 for _, v in pairs(Config.JobShops.PoliceShop.Weapons) do
  129.                     if v.name == itemResult[i].name then
  130.                         table.insert(itemShopList, {
  131.                             type = "item_weapon",
  132.                             name = itemInformation[itemResult[i].name].name,
  133.                             label = itemInformation[itemResult[i].name].label,
  134.                             weight = itemInformation[itemResult[i].name].weight,
  135.                             ammo = v.ammo,
  136.                             can_remove = itemInformation[itemResult[i].name].can_remove,
  137.                             price = itemInformation[itemResult[i].name].price,
  138.                             count = 99999999
  139.                         })
  140.                     end
  141.                 end
  142.    
  143.                 local ammo = Config.JobShops.PoliceShop.Ammo
  144.                 for _,v in pairs(Config.JobShops.PoliceShop.Ammo) do
  145.                     if v.name == itemResult[i].name then
  146.                         table.insert(itemShopList, {
  147.                             type = "item_ammo",
  148.                             name = itemInformation[itemResult[i].name].name,
  149.                             label = itemInformation[itemResult[i].name].label,
  150.                             weight = itemInformation[itemResult[i].name].weight,
  151.                             weaponhash = v.weaponhash,
  152.                             ammo = v.ammo,
  153.                             rare = itemInformation[itemResult[i].name].rare,
  154.                             can_remove = itemInformation[itemResult[i].name].can_remove,
  155.                             price = itemInformation[itemResult[i].name].price,
  156.                             count = 99999999
  157.                         })
  158.                     end
  159.                 end
  160.    
  161.                 --[[for _, v in pairs(Config.JobShops.PoliceShop.Items) do
  162.                     if v.name == itemResult[i].name then
  163.                         table.insert(itemShopList, {
  164.                             type = "item_standard",
  165.                             name = itemInformation[itemResult[i].name].name,
  166.                             label = itemInformation[itemResult[i].name].label,
  167.                             weight = itemInformation[itemResult[i].name].weight,
  168.                             rare = itemInformation[itemResult[i].name].rare,
  169.                             can_remove = itemInformation[itemResult[i].name].can_remove,
  170.                             price = itemInformation[itemResult[i].name].price,
  171.                             count = 99999999
  172.                         })
  173.                     end
  174.                 end--]]
  175.             end
  176.         end
  177.         cb(itemShopList)
  178.     end)
  179.  
  180.     ESX.RegisterServerCallback("suku:getShopItems", function(source, cb, shoptype)
  181.         itemShopList = {}
  182.         local itemResult = MySQL.Sync.fetchAll('SELECT * FROM items')
  183.         local itemInformation = {}
  184.    
  185.         for i=1, #itemResult, 1 do
  186.    
  187.             if itemInformation[itemResult[i].name] == nil then
  188.                 itemInformation[itemResult[i].name] = {}
  189.             end
  190.    
  191.             itemInformation[itemResult[i].name].name = itemResult[i].name
  192.             itemInformation[itemResult[i].name].label = itemResult[i].label
  193.             itemInformation[itemResult[i].name].weight = itemResult[i].weight
  194.             itemInformation[itemResult[i].name].rare = itemResult[i].rare
  195.             itemInformation[itemResult[i].name].can_remove = itemResult[i].can_remove
  196.             itemInformation[itemResult[i].name].price = itemResult[i].price
  197.    
  198.             if shoptype == "regular" then
  199.                 for _, v in pairs(Config.Shops.RegularShop.Items) do
  200.                     if v.name == itemResult[i].name then
  201.                         table.insert(itemShopList, {
  202.                             type = "item_standard",
  203.                             name = itemInformation[itemResult[i].name].name,
  204.                             label = itemInformation[itemResult[i].name].label,
  205.                             weight = itemInformation[itemResult[i].name].weight,
  206.                             rare = itemInformation[itemResult[i].name].rare,
  207.                             can_remove = itemInformation[itemResult[i].name].can_remove,
  208.                             price = itemInformation[itemResult[i].name].price,
  209.                             count = 99999999
  210.                         })
  211.                     end
  212.                 end
  213.             end
  214.             if shoptype == "robsliquor" then
  215.                 for _, v in pairs(Config.Shops.RobsLiquor.Items) do
  216.                     if v.name == itemResult[i].name then
  217.                         table.insert(itemShopList, {
  218.                             type = "item_standard",
  219.                             name = itemInformation[itemResult[i].name].name,
  220.                             label = itemInformation[itemResult[i].name].label,
  221.                             weight = itemInformation[itemResult[i].name].weight,
  222.                             rare = itemInformation[itemResult[i].name].rare,
  223.                             can_remove = itemInformation[itemResult[i].name].can_remove,
  224.                             price = itemInformation[itemResult[i].name].price,
  225.                             count = 99999999
  226.                         })
  227.                     end
  228.                 end
  229.             end
  230.             if shoptype == "illegal" then
  231.                 for _, v in pairs(Config.Shops.Illegal.Items) do
  232.                     if v.name == itemResult[i].name then
  233.                         table.insert(itemShopList, {
  234.                             type = "item_standard",
  235.                             name = itemInformation[itemResult[i].name].name,
  236.                             label = itemInformation[itemResult[i].name].label,
  237.                             weight = itemInformation[itemResult[i].name].weight,
  238.                             rare = itemInformation[itemResult[i].name].rare,
  239.                             can_remove = itemInformation[itemResult[i].name].can_remove,
  240.                             price = itemInformation[itemResult[i].name].price,
  241.                             count = 99999999
  242.                         })
  243.                     end
  244.                 end
  245.             end
  246.             if shoptype == "youtool" then
  247.                 for _, v in pairs(Config.Shops.YouTool.Items) do
  248.                     if v.name == itemResult[i].name then
  249.                         table.insert(itemShopList, {
  250.                             type = "item_standard",
  251.                             name = itemInformation[itemResult[i].name].name,
  252.                             label = itemInformation[itemResult[i].name].label,
  253.                             weight = itemInformation[itemResult[i].name].weight,
  254.                             rare = itemInformation[itemResult[i].name].rare,
  255.                             can_remove = itemInformation[itemResult[i].name].can_remove,
  256.                             price = itemInformation[itemResult[i].name].price,
  257.                             count = 99999999
  258.                         })
  259.                     end
  260.                 end
  261.             end
  262.             if shoptype == "zvejyba" then
  263.                 for _, v in pairs(Config.Shops.YouTool.Items) do
  264.                     if v.name == itemResult[i].name then
  265.                         table.insert(itemShopList, {
  266.                             type = "item_standard",
  267.                             name = itemInformation[itemResult[i].name].name,
  268.                             label = itemInformation[itemResult[i].name].label,
  269.                             weight = itemInformation[itemResult[i].name].weight,
  270.                             rare = itemInformation[itemResult[i].name].rare,
  271.                             can_remove = itemInformation[itemResult[i].name].can_remove,
  272.                             price = itemInformation[itemResult[i].name].price,
  273.                             count = 99999999
  274.                         })
  275.                     end
  276.                 end
  277.             end
  278.             if shoptype == "prison" then
  279.                 for _, v in pairs(Config.Shops.PrisonShop.Items) do
  280.                     if v.name == itemResult[i].name then
  281.                         table.insert(itemShopList, {
  282.                             type = "item_standard",
  283.                             name = itemInformation[itemResult[i].name].name,
  284.                             label = itemInformation[itemResult[i].name].label,
  285.                             weight = itemInformation[itemResult[i].name].weight,
  286.                             rare = itemInformation[itemResult[i].name].rare,
  287.                             can_remove = itemInformation[itemResult[i].name].can_remove,
  288.                             price = itemInformation[itemResult[i].name].price,
  289.                             count = 99999999
  290.                         })
  291.                     end
  292.                 end
  293.             end
  294.             if shoptype == "policeshop" then
  295.                 local itemResult2 = MySQL.Sync.fetchAll('SELECT * FROM job_shops')
  296.                 local itemInformation2 = {}
  297.                
  298.                 for i=1, #itemResult2, 1 do
  299.                
  300.                     if itemInformation2[itemResult2[i].name] == nil then
  301.                         itemInformation2[itemResult2[i].name] = {}
  302.                     end
  303.  
  304.                     local weapons = Config.JobShops.PoliceShop.Weapons
  305.                     for _, v in pairs(Config.JobShops.PoliceShop.Weapons) do
  306.                         if v.name == itemResult2[i].name then
  307.                             table.insert(itemShopList, {
  308.                                 type = "item_weapon",
  309.                                 name = itemInformation2[itemResult2[i].name].name,
  310.                                 label = itemInformation2[itemResult2[i].name].label,
  311.                                 weight = itemInformation2[itemResult2[i].name].weight,
  312.                                 ammo = v.ammo,
  313.                                 can_remove = itemInformation2[itemResult2[i].name].can_remove,
  314.                                 price = itemInformation2[itemResult2[i].name].price,
  315.                                 count = 99999999
  316.                             })
  317.                         end
  318.                     end
  319.        
  320.                     local ammo = Config.JobShops.PoliceShop.Ammo
  321.                     for _,v in pairs(Config.JobShops.PoliceShop.Ammo) do
  322.                         if v.name == itemResult2[i].name then
  323.                             table.insert(itemShopList, {
  324.                                 type = "item_ammo",
  325.                                 name = itemInformation2[itemResult2[i].name].name,
  326.                                 label = itemInformation2[itemResult2[i].name].label,
  327.                                 weight = itemInformation2[itemResult2[i].name].weight,
  328.                                 weaponhash = v.weaponhash,
  329.                                 ammo = v.ammo,
  330.                                 rare = itemInformation2[itemResult2[i].name].rare,
  331.                                 can_remove = itemInformation2[itemResult2[i].name].can_remove,
  332.                                 price = itemInformation2[itemResult2[i].name].price,
  333.                                 count = 99999999
  334.                             })
  335.                         end
  336.                     end
  337.        
  338.                     --[[for _, v in pairs(Config.JobShops.PoliceShop.Items) do
  339.                         if v.name == itemResult[i].name then
  340.                             table.insert(itemShopList, {
  341.                                 type = "item_standard",
  342.                                 name = itemInformation[itemResult[i].name].name,
  343.                                 label = itemInformation[itemResult[i].name].label,
  344.                                 weight = itemInformation[itemResult[i].name].weight,
  345.                                 rare = itemInformation[itemResult[i].name].rare,
  346.                                 can_remove = itemInformation[itemResult[i].name].can_remove,
  347.                                 price = itemInformation[itemResult[i].name].price,
  348.                                 count = 99999999
  349.                             })
  350.                         end
  351.                     end--]]
  352.                 end
  353.             end
  354.             if shoptype == "weaponshop" then
  355.                 local weapons = Config.Shops.WeaponShop.Weapons
  356.                 for _, v in pairs(Config.Shops.WeaponShop.Weapons) do
  357.                     if v.name == itemResult[i].name then
  358.                         table.insert(itemShopList, {
  359.                             type = "item_weapon",
  360.                             name = itemInformation[itemResult[i].name].name,
  361.                             label = itemInformation[itemResult[i].name].label,
  362.                             weight = 1,
  363.                             ammo = v.ammo,
  364.                             rare = itemInformation[itemResult[i].name].rare,
  365.                             can_remove = itemInformation[itemResult[i].name].can_remove,
  366.                             price = itemInformation[itemResult[i].name].price,
  367.                             count = 99999999
  368.                         })
  369.                     end
  370.                 end
  371.    
  372.                 local ammo = Config.Shops.WeaponShop.Ammo
  373.                 for _,v in pairs(Config.Shops.WeaponShop.Ammo) do
  374.                     if v.name == itemResult[i].name then
  375.                         table.insert(itemShopList, {
  376.                             type = "item_ammo",
  377.                             name = itemInformation[itemResult[i].name].name,
  378.                             label = itemInformation[itemResult[i].name].label,
  379.                             weight = 1,
  380.                             weaponhash = v.weaponhash,
  381.                             ammo = v.ammo,
  382.                             rare = itemInformation[itemResult[i].name].rare,
  383.                             can_remove = itemInformation[itemResult[i].name].can_remove,
  384.                             price = itemInformation[itemResult[i].name].price,
  385.                             count = 99999999
  386.                         })
  387.                     end
  388.                 end
  389.    
  390.                 for _, v in pairs(Config.Shops.WeaponShop.Items) do
  391.                     if v.name == itemResult[i].name then
  392.                         table.insert(itemShopList, {
  393.                             type = "item_standard",
  394.                             name = itemInformation[itemResult[i].name].name,
  395.                             label = itemInformation[itemResult[i].name].label,
  396.                             weight = itemInformation[itemResult[i].name].weight,
  397.                             rare = itemInformation[itemResult[i].name].rare,
  398.                             can_remove = itemInformation[itemResult[i].name].can_remove,
  399.                             price = itemInformation[itemResult[i].name].price,
  400.                             count = 99999999
  401.                         })
  402.                     end
  403.                 end
  404.             end
  405.         end
  406.         cb(itemShopList)
  407.     end)
  408.    
  409.     ESX.RegisterServerCallback("suku:getCustomShopItems", function(source, cb, shoptype, customInventory)
  410.         itemShopList = {}
  411.         local itemResult = MySQL.Sync.fetchAll('SELECT * FROM items')
  412.         local itemInformation = {}
  413.    
  414.         for i=1, #itemResult, 1 do
  415.    
  416.             if itemInformation[itemResult[i].name] == nil then
  417.                 itemInformation[itemResult[i].name] = {}
  418.             end
  419.    
  420.             itemInformation[itemResult[i].name].name = itemResult[i].name
  421.             itemInformation[itemResult[i].name].label = itemResult[i].label
  422.             itemInformation[itemResult[i].name].weight = itemResult[i].weight
  423.             itemInformation[itemResult[i].name].rare = itemResult[i].rare
  424.             itemInformation[itemResult[i].name].can_remove = itemResult[i].can_remove
  425.             itemInformation[itemResult[i].name].price = itemResult[i].price
  426.    
  427.             if shoptype == "normal" then
  428.                 for _, v in pairs(customInventory.Items) do
  429.                     if v.name == itemResult[i].name then
  430.                         table.insert(itemShopList, {
  431.                             type = "item_standard",
  432.                             name = itemInformation[itemResult[i].name].name,
  433.                             label = itemInformation[itemResult[i].name].label,
  434.                             weight = itemInformation[itemResult[i].name].weight,
  435.                             rare = itemInformation[itemResult[i].name].rare,
  436.                             can_remove = itemInformation[itemResult[i].name].can_remove,
  437.                             price = itemInformation[itemResult[i].name].price,
  438.                             count = 99999999
  439.                         })
  440.                     end
  441.                 end
  442.             end
  443.            
  444.             if shoptype == "weapon" then
  445.                 local weapons = customInventory.Weapons
  446.                 for _, v in pairs(customInventory.Weapons) do
  447.                     if v.name == itemResult[i].name then
  448.                         table.insert(itemShopList, {
  449.                             type = "item_weapon",
  450.                             name = itemInformation[itemResult[i].name].name,
  451.                             label = itemInformation[itemResult[i].name].label,
  452.                             weight = 1,
  453.                             ammo = v.ammo,
  454.                             rare = itemInformation[itemResult[i].name].rare,
  455.                             can_remove = itemInformation[itemResult[i].name].can_remove,
  456.                             price = itemInformation[itemResult[i].name].price,
  457.                             count = 99999999
  458.                         })
  459.                     end
  460.                 end
  461.    
  462.                 local ammo = customInventory.Ammo
  463.                 for _,v in pairs(customInventory.Ammo) do
  464.                     if v.name == itemResult[i].name then
  465.                         table.insert(itemShopList, {
  466.                             type = "item_ammo",
  467.                             name = itemInformation[itemResult[i].name].name,
  468.                             label = itemInformation[itemResult[i].name].label,
  469.                             weight = 1,
  470.                             weaponhash = v.weaponhash,
  471.                             ammo = v.ammo,
  472.                             rare = itemInformation[itemResult[i].name].rare,
  473.                             can_remove = itemInformation[itemResult[i].name].can_remove,
  474.                             price = itemInformation[itemResult[i].name].price,
  475.                             count = 99999999
  476.                         })
  477.                     end
  478.                 end
  479.    
  480.                 for _, v in pairs(customInventory.Items) do
  481.                     if v.name == itemResult[i].name then
  482.                         table.insert(itemShopList, {
  483.                             type = "item_standard",
  484.                             name = itemInformation[itemResult[i].name].name,
  485.                             label = itemInformation[itemResult[i].name].label,
  486.                             weight = itemInformation[itemResult[i].name].weight,
  487.                             rare = itemInformation[itemResult[i].name].rare,
  488.                             can_remove = itemInformation[itemResult[i].name].can_remove,
  489.                             price = itemInformation[itemResult[i].name].price,
  490.                             count = 99999999
  491.                         })
  492.                     end
  493.                 end
  494.             end
  495.         end
  496.         cb(itemShopList)
  497.     end)
  498.    
  499.     ESX.RegisterServerCallback('suku:buyLicense', function(source, cb)
  500.         local _source = source
  501.         local xPlayer = ESX.GetPlayerFromId(source)
  502.    
  503.         if xPlayer.getMoney() >= Config.LicensePrice then
  504.             xPlayer.removeMoney(Config.LicensePrice)
  505.    
  506.             TriggerEvent('esx_license:addLicense', source, 'weapon', function()
  507.                 cb(true)
  508.             end)
  509.         else
  510.             TriggerClientEvent('playhub_notify:client:SendAlert', source, { type = 'error', text = _U('no_money'), length = 5000 })
  511.             cb(false)
  512.         end
  513.     end)
  514.    
  515.     RegisterNetEvent("suku:SellItemToPlayer")
  516.     AddEventHandler("suku:SellItemToPlayer",function(source, type, item, count)
  517.         local _source = source
  518.         local xPlayer = ESX.GetPlayerFromId(_source)
  519.    
  520.         if type == "item_standard" then
  521.             local targetItem = xPlayer.getInventoryItem(item)
  522.             if xPlayer.canCarryItem(item, count) then
  523.             --if targetItem.weight == -1 or ((targetItem.count + count) <= targetItem.weight) then
  524.                 local list = itemShopList
  525.                 for i = 1, #list, 1 do
  526.                     if list[i].name == item then
  527.                         local totalPrice = count * list[i].price
  528.                         if xPlayer.getMoney() >= totalPrice then
  529.                             xPlayer.removeMoney(totalPrice)
  530.                             xPlayer.addInventoryItem(item, count)
  531.                             TriggerClientEvent('esx:showAdvancedNotification', xPlayer.source, '~h~Parduotuve~s~', 'Jus nusipirkote ~h~'..count..' '..item..'', '', 'CHAR_BARRY', 0)
  532.                         else
  533.                     TriggerClientEvent('esx:showAdvancedNotification', xPlayer.source, '~h~Parduotuve~s~', 'Neturi pakankamai pinigu', '', 'CHAR_BLIMP', 0)
  534.                         end
  535.                     end
  536.                 end
  537.             else
  538.                 TriggerClientEvent('esx:showAdvancedNotification', xPlayer.source, '~h~Parduotuve~s~', 'Neturi pakankamai vietos', '', 'CHAR_BLIMP', 0)
  539.             end
  540.         end
  541.    
  542.         if type == "item_weapon" then
  543.             local targetItem = xPlayer.getInventoryItem(item)
  544.             if targetItem.count < 1 then
  545.                 local list = itemShopList
  546.                 for i = 1, #list, 1 do
  547.                     if list[i].name == item then
  548.                         local targetWeapon = xPlayer.hasWeapon(tostring(list[i].name))
  549.                         if not targetWeapon then
  550.                             local totalPrice = 1 * list[i].price
  551.                             if xPlayer.getMoney() >= totalPrice then
  552.                                 xPlayer.removeMoney(totalPrice)
  553.                                 xPlayer.addWeapon(list[i].name, list[i].ammo)
  554.                                 TriggerClientEvent('esx:showAdvancedNotification', xPlayer.source, '~h~Parduotuve~s~', 'Jus nusipirkote ~h~'..count..' '..item..'', '', 'CHAR_BARRY', 0)
  555.                             else
  556.                                 TriggerClientEvent('esx:showAdvancedNotification', xPlayer.source, '~h~Parduotuve~s~', 'Neturi pakankamai pinigu', '', 'CHAR_BLIMP', 0)
  557.                             end
  558.                         else
  559.                             TriggerClientEvent('esx:showAdvancedNotification', xPlayer.source, '~h~Parduotuve~s~', 'Jau turi si ginkla', '', 'CHAR_BLIMP', 0)
  560.                         end
  561.                     end
  562.                 end
  563.             else
  564.                 TriggerClientEvent('esx:showAdvancedNotification', xPlayer.source, '~h~Parduotuve~s~', 'Jau turi si ginkla', '', 'CHAR_BLIMP', 0)
  565.             end
  566.         end
  567.        
  568.         if type == "item_ammo" then
  569.             local targetItem = xPlayer.getInventoryItem(item)
  570.             local list = itemShopList
  571.             for i = 1, #list, 1 do
  572.                 if list[i].name == item then
  573.                     local targetWeapon = xPlayer.hasWeapon(list[i].weaponhash)
  574.                     if targetWeapon then
  575.                         local totalPrice = count * list[i].price
  576.                         local ammo = count * list[i].ammo
  577.                         if xPlayer.getMoney() >= totalPrice then
  578.                             xPlayer.removeMoney(totalPrice)
  579.                             xPlayer.addWeaponAmmo(list[i].weaponhash, ammo)
  580.                             TriggerClientEvent('esx:showAdvancedNotification', xPlayer.source, '~h~Parduotuve~s~', 'Jus nusipirkote ~h~'..count..' '..item..'', '', 'CHAR_BARRY', 0)
  581.                         else
  582.                             TriggerClientEvent('esx:showAdvancedNotification', xPlayer.source, '~h~Parduotuve~s~', 'Neturi pakankamai pinigu', '', 'CHAR_BLIMP', 0)
  583.                         end
  584.                     else
  585.                         TriggerClientEvent('esx:showAdvancedNotification', xPlayer.source, '~h~Parduotuve~s~', 'Nera ginklo', '', 'CHAR_BLIMP', 0)
  586.                     end
  587.                 end
  588.             end
  589.         end
  590.     end)
  591.    
  592.     RegisterServerEvent('esx_inventoryhud:disableTargetInv')
  593.     AddEventHandler('esx_inventoryhud:disableTargetInv', function(target)
  594.         local _source = source
  595.         local _target = target
  596.         TriggerClientEvent("esx_inventoryhud:disableOpen", _target)
  597.         --TriggerClientEvent("esx_inventoryhud:disableOpenShop", _target)
  598.         TriggerClientEvent("esx_invnetoryhud:setOpenedPlayerId", _source, _target)
  599.     end)
  600.    
  601.     --Event that enables target inventory after being searched
  602.     RegisterServerEvent('esx_inventoryhud:enableTargetInv')
  603.     AddEventHandler('esx_inventoryhud:enableTargetInv', function(target)
  604.         print('enabling open inv')
  605.         print(target)
  606.         TriggerClientEvent('esx_inventoryhud:enableOpen', target)
  607.         --TriggerClientEvent('esx_inventoryhud:enableOpenShop', target)
  608.     end)
  609.  
Advertisement
Add Comment
Please, Sign In to add comment