52 lines
1.6 KiB
Lua
52 lines
1.6 KiB
Lua
-- Create a table for the preferred playermodels
|
|
sql.Query([[CREATE TABLE IF NOT EXISTS darkp_playermodels(
|
|
jobcmd VARCHAR(45) NOT NULL PRIMARY KEY,
|
|
model VARCHAR(140) NOT NULL
|
|
);]])
|
|
|
|
local preferredModels = {}
|
|
|
|
|
|
/*---------------------------------------------------------------------------
|
|
Interface functions
|
|
---------------------------------------------------------------------------*/
|
|
function DarkRP.setPreferredJobModel(teamNr, model)
|
|
local job = RPExtraTeams[teamNr]
|
|
if not job then return end
|
|
preferredModels[job.command] = model
|
|
sql.Query(string.format([[REPLACE INTO darkp_playermodels VALUES(%s, %s);]], sql.SQLStr(job.command), sql.SQLStr(model)))
|
|
|
|
net.Start("DarkRP_preferredjobmodel")
|
|
net.WriteUInt(teamNr, 8)
|
|
net.WriteString(model)
|
|
net.SendToServer()
|
|
end
|
|
|
|
function DarkRP.getPreferredJobModel(teamNr)
|
|
local job = RPExtraTeams[teamNr]
|
|
if not job then return end
|
|
return preferredModels[job.command]
|
|
end
|
|
|
|
/*---------------------------------------------------------------------------
|
|
Load the preferred models
|
|
---------------------------------------------------------------------------*/
|
|
local function sendModels() -- run after the jobs have loaded
|
|
net.Start("DarkRP_preferredjobmodels")
|
|
for _, job in ipairs(RPExtraTeams) do
|
|
if not preferredModels[job.command] then net.WriteBit(false) continue end
|
|
|
|
net.WriteBit(true)
|
|
net.WriteString(preferredModels[job.command])
|
|
end
|
|
net.SendToServer()
|
|
end
|
|
|
|
do
|
|
local models = sql.Query([[SELECT jobcmd, model FROM darkp_playermodels;]])
|
|
for k,v in pairs(models or {}) do
|
|
preferredModels[v.jobcmd] = v.model
|
|
end
|
|
|
|
timer.Simple(0, sendModels)
|
|
end
|