public void DoFullRequest()
{
// Fetch Player
Rows = Database.Query("SELECT * FROM player WHERE id=@P0", Pid);
// If player doesnt exist then output default dataB
if (Rows.Count == 0)
{
Response.WriteResponseStart(false);
Response.WriteHeaderLine("asof", "err");
Response.WriteDataLine(DateTime.UtcNow.ToUnixTimestamp(), "Player Doesnt Exist");
Response.Send();
return;
}
else
{
Response.WriteResponseStart();
Response.WriteHeaderLine("asof");
Response.WriteDataLine(DateTime.UtcNow.ToUnixTimestamp());
}
// Add Player Data
Dictionary<string, object> Player = Rows[0];
Rows = null;
float Time = float.Parse(Player["time"].ToString());
// Start adding Player Data
Out.Add("pid", Player["id"]);
Out.Add("nick", Player["name"].ToString().Trim());
Out.Add("scor", Player["score"]);
Out.Add("jond", Player["joined"]);
Out.Add("wins", Player["wins"]);
Out.Add("loss", Player["losses"]);
Out.Add("mode0", Player["mode0"]);
Out.Add("mode1", Player["mode1"]);
Out.Add("mode2", Player["mode2"]);
Out.Add("time", Player["time"]);
Out.Add("smoc", (Int32.Parse(Player["rank"].ToString()) == 11) ? 1 : 0);
Out.Add("cmsc", Player["skillscore"]);
Out.Add("osaa", " "); // Overall small-arms accuracy, Filled Later
Out.Add("kill", Player["kills"]);
Out.Add("kila", Player["damageassists"]);
Out.Add("deth", Player["deaths"]);
Out.Add("suic", Player["suicides"]);
Out.Add("bksk", Player["killstreak"]);
Out.Add("wdsk", Player["deathstreak"]);
Out.Add("tvcr", "0"); // Top Victim, Filled Later
Out.Add("topr", "0"); // Top Oppenent, Filled Later
Out.Add("klpm", Math.Round((60 * (float.Parse(Player["kills"].ToString()) / Time)), 2)); // Kills per minute
Out.Add("dtpm", Math.Round((60 * (float.Parse(Player["deaths"].ToString()) / Time)), 2)); // Deaths per Minute
Out.Add("ospm", Math.Round((60 * (float.Parse(Player["score"].ToString()) / Time)), 2)); // Score Per Minute
Out.Add("klpr", Math.Round((float.Parse(Player["kills"].ToString()) / float.Parse(Player["rounds"].ToString())), 2)); // Kills Per Round
Out.Add("dtpr", Math.Round((float.Parse(Player["deaths"].ToString()) / float.Parse(Player["rounds"].ToString())), 2)); // Deaths Per Round
Out.Add("twsc", Player["teamscore"]); // Teamwork Score
Out.Add("cpcp", Player["captures"]); // Capture Control Points
Out.Add("cacp", Player["captureassists"]); // Capture Assist Points
Out.Add("dfcp", Player["defends"]); // Capture Control Defend Points
Out.Add("heal", Player["heals"]); // Player Heals
Out.Add("rviv", Player["revives"]); // Player Revives
Out.Add("rsup", Player["ammos"]); // Player Resupplies
Out.Add("rpar", Player["repairs"]); // Player Repairs
Out.Add("tgte", Player["targetassists"]); // Times Targeted Enemy
Out.Add("dkas", Player["driverassists"]); // Kill assists as Database
Out.Add("dsab", Player["driverspecials"]); // Database special ability points
Out.Add("cdsc", Player["cmdscore"]); // Command Score
Out.Add("rank", Player["rank"]); // Player Rank
Out.Add("kick", Player["kicked"]); // Number of times Kicked from server the player has
Out.Add("bbrs", Player["rndscore"]); // Best Round Score
Out.Add("tcdr", Player["cmdtime"]); // Time As Commander
Out.Add("ban", Player["banned"]); // Times Banned
Out.Add("lbtl", Player["lastonline"]); // Player Last Battle
Out.Add("vrk", "0"); // Vehicle Road Kills, Filled Later
Out.Add("tsql", Player["sqltime"]); // Time As Squad Leaders
Out.Add("tsqm", Player["sqmtime"]); // Time As Squad Members
Out.Add("tlwf", Player["lwtime"]); // Time As Lone Wolf
Out.Add("mvks", "0"); // Top Victim Kills
Out.Add("vmks", "0"); // Top Opponent Kills
Out.Add("mvns", " "); // Top Victim Name, Filled Later
Out.Add("mvrs", " "); // Top Victim Rank, Filled Later
Out.Add("vmns", " "); // Top Opponent Name, Filled Later
Out.Add("vmrs", " "); // Top Opponent Rank, Filled Later
Out.Add("fkit", ""); // Favorite Kit, Filled Later
Out.Add("fmap", ""); // Favorite Map, Filled Later
Out.Add("fveh", ""); // Favorite Vehicle, Filled Later
Out.Add("fwea", ""); // Favorite Weapon, Filled Later
Out.Add("tnv", "0"); // NIGHT VISION GOGGLES Time - NOT USED
Out.Add("tgm", "0"); // GAS MASK TIME - NOT USED
// Proccess Weapons
AddWeaponData();
// Process Vehicles
AddVehicleData();
// Process Armies
AddArmyData();
// Process Kits
AddKitData();
// Get tactical data
AddTacticalData();
// Get Player Top Victim and Opponent
GetPlayerTopVitcimAndOpp();
// Get Favorite Map
GetFavMap();
// Do output
Response.WriteHeaderDataPair(Out);
Response.Send();
}