void GuildStorage()
{
//Wrap our function inside a catcher
try
{
//If guild level is to low send message
if (Character.Network.Guild.Level == 1)
{
//Need to sniff to check what opcode is sending for the message
client.Send(Packet.IngameMessages(Systems.SERVER_GUILD_STORAGE, IngameMessages.GUILD_STORAGE_LEVEL_TO_LOW));
}
//If guild level is 2 meaning it has storage option
else
{
//Make sure the user has guild storage rights
if (Character.Network.Guild.guildstorageRight)
{
//Check if other guild members are currently in storage
foreach (int member in Character.Network.Guild.Members)
{
//Make sure member isnt 0
if (member != 0)
{
//Get player details
Systems getplayer = GetPlayerMainid(member);
//Make sure player isnt null
if (getplayer != null)
{
//Check if the player is using storage
if (getplayer.Character.Network.Guild.UsingStorage)
{
//Send storage message error
client.Send(Packet.IngameMessages(Systems.SERVER_GUILD_WAIT, IngameMessages.UIIT_MSG_STRGERR_STORAGE_OPERATION_BLOCKED));
return;
}
}
}
}
//Make sure that the user isnt using storage allready
if (!Character.Network.Guild.UsingStorage)
{
byte type = 1;
//Set user as active storage user
Character.Network.Guild.UsingStorage = true;
//Send storage begin packet
client.Send(Packet.GuildStorageStart(type));
}
}
//If the player has no storage rights
else
{
//Send error message to user not allowed
client.Send(Packet.IngameMessages(SERVER_GUILD_STORAGE, IngameMessages.UIIT_MSG_STRGERR_STORAGE_OPERATION_BLOCKED));
}
}
}
//Catch any bad errors
catch (Exception ex)
{
//Write information to the console
Console.WriteLine("GuildStorage Open Error: {0}", ex);
//Write information to the debug log
Systems.Debugger.Write(ex);
}
}