private void DoServerRequest()
{
// Fetch Player
Rows = Database.Query("SELECT * FROM player WHERE id=@P0", Pid);
// If player doesnt exist then output default data
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 default player data
Dictionary<string, object> Player = Rows[0];
Out.Add("pid", Pid);
Out.Add("name", Player["name"]);
Out.Add("scor", Player["score"]);
Out.Add("rank", Player["rank"]);
Out.Add("dfcp", Player["defends"]);
Out.Add("rpar", Player["repairs"]);
Out.Add("heal", Player["heals"]);
Out.Add("rsup", Player["ammos"]);
Out.Add("dsab", Player["driverspecials"]);
Out.Add("cdsc", Player["cmdscore"]);
Out.Add("tcdr", Player["cmdtime"]);
Out.Add("tsql", Player["sqltime"]);
Out.Add("tsqm", Player["sqmtime"]);
Out.Add("wins", Player["wins"]);
Out.Add("loss", Player["losses"]);
Out.Add("twsc", Player["teamscore"]);
Out.Add("bksk", Player["killstreak"]);
Out.Add("wdsk", Player["deathstreak"]);
Out.Add("time", Player["time"]);
Out.Add("kill", Player["kills"]);
// Add Kit Times
Rows = Database.Query("SELECT time0, time1, time2, time3, time4, time5, time6 FROM kits WHERE id=@P0", Pid);
if (Rows.Count == 0)
{
for (int i = 0; i < 7; i++)
Out.Add("ktm-" + i, 0);
}
else
{
for (int i = 0; i < 7; i++)
Out.Add("ktm-" + i, Rows[0]["time" + i]);
}
// Add weapon data
Rows = Database.Query("SELECT * FROM weapons WHERE id=@P0", Pid);
if (Rows.Count == 0)
{
for (int i = 0; i < 14; i++)
Out.Add("wkl-" + i, 0);
if (Info.Contains("de-"))
{
Out.Add("de-6", 0);
Out.Add("de-7", 0);
Out.Add("de-8", 0);
}
}
else
{
for (int i = 0; i < 9; i++)
Out.Add("wkl-" + i, Rows[0]["kills" + i]);
Out.Add("wkl-9", Rows[0]["knifekills"]);
Out.Add("wkl-10", Rows[0]["shockpadkills"]);
Out.Add("wkl-11",
int.Parse(Rows[0]["c4kills"].ToString()) +
int.Parse(Rows[0]["claymorekills"].ToString()) +
int.Parse(Rows[0]["atminekills"].ToString())
);
Out.Add("wkl-12", Rows[0]["handgrenadekills"]);
Out.Add("wkl-13", 0);
// Special Forces
if (Info.Contains("de-"))
{
Out.Add("de-6", Rows[0]["tacticaldeployed"]);
Out.Add("de-7", Rows[0]["grapplinghookdeployed"]);
Out.Add("de-8", Rows[0]["ziplinedeployed"]);
}
}
// Add Vehicle Data
Rows = Database.Query("SELECT * FROM vehicles WHERE id=@P0", Pid);
if (Rows.Count == 0)
{
// Time
for (int i = 0; i < 7; i++)
Out.Add("vtm-" + i, 0);
// Kills
for (int i = 0; i < 7; i++)
Out.Add("vkl-" + i, 0);
}
else
{
// Time
for (int i = 0; i < 7; i++)
Out.Add("vtm-" + i, Rows[0]["time" + i]);
// Kills
for (int i = 0; i < 7; i++)
Out.Add("vkl-" + i, Rows[0]["kills" + i]);
}
// Add army data (Army medals are processed in the backend, but this MAY change)
Rows = Database.Query("SELECT * FROM army WHERE id=@P0", Pid);
if (Rows.Count == 0)
{
// Time
for (int i = 0; i < 12; i++)
Out.Add("atm-" + i, 0);
// Best Round Score
for (int i = 0; i < 12; i++)
Out.Add("abr-" + i, 0);
// Wins
for (int i = 0; i < 12; i++)
Out.Add("awn-" + i, 0);
}
else
{
// Time
for (int i = 0; i < 12; i++)
Out.Add("atm-" + i, Rows[0]["time" + i]);
// Best Round Score
for (int i = 0; i < 12; i++)
Out.Add("abr-" + i, Rows[0]["best" + i]);
// Wins
for (int i = 0; i < 12; i++)
Out.Add("awn-" + i, Rows[0]["win" + i]);
}
// Send Response
Response.WriteHeaderDataPair(Out);
Response.Send();
}