genbot.mac Generic Bot macro for any class. V9.3 with ini

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

Moderator: MacroQuest Developers

smurf
decaying skeleton
decaying skeleton
Posts: 1
Joined: Sun Mar 14, 2004 7:23 am

Post by smurf » Wed Mar 17, 2004 7:31 am

I have experienced this as well when having my healer in the background.
Most of the times it happens when I have the autohealer functionallity active
but it has happened a few times when the autohealin has been deactivated as well.
The hanging function always resume operation when bringing up the
eqwindow from the background again which really is anoying when
trying to find out why the problem occur since I dont know if the
problem is in Windows, MQ2 or the genbot code.

For me, it seems to be hanging in a call to /doevents in the Sub SpellSub
in the :TimerLoop I think it was called.

I havent been able to debug more the last few days but hope I will be able
to get more time soon and compile MQ2 with DebugSpew on.

I am not sure, but for me it could be that my computer runs out of memory and
swaps something even though it seems odd that the OS would take that decision
since the program actually is running actively in the background.

Ohh well, back to work.

dawolf
decaying skeleton
decaying skeleton
Posts: 2
Joined: Sun Mar 21, 2004 11:31 pm

Post by dawolf » Sun Mar 21, 2004 11:29 pm

I am using a paladin and cannot get autoheals to work here is my genbot.ini

[Core]
RangeMin=10
RangeMax=12
FastRange=14
FastMin=6
Relaytells=1
ListenGroup=1
ListenChat=1
ListenChan=chatchannel
AttackOnAssist=0
BehindOnAssist=0
PetOnAssist=0
Verbosity=9
ChatIn=Tell
ChatInChannel=chatchannel
IgnoreInGroup=duck|say|tell|group|cmds|trade|run|backstab|taunt|evade|slam|bash|kick|flyingkick|disarm|traps|puller||
DelayBeforeSit=3s
AnchorRadius=6
[Spell]
SitAfterCast=0
DefaultSpellSet=PL
EvacSpell=NONE
[Combat]
DoBackstab=0
DoTaunt=0
DoEvade=0
DoSlam=0
DoBash=0
DoKick=0
DoFlyingKick=0
DoDisarm=0
DoTraps=0
DoArchery=0
Aggressive=0
AutoEngage=0
[Healer]
IsHealer=0
IsPally=1
ReportAutoHeal=1
CasterHealIsHot=1
HotDelay=60
HealPets=0
PatchHealer=1
TankSpell=Greater Healing
CasterSpell=Greater Healing
DefaultHealSpell=Greater Healing
PetSpell=Greater Healing
PatchSpell=Greater Healing
HealCasterMsg=Healing %t
HealTankMsg=Big Heal on %t
HealPetMsg=Healing %t
PalHealMsg=Healing %t
PatchHealMsg=Patch Healing %t
PallyGroupSpell=Greater Healing
PallyHealSpell=Greater Healing
CasterPctHeal=70
TankPctHeal=51
PalGrpPct=81
PetPctHeal=51
PalHealPct=81
TankList=Warrior|Shadow Knight|Paladin|Monk|Beastlord|Ranger|Shaman
CasterList=Necromancer|Wizard|Enchanter|Magician|Rogue|Druid|Cleric|Bard
[Personal]
FireSpell=Fire Spell
IceSpell=Ice Spell
NukeSpell=Nuke Spell
RootSpell=Instill
SnareSpell=Snare Spell
InvisSpell=Invis Spell
SelfInvisSpell=Self Invis Spell
LureSpell=Lure Spell
SlowSpell=Slow Spell
DebuffSpell=Debuff Spell
LevSpell=Levitation Spell
RegenSpell=Regen Spell
HotSpell=Ethereal Cleansing
MountItem=Name of Mount Item
BuffSpell1=Valor
BuffSpell2=Symbol of Pinzarn
BuffSpell3=Armor of Faith
BuffSpell4=Divine Vigor
BuffSpell5=Name of Buff spell 5
BuffSpell6=Name of Buff spell 6
BuffSpell7=Name of Buff spell 7
BuffSpell8=Name of Buff spell 8
GBuffSpell1=Name of Group Buff spell 1
GBuffSpell2=Name of Group Buff spell 2
GBuffSpell3=Name of Group Buff spell 3
GBuffSpell4=Name of Group Buff spell 4
GBuffSpell5=Name of Group Buff spell 5
GBuffSpell6=Name of Group Buff spell 6
GBuffSpell7=Name of Group Buff spell 7
GBuffSpell8=Name of Group Buff spell 8
PetBuffSpell1=Name of Pet Buff spell 1
PetBuffSpell2=Name of Pet Buff spell 2
PetBuffSpell3=Name of Pet Buff spell 3
PetBuffSpell4=Name of Pet Buff spell 4
PetBuffSpell5=Name of Pet Buff spell 5
PetBuffSpell6=Name of Pet Buff spell 6
PetBuffSpell7=Name of Pet Buff spell 7
PetBuffSpell8=Name of Pet Buff spell 8
ReportLom=1
LomPct=20
LomMsg=I'm getting LOM
StunA=Quellious' Word of Tranquility
StunB=StunB Spell
StunC=StunC Spell
DDStunA=DDStunA Spell
DDStunB=DDStunB Spell
MezLow=MezLow Spell
MezHigh=MezHigh Spell
MezAE=MezAE Spell
AutoBehind=0
IsShaman=0
IsCleric=0
IsBard=0
IsRanger=0
DoIncite=0
DoYaulp=0
DoCann=0
YaulpSpell=Yaulp II
CannSpell=Cannibalize IV
[advpath]
FaceFast=1
SpeedSense=15
FollowDistance=20
SilentFlag=1

any help would be appreciated thanks

magictiger
a snow griffon
a snow griffon
Posts: 450
Joined: Sun Mar 21, 2004 2:24 pm

Post by magictiger » Mon Mar 22, 2004 3:40 am

I have what may be a stupid question to some of you, but I've read through the thread and looked in the bothealer.inc to see if I could figure it out for myself.
Please take into account that it's 2:30 in the morning before flaming me :)

Is the HOTDelay the duration of your heal-over-time, or is it the casting time of your heal-over-time?

I'm thinking it's the duration, but coding isn't one of my strongpoints yet, so I wanted to ask and find out for sure.

Thanks in advance

User avatar
eqsolro
a ghoul
a ghoul
Posts: 113
Joined: Fri Sep 13, 2002 4:20 pm
Location: Germany

Post by eqsolro » Mon Mar 22, 2004 3:57 am

[@dawolf]
Maybe
IsHealer=1 worrks ?

And maybe its only my Problem ... but ALL Spells
only working in " "
Maybe:

TankSpell="Greater Healing"
CasterSpell="Greater Healing"
DefaultHealSpell="Greater Healing"
PetSpell="Greater Healing"
PatchSpell="Greater Healing"


works for you ;)=? .... try and error ;)

frabtik
a ghoul
a ghoul
Posts: 114
Joined: Sat Feb 21, 2004 10:07 am

Post by frabtik » Tue Mar 23, 2004 10:48 am

Also having issues with macros stopping when EQ window is not active window. Originally my macros would always hang if EQ was not the active window and immediatly continue where they were when I returned. I have just started looking at genbot really but I use the great autodebuff macro and was seeing this everytime I changed to another window. Not sure if this was addressed in a patch or what, the issue has gotten much less frequent in the last week or so. But I was having issues with advpathing follow today.

dawolf
decaying skeleton
decaying skeleton
Posts: 2
Joined: Sun Mar 21, 2004 11:31 pm

Post by dawolf » Wed Mar 24, 2004 7:58 pm

actually my problem was i thought autoheal would autoheal the master regardless of group status which is incorrect after through review of the macro, i see that in order to use the autoheal function you have to be grouped

Bahumut
a lesser mummy
a lesser mummy
Posts: 66
Joined: Tue Mar 23, 2004 7:04 pm

oddness

Post by Bahumut » Thu Mar 25, 2004 10:51 pm

i have it all set up correctly, and the macro starts fine with no errors, but for some reason none of the commands work (ie. the bot doesnt do any of the commands i send him). he reports skillups, but thats about it...i call the macro using /macro genbot.mac <MyMainsName> and it starts fine, but the bot wont even echo a list of commands with cmds. do you guys have any suggestions for me to try? im usually very good at stuff like this, so im tearing my hair out trying to get it to work =(

Blackstarr
decaying skeleton
decaying skeleton
Posts: 9
Joined: Mon Feb 09, 2004 3:00 am

Post by Blackstarr » Fri Mar 26, 2004 5:32 am

lasher wrote:
El wrote:
Just a question while I'm stuck here at work... If I'm using EQW and runnin two instances of EQ on the same machine, will this bot run in the background? Or does it require separate machines?


It will run in the background without focus for all function except for the archery (which requires focus).

To answer you question, yes it will work with eqw and 2 instances.


Archery can be made to run even though it is not the focus. Let me see if I can find the code for archery in this and I will look at it.

Edit: ok in combat.ini

Code:
/if n @DoArchery==1 {
/if "$char(state)"=="SIT" /stand
/face fast
/delay 3
| ugly hack - would rather call direct
/press num_7
}


This is already set to use a key other than the hotkey. So the only thing needed is to go into EQ options and set the hotkey that ranged attack is on to primary be fired using numberpad 7 and the alternate to be the normal number for that hotkey. This will then allow you to use archery even though it is not the primary focused window. Also not sure about the delay but I would probably lower it to either 1 or remove it altogether. Depending on how long it takes the macro to run through and return to this the 3 sec delay could cause alot of shots to be missed.

==============================================

Took me a wail to figer this out useing the /press num_7 just did not work for me I did change it to /press 3 and had my archery keyset up in 3 spot worked great! But when mobs did get close and u wich to attack mod it would just stand there. it would not keep in mele range
Whats up Doc?

chickenisgoot
a ghoul
a ghoul
Posts: 84
Joined: Tue Oct 07, 2003 10:52 am

report buffs

Post by chickenisgoot » Fri Mar 26, 2004 1:39 pm

Thought I would add in my report buffs command that I use in my genbot. It will report buffs and their duration if an "all" argument is given. Pretty simply stuff obviously but nonetheless I think it might be something that could get included in the main genbot code.

Code: Select all

Sub Do-rb
   /declare counter local  
   /if n "@Param1"=="all" {
  
     /for counter 1 to 15
     if ("$char(buff,@counter)"!="NULL" {
       /call ChatOut 2 @MasterName "Buff: $char(buff,@counter) Duration left: $char(buff,@counter,durationsecs)" 
     }
     /next counter 
   } else {   
     /call ChatOut 1 @MasterName "Buffs: $char(buff,1), $char(buff,2), $char(buff,3), $char(buff,4), $char(buff,5), $char(buff,6), $char(buff,7), $char(buff,8), $char(buff,9), $char(buff,10), $char(buff,11), $char(buff,12), $char(buff,13), $char(buff,14), $char(buff,15)" 
   }
/return

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

Post by fearless » Sun Mar 28, 2004 3:33 pm

dawolf wrote:actually my problem was i thought autoheal would autoheal the master regardless of group status which is incorrect after through review of the macro, i see that in order to use the autoheal function you have to be grouped
You can also use the "watchtarget" command to heal a target when needed.

I use this in two ways, first - patch healer on raids because I am most likely not in the MA / SA / TA group, second - pl'ing a low level char where the healer can not group with the char.

It is used like so:

Code: Select all

/tell clericbot watchtarget targetname
Where targetname is the name of the char to be healed, not a partial name.

Keep in mind that the watchtarget command is processed about every 8-10 seconds or so, if you are dieing in less time than that . . . you would need to use another solution.

There is also a command to wipe the watchtarget list

Code: Select all

/tell clericbot resetwatch
but I haven't gotten that to work, and I haven't looked at it to figure it out. It is usually faster for me to restart genbot.

Macrobeginner
decaying skeleton
decaying skeleton
Posts: 1
Joined: Fri Dec 19, 2003 4:45 pm

Post by Macrobeginner » Sun Mar 28, 2004 6:06 pm

Hi, I am having a problem getting this macro to work also....I am still fairly new the macro's..But im pretty sure I did everything right..when i do /macro genbot <char name>..I get "The current macro has ended"
Cleared the follow: Timers Vars Arrays...Then it says [MQ2] Advanced Pathing v(1.10) enabled. and then [MQ2] Advpath.inc by ml2517 -- intialized..

Any help would be greatfull..I play a Rogue..and nothing triggered when i ran the bot..thanks

bonehand
a lesser mummy
a lesser mummy
Posts: 48
Joined: Tue Feb 17, 2004 5:16 pm

Post by bonehand » Sun Mar 28, 2004 7:21 pm

Nothing should trigger when you run it on the character till your other character tells it too...

It's a botting macro...which pretty much means another toon is the master and the one you run it on is the slave.

I use genbot on my enc and clr; the tank tells them to heal, mez, nuke or whatever else I need done without switching to their window.

With advpath, they follow fairly well in the tanks tracks so without stopping and going a ton, they tend to make the same path he makes weaving around spawn.

Overall, it's a very good macro for dual, tri or quad if you have the accounts...but if you are trying it for single play, it might be good to rip apart and see how some more complex code is written.

As for your Macro has ended error, that means that by running genbot, it has ended a different macro(or another instance of genbot) and nothing else. You will see that same message if you run any macro while another is running.

As for the rest, I can only assume that you don't have a master to run a slave so genbot might not be the right macro for you. Try m0nks stick.mac or a rogue specific one...

Wylker
a lesser mummy
a lesser mummy
Posts: 42
Joined: Tue Feb 10, 2004 5:32 pm

Post by Wylker » Sun Mar 28, 2004 10:33 pm

I am seeing the lag out in background happen with the new EQ patch. I believe this has something to do with a built in EQ version of eqplaynice. For some reason when EQ is not the active window it buffers all the incoming information and dumps it when the window is activated. Running EQW seems to fix this.

I plan on debugging a little tomorrow and posting to the MQ devs to see if something can be done.


wylker

inorpo
a lesser mummy
a lesser mummy
Posts: 31
Joined: Sat Nov 29, 2003 1:44 pm

Post by inorpo » Sun Mar 28, 2004 10:45 pm

I seem to remeber several times saying that mq doesn't work backgounded without eqw.

crisdan
a ghoul
a ghoul
Posts: 126
Joined: Mon Mar 24, 2003 1:56 pm

Post by crisdan » Tue Mar 30, 2004 2:03 pm

MQ2 Phase 3 macro reviews. Has anyone considered taking the endeavor to convert this for the Phase 3 part of MQ2 that is certainly coming around the corner?