Moderator: MacroQuest Developers

Code: Select all
Sub Do-rmod
/if $strlen("$p1")!=0 {
/tell $MasterName Old Ranges: $RangeMin $RangeMax $FastRange
/delay 2s
/varset rangemod $p1
/varcalc RangeMin $RangeMin +$rangemod
/varcalc RangeMax $RangeMax +$rangemod
/varcalc FastRange $FastRange +$rangemod
/tell $MasterName New Ranges: $RangeMin $RangeMax $FastRange
}
/return Code: Select all
Sub Do-behind
:behind
/doevents
/call RangeSub
| ----- Clockwise Rotate Check -----
/if n $target(heading)>=180 /if n $calc($target(heading)-180)<=$char(heading) /if n $char(heading)<$calc($target(heading)-22.5) /call bsclock
/if n $target(heading)>=180 /if n $char(heading)<=180 /if n $calc($char(heading)-22.5)>$calc($target(heading)-360) /call bscounter
/if n $target(heading)<=180 /if n $char(heading)<$calc($target(heading)-22.5) /call bsclock
| ----- Counter Clockwise Rotate Check -----
/if n $char(heading)>=180 /if n $calc($char(heading)-180)<=$target(heading) /if $char(heading)>$calc($target(heading)+22.5) /call bscounter
/if n $char(heading)>=180 /if n $target(heading)<=180 /if n $calc($char(heading)-157.5)<$calc($target(heading)+180) /call bsclock
/if n $char(heading)<=180 /if n $target(heading)<=180 /if n $char(heading)>$calc($target(heading)+25) /call bscounter
/if n $calc($abs($target(heading)-$char(heading)))>30 {
/goto :behind
}
/return
Sub bsclock
/echo Strafing right.
/sendkey down ctrl
/sendkey down right
/delay 3
/sendkey up right
/sendkey up ctrl
/press right
/press ctrl
/face fast nopredict
/return
Sub bscounter
/echo Strafing left.
/sendkey down ctrl
/sendkey down left
/delay 3
/sendkey up left
/sendkey up ctrl
/press left
/press ctrl
/face fast nopredict
/returnCode: Select all
Sub Do-Gob
/click left hotkey 6
/delay 1s
/click left hotkey 4
/delay 1s
/click right hotkey 4
/delay 1s
/click left hotkey 4
/delay 1s
/click left hotkey 6
/delay 1s
/return
Sub Event_Gob
/click left hotkey 6
/delay 1s
/click left hotkey 4
/delay 1s
/click right hotkey 4
/delay 1s
/click left hotkey 4
/delay 1s
/click left hotkey 6
/delay 1s
/returnIt sometimes healed the wrong targets and sometimes didn't heal at all. All in all it didn't make for a good exp night for me hehe. I think I'm going to stick with the simpeler code for now and if something more involved is needed it can be added in the personal file. Once I can run this for a 3 or 4 days without finidng any bugs I'll then start to look into adding extra functionality.LordGiddion wrote:Grim Please define odd and weirdness, so I can try to fix.
The stop command will stop afollow. With the ini file multil characters using the same personal.inc should not be a problem. I run 8 different classes with 1 personal file. You just have to set up each characters ini file to have the settings suitable for it. If you have puller set to on and you send the bot out to attack it will wack the mob once and head back to it's anchor point if you have one set.Undies wrote:Hmm well I had v8.0 running on a raid pulling monk before I was really familiar with it... comments
- with beagg=1 monk became extremely suicidal (death on first mob of raid)
- even with beagg=0 the script would do all sorts of crazy things to the monk and prevent him from manually returning to camp after the pull.
So I turned it off and used the old way. Maybe it has something to do with that puller code (still havent figured out what it is supposed to do yet).
- afollow (cant seem to turn it off easily)
Also personal.inc
I have several characters so a single personal.inc is unsuitable. I have cleaned out personal.inc and will make it call other routines based on the character, eg. monk.inc, shaman.inc etc. Just seems a cleaner way of doing it.
I'll have a go myself at trying to find the probs mentioned and get back....
Great job BTW!


This was not the same issue that Scoobie had. He's a personal friend of mine.bob_the_builder wrote:I had to add "Tankhealmsg" manually to the INI file created for the userhealer would tell the group he was casting "NOTFOUND" for autoheals
Once I get a chance to test this out with my healer friends I'll add it back. I really like the code I just had so many additions pinpointing which one caused the problems was dificult. I have a fairly stable version I'm going to post here in the next 10 minutes or so that uses the chat and verbosity vunctions and I should be able to test your new healer tonight.LordGiddion wrote:I'll look into the ini stuff this evening, I just sent an updated bothealer to grim, if you want I could post here in the middle of the thread and edit it out next time he update the main posting. My testing 3 hrs with 55 cleric, 57 magician, 35 warior. Cleric (with VoQ) and Mage grouped (mage not taking much damage but pet taking some) warrior solo being pl'd by watchtarget. Cleric managed all the heals well - pet and warrior both stayed up even though mobs were yellow con to warrior. Warrior took an average of 2 heals per pull. Pet 1 heal per 2 and mage 2 heals during 3 hr period. Cleric didn't miss any heals but warrior did get down to 10% a couple of times before CH hit. Patch heal never fired but by the time warrior was below 25% the CH was already started. Warrior was anchored and Puller was on - he found and pulled his own targets perfectly - only three times did he get double pulls - and twice he lost aggro on 1 and it took off after the cleric. Cleric fought back with mace and spells (spells via my personal.inc) and still dropped heals on warrior though durring this point warrior got below 10% I think it was the extra delays caused by cleric dd spells. Honestly if mage hadn't finished off his mob and pulled mob off of cleric, cleric would have died to green con mob. Cleric kept aggressive on the mob till it died but still managed to drop heals on warrior.
Except for the fact that cleric can't fight worth crap I think all went well.
Puller must have an anchor. If it does not have an anchor it will do very bad things. The point of puller is that it will check if you are close to the anchor after hiting a mob and if not it will return to close to the anchor. If you don't have an anchor set who knows where it will take you. Don't use puller on unless you are the puller and you need it to auto return to the anchor on pulls. If you want to partialy control the bot I would suggest that you don't run with aggressive, puller, anchor, or any code turned on that controls movement.Undies wrote:There are a couple of bugs still in the combat part.
When puller and bona are both on my monk starts fighting for a sec then sprints to the nearest cliff and throws herself off! Setting both to zero fixes it. (anchor = 0 too BTW). This happened more than once.
Also as I said earlier, when using monk as a semi-bot, manually looking around for something, tagging, FDing etc and returning to camp it does have some problems... she changes direction and refuses to move forward etc.... I gather this is because genbot was not designed for semi-auto mode. I'll still look into however. Expecting a bot to understand the nuances of monk pulling is certainly asking too much so it needs a manual mode where it does nothing at all until told.