Skip to content

Commit c845ff7

Browse files
committed
feat: auto-run SQL & restructure
1 parent d497444 commit c845ff7

File tree

9 files changed

+30
-13
lines changed

9 files changed

+30
-13
lines changed

client.lua renamed to client/client.lua

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ local function distanceCheck()
2626
lastLocation = GetEntityCoords(vehicle)
2727
end
2828

29-
local plate = string.gsub(GetVehicleNumberPlateText(GetVehiclePedIsIn(PlayerPedId(), false)), '^%s*(.-)%s*$', '%1')
29+
local plate = string.gsub(GetVehicleNumberPlateText(GetVehiclePedIsIn(PlayerPedId(), false)), "^%s*(.-)%s*$", "%1")
3030

3131
if plate == currentVehPlate and not currentVehOwned and recheckCurrentVeh > 0 then
3232
recheckCurrentVeh -= 1000
@@ -64,12 +64,14 @@ local function distanceCheck()
6464

6565
if roundedMileage ~= lastUpdatedMileage then
6666
Entity(vehicle).state:set("vehicleMileage", roundedMileage)
67-
TriggerServerEvent('jg-vehiclemileage:server:update-mileage', currentVehPlate, roundedMileage)
67+
TriggerServerEvent("jg-vehiclemileage:server:update-mileage", currentVehPlate, roundedMileage)
6868
lastUpdatedMileage = roundedMileage
6969
end
7070
end
7171

7272
CreateThread(function()
73+
Wait(2000)
74+
7375
while true do
7476
distanceCheck()
7577
Wait(1000)

config.lua

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
Config = {}
2+
Config.AutoRunSQL = true
3+
24
Config.Framework = "auto" -- or "QBCore", "Qbox", "ESX"
35
Config.ShowMileage = true
46
Config.Unit = "miles" -- "miles" or "kilometers"

fxmanifest.lua

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,19 @@ lua54 "yes"
44

55
author "JG Scripts"
66
description "Tracks vehicle mileage with UI"
7-
version "v1.1.1"
8-
9-
client_script "client.lua"
7+
version "v1.2"
108

119
shared_scripts {
1210
"@ox_lib/init.lua",
1311
"config.lua",
1412
"main.lua"
1513
}
1614

15+
client_script "client/*.lua"
16+
1717
server_scripts {
1818
"@oxmysql/lib/MySQL.lua",
19-
"server.lua"
19+
"server/*.lua"
2020
}
2121

2222
ui_page "web/index.html"

install/run-esx.sql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ALTER TABLE owned_vehicles ADD COLUMN IF NOT EXISTS mileage FLOAT DEFAULT 0 NOT NULL

install/run-qb.sql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ALTER TABLE player_vehicles ADD COLUMN IF NOT EXISTS mileage FLOAT DEFAULT 0 NOT NULL

main.lua

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
Framework = {}
22

33
if (Config.Framework == "auto" and (GetResourceState("qbx_core") == "started" or GetResourceState("qb-core") == "started")) or Config.Framework == "Qbox" or Config.Framework == "QBCore" then
4+
Config.Framework = "QBCore"
45
Framework.VehiclesTable = "player_vehicles"
56
elseif (Config.Framework == "auto" and GetResourceState("es_extended") == "started") or Config.Framework == "ESX" then
7+
Config.Framework = "ESX"
68
Framework.VehiclesTable = "owned_vehicles"
79
else
810
error("You haven't set a valid framework. Valid options can be found in main.lua!")

run.sql

Lines changed: 0 additions & 5 deletions
This file was deleted.

server.lua renamed to server/server.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
lib.callback.register('jg-vehiclemileage:server:get-mileage', function(_, plate)
1+
lib.callback.register("jg-vehiclemileage:server:get-mileage", function(_, plate)
22
local vehicle = MySQL.single.await("SELECT mileage FROM " .. Framework.VehiclesTable .. " WHERE plate = ?", {plate})
33
if not vehicle then return { error = true } end
44
return { mileage = vehicle.mileage }
55
end)
66

7-
RegisterNetEvent('jg-vehiclemileage:server:update-mileage', function(plate, mileage)
7+
RegisterNetEvent("jg-vehiclemileage:server:update-mileage", function(plate, mileage)
88
MySQL.update("UPDATE " .. Framework.VehiclesTable .. " SET mileage = ? WHERE plate = ?", {mileage, plate})
99
end)
1010

server/sv-initsql.lua

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
if Config.AutoRunSQL then
2+
if not pcall(function()
3+
local fileName = (Config.Framework == "QBCore" or Config.Framework == "Qbox") and "run-qb.sql" or "run-esx.sql"
4+
5+
-- Open & read file
6+
local file = assert(io.open(GetResourcePath(GetCurrentResourceName()) .. "/install/" .. fileName, "rb"))
7+
local sql = file:read("*all")
8+
file:close()
9+
10+
MySQL.query.await(sql)
11+
end) then
12+
print("^1[SQL ERROR] There was an error while automatically running the required SQL. Don't worry, you just need to run the SQL file for your framework, found in the 'install' folder manually. If you've already ran the SQL code previously, and this error is annoying you, set Config.AutoRunSQL = false^0")
13+
end
14+
end

0 commit comments

Comments
 (0)