Genbot v13.1.5 [Updated 07/11/2004] Invites and Events!

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

Moderator: MacroQuest Developers

Zzekik
decaying skeleton
decaying skeleton
Posts: 3
Joined: Fri Jul 09, 2004 11:58 am

Post by Zzekik » Fri Jul 09, 2004 11:59 am

Started working with macroquest\genbot last night with a Shammy bot. Made my jaw drop! I’ve done quite a bit of reading, and after last night, still have a few questions:

I’d like my shortcut for buffing to use “snt” vs “buff” as I don’t want the bot to buff at an inopportune time when refreshing the buffs. This will allow people to call for their own buffs.

The ‘snt’ syntax (from the genbotdoc.txt):
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

Regarding shortcuts (also from genbotdoc.txt)
sowon=buff spirit of wolf on

Given that, here is an example of a few lines I added to my .ini file:
str=snt Furious Strength on
dex=snt Deftness on
agl=snt Agility on
sta=snt Stamina on
cha=snt Charisma on

I would then type str Zzekik or str Rotlung. But it seems the bot was only buffing his current target.

I read Vexix’s post about shortcut syntax, but it still doesn’t make sense. Either of these should work:
ini line:
sov=snt Speed of Vallon on NameS
command:
/t bot sov someone

ini line:
sov=snt Speed of Vallon NameS
command:
/t bot sov on someone

What is “NameS” in the ini file?

Last question:
I changed the bot to only listen and respond to gsay. I couldn’t get it to work to a custom chat channel. I could get him to listen, but not to respond. What are the ini entries for him to always and only chat in a custom chat window?

Thanks -

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

Post by Vexix » Fri Jul 09, 2004 7:10 pm

I've posted a poll on what feature I should program into genbot next. Here's your chance to let me know where to dedicate my efforts!

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

--Vexix

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

Post by Vexix » Fri Jul 09, 2004 7:22 pm

Zzekik --

Er, the genbotdoc.txt on shortcuts is a bit out of date. :oops: I've been looking for someone to help me keep the documentation up to date, and have had a few people interested and a first draft by Seagreen, but no recent drafts for a while.

The NameS thing is not a .ini entry. It is the name for whatever was given after the shortcut, when called. For instance, if you have a shortcut:
sov=snt Speed of Vallon on NameS
and then you command the bot:
/t bot sov Zzekik
Then the bot will cast Speed of Vallon on Zzekik.

Try that format, and it should take care of your problems.

As for how to get the output and input from the bot to one channel, um, damn. I always forget how that stuff works. :/ Just a sec.

Ok, here it is again. Set this in your .ini file under [Core]
ChatIn=Channel
ChatInChannel=MyPrivateChannel
And that should change the bot to only talk out to a channel named "MyPrivateChannel". Lemme know if that doesn't work.

--Vexix

Charisa
a hill giant
a hill giant
Posts: 165
Joined: Tue Apr 06, 2004 5:38 pm

Post by Charisa » Fri Jul 09, 2004 10:48 pm

I don't see this one posted. I compiled the the latest copy of MQ, grabbed all the latest files for genbot. FIrst run through when it creates the ini no problem. Subeseuqnet run thorughs I was getting errrors about cmds-shortcuts not being defined.

A bit of troubleshooting lead to the problem being in botcore.inc, as part of the loadsettings subroutine. When I commented out the one line below the error goes away.

Code: Select all

 /varset cmds-SHORTCUTS ${cmds-SHORTCUTS} ${VarName.Lower} 
Here's the entire block as it reads, looks like something is out of order on the define of cmds-shortcuts but I can't figure out where to move things

Code: Select all

Sub LoadSetting(string VarName,string VarType,string SectionName,string KeyName,string DefaultValue) 
   /if (${VarType.Equal[string]}) { 
      /if (!${Defined[${VarName}-DefaultValue]}) /declare ${VarName}-DefaultValue ${VarType} outer 
      /vardata ${VarName}-DefaultValue DefaultValue 
   } 
   /if (!${Defined[LoadFrom]}) { 
      /declare LoadFrom string outer ini 
   } 
   /if (${LoadFrom.Equal[ini]}) { 
      /declare IniValue string local 
      /if (!${Defined[IniFile]}) { 
         |setup ini File Reference 
         /declare IniFile string outer genbot_${Me.CleanName}.ini 
      } 
      /varset IniValue ${Ini[${IniFile},${SectionName},${KeyName},NOTFOUND]} 
      /if (!${Defined[${VarName}]} && ${VarType.NotEqual[shortcut]}) /declare ${VarName} ${VarType} outer 
      /if (${IniValue.Equal[NOTFOUND]}) { 
         /ini ${IniFile} "${SectionName}" "${KeyName}" "${DefaultValue}" 
         /if (${VarType.NotEqual[shortcut]}) /varset ${VarName} ${DefaultValue} 
      } else /if (${VarType.Equal[shortcut]}) { 
         /if (!${IniValue.Lower.Equal[none]}) { 
            /if (!${Defined[ShortCuts-${VarName.Lower}-Text]}) /declare ShortCuts-${VarName.Lower}-Text string outer 
            /varset ShortCuts-${VarName.Lower}-Text ${Ini[${IniFile},${SectionName},${VarName},NA]} 
            /varset cmds-SHORTCUTS ${cmds-SHORTCUTS} ${VarName.Lower} 
         } 
      } else { 
         /varset ${VarName} ${IniValue} 
      } 
      
   } 

/return 
Is there something I misssed with a fix here?

User avatar
Undies
a ghoul
a ghoul
Posts: 94
Joined: Mon Oct 20, 2003 9:12 pm

Post by Undies » Sat Jul 10, 2004 12:15 am

There is an occasional bug that affects my monkbot.

Sometimes on mob death the monkbot is still in autoattack mode, despite there being no target. Then when she goes off to pull (manually), the very first mob she targets, she goes on to attack! (committing suicide in the process).

I fix this by telling the bot to stop if she is in attack mode after mob death. This is a recent bug that has crept in...

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

Post by Vexix » Sat Jul 10, 2004 3:58 am

Got both of the above bugs fixed in my current code. Will update it sometime today.

--Vexix

izusaga
a ghoul
a ghoul
Posts: 103
Joined: Thu Jul 01, 2004 8:02 am

Post by izusaga » Sat Jul 10, 2004 8:32 am

I've actually been having the same issue with my monkbot. I worked out a spot of personal code which can be read in previous posts to make the monk auto-click epic (A feature which would be nice to see implimented in a way a bit more stable than mine, but since I've already sort of got it worked out I'm in no dire hurry to see it in a default file) while in combat. Code went into personal.inc and is as follows:

Code: Select all

Sub PersonalMain 
   /if (${Me.Combat} && !${Me.Stunned} && !${Me.Casting.ID} && ${Me.Class.Name.Equal[Monk]} && !${Me.Buff[Celestial Tranquility].ID}) { 
      /cast item "Celestial Fists" 
   } 
/return 
Some of the things I'd noticed but were assumed were due to that and the combat structure were the fact that often when a mob died, the monk would not register the mob as dead (possibly in zones where there were a lot of mobs with the exact same range and it was still looking for previous target? But the monkbot never actually physically targetted any of the other said mobs until the war did, so I'm assuming it's assist based) and immediately assist the warrior and engage his target. A big issue with this is that if I failed to /tell monk stop before he actually started whacking the next mob, he'd simply run to it and begin autobehinding the new mob while trying to melee and would then at that point fail to respond to the /stop command at ALL. This may not be a serious issue, but I have noticed that my epic code also blocks the code in place to watch for a mob gate.. so when a mob gates on me monk just happly refreshes epic and runs off after it no matter what commands given, this has caused train death a few times as well, and is probably my biggest issue when XPing in certain areas.

My assumption is that my code for the monk epic is disrupting combat somehow so that once engaged certain commands are ignored.. I was wondering if that could be looked at at all, and if possible, you could suggest how I could change/modify the personal.inc code I have posted above to better fit genbot so this conflict does not continue as I'm sort of stumped at the moment as to what to change.

Also, I'm curious, is there a way to make the monk do abilities in a shortcut string? IE make a command that is fd=/stop|do ability whateverfdison? Would be nice to have a way of telling the monk and having him just endcombat and FD so I don't have to worry about him in a raid situation. (I 5box raids, and it's embarassing when the monk fails to stop and ends up dying, he's a monk. =p)

Thank you if there is any ability to assist at all, I appreciate it. My changes are not especially dire, but they are things I've noticed for a few weeks and was contemplating commenting on.

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

Post by Vexix » Sat Jul 10, 2004 11:55 am

Thanks guys. I do appreciate the comments. I've been playing around with genbot a bit, and just noticed that patch heals were totally fubared. Ouch. I've sorted them out now, but am also looking at some other things.

--Vexix

zigzags
decaying skeleton
decaying skeleton
Posts: 8
Joined: Sat Jul 10, 2004 3:23 pm

Post by zigzags » Sat Jul 10, 2004 3:26 pm

would those problems maybe be the cause of why my cleric bot sometimes insists on complete healing my mage pet after it has just complete healed it?

i've got the new mq2 source compiled, and i've got the latest genbot posted....was hoping it would fix it but it's still doing it...

basically i bot a cleric for my mage and once in a while the script will get messed up and start doing 2 complete heals when pet is low on health, instead of just 1.

no error messages, just happens sometimes, and other times it acts normal...anyone else experience this?

if you need more info from my side just lemme know what, I'm not sure what I can provide but i'll do my best to help track problem down.

izusaga
a ghoul
a ghoul
Posts: 103
Joined: Thu Jul 01, 2004 8:02 am

Post by izusaga » Sat Jul 10, 2004 4:21 pm

Pet lag is a lot greater than regular heal lag because pets are given a lower priority. After you heal there is probably lag before the HP rises on cleric, and thus reads as low still for the next check and then heals again. Do you have programs set to enhance background programs if you're using WinXP? I found that helped a ton, and I do 4 on one computer.. noticed drastic increase in performance after doing so.

zigzags
decaying skeleton
decaying skeleton
Posts: 8
Joined: Sat Jul 10, 2004 3:23 pm

Post by zigzags » Sat Jul 10, 2004 6:53 pm

I was wondering if it was lag related....

I am running usually 2 eq sessions on a p4 2.2 ghz with 1 gb ram, geforce4 mx 440, all eq clients on same hard drive different directories. good speed cable...

where would my lag be coming from in that setup? is it hardware or internet connection related?

Zzekik
decaying skeleton
decaying skeleton
Posts: 3
Joined: Fri Jul 09, 2004 11:58 am

Thanks - now anchor \ cast question.

Post by Zzekik » Sat Jul 10, 2004 6:55 pm

Vexix,

You nailed both my problems - this macro is truly amazing.

I'm playing a monk and trying to bot the shammy. I would like to park him a bit behind me on a pull. So, I created a shortcut -

Park=stay|sit|anchor

My hope is that I can call for a slow and he'll standup, run up to cast range and then cast slow and return to his anchor spot. Keeps him out of the fray just in case...

However, he doesn't move up to cast. Is there a way around that? or do I just pull into his casting range?

Thanks again

Zz

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

Post by Vexix » Sun Jul 11, 2004 1:19 am

Posted new code with most of the mentioned bugs fixed, methinks. Please do let me know if this doesn't handle any of them.

Zzekik -- At the moment, the code isn't there to move into range, and it doesn't seem like such a good idea to me anyway. Do you want your shaman to have to run into range to heal you, too? Better to pull to the shaman. You can have him anchor a little ways off, but within spell range.

--Vexix

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

Post by Mortedamour » Mon Jul 12, 2004 9:01 am

Damn Vex,

Genbot looking damn good. Too bad I quit EQ. May have to come back just to play with Genbot some more.

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

Just a question.

Post by Nightshift » Mon Jul 12, 2004 10:12 am

What is the priority on heals?

This is the situation and why I ask the question, since it has happend twice, under different circumstances.

What happens is that during a fight, buffs will come due, if it's just one buff, then there is time for the heal to come, if multiple buffs come due, then the bot will do all the buffs before it will heal, which can cause a character death, but only if the buffs are started late in the fight.

It seems to be fine as long as the buffs come due at the beginning.

One other thing, shouldn't a command of "heal me" or heal mastername" or "heal someone" jump infront of all other comnmands?

If it is supposed to, it doesn't, I'll double check to make sure, before I say 100% that it isn't.

GenBot as it is now is, IMHO, the best incarnation so far :)

NightShift