65 lines
1.6 KiB
Lua
65 lines
1.6 KiB
Lua
|
|
ESX.RegisterServerCallback('esx_weaponshop:buyLicense', function(source, cb)
|
|
local xPlayer = ESX.Player(source)
|
|
|
|
if xPlayer.getMoney() >= Config.LicensePrice then
|
|
xPlayer.removeMoney(Config.LicensePrice, "Weapon License")
|
|
|
|
TriggerEvent('esx_license:addLicense', source, 'weapon', function()
|
|
cb(true)
|
|
end)
|
|
else
|
|
xPlayer.showNotification(TranslateCap('not_enough'))
|
|
cb(false)
|
|
end
|
|
end)
|
|
|
|
ESX.RegisterServerCallback('esx_weaponshop:buyWeapon', function(source, cb, weaponName, zone)
|
|
local xPlayer = ESX.Player(source)
|
|
local price = GetPrice(weaponName, zone)
|
|
|
|
if price <= 0 then
|
|
|
|
print(('[^3WARNING^7] Player ^5%s^7 attempted to buy Invalid weapon - %s!'):format(source, weaponName))
|
|
cb(false)
|
|
else
|
|
if xPlayer.hasWeapon(weaponName) then
|
|
xPlayer.showNotification(TranslateCap('already_owned'))
|
|
cb(false)
|
|
else
|
|
if zone == 'BlackWeashop' then
|
|
if xPlayer.getAccount('black_money').money >= price then
|
|
xPlayer.removeAccountMoney('black_money', price, "Black Weapons Deal")
|
|
xPlayer.addWeapon(weaponName, 42)
|
|
|
|
cb(true)
|
|
else
|
|
xPlayer.showNotification(TranslateCap('not_enough_black'))
|
|
cb(false)
|
|
end
|
|
else
|
|
if xPlayer.getMoney() >= price then
|
|
xPlayer.removeMoney(price, "Weapons Deal")
|
|
xPlayer.addWeapon(weaponName, 42)
|
|
|
|
cb(true)
|
|
else
|
|
xPlayer.showNotification(TranslateCap('not_enough'))
|
|
cb(false)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end)
|
|
|
|
function GetPrice(weaponName, zone)
|
|
for i=1, #(Config.Zones[zone].Items) do
|
|
if Config.Zones[zone].Items[i].name == weaponName then
|
|
local weapon = Config.Zones[zone].Items[i]
|
|
return weapon.price
|
|
end
|
|
end
|
|
|
|
return -1
|
|
end
|