Genbot Version 12 Ready

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

Moderator: MacroQuest Developers

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

Post by Charisa » Fri May 07, 2004 10:54 pm

I just ran through most of the commands. I did find that most of the stuff I was able to quickly and easily test is working just fine.

However, doing a reload command makes it barf in a most horrible mannner, not that its a big deal :)

Anyhow, I'll run through the debug stuff I messaged you about earlier this week and get youa list by this weekend, thanks for the debug help so far.

I'm looking forward to future developments.

Charisa

LordGiddion
a snow griffon
a snow griffon
Posts: 352
Joined: Sat Sep 13, 2003 6:12 pm
Contact:

Post by LordGiddion » Fri May 07, 2004 11:08 pm

Did reload complain about Commands not being /declared? or one of the other arrays? It doesn't seem to fail 100% of the time but when it does fail that's the fail.

fez_ajer
a ghoul
a ghoul
Posts: 106
Joined: Fri Apr 23, 2004 6:44 pm
Location: If I was up your ass you'd know where I was...

Gid, does this make sense?

Post by fez_ajer » Fri May 07, 2004 11:49 pm

I had been having that problem with the cleric bot running to a corpse and attacking instead of the current target. Does this make any sense?

bothealer.inc (166)

Code: Select all

   /if (${SaveCombatStat}) {
      /if (${Target.ID}!=${SaveCombatID}) /target ID ${SaveCombatID}
      /if (${Target.ID} && ${Target.Type.Equal[NPC]} [color=red]&& ${Target.State.NotEqual[DEAD]}[/color]) {
         /if (${Me.Sitting}) /stand
         /attack on
         /varset Combatstatus 1
      }
   }

- Fez

LordGiddion
a snow griffon
a snow griffon
Posts: 352
Joined: Sat Sep 13, 2003 6:12 pm
Contact:

Post by LordGiddion » Fri May 07, 2004 11:54 pm

Fez it doesn't look like there is any problem with the code your adding but I don't think it would be the cause of the bot changing target. Just a suggestion - try this at the top of the routine:

Code: Select all

/if (${Combatstatus} [color=red]|| ${Me.Combat}[/color]) {
   	/varset SaveCombatStat 1 
   	/varset SaveCombatID ${Target.ID} 
   }

fez_ajer
a ghoul
a ghoul
Posts: 106
Joined: Fri Apr 23, 2004 6:44 pm
Location: If I was up your ass you'd know where I was...

Post by fez_ajer » Sat May 08, 2004 12:00 am

I'll give that a whack... What I *THINK* I'm seeing is that he's remembering the last target he fought. What I was trying to do was to get him to forget it at least :)

It's real wierd because on an assist he'll run like hell, whack a few times then right right back to the corpse.... If nothing is it looks funny as hell.
- Fez

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

Post by Nightshift » Sat May 08, 2004 12:02 am

All seems to be working well now. I'll test more when I've had more sleep :)

The one thing I see is that it spams about not knowing the spell if there is no spell specified for selfbuffs, once a spell or spells is specified, it stops spamming. I think so anyway, will test again in the morning to make sure.

NightShift..

LordGiddion
a snow griffon
a snow griffon
Posts: 352
Joined: Sat Sep 13, 2003 6:12 pm
Contact:

Post by LordGiddion » Sat May 08, 2004 12:10 am

fez: thing is the saved ID is a local variable so it should get wiped every time the heal routine cycles. Seems the only way what you describe should happen, is the cleric is in the middle of a heal routine, the mob it was fighting before the heal started died, and you order it to assist before the heal routine finishes.

NightShift try this for the no buff - it should stop the spam:

Code: Select all

/declare ArgNum int local 1
   [color=red]/If (${SelfBuffList.Equal[Buffs you wish to maintain of yourself sperated with |.]} || !${SelfBuffList.Length}) /return[/color]   
:SelfBuffLoad

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

Post by Nightshift » Sat May 08, 2004 9:59 am

LordGiddion wrote:fez: thing is the saved ID is a local variable so it should get wiped every time the heal routine cycles. Seems the only way what you describe should happen, is the cleric is in the middle of a heal routine, the mob it was fighting before the heal started died, and you order it to assist before the heal routine finishes.

NightShift try this for the no buff - it should stop the spam:

Code: Select all

/declare ArgNum int local 1
   [color=red]/If (${SelfBuffList.Equal[Buffs you wish to maintain of yourself sperated with |.]} || !${SelfBuffList.Length}) /return[/color]   
:SelfBuffLoad

Added that line and did some tests.

INI file is default, I deleted it and let genbot recreate it.

It sends one initial tell to the master once saying "Don't know the spell so failing to cast".

First test:

/tell botname buff spellname on pcname

Bot spams the above to the master..

Second test:

/tell botname buff spellname on me

Bot spams the above to the master..

Third test:

/tell botname buff spellname on yourself

Does not spam and redoing the above two tests results in no further spam.

Forth test:

Doing the third test first results in no spam from the bot. and doing the first or second test after doing the third test results in no sspam from the bot.

The line of code seems to make no difference.. Using an echo right before that line, shows that it checks the line once and never goes back to that line.

NightShift

User avatar
Fuergrissa
a grimling bloodguard
a grimling bloodguard
Posts: 607
Joined: Mon Dec 08, 2003 3:46 pm
Location: UK

Post by Fuergrissa » Sat May 08, 2004 10:23 am

the spam for me is caused because it is trying to cast the self buff regardless, if you put in a name for self buff in the ini it will not spam, if there is no self buff it tries to cast "Buffs" or "", either way when the ini gets created now its fairly incomplete, lots of incomplete lines get written to the ini. Also i can only select ONE master, i am using the very latest MQ2.
the code

Code: Select all

/If (${SelfBuffList.Equal[Buffs you wish to maintain of yourself sperated with |.]} || !${SelfBuffList.Length})
wont work because the ini file is not being writtin and the text
Buffs you wish to maintain of yourself sperated with |.
is not in there anymore.

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

Post by Nightshift » Sat May 08, 2004 10:30 am

Fuergrissa wrote:the spam for me is caused because it is trying to cast the self buff regardless, if you put in a name for self buff in the ini it will not spam, if there is no self buff it tries to cast "Buffs" or "", either way when the ini gets created now its fairly incomplete, lots of incomplete lines get written to the ini. Also i can only select ONE master, i am using the very latest MQ2.
the code

Code: Select all

/If (${SelfBuffList.Equal[Buffs you wish to maintain of yourself sperated with |.]} || !${SelfBuffList.Length})
wont work because the ini file is not being writtin and the text
Buffs you wish to maintain of yourself sperated with |.
is not in there anymore.

Actually when I let it rebuild the ini, it put that line in there.

I put it in manually the first time for testing, then let it rebuild the ini, checked the ini to make sure it was there, then retested.

And technically there is a type "of" should be "on" but it doesn't really matter bevuase I did a copy and paste of the line to make sure they are the same.


NightShift
Last edited by Nightshift on Sat May 08, 2004 10:36 am, edited 1 time in total.

User avatar
Fuergrissa
a grimling bloodguard
a grimling bloodguard
Posts: 607
Joined: Mon Dec 08, 2003 3:46 pm
Location: UK

Fresh Ini from current build

Post by Fuergrissa » Sat May 08, 2004 10:30 am

Lots of information from default settings.( Text info )missing as you can see.

Code: Select all

[CORE]
RangeMin=10
RangeMax=12
FastRange=14
FastMin=6
Relaytells=1
ListenGroup=1
ListenChat=1
ListenChan=1
AttackOnAssist=0
BehindOnAssist=0
PetOnAssist=0
Verbosity=9
ChatIn=Tell
ChatInChannel=Channel
MountItem=Name
AnchorRadius=6
IgnGroupList=duck|say|tell|group|cmds|trade|run|backstab|taunt|evade|slam|bash|kick|flyingkick|disarm|traps|puller||
FollowMode=1
MoveToMode=1
CheckName=0
[advpath]
FaceFast=1
SpeedSense=15
FollowDistance=20
SilentFlag=1
[Combat]
DoBackstab=0
DoTaunt=0
DoEvade=0
DoFrenzy=0
DoSlam=0
DoBash=0
DoKick=0
DoFlyingKick=0
DoDisarm=0
DoTraps=0
DoArchery=0
AutoEngage=0
AutoBehind=0
DoIncite=0
[Spell]
DelayBeforeSit=3s
SpellGem=8
SitAfterCast=0
DefaultSpellSet=Default
EvacSpell=NONE
ReportLom=0
LomMsg=Warning
CanniSpell=Canniblize
DoCanni=0
YaulpSpell=yaulp
DoYaulp=0
ChainStun=Your
ChainNuke=Your
SelfBuffList=Buffs
IsBard=0
Remem=0
[Healer]
IsHealer=0
IsPally=0
ReportAutoHeal=1
HealPets=0
PatchHealer=1
TankSpell=Name
CasterSpell=Name
DefaultHealSpell=Name
PetSpell=Name
PatchSpell=Name
HealCasterMsg=Healing
HealTankMsg=Big
HealPetMsg=Healing
PatchHealMsg=Patch
PallyHealSpell=Name
PalHealMsg=Healing
PallyGroupSpell=Name
CasterPctHeal=70
TankPctHeal=51
PetPctHeal=51
PalGrpPct=81
PalHealPct=81
TankList=Warrior|Shadow Knight|Paladin|Monk|Beastlord|Ranger|Shaman|Berserker
CasterList=Necromancer|Wizard|Enchanter|Magician|Rogue|Druid|Cleric|Bard

fez_ajer
a ghoul
a ghoul
Posts: 106
Joined: Fri Apr 23, 2004 6:44 pm
Location: If I was up your ass you'd know where I was...

Post by fez_ajer » Sat May 08, 2004 10:35 am

Ok, I think I see what it is...

botcore.ini (212)

Code: Select all

/ini ${IniFile} ${SectionName} ${KeyName} [color=red]"[/color]${DefaultValue}[color=red]"[/color]

- Fez

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

Post by Nightshift » Sat May 08, 2004 11:04 am

nevermind..

NightShift

LordGiddion
a snow griffon
a snow griffon
Posts: 352
Joined: Sat Sep 13, 2003 6:12 pm
Contact:

Post by LordGiddion » Sat May 08, 2004 12:00 pm

Probably should be

Code: Select all

/ini ${IniFile} "${SectionName}" "${KeyName}" "${DefaultValue}"

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

Post by chickenisgoot » Sat May 08, 2004 12:31 pm

when I run this for the first time, it seems that anytime a LoadSetting is called it truncates after the first word in the default string. I've made no changes at all from the files posted as of today.

This is what my ini's look like when I run for the first time.

Code: Select all

TankSpell=Name
CasterSpell=Name
DefaultHealSpell=Name
PetSpell=Name
PatchSpell=Name
HealCasterMsg=Healing
HealTankMsg=Big
HealPetMsg=Healing
PatchHealMsg=Patch
PallyHealSpell=Name
PalHealMsg=Healing
PallyGroupSpell=Name