Genbot v13.3.7 [Updated 04/19/05]

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

Moderator: MacroQuest Developers

A_Druid_00
Macro Maker Extraordinaire
Posts: 2378
Joined: Tue Jul 13, 2004 12:45 pm
Location: Rolling on the Lawn Farting

Post by A_Druid_00 » Tue Jul 05, 2005 10:28 pm

RaidDruid is the same way, every facet of it can be configured from level 1 to 70, everything is tied to a toggle that's as simple, if not simpler to use than genbot. Just like Genbot, instead of having to type the spell name you want casted, you define the spells in the ini and give tham an alias. All the "uber high level elemental+ raiding epic stuff" can be turned on and off with a simple switch, and they ALL default to off. The only thing raiddruid does by default is populate the ini for you to set it up. It handles IRC, calculates Complete Heal time vs the tank's time to live to start CH early if needed. There's so much more that genbot doesn't do that is easy to code in, which can be found in advbot, raiddruid, and many others on the boards. The only difference is, they do 90% of what they need to do AUTOMATICALLY, RaidDruid even does melee if you have the VIP version (granted it needs some fine tuning, but it's still better than genbot's melee by a long shot).

Look, I used to use genbot too, if you look through the thread you'll see a lot of posts by me. But, once I learned how much potential MQ had that GenBot wasn't putting to use, I made my own macro. This String change is probably the best thing to happen for you long time genbot users, embrace it and take your botting to a whole new level.
[quote]<DigitalMocking> man, A_Druid_00 really does love those long ass if statements
<dont_know_at_all> i don't use his macro because i'm frightened of it[/quote]
[quote][12:45] <dont_know_at_all> never use a macro when you can really fuck up things with a plugin[/quote]

Process
a lesser mummy
a lesser mummy
Posts: 73
Joined: Fri Jun 25, 2004 5:30 pm

Post by Process » Wed Jul 06, 2005 12:29 am

Point well taken. I think I'll start working on all the class-specific macro configurations tomorrow. I just hate learning new macros.

Even though I'm an intelligent guy, I'm kind of a slow learner with these types of things so it takes me a lot of time to get things configured correctly. But once I have them, I become proficient. Maybe it is time I learn to use more sophisticated macros.

JimJohnson
a grimling bloodguard
a grimling bloodguard
Posts: 1299
Joined: Sat Oct 11, 2003 6:00 am

Post by JimJohnson » Wed Jul 06, 2005 12:44 am

Drop me a PM Ill help you get squared away with some more customized macros if you want

Tagger
a lesser mummy
a lesser mummy
Posts: 36
Joined: Tue Apr 19, 2005 10:20 pm

Post by Tagger » Wed Jul 06, 2005 8:14 am

point well taken ..

being used to genbot (my first ) I guess you can say I am timid about
switching ..
if there is more potential in running a different macro for each class I
play then maybe it is time i leared more about the programs
I am using to play EQ with.

It might take some experimenting to find what works for me

Thanks again ...

advbot here I come ..

The Noob
Tagger

User avatar
fearless
Not a Psychic
Posts: 2684
Joined: Wed Mar 10, 2004 3:52 pm

Post by fearless » Wed Jul 06, 2005 10:14 am

Tagger wrote:advbot here I come ..
Feel free to post in the Advbot thread, I have helped many many people there and in IRC.
Reading . . . it's not just for me.

[url=http://www.catb.org/~esr/faqs/smart-questions.html]How To Ask Questions The Smart Way[/url]
[quote="Ccomp5950"]Fearless showed me the light, you too shall learn.[/quote]

dark_matter
orc pawn
orc pawn
Posts: 22
Joined: Tue Jul 20, 2004 4:11 pm

Post by dark_matter » Wed Jul 06, 2005 1:26 pm

Thanks for the advice all. I'll be looking into advbot also. So far, the code is much cleaner and easier to understand than genbot.

Genbot just did everything we needed it to and yeah, I'm lazy... ;) Well, just really freakin busy and would rather not have to get into this stuff that much in detail.

But I suppose it was just a matter of time before genbot stopped working and I'd be forced to move on...

cya in the advbot thread... ;)

Slackro
a lesser mummy
a lesser mummy
Posts: 46
Joined: Sun Apr 17, 2005 2:30 pm

Post by Slackro » Wed Jul 06, 2005 8:59 pm

Well, I got my Genbot working but I am sure that it is a mess, and not likely very goddamn efficient. You know what? I don't give a flying fuck because it works.

Anyways, all I did was search for every instance of

Code: Select all

{String[
and at the beginning of the sub I found it in I put

Code: Select all

/declare Fuckingvariable string local ""
where "" had whatever had previously been between the [], or simply the variable name(s).

Then I replaced the

Code: Select all

String[ ...whatever...]
with

Code: Select all

Fuckingvariable
If the {String[ appeared in a /For statement I simply used /varset within the loop to keep updating Fuckingvariable to whatever the FUCK the goddamn script was trying to string compare.

Hence,

Code: Select all

Sub Command-shortcuts
   /if (${Defined[Param0]}) {
      /if (${String[ ${cmds-Shortcuts.Lower} ].Find[ ${Param0.Lower} ]}) {
         /call ChatOut 3 "Shortcut ${Param0} does: ${ShortCuts-${Param0}-Text}"
      } else {
         /call ChatOut 3 "I don't know the shortcut ${Param0}."
      }
   } else {
      /call ChatOut 3 "${cmds-Shortcuts}"
      /call ChatOut 3 "Type: shortcuts name_of_shortcut for more information on any particular shortcut.
   }
/return 
became

Code: Select all

Sub Command-shortcuts
/declare Fuckingvariable string local ${cmds-Shortcuts.Lower}
   /if (${Defined[Param0]}) {
      /if (${Fuckingvariable.Find[ ${Param0.Lower} ]}) {
         /call ChatOut 3 "Shortcut ${Param0} does: ${ShortCuts-${Param0}-Text}"
      } else {
         /call ChatOut 3 "I don't know the shortcut ${Param0}."
      }
   } else {
      /call ChatOut 3 "${cmds-Shortcuts}"
      /call ChatOut 3 "Type: shortcuts name_of_shortcut for more information on any particular shortcut.
   }
/return
and so on, and so forth etc. etc.

I just started testing it but this seems to have given me back at least 95% functionality.

I'll keep you updated and maybe even update the most recent crap on the first page with these changes in a repost, but anyone can do it themselves if they know how to do a find and replace and give two shits.

User avatar
billthecat
a lesser mummy
a lesser mummy
Posts: 64
Joined: Sun Jan 30, 2005 8:58 pm

Post by billthecat » Thu Jul 07, 2005 12:33 pm

LOL, that was the approach I was using too.

Hey what did you come up with for Sub ListDelbyArg?
"If you think nobody cares, try missing a couple of payments"

mamba666
a lesser mummy
a lesser mummy
Posts: 49
Joined: Fri Aug 15, 2003 11:47 am

Post by mamba666 » Thu Jul 07, 2005 1:10 pm

I came close to getting it to work.

At this point it has a problem with the castqueue and following commands from master. It listens to genbot commands in MQ like /echo genbot snt Spirit of Wolf on ${Target}
But it does not listen to tells or group chat.
Well it does listen to it cus it relays tells to master, but it doesn't follow commands.

Slackro
a lesser mummy
a lesser mummy
Posts: 46
Joined: Sun Apr 17, 2005 2:30 pm

Post by Slackro » Thu Jul 07, 2005 1:28 pm

Code: Select all

Sub ListDelbyArg(string sList,int sArg,string sDiv)
/declare Fuckingvariable string local 
   /if (!${Defined[sDiv]}) /declare sDiv string local |
   /declare sright int local
   /declare sleft int local
   /declare splaceholder string local
   /vardata ${sList} String[${sDiv}${${sList}}${sDiv}${sDiv}]
/echo fuckityfuck
/varset Fuckingvariable ${${sList}}
   /varset splaceholder ${Fuckingvariable.Arg[${sArg},${sDiv}]}
   /varcalc sleft  ${${sList}.Find[${sDiv}${splaceholder}${sDiv}]}
/varset Fuckingvariable ${splaceholder}${sDiv}
   /varcalc sright ${sleft}+${Fuckingvariable.Length}
   /vardata ${sList} String[${${sList}.Left[${sleft}]}${${sList}.Right[-${sright}]}]
   /varset ${sList} ${${sList}.Left[-2].Right[-1]}
   /if (${DebugList.Find[core]}) /echo List ${${sList}} deleted arg ${sArg}
/return
Again, I haven't tested this for shit yet and have no idea if it works. However, when I loaded it up on a bot I seemed to have the functionality I use it for...

*edit* Only thing I have found that is funky is that shortcuts don't seem to be 100% right. If you have multiple steps in your shortcuts separated by | it seems to only be performing the first step and that's all for that shortcut. Other than that I think I have everything working. I'll test it more thoroughly tonight if I get a chance.

mamba666
a lesser mummy
a lesser mummy
Posts: 49
Joined: Fri Aug 15, 2003 11:47 am

Post by mamba666 » Thu Jul 07, 2005 1:48 pm

/vardata ${sList} String[${sDiv}${${sList}}${sDiv}${sDiv}]
Pretty sure that is one of the illegal strings.

I tried this

Code: Select all

/declare Tempvar string local
/varset Tempvar ${sDiv}${${sList}}${sDiv}${sDiv}
I then used Tempvar in place of that string command.

It didn't get the illegal string TLO errors when I did this, but I don't think it is working either.
[/quote]

User avatar
fearless
Not a Psychic
Posts: 2684
Joined: Wed Mar 10, 2004 3:52 pm

Post by fearless » Thu Jul 07, 2005 2:06 pm

mamba666 wrote:
/vardata ${sList} String[${sDiv}${${sList}}${sDiv}${sDiv}]
Pretty sure that is one of the illegal strings.

I tried this

Code: Select all

/declare Tempvar string local
/varset Tempvar ${sDiv}${${sList}}${sDiv}${sDiv}
I then used Tempvar in place of that string command.

It didn't get the illegal string TLO errors when I did this, but I don't think it is working either.
That should be right.
Reading . . . it's not just for me.

[url=http://www.catb.org/~esr/faqs/smart-questions.html]How To Ask Questions The Smart Way[/url]
[quote="Ccomp5950"]Fearless showed me the light, you too shall learn.[/quote]

dark_matter
orc pawn
orc pawn
Posts: 22
Joined: Tue Jul 20, 2004 4:11 pm

Post by dark_matter » Thu Jul 07, 2005 2:34 pm

How do you handle these? I have most the others converted...

Code: Select all

   /if (!${String[ item spell alt ].Find[ ${AddCastText.Lower.Arg[1,;].Arg[1,-]} ]}) { 
I'm going to try it like this:

Code: Select all

/declare myVar string local "item spell alt"

User avatar
fearless
Not a Psychic
Posts: 2684
Joined: Wed Mar 10, 2004 3:52 pm

Post by fearless » Thu Jul 07, 2005 2:48 pm

dark_matter wrote:How do you handle these? I have most the others converted...

Code: Select all

   /if (!${String[ item spell alt ].Find[ ${AddCastText.Lower.Arg[1,;].Arg[1,-]} ]}) { 
I'm going to try it like this:

Code: Select all

/declare myVar string local "item spell alt"
Try something like

Code: Select all

/declare SpellCastType string local item|spell|alt
/if ( !${SpellCastType.Find[${AddCastText.Lower.Arg[1,;].Arg[1,-]}]} ) {
Reading . . . it's not just for me.

[url=http://www.catb.org/~esr/faqs/smart-questions.html]How To Ask Questions The Smart Way[/url]
[quote="Ccomp5950"]Fearless showed me the light, you too shall learn.[/quote]

User avatar
billthecat
a lesser mummy
a lesser mummy
Posts: 64
Joined: Sun Jan 30, 2005 8:58 pm

Post by billthecat » Thu Jul 07, 2005 6:27 pm

I'm not sure about all of them, but the spaces at the ends of the strings used in the comparisons and such seemed to matter in some of genbot's operations.

If you see a line like:

String[ item spell alt ]

The assignment would need to be

/varset TempVar " item spell alt "
"If you think nobody cares, try missing a couple of payments"