[SOLVED]Help with Wishing Well


#1

hello everyone,

i’m having problems with wishing well. my hero will collect all the coins, which isn’t 104, and then an error will pop up that says "cannot read property pos of undefined.

// You need exactly 104 gold. 

var less = "Nimis";
var more = "Non satis";
var requiredGold = 104;

// This function calculates the sum of all coin values.
function sumCoinValues(coins) {
    var coinIndex = 0;
    var totalValue = 0;
    // Iterate all coins.
    while (coinIndex < coins.length) {
        totalValue += coins[coinIndex].value;
        coinIndex++;
    }
    return totalValue;
}

function collectAllCoins() {
    var item = hero.findNearest(hero.findItems());
    while (item) {
        hero.moveXY(item.pos.x, item.pos.y);
        item = hero.findNearest(hero.findItems());
    }
}

while (true) {
    var items = hero.findItems();
    // Get the total value of coins.
    var goldAmount = sumCoinValues(items);
    // If there are coins, then goldAmount isn't zero.
    if (goldAmount !== 0) {
        // If goldAmount is less than requiredGold
        // Then say "Non satis".
        if (goldAmount < requiredGold){
            hero.say(less);
        }
        // If goldAmount is greater than requiredGold
        if (goldAmount > requiredGold){
        // Then say "Nimis".
        hero.say(more);
        }
        // If goldAmount is exactly equal to requiredGold
        if (goldAmount == requiredGold){
        // If there is exactly 104 gold, then collect all coins.
    
        }
    }
     hero.moveXY(items[0].pos.x,items[0].pos.y);

    }

Thanks!


#2

The error is coming from here:

for some reason it doesn’t work but you don’t need it anyway so I won’t try and work it out if you don’t mind. Instead use the collectAllCoins() function when the (gold Amount == required Gold).
Another thing: you’ve muddled up more and less and “Nimis” and “Non Satis” which is very easy since it’s a different language so you can’t even tell, you just need to switch the less with the more and the more with the less.
Apart from that your code is right. :grin:


#3

that did it! you, sir, a true gentleman and a scholar


#4

But thank you my kind sir for such a polite and gracious comment.


#5

uh, okay…?(20 char)


#6

What r u trying to say? Eh?


#7

wait, question mark?


#8

I’m just speaking nonsense, it doesn’t make sense.