Page 6 of 7

Posted: Thu Jul 29, 2004 9:26 am
by gus
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

Posted: Thu Jul 29, 2004 11:13 am
by omper
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

Posted: Thu Jul 29, 2004 3:09 pm
by ascii38
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}".

Posted: Thu Jul 29, 2004 7:09 pm
by gus
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

Posted: Fri Jul 30, 2004 1:42 am
by El
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!

Posted: Fri Jul 30, 2004 7:36 am
by Vexix
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

Posted: Fri Jul 30, 2004 7:45 am
by Tuna
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

Posted: Sat Jul 31, 2004 7:51 pm
by ascii38
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

Help Me please! What am I doin wrong?

Posted: Mon Aug 02, 2004 5:49 am
by nbjeter3
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.

Posted: Mon Aug 02, 2004 8:13 am
by Cr4zyb4rd
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.

Not An MQ Problem though

Posted: Mon Aug 02, 2004 8:43 am
by nbjeter3
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.

here's The Debug Spew

Posted: Mon Aug 02, 2004 8:56 am
by nbjeter3
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 )

Posted: Mon Aug 02, 2004 9:56 am
by ztrike
... and what does your log file say?

Posted: Mon Aug 02, 2004 3:31 pm
by Cr4zyb4rd
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.

Posted: Mon Aug 02, 2004 4:00 pm
by bob_the_builder
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