diff --git a/04-Stormblood/Trial/Tsukuyomi.cs b/04-Stormblood/Trial/Tsukuyomi.cs index 4ece44d..812ee48 100644 --- a/04-Stormblood/Trial/Tsukuyomi.cs +++ b/04-Stormblood/Trial/Tsukuyomi.cs @@ -15,13 +15,13 @@ using KodakkuAssist.Extensions; namespace Tsukuyomi; [ScriptType(guid: "97415dc8-cd16-4c9b-87be-026a297c3451", name: "月读歼灭战", territorys: [778], - version: "0.0.0.2", author: "Tetora", note: noteStr)] + version: "0.0.0.3", author: "Tetora", note: noteStr)] public class Tsukuyomi { const string noteStr = """ - v0.0.0.1: + v0.0.0.3: LV70 月读歼灭战 初版绘制 """; @@ -37,7 +37,7 @@ public class Tsukuyomi Maiogi=0; } - [ScriptMethod(name: "折磨(顺劈死刑)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:11235"])] + [ScriptMethod(name: "折磨(顺劈死刑)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^(11235|11955)$"])] public void 折磨(Event @event, ScriptAccessory accessory) { var dp = accessory.Data.GetDefaultDrawProperties(); @@ -52,6 +52,7 @@ public class Tsukuyomi accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); } + /* [ScriptMethod(name: "宴会游乐(九连环预备)", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:8769"])] public void 宴会游乐(Event @event, ScriptAccessory accessory) { @@ -82,6 +83,7 @@ public class Tsukuyomi dp.ScaleMode = ScaleMode.ByTime; accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); } + */ [ScriptMethod(name: "黄泉之弹(直线分摊)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:11238"])] public void 黄泉之弹(Event @event, ScriptAccessory accessory) diff --git a/OnlineRepo.json b/OnlineRepo.json index f315c53..68211be 100644 --- a/OnlineRepo.json +++ b/OnlineRepo.json @@ -355,11 +355,11 @@ { "Name": "月读歼灭战", "Guid": "97415dc8-cd16-4c9b-87be-026a297c3451", - "Version": "0.0.0.2", + "Version": "0.0.0.3", "Author": "Tetora", "Repo": "https://github.com/Hibiya615/TetoraKAScript/tree/main", "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/04-Stormblood/Trial/Tsukuyomi.cs", - "Note": "v0.0.0.1:\r\nLV70 月读歼灭战 初版绘制", + "Note": "v0.0.0.3:\r\nLV70 月读歼灭战 初版绘制", "UpdateInfo": "", "TerritoryIds": [ 778 @@ -957,11 +957,11 @@ { "Name": "PVP技能绘制", "Guid": "070e161a-26e9-4a57-8b19-da8c4201058c", - "Version": "0.0.0.9", + "Version": "0.0.1.0", "Author": "Tetora", "Repo": "https://github.com/Hibiya615/TetoraKAScript/tree/main", "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/PVP/PVPAction.cs", - "Note": "v0.0.0.9:\r\nPVP技能绘制,全部地图可用,未做任何区域限制。\r\n推荐先自己过一遍设置把不需要的关闭\r\n改完用户设置的数值记得点保存!保存!\r\n【仅适用敌方目标标记】是用于四小的,因为一般都会给四小标头标x", + "Note": "v0.0.1.0:\r\nPVP技能绘制,全部地图可用,未做任何区域限制。\r\n推荐先自己过一遍设置把不需要的关闭\r\n改完用户设置的数值记得点保存!保存!\r\n【仅适用敌方目标标记】是用于四小的,因为一般都会给四小标头标x", "UpdateInfo": "【重要】补充销毁逻辑", "TerritoryIds": [] }, diff --git a/PVP/PVPAction.cs b/PVP/PVPAction.cs index 4402181..4ddbba9 100644 --- a/PVP/PVPAction.cs +++ b/PVP/PVPAction.cs @@ -22,13 +22,13 @@ using FFXIVClientStructs.FFXIV.Client.Game.UI; namespace PVPAction; [ScriptType(guid: "070e161a-26e9-4a57-8b19-da8c4201058c", name: "PVP技能绘制", territorys: [], - version: "0.0.0.9", author: "Tetora", note: noteStr)] + version: "0.0.1.0", author: "Tetora", note: noteStr)] public class PVPAction { const string noteStr = """ - v0.0.0.9: + v0.0.1.0: PVP技能绘制,全部地图可用,未做任何区域限制。 推荐先自己过一遍设置把不需要的关闭 改完用户设置的数值记得点保存!保存! @@ -69,7 +69,7 @@ public class PVPAction public ScriptColor EnmityAOEColor { get; set; } = new() { V4 = new(1f, 0f, 1f, 1f) }; [UserSetting("敌方部分技能填充亮度(推荐小于1)")] - public float EnmityAOEFillBrightness { get; set; } = 0.1f; + public float EnmityAOEFillBrightness { get; set; } = 0.2f; [UserSetting("敌方部分技能显示时间 (ms)")] public long EnmityAOETimer { get; set; } = 1000; @@ -181,7 +181,7 @@ public class PVPAction if (@event.TargetId() != accessory.Data.Me) return; var dp = accessory.Data.GetDefaultDrawProperties(); dp.Name = "冲天Self内圈"; - dp.Color = new Vector4(0f, 1f, 1f, 0.6f); + dp.Color = new Vector4(0f, 1f, 1f, 0.5f); dp.Owner = @event.SourceId(); dp.Scale = new Vector2(5f); dp.DestoryAt = 5000; @@ -189,11 +189,21 @@ public class PVPAction var dp1 = accessory.Data.GetDefaultDrawProperties(); dp1.Name = "冲天Self外圈"; - dp1.Color = new Vector4(0f, 1f, 1f, 0.4f); + dp1.Color = new Vector4(0f, 1f, 1f, 0.3f); dp1.Owner = @event.SourceId(); dp1.Scale = new Vector2(10f); dp1.DestoryAt = 5000; accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp1); + + var dp2 = accessory.Data.GetDefaultDrawProperties(); + dp2.Name = $"冲天Self内圈描边"; + dp2.Color = new Vector4(0f, 1f, 1f, 10f); + dp2.Owner = @event.SourceId(); + dp2.Scale = new Vector2(5f); + dp2.InnerScale = new Vector2(4.95f); + dp2.Radian = float.Pi * 2; + dp2.DestoryAt = 5000; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp2); } [ScriptMethod(name: "自身冲天销毁", eventType: EventTypeEnum.StatusRemove, eventCondition: ["StatusID:3180"],userControl: false)] @@ -584,7 +594,7 @@ public class PVPAction if (@event.TargetId() != accessory.Data.Me) return; var dp = accessory.Data.GetDefaultDrawProperties(); dp.Name = $"圣盾阵Self"; - dp.Color = SelfAOEColor.V4; + dp.Color = SelfAOEColor.V4.WithW(SelfAOEFillBrightness); dp.Owner = @event.SourceId(); dp.Scale = new Vector2(6f); dp.DestoryAt = 4000; @@ -780,7 +790,7 @@ public class PVPAction { var dp = accessory.Data.GetDefaultDrawProperties(); dp.Name = $"敌方星河漫天{@event.SourceId()}"; - dp.Color = EnmityAOEColor.V4; + dp.Color = EnmityAOEColor.V4.WithW(EnmityAOEFillBrightness); dp.Owner = @event.SourceId(); dp.Scale = new Vector2(15f); dp.DestoryAt = EnmityAOETimer; @@ -809,7 +819,7 @@ public class PVPAction { var dp = accessory.Data.GetDefaultDrawProperties(); dp.Name = $"敌方英雄的幻想曲{@event.SourceId()}"; - dp.Color = EnmityAOEColor.V4; + dp.Color = EnmityAOEColor.V4.WithW(EnmityAOEFillBrightness); dp.Owner = @event.SourceId(); dp.Scale = new Vector2(30f); dp.DestoryAt = EnmityAOETimer; diff --git a/PVP/PVPToy.cs b/PVP/PVPToy.cs index 7c7dd12..2c37f20 100644 --- a/PVP/PVPToy.cs +++ b/PVP/PVPToy.cs @@ -22,70 +22,22 @@ using FFXIVClientStructs.FFXIV.Client.Game.UI; namespace PVPToy; [ScriptType(guid: "2312052e-6575-4a91-9e3d-b84699dca8fe", name: "PVP小玩具", territorys: [250, 431, 554, 888, 1273, 1313], - version: "0.0.0.6", author: "Tetora", note: noteStr)] + version: "0.0.0.7", author: "Tetora", note: noteStr)] public class PVPToy { const string noteStr = """ - v0.0.0.6: + v0.0.0.7: PVP小玩具,仅纷争前线可用,可在狼狱进行测试 推荐先自行过一遍设置关闭不需要的功能,底裤功能使用后果自行承担 标记一般是防四小,所以启用仅标记选项的话就是防四小的播报 """; - - #region 基础控制 - - [UserSetting("EdgeTTS开关")] - public bool isEdgeTTS { get; set; } = true; - - [UserSetting("弹窗文本提示开关")] - public bool isText { get; set; } = true; - - [UserSetting("启用目标标记播报及连线")] - public bool isTargetBroadcast { get; set; } = false; - - [UserSetting("启用自动选中目标标记")] - public bool isAutoTarget { get; set; } = false; - - [UserSetting("启用仅适用敌方目标标记 [适用:占星诗人LB播报]" )] - public bool isOnlyMark { get; set; } = false; - - [UserSetting("启用自动诗人光阴神净化")] - public bool isAutoWarden { get; set; } = false; - - [UserSetting("启用被抓自动防御")] - public bool isAutoGuard { get; set; } = false; - - [UserSetting("请确认你已经有相关插件与对应权限")] - public bool isHack { get; set; } = false; - - [UserSetting("开发者模式")] - public bool isDeveloper { get; set; } = false; - - [UserSetting(note: "请选择冲天时的移速")] - public SkySpeedEnum SkySpeed { get; set; } = SkySpeedEnum.Default; - - public enum SkySpeedEnum - { - Default = 0, - AddPoint1 = 1, - AddPoint2 = 2, - AddPoint3 = 3, - AddPoint4 = 4, - AddPoint5 = 5, - } - - [UserSetting(note: "请选择复原时的移速")] - public RemoveSpeedEnum RemoveSpeed { get; set; } = RemoveSpeedEnum.Speed1; - - public enum RemoveSpeedEnum - { - Default = 0, - Speed1 = 1, - } - + + #region 基础函数 + private List checkMark = new List() + { MarkType.Attack1, MarkType.Attack2, @@ -102,10 +54,6 @@ public class PVPToy MarkType.Attack8, }; - #endregion - - #region 自动播报/执行 - public bool isPartyMember(ScriptAccessory accessory, uint SourceId) { return accessory.Data.PartyList.Contains(SourceId); @@ -134,6 +82,200 @@ public class PVPToy return isInMyAlliance; } + + #endregion + + #region 全局销毁 + + [ScriptMethod(name: "咏唱中断销毁", eventType: EventTypeEnum.CancelAction, eventCondition: [], userControl: false)] + public void 咏唱中断销毁(Event @event, ScriptAccessory accessory) + { + accessory.Method.RemoveDraw($".*{@event.SourceId()}"); + } + + [ScriptMethod(name: "死亡销毁", eventType: EventTypeEnum.Death, eventCondition: [], userControl: false)] + public void 死亡销毁(Event @event, ScriptAccessory accessory) + { + accessory.Method.RemoveDraw($".*{@event.TargetId()}"); + } + + #endregion + + #region 基础控制 + + [UserSetting("EdgeTTS开关")] + public bool isEdgeTTS { get; set; } = true; + + [UserSetting("弹窗文本提示开关")] + public bool isText { get; set; } = true; + + [UserSetting("启用四小模式")] + public bool isLightParty { get; set; } = false; + + [UserSetting("小队吸&控技能颜色(如腐秽大地、行列舞)")] + public ScriptColor LightPartyControlAOEColor { get; set; } = new() { V4 = new(1f, 1f, 1f, 1f) }; + + [UserSetting("小队吸&控技能填充亮度(推荐小于1)")] + public float LightPartyControlAOEFillBrightness { get; set; } = 0.4f; + + [UserSetting("启用目标标记播报及连线")] + public bool isTargetBroadcast { get; set; } = false; + + [UserSetting("启用自动选中目标标记")] + public bool isAutoTarget { get; set; } = false; + + [UserSetting("启用仅适用敌方目标标记 [适用:占星诗人LB播报]" )] + public bool isOnlyMark { get; set; } = false; + + [UserSetting("启用自动诗人光阴神净化")] + public bool isAutoWarden { get; set; } = false; + + [UserSetting("启用被抓自动防御")] + public bool isAutoGuard { get; set; } = false; + + [UserSetting("请确认你已经有相关插件与对应权限")] + public bool isHack { get; set; } = false; + + [UserSetting(note: "请选择龙骑冲天时的移速")] + public SkySpeedEnum SkySpeed { get; set; } = SkySpeedEnum.Default; + + public enum SkySpeedEnum + { + Default = 0, + AddPoint1 = 1, + AddPoint2 = 2, + AddPoint3 = 3, + AddPoint4 = 4, + AddPoint5 = 5, + } + + [UserSetting(note: "请选择复原时的移速")] + public RemoveSpeedEnum RemoveSpeed { get; set; } = RemoveSpeedEnum.Speed1; + + public enum RemoveSpeedEnum + { + Default = 0, + Speed1 = 1, + } + + [UserSetting("[DR测试码] 龙骑冲天自动开启免控")] + public bool isDRAutoImmunize { get; set; } = false; + + [UserSetting("[IC] 龙骑冲天自动开启免控")] + public bool isIChysteria { get; set; } = false; + + [UserSetting("开发者模式")] + public bool isDeveloper { get; set; } = false; + + #endregion + + #region 四小模式 + + [ScriptMethod(name: "—————— 四小模式选项 ——————", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:"])] + public void 四小模式选项(Event @event, ScriptAccessory accessory) { } + + [ScriptMethod(name: "小队DK腐秽大地范围描边", eventType: EventTypeEnum.ActionEffect, eventCondition: ["ActionId:regex:^29094$"],suppress:3000)] + public void 小队DK腐秽大地范围描边(Event @event, ScriptAccessory accessory) + { + if (isPartyMember(accessory, @event.SourceId())) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"小队DK腐秽大地范围描边{@event.SourceId}"; + dp.Color = LightPartyControlAOEColor.V4.WithW(20f); + dp.Position = @event.EffectPosition; + dp.Scale = new Vector2(5f); // 吸的范围是10m,但是腐秽大地二段止步的范围是5m + dp.InnerScale = new Vector2(4.94f); + dp.Radian = float.Pi * 2; + dp.DestoryAt = 3000; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); + } + } + + [ScriptMethod(name: "小队DK腐秽大地范围填充", eventType: EventTypeEnum.ActionEffect, eventCondition: ["ActionId:regex:^29094$"],suppress:3000)] + public void 小队DK腐秽大地范围填充(Event @event, ScriptAccessory accessory) + { + if (isPartyMember(accessory, @event.SourceId())) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"小队DK腐秽大地范围填充{@event.SourceId}"; + dp.Color = LightPartyControlAOEColor.V4.WithW(LightPartyControlAOEFillBrightness); + dp.Position = @event.EffectPosition; + dp.Scale = new Vector2(5f); // 吸的范围是10m,但是腐秽大地二段止步的范围是5m + dp.DestoryAt = 1500; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + } + + [ScriptMethod(name: "小队DK腐秽大地查找连线半秒", eventType: EventTypeEnum.ActionEffect, eventCondition: ["ActionId:regex:^29094$"],suppress:3000)] + public void 小队DK腐秽大地查找连线(Event @event, ScriptAccessory accessory) + { + if (isPartyMember(accessory, @event.SourceId())) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"小队DK腐秽大地连线{@event.SourceId()}"; + dp.Color = accessory.Data.DefaultSafeColor.WithW(1f); + dp.Owner = accessory.Data.Me; + dp.TargetPosition = @event.EffectPosition(); + dp.ScaleMode |= ScaleMode.YByDistance; + dp.Scale = new(1); + dp.DestoryAt = 500; + accessory.Method.SendDraw(DrawModeEnum.Imgui, DrawTypeEnum.Displacement, dp); + } + } + + [ScriptMethod(name: "小队舞者行列舞范围描边", eventType: EventTypeEnum.ActionEffect, eventCondition: ["ActionId:regex:^29432$"],suppress:5000)] + public void 小队舞者行列舞范围描边(Event @event, ScriptAccessory accessory) + { + if (isPartyMember(accessory, @event.SourceId())) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"小队舞者行列舞范围描边{@event.SourceId}"; + dp.Color = LightPartyControlAOEColor.V4.WithW(20f); + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(15f); + dp.InnerScale = new Vector2(14.9f); + dp.Radian = float.Pi * 2; + dp.DestoryAt = 4500; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); + } + } + + [ScriptMethod(name: "小队舞者行列舞范围填充", eventType: EventTypeEnum.ActionEffect, eventCondition: ["ActionId:regex:^29432$"],suppress:5000)] + public void 小队舞者行列舞范围填充(Event @event, ScriptAccessory accessory) + { + if (isPartyMember(accessory, @event.SourceId())) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"小队舞者行列舞范围填充{@event.SourceId}"; + dp.Color = LightPartyControlAOEColor.V4.WithW(LightPartyControlAOEFillBrightness); + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(15f); + dp.DestoryAt = 2500; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + } + + [ScriptMethod(name: "小队舞者行列舞查找连线半秒", eventType: EventTypeEnum.ActionEffect, eventCondition: ["ActionId:regex:^29432$"],suppress:5000)] + public void 小队舞者行列舞查找连线(Event @event, ScriptAccessory accessory) + { + if (isPartyMember(accessory, @event.SourceId())) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"小队舞者行列舞连线{@event.SourceId()}"; + dp.Color = accessory.Data.DefaultSafeColor.WithW(1f); + dp.Owner = accessory.Data.Me; + dp.TargetObject = @event.SourceId; + dp.ScaleMode |= ScaleMode.YByDistance; + dp.Scale = new(1); + dp.DestoryAt = 500; + accessory.Method.SendDraw(DrawModeEnum.Imgui, DrawTypeEnum.Displacement, dp); + } + } + + #endregion + + #region 自动播报/执行 + [ScriptMethod(name: "被狙自动开盾", eventType: EventTypeEnum.ActionEffect, eventCondition: ["ActionId:29415"])] public void MarksmansTarget(Event @event, ScriptAccessory accessory) @@ -165,6 +307,9 @@ public class PVPToy } } + [ScriptMethod(name: "—————— 自动播报 ——————", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:"])] + public void 自动播报(Event @event, ScriptAccessory accessory) { } + [ScriptMethod(name: "谁踹的我.jpg", eventType: EventTypeEnum.ActionEffect, eventCondition: ["ActionId:29485"])] public void WhoMeteorImpactMe(Event @event, ScriptAccessory accessory) { @@ -463,7 +608,7 @@ public class PVPToy public void 底裤功能(Event @event, ScriptAccessory accessory) { } [ScriptMethod(name: "[DR] 冲天时更改移速(不与敏捷共存)", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:3180"])] - public void 冲天Add(Event @event, ScriptAccessory accessory) + public void SkyHighAddSpeed(Event @event, ScriptAccessory accessory) { if (@event.TargetId() != accessory.Data.Me) return; if (SkySpeed == SkySpeedEnum.Default) @@ -498,8 +643,8 @@ public class PVPToy } } - [ScriptMethod(name: "[DR] 恢复冲天移速", eventType: EventTypeEnum.Targetable, eventCondition: ["DataId:0", "Targetable:True"])] - public void SpeedRestore1(Event @event, ScriptAccessory accessory) + [ScriptMethod(name: "[DR] 落地恢复冲天移速", eventType: EventTypeEnum.Targetable, eventCondition: ["DataId:0", "Targetable:True"])] + public void SkyHighSpeedRestore(Event @event, ScriptAccessory accessory) { // 考虑到可能会在空中死亡 没法正常判定 ActionEffect,所以使用自己的 Targetable 代替 if (@event.SourceId() != accessory.Data.Me) return; @@ -517,6 +662,45 @@ public class PVPToy } + [ScriptMethod(name: "冲天时自动开启免控(根据用户设置决定使用插件)", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:3180"])] + public void SkyHighAddImmunize(Event @event, ScriptAccessory accessory) + { + if (@event.TargetId() != accessory.Data.Me) return; + if(!isHack) return; + if (isDRAutoImmunize) + { + accessory.Method.SendChat($"/pdr load AutoImmunizeForceMove"); + accessory.Method.SendChat($"/pdr load AutoImmunizeInputDisable"); + } + + if (isIChysteria) + { + accessory.Method.SendChat($"/i-ching-commander anti_hysteria enable"); + accessory.Method.SendChat($"/i-ching-commander forced_move enable"); + accessory.Method.SendChat($"/e 已开启IC临时免控"); + } + } + + [ScriptMethod(name: "落地时自动关闭免控", eventType: EventTypeEnum.Targetable, eventCondition: ["DataId:0", "Targetable:True"])] + public void SkyHighRemovmeImmunize(Event @event, ScriptAccessory accessory) + { + // 考虑到可能会在空中死亡 没法正常判定 ActionEffect,所以使用自己的 Targetable 代替 + if (@event.SourceId() != accessory.Data.Me) return; + if(!isHack) return; + if (isDRAutoImmunize) + { + accessory.Method.SendChat($"/pdr unload AutoImmunizeForceMove"); + accessory.Method.SendChat($"/pdr unload AutoImmunizeInputDisable"); + } + + if (isIChysteria) + { + accessory.Method.SendChat($"/i-ching-commander anti_hysteria dispose"); + accessory.Method.SendChat($"/i-ching-commander forced_move dispose"); + accessory.Method.SendChat($"/e 已关闭IC临时免控"); + } + } + #endregion #region 测试项目 diff --git a/TestScriptRepo.json b/TestScriptRepo.json index a8b27a2..d61c0e2 100644 --- a/TestScriptRepo.json +++ b/TestScriptRepo.json @@ -52,11 +52,11 @@ { "Name": "PVP小玩具", "Guid": "2312052e-6575-4a91-9e3d-b84699dca8fe", - "Version": "0.0.0.6", + "Version": "0.0.0.7", "Author": "Tetora", "Repo": "https://github.com/Hibiya615/TetoraKAScript/tree/main", "DownloadUrl": "https://github.com/Hibiya615/TetoraKAScript/blob/main/PVP/PVPToy.cs", - "Note": "v0.0.0.6:\r\nPVP小玩具,仅纷争前线可用,可在狼狱进行测试\r\n推荐先自行过一遍设置关闭不需要的功能,底裤功能使用后果自行承担\r\n标记一般是防四小,所以启用仅标记选项的话就是防四小的播报", + "Note": "v0.0.0.7:\r\nPVP小玩具,仅纷争前线可用,可在狼狱进行测试\r\n推荐先自行过一遍设置关闭不需要的功能,底裤功能使用后果自行承担\r\n标记一般是防四小,所以启用仅标记选项的话就是防四小的播报", "UpdateInfo": "", "TerritoryIds": [ 250,