void GetGuildData()
{
//Wrap our function inside a catcher
try
{
//If the player is in a guild
if (this.Character.Network.Guild.Guildid > 0)
{
if(!CheckGuildMemberAdd(Character))
{
Character.Network.Guild.Members.Add(this.Character.Information.CharacterID);
Character.Network.Guild.MembersClient.Add(this.client);
}
//Send data begin opcode
client.Send(Packet.SendGuildStart());
//Send date
client.Send(Packet.SendGuildInfo(this.Character.Network.Guild));
//Send end data
client.Send(Packet.SendGuildEnd());
//Send detail information
Send(Packet.SendGuildInfo2(this.Character));
//Update to all guild members (online state).
if (Character.Network.Guild.Guildid != 0)
{
Character.Information.Online = 1;
//Send packets to network and spawned players
foreach (int member in Character.Network.Guild.Members)
{
//Make sure the member is there
if (member != 0)
{
//We dont send this info to the invited user.
if (member != Character.Information.CharacterID)
{
//If the user is not the newly invited member get player info
Systems tomember = GetPlayerMainid(member);
//Send guild update packet
if (tomember != null)
{
tomember.client.Send(Packet.GuildUpdate(Character, 6, Character.Information.CharacterID, 0,0));
}
}
}
}
}
}
//Get union data
LoadUnions();
}
catch (Exception ex)
{
Console.WriteLine("Get guild data error {0}", ex);
Systems.Debugger.Write(ex);
}
}