static MeleeEvaluate me;6. Then, inside run(), but outside the infinite loop (right after
public void run()
), copy and paste this code:
if(me==null){ me=new MeleeEvaluate(this); } Condition go=new Condition("go"){ public boolean test(){ return true; } }; go.setPriority(100); addCustomEvent(go);If your bot uses blocking calls, make sure this code goes before the blocking calls in run() 7. Finally, copy and paste this code right outside run() (as an event):
public void onCustomEvent(CustomEvent e){ me.execute(); }8. Compile your bot, run it in battles, and watch the console!
I've started on a "Melee Evaluater"... First, a quick question: IS IT POSSIBLE to HAVE a, say onScannedRobot, from ANOTHER CLASS that HAS an ADVANCEDROBOT which is the AdvancedRobot I'm trying to get the onScannedRobot from? In other words, when an event occurs in a robot, can another class that has an instance (if my Java terminology is correct :) ) of the robot "catch" the event? If not, then the bot will have to have "meleeeval.onHitRobot?(e)", "meleeeval.onHitByBullet?(e)", etc. which will make implementing the evaluater into bots harder... --Starrynte
Yes, you can do bot.getAllEvents?();. However, this has to be called after the execute() and some events will be ignored, eg. those with a priority of 100. You have to create an event that has a priority of 99 and put the event distribution code in there. -- Skilgannon