Genbot v13.2.1 [Updated 07/23/2004] Defend, Guard, Protect!

Post your completed (working) macros here. Only for macros using MQ2Data syntax!

Moderator: MacroQuest Developers

gus
a lesser mummy
a lesser mummy
Posts: 70
Joined: Fri Apr 09, 2004 11:58 pm

Post by gus » Thu Jul 29, 2004 9:26 am

If I call out "heal me" every one of my bots tries to heal me, even the bards, chanters and wizards. ;)

Few ideas here...

1) Change this to work off the DoHeals toggle. This is bad though because the bot can only heal if an active healer.

2) Or, add a DoCalledHeals toggle. Yet another configuration option, but ultimately flexible.

3) Or, let me specify value of NONE for DefaultHealSpell, which will cause the bot to silently abort the casting process. Currently every one of the bots yells he's going to mem his heal spell, then bitchs he cannot find "Name of Default Heal Spell" in his spellbook. ;) This has the downside of not allowing you to toggle the ability on or off.

I'm leaning toward (2), as (3) sets a bad precident for runtime flexibility.

--gus

omper
a ghoul
a ghoul
Posts: 110
Joined: Sat Dec 06, 2003 10:46 pm

Post by omper » Thu Jul 29, 2004 11:13 am

i got one thing that i wold like to see implemented. well couple anyway..


1 Heal interupt .. do a check to see if the target got another heal before yours landed.

2 Buff wont hold check.. if buff wont hold then dont keep trying to cast it. drop that buff from the list.

3 someway to remove someone from your buff list.. IE .. you start the day out with a person in your gorup.. so you buff him.. well after about 3 hours he takes off.. and someone else joins. well your bot continues to try to buff the first person. So how bout .. /tell bot stopbuff on Playerabc.


omper

ascii38
a grimling bloodguard
a grimling bloodguard
Posts: 506
Joined: Sat Jul 17, 2004 8:06 pm

Post by ascii38 » Thu Jul 29, 2004 3:09 pm

Vexix wrote:to:

Code: Select all

      /if (${CheckName} && ${ChatText.Arg[1].NotEqual[${Me.CleanName}]}) /return 
      /if (${ChatText.Arg[1].Equal[${Me.CleanName}) { 
Lemme know if that works.
That doesn't work, but

Code: Select all

      /if (${CheckName} && ${ChatText.Arg[1].NotEqual[${Me.CleanName}]}) /return 
      /if (${ChatText.Arg[1].Equal[${Me.CleanName}]}) {
does. There is a "]}" missing after the second "Me.CleanName}".

gus
a lesser mummy
a lesser mummy
Posts: 70
Joined: Fri Apr 09, 2004 11:58 pm

Post by gus » Thu Jul 29, 2004 7:09 pm

Issues I've noticed with chainnuke command:

When I call out a 'chainnuke' for my wizard, my cleric stops healing, until I call out a 'stop'. The cleric is _not_ configured to do chain casting. The wizard is the only one in the entire group.

The chainnuking wizard does not quickly recognize when the mob is dead. And generally requires me to issue a 'stop', then wait until he says unable to /assist Master. Afterwhich, the wizzy seems to be back to normal.

I may be encountering times where chainnuke calls cause my melee bots to stop responding (similar to the cleric), but I'm not certain that is what it is yet. Need to work on duplicating it.

I'm also having issues with melee movement toward the mob on /assist. For example, both my bard and bst are facing the mob, the bard runs directly toward the mob and engages. The bst for some stupid reason, decides to back up, turn to the side, and flank the damn mob. No idea why, he's not stuck so that backtracking logic is not necessary. Easist means to disable that behaviour was to place an early /return in the Hittobst sub before it starts doing the turning and backing up stuff (wtf kinda sub name is that anyway, I'll be damned if I can figure out what it means). FYI, this particular problem started when I upgraded from 13.1.2 to 13.2.1, the chainnuke problems existed in both.

Keep up the good work Vexix, I really do appreciate it. If there was a means of donating to macro developers like yourself, I would.

--gus

El
a ghoul
a ghoul
Posts: 108
Joined: Mon Dec 29, 2003 12:34 pm

Post by El » Fri Jul 30, 2004 1:42 am

Vexix, some odd movement behavior with your latest. Note that I have the latest moveutils plugin installed.

1. Porting to PoK with my botted druid. I moved to the closest wall, and issued a "moveto me" command. The druid took off towards the halfling bank and ran until he got stuck. This happens every time, although sometimes the direction will differ. Very odd.

2. Zoning between Grimling Forest and Tenebrous Mountains, the druid bot following me with the "follow me" command. We zoned over, and the druid bot immediately backed up, and zoned back. He then moved to the wall and got stuck. I tried this several different ways with the same results.

3. Not movement related. Issued a "reload" command and the bot stopped taking commands after that.

Thanks for your hard work on this macro!

Vexix
Genbot Janitor
Posts: 245
Joined: Sat Apr 17, 2004 10:10 am

Post by Vexix » Fri Jul 30, 2004 7:36 am

Hey guys,

Off for a vacation this weekend. Didn't get the documentation updated for 13.3.0, so it will be posted some time after my return along with the new version.

Gus, the issues you're talking about will eventually be handled by having those routines check to see if the default values of the correspondings vars have been changed from default. If not, function will be disabled. I don't wanna add in any more toggles if not necessary.

Moveto me isn't implemented yet. Use your char name. The zone, re-zone thing is a problem I've noticed too. Will work on it when I get back. Also, the oversensitivity to any little bump causing the HitObstacle routine to run.

Reload is also a dead function. Will note that in the updated doco.

Thanks for the thought about donating. :) Feel free to donate to the MQ2 devs on my behalf. As for supporting me directly, help with code, comments, and bug reports are all I ask. :D

After next release, I'm going to spend a bit of time updating Ml2157's beautiful advpath code to fix gt; stuff, and also, I have an idea for elminating that cha-cha-cha it does in laggy environments. :D Wish me luck!

--Vexix

Tuna
a lesser mummy
a lesser mummy
Posts: 68
Joined: Mon Jul 21, 2003 4:10 pm

Post by Tuna » Fri Jul 30, 2004 7:45 am

gus wrote:Keep up the good work Vexix, I really do appreciate it. If there was a means of donating to macro developers like yourself, I would.

--gus
USPS + checks and/or PayPal? :P

ascii38
a grimling bloodguard
a grimling bloodguard
Posts: 506
Joined: Sat Jul 17, 2004 8:06 pm

Post by ascii38 » Sat Jul 31, 2004 7:51 pm

help with code
Well, since you asked, heres a couple of changes that I've put in to spellcast.inc my copy of genbot.

The first change is to the CheckCann function. The way it's written, it's possible to drop the Shaman down to frenzy range (depending on his hit point pool) with Canni5. It may even be mathmatically possible to kill him outright, since Canni5 takes 1924HP but the check is for 1900 (he would have to be above 60% health with less than 1924HP in order to Canni-cide).

Code: Select all

Sub CheckCann
   /if (!${Me.Moving}) {
      /if (${Me.CurrentMana}<${Me.MaxMana}-1066 && ${Me.CurrentHPs}>${Me.MaxHPs}\5+1924 && ${CannAATimer}<=0) {
         /alt activate 47
         /varset CannAATimer 3m
         /return
      }
      /if (${Me.PctHPs}<70 && !${Me.Buff["Quiescence"].ID}) {
         /if (${DebugList.Find[spell]}) /echo CheckCann "Quiescence" "${Me.Name}"
         /call AddCast "Quiescence" ${Me.Name} buff 
         /return
      }
      /if (${Me.PctMana}<95 && ${Me.PctHPs}>=40 && ${CannTimer}<=0 && !${CastStep}) {
         /if (${DebugList.Find[spell]}) /echo CheckCann "${CanniSpell}" "${Me.Name}"
         /call AddCast "${CanniSpell}" ${Me.Name} buff
         /varset CannTimer 4s
      }
   }
/return
I changed the percentage checks to hard number checks for Canni5. If you're down more than 1066 mana and are 1924HP over frenzy range (frenzy is 20%, right?) it will fire off Canni5.

I also stuck a health check in here. I figured that while other classes may want to self heal with a HoT, Shamans get the most use out of their HoT when cast after a Canni, so I put it in the Canni routine. If health drops below 70%, it will cast Quiescence. The spell should probably be configurable from the INI file but since I have Q, I just stuck it in there.

I've also changed the CheckYaulp routine. I got rid of the Yaulp timer. Instead, I directly check for the buff. Also, if the bot is in combat he will cast Yaulp even if he's at full mana. I figure that the +ATK and +DEX is good for the meleeing cleric even if the Mana Regen is going to waste. Yaulp overwrites some spells that may be more useful in combat, but if you're yaulping for mana you'll overwrite them anyway.

Code: Select all

Sub CheckYaulp
   /if (!${Me.Moving}) {
      /if ((${Me.PctMana}<95 || ${CombatTargetID}) && !${Me.Buff["${YaulpSpell}"].ID}) {
         /if (${DebugList.Find[spell]}) /echo CheckYaulp "${YaulpSpell}" "${Me.Name}"
         /call AddCast "${YaulpSpell}" ${Me.Name} buff
      }
   }
/return

nbjeter3
a lesser mummy
a lesser mummy
Posts: 39
Joined: Wed Jan 21, 2004 12:18 am

Help Me please! What am I doin wrong?

Post by nbjeter3 » Mon Aug 02, 2004 5:49 am

Ok, I admit I haven't used Genbot since the new MQData systems have come out. So, now I have reason to, and everytime I try to load it up, no matter what version I use, I immediately CTD. no errors, no messages, nothing to log. Just simply I Type /mac genbot <Playername here> and poof! I'm staring at my desktop with a very confused look on my face. I've tried it with a few friends that run MQ and they get the same problem. What on earth am I doin wrong? It never even attempts to generate the .ini file its supposed to. HELP please! I used to love using this macro. Now I wish I still could.
Don't hate Me cuz I'm beautiful.. I Can give you MUCH better reasons Than That....

Noone Likes A necro... till Mid-battle And They're OOM..

User avatar
Cr4zyb4rd
Plugins Czar
Posts: 1449
Joined: Tue Jul 20, 2004 11:46 am

Post by Cr4zyb4rd » Mon Aug 02, 2004 8:13 am

Tried looking at the spew file? Often a good place to start.

/spew on

And look in the logs directory from where you run mq. Although you really shouldn't be getting CTD under any circumstances...it might be a good idea to RTFM at the section on reporting CTD problems.

nbjeter3
a lesser mummy
a lesser mummy
Posts: 39
Joined: Wed Jan 21, 2004 12:18 am

Not An MQ Problem though

Post by nbjeter3 » Mon Aug 02, 2004 8:43 am

If it was an MQ problem I would post it in the proper place... Except I only get CTD when i try to run Any version of Genbot...no other time.. which is whats upsetting to me.. lol I can run my TS macros, I can run my spell casting and other macros... its just Genbot That causes the CTD hence why I posted it here.. In the genbot topic. So, After RTFM'ing all night long and i cannot come up with a solution.... I decided to post here... I'll try the /spew command and see if it gives any results.. Thanks for that suggestion.
Don't hate Me cuz I'm beautiful.. I Can give you MUCH better reasons Than That....

Noone Likes A necro... till Mid-battle And They're OOM..

nbjeter3
a lesser mummy
a lesser mummy
Posts: 39
Joined: Wed Jan 21, 2004 12:18 am

here's The Debug Spew

Post by nbjeter3 » Mon Aug 02, 2004 8:56 am

CCommandHook::Detour(/mac genbot bob)

Macro - Loading macro: C:\f Drive\mq2-dataconversion\Macros\genbot.mac
Like I said.. no info.. no crash info... Just Load .. and Boom!.. Desktop... That quick.. (name Changed in Mac Command To protect The innocent. :-P )
Don't hate Me cuz I'm beautiful.. I Can give you MUCH better reasons Than That....

Noone Likes A necro... till Mid-battle And They're OOM..

ztrike
a ghoul
a ghoul
Posts: 83
Joined: Fri Mar 26, 2004 1:17 pm
Contact:

Post by ztrike » Mon Aug 02, 2004 9:56 am

... and what does your log file say?
Ztrike out

User avatar
Cr4zyb4rd
Plugins Czar
Posts: 1449
Joined: Tue Jul 20, 2004 11:46 am

Post by Cr4zyb4rd » Mon Aug 02, 2004 3:31 pm

Although you really shouldn't be getting CTD under any circumstances
I guess this was the tricky tricky part. If genbot's able to trigger a CTD, it's a problem with MQ.

bob_the_builder
a hill giant
a hill giant
Posts: 275
Joined: Tue Jul 22, 2003 1:22 pm

Post by bob_the_builder » Mon Aug 02, 2004 4:00 pm

I guess this was the tricky tricky part. If genbot's able to trigger a CTD, it's a problem with MQ.
If you are using the macros that have the lt; or gt; symbols instead of < or > that can cause a CTD. And that's not necessarily a problem with MQ2, just a problem that you didn't change your macros.

Bob