Genbot Version 12 MQ2Data Ready

A forum for you to dump all the macros you create, allowing users to use, modify, and comment on your work.

Moderator: MacroQuest Developers

Nightshift
a lesser mummy
a lesser mummy
Posts: 54
Joined: Mon Oct 13, 2003 8:52 am

Post by Nightshift » Sun Apr 25, 2004 8:03 pm

LordGiddion wrote:Nightshift: if the spell is not currently mem'd the bot should mem it in slot 8 to re-buff the target
Not seeing it do it. It works fine as long as the spell is mem'd already. I will test more and make sure it isn't something I am doing. Could be lag on that machine.

I don't get any errors.

NightShift

newb-n-training
a lesser mummy
a lesser mummy
Posts: 39
Joined: Mon Apr 19, 2004 8:51 pm

Post by newb-n-training » Sun Apr 25, 2004 8:17 pm

First - thanks to Diggler on his previous work with Genbot. I'm yet another of the many who benefitted from his efforts to keep it up to date.

LordG - thanks for taking the reigns. To answer your user feedback question, I was always a fan of this feature in Xylobot. That timer was set to recast once every minute then consider it a "fail" if after 3 recasts, removing the buff in question from consideration. This would give the user time to remove the offending buff, or else leave a more powerful buff in place.

At the risk of sounding like I'm begging for someone to do my coding, one other item I always liked in Xylobot (and perhaps you're already working it) is when recasting a buff on several individuals --
Remem spell A for player A who's timer is almost up.
Realize timer for player B is ALMOST up and cast on player B, resetting both timers.

Still trying to learn array's myself and nowhere near ready to take this on though.

LordGiddion
a snow griffon
a snow griffon
Posts: 352
Joined: Sat Sep 13, 2003 6:12 pm
Contact:

Post by LordGiddion » Sun Apr 25, 2004 8:26 pm

OK half hearted update here, not everything I wanted to get into the update is there but I won't get much chance to update again till late tuesday so I wanted to get something out there.

newb-n-training: I'm not sure what your asking about, I think all the old functions are there, I don't remember old Genbot re-casting buffs without you commanding it to. This version does. If you could be clearer about what you used to do that the bot isn't doing now I'll make sure to fix it. If your talking about the old "buff" command you can make a INI shortcut to do the same command just with a different name.

I guess my new command using the same name as the old simple one has some people confused; maybe I should have used a different name. I'll think about renaming my command to autobuff so that people can make a buff command in thier INI files.

newb-n-training
a lesser mummy
a lesser mummy
Posts: 39
Joined: Mon Apr 19, 2004 8:51 pm

Post by newb-n-training » Sun Apr 25, 2004 8:30 pm

hehe ... sorry if I was confusing.

I like the recast feature you're adding to Genbot. It is exactly like a feature I used to use in another program (Xylobot) before starting to play w/ MQ.

wassup
Official Guardian and Writer of TFM
Official Guardian and Writer of TFM
Posts: 1487
Joined: Sat Oct 26, 2002 5:15 pm

Post by wassup » Sun Apr 25, 2004 8:50 pm

OK, I tracked down where it's happening... but not why:

In BotCore

Code: Select all

/return
   :ExecCommand
   /declare CommandLen local
   /declare ParamLen local
   /echo BotCore EventChat 1: ${String[@Param2].Arg[1]}
   [color=cyan]/varset CurrCommand ${String[@Param2].Arg[1]}[/color]
echo's a NULL when the error comes up

Code: Select all

Sub Do-Setvar
   /if (!${Defined[Param0]}) /return
   /declare VarLen local
   /declare ValueLen local
   /declare VarName Local
   /echo @CommandParm
   /echo @CurrCommand
   /varset VarName ${String[@CommandParam].Arg[1]}
   /echo Bot Core Event 3: @VarName
  [color=cyan] /varset VarLen ${String[@CurrCommand].Length}[/color]
   /echo @Bot Core Event 4: @VarLen
echos a 4 when the error happens

Event 1 and event 4 are where the errors are happening... seems to come from targetting.


Also... it seems to be connected to

ListenGroup=1
ListenChat=1

in the character ini.

If I set those to 0 the problem seems to go away
Last edited by wassup on Sun Apr 25, 2004 9:47 pm, edited 2 times in total.

Mortedamour
orc pawn
orc pawn
Posts: 28
Joined: Tue Jan 07, 2003 2:30 pm

Post by Mortedamour » Sun Apr 25, 2004 8:51 pm

Might want to Add Berserker class to BotHealer.inc

Code: Select all

   /if ((${String[@TankList].Equal[NotFound]})&&(${String[@CasterList].Equal[NotFound]})) {
         /ini "@IniFile" Healer TankList "Warrior|Shadow Knight|Paladin|Monk|Beastlord|Ranger|Shaman[color=red]|Berserker[/color]"
         /ini "@IniFile" Healer CasterList "Necromancer|Wizard|Enchanter|Magician|Rogue|Druid|Cleric|Bard"
         /ini "@IniFile" Healer 
      }
   }

xander
a lesser mummy
a lesser mummy
Posts: 33
Joined: Thu Apr 22, 2004 11:40 pm

Re: Sitting

Post by xander » Sun Apr 25, 2004 9:51 pm

Wassup wrote: If it always returned a NULL when you were sitting then I would think it was a bug. The code itself is fine.

As far as yours goes...

You should look at return types:

.State returns a string, so in your example you are converting a string to a string... will work, but why?

Code: Select all

/if (${Me.State.Equal[STAND]}) /sit
does the same thing.
Simply because I didn't know any better. :) Thanks for the tip. I'll grab a new .ZIP and see if that was my problem, thought what I had was up to date, but maybe not.
Xander

wilddoug
orc pawn
orc pawn
Posts: 12
Joined: Tue Jul 01, 2003 11:18 am

Anchor

Post by wilddoug » Sun Apr 25, 2004 10:30 pm

Here's the error dropped when using "anchor":

Unmatched bracket found in index: '220.13,$(Me.x'
Ending Macro: Calculate encountered unparsable text '0.00'
genbot.mac@104 (Main): /if (${Math.Distance[@AnchorX,@AnchorY}}>@AnchorRadius) {
Cleared the following: Timers Arrays
The current macro has ended.
Failed to parse /if condition '(NULL}}>6)', non-numeric encountered
Error: {

The MasterToon gets a reply: 'Created anchor at loc: 220.13,$(Me.x}.'


The first problem appears to be in botcore.inc@1036 in the Do-anchor routine while setting AnchorY

Old:

Code: Select all

/varset AnchorY $(Me.X}
New:

Code: Select all

/varset AnchorY ${Me.X}
The second half of anchor being broken is at genbot.mac@104.

Old:

Code: Select all

/if (${Math.Distance[@AnchorX,@AnchorY}}>@AnchorRadius) {
New:

Code: Select all

/if (${Math.Distance[@AnchorX,@AnchorY]}>@AnchorRadius) {
With these two changes, anchor works perfectly.
Last edited by wilddoug on Sun Apr 25, 2004 11:00 pm, edited 1 time in total.

dirx
orc pawn
orc pawn
Posts: 21
Joined: Fri Dec 05, 2003 1:00 am
Location: orlando

Post by dirx » Sun Apr 25, 2004 10:52 pm

Is anyone else haveing problems with the Auto-getbehind function. Mine errors out when i enable it in the .ini. Only problem I am haveing though.

Thanks,

Dirx

wassup
Official Guardian and Writer of TFM
Official Guardian and Writer of TFM
Posts: 1487
Joined: Sat Oct 26, 2002 5:15 pm

Post by wassup » Mon Apr 26, 2004 1:54 am

Turning off the Listen seems to have eliminated the problem I had before.

Only issue I can see now with the bot being a cleric is with PetHeal on, it doesn't target the pet, it targets the master.

fez_ajer
a ghoul
a ghoul
Posts: 106
Joined: Fri Apr 23, 2004 6:44 pm
Location: If I was up your ass you'd know where I was...

Sit after cast

Post by fez_ajer » Mon Apr 26, 2004 2:47 am

Well, I've got it working for me... Here's what I did:

botspell.inc line 178: COMMENT IT OUT

Code: Select all

|/if (@SitAfterCast) /varset SitTimer 1140m 
botspell.inc line 267: Change to this

Code: Select all

/if (${Me.Standing} && @SitAfterCast==1) /varset SitTimer @DelayBeforeSit
I don't know that the second change is necessary, but it works nicely here.

LordGiddion
a snow griffon
a snow griffon
Posts: 352
Joined: Sat Sep 13, 2003 6:12 pm
Contact:

Post by LordGiddion » Mon Apr 26, 2004 4:13 am

My next update will be delayed, I won't update till I have MQ2DataVars implimented.
Thank you everyone for finding my typos and posting them. I'll try to make sure that all of them that you find make it into the next update. To be honest with as many /if statements and $parms this thing had I'm surprised I didn't make more typos/mistakes then I did.

wassup
Official Guardian and Writer of TFM
Official Guardian and Writer of TFM
Posts: 1487
Joined: Sat Oct 26, 2002 5:15 pm

Post by wassup » Mon Apr 26, 2004 5:27 am

Works great LG... with a few changes I made and turning off a few switches... at least for what I wanted genbot for.

fez_ajer
a ghoul
a ghoul
Posts: 106
Joined: Fri Apr 23, 2004 6:44 pm
Location: If I was up your ass you'd know where I was...

A couple more buglets...

Post by fez_ajer » Mon Apr 26, 2004 1:26 pm

botcombat.inc line 71:

Code: Select all

         /if (${Math.Distance[@AnchorX,@AnchorY}}>@AnchorRadius) {
should be:

Code: Select all

         /if (${Math.Distance[@AnchorX,@AnchorY[color=red]][/color]}>@AnchorRadius) {
bothealer.inc line 369:

Code: Select all

/if ((${Group[@tempvar].PctHPs}<@PalHealPct)&&(${Group[@tempvar].State.NotEqual[DEAD]})) /call PallyHeal $[color=red]g[/color]{Group[@tempvar].ID}
The 'g' needs to go away...

PS: The Do-anchor typo is still there too:

Code: Select all

Sub Do-anchor
   /if (!@IsAnchored) {
      /varset IsAnchored 1
      /varset AnchorX ${Me.Y}
      /varset AnchorY $[color=red]([/color]Me.X}
      /call ChatOut 5 @MasterName "Created anchor at Loc: @AnchorX,@AnchorY."
      /return
   }
   /if (@IsAnchored) {
     /varset IsAnchored 0
     /call ChatOut 5 @MasterName "Removed Anchor."
   }
/return
also, Berserker did not make it into the default tank list for INI file setup.

Dulapore
a lesser mummy
a lesser mummy
Posts: 67
Joined: Thu Feb 26, 2004 4:39 am

Post by Dulapore » Mon Apr 26, 2004 2:18 pm

Botcore is using tells for the relay of tells no matter what you have your chatin defined too. Change the ChatOut to something other than 1. I picked 5.

Code: Select all

   /if ((@Relaytells)&&(${String[@Param0].Equal[TELL]})) { 
      /call ChatOut [color=red]5[/color] @MasterName "@Param1 told me: @Param2"  
   } 
:edit for clarification.
Last edited by Dulapore on Mon Apr 26, 2004 3:08 pm, edited 1 time in total.