public static void HandleGuildInvitationAnswerMessage(WorldClient client, GuildInvitationAnswerMessage message) { GuildInvitationRequest guildInvitationRequest = client.Character.RequestBox as GuildInvitationRequest; if (guildInvitationRequest != null) { if (client.Character == guildInvitationRequest.Source && !message.accept) { guildInvitationRequest.Cancel(); } else { if (client.Character == guildInvitationRequest.Target) { if (message.accept) { guildInvitationRequest.Accept(); } else { guildInvitationRequest.Deny(); } } } } }
public static void HandleGuildInvitationMessage(WorldClient client, GuildInvitationMessage message) { if (client.Character.Guild != null) { if (!client.Character.GuildMember.HasRight(GuildRightsBitEnum.GUILD_RIGHT_INVITE_NEW_MEMBERS)) { client.Character.SendInformationMessage(TextInformationTypeEnum.TEXT_INFORMATION_ERROR, 207, new object[0]); } else { Character character = Singleton <World> .Instance.GetCharacter((int)message.targetId); if (character == null) { client.Character.SendInformationMessage(TextInformationTypeEnum.TEXT_INFORMATION_ERROR, 208, new object[0]); } else { if (character.Guild != null) { client.Character.SendInformationMessage(TextInformationTypeEnum.TEXT_INFORMATION_ERROR, 206, new object[0]); } else { if (character.IsBusy()) { client.Character.SendInformationMessage(TextInformationTypeEnum.TEXT_INFORMATION_ERROR, 209, new object[0]); } else { if (!client.Character.Guild.CanAddMember()) { client.Character.SendInformationMessage(TextInformationTypeEnum.TEXT_INFORMATION_ERROR, 55, new object[] { Guild.MaxMembersNumber }); } else { GuildInvitationRequest guildInvitationRequest = new GuildInvitationRequest(client.Character, character); guildInvitationRequest.Open(); } } } } } } }
public static void HandleGuildInvitationMessage(WorldClient client, GuildInvitationMessage message) { if (client.Character.Guild == null) { return; } if (!client.Character.GuildMember.HasRight(GuildRightsBitEnum.GUILD_RIGHT_INVITE_NEW_MEMBERS)) { // Vous n'avez pas le droit requis pour inviter des joueurs dans votre guilde. client.Character.SendInformationMessage(TextInformationTypeEnum.TEXT_INFORMATION_ERROR, 207); return; } var target = World.Instance.GetCharacter((int)message.targetId); if (target == null) { // Impossible d'inviter, ce joueur est inconnu ou non connecté. client.Character.SendInformationMessage(TextInformationTypeEnum.TEXT_INFORMATION_ERROR, 208); return; } if (target.Guild != null) { // Impossible, ce joueur est déjà dans une guilde client.Character.SendInformationMessage(TextInformationTypeEnum.TEXT_INFORMATION_ERROR, 206); return; } if (target.IsBusy()) { // Ce joueur est occupé. Impossible de l'inviter. client.Character.SendInformationMessage(TextInformationTypeEnum.TEXT_INFORMATION_ERROR, 209); return; } if (!client.Character.Guild.CanAddMember()) { client.Character.SendInformationMessage(TextInformationTypeEnum.TEXT_INFORMATION_ERROR, 55, client.Character.Guild.MaxMembers); return; } var request = new GuildInvitationRequest(client.Character, target); request.Open(); }