forked from Dadido3/D3stats
		
	
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
| --[[
 | |
| 
 | |
| Storage stuff
 | |
| 
 | |
| ]]
 | |
| 
 | |
| D3stats.Storage = {}
 | |
| 
 | |
| function D3stats.Storage.Initialize()
 | |
| 	-- Storage for map data
 | |
| 	if not sql.TableExists("D3stats_maps") then
 | |
| 		local result = sql.Query("CREATE TABLE D3stats_maps (name varchar(255) PRIMARY KEY, count INT, wins INT, avg_players REAL)")
 | |
| 	end
 | |
| end
 | |
| 
 | |
| function D3stats.Storage.Map_AddOutcome(name, won, players)
 | |
| 	local count = 1
 | |
| 	local wins = 0
 | |
| 	local avg_players = players
 | |
| 	if won == true then wins = 1 end
 | |
| 	
 | |
| 	local result = sql.QueryRow("SELECT count, wins, avg_players FROM D3stats_maps WHERE name = '" .. name .. "'")
 | |
| 	if result then
 | |
| 		if result ~= false then
 | |
| 			count = count + tonumber(result.count)
 | |
| 			wins = tonumber(result.wins) + 1 * (won and 1 or 0)
 | |
| 			avg_players = (players + tonumber(result.avg_players)) / 2
 | |
| 		else
 | |
| 			Print(sql.LastError())
 | |
| 		end
 | |
| 	end
 | |
| 	
 | |
| 	local result = sql.Query("INSERT OR REPLACE INTO D3stats_maps (name, count, wins, avg_players) VALUES ('" .. name .. "', " .. tostring(count) .. ", " .. tostring(wins) .. ", " .. tostring(avg_players) .. ");")
 | |
| end
 | |
| 
 | |
| function D3stats.Storage.Map_Get(name)
 | |
| 	local count = 0
 | |
| 	local wins = 0
 | |
| 	local avg_players = 0
 | |
| 	
 | |
| 	local result = sql.QueryRow("SELECT count, wins, avg_players FROM D3stats_maps WHERE name = '" .. name .. "'")
 | |
| 	if result then
 | |
| 		if result ~= false then
 | |
| 			count = tonumber(result.count)
 | |
| 			wins = tonumber(result.wins)
 | |
| 			avg_players = tonumber(result.avg_players)
 | |
| 		else
 | |
| 			Print(sql.LastError())
 | |
| 		end
 | |
| 	end
 | |
| 	
 | |
| 	return count, wins, avg_players
 | |
| end |