aboutsummaryrefslogtreecommitdiff
path: root/gamemode/server/sv_database.lua
diff options
context:
space:
mode:
authorAlexander Pickering <alexandermpickering@gmail.com>2016-10-24 12:11:53 -0400
committerAlexander Pickering <alexandermpickering@gmail.com>2016-10-24 12:11:53 -0400
commitd7f44fc24da959658b597e64d842661aa41f6515 (patch)
tree31fcfa6977c77167ce8655959095676fa711df7c /gamemode/server/sv_database.lua
parent09de17b25912ca1ed79afcf9ecfc3291fe34a96d (diff)
downloadartery-d7f44fc24da959658b597e64d842661aa41f6515.tar.gz
artery-d7f44fc24da959658b597e64d842661aa41f6515.tar.bz2
artery-d7f44fc24da959658b597e64d842661aa41f6515.zip
Added saveing/loading of prayers
Diffstat (limited to 'gamemode/server/sv_database.lua')
-rw-r--r--gamemode/server/sv_database.lua29
1 files changed, 12 insertions, 17 deletions
diff --git a/gamemode/server/sv_database.lua b/gamemode/server/sv_database.lua
index 357d868..55c5346 100644
--- a/gamemode/server/sv_database.lua
+++ b/gamemode/server/sv_database.lua
@@ -4,9 +4,9 @@ require("mysqloo")
local createplayerquery
local createplayerprepare = [[
-INSERT INTO playerdata (`SteamID`, `PlayerName`,`Inventory`, `Skills`,`Quests`,`WorldPosition`,`World`) VALUES(?, ?, ?, ?, ?, ?, ?)]]
+INSERT INTO playerdata (`SteamID`, `PlayerName`,`Inventory`, `Skills`,`Quests`, `Prayers`,`WorldPosition`,`World`) VALUES(?, ?, ?, ?, ?, ?, ?, ?)]]
local createtablequery = [[
-create table if not exists playerdata(SteamID bigint primary key, PlayerName text, Inventory json, Skills json, Quests json, WorldPosition text, World text)]]
+create table if not exists playerdata(SteamID bigint primary key, PlayerName text, Inventory json, Skills json, Quests json, Prayers json, WorldPosition text, World text)]]
local function connectToDatabase()
if ART.database ~= nil then return end
@@ -72,8 +72,9 @@ local function loadQueries()
createplayerquery:setString(3,ART.defaults.starting_inventory)
createplayerquery:setString(4,ART.defaults.starting_skills)
createplayerquery:setString(5,ART.defaults.starting_quests)
- createplayerquery:setString(6,ART.defaults.starting_position)
- createplayerquery:setString(7,ART.defaults.starting_world)
+ createplayerquery:setString(6,ART.defaults.starting_prayers)
+ createplayerquery:setString(7,ART.defaults.starting_position)
+ createplayerquery:setString(8,ART.defaults.starting_world)
function createplayerquery:onSuccess(data)
print("Created player entry successfully!")
end
@@ -91,7 +92,7 @@ function ART.loadPlayerData(ply)
local steamid = ply:SteamID64()
local db = ART.database
local q = db:query([[
-select Inventory, Skills, Quests, WorldPosition, World from playerdata where SteamID="]] .. steamid .. "\"")
+select Inventory, Skills, Quests, Prayers, WorldPosition, World from playerdata where SteamID="]] .. steamid .. "\"")
function q:onSuccess(data)
if #data == 0 then --Player does not have an entry, make one!
print("Player does not have entry!")
@@ -127,9 +128,15 @@ select Inventory, Skills, Quests, WorldPosition, World from playerdata where Ste
return
end
--Otherwise, we're in the right world, load our data
+ print("Loading inventory...")
ply:LoadInventory(inv)
+ print("Loading skills...")
ply.Skills = util.JSONToTable(data[1].Skills)
+ print("Loading quests...")
ply.Quests = util.JSONToTable(data[1].Quests)
+ print("Loading prayers...")
+ ply.Prayers = util.JSONToTable(data[1].Prayers)
+ print("Loading player's worldpos")
local postbl = string.Explode(" ", worldpos)
local posvec = Vector(postbl[1],postbl[2],postbl[3])
print("Setting player pos to:")
@@ -145,15 +152,3 @@ select Inventory, Skills, Quests, WorldPosition, World from playerdata where Ste
end
q:start()
end
-
---A randomly assigned model based on a player's UniqueID, so it should always stay the same.
-
---[[
-hook.Add("PlayerInitialSpawn","ArteryPlayerInit",function(ply)
- local modelnum = ply:UniqueID() % (#models)
- print("Setting player model")
- ply:SetModel(models[modelnum])
- print("Loading data")
- ART.loadPlayerData(ply)
-end)
-]]