aboutsummaryrefslogtreecommitdiff
path: root/gamemode/server/sv_mapchange.lua
blob: ede6962a06690984165b0c9b38c42acdd69d3fa3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
--[[
    A script to move the player to a different map
]]
local fn = nrequire("utility/fn.lua")
local q = nrequire("core/database/sv_queries.lua")
nrequire("sv_mysqlite.lua")
local mapname = game.GetMap()
local mapareasstr = file.Read("artery/maps/" .. mapname .. "/mapareas.txt")

local function SavePlayerData(ply)
	local query
	local pdat = q.serialize_player(ply)
    if dontupdatedisconnect[ply] then
        dontupdatedisconnect[ply] = nil
		query = [[
		UPDATE playerdata SET PlayerData='%s' WHERE SteamID=%.0f
		]]
		query = q.s_fmt(query,pdat,ply:SteamID64())
    else
		query = [[
		UPDATE playerdata SET PlayerData='%s' MetaData='%s' WHERE SteamID=%.0f
		]]
		local pmet = util.TableToJSON({
			lastserver = game.GetIPAddress(),
			lastlocation = ply:GetPos()
		})
		query = q.s_fmt(query,pdat,pmet,ply:SteamID64())
    end
	MySQLite.query(query,function(data)
		
	end,function(err,sql)
		print("Query error:")
		print("Query",sql)
		print("Error",err)
	end)
end

hook.Add("PlayerDisconnected","SavePlayerData",SavePlayerData)