Page 14 of 20
Posted: Fri May 07, 2004 7:35 pm
by LordGiddion
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.
Posted: Fri May 07, 2004 7:57 pm
by Nightshift
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
Hrm...
Posted: Fri May 07, 2004 8:48 pm
by fez_ajer
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.
Think I found it...
Posted: Fri May 07, 2004 8:59 pm
by fez_ajer
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
Posted: Fri May 07, 2004 9:20 pm
by xander
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
Posted: Fri May 07, 2004 9:53 pm
by LordGiddion
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
Posted: Fri May 07, 2004 9:59 pm
by xander
I know this is a small change, but it was bugging me. The afk command was never added to the commands list:
Posted: Fri May 07, 2004 10:11 pm
by Charisa
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
Posted: Fri May 07, 2004 10:15 pm
by LordGiddion
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) {
Posted: Fri May 07, 2004 10:19 pm
by Charisa
Looks like you got something, that echo is reporting NULL
Posted: Fri May 07, 2004 10:28 pm
by LordGiddion
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) {
Posted: Fri May 07, 2004 10:33 pm
by Charisa
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 )
Posted: Fri May 07, 2004 10:37 pm
by LordGiddion
If it works now you can take the /echo line out completely and it will get rid of the "2" spam.
Posted: Fri May 07, 2004 10:41 pm
by omper
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
Posted: Fri May 07, 2004 10:48 pm
by LordGiddion
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