public void GuildInvitationMessageFrame(WorldClient client, GuildInvitationMessage guildInvitationMessage) { if (client.ActiveCharacter.Guild == null) { return; } //check si il a le droit d'inviter a faire var member = client.ActiveCharacter.Guild.GuildMembers.Find(x => x.Character.Id == client.ActiveCharacter.Id); var guild = client.ActiveCharacter.Guild; if (!member.GuildRightsItemCriterion[GuildRightsBitEnum.GUILD_RIGHT_INVITE_NEW_MEMBERS]) { client.SendPacket(new GuildInvitationStateRecruterMessage("", (uint)SocialGroupInvitationStateEnum.SOCIAL_GROUP_INVITATION_FAILED)); return; } var target = WorldManager.Instance.worldClients.Find(x => x.ActiveCharacter != null && x.ActiveCharacter.Id == guildInvitationMessage.targetId); if (target == null || target.ActiveCharacter.Guild != null) { return; } //ajouter dans la liste guildinvitation GuildManager.Instance.AddGuildInvitations(new GuildInvitation(client.ActiveCharacter.Guild.Id, client.ActiveCharacter.Id, target.ActiveCharacter.Id)); client.SendPacket(new GuildInvitationStateRecruterMessage(target.ActiveCharacter.Name, (uint)SocialGroupInvitationStateEnum.SOCIAL_GROUP_INVITATION_SENT)); target.SendPacket(new GuildInvitedMessage(client.ActiveCharacter.Id, client.ActiveCharacter.Name, new DofusProtocol.Network.Types.BasicGuildInformations((uint)guild.Id, guild.Name, (uint)guild.Level))); }
public static void HandleGuildInvitationMessage(GuildInvitationMessage message, WorldClient client) { if (client.Character.GuildMember.HasRight(GuildRightsBitEnum.GUILD_RIGHT_INVITE_NEW_MEMBERS)) { var target = WorldServer.Instance.GetOnlineClient((long)message.targetId); if (target == null) { client.Character.TextInformation(TextInformationTypeEnum.TEXT_INFORMATION_ERROR, 208); } else if (target.Character.HasGuild) { client.Character.TextInformation(TextInformationTypeEnum.TEXT_INFORMATION_ERROR, 206); } else if (target.Character.Busy) { client.Character.TextInformation(TextInformationTypeEnum.TEXT_INFORMATION_ERROR, 209); } else if (!client.Character.Guild.CanAddMember()) { client.Character.TextInformation(TextInformationTypeEnum.TEXT_INFORMATION_ERROR, 55, GuildProvider.MAX_MEMBERS_COUNT); } else { target.Character.OpenRequestBox(new GuildInvitation(client.Character, target.Character)); } } }
public static void HandleGuildInvitationMessage(GuildInvitationMessage message, WorldClient client) { WorldClient target = WorldServer.Instance.GetOnlineClient((int)message.targetId); GuildInvitationDialog dialog = new GuildInvitationDialog(client, target); dialog.Request(); }
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(); }