Skip to content

Commit

Permalink
refactor: Localize functions + Remove separate threads
Browse files Browse the repository at this point in the history
In theory, this should micro-optimize the server load.
  • Loading branch information
Tiziukas committed Oct 4, 2024
1 parent ddf9549 commit 54ead97
Showing 1 changed file with 23 additions and 28 deletions.
51 changes: 23 additions & 28 deletions server/main.lua
Original file line number Diff line number Diff line change
@@ -1,42 +1,37 @@
local categories, vehicles = {}, {}
local vehiclesByModel = {}

CreateThread(function()
exports["esx_society"]:registerSociety('cardealer', TranslateCap('car_dealer'), 'society_cardealer', 'society_cardealer', 'society_cardealer', {type = 'private'})
AddEventHandler('onResourceStart', function(resourceName)
if resourceName == GetCurrentResourceName() then
categories = MySQL.query.await('SELECT * FROM vehicle_categories')
vehicles = MySQL.query.await('SELECT vehicles.*, vehicle_categories.label AS categoryLabel FROM vehicles JOIN vehicle_categories ON vehicles.category = vehicle_categories.name')

for _, vehicle in pairs(vehicles) do
vehiclesByModel[vehicle.model] = vehicle
end

TriggerClientEvent("esx_vehicleshop:updateVehiclesAndCategories", -1, vehicles, categories, vehiclesByModel)
end
end)

CreateThread(function()
local char = Config.PlateLetters
char = char + Config.PlateNumbers
if Config.PlateUseSpace then char = char + 1 end

if char > 8 then
print(('[^3WARNING^7] Character Limit Exceeded, ^5%s/8^7!'):format(char))
end
end)
exports["esx_society"]:registerSociety('cardealer', TranslateCap('car_dealer'), 'society_cardealer', 'society_cardealer', 'society_cardealer', {type = 'private'})

function RemoveOwnedVehicle(plate)
MySQL.update('DELETE FROM owned_vehicles WHERE plate = ?', {plate})
end
local charCount = Config.PlateLetters + Config.PlateNumbers
if Config.PlateUseSpace then
charCount = charCount + 1
end

AddEventHandler('onResourceStart', function(resourceName)
if resourceName == GetCurrentResourceName() then
SQLVehiclesAndCategories()
end
if charCount > 8 then
print(('[^3WARNING^7] Character Limit Exceeded, ^5%s/8^7!'):format(charCount))
end
end)

function SQLVehiclesAndCategories()
categories = MySQL.query.await('SELECT * FROM vehicle_categories')
vehicles = MySQL.query.await('SELECT vehicles.*, vehicle_categories.label AS categoryLabel FROM vehicles JOIN vehicle_categories ON vehicles.category = vehicle_categories.name')

for _, vehicle in pairs(vehicles) do
vehiclesByModel[vehicle.model] = vehicle
end

TriggerClientEvent("esx_vehicleshop:updateVehiclesAndCategories", -1, vehicles, categories, vehiclesByModel)
local function RemoveOwnedVehicle(plate)
MySQL.update('DELETE FROM owned_vehicles WHERE plate = ?', { plate })
end

function getVehicleFromModel(model)
local function getVehicleFromModel(model)
return vehiclesByModel[model]
end

Expand Down Expand Up @@ -354,7 +349,7 @@ AddEventHandler('esx_vehicleshop:setJobVehicleState', function(plate, state)
end)
end)

function PayRent()
local function PayRent()
local timeStart = os.clock()
print('[^2INFO^7] ^5Rent Payments^7 Initiated')

Expand Down

0 comments on commit 54ead97

Please sign in to comment.