aboutsummaryrefslogtreecommitdiff
path: root/gamemode/server
diff options
context:
space:
mode:
authorAlexander Pickering <alexandermpickering@gmail.com>2017-08-17 13:38:38 -0400
committerAlexander Pickering <alexandermpickering@gmail.com>2017-08-17 13:38:38 -0400
commit77b2974db2a719fbc92734cc88df73b1f1c41b0a (patch)
treeed54956006b8c37229ba5c0d86a0d3626f1928ad /gamemode/server
parent0916a769c3fea30887dd90237d17095b456a7a9e (diff)
downloadartery-77b2974db2a719fbc92734cc88df73b1f1c41b0a.tar.gz
artery-77b2974db2a719fbc92734cc88df73b1f1c41b0a.tar.bz2
artery-77b2974db2a719fbc92734cc88df73b1f1c41b0a.zip
Fixed recording weapon swings
Diffstat (limited to 'gamemode/server')
-rw-r--r--gamemode/server/sv_mapchange.lua119
1 files changed, 117 insertions, 2 deletions
diff --git a/gamemode/server/sv_mapchange.lua b/gamemode/server/sv_mapchange.lua
index ede6962..d697a67 100644
--- a/gamemode/server/sv_mapchange.lua
+++ b/gamemode/server/sv_mapchange.lua
@@ -2,11 +2,70 @@
A script to move the player to a different map
]]
local fn = nrequire("utility/fn.lua")
-local q = nrequire("core/database/sv_queries.lua")
+local q = nrequire("core/database/queries.lua")
nrequire("sv_mysqlite.lua")
local mapname = game.GetMap()
local mapareasstr = file.Read("artery/maps/" .. mapname .. "/mapareas.txt")
+--[=[
+local dontupdatedisconnect = {}
+
+hook.Add("InitPostEntity", "LoadMapChangePoints", function()
+ local transfers = string.Explode("\r?\n\r?\n",mapareasstr,true)
+ for k,v in pairs(transfers) do
+ local parts = string.Explode("\r?\n",v,true)
+ local vectortxt = string.Explode(" ",parts[1],false)
+ local svec = Vector(vectortxt[1],vectortxt[2],vectortxt[3])
+ local name = parts[2]
+ local server = parts[3]
+ local model = parts[4]
+ local tvt = string.Explode(" ",parts[5],false)
+
+ local sch = ents.Create("art_serverchanger")
+ sch.Model = model
+ sch.Pos = svec
+ sch.OnHit = function(self, coldata,collider)
+ print("Coldata")
+ PrintTable(coldata)
+ print("collider",collider)
+ if coldata.HitEntity:IsPlayer() then
+ dontupdatedisconnect[coldata.HitEntity] = true
+ local qc = table.concat({[[
+ UPDATE playerdata SET MetaData="]],
+ tvt[1]," ",
+ tvt[2]," ",
+ tvt[3]," ",
+ [[" WHERE SteamID="]],
+ coldata.HitEntity:SteamID64(),
+ '"'})
+ local query = [[
+ UPDATE playerdata SET PlayerData='%s',MetaData='%s' WHERE SteamID=%.0f
+ ]]
+ local pdat = util.TableToJSON(coldata.HitEntity.data)
+ local pmet = util.TableToJSON({
+ lastserver = server,
+ lastlocation = parts[5]
+ })
+ print("pdat is", pdat)
+ print("pmet is", pmet)
+ local fquery = q.s_fmt(query,pdat,pmet,coldata.HitEntity:SteamID64())
+ print("fquery was", fquery)
+ print("Running query:",qc)
+ MySQLite.query(fquery,function(data)
+ coldata.HitEntity:ConCommand("connect " .. server)
+ end,function(err,sql)
+ print("Query error:")
+ print("Query",sql)
+ print("Error",err)
+ end)
+ end
+ end
+ sch:Spawn()
+ print("Loading mapchange area",svec)
+ end
+end)
+]=]
+
local function SavePlayerData(ply)
local query
local pdat = q.serialize_player(ply)
@@ -35,4 +94,60 @@ local function SavePlayerData(ply)
end)
end
-hook.Add("PlayerDisconnected","SavePlayerData",SavePlayerData)
+--[=[
+hook.Add("PlayerDisconnected","SavePlayerData",function(ply)
+ local qc
+ if dontupdatedisconnect[ply] then
+ dontupdatedisconnect[ply] = nil
+ qc = table.concat({
+ [[UPDATE artery.playerdata SET
+ Inventory="]],
+ util.TableToJSON(ply.Inventory),
+ [[",
+ Skills="]],
+ util.TableToJSON(ply.Skills),
+ [[",
+ Quests="]],
+ util.TableToJSON(ply.Quests),
+ [["
+ WHERE SteamID = "]],
+ ply:SteamID64(),
+ [[";]]
+ })
+ else
+ local pp = ply:GetPos()
+ qc = table.concat({
+ [[UPDATE artery.playerdata SET
+ Inventory="]],
+ util.TableToJSON(ply.Inventory),
+ [[",
+ Skills="]],
+ util.TableToJSON(ply.Skills),
+ [[",
+ Quests="]],
+ util.TableToJSON(ply.Quests),
+ [[",
+ WorldPosition="]],
+ pp[1]," ",pp[2]," ",pp[3],
+ [[",
+ World="]],
+ game.GetIPAddress(),
+ [["
+ WHERE SteamID = "]],
+ ply:SteamID64(),
+ [[";]]
+ })
+ end
+ local q = ART.database:query(qc)
+ function q:onSuccess(data)
+ print("Saveing player data successful")
+ PrintTable(data)
+ end
+ function q:onError(err, sql)
+ print("Saveing player data errored!")
+ print("Query",sql)
+ error(err)
+ end
+ q:start()
+end)
+]=]