mirror of
https://github.com/esx-framework/esx_core.git
synced 2026-08-31 18:28:52 +00:00
chore(style): change indentation
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
root = true
|
||||
|
||||
[*]
|
||||
indent_size = 2
|
||||
indent_style = space
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
+17
-17
@@ -3,24 +3,24 @@ description 'ESX Mecano Job'
|
||||
version '1.0.0'
|
||||
|
||||
client_scripts {
|
||||
'@es_extended/locale.lua',
|
||||
'locales/de.lua',
|
||||
'locales/br.lua',
|
||||
'locales/en.lua',
|
||||
'locales/fr.lua',
|
||||
'locales/es.lua',
|
||||
'config.lua',
|
||||
'client/main.lua'
|
||||
'@es_extended/locale.lua',
|
||||
'locales/de.lua',
|
||||
'locales/br.lua',
|
||||
'locales/en.lua',
|
||||
'locales/fr.lua',
|
||||
'locales/es.lua',
|
||||
'config.lua',
|
||||
'client/main.lua'
|
||||
}
|
||||
|
||||
server_scripts {
|
||||
'@es_extended/locale.lua',
|
||||
'locales/de.lua',
|
||||
'locales/br.lua',
|
||||
'locales/en.lua',
|
||||
'locales/fr.lua',
|
||||
'locales/es.lua',
|
||||
'@mysql-async/lib/MySQL.lua',
|
||||
'config.lua',
|
||||
'server/main.lua'
|
||||
'@es_extended/locale.lua',
|
||||
'locales/de.lua',
|
||||
'locales/br.lua',
|
||||
'locales/en.lua',
|
||||
'locales/fr.lua',
|
||||
'locales/es.lua',
|
||||
'@mysql-async/lib/MySQL.lua',
|
||||
'config.lua',
|
||||
'server/main.lua'
|
||||
}
|
||||
|
||||
+96
-96
@@ -4,140 +4,140 @@ local LastZone = nil
|
||||
local CurrentAction = nil
|
||||
local CurrentActionMsg = ''
|
||||
local CurrentActionData = {}
|
||||
|
||||
|
||||
Citizen.CreateThread(function()
|
||||
while ESX == nil do
|
||||
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
|
||||
Citizen.Wait(0)
|
||||
end
|
||||
while ESX == nil do
|
||||
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
|
||||
Citizen.Wait(0)
|
||||
end
|
||||
end)
|
||||
|
||||
AddEventHandler('onClientMapStart', function()
|
||||
|
||||
ESX.TriggerServerCallback('esx_weashop:requestDBItems', function(ShopItems)
|
||||
for k,v in pairs(ShopItems) do
|
||||
Config.Zones[k].Items = v
|
||||
end
|
||||
end)
|
||||
|
||||
ESX.TriggerServerCallback('esx_weashop:requestDBItems', function(ShopItems)
|
||||
for k,v in pairs(ShopItems) do
|
||||
Config.Zones[k].Items = v
|
||||
end
|
||||
end)
|
||||
|
||||
end)
|
||||
|
||||
function OpenShopMenu(zone)
|
||||
|
||||
local elements = {}
|
||||
local elements = {}
|
||||
|
||||
for i=1, #Config.Zones[zone].Items, 1 do
|
||||
for i=1, #Config.Zones[zone].Items, 1 do
|
||||
|
||||
local item = Config.Zones[zone].Items[i]
|
||||
local item = Config.Zones[zone].Items[i]
|
||||
|
||||
table.insert(elements, {
|
||||
label = item.label .. ' - <span style="color:green;">$' .. item.price .. ' </span>',
|
||||
realLabel = item.label,
|
||||
value = item.name,
|
||||
price = item.price
|
||||
})
|
||||
table.insert(elements, {
|
||||
label = item.label .. ' - <span style="color:green;">$' .. item.price .. ' </span>',
|
||||
realLabel = item.label,
|
||||
value = item.name,
|
||||
price = item.price
|
||||
})
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
ESX.UI.Menu.CloseAll()
|
||||
ESX.UI.Menu.CloseAll()
|
||||
|
||||
ESX.UI.Menu.Open(
|
||||
'default', GetCurrentResourceName(), 'shop',
|
||||
{
|
||||
title = _U('shop'),
|
||||
elements = elements
|
||||
},
|
||||
function(data, menu)
|
||||
TriggerServerEvent('esx_weashop:buyItem', data.current.value, data.current.price, zone)
|
||||
end,
|
||||
function(data, menu)
|
||||
|
||||
menu.close()
|
||||
|
||||
CurrentAction = 'shop_menu'
|
||||
CurrentActionMsg = _U('shop_menu')
|
||||
CurrentActionData = {zone = zone}
|
||||
end
|
||||
)
|
||||
ESX.UI.Menu.Open(
|
||||
'default', GetCurrentResourceName(), 'shop',
|
||||
{
|
||||
title = _U('shop'),
|
||||
elements = elements
|
||||
},
|
||||
function(data, menu)
|
||||
TriggerServerEvent('esx_weashop:buyItem', data.current.value, data.current.price, zone)
|
||||
end,
|
||||
function(data, menu)
|
||||
|
||||
menu.close()
|
||||
|
||||
CurrentAction = 'shop_menu'
|
||||
CurrentActionMsg = _U('shop_menu')
|
||||
CurrentActionData = {zone = zone}
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
AddEventHandler('esx_weashop:hasEnteredMarker', function(zone)
|
||||
|
||||
CurrentAction = 'shop_menu'
|
||||
CurrentActionMsg = _U('shop_menu')
|
||||
CurrentActionData = {zone = zone}
|
||||
|
||||
CurrentAction = 'shop_menu'
|
||||
CurrentActionMsg = _U('shop_menu')
|
||||
CurrentActionData = {zone = zone}
|
||||
|
||||
end)
|
||||
|
||||
AddEventHandler('esx_weashop:hasExitedMarker', function(zone)
|
||||
|
||||
CurrentAction = nil
|
||||
ESX.UI.Menu.CloseAll()
|
||||
CurrentAction = nil
|
||||
ESX.UI.Menu.CloseAll()
|
||||
|
||||
end)
|
||||
|
||||
-- Create Blips
|
||||
Citizen.CreateThread(function()
|
||||
for k,v in pairs(Config.Zones) do
|
||||
if v.legal==0 then
|
||||
for i = 1, #v.Pos, 1 do
|
||||
local blip = AddBlipForCoord(v.Pos[i].x, v.Pos[i].y, v.Pos[i].z)
|
||||
SetBlipSprite (blip, 154)
|
||||
SetBlipDisplay(blip, 4)
|
||||
SetBlipScale (blip, 1.0)
|
||||
SetBlipColour (blip, 2)
|
||||
SetBlipAsShortRange(blip, true)
|
||||
BeginTextCommandSetBlipName("STRING")
|
||||
AddTextComponentString(_U('map_blip'))
|
||||
EndTextCommandSetBlipName(blip)
|
||||
end
|
||||
end
|
||||
end
|
||||
for k,v in pairs(Config.Zones) do
|
||||
if v.legal==0 then
|
||||
for i = 1, #v.Pos, 1 do
|
||||
local blip = AddBlipForCoord(v.Pos[i].x, v.Pos[i].y, v.Pos[i].z)
|
||||
SetBlipSprite (blip, 154)
|
||||
SetBlipDisplay(blip, 4)
|
||||
SetBlipScale (blip, 1.0)
|
||||
SetBlipColour (blip, 2)
|
||||
SetBlipAsShortRange(blip, true)
|
||||
BeginTextCommandSetBlipName("STRING")
|
||||
AddTextComponentString(_U('map_blip'))
|
||||
EndTextCommandSetBlipName(blip)
|
||||
end
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
-- Display markers
|
||||
Citizen.CreateThread(function()
|
||||
while true do
|
||||
while true do
|
||||
Wait(0)
|
||||
local coords = GetEntityCoords(GetPlayerPed(-1))
|
||||
local coords = GetEntityCoords(GetPlayerPed(-1))
|
||||
for k,v in pairs(Config.Zones) do
|
||||
for i = 1, #v.Pos, 1 do
|
||||
if(Config.Type ~= -1 and GetDistanceBetweenCoords(coords, v.Pos[i].x, v.Pos[i].y, v.Pos[i].z, true) < Config.DrawDistance) then
|
||||
DrawMarker(Config.Type, v.Pos[i].x, v.Pos[i].y, v.Pos[i].z, 0.0, 0.0, 0.0, 0, 0.0, 0.0, Config.Size.x, Config.Size.y, Config.Size.z, Config.Color.r, Config.Color.g, Config.Color.b, 100, false, true, 2, false, false, false, false)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
-- Enter / Exit marker events
|
||||
Citizen.CreateThread(function()
|
||||
while true do
|
||||
Wait(0)
|
||||
local coords = GetEntityCoords(GetPlayerPed(-1))
|
||||
local isInMarker = false
|
||||
local currentZone = nil
|
||||
while true do
|
||||
Wait(0)
|
||||
local coords = GetEntityCoords(GetPlayerPed(-1))
|
||||
local isInMarker = false
|
||||
local currentZone = nil
|
||||
|
||||
for k,v in pairs(Config.Zones) do
|
||||
for i = 1, #v.Pos, 1 do
|
||||
if(GetDistanceBetweenCoords(coords, v.Pos[i].x, v.Pos[i].y, v.Pos[i].z, true) < Config.Size.x) then
|
||||
isInMarker = true
|
||||
ShopItems = v.Items
|
||||
currentZone = k
|
||||
LastZone = k
|
||||
end
|
||||
end
|
||||
end
|
||||
if isInMarker and not HasAlreadyEnteredMarker then
|
||||
HasAlreadyEnteredMarker = true
|
||||
TriggerEvent('esx_weashop:hasEnteredMarker', currentZone)
|
||||
end
|
||||
if not isInMarker and HasAlreadyEnteredMarker then
|
||||
HasAlreadyEnteredMarker = false
|
||||
TriggerEvent('esx_weashop:hasExitedMarker', LastZone)
|
||||
end
|
||||
end
|
||||
for k,v in pairs(Config.Zones) do
|
||||
for i = 1, #v.Pos, 1 do
|
||||
if(GetDistanceBetweenCoords(coords, v.Pos[i].x, v.Pos[i].y, v.Pos[i].z, true) < Config.Size.x) then
|
||||
isInMarker = true
|
||||
ShopItems = v.Items
|
||||
currentZone = k
|
||||
LastZone = k
|
||||
end
|
||||
end
|
||||
end
|
||||
if isInMarker and not HasAlreadyEnteredMarker then
|
||||
HasAlreadyEnteredMarker = true
|
||||
TriggerEvent('esx_weashop:hasEnteredMarker', currentZone)
|
||||
end
|
||||
if not isInMarker and HasAlreadyEnteredMarker then
|
||||
HasAlreadyEnteredMarker = false
|
||||
TriggerEvent('esx_weashop:hasExitedMarker', LastZone)
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
-- Key Controls
|
||||
@@ -145,21 +145,21 @@ Citizen.CreateThread(function()
|
||||
while true do
|
||||
Citizen.Wait(0)
|
||||
if CurrentAction ~= nil then
|
||||
|
||||
|
||||
SetTextComponentFormat('STRING')
|
||||
AddTextComponentString(CurrentActionMsg)
|
||||
DisplayHelpTextFromStringLabel(0, 0, 1, -1)
|
||||
|
||||
if IsControlJustReleased(0, 38) then
|
||||
|
||||
|
||||
if IsControlJustReleased(0, 38) then
|
||||
|
||||
if CurrentAction == 'shop_menu' then
|
||||
OpenShopMenu(CurrentActionData.zone)
|
||||
end
|
||||
|
||||
CurrentAction = nil
|
||||
|
||||
|
||||
CurrentAction = nil
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end)
|
||||
end)
|
||||
|
||||
+19
-20
@@ -1,36 +1,35 @@
|
||||
Config = {}
|
||||
|
||||
Config.DrawDistance = 100
|
||||
Config.Size = {x = 1.5, y = 1.5, z = 1.5}
|
||||
Config.Color = {r = 0, g = 128, b = 255}
|
||||
Config.Size = { x = 1.5, y = 1.5, z = 1.5 }
|
||||
Config.Color = { r = 0, g = 128, b = 255 }
|
||||
Config.Type = 1
|
||||
Config.Locale = 'fr'
|
||||
|
||||
Config.Zones = {
|
||||
|
||||
GunShop = {
|
||||
legal=0,
|
||||
legal = 0,
|
||||
Items = {},
|
||||
Pos = {
|
||||
{x = -662.180053710938, y =-934.961120605469, z = 20.8292293548584},
|
||||
{x = 810.25, y =-2157.60, z = 28.62},
|
||||
{x = 1693.44, y =3760.16, z = 33.71},
|
||||
{x = -330.24, y =6083.88, z = 30.45},
|
||||
{x = 252.63, y =-50.00, z = 68.94},
|
||||
{x = 22.09, y =-1107.28, z = 28.80},
|
||||
{x = 2567.69, y =294.38, z = 107.73},
|
||||
{x = -1117.58, y =2698.61, z = 17.55},
|
||||
{x = 842.44, y =-1033.42, z = 27.19}
|
||||
|
||||
Pos = {
|
||||
{ x = -662.180, y = -934.961, z = 20.829 },
|
||||
{ x = 810.25, y = -2157.60, z = 28.62 },
|
||||
{ x = 1693.44, y = 3760.16, z = 33.71 },
|
||||
{ x = -330.24, y = 6083.88, z = 30.45 },
|
||||
{ x = 252.63, y = -50.00, z = 68.94 },
|
||||
{ x = 22.09, y = -1107.28, z = 28.80 },
|
||||
{ x = 2567.69, y = 294.38, z = 107.73 },
|
||||
{ x = -1117.58, y = 2698.61, z = 17.55 },
|
||||
{ x = 842.44, y = -1033.42, z = 27.19 },
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
BlackWeashop = {
|
||||
legal=1,
|
||||
|
||||
BlackWeashop = {
|
||||
legal = 1,
|
||||
Items = {},
|
||||
Pos = {
|
||||
{x = -1306.23986816406, y =-394.018707275391, z = 35.6958122253418}
|
||||
|
||||
Pos = {
|
||||
{ x = -1306.239, y = -394.018, z = 35.695 },
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
+7
-7
@@ -1,10 +1,10 @@
|
||||
Locales ['br'] = {
|
||||
|
||||
['buy'] = 'Você comprou',
|
||||
['not_enough_black'] = 'Você não tem dinheiro sujo suficiente',
|
||||
['not_enough'] = 'você não tem dinheiro suficiente',
|
||||
['shop'] = 'Comprar',
|
||||
['shop_menu'] = 'Pressione ~INPUT_CONTEXT~ para comprar armas.',
|
||||
['map_blip'] = 'Loja de Armas',
|
||||
['buy'] = 'Você comprou',
|
||||
['not_enough_black'] = 'Você não tem dinheiro sujo suficiente',
|
||||
['not_enough'] = 'você não tem dinheiro suficiente',
|
||||
['shop'] = 'Comprar',
|
||||
['shop_menu'] = 'Pressione ~INPUT_CONTEXT~ para comprar armas.',
|
||||
['map_blip'] = 'Loja de Armas',
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
+7
-7
@@ -1,10 +1,10 @@
|
||||
Locales ['de'] = {
|
||||
|
||||
['buy'] = 'du kaufst',
|
||||
['not_enough_black'] = 'du hast nicht genug Schwarzgeld',
|
||||
['not_enough'] = 'du hast nicht genug Geld',
|
||||
['shop'] = 'Geschäft',
|
||||
['shop_menu'] = 'Drücke ~INPUT_CONTEXT~ um auf das Geschäft zuzugreifen.',
|
||||
['map_blip'] = 'Waffenladen',
|
||||
['buy'] = 'du kaufst',
|
||||
['not_enough_black'] = 'du hast nicht genug Schwarzgeld',
|
||||
['not_enough'] = 'du hast nicht genug Geld',
|
||||
['shop'] = 'Geschäft',
|
||||
['shop_menu'] = 'Drücke ~INPUT_CONTEXT~ um auf das Geschäft zuzugreifen.',
|
||||
['map_blip'] = 'Waffenladen',
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
+7
-7
@@ -1,10 +1,10 @@
|
||||
Locales ['en'] = {
|
||||
|
||||
['buy'] = 'you bought',
|
||||
['not_enough_black'] = 'you do not have enough dirty money',
|
||||
['not_enough'] = 'you do not have enough money',
|
||||
['shop'] = 'shop',
|
||||
['shop_menu'] = 'Press ~INPUT_CONTEXT~ to access the shop.',
|
||||
['map_blip'] = 'gun shop',
|
||||
['buy'] = 'you bought',
|
||||
['not_enough_black'] = 'you do not have enough dirty money',
|
||||
['not_enough'] = 'you do not have enough money',
|
||||
['shop'] = 'shop',
|
||||
['shop_menu'] = 'Press ~INPUT_CONTEXT~ to access the shop.',
|
||||
['map_blip'] = 'gun shop',
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
+6
-6
@@ -1,10 +1,10 @@
|
||||
Locales ['es'] = {
|
||||
|
||||
['buy'] = 'Has comprado ~b~1 ',
|
||||
['not_enough_black'] = 'Usted no tiene ~r~suficiente~s~ dinero negro',
|
||||
['not_enough'] = 'Usted no tiene ~r~suficiente~s~ dinero',
|
||||
['shop'] = 'Tienda',
|
||||
['shop_menu'] = 'Presione ~INPUT_CONTEXT~ para acceder a la tienda.',
|
||||
['map_blip'] = 'Arsenal',
|
||||
['buy'] = 'Has comprado ~b~1 ',
|
||||
['not_enough_black'] = 'Usted no tiene ~r~suficiente~s~ dinero negro',
|
||||
['not_enough'] = 'Usted no tiene ~r~suficiente~s~ dinero',
|
||||
['shop'] = 'Tienda',
|
||||
['shop_menu'] = 'Presione ~INPUT_CONTEXT~ para acceder a la tienda.',
|
||||
['map_blip'] = 'Arsenal',
|
||||
|
||||
}
|
||||
|
||||
+7
-7
@@ -1,10 +1,10 @@
|
||||
Locales ['fr'] = {
|
||||
|
||||
['buy'] = 'vous avez acheté ~b~1x ',
|
||||
['not_enough_black'] = 'Vous n\'avez ~r~pas assez~s~ d\'argent sale',
|
||||
['not_enough'] = 'vous n\'avez ~r~pas assez~s~ d\'argent',
|
||||
['shop'] = 'magasin',
|
||||
['shop_menu'] = 'appuyez sur ~INPUT_CONTEXT~ pour accéder au magasin.',
|
||||
['map_blip'] = 'armurerie',
|
||||
['buy'] = 'vous avez acheté ~b~1x ',
|
||||
['not_enough_black'] = 'Vous n\'avez ~r~pas assez~s~ d\'argent sale',
|
||||
['not_enough'] = 'vous n\'avez ~r~pas assez~s~ d\'argent',
|
||||
['shop'] = 'magasin',
|
||||
['shop_menu'] = 'appuyez sur ~INPUT_CONTEXT~ pour accéder au magasin.',
|
||||
['map_blip'] = 'armurerie',
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
+40
-40
@@ -5,62 +5,62 @@ TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
|
||||
|
||||
ESX.RegisterServerCallback('esx_weashop:requestDBItems', function(source, cb)
|
||||
|
||||
MySQL.Async.fetchAll(
|
||||
'SELECT * FROM weashops',
|
||||
{},
|
||||
function(result)
|
||||
|
||||
local shopItems = {}
|
||||
MySQL.Async.fetchAll(
|
||||
'SELECT * FROM weashops',
|
||||
{},
|
||||
function(result)
|
||||
|
||||
for i=1, #result, 1 do
|
||||
local shopItems = {}
|
||||
|
||||
if shopItems[result[i].name] == nil then
|
||||
shopItems[result[i].name] = {}
|
||||
end
|
||||
for i=1, #result, 1 do
|
||||
|
||||
table.insert(shopItems[result[i].name], {
|
||||
name = result[i].item,
|
||||
price = result[i].price,
|
||||
label = ESX.GetWeaponLabel(result[i].item)
|
||||
})
|
||||
if shopItems[result[i].name] == nil then
|
||||
shopItems[result[i].name] = {}
|
||||
end
|
||||
|
||||
end
|
||||
table.insert(shopItems[result[i].name], {
|
||||
name = result[i].item,
|
||||
price = result[i].price,
|
||||
label = ESX.GetWeaponLabel(result[i].item)
|
||||
})
|
||||
|
||||
cb(shopItems)
|
||||
end
|
||||
|
||||
end
|
||||
)
|
||||
cb(shopItems)
|
||||
|
||||
end
|
||||
)
|
||||
|
||||
end)
|
||||
|
||||
RegisterServerEvent('esx_weashop:buyItem')
|
||||
AddEventHandler('esx_weashop:buyItem', function(itemName, price, zone)
|
||||
|
||||
local _source = source
|
||||
local xPlayer = ESX.GetPlayerFromId(source)
|
||||
local account = xPlayer.getAccount('black_money')
|
||||
|
||||
if zone=="BlackWeashop" then
|
||||
if account.money >= price then
|
||||
|
||||
xPlayer.removeAccountMoney('black_money', price)
|
||||
xPlayer.addWeapon(itemName, 42)
|
||||
TriggerClientEvent('esx:showNotification', _source, _U('buy') .. ESX.GetWeaponLabel(itemName))
|
||||
local _source = source
|
||||
local xPlayer = ESX.GetPlayerFromId(source)
|
||||
local account = xPlayer.getAccount('black_money')
|
||||
|
||||
else
|
||||
TriggerClientEvent('esx:showNotification', _source, _U('not_enough_black'))
|
||||
end
|
||||
if zone=="BlackWeashop" then
|
||||
if account.money >= price then
|
||||
|
||||
else if xPlayer.get('money') >= price then
|
||||
xPlayer.removeAccountMoney('black_money', price)
|
||||
xPlayer.addWeapon(itemName, 42)
|
||||
TriggerClientEvent('esx:showNotification', _source, _U('buy') .. ESX.GetWeaponLabel(itemName))
|
||||
|
||||
xPlayer.removeMoney(price)
|
||||
xPlayer.addWeapon(itemName, 42)
|
||||
else
|
||||
TriggerClientEvent('esx:showNotification', _source, _U('not_enough_black'))
|
||||
end
|
||||
|
||||
TriggerClientEvent('esx:showNotification', _source, _U('buy') .. ESX.GetWeaponLabel(itemName))
|
||||
else if xPlayer.get('money') >= price then
|
||||
|
||||
else
|
||||
TriggerClientEvent('esx:showNotification', _source, _U('not_enough'))
|
||||
end
|
||||
end
|
||||
xPlayer.removeMoney(price)
|
||||
xPlayer.addWeapon(itemName, 42)
|
||||
|
||||
TriggerClientEvent('esx:showNotification', _source, _U('buy') .. ESX.GetWeaponLabel(itemName))
|
||||
|
||||
else
|
||||
TriggerClientEvent('esx:showNotification', _source, _U('not_enough'))
|
||||
end
|
||||
end
|
||||
|
||||
end)
|
||||
|
||||
Reference in New Issue
Block a user