Current File Versions:
Genbot.mac 12.35
BotCore.inc 12.38
BotCombat.inc 12.37
BotSpell.inc 12.37
BotHealer.inc 12.34
BotShortCut.inc 12.35 <--- shortcuts.inc has been changed to botshortcut.inc for consistency
Personal.inc 12.30
GenbotDoc 12.38 <----- Current!
Changelog 2004-06-04
sj_digriz was kind enough to sort botcore.inc, so subroutines are much easier to find now!
Seagreen500 has updated the documentation for genbot!
Changelog 2004-06-02
Added item option into both sn and snt, as in "sn journeyman boots". It irritated me that genbot was always trying to assist master just to click on his booties.
Added /gb alias for /echo genbot, so now you can just type commands "/gb sit" if you're tired of typing out /echo genbot sit.
Fixed looking up at the ceiling or floor after battles and returning to anchor.
Improved the lootall code. Genbot will no longer assist you or get into endless loops on unreachable corpses when doing lootall.
Added additional event calls for EventGainedExp, EventZoned, EventDead, and EventAttacked. I'll be doing some more write up on this later, and adding additional Event calls, but for now if you want to add in a shortcut with that name, it will be called when that event happens.
Changelog 2004-05-30
Added the immunity spell messages below and some other targetting changes.
Changelog 2004-05-29
Implemented /commands natively into genbot. Any command to the bot which begins with a / will be executed by the bot. For example, "/wave" or "/yell" or "/target id 1234" or "/call MySubroutine" are all valid bot commands.
Added conditions to terminate early to several /delay calls to improve bot responsiveness.
Added /target clear commands to improve assist and targetting accuracy.
Changed the default behavior for snt to cast on your current target instead of assist you if no "on so-and-so" found in the command, i.e. "snt Anarchy" will now cast Anarchy on the bot's current target instead of the master's target. If you want to cast on the master's target, use "sn Anarchy"
Likewise, attack now defaults to the bots current target if not given a target, instead of assisting you. If you want the bot to assist you, use the assist command.
Changed the default for buff from do nothing to cast buff on master, i.e. "buff sheild of blades" will cast that buff on the master.
Removed the IsBard variable from the .ini's. MQ2 is smart enough to tell by itself if you are a bard or not, and will ignore whatever value is in the .ini. By the way, does bard spellcasting work in genbot, anyway?
Fixed /sit to work better. Why the SitTimer was hardcoded to be set to 1140m (19 hours) in the code is a mystery to me. Also added SitTimer setting to the attacked events, so you will wait the appropriate amount of time before sitting after getting wacked.
Added multiple commands into shortcuts. For example the following is a valid shortcut:
byebye=/wave|/sit on|/camp desktop
Added targeted commands to shortcuts. Any command ended by with " on" will use the argument of the calling shortcut.
For example, the shortcut:
markon=snt Mark of the righteous on|snt Mark of kings on
Could then be called with "markon bob" or "markon yourself" and would target correctly and then cast.
Shortcuts can be used to do some very cool stuff. For instance, shortcuts can also call other shortcuts. If the above "mark" shortcut had the " on" removed to allow it to cast on the current target instead of expecting you to provide one, then:
mark=snt Mark of the righteous|snt Mark of kings|/target clear
Then you could make another shortcut:
markparty=/target clear|/keypress F1|mark|/keypress F2|mark|/keypress F3|mark|/keypress F4|mark|/keypress F5|mark|/keypress F6|mark
Which would buff your entire party for you. If you didn't have 6 people in your party, it would still try to target them and cast, but it would immediately get an error and time out, so no real loss.
NOTE: You can use DataVar expressions in shortcuts, but be warned they will be evaluated by the first MQ2 char they hit. In otherwards, if you are running MQ2, and give your bot the command /say My name is ${Me.Name}, the bot will say, My name is MasterName, since the datavar is evaluated by the master MQ2. If you're not running MQ2, and give the same command, the bot will say, "My name is Bot."
CAUTIONS:
With great power, comes great responsibility.
Shortcuts take full control of your bot during execution. It would be easy to make a long cleric buff shortcut chain which would cast every buff on every member of your party, but remember that until your buff chain finished, your cleric bot will do no healing or moving. I hope nothing spawns or wanders into your party!
Changelog 2004-05-22
Added IRC capability back into Genbot. Credit Venidar
Fixed Pet Heals Credit mpmq
Fixed spinning at anchor point Credit chickenisgoot
Updated code for new blech events. Credit Seagreen500
Move to anchor code fixed Credit fez_ajer
Other fixes from posts
For this update, I've incorporated posted bug fixes, and unified shortcuts into one format, which accepts any EQ, MQ, or Genbot command.
Here is the information on the new shortcuts:
I've been working with Genbot a bit, and wanted increased flexibility with my shortcuts, so I've changed the code a bit so I can use any everquest, macroquest, or genbot command.
For instance, the following would be a valid Genbot .ini section:
Code:
[Shortcuts]
eyepatch=itemcast Eyepatch of Plunder
nukeit=sn Lure of Flame
sowme=buff spirit of wolf on me
uberaa=/alt activate 33
takemehome=/echo play:PoKtoNexxus 1 f nopp z;NexxustoBazaar 10 cr nopp z;BazaartoShadHav 1 cf nopp noz
Shortcuts give an easy way to abbreviate long commands, like interzone advpaths, and also have some really cool possibility for controlling parties. For instance, you could have you leader say nukeit in groupsay, and each of the PCs in the party could respond with an appropriate nuke as defined in their .ini file. The wizzy Lures it, the enchanter smacks it with his DD+stun, the druid casts wildfire, and the warrior, um, slams it!
Similarly, if you called evacuate, if you set up the .ini's right, the druid could cast his evac, the cleric might automatically heal the druid to make sure he survives, and the warrior could hit AE taunt to pull aggro from the druid. Fun, fun!
To show what shortcuts you have defined in your .ini file while running the macro, I added the shortcuts command. Type "shortcuts" for a list of available shortcuts, and type "shortcuts name_of_shortcut" to see what that particular shortcut does.
--Vexix


