Page 3 of 6

Posted: Tue Oct 18, 2005 5:54 am
by Splatsch
Really Awesome.

Following my feedback :

- i experienced many problems with "Follow"
}
/fol | added to use it in docommandv5_2.inc
/t ${MyMaster} I'm now following ${Target.Name}
}
/return
- can't run the bot on the same computer than the master (?)
- can't cast Wunshi's Focusing (spelling ? Comma ?)
- hard to use items unless using equipped one with docommand (will use the clickies plugin in VIP area)
- i will add the Sub MemSpells from Shambot
- i will add a /tell to Master during Canni or other automatism

Really, a godly awesome macro !

Posted: Tue Oct 25, 2005 2:12 pm
by BardsAreTooEasy
Not sure man, I always run my 3 toons on the same computer, 2 of which use this macro at the same time. One's a druid, the other's a shaman, and I control them through my sk, necro, or bard. With the follow deal, do you have mq2moveutils? I know that would cause you some problems ifyou don't have it loaded, but the sub for follow is real real simple and can be changed to not "stick". Wunshi's aughta work ok, the bot has no problems casting spells with multiple words. Is the ' in wunshi's a ` maybe, like tnarg`s mending? A lot of the shammy spells use an accent rather than an apostraphe. When it does not cast you should get an error from CrappySpell.inc that will say either the spell was not found in your book (spelled incorrectly) or that your recovery time was not met (easily increased in CrappySpell.inc) , either should help you find the prob.

Posted: Wed Oct 26, 2005 1:59 pm
by Dbick
I love this macro and use it on 2 of my chars, one being a cleric and the other a shaman. I use it instead of other more advanced macros because its easy to set up and doesnt need allot of extra plugins and such.

That said...I have a few requests.

Can you make it so shaman slow spells are recast if resisted? Right now I have to tell my bot to "assist" again if I get a resist message.

Can you add a "slow resisted" or "slow succesful" message to group chat? Maybe on a toggle?

Thanks for all your hard work on this macro..it hasnt let me down yet.

Posted: Wed Oct 26, 2005 2:35 pm
by BardsAreTooEasy
Ok bro, added those things. You can either change the values in canniv4_2.mac, or you can /t yourbot reportslowresist on|off and /t yourbot reslow on|off. If slow is resisted this will make him report it to the group, and then try to slow a second time. If the slow is resisted the second time you will have to /t yourbot cast Turgur's Insects, this way yourbot doesn't chain slow and get aggro. If slow is successful, the bot does not tell the group as I'm trying to avoid a lot of spam, but I may make him report successful slows as well. For now, if you want successful slows to be reported, add this little snippit that I took out of my canniv4_2.mac:

Add this event at the top.

Code: Select all


#event shityawns "#1# yawns."

Here's the Sub to go with it.

Code: Select all


Sub Event_shityawns(command,shityawnstext)
	/g ${command}
/return


Posted: Fri Oct 28, 2005 12:44 pm
by Dbick
Awesome..thanks man! Will try it out when MQ2 is back.

Posted: Sun Nov 06, 2005 11:42 am
by Dbick
Just got back last night to EQ and tested the new changes out. They don't seem to work. I edited my settings to include slowonresist=on and reportslowresisttogroup=on but neither happends. I also sent the command to the shaman in game from the master and still no luck. Everything else still works perfectly, no error messages at all.

Perhaps I messed something up when editing the original mac?

Posted: Sun Nov 27, 2005 8:45 pm
by RedChief
Was toying with this one today. Its a really nice script but I had one major issue/bug. If a tank was below the HealPct but above the FastHealPct, it would chain cast the HealPct (in my case Spiritual Serenity) until the tank was above the HealPct setting or was below the FastHealPct (therefore requireing a fast heal).

Was also having problem with follow no working.

Posted: Mon Dec 05, 2005 1:07 am
by ultimateq
RedChief wrote:Was toying with this one today. Its a really nice script but I had one major issue/bug. If a tank was below the HealPct but above the FastHealPct, it would chain cast the HealPct (in my case Spiritual Serenity) until the tank was above the HealPct setting or was below the FastHealPct (therefore requireing a fast heal).

Was also having problem with follow no working.
My suggestion is that on the acctually hp check sub or cast sub you add a

Code: Select all

/if (${Me.Casting}) {
/return
}
or something along those lines... That should (hopefully) eliminate constant casting, while you are already casting.

Posted: Mon Dec 05, 2005 8:24 am
by A_Druid_00
Or you can add

Code: Select all

/if (!${Me.Casting.ID}
to the line that makes the decision to heal, and save yourself 3 extra lines of code.

Or at the very least make that decision 1 line with

Code: Select all

/if (${Me.Casting.ID}) /return

Posted: Wed Dec 07, 2005 11:33 am
by BardsAreTooEasy
Not sure if I understand what's going on with the constant casting. Before the heal check I have this slop;

Code: Select all

:Cast 
         /if (${Bool[${Me.Casting}]}) /goto :Cast

(Yes I should use Spell.ID, and no I wont! ) Say you have HealPct set to 70 and FastHealPct set to 40. Are you saying that if the toon being watched falls below 70, say to 65 pct, the bot cast HealSpell on him, but if that doesn't raise him back up to 70% then he just keeps casting it until that toon gets over 70 or below 40? If so, is that Spiritual Serenity a duration spell? I generally use Quiescence as my HealSpell, and Tnarg`s Mending as my FastHealSpell. Under Sub Watch there is this piece of code;

Code: Select all

/varcalc healtimer${currentnum} ${Spell[${HealSpell}].Duration}*60
which determines how long your bot will wait until he casts HealSpell again, and works well to stop yourbot from chain casting torpor, quiescence and other duration heals. If the problem is as I understand it to be, you could put a

Code: Select all

/if (${healtimer${currentnum}}==0) /varset healtimer${currentnum} 400
just under the /varcalc healtimer${currentnum}...... thus making yourbot cast HealSpell only every 40 seconds. However, if your healspell doesn't raise your toon past the HealPct, then yourbot will just cast HealSpell again unless you manually add a delay in the macro.

I hope that helps, if not post a reply. Follow doesn't work for you because you dont have MQ2MoveUtils. In DoCommand.inc make /squelch /stick 15 /fol and yourbot will use in game follow rather than /stick.



p.s. I don't have a shaman anymore, as my shaman's account hasn't been active for some months now. I don't have a way of testing this code when I change it.

Posted: Wed Dec 07, 2005 11:02 pm
by RedChief
BardsAreTooEasy wrote:Say you have HealPct set to 70 and FastHealPct set to 40. Are you saying that if the toon being watched falls below 70, say to 65 pct, the bot cast HealSpell on him, but if that doesn't raise him back up to 70% then he just keeps casting it until that toon gets over 70 or below 40? If so, is that Spiritual Serenity a duration spell? I generally use Quiescence as my HealSpell, and Tnarg`s Mending as my FastHealSpell. Under Sub Watch there is this piece of code;
This is exactly the problem. The only problem I see with adding a wait would be that it wont do an HoT on a seperate group member if it just cast one (or am I wrong here).

The only other tweak I need to figure out (and i welcome hints here) is adding a canni level. Right now, it will canni immediately upon going under 100% mana.

Posted: Thu Dec 08, 2005 1:32 pm
by BardsAreTooEasy
I added a CanniStartPct variable to the canniv4_x.mac file and updated caster5_x.inc to work with it. Set that to the pct you'd like to start canni, it's default is 100%. For the heal part, that's what the code is supposed to do. If your guy is below healpct, then the bot heals you. So if that heal doesn't bring you back up past HealPct, and it's not a duration spell, then he's going to reheal as soon as the script get's back to Sub Watch. If it is a duration heal, like torpor or quiescence, then the duration of the spell is set as a timer with healtimer${currentnum} in Sub Watch. Your bot will still cast a fastheal if there is a healtimer set for your normal heal. Hence, if your healspell is not a duration heal, but you want to set a timer on it anyway(I don't want the script to do that), then you will have to manually set healtimer${currentnum} to the delay you'd like between casts, at which point your bot will still cast a fastheal if needed.

hope this is helpful.


Posted: Thu Dec 08, 2005 1:52 pm
by BardsAreTooEasy
ReportSlowResistToGroup and ReslowOnResist should work correctly now.


Posted: Mon Jan 02, 2006 10:52 pm
by Dbick
Got a chance to really try this out last night. The report slow resist to group and reslow on resist work perfectly, thank you for you efforts.
I did notice one thing that I hadn't before. I was in a real group and so when my tank wanted virtue I gave my cleric a tell from the controling toon :

/tell mybot buff virtue mytank

mybot responded with: "you are too far away!"

Both the controling toon and the tank that I wanted to cast virtue on was standing right next to the cleric.

Did I use improper syntax on this tell?

Posted: Wed Jan 04, 2006 12:28 am
by BardsAreTooEasy
/t mybot buff virtue on mytank

If you don't have the "on", he considers "virtue mytank" to be the spell name.