Дела подпольные. Java Script

Ребят, проблемы возникли с кодом
написал все, что требовалось в уровне

// Собери 300 золотых и убеги из подземелья.

function onSpawn(event) {
// Отправь животное гулять по поземелью:

   var coin = pet.findNearestByType("gold-coin");
    pet.moveXY(coin.pos.x, coin.pos.y);

// Не забыть возвратить его своему герою:
pet.moveXY(hero.pos.x, hero.pos.y);

}

pet.on(“spawn”, onSpawn);

while(true) {
// Охраняй крестьян:
var enemy = hero.findNearestEnemy();
if (enemy) {
hero.attack(enemy);
}
// Когда соберёшь более 300 золотых, двигайся к красной отметке:
if (hero.gold > 300) {
hero.moveXY(50, 34);
}
}

Герой атакует скелетов, но сундук упорно не хочет уходить от героя
И варнинг вылезает почему то именно на строчку hero.attack(enemy);
и тут я вообще прилип

Бывает, что предупреждение с предыдущим текстом вылазит на новую ошибку. Или на строку, следующую после ошибочной.
В целом, часто в случае проблем я перебираю код, выполняя построчно или блоками, меняя переменные или условия, чтобы взглянуть, что работает, а что - нет и в чём проблема.

По коду - я на Python’е прохожу и по JavaScript’у не помогу, но код хорошо бы правильно отформатировать (кнопка </> над полем ввода сообщения).

Так же прошу помощи по этой же локации: “Пустыня Сарвен, Дела подпольные.” Вот мой код:

# Собери 300 золотых и убеги из подземелья.

def onSpawn(event):
    # Отправь животное гулять по подземелью:
    pet.moveXY(24, 15)
    item = pet.findNearestByType("gold-coin")
    if item:
        pet.moveXY(item.pos.x, item.pos.y)
    # Не забыть возвратить его своему герою:
    else:
        pet.moveXY(hero.pos.x, hero.pos.y)
    pass

pet.on("spawn", onSpawn)

while True:
    # Охраняй крестьян:
    enemy = hero.findNearestEnemy()
    if enemy:
        hero.attack(enemy)
    # Когда соберёшь более 300 золотых, двигайся к красной отметке:
    if hero.gold >= 300:
        hero.moveXY(50, 35)
    pass
  1. Дело в том, что питомец (сундучок-мимик) Стоит рядом с героем и ни куда не идет.
  2. Счетчик золота в ЛЮБОМ случае движется и до конца тайма доходит до 150. так и должно быть?
  3. Если я принудительно отправляю питомца гулять в поисках монет через pet.moveXY(с координатами) или с помощью pet.fetch(item) - то он ни чего не собирает. А монетки странно себя ведут - они “притягиваются” к сундучку и просто лежат рядом (см скрин).

Это всё баг или есть какая то фишка, о которой еще нужно догадаться?

Короче, решил кое-как… не знаю правильно или нет, но прошел уровень.
Собрал в кучу все сокровища с помощью питомца.
А потом с помощью флагов забрал всё это героем и смылся из подземки )))

Не забывайте, домашнее животное «подметает» деньги, просто находясь рядом с ним, поэтому вам не нужно использовать «find.nearest». Пусть он спустится по середине рядов монет с западной стороны на восток, затем спустится по середине, идет на юг и, наконец, вернется к западной стене, а затем до начальной позиции. В этот момент попросите его вернуться к координатам героя.

English

Don’t forget, the pet “sweeps” the money up, just by being near it, so you don’t need to use ‘find.nearest’. Have him go down the middle of the rows of coins, from the west side to the east, then head down the middle, going south and finally, head back to the west wall and then up to the starting position. At that point, have him return to the hero’s coordinates.