Screeps Container 快消失怎么处理:ticksToDecay、维修截止时间与 Builder 调度
解释 StructureContainer.ticksToDecay 为什么只表示下一次腐化,计算 Container 距离损毁的保守时间,并用路径、WORK、Energy、repair() 返回码和下一 tick 事件证据安排维修。
TAG
当前共有 17 篇文章使用这个长期主题标签。
解释 StructureContainer.ticksToDecay 为什么只表示下一次腐化,计算 Container 距离损毁的保守时间,并用路径、WORK、Energy、repair() 返回码和下一 tick 事件证据安排维修。
为同一房间或帝国中的多个 Spawn 建立统一队列:用稳定 requestKey 去重,按紧急度和等待时间排序,为共享 Spawn 与 Extension Energy 做本地预留,避免多个模块重复生成 Creep,并在后续 tick 验证真实孵化结果。
当某个Screeps房间或模块抛出JavaScript异常时,用房间级错误边界、限频日志、连续错误暂停和冷却重试,让其他房间继续执行,并区分异常、API返回码与CPU截止。
当 Game.cpu.bucket 持续下降时,用带迟滞的 NORMAL、CONSERVE、EMERGENCY 与 RECOVERY 状态机保护 Spawn、采集、Controller 和防御,逐级暂停高成本任务,并在恢复后分阶段重新启用。
排查固定 Upgrader 到达 Controller 后不升级的问题:核对 Controller Link、站位距离、Energy、WORK/CARRY/MOVE、upgradeBlocked 和返回码,并用下一 tick 事件与 Store 变化验证动作。
根据 ticksToLive、Spawn 剩余占用、身体生成时间、到岗路程和安全余量计算 Screeps Creep 提前补员时机,并用房间级单入口、重复覆盖保护和下一 tick 验证减少岗位空窗。
读取 ConstructionSite.progress 与 progressTotal,计算完成率和剩余进度,并用 FIND_MY_CONSTRUCTION_SITES 定期输出房间工地状态。
比较Game.creeps与Memory.creeps,删除已不存在Creep的残留数据,并同步清理受控任务索引、限制日志频率和避免误删其他模块状态。
监控己方Controller.ticksToDowngrade和等级上限,从当前房间选择有Energy与有效WORK部件的Upgrader,并处理upgradeController()范围和全部返回值。
区分 Game.cpu.limit、tickLimit 与 bucket,用前后差值测量代码段CPU,并通过固定样本窗口观察平均值、峰值和可选任务执行条件。
从Game.flags和Flag.memory读取带版本的任务配置,校验Creep名称、任务类型和目标范围,并处理跨房间视野、moveTo返回值与过期Memory。
解释 Game.notify() 的1000字符、每tick 20条和 groupInterval 分钟规则,并用状态变化、Memory与重复间隔避免 Controller 风险提醒刷屏。
解释模块顶层缓存与 Memory 的区别,使用按房间 Map、版本号和过期时间缓存 Source ID,并在全局重置、缓存过期或对象失效后安全重建。
把角色行为、Memory维护和房间逻辑拆成Node.js风格模块,统一导出契约、错误隔离、角色分派和global reset后的可重建状态。
解释 Room.getEventLog() 返回上一 tick 事件的时序、raw 参数和不同 event.data 结构,并提供己方目标受击筛选、事件汇总与长期记录边界。
用RoomVisual绘制Creep状态、目标连线和任务标记,控制可视化开关、对象数量与数据大小,并区分画面提示和真实行为结果。
当 Tower.attack() 返回 OK 但目标掉血很少时,计算 Range 5—20 距离衰减、OPERATE_TOWER 与 DISRUPT_TOWER、集火名义伤害,并用上一 tick Room.getEventLog() 核对精确 Tower 和实际事件目标。