public static void Close() { foreach (var player in Program.Values) if (player.Entity.MapID == MapID) player.Entity.Teleport(1002, 439, 390); var array = Kernel.Guilds.Values.Where(p => p.CTFPoints != 0).OrderByDescending(p => p.CTFPoints).ToArray(); for (int i = 0; i < Math.Min(8, array.Length); i++) { array[i].CalculateCTFRANK(true); Database.GuildTable.SaveCTFPoins(array[i]); if (i == 0) { array[i].CTFReward += 10; array[i].ConquerPointFund += 300000; array[i].SilverFund += 120000000; } else if (i == 1) { array[i].CTFReward += 9; array[i].ConquerPointFund += 250000; array[i].SilverFund += 100000000; } else if (i == 2) { array[i].CTFReward += 8; array[i].ConquerPointFund += 150000; array[i].SilverFund += 80000000; } else if (i == 3) { array[i].CTFReward += 7; array[i].ConquerPointFund += 100000; array[i].SilverFund += 65000000; } else if (i == 4) { array[i].CTFReward += 6; array[i].ConquerPointFund += 70000; array[i].SilverFund += 50000000; } else if (i == 5) { array[i].CTFReward += 5; array[i].ConquerPointFund += 50000; array[i].SilverFund += 40000000; } else if (i == 6) { array[i].CTFReward += 4; array[i].ConquerPointFund += 40000; array[i].SilverFund += 30000000; } else if (i == 7) { array[i].CTFReward += 3; array[i].ConquerPointFund += 30000; array[i].SilverFund += 20000000; } Database.GuildTable.SaveCTFReward(array[i]); array[i].CTFdonationCPs = array[i].CTFdonationCPsold; array[i].CTFdonationSilver = array[i].CTFdonationSilverold; array[i].CTFdonationCPsold = 0; array[i].CTFdonationSilverold = 0; } if (array.Length > 8) { for (int x = 8; x < array.Length; x++) { array[x].CTFPoints = 0; foreach (var meme in array[x].Members.Values) { meme.Exploits = 0; meme.ExploitsRank = 0; } } } } public void SendUpdates(GameState client) { if (Time32.Now > client.CTFUpdateStamp.AddSeconds(5)) { client.CTFUpdateStamp = Time32.Now; var buffer = generateCTFRanking4(); client.Send(buffer); foreach (var _base in Bases.Values) { if (Kernel.GetDistance(client.Entity.X, client.Entity.Y, _base.Flag.X, _base.Flag.Y) <= 9) { buffer = generateFlagRanking(_base); client.Send(buffer); } } } }
public static DateTime StartTime;
public Time32 CTFUpdateStamp;