Screeps Store API 怎么判断容量:getUsedCapacity、getFreeCapacity、getCapacity 与 null 陷阱
系统解释 Screeps Store 的已用容量、剩余容量和总容量:区分通用 Store 与受限 Store,正确处理 resource 参数、0 与 null、Lab 双容量、Tombstone/Ruin 只读资源,以及安全的 withdraw/transfer 数量计算。
TAG
当前共有 9 篇文章使用这个长期主题标签。
系统解释 Screeps Store 的已用容量、剩余容量和总容量:区分通用 Store 与受限 Store,正确处理 resource 参数、0 与 null、Lab 双容量、Tombstone/Ruin 只读资源,以及安全的 withdraw/transfer 数量计算。
安全维护 Screeps 自己的市场订单:核对订单指纹,预估改价与扩量的 5% 费用,保护 Credits 保留线,执行一次性请求,并在下一 tick 验证价格、总量或取消结果。
区分 Game.cpu.limit、tickLimit 与 bucket,用前后差值测量代码段CPU,并通过固定样本窗口观察平均值、峰值和可选任务执行条件。
把对象ID和目标房间写入Memory,每个tick重新取得实时对象,并区分目标消失、ID损坏和远程房间暂时没有视野。
解释 Game.notify() 的1000字符、每tick 20条和 groupInterval 分钟规则,并用状态变化、Memory与重复间隔避免 Controller 风险提醒刷屏。
解释 findRoute() 返回的房间级出口序列、routeCallback 成本和 ERR_NO_PATH,并提供带房间偏好、路线缓存与逐房间移动的完整示例。
用一次性 Memory 请求创建 Screeps 市场订单:检查普通资源订单的 Terminal 所有权和 5% 费用,提交前保存旧订单 ID,并在下一 tick 精确确认唯一的新订单,避免重复创建和误归因。
使用人工指定订单ID和一次性Memory请求,核对订单类型、当前amount、价格上限、Credits保留线、Terminal与交易Energy后安全调用deal()。
解释 Game.rooms[roomName] 为什么会是 undefined,区分当前视野与 Memory 历史状态,并用 Game.getObjectById()、lastSeenAt 和 Observer 的下一 tick 时序安全恢复远程房间任务。