Revert "a lot of changes"

This reverts commit bf9604e851.
This commit is contained in:
Andyyy7666
2023-07-10 02:37:54 +02:00
parent bf9604e851
commit 9a9fa03e8a
8 changed files with 146 additions and 172 deletions

View File

@@ -17,9 +17,3 @@ function NDCore.GetPlayersFromCoords(distance, coords)
end end
return closePlayers return closePlayers
end end
for name, func in pairs(NDCore) do
if type(func) == "function" then
exports(name, func)
end
end

View File

@@ -1,5 +1,3 @@
NDCore = {}
CreateThread(function() CreateThread(function()
SetDiscordAppId(Config.discordAppId) SetDiscordAppId(Config.discordAppId)
SetDiscordRichPresenceAsset(Config.discordAsset) SetDiscordRichPresenceAsset(Config.discordAsset)

View File

@@ -8,19 +8,18 @@ fx_version "cerulean"
game "gta5" game "gta5"
lua54 "yes" lua54 "yes"
shared_scripts {
"init.lua"
}
client_scripts { client_scripts {
"client/main.lua",
"client/functions.lua", "client/functions.lua",
"client/events.lua", "client/events.lua",
"client/main.lua"
} }
server_scripts { server_scripts {
"@oxmysql/lib/MySQL.lua", "@oxmysql/lib/MySQL.lua",
"server/main.lua", "server/main.lua",
"server/functions.lua",
"server/player.lua" "server/player.lua"
} }
shared_scripts {
"init.lua"
}
dependency "oxmysql" dependency "oxmysql"

View File

@@ -8,16 +8,9 @@ Config = {
discordActionLink = GetConvar("discordActionLink", "https://discord.gg/Z9Mxu72zZ6"), discordActionLink = GetConvar("discordActionLink", "https://discord.gg/Z9Mxu72zZ6"),
discordActionText2 = GetConvar("core:discordActionText2", "STORE"), discordActionText2 = GetConvar("core:discordActionText2", "STORE"),
discordActionLink2 = GetConvar("core:discordActionLink2", "https://andyyy.tebex.io/category/fivem-scripts"), discordActionLink2 = GetConvar("core:discordActionLink2", "https://andyyy.tebex.io/category/fivem-scripts"),
} }
local nd_core = exports["ND_Core"] NDCore = {
config = Config
NDCore = setmetatable({}, { }
__index = function(self, index)
self[index] = function(...)
return nd_core[index](nil, ...)
end
return self[index]
end
})

View File

@@ -1,20 +0,0 @@
function NDCore.getPlayer(src)
return ActivePlayers[src]
end
function NDCore.getPlayers(metadata, data)
if not metadata or not data then return ActivePlayers end
local players = {}
for src, info in pairs(ActivePlayers) do
if info.metadata[metadata] == data then
players[src] = info
end
end
return players
end
for name, func in pairs(NDCore) do
if type(func) == "function" then
exports(name, func)
end
end

View File

@@ -1,6 +1,20 @@
NDCore = {}
ActivePlayers = {} ActivePlayers = {}
function NDCore.getPlayer(src)
return ActivePlayers[src]
end
function NDCore.getPlayers(metadata, data)
if not metadata or not data then return ActivePlayers end
local players = {}
for src, info in pairs(ActivePlayers) do
if info.metadata[metadata] == data then
players[src] = info
end
end
return players
end
AddEventHandler("playerDropped", function() AddEventHandler("playerDropped", function()
local src = source local src = source
local char = ActivePlayers[src] local char = ActivePlayers[src]

View File

@@ -1,19 +1,4 @@
local function createCharacterTable(info) local function charDelete(self)
local self = {
source = info.source,
name = info.name,
firstname = info.firstname,
lastname = info.lastname,
dob = info.dob,
gender = info.gender,
cash = info.cash,
bank = info.bank,
license = info.license,
metadata = info.metadata,
inventory = info.inventory
}
function self.delete()
local result = MySQL.query.await("DELETE FROM nd_characters WHERE charid = ?", {self.id}) local result = MySQL.query.await("DELETE FROM nd_characters WHERE charid = ?", {self.id})
if result and self.source then if result and self.source then
ActivePlayers[self.source] = nil ActivePlayers[self.source] = nil
@@ -21,7 +6,7 @@ local function createCharacterTable(info)
return result return result
end end
function self.deductMoney(account, amount, reason) local function charDeductMoney(self, account, amount, reason)
local amount = tonumber(amount) local amount = tonumber(amount)
if not amount or account ~= "bank" and account ~= "cash" then return end if not amount or account ~= "bank" and account ~= "cash" then return end
self[account] -= amount self[account] -= amount
@@ -32,7 +17,7 @@ local function createCharacterTable(info)
return true return true
end end
function self.addMoney(account, amount, reason) local function charAddMoney(self, account, amount, reason)
local amount = tonumber(amount) local amount = tonumber(amount)
if not amount or account ~= "bank" and account ~= "cash" then return end if not amount or account ~= "bank" and account ~= "cash" then return end
self[account] += amount self[account] += amount
@@ -43,19 +28,19 @@ local function createCharacterTable(info)
return true return true
end end
function self.depositMoney(amount) local function charDepositMoney(self, amount)
local amount = tonumber(amount) local amount = tonumber(amount)
if not amount or self.cash < amount or amount <= 0 then return end if not amount or self.cash < amount or amount <= 0 then return end
return self:deductMoney("cash", amount, "Deposit") and self:AddMoney("bank", amount, "Deposit") return self:deductMoney("cash", amount, "Deposit") and self:AddMoney("bank", amount, "Deposit")
end end
function self.withdrawMoney(amount) local function charWithdrawMoney(self, amount)
local amount = tonumber(amount) local amount = tonumber(amount)
if not amount or self.bank < amount or amount <= 0 then return end if not amount or self.bank < amount or amount <= 0 then return end
return self:deductMoney("bank", amount, "Withdraw") and self:AddMoney("cash", amount, "Withdraw") return self:deductMoney("bank", amount, "Withdraw") and self:AddMoney("cash", amount, "Withdraw")
end end
function self.setMetadata(key, value) local function charSetMetadata(self, key, value)
self.metadata[key] = value self.metadata[key] = value
if self.source then if self.source then
ActivePlayers[self.source] = self ActivePlayers[self.source] = self
@@ -64,7 +49,7 @@ local function createCharacterTable(info)
return self.metadata return self.metadata
end end
function self.unload(self) local function charUnload(self)
TriggerEvent("ND:characterUnloaded", self.source, self) TriggerEvent("ND:characterUnloaded", self.source, self)
local ped = GetPlayerPed(self.source) local ped = GetPlayerPed(self.source)
self:setMetadata("location", GetEntityCoords(ped)) self:setMetadata("location", GetEntityCoords(ped))
@@ -73,7 +58,7 @@ local function createCharacterTable(info)
ActivePlayers[self.source] = nil ActivePlayers[self.source] = nil
end end
function self.save(self) local function charSave(self)
MySQL.update.await("UPDATE nd_characters SET name = ?, firstname = ?, lastname = ?, dob = ?, gender = ?, cash = ?, bank = ?, metadata = ?, inventory = ? WHERE charid = ?", { MySQL.update.await("UPDATE nd_characters SET name = ?, firstname = ?, lastname = ?, dob = ?, gender = ?, cash = ?, bank = ?, metadata = ?, inventory = ? WHERE charid = ?", {
self.name, self.name,
self.firstname, self.firstname,
@@ -88,7 +73,7 @@ local function createCharacterTable(info)
}) })
end end
function self.createLicense(licenseType, expire) local function charCreateLicense(self, licenseType, expire)
local expireIn = tonumber(expire) or 2592000 local expireIn = tonumber(expire) or 2592000
local time = os.time() local time = os.time()
local licenses = self.metadata.licenses local licenses = self.metadata.licenses
@@ -116,7 +101,7 @@ local function createCharacterTable(info)
ActivePlayers[self.source] = self ActivePlayers[self.source] = self
end end
function self.setCoords(coords) local function charSetCoords(self, coords)
if not self.source or not coords then return end if not self.source or not coords then return end
local ped = GetPlayerPed(self.source) local ped = GetPlayerPed(self.source)
if not DoesEntityExist(ped) then return end if not DoesEntityExist(ped) then return end
@@ -124,14 +109,25 @@ local function createCharacterTable(info)
return true return true
end end
return self local function initPlayerTable(playerTable)
playerTable.delete = charDelete,
playerTable.deductMoney = charDeductMoney,
playerTable.addMoney = charAddMoney
playerTable.depositMoney = charDepositMoney,
playerTable.withdrawMoney = charWithdrawMoney,
playerTable.setMetadata = charSetMetadata,
playerTable.save = charSave,
playerTable.unload = charUnload,
playerTable.createLicense = charCreateLicense
playerTable.setCoords = charSetCoords
return playerTable
end end
function NDCore.newCharacter(src, info) function NDCore.newCharacter(src, info)
local license = GetPlayerIdentifierByType(src, "license") local license = GetPlayerIdentifierByType(src, "license")
if not license then return end if not license then return end
local charInfo = createCharacterTable({ local charInfo = initPlayerTable({
source = src, source = src,
name = GetPlayerName(src) or "", name = GetPlayerName(src) or "",
firstname = info.firstname or "", firstname = info.firstname or "",
@@ -155,7 +151,7 @@ function NDCore.newCharacter(src, info)
charInfo.cash, charInfo.cash,
charInfo.bank, charInfo.bank,
charInfo.metadata charInfo.metadata
}) )
return charInfo return charInfo
end end
@@ -165,7 +161,7 @@ function NDCore.fetchCharacter(id)
if not result then return end if not result then return end
local info = result[1] local info = result[1]
return createCharacterTable({ return initPlayerTable({
id = id, id = id,
name = info.name, name = info.name,
firstname = info.firstname, firstname = info.firstname,
@@ -187,7 +183,7 @@ function NDCore.getPlayerCharacters(src)
for i=1, amount do for i=1, amount do
local info = result[i] local info = result[i]
characters[info.charid] = createCharacterTable({ characters[info.charid] = initPlayerTable({
id = info.charid, id = info.charid,
name = info.name, name = info.name,
firstname = info.firstname, firstname = info.firstname,
@@ -209,7 +205,7 @@ function NDCore.setActiveCharacter(src, id)
if char then char:unload() end if char then char:unload() end
local character = NDCore.fetchCharacter(id) local character = NDCore.fetchCharacter(id)
character.source = src character.source = src,
character.name = GetPlayerName(src) character.name = GetPlayerName(src)
ActivePlayers[src] = character ActivePlayers[src] = character