Screeps 工地进度怎么看:progress、progressTotal 与剩余量
读取 ConstructionSite.progress 与 progressTotal,计算完成率和剩余进度,并用 FIND_MY_CONSTRUCTION_SITES 定期输出房间工地状态。
TAG
当前共有 64 篇文章使用这个标签。
读取 ConstructionSite.progress 与 progressTotal,计算完成率和剩余进度,并用 FIND_MY_CONSTRUCTION_SITES 定期输出房间工地状态。
先按坐标只读查找自己的Construction Site,再用工地ID、预期房间、坐标、结构类型和确认词提交一次性remove()请求,并在下一tick重新核对。
使用一次性Memory请求检查房间视野、0—49坐标、已有Road、已有工地与账号100个工地上限,并说明Road可以建在自然墙体地形上。
使用结构ID、预期房间、坐标、类型和确认词锁定己方Extension,检查敌对Creep与全部返回码后提交一次性destroy()请求,并在下一tick重新核对。
比较Game.creeps与Memory.creeps,删除已不存在Creep的残留数据,并同步清理受控任务索引、限制日志频率和避免误删其他模块状态。
解释可用激活次数、同一shard单房间限制、safeModeCooldown、upgradeBlocked与全部返回码,并用一次性Memory请求避免自动消耗Safe Mode。
监控己方Controller.ticksToDowngrade和等级上限,从当前房间选择有Energy与有效WORK部件的Upgrader,并处理upgradeController()范围和全部返回值。
区分 Game.cpu.limit、tickLimit 与 bucket,用前后差值测量代码段CPU,并通过固定样本窗口观察平均值、峰值和可选任务执行条件。
筛选FIND_DROPPED_RESOURCES中的Energy,根据可拾取数量和路径选择目标,处理Resource衰减、容量、目标消失、移动与pickup返回值。
筛选有Energy的Container,按路径和库存选择目标,计算本次amount,并处理容量、敌对Rampart、多Creep竞争、移动与withdraw返回值。
用Creep.store边界和memory.working建立两阶段状态,处理首次初始化、部分Energy、无容量、目标缺失、动作结果和移动结果。
根据room.energyAvailable、角色最低身体和50部件上限组装Worker,计算成本、生成时间、退化方案与spawnCreep返回值。
区分moveTo的ERR_NO_PATH、noPathFinding的ERR_NOT_FOUND和PathFinder incomplete,从目标范围、地形、回调、maxOps与出口逐步排查。
Screeps 中 Creep 动作返回 ERR_NOT_IN_RANGE(-9)时,先确认目标与动作距离,再检查 moveTo() 返回值,并在下一 tick 重试。包含范围 1、范围 3 和 ERR_NO_PATH 排查示例。
解释 COMMODITIES 配方的 components、amount、cooldown 与 level,区分任意等级和高等级商品,并提供带一次性请求、容量检查和全部返回码的 Factory 示例。
从Game.flags和Flag.memory读取带版本的任务配置,校验Creep名称、任务类型和目标范围,并处理跨房间视野、moveTo返回值与过期Memory。
把对象ID和目标房间写入Memory,每个tick重新取得实时对象,并区分目标消失、ID损坏和远程房间暂时没有视野。
解释 Game.notify() 的1000字符、每tick 20条和 groupInterval 分钟规则,并用状态变化、Memory与重复间隔避免 Controller 风险提醒刷屏。
解释模块顶层缓存与 Memory 的区别,使用按房间 Map、版本号和过期时间缓存 Source ID,并在全局重置、缓存过期或对象失效后安全重建。
解释化合物与身体部件的对应关系、每个部件30矿物和20 Energy、bodyPartsCount计数顺序、相邻距离与全部返回码,并提供一次性强化请求示例。
解释三座Lab的输入输出职责、范围2、每次基础反应5单位、REACTIONS配方、输出矿物兼容性和全部返回码,并提供ID配置与离线验证示例。
通过固定ID区分源Link和目标Link,检查同房间、Store、isActive与cooldown,保守计算amount并处理3%损耗和全部返回值。
解释 findRoute() 返回的房间级出口序列、routeCallback 成本和 ERR_NO_PATH,并提供带房间偏好、路线缓存与逐房间移动的完整示例。
用一次性Memory请求创建市场订单,先校验Terminal、参数、5%挂单费用和重复订单,再保存createOrder返回值并处理官方订单上限说明不一致的问题。
使用人工指定订单ID和一次性Memory请求,核对订单类型、当前amount、价格上限、Credits保留线、Terminal与交易Energy后安全调用deal()。
解释Game对象、模块全局变量和Memory的生命周期差异,演示Creep角色状态、版本迁移、对象ID保存和Memory体积控制。
确认RCL6、Mineral储量、同格Extractor、结构状态和Creep容量后调用harvest(mineral),并处理ERR_NOT_FOUND、ERR_TIRED与再生周期。
把角色行为、Memory维护和房间逻辑拆成Node.js风格模块,统一导出契约、错误隔离、角色分派和global reset后的可重建状态。
解释道路、平地和沼泽产生的fatigue,计算有效MOVE部件的恢复能力,并比较空CARRY、满载运输和受伤后的移动频率。
从目标、spawning、MOVE部件、fatigue、路径缓存、交通阻挡和返回值逐步排查,并记录连续tick位置变化。
使用目标绑定确认词和一次性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示例。
明确公开Rampart会允许其他玩家Creep通过,并使用Rampart ID、预期房间、坐标、目标状态和绑定确认词提交一次性setPublic()请求。
解释 RawMemory.setActiveSegments 的下一 tick 时序、0–99 ID 与同时激活上限,并提供空内容、损坏 JSON、版本字段和安全写回的完整示例。
比较 reserveController() 与 claimController() 的目标、持续方式、GCL限制和返回值,并提供带确认条件的远程Controller任务示例。
解释 Room.getEventLog() 返回上一 tick 事件的时序、raw 参数和不同 event.data 结构,并提供己方目标受击筛选、事件汇总与长期记录边界。
解释 Game.rooms[roomName] 为什么可能是 undefined,并在房间不可见时避免继续读取对象。
比较getRangeTo、inRangeTo、isNearTo、isEqualTo、findClosestByRange和findClosestByPath,区分线性距离与真实可达路径。
用RoomVisual绘制Creep状态、目标连线和任务标记,控制可视化开关、对象数量与数据大小,并区分画面提示和真实行为结果。
比较findClosestByPath与findClosestByRange,从FIND_SOURCES_ACTIVE选择可达Source,保存目标ID,并处理无视野、能量恢复和多Creep竞争。
当房间没有采集者时,统一选择一座可用Spawn,计算最小身体、检查当前Energy和dryRun结果,并避免多Spawn重复生成。
用一次性确认任务让指定Creep移动到己方Spawn旁边,检查名称、所有权、相邻距离和recycleCreep返回值,并说明资源返还边界。
在TTL阈值下校验普通Creep、CLAIM部件、Boost、Spawn状态和相邻距离,计算单次续命tick与Energy,并处理renewCreep返回值。
保存StructureSpawn.spawnCreep()的dryRun和正式返回值,检查Spawn状态、名称、身体、Energy、Memory与可选能量结构。
检查room.storage、Store库存和Creep状态,在Storage与Spawn或Extension之间搬运Energy,并处理目标排序、保留量和动作返回值。
使用一次性Memory请求核对源Terminal、目标房间、最小发送量、100字符说明、资源库存、Energy交易成本和保留线,并处理send()全部返回码。
使用FIND_HOSTILE_CREEPS、玩家通行名单、活跃战斗部件和距离选择Tower攻击目标,检查Energy、结构状态与attack()全部返回值。
让可用Tower从FIND_MY_CREEPS中选择受伤比例更高、距离更近的己方Creep,检查Energy、结构状态、距离衰减与heal()全部返回值。
只在房间没有敌人、没有受伤己方Creep且Tower Energy高于保留线时,按耐久比例选择非Wall和Rampart结构并处理repair()全部返回值。
为每个房间配置Wall和Rampart阶段性hits上限,优先选择耐久最低且距离更近的防御结构,并处理Creep.repair()资源、范围与部件返回值。
让 Builder1 按照建造、维修、升级的顺序选择工作,安全检查 Source、Controller 与动作返回值,并暂时排除 Wall 和 Rampart。
写给 Screeps 新手的 Creep 身体部件入门:用简单方式认识 WORK、CARRY 和 MOVE,并把部件与实际动作对应起来。
认识 Harvester1、Upgrader1 和 Builder1,区分角色与身体部件,并理解固定名称只是新手阶段组织任务的方法。
在 RCL 2 房间中放置 Extension Construction Site,安全控制 Builder1 采集和建造,并检查工地与动作返回结果。
用固定名称整理 Harvester1、Upgrader1 和 Builder1,把安全检查、创建、运输、升级、建造、维修和返回值处理放进一份新手可读代码。
写给 Screeps 新手的第一只 Creep 创建教程:安全找到 Spawn,准备 WORK、CARRY、MOVE 身体,设置名称并检查 spawnCreep() 返回结果。
安全创建并控制 Upgrader1,让它在 Source 与 Controller 之间往返,认识 upgradeController()、Memory 状态切换和返回结果。
写给 Screeps 新手的运输入门教程:安全判断 Creep 是否装满,让它返回 Spawn、交付能量,再重新前往 Source。
写给 Screeps 新手的第一段 Creep 控制教程:安全找到自己的 Creep 和 Source,让它自动靠近并开始采集能量。
第一次进入 Screeps 时,先找到房间视图、代码编辑器和 Console,再用安全的只读命令确认 Room、Spawn、Source、Controller 与 Creep。
用一篇新手入门文章认识 Screeps: World:它与普通策略游戏有什么不同、玩家需要做什么,以及 Room、Creep、Spawn、Source 和 Controller 如何组成基础循环。
用新手能理解的方式解释 Screeps 的 tick、Game.time、module.exports.loop,以及为什么脚本执行和 Creep 行动不会在同一步完成。