MQ2Data GenBot, 99% Complete

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

Moderator: MacroQuest Developers

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 » Sat Apr 24, 2004 3:23 am

Tangeleno wrote:not sure if its my fault or a bug... but I keep gettin this error when the bot is posed to heal my pet...
Ending Macro: Calculate encountered unparsable text.
bothealer.inc@363 (Petheal): /if (${Target.ID}!=@Param0) /target id @Param0
bothealer.inc@293 (CheckGrpHealth) /call Petheal ${Spawn[@HealTargets(@tempvar)].Pet}
Genbot.mac@61 (Main) /call CheckGrpHealth

Failed to Parse /if Condition '(NULL!=Gebann00)' , Non-numeric encountered

Error: /target id Gebann00
I don't feel I'm talented enough with writing macro's to even try to fix this problem on my own or else I would take a shot at it...
${Target.ID} is numeric... and from what it looks like @Param0 passed in a sting of Geban00.

So it choked on that, since you are trying to compare a numeric return type with a string.

Probably have to change that to ${Target.Name} instead from what it looks like.

ml2517
a grimling bloodguard
a grimling bloodguard
Posts: 1216
Joined: Wed Nov 12, 2003 1:12 am

Post by ml2517 » Sat Apr 24, 2004 7:15 am

Looks like you can just change this line:

Code: Select all

/call Petheal ${Spawn[@HealTargets(@tempvar)].Pet}
To this:

Code: Select all

/call Petheal ${Spawn[@HealTargets(@tempvar)].Pet.ID}

Diggler
> Oid
Posts: 120
Joined: Thu Oct 09, 2003 3:28 pm
Location: Lexington, KY

Post by Diggler » Sat Apr 24, 2004 9:57 am

Fixed pet to Pet.ID and @SitTimer to SitTimer. bothealer 10.06 and botcore 10.07 now.

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

MoveTo

Post by wilddoug » Sat Apr 24, 2004 12:59 pm

edit: lines below are more correct. :)
Last edited by wilddoug on Sun Apr 25, 2004 11:26 am, edited 1 time in total.

Preocts
a snow griffon
a snow griffon
Posts: 312
Joined: Thu Jan 29, 2004 1:02 pm

Post by Preocts » Sat Apr 24, 2004 1:34 pm

botcore.inc@972 (Do-moveto): /if ($String{$Target.CleanName}].NotEqual[@ParamString]) /ta "@ParamString"
botcore.inc@266 (Event_Chat): /call Do-@Commands(1,@tempvar) @Param2
Whereever this botcore.inc line 972 is...

Code: Select all

/if ($[color=red]{[/color]String[color=red][[/color]$[color=red]{[/color]Target.CleanName}[color=red]][/color].NotEqual[@ParamString][color=red]}[/color]) /ta "@ParamString"

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 » Sat Apr 24, 2004 1:53 pm

Preocts wrote:
botcore.inc@972 (Do-moveto): /if ($String{$Target.CleanName}].NotEqual[@ParamString]) /ta "@ParamString"
botcore.inc@266 (Event_Chat): /call Do-@Commands(1,@tempvar) @Param2
Whereever this botcore.inc line 972 is...

Code: Select all

/if ($[color=red]{[/color]String[color=red][[/color]$[color=red]{[/color]Target.CleanName}[color=red]][/color].NotEqual[@ParamString][color=red]}[/color]) /ta "@ParamString"
Why isn't this line the following:

Code: Select all

/if (${Target.CleanName.NotEqual[@ParamString]})
I know it's easy to do this, but converting a string to a string?

Preocts
a snow griffon
a snow griffon
Posts: 312
Joined: Thu Jan 29, 2004 1:02 pm

Post by Preocts » Sat Apr 24, 2004 2:18 pm

Wassup wrote:I know it's easy to do this, but converting a string to a string?
OMFG I was so just 'fixing the error' I didn't even stop to think about how ass that looks. :lol:

Diggler
> Oid
Posts: 120
Joined: Thu Oct 09, 2003 3:28 pm
Location: Lexington, KY

Post by Diggler » Sat Apr 24, 2004 3:08 pm

Done. botcore.inc now 10.08

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 super-easy request for pet classes...

Post by fez_ajer » Sat Apr 24, 2004 3:59 pm

botcore line 656 reads:

Code: Select all

/if (@PetOnAssist==1) /pet attack
can we make it something like this:

Code: Select all

/if (@PetOnAssist==1) {
    /if (${String[${Me.State}].Equal[SIT]}) /stand
    /call Delay 5
    /pet attack
    /call Delay 5
    /if (@SitAfterCast==1 && ${Me.State.Equal[STAND]}) /sit
    }
to prevents the dress-wearing pet slinger from getting whacked when they assist early.

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...

Bug in PatchHeal

Post by fez_ajer » Sat Apr 24, 2004 4:10 pm

I wound up with a unparsable calc crashing the macro due to patch heal. Don't have the full text, but I scribbled down the lines. It was bothealer.inc line 382.

bothealer.inc lines 382-383 look like this:

Code: Select all

   /if (@Param0==${Me.ID} && @Param0!=${Target.ID}) /target myself 
   /if (@Param0!=${Me.ID} && ${Target.ID}!=@Param0) /target id @Param0 
Now, in my case ${Target.ID} was NULL. I think the real problem came from bothealer.inc line 274:

bothealer.inc line 274:

Code: Select all

/if (${Spawn[@HealTargets(@tempvar)].PctHPs}<${Math.Calc[@TankPctHeal/2]} && @PatchHealer==1) /call PatchHeal @HT
1) Is this Math.Calc formatted incorrectly?

2) What the hell is @HT? It only appears once in all the code. I think @HT should be:

Code: Select all

@HealTargets(@tempvar)
But the error message about the bad calc makes me wonder if there's not something less obvious going on.

Diggler
> Oid
Posts: 120
Joined: Thu Oct 09, 2003 3:28 pm
Location: Lexington, KY

Post by Diggler » Sat Apr 24, 2004 4:41 pm

Yeah that one was my bad. I was trying something out earlier and forgot to change @HT back to @HealTargets(@tempvar). Thanks for the heads up, bothealer 10.07 now!

User avatar
Seagreen500
crash test
Posts: 47
Joined: Mon Nov 10, 2003 1:04 am

Post by Seagreen500 » Sat Apr 24, 2004 10:57 pm

BotHealer 10.07

Ln 262-269

Sub CheckGrpHealth

Code: Select all


   /for tempvar 0 to @HealCount
      /if (@tempvar>${Group} && ${Target.ID}!=@HealTargets(@tempvar)) {
         /if (@Combatstatus==1) /attack off
         /target id @HealTargets(@tempvar)
         /if (${Target.ID}!=@HealTargets(@tempvar)) {
            /varadd BadIDs 1
            }
         }

bothealer.inc@263 (CheckGrpHealth); /if (@tempvar>${Group} && ${Target.ID}!=@HealTargets(@tempvar))
{
Genbot.mac@60 (Main): /call CheckGrpHealth
Cleared the following: Timers Arrays
The current macro has ended
Failed to parse '/if condiition (2>1 && 843!=UNDEFINED-ARRAY-ELEMENT)',
non-numeric encountered
Error: [


It appears as if the HealTarget is declared as an array, but possibly the /varset 's before this point are not giving it any value. I really don't know.

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

Post by LordGiddion » Sat Apr 24, 2004 11:37 pm

Not to knock Diggler, He's done a really great at porting the existing macro over to MQ2data. But I've just posted my latest verison of genbot in the forum, rather then just a straight conversion it was a re-write and many functions were totally stripped out and rebuilt from scratch. Check it out and let me know what you think.

Diggler
> Oid
Posts: 120
Joined: Thu Oct 09, 2003 3:28 pm
Location: Lexington, KY

Post by Diggler » Sun Apr 25, 2004 12:03 am

That's what I was waiting for. Someone lock this now please, I'm done, LordG made this sucker, he knows it way better than I do. Kudos pal, and GL!

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

Post by Dulapore » Sun Apr 25, 2004 12:06 am

nm