mirror of
https://github.com/esx-framework/esx_core.git
synced 2026-09-04 08:13:21 +00:00
Implemented processing license
This commit is contained in:
+51
-7
@@ -11,7 +11,8 @@ Keys = {
|
||||
}
|
||||
|
||||
ESX = nil
|
||||
local shopOpen = false
|
||||
local menuOpen = false
|
||||
local wasOpen = false
|
||||
|
||||
Citizen.CreateThread(function()
|
||||
while ESX == nil do
|
||||
@@ -33,19 +34,20 @@ Citizen.CreateThread(function()
|
||||
local coords = GetEntityCoords(playerPed)
|
||||
|
||||
if GetDistanceBetweenCoords(coords, Config.CircleZones.DrugDealer.coords, true) < 0.5 then
|
||||
if not shopOpen then
|
||||
if not menuOpen then
|
||||
ESX.ShowHelpNotification(_U('dealer_prompt'))
|
||||
|
||||
if IsControlJustReleased(0, Keys['E']) then
|
||||
wasOpen = true
|
||||
OpenDrugShop()
|
||||
end
|
||||
else
|
||||
Citizen.Wait(500)
|
||||
end
|
||||
else
|
||||
if shopOpen then
|
||||
if wasOpen then
|
||||
wasOpen = false
|
||||
ESX.UI.Menu.CloseAll()
|
||||
shopOpen = false
|
||||
end
|
||||
|
||||
Citizen.Wait(500)
|
||||
@@ -56,7 +58,7 @@ end)
|
||||
function OpenDrugShop()
|
||||
ESX.UI.Menu.CloseAll()
|
||||
local elements = {}
|
||||
shopOpen = true
|
||||
menuOpen = true
|
||||
|
||||
for k, v in pairs(ESX.GetPlayerData().inventory) do
|
||||
local price = Config.DrugDealerItems[v.name]
|
||||
@@ -84,18 +86,60 @@ function OpenDrugShop()
|
||||
TriggerServerEvent('esx_drugs:sellDrug', data.current.name, data.current.value)
|
||||
end, function(data, menu)
|
||||
menu.close()
|
||||
shopOpen = false
|
||||
menuOpen = false
|
||||
end)
|
||||
end
|
||||
|
||||
AddEventHandler('onResourceStop', function(resource)
|
||||
if resource == GetCurrentResourceName() then
|
||||
if shopOpen then
|
||||
if menuOpen then
|
||||
ESX.UI.Menu.CloseAll()
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
function OpenBuyLicenseMenu(licenseName)
|
||||
menuOpen = true
|
||||
local license = Config.LicensePrices[licenseName]
|
||||
|
||||
local elements = {
|
||||
{
|
||||
label = _U('license_no'),
|
||||
value = 'no'
|
||||
},
|
||||
|
||||
{
|
||||
label = ('%s - <span style="color:green;">%s</span>'):format(license.label, _U('dealer_item', ESX.Math.GroupDigits(license.price))),
|
||||
value = licenseName,
|
||||
price = license.price,
|
||||
licenseName = license.label
|
||||
}
|
||||
}
|
||||
|
||||
ESX.UI.Menu.Open('default', GetCurrentResourceName(), 'license_shop', {
|
||||
title = _U('license_title'),
|
||||
align = 'top-left',
|
||||
elements = elements
|
||||
}, function(data, menu)
|
||||
|
||||
if data.current.value ~= 'no' then
|
||||
ESX.TriggerServerCallback('esx_drugs:buyLicense', function(boughtLicense)
|
||||
if boughtLicense then
|
||||
ESX.ShowNotification(_U('license_bought', data.current.licenseName, ESX.Math.GroupDigits(data.current.price)))
|
||||
else
|
||||
ESX.ShowNotification(_U('license_bought_fail', data.current.licenseName))
|
||||
end
|
||||
end, data.current.value)
|
||||
else
|
||||
menu.close()
|
||||
end
|
||||
|
||||
end, function(data, menu)
|
||||
menu.close()
|
||||
menuOpen = false
|
||||
end)
|
||||
end
|
||||
|
||||
function CreateBlipCircle(coords, text, radius, color, sprite)
|
||||
local blip = AddBlipForRadius(coords, radius)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user