2017-02-07 64 views
0

鑑於必須具有一組特定的角色並且不能有指定的夥伴,找到最接近蠕變的蠕變非常困難。尋找最接近蠕變的特定蠕變

這是爲了建立專門的礦工和專用能源載體(必須找到最近的礦工或收割機並運輸能量)。

我試過(其中蠕動變量是運行腳本的蠕變):

var nearestMinerCreep = creep.pos.findNearest(Game.MY_CREEPS, { 
       filter: function(creep) { 
        return (creep.memory.role == "miner" 
        || creep.memory.role == "harvester") 
        && !creep.memory.partner; 
       } 
      }); 

但findNearest()似乎已經depricated。將它替換爲findClosestByPath()和findClosestByRange()的變體也不起作用。我已經能夠做的最好的就是爬行的位置是:

var nearestPos = (creep.pos.findfindClosestByPath(FIND_MY_CREEPS)).pos; 

但這是未經過濾的,不夠具體,因爲需要傳遞能量。預先感謝任何幫助!

回答

1

Game.MY_CREEPS不是一個正確的常量,所以我認爲這可能是問題的一部分。

正如在APIpos.findClosestByPath中寫的那樣,接受附加參數,包括過濾功能。所以正確的代碼可能是

let nMCreep = creep.pos.findClosestByPath(FIND_MY_CREEPS, { 
    filter: function(creep) { 
    return (creep.memory.role == "miner" 
     || creep.memory.role == "harvester") 
    && !creep.memory.partner; 
    } 
}); 
+0

是的,這是整個問題,謝謝 – Mir