public static void On_InterClient_GuildMessageUpdate(WorldConnector pConnector, InterPacket pPacket) { int guildID, characterID; DateTime createTime; ushort length; string message; if (!pPacket.TryReadInt(out guildID) || !pPacket.TryReadInt(out characterID) || !pPacket.TryReadDateTime(out createTime) || !pPacket.TryReadUShort(out length) || !pPacket.TryReadString(out message, length)) { return; } Guild guild; if (GetGuildByID(guildID, out guild)) { //update guild guild.Message = message; guild.MessageCreateTime = createTime; guild.MessageCreaterID = characterID; } }
public static void On_WorldClient_AcademyMemberJoined(WorldConnector pConnector, InterPacket pPacket) { int guildID, characterID; DateTime registerDate; if (!pPacket.TryReadInt(out guildID) || !pPacket.TryReadInt(out characterID) || !pPacket.TryReadDateTime(out registerDate)) { return; } Guild guild; if (GuildManager.GetGuildByID(guildID, out guild)) { var member = new GuildAcademyMember(guild.Academy, characterID, GuildAcademyRank.Member, registerDate) { IsOnline = true, }; guild.Academy.Members.Add(member); ZoneCharacter character; if (CharacterManager.GetLoggedInCharacter(characterID, out character)) { member.Character = character; character.Guild = guild; character.GuildAcademy = guild.Academy; character.GuildAcademyMember = member; GuildManager.SetGuildBuff(character); } } }
public static void On_WorldClient_AcademyBuffUpdate(WorldConnector pConnector, InterPacket pPacket) { int guildID; DateTime updateTime; double keepTime; if (!pPacket.TryReadInt(out guildID) || !pPacket.TryReadDateTime(out updateTime) || !pPacket.TryReadDouble(out keepTime)) { //Client.Dispose(); return; } Guild guild; if (GuildManager.GetGuildByID(guildID, out guild)) { guild.Academy.GuildBuffUpdateTime = updateTime; guild.Academy.GuildBuffKeepTime = TimeSpan.FromSeconds(keepTime); } }