Genbot v13.0.3 [Updated 06/15/2004] Buff Queues added!

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

Moderator: MacroQuest Developers

Wraeth
orc pawn
orc pawn
Posts: 16
Joined: Sun Dec 21, 2003 10:18 am

Post by Wraeth » Fri Jun 11, 2004 4:10 pm

Can bards still cast items while moving or sitting?

Yep, sure do. That's what made the Singing Steel BP so uber.

Can alt abilities be cast while sitting?

Depends on the AA. As some AAs initiate spell/buff effects, such as Eldritch Rune, Spirit of the Wood, and Rabid Bear, they can not be cast while sitting. Other effect AEs, such as MGB or AE Taunt can, I believe, be cast while sitting. For best results, I suggest making the bot stand to use an AA.

Do any notarget spell types besides b ae, self, ae pc v2, and group v1 exist?

Group v2?

(The other two I can't answer.)

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

Post by Mortedamour » Fri Jun 11, 2004 6:42 pm

Damn You Vex!! hehe Just kidding. Great Job Man. I was mid code of Perlbot ;) Multithreaded Perl Macro based on iluvseq's perl plugin with a Spell/action que on its own thread. You HAVE SAVED ME! Now I will never finish it =)


Managed to run 13.01 this afternoon for a bit. Still alittle bit buggy for 5 boxing but still nice regardless. So I was back on 12.38 for my play session today. I will be a little more thorough later when I have more freetime.


But just a couple things I noticed off the top of my head.


sn <spell|item> - Commands bot to cast the specified spell on master's target.
Doesnt reliably get the masters target. Was having to add assist command to hotkeys to get all bots targeting the right mob.

snt <spell|item> on <target> - Commands bot to cast <spell|item> ON <target>,if "on <target>" is not specified, it will cast on bot's target
"sn speed of vallon on PC" resulted in "I do not know speel of vallon" (i think, writing this one from memory)


also autofollow seemed a bit flaky. Bots would start autofollow (in all 3 modes) "stay" command was not working also if bots where given a "stop" command. they would not restart autofollow until macro was restarted OR stop command was used several times.

Saelinye
a lesser mummy
a lesser mummy
Posts: 31
Joined: Thu Jun 03, 2004 8:17 am

/sn spell on target

Post by Saelinye » Fri Jun 11, 2004 11:21 pm

It seems to work fine once, then I get on mount, do it again.. and it tries to cast on my mount.. which it says is invalid target.. then 3rd time i try.. it says cant cast NULL on NULL.

Wierd..

thats just preliminary playing around.

Ill post more as i go.

Sae

Saelinye
a lesser mummy
a lesser mummy
Posts: 31
Joined: Thu Jun 03, 2004 8:17 am

After clearer testing

Post by Saelinye » Sat Jun 12, 2004 9:46 am

I deleted my old Genbot_charbot.ini file and recreated and now all seems good.

The only problems I manifest are that the snt spellname on me seems to not be able to find me, instead it usually finds my pet.. which sucks.

I tried to look through the code.. to make it use ids instead of string.. but i cant find it.. anyway.. not such a terrible problem.

Sae

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

Post by Vexix » Sat Jun 12, 2004 11:33 pm

Hey all!

Thanks for the feedback on my questions. Helps for making the code work right.

I'm working through a total rewrite of the buffing code to work with the new Cast sub and eliminate all the arrays. Arrays are the devil. My code is pretty different from the above, so I need to finish this before I can send out the next batch of fixes. Most of the problems above I've got figured out.

Mr. Smallie,

Wicked idea. There's actually a lot of those kind of standard "pet" behaviors that genbot is missing at the moment. Stuff like guard here, or protect me, so if master is attacked bot attacks attacker. I'll be adding those in once I get the basic spells and stuff working ok.

FYI, it sounds like several people have had trouble with the remem function. It might be a good idea to set remem=0 in your .ini file until I can work out the bug.

--Vexix

User avatar
SukMage
a ghoul
a ghoul
Posts: 88
Joined: Fri Jun 04, 2004 5:08 pm

Post by SukMage » Sun Jun 13, 2004 12:40 am

Anyone have the problem following in mode 1 or 2 not working? Only way I can get to follow is in mode 3 and thus not an npc but just group member. It tells me following <master> and doesn't move at all or tells me Unable to follow <target>. sn <spell name> and buff <spell> and buff <spell> on <target> not working for me either. movetomode 2 broke here too. While it's the first I've played with genbot at all, I don't see how I coulld be messing up those commands but I guess I could be. Tried the ver 12.38 as well and no joy there either. All the communication, combat, misc and toggle commands work but not the casting commands or the follow stuff. Any idea? I hope it's not newb syndrome but any help appreciated. /flame on

mqnewbie
a hill giant
a hill giant
Posts: 193
Joined: Sat May 22, 2004 1:29 am

Post by mqnewbie » Sun Jun 13, 2004 2:42 am

Can bards still cast items while moving or sitting?
Bards can continue to sing while sitting, but to START casting songs or items they must stand, as of the last patch eq will stand for you, then start casting.

Can alt abilities be cast while sitting?
Ones that do not cast something can, AA's wern't made part of the autostand code it seems as my necro will just get told "you must stand before casting" when I try to hit my wake the dead key.

Do any notarget spell types besides b ae, self, ae pc v2, and group v1 exist?
I don't know what pc v2 and group v1 is, so I can't answer this one.

Why are pally spells handled as something different from every other healer?
I can't answer this one either as I don't play a pally. Perhaps because their spells heal for a lot but don't use a lot of mana? I don't really see why that would warrent them being treated different though. Also maybe because pallies get a lot of group heals. It's not uncommon for a pally to have 3 group heals and 4 stuns memed at any one time.

As part of restructuring the code for better performance, I may mix the current sections, such as putting all init routines in one file. Would anyone mind this kind of reordering in return for better performance?
Not at all, if it makes the code run better I'll adapt.

Saelinye
a lesser mummy
a lesser mummy
Posts: 31
Joined: Thu Jun 03, 2004 8:17 am

Target myself as opposed to Warder

Post by Saelinye » Sun Jun 13, 2004 10:11 am

Someone suggested using /target pc myname and that works, so thats solved, however the issue of

/tell Bot Heal me doesnt work, gives a response of Casting heal on NULL.

-SAE

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

Post by gus » Sun Jun 13, 2004 1:47 pm

As part of restructuring the code for better performance, I may mix the current sections, such as putting all init routines in one file. Would anyone mind this kind of reordering in return for better performance?
This should not be necessary in the long term. The current overhead for making a /call can/will be removed in the future. http://macroquest2.com/phpBB2/viewtopic.php?t=7757

Focus more on correctness and maintainability, don't sacrifice those with convoluted code because of temporary performance considerations.

--gus

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

Post by gus » Mon Jun 14, 2004 8:59 am

Vexix,

Good news, hopefully after the next update macros like Genbot should not cause as much of an FPS hit. Currently /if conditions are a tad slow. Lax is on it.

http://macroquest2.com/phpBB2/viewtopic.php?t=7784

--gus

Roentgen
orc pawn
orc pawn
Posts: 15
Joined: Fri Nov 28, 2003 9:15 pm

Post by Roentgen » Mon Jun 14, 2004 2:40 pm

Might recommend a toggle command for recasting spells that are resisted. Foe example, If you use short cut to cast a string of spells like chanter: Tash, slow, strangle, cripple,nuke- if the slow is resisted , it would be nice to have the option to keep recasting that spell until it lands. If this is already possible Id sure like to know ;P

Saelinye
a lesser mummy
a lesser mummy
Posts: 31
Joined: Thu Jun 03, 2004 8:17 am

Watchme and related healing issue

Post by Saelinye » Tue Jun 15, 2004 8:39 am

Im noticing that when bot is watching me and healing..... lets say he gets caught up in this sequence..

My health - 98
Bot waiting.
My health - 78
Bot waiting.
My health - 58
Bot beginning to cast heal.
My health - 88
Buff wears off and Bot starts to cast Pot9 on himself.
My health - 58
Bot queues heal because pot9 is still being cast.
My health - 48
Bot queues heal because pot9 is still being cast.
My health - 58
Bot heals and queues another heal.. (now thats 3 heals queued)
My health - 78
Bot heals (now thats 2 heals queued)
My health - 98 (Usually fight over by now)
Bot heals
My health - 100
Bot heals
My health - 100

I wonder what a good solution would be in this case... maybe 2 heals max stored in queue ?

Also, the command /tell bot heal pc myname or /tell bot heal me
results in a Cant cast Null on Null issue. :cry:

Sae.

Roentgen
orc pawn
orc pawn
Posts: 15
Joined: Fri Nov 28, 2003 9:15 pm

Post by Roentgen » Tue Jun 15, 2004 10:07 am

assist seems buggy atm- have autodehind on. sometimes it asists correctly- sometimes bot runs in straight line and aggroes everything in zone. doh

Roentgen

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

Post by Vexix » Tue Jun 15, 2004 10:52 am

Bug fix version 13.0.3 is up!

I think I got pretty much all of the issues mentioned above.

Saelinye -- I don't understand how you're targetting your pet instead of yourself with snt. Is your pet name similar to your own? My druid pet is named Geker, so no problem. :/ Does the bot target the bot's pet, or does the bot target the master's pet? Also, I think I fixed the heal command issues. Let me know if you're still having problems with it.

The queueing of healing spells is something I'm aware of, and I'll be taking care of it when I redo the healing code. I'm backing off my original idea that everything will be queued. Player requested spells and buffs will still be queued, but genbot generated heals or evacs or debuffs should have one slot each for when an opening to cast a spell occurs, so that they aren't cast after the conditions that warranted them have passed. I'm thinking priority will be evac > heals > debuffs > buffs. For heal prioritization, it's clear that patch heals will come first, but I'm still kind of wondering how to prioritize group heals vs. single heals.

Roentgen -- Ability to control adds is planned for genbot, but it's a ways off. I'll be doing some other things that are faster to implement first, such as guard and protect and spell resist recast limits, which you mentioned.

To clarify the notarget thing, if you look at spells in lucy, the target type is listed there. group v2 targettypes are not no-target, because they can be cast on other groups. group v1 target types, like pally heals, cast on your group no matter what you target. If you see any other no-target types other than the ones I listed, let me know.

With the /assist running across the zone.. . Is this a rogue, or a caster? Melee? The code there is pretty simple if it's just a melee assist, so I'm not sure what could be causing that.

Gus -- While I'm glad to hear Lax is going to be speeding up MQ2, I still think there is a lot that can be done at the macro coding level to increase performace. For instance, in your example, using the "bookmarking subs" code increased framerate by 20% on Genbot. However, turning Genbot off, increased framerate by over 270%. There's a lot of room for improvement between those two figures. Here's a test I'd like to see. Run the following code:

Sub Main
/delay 1140m
/return

And let me know how the framerate is affected vs. not running any macro at all. That will let us know what the minimum macro overhead is, so then I can work on coding genbot to match that. ;)

Fez, you out there? Hoping you can give some feedback on how the code works and suggestions as well.

Speaking of which, is anyone interested in a write up on how the data structures are set up? Some of the stuff I've done is a bit. . . innovative, and I'd be willing to write up something on it for maintainability if there was interest.

Anyone know what the melee range of a giant is? If someone could fight one, and let me know what the result of /echo ${Target.MaxRange} is, it would be appreciated. Need it for the protect master code I'm working on.

--Vexix

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

Post by bob_the_builder » Tue Jun 15, 2004 11:38 am

Is your pet name similar to your own?
Yes , wizard and bst pets are <master_name> pet.

Like Bob's Pet

So "/target Bob" get's pet
I would need to "/target pc Bob"

Bob