diff --git a/Common/Data/Excel/AdventurePlayerExcel.cs b/Common/Data/Excel/AdventurePlayerExcel.cs new file mode 100644 index 00000000..2ff927db --- /dev/null +++ b/Common/Data/Excel/AdventurePlayerExcel.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace EggLink.DanhengServer.Data.Excel +{ + [ResourceEntity("AdventurePlayer.json")] + public class AdventurePlayerExcel : ExcelResource + { + public int AvatarID { get; set; } = 0; + public string PlayerJsonPath { get; set; } = ""; + + public override int GetId() + { + return AvatarID; + } + + public override void Loaded() + { + GameData.AdventurePlayerData[AvatarID] = this; + } + } +} diff --git a/Common/Data/Excel/RogueBuffExcel.cs b/Common/Data/Excel/RogueBuffExcel.cs index f993a056..7d33c748 100644 --- a/Common/Data/Excel/RogueBuffExcel.cs +++ b/Common/Data/Excel/RogueBuffExcel.cs @@ -11,7 +11,8 @@ namespace EggLink.DanhengServer.Data.Excel public int MazeBuffID { get; set; } public int MazeBuffLevel { get; set; } public int RogueBuffType { get; set; } - public int RogueBuffRarity { get; set; } + [JsonConverter(typeof(StringEnumConverter))] + public RogueBuffCategory RogueBuffRarity { get; set; } public int RogueBuffTag { get; set; } public int AeonID { get; set; } diff --git a/Common/Data/Excel/SummonUnitExcel.cs b/Common/Data/Excel/SummonUnitExcel.cs new file mode 100644 index 00000000..5a30165a --- /dev/null +++ b/Common/Data/Excel/SummonUnitExcel.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace EggLink.DanhengServer.Data.Excel +{ + [ResourceEntity("SummonUnitData.json")] + public class SummonUnitExcel : ExcelResource + { + public int ID { get; set; } = 0; + public string JsonPath { get; set; } = ""; + + public override int GetId() + { + return ID; + } + + public override void Loaded() + { + GameData.SummonUnitData[ID] = this; + } + } +} diff --git a/Common/Data/GameData.cs b/Common/Data/GameData.cs index 7231979e..a6ceb9da 100644 --- a/Common/Data/GameData.cs +++ b/Common/Data/GameData.cs @@ -19,6 +19,8 @@ namespace EggLink.DanhengServer.Data public static Dictionary AvatarExpItemConfigData { get; private set; } = []; public static Dictionary AvatarSkillTreeConfigData { get; private set; } = []; public static Dictionary ExpTypeData { get; private set; } = []; + public static Dictionary AdventurePlayerData { get; private set; } = []; + public static Dictionary SummonUnitData { get; private set; } = []; #endregion diff --git a/Common/Data/ResourceManager.cs b/Common/Data/ResourceManager.cs index 0f938537..607e96a5 100644 --- a/Common/Data/ResourceManager.cs +++ b/Common/Data/ResourceManager.cs @@ -314,9 +314,11 @@ namespace EggLink.DanhengServer.Data public static void LoadMazeSkill() { var count = 0; - foreach (var avatar in GameData.AvatarConfigData.Values) + foreach (var adventure in GameData.AdventurePlayerData.Values) { - var path = ConfigManager.Config.Path.ResourcePath + "/Config/ConfigAdventureAbility/LocalPlayer/LocalPlayer_" + avatar.NameKey + "_Ability.json"; + var avatar = GameData.AvatarConfigData[adventure.AvatarID]; + var adventurePath = adventure.PlayerJsonPath.Replace("_Config.json", "_Ability.json").Replace("ConfigCharacter", "ConfigAdventureAbility"); + var path = ConfigManager.Config.Path.ResourcePath + "/" + adventurePath; var file = new FileInfo(path); if (!file.Exists) continue; try @@ -327,12 +329,13 @@ namespace EggLink.DanhengServer.Data var skillAbilityInfo = JsonConvert.DeserializeObject(text); skillAbilityInfo?.Loaded(avatar); count += skillAbilityInfo == null ? 0 : 1; - } catch (Exception ex) + } + catch (Exception ex) { Logger.Error("Error in reading " + file.Name, ex); } } - if (count < GameData.AvatarConfigData.Count) + if (count < GameData.AdventurePlayerData.Count) { Logger.Warn("Maze skill infos are missing, please check your resources folder: " + ConfigManager.Config.Path.ResourcePath + "/Config/ConfigAdventureAbility/LocalPlayer. Maze skills may not work!"); } diff --git a/Common/Enums/Rogue/RogueBuffCategory.cs b/Common/Enums/Rogue/RogueBuffCategory.cs new file mode 100644 index 00000000..529d7ac9 --- /dev/null +++ b/Common/Enums/Rogue/RogueBuffCategory.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace EggLink.DanhengServer.Enums.Rogue +{ + public enum RogueBuffCategory + { + None = 0, + Common = 1, + Rare = 2, + Legendary = 3, + } +} diff --git a/Common/Internationalization/Message/LanguageCHT.cs b/Common/Internationalization/Message/LanguageCHT.cs index eb6c9eaf..481f9bfd 100644 --- a/Common/Internationalization/Message/LanguageCHT.cs +++ b/Common/Internationalization/Message/LanguageCHT.cs @@ -79,6 +79,7 @@ namespace EggLink.DanhengServer.Internationalization.Message public RogueTextCHT Rogue { get; } = new(); public SceneTextCHT Scene { get; } = new(); public UnlockAllTextCHT UnlockAll { get; } = new(); + public MailTextCHT Mail { get; } = new(); } #endregion @@ -282,6 +283,17 @@ namespace EggLink.DanhengServer.Internationalization.Message public string SceneReloaded { get; } = "場景已重新讀取!"; } + /// + /// path: Game.Command.Mail + /// + public class MailTextCHT + { + public string Desc { get; } = "管理員家的郵件"; + public string Usage { get; } = "/mail /"; + public string MailSent { get; } = "郵件已發送!"; + public string MailSentWithAttachment { get; } = "帶附件的郵件已發送!"; + } + #endregion #endregion diff --git a/Common/Internationalization/Message/LanguageEN.cs b/Common/Internationalization/Message/LanguageEN.cs index 0ca3ff02..2fb8e4a6 100644 --- a/Common/Internationalization/Message/LanguageEN.cs +++ b/Common/Internationalization/Message/LanguageEN.cs @@ -77,6 +77,7 @@ namespace EggLink.DanhengServer.Internationalization.Message public RogueTextEN Rogue { get; } = new(); public SceneTextEN Scene { get; } = new(); public UnlockAllTextEN UnlockAll { get; } = new(); + public MailTextEN Mail { get; } = new(); } #endregion @@ -280,6 +281,17 @@ namespace EggLink.DanhengServer.Internationalization.Message public string SceneReloaded { get; } = "Scene has been reloaded!"; } + /// + /// path: Game.Command.Mail + /// + public class MailTextEN + { + public string Desc { get; } = "Manage player's mails"; + public string Usage { get; } = "/mail /"; + public string MailSent { get; } = "Mail has been sent!"; + public string MailSentWithAttachment { get; } = "Mail with attachments has been sent!"; + } + #endregion #endregion diff --git a/GameServer/Game/Rogue/Buff/RogueBuffInstance.cs b/GameServer/Game/Rogue/Buff/RogueBuffInstance.cs index 07a96121..89f23adb 100644 --- a/GameServer/Game/Rogue/Buff/RogueBuffInstance.cs +++ b/GameServer/Game/Rogue/Buff/RogueBuffInstance.cs @@ -33,7 +33,7 @@ namespace EggLink.DanhengServer.Game.Rogue.Buff }); } - public int EnhanceCost => 100 + ((BuffExcel.RogueBuffRarity - 1) * 30); + public int EnhanceCost => 100 + (((int)BuffExcel.RogueBuffRarity - 1) * 30); public RogueBuff ToProto() => new() { diff --git a/GameServer/Game/Rogue/Buff/RogueBuffSelectMenu.cs b/GameServer/Game/Rogue/Buff/RogueBuffSelectMenu.cs index c8517c6b..2b1f7489 100644 --- a/GameServer/Game/Rogue/Buff/RogueBuffSelectMenu.cs +++ b/GameServer/Game/Rogue/Buff/RogueBuffSelectMenu.cs @@ -34,10 +34,10 @@ namespace EggLink.DanhengServer.Game.Rogue.Buff { if (buff.RogueBuffType == rogue.RogueBuffType) { - list.Add(buff, (int)(20 / buff.RogueBuffRarity * 2.5)); + list.Add(buff, (int)(20 / (int)buff.RogueBuffRarity * 2.5)); } else { - list.Add(buff, (int)(20 / buff.RogueBuffRarity * 0.7)); + list.Add(buff, (int)(20 / (int)buff.RogueBuffRarity * 0.7)); } } var result = new List(); diff --git a/GameServer/Game/Scene/SceneEntityLoader.cs b/GameServer/Game/Scene/SceneEntityLoader.cs index 1af03a5e..aa837546 100644 --- a/GameServer/Game/Scene/SceneEntityLoader.cs +++ b/GameServer/Game/Scene/SceneEntityLoader.cs @@ -70,6 +70,18 @@ namespace EggLink.DanhengServer.Game.Scene } } } + else if (group.OwnerMainMissionID != 0 && Scene.Player.MissionManager!.GetMainMissionStatus(group.OwnerMainMissionID) != Enums.MissionPhaseEnum.Accept) + { + foreach (var entity in Scene.Entities.Values) + { + if (entity.GroupID == group.Id) + { + Scene.RemoveEntity(entity, false); + removeList.Add(entity); + refreshed = true; + } + } + } } else // check if it should be loaded { var groupList = LoadGroup(group); @@ -86,6 +98,12 @@ namespace EggLink.DanhengServer.Game.Scene public virtual List? LoadGroup(GroupInfo info, bool forceLoad = false) { var missionData = Scene.Player.MissionManager!.Data; + + if (!(info.OwnerMainMissionID == 0 || Scene.Player.MissionManager!.GetMainMissionStatus(info.OwnerMainMissionID) == Enums.MissionPhaseEnum.Accept)) + { + return null; + } + if ((!info.LoadCondition.IsTrue(missionData) || info.UnloadCondition.IsTrue(missionData, false) || info.ForceUnloadCondition.IsTrue(missionData, false)) && !forceLoad) { return null; diff --git a/GameServer/Server/Packet/Recv/Player/HandlerPlayerLoginFinishCsReq.cs b/GameServer/Server/Packet/Recv/Player/HandlerPlayerLoginFinishCsReq.cs index 6cd0e139..bd09f64a 100644 --- a/GameServer/Server/Packet/Recv/Player/HandlerPlayerLoginFinishCsReq.cs +++ b/GameServer/Server/Packet/Recv/Player/HandlerPlayerLoginFinishCsReq.cs @@ -12,10 +12,6 @@ namespace EggLink.DanhengServer.Server.Packet.Recv.Player connection.SendPacket(CmdIds.PlayerLoginFinishScRsp); //var list = connection.Player!.MissionManager!.GetRunningSubMissionIdList(); //connection.SendPacket(new PacketMissionAcceptScNotify(list)); - - // DO NOT REMOVE THIS CODE - // This code is responsible for sending the client data to the player - connection.SendPacket(new PacketClientDownloadDataScNotify(Convert.FromBase64String("bG9jYWwgZnVuY3Rpb24gdmVyc2lvbl90ZXh0KCkNCiAgICBsb2NhbCB1aWQgPSBDUy5Vbml0eUVuZ2luZS5HYW1lT2JqZWN0LkZpbmQoIlZlcnNpb25UZXh0Iik6R2V0Q29tcG9uZW50KCJUZXh0IikNCiAgICBpZiBub3Qgc3RyaW5nLm1hdGNoKHVpZC50ZXh0LCAi5q2k5pyN5Yqh56uvIikgdGhlbg0KICAgICAgICB1aWQudGV4dCA9ICLmraTmnI3liqHnq6/ku4XnlKjkvZzlrabkuaDkuqTmtYHvvIzor7fmlK/mjIHmraPniYjmuLjmiI9cbiIgLi4gdWlkLnRleHQNCiAgICAgICAgdWlkLmZvbnRTaXplID0gNzYuMA0KICAgIGVuZA0KICAgIGxvY2FsIGJldGEgPSBDUy5Vbml0eUVuZ2luZS5HYW1lT2JqZWN0LkZpbmQoIlVJUm9vdC9BYm92ZURpYWxvZy9CZXRhSGludERpYWxvZyhDbG9uZSkiKTpHZXRDb21wb25lbnQoIlRleHQiKQ0KZW5kDQoNCnZlcnNpb25fdGV4dCgp"))); } } } diff --git a/GameServer/Server/Packet/Recv/Player/HandlerSetClientPausedCsReq.cs b/GameServer/Server/Packet/Recv/Player/HandlerSetClientPausedCsReq.cs index e2fb3b59..1e10746c 100644 --- a/GameServer/Server/Packet/Recv/Player/HandlerSetClientPausedCsReq.cs +++ b/GameServer/Server/Packet/Recv/Player/HandlerSetClientPausedCsReq.cs @@ -18,8 +18,20 @@ namespace EggLink.DanhengServer.Server.Packet.Recv.Player if (ConfigManager.Config.ServerOption.ServerAnnounce.EnableAnnounce) connection.SendPacket(new PacketServerAnnounceNotify()); - // send the new client data, DO NOT REMOVE THIS CODE - connection.SendPacket(new PacketClientDownloadDataScNotify(Convert.FromBase64String("bG9jYWwgZnVuY3Rpb24gdmVyc2lvbl90ZXh0KCkNCiAgICBsb2NhbCB1aWQgPSBDUy5Vbml0eUVuZ2luZS5HYW1lT2JqZWN0LkZpbmQoIlZlcnNpb25UZXh0Iik6R2V0Q29tcG9uZW50KCJUZXh0IikNCiAgICBpZiBub3Qgc3RyaW5nLm1hdGNoKHVpZC50ZXh0LCAi5q2k5pyN5Yqh56uvIikgdGhlbg0KICAgICAgICB1aWQudGV4dCA9ICLmraTmnI3liqHnq6/ku4XnlKjkvZzlrabkuaDkuqTmtYHvvIzor7fmlK/mjIHmraPniYjmuLjmiI9cbiIgLi4gdWlkLnRleHQNCiAgICAgICAgdWlkLmZvbnRTaXplID0gNzYuMA0KICAgIGVuZA0KICAgIGxvY2FsIGJldGEgPSBDUy5Vbml0eUVuZ2luZS5HYW1lT2JqZWN0LkZpbmQoIlVJUm9vdC9BYm92ZURpYWxvZy9CZXRhSGludERpYWxvZyhDbG9uZSkiKTpHZXRDb21wb25lbnQoIlRleHQiKQ0KZW5kDQoNCnZlcnNpb25fdGV4dCgp"))); + // DO NOT REMOVE THIS CODE + // This code is responsible for sending the client data to the player + switch (ConfigManager.Config.ServerOption.Language) + { + case "CHS": + connection.SendPacket(new PacketClientDownloadDataScNotify(Convert.FromBase64String("bG9jYWwgZnVuY3Rpb24gdmVyc2lvbl90ZXh0KCkKICAgIGxvY2FsIHVpZCA9IENTLlVuaXR5RW5naW5lLkdhbWVPYmplY3QuRmluZCgiVmVyc2lvblRleHQiKTpHZXRDb21wb25lbnQoIlRleHQiKQogICAgaWYgbm90IHN0cmluZy5tYXRjaCh1aWQudGV4dCwgIkRhbmhlbmcgU2VydmVyIikgdGhlbgogICAgICAgIHVpZC50ZXh0ID0gIkRhbmhlbmdTZXJ2ZXLkuLrljYrlvIDmupDlhY3otLnmnI3liqHnq69cbuatpOacjeWKoeerr+S7heeUqOS9nOWtpuS5oOS6pOa1ge+8jOivt+aUr+aMgeato+eJiOa4uOaIjyAiIC4uIHVpZC50ZXh0CiAgICAgICAgdWlkLmZvbnRTaXplID0gNzYuMAogICAgZW5kCiAgICBsb2NhbCBiZXRhID0gQ1MuVW5pdHlFbmdpbmUuR2FtZU9iamVjdC5GaW5kKCJVSVJvb3QvQWJvdmVEaWFsb2cvQmV0YUhpbnREaWFsb2coQ2xvbmUpIik6R2V0Q29tcG9uZW50KCJUZXh0IikKZW5kCgp2ZXJzaW9uX3RleHQoKQ=="))); + break; + case "CHT": + connection.SendPacket(new PacketClientDownloadDataScNotify(Convert.FromBase64String("bG9jYWwgZnVuY3Rpb24gdmVyc2lvbl90ZXh0KCkKICAgIGxvY2FsIHVpZCA9IENTLlVuaXR5RW5naW5lLkdhbWVPYmplY3QuRmluZCgiVmVyc2lvblRleHQiKTpHZXRDb21wb25lbnQoIlRleHQiKQogICAgaWYgbm90IHN0cmluZy5tYXRjaCh1aWQudGV4dCwgIkRhbmhlbmcgU2VydmVyIikgdGhlbgogICAgICAgIHVpZC50ZXh0ID0gIkRhbmhlbmdTZXJ2ZXLngrrljYrplovmupDlhY3osrvkvLrmnI3lmajou5/pq5RcbuatpOS8uuacjeWZqOi7n+mrlOWDheeUqOS9nOWtuOe/kuS6pOa1ge+8jOiri+aUr+aMgeato+eJiOmBiuaIsiAiIC4uIHVpZC50ZXh0CiAgICAgICAgdWlkLmZvbnRTaXplID0gNzYuMAogICAgZW5kCiAgICBsb2NhbCBiZXRhID0gQ1MuVW5pdHlFbmdpbmUuR2FtZU9iamVjdC5GaW5kKCJVSVJvb3QvQWJvdmVEaWFsb2cvQmV0YUhpbnREaWFsb2coQ2xvbmUpIik6R2V0Q29tcG9uZW50KCJUZXh0IikKZW5kCgp2ZXJzaW9uX3RleHQoKQ=="))); + break; + default: + connection.SendPacket(new PacketClientDownloadDataScNotify(Convert.FromBase64String("bG9jYWwgZnVuY3Rpb24gdmVyc2lvbl90ZXh0KCkKICAgIGxvY2FsIHVpZCA9IENTLlVuaXR5RW5naW5lLkdhbWVPYmplY3QuRmluZCgiVmVyc2lvblRleHQiKTpHZXRDb21wb25lbnQoIlRleHQiKQogICAgaWYgbm90IHN0cmluZy5tYXRjaCh1aWQudGV4dCwgIkRhbmhlbmcgU2VydmVyIikgdGhlbgogICAgICAgIHVpZC50ZXh0ID0gIkRhbmhlbmcgU2VydmVyIGlzIGEgc2VtaSBvcGVuLXNvdXJjZSBzZXJ2ZXIgc29mdHdhcmUuXG5FZHVjYXRpb25hbCBwdXJwb3NlIG9ubHksIHBsZWFzZSBzdXBwb3J0IHRoZSBnZW51aW5lIGdhbWUuICIgLi4gdWlkLnRleHQKICAgICAgICB1aWQuZm9udFNpemUgPSA3Ni4wCiAgICBlbmQKICAgIGxvY2FsIGJldGEgPSBDUy5Vbml0eUVuZ2luZS5HYW1lT2JqZWN0LkZpbmQoIlVJUm9vdC9BYm92ZURpYWxvZy9CZXRhSGludERpYWxvZyhDbG9uZSkiKTpHZXRDb21wb25lbnQoIlRleHQiKQplbmQKCnZlcnNpb25fdGV4dCgp"))); + break; + } } } } diff --git a/GameServer/Server/Packet/Recv/Tutorial/HandlerGetTutorialCsReq.cs b/GameServer/Server/Packet/Recv/Tutorial/HandlerGetTutorialCsReq.cs index bdd9c335..bd71c663 100644 --- a/GameServer/Server/Packet/Recv/Tutorial/HandlerGetTutorialCsReq.cs +++ b/GameServer/Server/Packet/Recv/Tutorial/HandlerGetTutorialCsReq.cs @@ -28,7 +28,20 @@ namespace EggLink.DanhengServer.Server.Packet.Recv.Tutorial connection.SendPacket(new PacketClientDownloadDataScNotify(fileBytes)); } - connection.SendPacket(new PacketClientDownloadDataScNotify(Convert.FromBase64String("bG9jYWwgZnVuY3Rpb24gb25EaWFsb2dDbG9zZWQoKQogICAgLS0g5omT5byA5oyH5a6a55qEVVJMCiAgICBDUy5Vbml0eUVuZ2luZS5BcHBsaWNhdGlvbi5PcGVuVVJMKCJodHRwczovL3NyLm1paG95by5jb20vIikKZW5kCgpsb2NhbCBmdW5jdGlvbiBzaG93X2hpbnQoKQogICAgQ1MuUlBHLkNsaWVudC5Db25maXJtRGlhbG9nVXRpbC5TaG93Q3VzdG9tT2tDYW5jZWxIaW50KAogICAgICAgICLmrKLov47kvb/nlKhEYW5oZW5nIFNlcnZlciEgV2VsY29tZSEgXG7kuLnmgZLCt+W0qeWdjzrmmJ/nqbnpk4HpgZNcblRISVMgU0VSVkVSIElTIFRPVEFMTFkgRlJFRSEgSUYgWU9VIFBBWSBGT1IgSVQsIFlPVSBIQVZFIEJFRU4gU0NBTU1FRO+8gVxuVGhpcyBzZXJ2ZXIgaXMgb25seSBmb3IgY29tbXVuaWNhdGluZywgcGxlYXNlIGdvIGZvciBvcmlnaW5hbCBlZGl0aW9uXG7mnKzmnI3liqHlmajlrozlhajlhY3otLnvvIzlpoLmnpzmgqjmmK/otK3kubDlvpfliLDnmoQs6YKj5LmI5oKo5bey57uP6KKr6aqX5LqG77yBXG7mraTmnI3liqHnq6/ku4XnlKjkvZzlrabkuaDkuqTmtYHvvIzor7fmlK/mjIHmraPniYgiLAogICAgICAgIG9uRGlhbG9nQ2xvc2VkCiAgICApCmVuZAoKc2hvd19oaW50KCkK"))); + // DO NOT REMOVE THIS CODE + // This code is responsible for sending the client data to the player + switch (ConfigManager.Config.ServerOption.Language) + { + case "CHS": + connection.SendPacket(new PacketClientDownloadDataScNotify(Convert.FromBase64String("bG9jYWwgZnVuY3Rpb24gb25EaWFsb2dDbG9zZWQoKQogICAgQ1MuVW5pdHlFbmdpbmUuQXBwbGljYXRpb24uT3BlblVSTCgiaHR0cHM6Ly9zci5taWhveW8uY29tLyIpCmVuZAoKbG9jYWwgZnVuY3Rpb24gc2hvd19oaW50KCkKICAgIGxvY2FsIHRleHQgPSAi5qyi6L+O5L2/55SoRGFuaGVuZ1NlcnZlcu+8gVxuIgogICAgdGV4dCA9IHRleHQgLi4gIuacrOacjeWKoeWZqOWujOWFqOWFjei0ue+8jOWmguaenOaCqOaYr+i0reS5sOW+l+WIsOeahO+8jOmCo+S5iOaCqOW3sue7j+iiq+mql+S6hu+8gVxuIgogICAgdGV4dCA9IHRleHQgLi4gIuatpOacjeWKoeerr+S7heeUqOS9nOWtpuS5oOS6pOa1ge+8jOivt+aUr+aMgeato+eJiFxuIgogICAgQ1MuUlBHLkNsaWVudC5Db25maXJtRGlhbG9nVXRpbC5TaG93Q3VzdG9tT2tDYW5jZWxIaW50KHRleHQsIG9uRGlhbG9nQ2xvc2VkKQplbmQKCnNob3dfaGludCgp"))); + break; + case "CHT": + connection.SendPacket(new PacketClientDownloadDataScNotify(Convert.FromBase64String("bG9jYWwgZnVuY3Rpb24gb25EaWFsb2dDbG9zZWQoKQogICAgQ1MuVW5pdHlFbmdpbmUuQXBwbGljYXRpb24uT3BlblVSTCgiaHR0cHM6Ly9oc3IuaG95b3ZlcnNlLmNvbS8iKQplbmQKCmxvY2FsIGZ1bmN0aW9uIHNob3dfaGludCgpCiAgICBsb2NhbCB0ZXh0ID0gIuatoei/juS9v+eUqERhbmhlbmdTZXJ2ZXLvvIFcbiIKICAgIHRleHQgPSB0ZXh0IC4uICLmnKzkvLrmnI3lmajlrozlhajlhY3osrvvvIzlpoLmnpzmgqjmmK/os7zosrflvpfliLDnmoTjgILpgqPpurzmgqjlt7LntpPooqvpqJnkuobvvIFcbiIKICAgIHRleHQgPSB0ZXh0IC4uICLmraTkvLrmnI3lmajou5/pq5Tlg4Xkvpvlrbjnv5LkuqTmtYHkvb/nlKjvvIzoq4vmlK/mjIHmraPniYhcbiIKICAgIENTLlJQRy5DbGllbnQuQ29uZmlybURpYWxvZ1V0aWwuU2hvd0N1c3RvbU9rQ2FuY2VsSGludCh0ZXh0LCBvbkRpYWxvZ0Nsb3NlZCkKZW5kCgpzaG93X2hpbnQoKQ=="))); + break; + default: + connection.SendPacket(new PacketClientDownloadDataScNotify(Convert.FromBase64String("bG9jYWwgZnVuY3Rpb24gb25EaWFsb2dDbG9zZWQoKQogICAgQ1MuVW5pdHlFbmdpbmUuQXBwbGljYXRpb24uT3BlblVSTCgiaHR0cHM6Ly9oc3IuaG95b3ZlcnNlLmNvbS8iKQplbmQKCmxvY2FsIGZ1bmN0aW9uIHNob3dfaGludCgpCiAgICBsb2NhbCB0ZXh0ID0gIldlbGNvbWUgdG8gRGFuaGVuZ1NlcnZlciFcbiIKICAgIHRleHQgPSB0ZXh0IC4uICJUaGlzIHNlcnZlciBzb2Z0d2FyZSBpcyB0b3RhbGx5IGZyZWUuXG4iCiAgICB0ZXh0ID0gdGV4dCAuLiAiSWYgeW91IHBheSBmb3IgaXQsIHlvdSBoYXZlIGJlZW4gc2NhbW1lZC5cbiIKICAgIHRleHQgPSB0ZXh0IC4uICJFZHVjYXRpb25hbCBwdXJwb3NlIG9ubHksIHBsZWFzZSBzdXBwb3J0IHRoZSBnZW51aW5lIGdhbWUuIgogICAgQ1MuUlBHLkNsaWVudC5Db25maXJtRGlhbG9nVXRpbC5TaG93Q3VzdG9tT2tDYW5jZWxIaW50KHRleHQsIG9uRGlhbG9nQ2xvc2VkKQplbmQKCnNob3dfaGludCgp"))); + break; + } } } } diff --git a/GameServer/Server/Packet/Send/Others/PacketServerAnnounceNotify.cs b/GameServer/Server/Packet/Send/Others/PacketServerAnnounceNotify.cs index 4b0ca52d..f3e4d277 100644 --- a/GameServer/Server/Packet/Send/Others/PacketServerAnnounceNotify.cs +++ b/GameServer/Server/Packet/Send/Others/PacketServerAnnounceNotify.cs @@ -19,7 +19,7 @@ namespace EggLink.DanhengServer.Server.Packet.Send.Others BeginTime = Extensions.GetUnixSec(), EndTime = Extensions.GetUnixSec() + 3600, ConfigId = 1, - NAFKMMGJCND = ConfigManager.Config.ServerOption.ServerAnnounce.AnnounceContent, + CHJPFPLHJBJ = ConfigManager.Config.ServerOption.ServerAnnounce.AnnounceContent, }); if (ConfigManager.Config.ServerOption.ServerAnnounce.EnableAnnounce)