aboutsummaryrefslogtreecommitdiff
path: root/gamemode/server/sv_database.lua
diff options
context:
space:
mode:
authorAlexander Pickering <alexandermpickering@gmail.com>2016-08-09 17:53:52 -0400
committerAlexander Pickering <alexandermpickering@gmail.com>2016-08-09 17:53:52 -0400
commitd4f197a35c207c9891d3f4dc5e9708af48c935de (patch)
treeee8fd3960c3a3fb4ecaf0f62b50d251f007ebaf3 /gamemode/server/sv_database.lua
parent2fe3c4551344870e3784733fce2d95027b5c8382 (diff)
downloadartery-d4f197a35c207c9891d3f4dc5e9708af48c935de.tar.gz
artery-d4f197a35c207c9891d3f4dc5e9708af48c935de.tar.bz2
artery-d4f197a35c207c9891d3f4dc5e9708af48c935de.zip
Added some weapons
Diffstat (limited to 'gamemode/server/sv_database.lua')
-rw-r--r--gamemode/server/sv_database.lua22
1 files changed, 13 insertions, 9 deletions
diff --git a/gamemode/server/sv_database.lua b/gamemode/server/sv_database.lua
index 59b685f..357d868 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`,`WorldPosition`,`World`) VALUES(?, ?, ?, ?, ?)]]
+INSERT INTO playerdata (`SteamID`, `PlayerName`,`Inventory`, `Skills`,`Quests`,`WorldPosition`,`World`) VALUES(?, ?, ?, ?, ?, ?, ?)]]
local createtablequery = [[
-create table if not exists playerdata(SteamID text, PlayerName text, Inventory json, WorldPosition text, World text)]]
+create table if not exists playerdata(SteamID bigint primary key, PlayerName text, Inventory json, Skills json, Quests json, WorldPosition text, World text)]]
local function connectToDatabase()
if ART.database ~= nil then return end
@@ -65,13 +65,15 @@ checkDatabase()
local function loadQueries()
local db = ART.database
- print("Loading queries")
+ --print("Loading queries")
createplayerquery = db:prepare(createplayerprepare)
- print("starting inventory:")
- print(ART.defaults.starting_inventory)
+ --print("starting inventory:")
+ --print(ART.defaults.starting_inventory)
createplayerquery:setString(3,ART.defaults.starting_inventory)
- createplayerquery:setString(4,ART.defaults.starting_position)
- createplayerquery:setString(5,ART.defaults.starting_world)
+ 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)
function createplayerquery:onSuccess(data)
print("Created player entry successfully!")
end
@@ -86,10 +88,10 @@ loadQueries()
function ART.loadPlayerData(ply)
assert(ART.DatabaseConnected,"Player joined while setup was not complete!")
print("Attempting to load player data")
- local steamid = ply:SteamID()
+ local steamid = ply:SteamID64()
local db = ART.database
local q = db:query([[
-select Inventory, WorldPosition, World from playerdata where SteamID="]] .. steamid .. "\"")
+select Inventory, Skills, Quests, 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!")
@@ -126,6 +128,8 @@ select Inventory, WorldPosition, World from playerdata where SteamID="]] .. stea
end
--Otherwise, we're in the right world, load our data
ply:LoadInventory(inv)
+ ply.Skills = util.JSONToTable(data[1].Skills)
+ ply.Quests = util.JSONToTable(data[1].Quests)
local postbl = string.Explode(" ", worldpos)
local posvec = Vector(postbl[1],postbl[2],postbl[3])
print("Setting player pos to:")