鉴于必须有一组特定的角色并且必须没有指定的合作伙伴,因此很难找到最接近小兵的小兵。
这是为了建立专门的矿工和专门的能源载体(它们必须找到最近的矿工或收割机并携带它们的能量)。
我试过(其中cree变量是运行脚本的cree):
var nearestMinerCreep = creep.pos.findNearest(Game.MY_CREEPS, {
filter: function(creep) {
return (creep.memory.role == "miner"
|| creep.memory.role == "harvester")
&& !creep.memory.partner;
}
});
但 findNearest() 似乎已被贬低。用 findClosestByPath() 和 findClosestByRange() 的变体替换它也不起作用。我能做的最好的就是通过这个获得一个cree的位置:
var nearestPos = (creep.pos.findfindClosestByPath(FIND_MY_CREEPS)).pos;
但由于需要转移能量,这是未经过滤且不够具体的。提前感谢您的帮助!