Screeps InterShardMemory 怎么用:跨 Shard 状态同步、版本校验与过期数据
使用 InterShardMemory 在多个 Screeps shard 之间交换版本化状态:安全解析本地和远端字符串、控制 UTF-8 容量、识别 writerEpoch 重启与 revision 回退,并用接收方自己的观察窗口判断远端 channel 是否停滞。
TAG
当前共有 19 篇文章使用这个长期主题标签。
使用 InterShardMemory 在多个 Screeps shard 之间交换版本化状态:安全解析本地和远端字符串、控制 UTF-8 容量、识别 writerEpoch 重启与 revision 回退,并用接收方自己的观察窗口判断远端 channel 是否停滞。
使用 RawMemory.setPublicSegments、setDefaultPublicSegment 和 setActiveForeignSegment 安全发布与读取其他玩家的公开 Segment:处理下一 tick 时序、一次一个 Foreign Segment、覆盖式配置、版本校验、轮询调度和不可信 JSON。
安全维护 Screeps 自己的市场订单:核对订单指纹,预估改价与扩量的 5% 费用,保护 Credits 保留线,执行一次性请求,并在下一 tick 验证价格、总量或取消结果。
解释 COMMODITIES 配方的 components、amount、cooldown 与 level,区分任意等级和高等级商品,并提供带一次性请求、容量检查和全部返回码的 Factory 示例。
解释模块顶层缓存与 Memory 的区别,使用按房间 Map、版本号和过期时间缓存 Source ID,并在全局重置、缓存过期或对象失效后安全重建。
解释化合物与身体部件的对应关系、每个部件30矿物和20 Energy、bodyPartsCount计数顺序、相邻距离与全部返回码,并提供一次性强化请求示例。
解释三座Lab的输入输出职责、范围2、每次基础反应5单位、REACTIONS配方、输出矿物兼容性和全部返回码,并提供ID配置与离线验证示例。
解释 findRoute() 返回的房间级出口序列、routeCallback 成本和 ERR_NO_PATH,并提供带房间偏好、路线缓存与逐房间移动的完整示例。
用一次性 Memory 请求创建 Screeps 市场订单:检查普通资源订单的 Terminal 所有权和 5% 费用,提交前保存旧订单 ID,并在下一 tick 精确确认唯一的新订单,避免重复创建和误归因。
使用人工指定订单ID和一次性Memory请求,核对订单类型、当前amount、价格上限、Credits保留线、Terminal与交易Energy后安全调用deal()。
确认RCL6、Mineral储量、同格Extractor、结构状态和Creep容量后调用harvest(mineral),并处理ERR_NOT_FOUND、ERR_TIRED与再生周期。
使用目标绑定确认词和一次性Memory请求,核对RoomPosition、10房间范围、Energy、Ghodium、Nuker等待状态与全部返回码,再决定是否提交不可逆发射。
解释 Observer 的10房间范围、请求与下一tick读取时序、返回码和Memory状态,并提供不会把当前视野误判为观察结果的完整示例。
解释 CostMatrix 中 0、普通成本和 255 的含义,在 roomCallback 中处理道路、建筑、Creep 与自定义避让格,并检查 PathFinder.search 的完整结果。
解释每个基础Power需要50 Energy、GPL进度、PWR_OPERATE_POWER效果、房间Energy保留线与主要返回码,并提供带启用状态和下一tick核对的Power Spawn示例。
解释 RawMemory.setActiveSegments 的下一 tick 时序、0–99 ID 与同时激活上限,并提供空内容、损坏 JSON、版本字段和安全写回的完整示例。
比较 reserveController() 与 claimController() 的目标、持续方式、GCL限制和返回值,并提供带确认条件的远程Controller任务示例。
解释 Room.getEventLog() 返回上一 tick 事件的时序、raw 参数和不同 event.data 结构,并提供己方目标受击筛选、事件汇总与长期记录边界。
使用一次性Memory请求核对源Terminal、目标房间、最小发送量、100字符说明、资源库存、Energy交易成本和保留线,并处理send()全部返回码。