Why doesn't my hero not collect items after building fences

here is my code and armor

var enemy = hero.findNearestEnemy();


hero.buildXY("bear-trap", enemy.pos.x,enemy.pos.y);
hero.buildXY("fence", enemy.pos.x-2.5,enemy.pos.y-2.5);
hero.buildXY("fence", enemy.pos.x+2.5,enemy.pos.y+2.5);
hero.buildXY("fence", enemy.pos.x-2.5,enemy.pos.y+2.5);
hero.moveXY(hero.pos.x+5, hero.pos.y);
hero.buildXY("fence", enemy.pos.x+2.5,enemy.pos.y-2.5);




while(true) {
    var flag = hero.findFlag();
    var enemy = hero.findNearestEnemy();
    var item = hero.findNearestItem();

    if (flag) {
        // What happens when I find a flag?
        hero.blink(flag.pos);
        hero.pickUpFlag(flag);
    }
    
        
    }
    
    if (item) {
        // What happens when I find an item?
        if (hero.isReady("blink")) {
            hero.blink(item.pos);
        }
        else {
            hero.move(item.pos);
        }
    }
    


What’s the level?

Hi riticmaster9087,

You’ve put two } brackets in after the if statements about flags. Those will close the while(true) loop, and the code for collecting items will never run.

For future reference, it’s useful if you can tell us which level you’re playing, and preferably please don’t tag lots of people when you’re asking general questions.

Cheers,

Jenny

3 Likes

thanks it is multiplayer treasure grove

How do you do the solution marking thing again?

MY NEW CODE

var enemy = hero.findNearestEnemy();
hero.buildXY("bear-trap", enemy.pos.x,enemy.pos.y);

hero.buildXY("fence", enemy.pos.x-5,enemy.pos.y);
hero.moveXY(hero.pos.x, hero.pos.y-2);

hero.buildXY("fence", enemy.pos.x-2.2,enemy.pos.y-2.2);
hero.moveXY(hero.pos.x, hero.pos.y-2);
hero.buildXY("fence", enemy.pos.x+2.3,enemy.pos.y+2.2);
hero.buildXY("fence", enemy.pos.x-2.2,enemy.pos.y+2.2);
hero.buildXY("fence", enemy.pos.x-3,enemy.pos.y);

hero.buildXY("fence", enemy.pos.x+2.3,enemy.pos.y-2.2);
hero.moveXY(hero.pos.x, hero.pos.y-8);
function diffrentItem(){
    var item = hero.findNearestItem();
    var items = hero.findItems();
    
    if (item&&hero.isPathClear(hero.pos, item.pos)) {
        // What happens when I find an item?
        
    hero.move(item.pos);

}else {
    hero.move(items[0].pos);
}

}


while(true) {
   
diffrentItem();
    
    
        
    
    
    
    }
    






Maybe you build bear-trap for enemy hero?

I copied your code, and when I added punch to enemy and commented all “hero.moveXY” between hero.build fence, it worked.

thanks guys it works

1 Like