void GuildDisband()
{
try
{
foreach (int member in Character.Network.Guild.Members)
{
if (member != 0)
{
Systems guildplayer = GetPlayerMainid(member);
if (guildplayer != null)
{
if (guildplayer.Character.Information.CharacterID != Character.Information.CharacterID)
{
//Guild disband message packet
guildplayer.client.Send(Packet.GuildUpdate(Character, 2, 0, 0, 0));
//Remove guild name and details from player
Send(Packet.GuildKick(guildplayer.Character.Information.UniqueID));
//State packet
guildplayer.client.Send(Packet.StatePack(guildplayer.Character.Information.UniqueID, 4, 0, false));
//Set all values to null.
guildplayer.Character.Network.Guild.Members.Remove(guildplayer.Character.Information.CharacterID);
guildplayer.Character.Network.Guild.MembersClient.Remove(guildplayer.client);
guildplayer.Character.Network.Guild.Guildid = 0;
if (guildplayer.Character.Network.Guild.UniqueUnion != 0)
{
guildplayer.Character.Network.Guild.UnionActive = false;
guildplayer.Character.Network.Guild.UnionMembers.Remove(guildplayer.Character.Information.CharacterID);
}
}
}
}
}
//Guild disband message packet
client.Send(Packet.GuildUpdate(Character, 2, 0, 0, 0));
//Remove guild name and details from player
Send(Packet.GuildKick(Character.Information.UniqueID));
//State packet
client.Send(Packet.StatePack(Character.Information.UniqueID, 4, 0, false));
//Set all values to null.
//Remove all rows that contains guildname
MsSQL.UpdateData("DELETE FROM guild_members WHERE guild_id=" + Character.Network.Guild.Guildid + "");
//Remove guild from guild table
MsSQL.UpdateData("DELETE FROM guild WHERE id=" + Character.Network.Guild.Guildid + "");
//Remove ourself
if (Character.Network.Guild.UniqueUnion != 0)
{
Character.Network.Guild.UnionActive = false;
Character.Network.Guild.UnionMembers.Remove(Character.Information.CharacterID);
}
Character.Network.Guild.Members.Remove(Character.Information.UniqueID);
Character.Network.Guild.MembersClient.Remove(client);
Character.Network.Guild.Guildid = 0;
//Packet Final message
client.Send(Packet.PromoteOrDisband(1));
}
catch (Exception ex)
{
Console.WriteLine("Guild Disband Error: {0}", ex);
Systems.Debugger.Write(ex);
}
}