Logistics\V5\startup.lua 存在索引错误导致索引到不存在容器bug #1

Open
opened 2025-10-25 23:48:57 +08:00 by xingluo · 1 comment
Owner

当同时存在两个任务时 第一个任务有两个输出容器 优先级都为1 所以会轮询 当传输过一个物品后 会变为输出到第2个容器
但在第2个任务只有一个输出容器的情况下 优先级也为1 这时第一个任务的轮询会串到第2个任务 导致在执行第2个任务的时候因为没有第2个容器导致425行报错output值为空

此bug会在上一个容器有多输出容器且下一个任务输出容器数量不足上一个任务输出容器数量时且所有容器优先级为相同时 上一个任务的输出容器轮询到下一个任务没有的容器时出现

lastOutput索引不应该是priority优先级索引 应该为任务id+优先级共同

当同时存在两个任务时 第一个任务有两个输出容器 优先级都为1 所以会轮询 当传输过一个物品后 会变为输出到第2个容器 但在第2个任务只有一个输出容器的情况下 优先级也为1 这时第一个任务的轮询会串到第2个任务 导致在执行第2个任务的时候因为没有第2个容器导致425行报错output值为空 此bug会在上一个容器有多输出容器且下一个任务输出容器数量不足上一个任务输出容器数量时且所有容器优先级为相同时 上一个任务的输出容器轮询到下一个任务没有的容器时出现 lastOutput索引不应该是priority优先级索引 应该为任务id+优先级共同
Author
Owner

修改方案:
在taskLoop中,将任务索引(taskIndex)传递给执行函数

在执行函数中,我们使用任务索引_优先级作为组合键(如"1_1")来存储轮询状态
这样每个任务的每个优先级组都有自己独立的轮询状态,不会互相干扰

修改方案: 在taskLoop中,将任务索引(taskIndex)传递给执行函数 在执行函数中,我们使用任务索引_优先级作为组合键(如"1_1")来存储轮询状态 这样每个任务的每个优先级组都有自己独立的轮询状态,不会互相干扰
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: xingluo/CCTweaked-utils#1
No description provided.