GlowingTree880 / L4D2_LittlePlugins

L4D2_LittlePlugins
GNU General Public License v3.0
70 stars 7 forks source link

Infected_Control_Rework超过6特无法生成特感 #10

Closed txuk1x closed 1 year ago

txuk1x commented 1 year ago

大佬你好,infected control超过6特的时候刷不了特,一直重复报错,是我队列配置错误还是其他问题? L 08/22/2023 - 23:44:16: [SM] Exception reported: Array index out-of-bounds (index 7, limit 7) L 08/22/2023 - 23:44:16: [SM] Blaming: infected_control.smx L 08/22/2023 - 23:44:16: [SM] Call stack trace: L 08/22/2023 - 23:44:16: [SM] [1] Line 230, inf_queue.sp::getInfectedQueue L 08/22/2023 - 23:44:16: [SM] [2] Line 913, G:\����֮·\2023\left4dead2\addons\sourcemod\scripting\infected_control.sp::changeHookInfectedLimit L 08/22/2023 - 23:44:16: [SM] [4] ConVar.SetInt L 08/22/2023 - 23:44:16: [SM] [5] Line 53, commands.sp::cmdInfectedLimit [Infected-Control]: 已调整特感刷新为 10 特 16 秒

GlowingTree880 commented 1 year ago

你好,infected_control.spinfected_queue.sp 已更新,请尝试使用新版本重新编译后使用 原因是在 infected_queue.sp 中定义的 ArrayList infectedQueuePosition[7] 特感刷新队列中每个位置允许刷新的特感类型集合数组的长度在以前直接被定义成了 7,也就是只能读取 1-6 特的队列配置,超过 7 特将会产生数组下标越界异常,目前已更新长度为 31

txuk1x commented 1 year ago

感谢大佬!

txuk1x commented 1 year ago

使用更新过后的依旧无法超过6特,并且现在设置7特及以上会瞬间崩服

GlowingTree880 commented 1 year ago

另外关于上次更新崩服的问题暂时还不太好确定原因 😣,我尝试使用上一版本测试,环境如下:

Windows 编译器版本:SourcePawn Compiler 1.11.0.6837
SourceMod 平台版本:SourceMod Version: 1.11.0.6826
SourcePawn 引擎版本:SourcePawn Engine: 1.11.0.6826, jit-x86 (build 1.11.0.6826)
操作系统:CentOS Linux release 7.9.2009 (Core)

输入 !limit 7 并未发现崩服问题,7 特的特感刷新队列也能正常生成,但其他好友测试时有反馈崩服问题,暂时不好确定是代码原因或是编译器等其他原因,测试时 7 特特感队列配置如下

        "7"
        {
                "smoker"        "1,3,5,7"
                "boomer"        "2,4,6"
                "hunter"        "1,3,5,7"
                "spitter"       "2,4,6"
                "jockey"        "1,3,5,7"
                "charger"       "2,4,6"
        }

现版本 (8月25日上传版本) 个人测试过 7,8,9,10 特,!limit 7/8/9/10 并未出现崩服现象,z_xxx_limitinf_queue.cfg 正确配置情况下可以正常生成指定数量的特感刷新队列,好友测试暂未发现崩服问题

fantasylidong commented 1 year ago

崩服强烈推荐装个Accelerator