Forum: PogamutUT2004

Detecting Health Pack Pick Up

I'm trying to see how many health packs does the bot take for certain time. Is there a way to know or create an event when a health pack is acquired by the bot?
I'm using Pogamut 3.1 RC1
You need to create a listener for ItemPickedUp event. Something like this:

int healthItemCount = 0;

    //Listener to ItemPickedUp event
    IWorldEventListener myListener = new IWorldEventListener() {
        public void notify(ItemPickedUp event) {
            if (event.getType() == ItemType.MINI_HEALTH_PACK
                    || event.getType() == ItemType.HEALTH_PACK
                    || event.getType() == ItemType.SUPER_HEALTH_PACK)
                healthItemCount++;
        }
    };

    @Override
    public void botInitialized(GameInfo info, ConfigChange currentConfig, InitedMessage init) {
        //Don't forget to register the listener!
        getWorldView().addEventListener(ItemPickedUp.class, myListener);
    }


Don't forget to register the listener in botInitialized method as shown above. Does this help?

best,
Michal

PS.: There are tutorials here - that can help you get started.
That helped, I missed registering the listener in botInitialized. Now it's working perfectly fine.
Thanks