Genbot Version 12 Ready

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

Moderator: MacroQuest Developers

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 7:35 pm

Nightshift: what's the buff not working? More then 1 buff or is it 1 buff recasting, Duration may not be returning right.

Sorry just gonna make semi-random suggestions - No way I have time for real debugging or even loading EQ this weekend.

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

Post by Nightshift » Fri May 07, 2004 7:57 pm

LordGiddion wrote:Nightshift: what's the buff not working? More then 1 buff or is it 1 buff recasting, Duration may not be returning right.

Sorry just gonna make semi-random suggestions - No way I have time for real debugging or even loading EQ this weekend.

Any spell cast does it..

Somethiing I didn't catch before. It iis not recasting the spelled asked for using the BUFF command. It is recasting the self buff spelled listed in the ini for the bot.

Checking that line of code as I understand it, maybe I will find something.

NightShift

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...

Hrm...

Post by fez_ajer » Fri May 07, 2004 8:48 pm

Night:

I think the debugging /echo's are throwing off the line count. Can you post for me exactly where it's occurring?

Also, as I think 'bout this, it's possible that some of these issues are creeping in due to cruft that could be lying about in people's .ini files. There is a (admittedly small) possibility that editors could be adding non-display characters which could be throwing off the parsing of the selfbuff line.

At any rate, it may not be part of the problem but it would explain why some of us are seeing the issues and some are not... Different .ini files.
- Fez

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...

Think I found it...

Post by fez_ajer » Fri May 07, 2004 8:59 pm

botspell.inc (365)

Code: Select all

/if (${Macro.Return}==1 ${SelfBuffInt[${counter},2]}<6) /varset SelfBuffInt[${counter},1] 5
/if (${Macro.Return}==1 ${SelfBuffInt[${counter},2]}>=6) /varset SelfBuffInt[${counter},1] 900

I'm not sure at the moment what this is s'posed to do exactly, but I'm pretty darned sure there should be an && or an || separating the conditions in both /if statements...

Gid, which is it?

EDIT:

After thinking about it some (novel idea) I think it should be && :) Try:

Code: Select all

/if (${Macro.Return}==1 [color=red]&&[/color] ${SelfBuffInt[${counter},2]}<6) /varset SelfBuffInt[${counter},1] 5
/if (${Macro.Return}==1 [color=red]&&[/color] ${SelfBuffInt[${counter},2]}>=6) /varset SelfBuffInt[${counter},1] 900

- Fez

xander
a lesser mummy
a lesser mummy
Posts: 33
Joined: Thu Apr 22, 2004 11:40 pm

Post by xander » Fri May 07, 2004 9:20 pm

Self buffs seem to be working for me with this code(the red is my change from Night's post):

botspell.inc (110-116)

Code: Select all

:SelfBuffLoad 
      /if (${SelfBuffList.Arg[${ArgNum},|].Length}) { 
         /varset CommandParam ${SelfBuffList.Arg[${ArgNum},|][color=red]}[/color] 
         /call AddSelfBuff "${CommandParam}" 
      } 
      /varcalc ArgNum ${ArgNum}+1 
   /if (${SelfBuffList.Arg[${ArgNum},|].Length}) /goto :SelfBuffLoad 
/return 
Xander

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 9:53 pm

Fez it's supposed to be && basically if the buff doesn't cast or stick for some reason it will cause it to wait 5 seconds - for 5 times - if after 5 trys it doesn't cast or stick then it will wait 15 minutes before trying again.

try this

Code: Select all

sub CheckSelfBuffs
	/declare counter int local
	/varset SelfBuffPass 0
	/for counter 1 to ${SelfBuffCount}
		/if (!${Buff[${SelfBuff[${counter}]}].ID} && ${SelfBuffInt[${counter},1]}<1) {
			/target myself
			/call SpellSub "${SelfBuff[${counter}]}"
			/if (${Macro.Return}==1 && ${SelfBuffInt[${counter},2]}<6) {
				/varset SelfBuffInt[${counter},1] 5
				/varcalc SelfBuffInt[${counter},2] ${SelfBuffInt[${counter},2]}+1
			}
			/if (${Macro.Return}==1 && ${SelfBuffInt[${counter},2]}>=6) {
				/varset SelfBuffInt[${counter},1] 900
				/varset SelfBuffInt[${counter},2] 0
			}
		}
	/next counter
/return

xander
a lesser mummy
a lesser mummy
Posts: 33
Joined: Thu Apr 22, 2004 11:40 pm

Post by xander » Fri May 07, 2004 9:59 pm

I know this is a small change, but it was bugging me. The afk command was never added to the commands list:

Code: Select all

   /call AddCommand CORE afk Do-afk
Xander

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:11 pm

Lord Giddeon, I just tried your checkselfbuffs routine, and I continue to have the bot trying to spam cast my self buffs as set in my .ini file.

It appears to be limited only to those, and it will cast the first one then the second one then go back and spam the first one over and over.

I'm still checking on things.

I took out the && in these lines as reported earlier and no longer had it spamming the spell, but it also doesn't recast when its worn off.

Code: Select all

/if (${Macro.Return}==1 && ${SelfBuffInt[${counter},2]}<6) /varset SelfBuffInt[${counter},1] 5 
/if (${Macro.Return}==1 && ${SelfBuffInt[${counter},2]}>=6) /varset SelfBuffInt[${counter},1] 900 
Last edited by Charisa on Fri May 07, 2004 10:17 pm, edited 1 time in total.

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 10:15 pm

try this and see if buff[].id is reporting correctly

Code: Select all

sub CheckSelfBuffs
    /declare counter int local
    /varset SelfBuffPass 0
    /for counter 1 to ${SelfBuffCount}
       [color=red]/echo ${Buff[${SelfBuff[${counter}]}].ID}[/color]
       /if (!${Buff[${SelfBuff[${counter}]}].ID} && ${SelfBuffInt[${counter},1]}<1) {

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:19 pm

Looks like you got something, that echo is reporting NULL

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 10:28 pm

try this then:

Code: Select all

sub CheckSelfBuffs 
    /declare counter int local 
    /varset SelfBuffPass 0 
    /for counter 1 to ${SelfBuffCount} 
       /echo ${[color=red]Me.[/color]Buff[${SelfBuff[${counter}]}].ID} 
       /if (!${[color=red]Me.[/color]Buff[${SelfBuff[${counter}]}].ID} && ${SelfBuffInt[${counter},1]}<1) { 

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:33 pm

That fixed it.

I spam 2 about once a second or so (assume thats it runnign through checkspellbuffs). It doesn't cast unless necessary, and doesn't recast unless necessary )

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 10:37 pm

If it works now you can take the /echo line out completely and it will get rid of the "2" spam.

omper
a ghoul
a ghoul
Posts: 110
Joined: Sat Dec 06, 2003 10:46 pm

Post by omper » Fri May 07, 2004 10:41 pm

by chance did that make it into an update.. or do i need to try and decifer the replys as to where to put this..

Omper

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 10:48 pm

Just posted an update to incorperate the bug fixes people have found over the last few days.

BotCore.inc 12.33
BotCombat.inc 12.31
BotSpell.inc 12.33
ShortCuts.inc 12.31