From 5ca22c57c6bf2b24649a64a65f078d44c3a2ffa3 Mon Sep 17 00:00:00 2001 From: cxfm666 <61831881+cxfm666@users.noreply.github.com> Date: Sun, 27 Oct 2024 17:03:27 +0800 Subject: [PATCH 1/3] 2.6 VideoKeys --- Command/Command/Cmd/CommandReload.cs | 10 + Common/Data/Custom/VideoKeysConfig.cs | 21 + Common/Data/GameData.cs | 6 + Common/Data/ResourceManager.cs | 5 + .../Message/LanguageCHS.cs | 1 + .../Message/LanguageCHT.cs | 1 + .../Message/LanguageEN.cs | 1 + Config/VideoKeysConfig.json | 738 ++++++++++++++++++ .../Player/PacketGetVideoVersionKeyScRsp.cs | 42 +- 9 files changed, 816 insertions(+), 9 deletions(-) create mode 100644 Common/Data/Custom/VideoKeysConfig.cs create mode 100644 Config/VideoKeysConfig.json diff --git a/Command/Command/Cmd/CommandReload.cs b/Command/Command/Cmd/CommandReload.cs index 04dee26e..751eabf1 100644 --- a/Command/Command/Cmd/CommandReload.cs +++ b/Command/Command/Cmd/CommandReload.cs @@ -26,4 +26,14 @@ public class CommandReload : ICommand await arg.SendMsg(I18NManager.Translate("Game.Command.Reload.ConfigReloaded", I18NManager.Translate("Word.Activity"))); } + + [CommandMethod("0 videokey")] + public async ValueTask ReloadVideoKey(CommandArg arg) + { + // Reload the videokeys + GameData.VideoKeysConfig = ResourceManager.LoadCustomFile("VideoKeys", "VideoKeysConfig") ?? + new VideoKeysConfig(); + await arg.SendMsg(I18NManager.Translate("Game.Command.Reload.ConfigReloaded", + I18NManager.Translate("Word.VideoKeys"))); + } } \ No newline at end of file diff --git a/Common/Data/Custom/VideoKeysConfig.cs b/Common/Data/Custom/VideoKeysConfig.cs new file mode 100644 index 00000000..c4b2b6b6 --- /dev/null +++ b/Common/Data/Custom/VideoKeysConfig.cs @@ -0,0 +1,21 @@ +namespace EggLink.DanhengServer.Data.Custom +{ + public class VideoKeysConfig + { + public List ActivityVideoKeyData { get; set; } = new(); + public List VideoKeyInfoData { get; set; } = new(); + public int TotalCount => ActivityVideoKeyData.Count + VideoKeyInfoData.Count; + } + + public class ActivityVideoKeyInfoList + { + public int Id { get; set; } + public ulong VideoKey { get; set; } + } + + public class VideoKeyInfoList + { + public int Id { get; set; } + public ulong VideoKey { get; set; } + } +} diff --git a/Common/Data/GameData.cs b/Common/Data/GameData.cs index 890e55f9..0b73fc0a 100644 --- a/Common/Data/GameData.cs +++ b/Common/Data/GameData.cs @@ -21,6 +21,12 @@ public static class GameData #endregion + #region VideoKeys + + public static VideoKeysConfig VideoKeysConfig { get; set; } = new(); + + #endregion + #region Avatar public static Dictionary AvatarConfigData { get; private set; } = []; diff --git a/Common/Data/ResourceManager.cs b/Common/Data/ResourceManager.cs index d04f147b..e62bd7dc 100644 --- a/Common/Data/ResourceManager.cs +++ b/Common/Data/ResourceManager.cs @@ -39,6 +39,7 @@ public class ResourceManager var t8 = Task.Run(LoadAdventureModifier); GameData.ActivityConfig = LoadCustomFile("Activity", "ActivityConfig") ?? new ActivityConfig(); GameData.BannersConfig = LoadCustomFile("Banner", "Banners") ?? new BannersConfig(); + GameData.VideoKeysConfig = LoadCustomFile("VideoKeys", "VideoKeysConfig") ?? new VideoKeysConfig(); GameData.RogueMapGenData = LoadCustomFile>>("Rogue Map", "RogueMapGen") ?? []; GameData.RogueMiracleGroupData = LoadCustomFile>>("Rogue Miracle Group", "RogueMiracleGroup") ?? []; @@ -356,6 +357,10 @@ public class ResourceManager Logger.Info(I18NManager.Translate("Server.ServerInfo.LoadedItems", a.ScheduleData.Count.ToString(), filetype)); break; + case VideoKeysConfig a: + Logger.Info(I18NManager.Translate("Server.ServerInfo.LoadedItems", a.TotalCount.ToString(), + filetype)); + break; default: Logger.Info(I18NManager.Translate("Server.ServerInfo.LoadedItem", filetype)); break; diff --git a/Common/Internationalization/Message/LanguageCHS.cs b/Common/Internationalization/Message/LanguageCHS.cs index dd7e3c81..41f4c78e 100644 --- a/Common/Internationalization/Message/LanguageCHS.cs +++ b/Common/Internationalization/Message/LanguageCHS.cs @@ -43,6 +43,7 @@ public class WordTextCHS public string Equipment => "光锥"; public string Talent => "行迹"; public string Banner => "卡池"; + public string VideoKeys => "游戏CG密钥"; public string Activity => "活动"; public string Buff => "祝福"; public string Miracle => "奇物"; diff --git a/Common/Internationalization/Message/LanguageCHT.cs b/Common/Internationalization/Message/LanguageCHT.cs index 411fa7fb..edc02507 100644 --- a/Common/Internationalization/Message/LanguageCHT.cs +++ b/Common/Internationalization/Message/LanguageCHT.cs @@ -43,6 +43,7 @@ public class WordTextCHT public string Equipment => "光錐"; public string Talent => "行跡"; public string Banner => "卡池"; + public string VideoKeys => "游戲CGKey"; public string Activity => "活動"; public string Buff => "祝福"; public string Miracle => "奇物"; diff --git a/Common/Internationalization/Message/LanguageEN.cs b/Common/Internationalization/Message/LanguageEN.cs index f8933db5..74afaa9a 100644 --- a/Common/Internationalization/Message/LanguageEN.cs +++ b/Common/Internationalization/Message/LanguageEN.cs @@ -43,6 +43,7 @@ public class WordTextEN public string Equipment => "Light Cone"; public string Talent => "Talent"; public string Banner => "Gacha"; + public string VideoKeys => "CG Keys"; public string Activity => "Activity"; public string Buff => "Blessing"; public string Miracle => "Curio"; diff --git a/Config/VideoKeysConfig.json b/Config/VideoKeysConfig.json new file mode 100644 index 00000000..d9209625 --- /dev/null +++ b/Config/VideoKeysConfig.json @@ -0,0 +1,738 @@ +{ + "ActivityVideoKeyData": [ + { + "Id": 1485, + "VideoKey": "264412104274311318" + }, + { + "Id": 1484, + "VideoKey": "261085966115469253" + }, + { + "Id": 1483, + "VideoKey": "267550506031217842" + }, + { + "Id": 1482, + "VideoKey": "264696579748615384" + }, + { + "Id": 1481, + "VideoKey": "267744943084113959" + }, + { + "Id": 1480, + "VideoKey": "259999093613072592" + }, + { + "Id": 1479, + "VideoKey": "254156979380702208" + }, + { + "Id": 1478, + "VideoKey": "251056684533804289" + }, + { + "Id": 1477, + "VideoKey": "251795259046191915" + }, + { + "Id": 1476, + "VideoKey": "253055184703177522" + }, + { + "Id": 1475, + "VideoKey": "257073360970062731" + }, + { + "Id": 1474, + "VideoKey": "257896635701426771" + }, + { + "Id": 1473, + "VideoKey": "252304264055939422" + }, + { + "Id": 1472, + "VideoKey": "259558565094444503" + }, + { + "Id": 1471, + "VideoKey": "253267451480726566" + }, + { + "Id": 1470, + "VideoKey": "253094718299997886" + }, + { + "Id": 1469, + "VideoKey": "241776966068444439" + }, + { + "Id": 1468, + "VideoKey": "243439557040221346" + }, + { + "Id": 1467, + "VideoKey": "243894077401789163" + }, + { + "Id": 1466, + "VideoKey": "249185002378037195" + }, + { + "Id": 1465, + "VideoKey": "246802633937521565" + }, + { + "Id": 1464, + "VideoKey": "245212306895602657" + } + ], + "VideoKeyInfoData": [ + { + "Id": 3570, + "VideoKey": "264153642482317306" + }, + { + "Id": 3560, + "VideoKey": "262665644474244560" + }, + { + "Id": 3550, + "VideoKey": "269791250249600384" + }, + { + "Id": 3540, + "VideoKey": "266599830853406089" + }, + { + "Id": 3530, + "VideoKey": "269475336485462482" + }, + { + "Id": 3520, + "VideoKey": "267380966030962379" + }, + { + "Id": 3510, + "VideoKey": "264352793108070598" + }, + { + "Id": 3480, + "VideoKey": "266352354960018071" + }, + { + "Id": 3470, + "VideoKey": "269486154340903260" + }, + { + "Id": 3460, + "VideoKey": "267041973466662002" + }, + { + "Id": 2970, + "VideoKey": "259597813480471308" + }, + { + "Id": 2960, + "VideoKey": "252114512356868720" + }, + { + "Id": 2950, + "VideoKey": "253309400420909826" + }, + { + "Id": 2940, + "VideoKey": "252671363790657049" + }, + { + "Id": 2930, + "VideoKey": "257397358999252536" + }, + { + "Id": 2920, + "VideoKey": "257824248136347445" + }, + { + "Id": 2910, + "VideoKey": "258755463749654500" + }, + { + "Id": 2890, + "VideoKey": "251909292385710492" + }, + { + "Id": 2880, + "VideoKey": "251607892526440386" + }, + { + "Id": 2870, + "VideoKey": "255899690483110929" + }, + { + "Id": 2860, + "VideoKey": "253420882778576386" + }, + { + "Id": 2850, + "VideoKey": "256290756204341238" + }, + { + "Id": 2840, + "VideoKey": "248349990472928548" + }, + { + "Id": 2820, + "VideoKey": "246723139208540813" + }, + { + "Id": 2810, + "VideoKey": "247261081504312595" + }, + { + "Id": 2800, + "VideoKey": "248938008875768462" + }, + { + "Id": 2780, + "VideoKey": "244439622922577829" + }, + { + "Id": 2770, + "VideoKey": "246051323254195028" + }, + { + "Id": 3450, + "VideoKey": "237689986129106790" + }, + { + "Id": 3440, + "VideoKey": "231040457830830785" + }, + { + "Id": 3430, + "VideoKey": "232260122024246980" + }, + { + "Id": 3423, + "VideoKey": "8457148526473258" + }, + { + "Id": 3422, + "VideoKey": "5468123285486451" + }, + { + "Id": 3421, + "VideoKey": "5462123842135478" + }, + { + "Id": 3420, + "VideoKey": "228177996495904555" + }, + { + "Id": 3400, + "VideoKey": "226145011383676756" + }, + { + "Id": 3380, + "VideoKey": "226339597272160909" + }, + { + "Id": 3370, + "VideoKey": "228876296055950321" + }, + { + "Id": 3360, + "VideoKey": "222027364234029918" + }, + { + "Id": 3350, + "VideoKey": "223724045306752686" + }, + { + "Id": 3340, + "VideoKey": "221820607074529598" + }, + { + "Id": 3330, + "VideoKey": "222765989463606432" + }, + { + "Id": 3320, + "VideoKey": "221612330630189081" + }, + { + "Id": 3300, + "VideoKey": "226379362923231903" + }, + { + "Id": 3296, + "VideoKey": "226016975882573124" + }, + { + "Id": 3293, + "VideoKey": "223781654220355157" + }, + { + "Id": 3292, + "VideoKey": "225690413994247882" + }, + { + "Id": 3490, + "VideoKey": "267431966711753967" + }, + { + "Id": 3291, + "VideoKey": "221111467705011077" + }, + { + "Id": 3290, + "VideoKey": "223730966657489665" + }, + { + "Id": 3280, + "VideoKey": "2561596943881963" + }, + { + "Id": 3270, + "VideoKey": "8879370645472013" + }, + { + "Id": 3260, + "VideoKey": "2097603869107987" + }, + { + "Id": 3250, + "VideoKey": "6314041275143045" + }, + { + "Id": 2440, + "VideoKey": "90220927" + }, + { + "Id": 2420, + "VideoKey": "90220927" + }, + { + "Id": 1222, + "VideoKey": "14220714" + }, + { + "Id": 2580, + "VideoKey": "12230627" + }, + { + "Id": 3410, + "VideoKey": "226629515328462310" + }, + { + "Id": 1221, + "VideoKey": "14220714" + }, + { + "Id": 3140, + "VideoKey": "20231023" + }, + { + "Id": 3180, + "VideoKey": "20231025" + }, + { + "Id": 1190, + "VideoKey": "14220714" + }, + { + "Id": 3130, + "VideoKey": "20230828" + }, + { + "Id": 3160, + "VideoKey": "20230828" + }, + { + "Id": 1170, + "VideoKey": "14220714" + }, + { + "Id": 3110, + "VideoKey": "20230828" + }, + { + "Id": 320, + "VideoKey": "11230119" + }, + { + "Id": 1240, + "VideoKey": "14220714" + }, + { + "Id": 3230, + "VideoKey": "1603427538481255" + }, + { + "Id": 420, + "VideoKey": "16231009" + }, + { + "Id": 3294, + "VideoKey": "226143830717446289" + }, + { + "Id": 1304, + "VideoKey": "13230706" + }, + { + "Id": 3050, + "VideoKey": "20230828" + }, + { + "Id": 411, + "VideoKey": "16231009" + }, + { + "Id": 3030, + "VideoKey": "15230830" + }, + { + "Id": 410, + "VideoKey": "16231009" + }, + { + "Id": 390, + "VideoKey": "16231009" + }, + { + "Id": 400, + "VideoKey": "16231009" + }, + { + "Id": 2, + "VideoKey": "60220919" + }, + { + "Id": 2450, + "VideoKey": "90220919" + }, + { + "Id": 100, + "VideoKey": "12230601" + }, + { + "Id": 3, + "VideoKey": "62220927" + }, + { + "Id": 3010, + "VideoKey": "15230830" + }, + { + "Id": 3500, + "VideoKey": "266644851455229016" + }, + { + "Id": 3301, + "VideoKey": "20231030" + }, + { + "Id": 101, + "VideoKey": "12230601" + }, + { + "Id": 2790, + "VideoKey": "246545439617325153" + }, + { + "Id": 999, + "VideoKey": "258905768579283538" + }, + { + "Id": 4, + "VideoKey": "62220927" + }, + { + "Id": 2720, + "VideoKey": "15230830" + }, + { + "Id": 3302, + "VideoKey": "20231030" + }, + { + "Id": 1224, + "VideoKey": "14220714" + }, + { + "Id": 370, + "VideoKey": "16231009" + }, + { + "Id": 1223, + "VideoKey": "14220714" + }, + { + "Id": 350, + "VideoKey": "16231009" + }, + { + "Id": 330, + "VideoKey": "16231009" + }, + { + "Id": 3240, + "VideoKey": "5468538194758078" + }, + { + "Id": 1, + "VideoKey": "60220919" + }, + { + "Id": 2620, + "VideoKey": "13230602" + }, + { + "Id": 2690, + "VideoKey": "152627772856900393" + }, + { + "Id": 302, + "VideoKey": "16230928" + }, + { + "Id": 2630, + "VideoKey": "13230615" + }, + { + "Id": 3120, + "VideoKey": "20230828" + }, + { + "Id": 3150, + "VideoKey": "20230828" + }, + { + "Id": 1160, + "VideoKey": "71220919" + }, + { + "Id": 3100, + "VideoKey": "20231023" + }, + { + "Id": 5, + "VideoKey": "62220927" + }, + { + "Id": 21, + "VideoKey": "70220927" + }, + { + "Id": 2640, + "VideoKey": "14220714" + }, + { + "Id": 1180, + "VideoKey": "14220714" + }, + { + "Id": 3170, + "VideoKey": "20230828" + }, + { + "Id": 8, + "VideoKey": "70220919" + }, + { + "Id": 2530, + "VideoKey": "11230119" + }, + { + "Id": 3295, + "VideoKey": "228245290738848433" + }, + { + "Id": 310, + "VideoKey": "71220927" + }, + { + "Id": 1230, + "VideoKey": "14220714" + }, + { + "Id": 3220, + "VideoKey": "7306477623361936" + }, + { + "Id": 340, + "VideoKey": "16231009" + }, + { + "Id": 360, + "VideoKey": "16231009" + }, + { + "Id": 380, + "VideoKey": "16231009" + }, + { + "Id": 2460, + "VideoKey": "90220927" + }, + { + "Id": 2480, + "VideoKey": "90220927" + }, + { + "Id": 301, + "VideoKey": "16230928" + }, + { + "Id": 102, + "VideoKey": "12230601" + }, + { + "Id": 2490, + "VideoKey": "90220927" + }, + { + "Id": 361, + "VideoKey": "16231009" + }, + { + "Id": 2550, + "VideoKey": "12230627" + }, + { + "Id": 2560, + "VideoKey": "12230525" + }, + { + "Id": 2570, + "VideoKey": "12230525" + }, + { + "Id": 2660, + "VideoKey": "156397899772859046" + }, + { + "Id": 2670, + "VideoKey": "15230830" + }, + { + "Id": 2680, + "VideoKey": "15230830" + }, + { + "Id": 3297, + "VideoKey": "226176734478057044" + }, + { + "Id": 2302, + "VideoKey": "13230706" + }, + { + "Id": 2700, + "VideoKey": "152111961889945746" + }, + { + "Id": 2900, + "VideoKey": "259780740592560284" + }, + { + "Id": 2303, + "VideoKey": "248355998312614299" + }, + { + "Id": 3298, + "VideoKey": "224840882074509280" + }, + { + "Id": 2701, + "VideoKey": "154116505903655817" + }, + { + "Id": 2710, + "VideoKey": "15230830" + }, + { + "Id": 2730, + "VideoKey": "13230602" + }, + { + "Id": 2740, + "VideoKey": "13230602" + }, + { + "Id": 2750, + "VideoKey": "13230602" + }, + { + "Id": 2760, + "VideoKey": "13230602" + }, + { + "Id": 3020, + "VideoKey": "153981252653192903" + }, + { + "Id": 3040, + "VideoKey": "20230828" + }, + { + "Id": 3060, + "VideoKey": "20231023" + }, + { + "Id": 3070, + "VideoKey": "20230828" + }, + { + "Id": 3080, + "VideoKey": "20230828" + }, + { + "Id": 3090, + "VideoKey": "20230828" + }, + { + "Id": 1200, + "VideoKey": "14220714" + }, + { + "Id": 3190, + "VideoKey": "6934685122749340" + }, + { + "Id": 3390, + "VideoKey": "221521859429205755" + }, + { + "Id": 7, + "VideoKey": "62220927" + }, + { + "Id": 3191, + "VideoKey": "9082263766138238" + }, + { + "Id": 1210, + "VideoKey": "14220714" + }, + { + "Id": 16, + "VideoKey": "70220919" + }, + { + "Id": 3200, + "VideoKey": "9030866044638228" + }, + { + "Id": 1220, + "VideoKey": "14220714" + }, + { + "Id": 3210, + "VideoKey": "6363892035972617" + } + ] + } \ No newline at end of file diff --git a/GameServer/Server/Packet/Send/Player/PacketGetVideoVersionKeyScRsp.cs b/GameServer/Server/Packet/Send/Player/PacketGetVideoVersionKeyScRsp.cs index f9b36b88..9aa2cf7b 100644 --- a/GameServer/Server/Packet/Send/Player/PacketGetVideoVersionKeyScRsp.cs +++ b/GameServer/Server/Packet/Send/Player/PacketGetVideoVersionKeyScRsp.cs @@ -1,13 +1,37 @@ -using EggLink.DanhengServer.Kcp; +using EggLink.DanhengServer.Data; +using EggLink.DanhengServer.Data.Custom; +using EggLink.DanhengServer.Kcp; +using EggLink.DanhengServer.Proto; +using System.Numerics; +using System.Linq; -namespace EggLink.DanhengServer.GameServer.Server.Packet.Send.Player; - -public class PacketGetVideoVersionKeyScRsp : BasePacket +namespace EggLink.DanhengServer.GameServer.Server.Packet.Send.Player { - public PacketGetVideoVersionKeyScRsp() : base(CmdIds.GetVideoVersionKeyScRsp) + public class PacketGetVideoVersionKeyScRsp : BasePacket { - // FIND A BETTER WAY - SetData(Convert.FromBase64String( - "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")); + public PacketGetVideoVersionKeyScRsp() : base(CmdIds.GetVideoVersionKeyScRsp) + { + var proto = new GetVideoVersionKeyScRsp + { + ActivityVideoKeyInfoList = + { + GameData.VideoKeysConfig.ActivityVideoKeyData.Select(activity => new VideoKeyInfo + { + Id = (uint)activity.Id, + VideoKey = (ulong)activity.VideoKey + }) + }, + VideoKeyInfoList = + { + GameData.VideoKeysConfig.VideoKeyInfoData.Select(video => new VideoKeyInfo + { + Id = (uint)video.Id, + VideoKey = (ulong)video.VideoKey + }) + } + }; + + SetData(proto); + } } -} \ No newline at end of file +} From 2993f8ac7f609f7eb921f6b95c4e631b3bebbe40 Mon Sep 17 00:00:00 2001 From: Somebody Date: Sat, 9 Nov 2024 18:43:36 +0800 Subject: [PATCH 2/3] Fix Popup --- DanhengKcpSharp/DanhengConnection.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/DanhengKcpSharp/DanhengConnection.cs b/DanhengKcpSharp/DanhengConnection.cs index 42b948a6..9b771141 100644 --- a/DanhengKcpSharp/DanhengConnection.cs +++ b/DanhengKcpSharp/DanhengConnection.cs @@ -183,7 +183,7 @@ public class DanhengConnection break; default: lData = new HandshakePacket(Convert.FromBase64String( - "bG9jYWwgZnVuY3Rpb24gb25EaWFsb2dDbG9zZWQoKQogICAgQ1MuVW5pdHlFbmdpbmUuQXBwbGljYXRpb24uT3BlblVSTCgiaHR0cHM6Ly9oc3IuaG95b3ZlcnNlLmNvbS8iKQplbmQKCmxvY2FsIGZ1bmN0aW9uIHNob3dfaGludCgpCiAgICBsb2NhbCB0ZXh0ID0gIldlbGNvbWUgdG8gRGFuaGVuZ1NlcnZlciFcbiIKICAgIHRleHQgPSB0ZXh0IC4uICJUaGlzIHNlcnZlciBzb2Z0d2FyZSBpcyB0b3RhbGx5IGZyZWUuXG4iCiAgICB0ZXh0ID0gdGV4dCAuLiAiSWYgeW91IHBheSBmb3IgaXQsIHlvdSBoYXZlIGJlZW4gc2NhbW1lZC5cbiIKICAgIHRleHQgPSB0ZXh0IC4uICJFZHVjYXRpb25hbCBwdXJwb3NlIG9ubHksIHBsZWFzZSBzdXBwb3J0IHRoZSBnZW51aW5lIGdhbWUuIgogICAgQ1MuUlBHLkNsaWVudC5Db25maXJtRGlhbG9nVXRpbC5TaG93Q3VzdG9tT2tDYW5jZWxIaW50KHRleHQsIG9uRGlhbG9nQ2xvc2VkKQplbmQKCnNob3dfaGludCgp")); + "bG9jYWwgZnVuY3Rpb24gbW9kaWZ5X3RleHRzKCkKICAgIGxvY2FsIE9sZFBpbmcgPSBDUy5Vbml0eUVuZ2luZS5HYW1lT2JqZWN0LkZpbmQoIi9VSVJvb3QvUGFnZS9NYXplTWFpblBhZ2UoQ2xvbmUpL1JpZ2h0VG9wQXJlYS9OZXRTdGF0dXNQYW5lbC9OZXRTdGF0dXNQYW5lbChDbG9uZSkvQ29ubmVjdGVkL1RpbWUiKQogICAgbG9jYWwgT2xkUGluZzIgPSBDUy5Vbml0eUVuZ2luZS5HYW1lT2JqZWN0LkZpbmQoIi9VSVJvb3QvUGFnZS9CYXR0bGVHYW1lUGhhc2VVSShDbG9uZSkvRnVuY3Rpb25BcmVhL05ldFN0YXR1c1BhbmVsL05ldFN0YXR1c1BhbmVsL0Nvbm5lY3RlZC9UaW1lIikKICAKICAgIGlmIE9sZFBpbmcgdGhlbgogICAgICAgIGxvY2FsIE5ld1BpbmcgPSBDUy5Vbml0eUVuZ2luZS5HYW1lT2JqZWN0Lkluc3RhbnRpYXRlKE9sZFBpbmcsIE9sZFBpbmcudHJhbnNmb3JtLnBhcmVudCkKICAgICAgICBOZXdQaW5nLm5hbWUgPSAiVGltZShDbG9uZSkiCiAgICAgICAgTmV3UGluZzpHZXRDb21wb25lbnQoIlRleHQiKS50ZXh0ID0gIjxjb2xvcj0jMmVmZmY5Pk5vIFJlc2VsbGluZzwvY29sb3I+IgogICAgICAgIE9sZFBpbmc6U2V0QWN0aXZlKGZhbHNlKQogICAgZW5kCiAgCiAgICBpZiBPbGRQaW5nMiB0aGVuCiAgICAgICAgbG9jYWwgTmV3UGluZzIgPSBDUy5Vbml0eUVuZ2luZS5HYW1lT2JqZWN0Lkluc3RhbnRpYXRlKE9sZFBpbmcyLCBPbGRQaW5nMi50cmFuc2Zvcm0ucGFyZW50KQogICAgICAgIE5ld1BpbmcyLm5hbWUgPSAiVGltZTIoQ2xvbmUpIgogICAgICAgIE9sZFBpbmcyOlNldEFjdGl2ZShmYWxzZSkKICAgICAgICBOZXdQaW5nMjpHZXRDb21wb25lbnQoIlRleHQiKS50ZXh0ID0gIjxjb2xvcj0jMmVmZmY5Pk5vIFJlc2VsbGluZzwvY29sb3I+IgogICAgZW5kCgogICAgbG9jYWwgdWlkID0gQ1MuVW5pdHlFbmdpbmUuR2FtZU9iamVjdC5GaW5kKCJWZXJzaW9uVGV4dCIpOkdldENvbXBvbmVudCgiVGV4dCIpCiAgICBpZiBub3Qgc3RyaW5nLm1hdGNoKHVpZC50ZXh0LCAiRGFuaGVuZ1NlcnZlciIpIHRoZW4KICAgICAgICB1aWQudGV4dCA9ICJEYW5oZW5nU2VydmVyIGlzIGEgZnJlZSBjbG9zZWQtc291cmNlIHNvZnR3YXJlXG5FZHVjYXRpb25hbCBwdXJwb3NlIG9ubHksIHBsZWFzZSBzdXBwb3J0IGdlbnVpbmUgZ2FtZSAiIC4uIHVpZC50ZXh0CiAgICAgICAgdWlkLmZvbnRTaXplID0gNzYuMAogICAgZW5kCgogICAgbG9jYWwgYmV0YSA9IENTLlVuaXR5RW5naW5lLkdhbWVPYmplY3QuRmluZCgiVUlSb290L0Fib3ZlRGlhbG9nL0JldGFIaW50RGlhbG9nKENsb25lKSIpOkdldENvbXBvbmVudCgiVGV4dCIpCmVuZAoKbG9jYWwgZnVuY3Rpb24gb25fZXJyb3IoZXJyb3IpCiAgICBDUy5Vbml0eUVuZ2luZS5BcHBsaWNhdGlvbi50YXJnZXRGcmFtZVJhdGUgPSAxMDAKICAgIENTLlVuaXR5RW5naW5lLlF1YWxpdHlTZXR0aW5ncy52U3luY0NvdW50ID0gMAogICAgbG9jYWwgZmlsZXMgPSBpby5vcGVuKCIuL2Vycm9yLnR4dCIsICJ3IikKICAgIGZpbGVzOndyaXRlKGVycm9yKQogICAgZmlsZXM6Y2xvc2UoKQplbmQKCmxvY2FsIHN0YXR1cywgZXJyID0gcGNhbGwobW9kaWZ5X3RleHRzKQppZiBub3Qgc3RhdHVzIHRoZW4KICAgIG9uX2Vycm9yKGVycikKZW5k")); break; } @@ -197,11 +197,11 @@ public class DanhengConnection { case "CHS": lData = new HandshakePacket(Convert.FromBase64String( - "bG9jYWwgZnVuY3Rpb24gbW9kaWZ5X3RleHRzKCkKICAgIGxvY2FsIE9sZFBpbmcgPSBDUy5Vbml0eUVuZ2luZS5HYW1lT2JqZWN0LkZpbmQoIi9VSVJvb3QvUGFnZS9NYXplTWFpblBhZ2UoQ2xvbmUpL1JpZ2h0VG9wQXJlYS9OZXRTdGF0dXNQYW5lbC9OZXRTdGF0dXNQYW5lbChDbG9uZSkvQ29ubmVjdGVkL1RpbWUiKQogICAgbG9jYWwgT2xkUGluZzIgPSBDUy5Vbml0eUVuZ2luZS5HYW1lT2JqZWN0LkZpbmQoIi9VSVJvb3QvUGFnZS9CYXR0bGVHYW1lUGhhc2VVSShDbG9uZSkvRnVuY3Rpb25BcmVhL05ldFN0YXR1c1BhbmVsL05ldFN0YXR1c1BhbmVsL0Nvbm5lY3RlZC9UaW1lIikKICAKICAgIGlmIE9sZFBpbmcgdGhlbgogICAgICAgIGxvY2FsIE5ld1BpbmcgPSBDUy5Vbml0eUVuZ2luZS5HYW1lT2JqZWN0Lkluc3RhbnRpYXRlKE9sZFBpbmcsIE9sZFBpbmcudHJhbnNmb3JtLnBhcmVudCkKICAgICAgICBOZXdQaW5nLm5hbWUgPSAiVGltZShDbG9uZSkiCiAgICAgICAgTmV3UGluZzpHZXRDb21wb25lbnQoIlRleHQiKS50ZXh0ID0gIjxjb2xvcj0jMmVmZmY5Puivt+WLv+WAkuWNljwvY29sb3I+IgogICAgICAgIE9sZFBpbmc6U2V0QWN0aXZlKGZhbHNlKQogICAgZW5kCiAgCiAgICBpZiBPbGRQaW5nMiB0aGVuCiAgICAgICAgbG9jYWwgTmV3UGluZzIgPSBDUy5Vbml0eUVuZ2luZS5HYW1lT2JqZWN0Lkluc3RhbnRpYXRlKE9sZFBpbmcyLCBPbGRQaW5nMi50cmFuc2Zvcm0ucGFyZW50KQogICAgICAgIE5ld1BpbmcyLm5hbWUgPSAiVGltZTIoQ2xvbmUpIgogICAgICAgIE9sZFBpbmcyOlNldEFjdGl2ZShmYWxzZSkKICAgICAgICBOZXdQaW5nMjpHZXRDb21wb25lbnQoIlRleHQiKS50ZXh0ID0gIjxjb2xvcj0jMmVmZmY5Puivt+WLv+WAkuWNljwvY29sb3I+IgogICAgZW5kCgogICAgbG9jYWwgdWlkID0gQ1MuVW5pdHlFbmdpbmUuR2FtZU9iamVjdC5GaW5kKCJWZXJzaW9uVGV4dCIpOkdldENvbXBvbmVudCgiVGV4dCIpCiAgICBpZiBub3Qgc3RyaW5nLm1hdGNoKHVpZC50ZXh0LCAiRGFuaGVuZ1NlcnZlciIpIHRoZW4KICAgICAgICB1aWQudGV4dCA9ICJEYW5oZW5nU2VydmVy5Li66Zet5rqQ5YWN6LS55pyN5Yqh56uvXG7mraTmnI3liqHnq6/ku4XnlKjkvZzlrabkuaDkuqTmtYHvvIzor7fmlK/mjIHmraPniYjmuLjmiI8gIiAuLiB1aWQudGV4dAogICAgICAgIHVpZC5mb250U2l6ZSA9IDc2LjAKICAgIGVuZAoKICAgIGxvY2FsIGJldGEgPSBDUy5Vbml0eUVuZ2luZS5HYW1lT2JqZWN0LkZpbmQoIlVJUm9vdC9BYm92ZURpYWxvZy9CZXRhSGludERpYWxvZyhDbG9uZSkiKTpHZXRDb21wb25lbnQoIlRleHQiKQplbmQKCmxvY2FsIGZ1bmN0aW9uIG9uX2Vycm9yKGVycm9yKQogICAgQ1MuVW5pdHlFbmdpbmUuQXBwbGljYXRpb24udGFyZ2V0RnJhbWVSYXRlID0gMTAwCiAgICBDUy5Vbml0eUVuZ2luZS5RdWFsaXR5U2V0dGluZ3MudlN5bmNDb3VudCA9IDAKICAgIGxvY2FsIGZpbGVzID0gaW8ub3BlbigiLi9lcnJvci50eHQiLCAidyIpCiAgICBmaWxlczp3cml0ZShlcnJvcikKICAgIGZpbGVzOmNsb3NlKCkKZW5kCgpsb2NhbCBzdGF0dXMsIGVyciA9IHBjYWxsKG1vZGlmeV90ZXh0cykKaWYgbm90IHN0YXR1cyB0aGVuCiAgICBvbl9lcnJvcihlcnIpCmVuZA==")); + "bG9jYWwgZnVuY3Rpb24gb25EaWFsb2dDbG9zZWQoKQogICAgQ1MuVW5pdHlFbmdpbmUuQXBwbGljYXRpb24uT3BlblVSTCgiaHR0cHM6Ly9zci5taWhveW8uY29tLyIpCmVuZAoKbG9jYWwgZnVuY3Rpb24gc2hvd19oaW50KCkKICAgIGxvY2FsIHRleHQgPSAi5qyi6L+O5p2l5YiwIERhbmhlbmdTZXJ2ZXIhXG4iCiAgICB0ZXh0ID0gdGV4dCAuLiAi5q2k5pyN5Yqh56uv5a6M5YWo5YWN6LS5XG4iCiAgICB0ZXh0ID0gdGV4dCAuLiAi5aaC5p6c5L2g6YCa6L+H5LuY6LS55b6X5Yiw77yM6YKj5LmI5L2g5bey57uP6KKr6aqX5LqG44CCXG4iCiAgICB0ZXh0ID0gdGV4dCAuLiAi5pyN5Yqh56uv5LuF55So5LqO5a2m5Lmg5Lqk5rWB77yM6K+35pSv5oyB5q2j54mI5ri45oiPIgogICAgQ1MuUlBHLkNsaWVudC5Db25maXJtRGlhbG9nVXRpbC5TaG93Q3VzdG9tT2tDYW5jZWxIaW50KHRleHQsIG9uRGlhbG9nQ2xvc2VkKQplbmQKCnNob3dfaGludCgp")); break; case "CHT": lData = new HandshakePacket(Convert.FromBase64String( - "bG9jYWwgZnVuY3Rpb24gbW9kaWZ5X3RleHRzKCkKICAgIGxvY2FsIE9sZFBpbmcgPSBDUy5Vbml0eUVuZ2luZS5HYW1lT2JqZWN0LkZpbmQoIi9VSVJvb3QvUGFnZS9NYXplTWFpblBhZ2UoQ2xvbmUpL1JpZ2h0VG9wQXJlYS9OZXRTdGF0dXNQYW5lbC9OZXRTdGF0dXNQYW5lbChDbG9uZSkvQ29ubmVjdGVkL1RpbWUiKQogICAgbG9jYWwgT2xkUGluZzIgPSBDUy5Vbml0eUVuZ2luZS5HYW1lT2JqZWN0LkZpbmQoIi9VSVJvb3QvUGFnZS9CYXR0bGVHYW1lUGhhc2VVSShDbG9uZSkvRnVuY3Rpb25BcmVhL05ldFN0YXR1c1BhbmVsL05ldFN0YXR1c1BhbmVsL0Nvbm5lY3RlZC9UaW1lIikKICAKICAgIGlmIE9sZFBpbmcgdGhlbgogICAgICAgIGxvY2FsIE5ld1BpbmcgPSBDUy5Vbml0eUVuZ2luZS5HYW1lT2JqZWN0Lkluc3RhbnRpYXRlKE9sZFBpbmcsIE9sZFBpbmcudHJhbnNmb3JtLnBhcmVudCkKICAgICAgICBOZXdQaW5nLm5hbWUgPSAiVGltZShDbG9uZSkiCiAgICAgICAgTmV3UGluZzpHZXRDb21wb25lbnQoIlRleHQiKS50ZXh0ID0gIjxjb2xvcj0jMmVmZmY5Puiri+WLv+WAkuizozwvY29sb3I+IgogICAgICAgIE9sZFBpbmc6U2V0QWN0aXZlKGZhbHNlKQogICAgZW5kCiAgCiAgICBpZiBPbGRQaW5nMiB0aGVuCiAgICAgICAgbG9jYWwgTmV3UGluZzIgPSBDUy5Vbml0eUVuZ2luZS5HYW1lT2JqZWN0Lkluc3RhbnRpYXRlKE9sZFBpbmcyLCBPbGRQaW5nMi50cmFuc2Zvcm0ucGFyZW50KQogICAgICAgIE5ld1BpbmcyLm5hbWUgPSAiVGltZTIoQ2xvbmUpIgogICAgICAgIE9sZFBpbmcyOlNldEFjdGl2ZShmYWxzZSkKICAgICAgICBOZXdQaW5nMjpHZXRDb21wb25lbnQoIlRleHQiKS50ZXh0ID0gIjxjb2xvcj0jMmVmZmY5Puiri+WLv+WAkuizozwvY29sb3I+IgogICAgZW5kCgogICAgbG9jYWwgdWlkID0gQ1MuVW5pdHlFbmdpbmUuR2FtZU9iamVjdC5GaW5kKCJWZXJzaW9uVGV4dCIpOkdldENvbXBvbmVudCgiVGV4dCIpCiAgICBpZiBub3Qgc3RyaW5nLm1hdGNoKHVpZC50ZXh0LCAiRGFuaGVuZ1NlcnZlciIpIHRoZW4KICAgICAgICB1aWQudGV4dCA9ICJEYW5oZW5nU2VydmVy54K66ZaJ5rqQ5YWN6LK75Ly65pyN5Zmo6Luf6auUXG7mraTkvLrmnI3lmajou5/pq5Tlg4XnlKjkvZzlrbjnv5LkuqTmtYHvvIzoq4vmlK/mjIHmraPniYjpgYrmiLIgICIgLi4gdWlkLnRleHQKICAgICAgICB1aWQuZm9udFNpemUgPSA3Ni4wCiAgICBlbmQKCiAgICBsb2NhbCBiZXRhID0gQ1MuVW5pdHlFbmdpbmUuR2FtZU9iamVjdC5GaW5kKCJVSVJvb3QvQWJvdmVEaWFsb2cvQmV0YUhpbnREaWFsb2coQ2xvbmUpIik6R2V0Q29tcG9uZW50KCJUZXh0IikKZW5kCgpsb2NhbCBmdW5jdGlvbiBvbl9lcnJvcihlcnJvcikKICAgIENTLlVuaXR5RW5naW5lLkFwcGxpY2F0aW9uLnRhcmdldEZyYW1lUmF0ZSA9IDEwMAogICAgQ1MuVW5pdHlFbmdpbmUuUXVhbGl0eVNldHRpbmdzLnZTeW5jQ291bnQgPSAwCiAgICBsb2NhbCBmaWxlcyA9IGlvLm9wZW4oIi4vZXJyb3IudHh0IiwgInciKQogICAgZmlsZXM6d3JpdGUoZXJyb3IpCiAgICBmaWxlczpjbG9zZSgpCmVuZAoKbG9jYWwgc3RhdHVzLCBlcnIgPSBwY2FsbChtb2RpZnlfdGV4dHMpCmlmIG5vdCBzdGF0dXMgdGhlbgogICAgb25fZXJyb3IoZXJyKQplbmQ=")); + "bG9jYWwgZnVuY3Rpb24gb25EaWFsb2dDbG9zZWQoKQogICAgQ1MuVW5pdHlFbmdpbmUuQXBwbGljYXRpb24uT3BlblVSTCgiaHR0cHM6Ly9zci5taWhveW8uY29tLyIpCmVuZAoKbG9jYWwgZnVuY3Rpb24gc2hvd19oaW50KCkKICAgIGxvY2FsIHRleHQgPSAi5q2h6L+O5L6G5YiwIERhbmhlbmdTZXJ2ZXIhXG4iCiAgICB0ZXh0ID0gdGV4dCAuLiAi5q2k5pyN5YuZ56uv5a6M5YWo5YWN6LK7XG4iCiAgICB0ZXh0ID0gdGV4dCAuLiAi5aaC5p6c5L2g6YCa6YGO5LuY6LK75b6X5Yiw77yM6YKj6bq95L2g5bey57aT6KKr6aiZ556t44CCXG4iCiAgICB0ZXh0ID0gdGV4dCAuLiAi5pyN5YuZ56uv5YOF55So5pa85a2457+S5Lqk5rWB77yM6KuL5pSv5oyB5q2j54mI5ri45oiyIgogICAgQ1MuUlBHLkNsaWVudC5Db25maXJtRGlhbG9nVXRpbC5TaG93Q3VzdG9tT2tDYW5jZWxIaW50KHRleHQsIG9uRGlhbG9nQ2xvc2VkKQplbmQKCnNob3dfaGludCgp")); break; default: lData = new HandshakePacket(Convert.FromBase64String( From 2b853a2d30732817357a00ee2a65bcd32fc3b0ba Mon Sep 17 00:00:00 2001 From: Somebody Date: Sat, 9 Nov 2024 19:27:30 +0800 Subject: [PATCH 3/3] Fix MoC Double Stage --- GameServer/Game/Challenge/ChallengeInstance.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/GameServer/Game/Challenge/ChallengeInstance.cs b/GameServer/Game/Challenge/ChallengeInstance.cs index 37f1eacd..872d46f8 100644 --- a/GameServer/Game/Challenge/ChallengeInstance.cs +++ b/GameServer/Game/Challenge/ChallengeInstance.cs @@ -357,6 +357,9 @@ public class ChallengeInstance { // Increment and reset stage CurrentStage++; + // Unload scene group for stage 1 + await Player.SceneInstance!.EntityLoader!.UnloadGroup(Excel.MazeGroupID1); + // Load scene group for stage 2 await Player.SceneInstance!.EntityLoader!.LoadGroup(Excel.MazeGroupID2); @@ -367,11 +370,12 @@ public class ChallengeInstance SavedMp = Player.LineupManager.GetCurLineup()!.Mp; // Move player - if (Excel.MapEntranceID2 != 0) + if (Excel.MapEntranceID2 != 0 && Excel.MapEntranceID2 != Excel.MapEntranceID) { await Player.EnterScene(Excel.MapEntranceID2, 0, true); StartPos = Player.Data.Pos!; StartRot = Player.Data.Rot!; + await Player.SceneInstance!.EntityLoader!.UnloadGroup(Excel.MazeGroupID1); await Player.SceneInstance!.EntityLoader!.LoadGroup(Excel.MazeGroupID2); } else