advchant.mac - Advanced Chant REV7

A forum for you to dump all the macros you create, allowing users to use, modify, and comment on your work.

Moderator: MacroQuest Developers

tac8357
orc pawn
orc pawn
Posts: 25
Joined: Fri Oct 17, 2003 5:18 pm
Contact:

i hate to sound stupid

Post by tac8357 » Wed Dec 17, 2003 9:23 pm

How do you set up chant?
/macro chant 1234 sorta like that?

Raebis
a ghoul
a ghoul
Posts: 81
Joined: Fri Dec 12, 2003 6:23 am

Post by Raebis » Thu Dec 18, 2003 12:20 am

edit: this post is Out of Date, do not use this syntax for latest version
Rooh wrote:

Code: Select all

| usage: chant.mac <DOT1> <DOT2> <DOT3> <DOT4> <selo> <radius> [<heal song>] 
so if you have DOTS in slots 1, 2, 3, and 4, you have selo's in 5, and a healsong in 6 then simply:

Code: Select all

/mac chant.mac 1 2 3 4 5 90 6
edit: don't even know the syntax for my own mac.... fixed now
Last edited by Raebis on Mon Jan 12, 2004 5:54 am, edited 3 times in total.
Always say what you want to say. Because those who mind, don't matter. And those who matter, don't mind.

tac8357
orc pawn
orc pawn
Posts: 25
Joined: Fri Oct 17, 2003 5:18 pm
Contact:

okies that helped

Post by tac8357 » Thu Dec 18, 2003 1:05 am

now i have a problem of when it runs circles its to tight of a circle. I just keep getting beat on.

jdelpheki
a lesser mummy
a lesser mummy
Posts: 51
Joined: Tue Dec 09, 2003 2:46 pm

Re: okies that helped

Post by jdelpheki » Thu Dec 18, 2003 3:39 am

tac8357 wrote:now i have a problem of when it runs circles its to tight of a circle. I just keep getting beat on.
Increase teh Number in the radius slot thats the 6th entry i use 55

dot dot dot dot speed RADIUS Heal
Time to die A microwave Burrito!

morpheous531
orc pawn
orc pawn
Posts: 18
Joined: Sun Oct 06, 2002 10:52 pm

Post by morpheous531 » Thu Dec 18, 2003 4:40 am

I use a 95 radius against giants and they never get near me.

Also, if you wanto use this in a zone with high hills, replace one of the dot's with the bard levitate.

Takes longer to kill mobs but you won't take any fall dmg.

my 2 cents

Raebis
a ghoul
a ghoul
Posts: 81
Joined: Fri Dec 12, 2003 6:23 am

Post by Raebis » Thu Dec 18, 2003 4:01 pm

morpheous531 wrote:Also, if you wanto use this in a zone with high hills, replace one of the dot's with the bard levitate.
Make sure you press page down so you are looking more towards the ground so when u are levitated you don't end up 200z above the mobs
Always say what you want to say. Because those who mind, don't matter. And those who matter, don't mind.

Raebis
a ghoul
a ghoul
Posts: 81
Joined: Fri Dec 12, 2003 6:23 am

REV4nt

Post by Raebis » Sun Dec 21, 2003 5:22 am

Ok here is the changes I made for REV4nt(DEC 21 03:00):

-Variable number of DOTs support! Check macro header for more info

-Level 6 Selos support, check macro header for syntax

-fixed a bug that would cause the macro to target the caster every time it began to cast a spell which could potentially cause a redflag

-moved variable declares to individual subroutines if applicable

-REV4nt means NOT TESTED, MQ2 outdated at time of post


take a look, see if there are any syntax errors (shouldn't be)

The only thing i'm concerend about is the /for loop when parsing the DOTs
Always say what you want to say. Because those who mind, don't matter. And those who matter, don't mind.

Bazaard
decaying skeleton
decaying skeleton
Posts: 1
Joined: Mon Dec 22, 2003 12:38 am

Post by Bazaard » Mon Dec 22, 2003 12:40 am

Loop should look like this:

/varset nSongs $strlen(@DOTs)
/for EachSong 1 to @nSongs
/varset Songs(@EachSong) $mid($calc(@EachSong-1),1,@DOTs)
/echo Song @EachSong: $char(gem,@Songs(@EachSong))
/next EachSong

I also added this at the end of the circ routine as mobs have been warping since the latest patch when down to about 10%. Not sure if this works quite right yet.

/if n $distance(@CirX,@CirY)>1000 {
/echo Mob Warp detected! Distance: $distance(@CirX,@CirY)
/varset TargetUpNext 0
/press esc
/press esc
/call gettarget
}

Raebis
a ghoul
a ghoul
Posts: 81
Joined: Fri Dec 12, 2003 6:23 am

Post by Raebis » Mon Dec 22, 2003 10:04 am

thanks for the tip on the /for loop.. I noticed my typo right away, but then i guess i didn't realize that $mid(0,1,"Bob")=="B" - a bit different from what I am used to


Those who have downloaded this macro should check to see if at the end of the comment header it says

Code: Select all

REV4nt Dec 22 08:00
and not

Code: Select all

REV4nt Dec 21 03:00
- this version would not work at all

basically if you've downloaded it before Dec 22 then you probably need to update.


also, since the mobs are warping, i will try to implement something to handle that.... the above code you gave me is good, however with this mac, the next blue target could be more than 1000 clicks away... know what i mean
Always say what you want to say. Because those who mind, don't matter. And those who matter, don't mind.

User avatar
wilso132
Contributing Member
Contributing Member
Posts: 106
Joined: Thu Oct 17, 2002 11:53 am

Post by wilso132 » Mon Dec 22, 2003 1:15 pm

Still isn't working for me. Getting the following errors after about 30 seconds into the macro:
Ending macro: Bad variable in /var function
chant.mac@251 (Event_Recovered) /varset SelosTimer 1500
chant.mac@207 (Sing):/varset SongTimer 32
chant.mac@192 (Main(DOTs, Selos, CRadius, HealSong)): /if n@SelosTimer<1460 /if n @SongTimer<=0 /call Sing

User avatar
wilso132
Contributing Member
Contributing Member
Posts: 106
Joined: Thu Oct 17, 2002 11:53 am

Post by wilso132 » Mon Dec 22, 2003 1:21 pm

Fixed it, you just had labeled some of the labels with an extra s on the end, just had to remove that and it works great. Thanks a bunch!

Raebis
a ghoul
a ghoul
Posts: 81
Joined: Fri Dec 12, 2003 6:23 am

Post by Raebis » Mon Dec 22, 2003 1:42 pm

wilso132, thanks for pointing that out. It really sucks that I can't test my own macro (procrastination in updating structs & offsets).

New version:

REV4nt Dec 22 11:30

I'm keeping the "nt" on until I test it and do a thurough debug (if needed)

other than the typo, How do you like the mac?
Always say what you want to say. Because those who mind, don't matter. And those who matter, don't mind.

User avatar
wilso132
Contributing Member
Contributing Member
Posts: 106
Joined: Thu Oct 17, 2002 11:53 am

Post by wilso132 » Mon Dec 22, 2003 1:45 pm

Works great minus one small detail, mobs warp and he follows them all the way across the zone. Would be great if you could see if a the mob he's been working on is 2000 yards away. Maybe if hp of target <15% and distance> 600?

If you don't get around to it, I'll try to fix it tonight and post the code later. Other than that this macro is a dream, thanks again.

Raebis
a ghoul
a ghoul
Posts: 81
Joined: Fri Dec 12, 2003 6:23 am

Post by Raebis » Mon Dec 22, 2003 2:08 pm

it wouldn't be hard....

stick this in the main loop:
sorry if my syntax with $target is wrong, just coming off the top of my head...

Code: Select all

/if n $target(health)<=15 /if n $target(distance)>2000 {
   /cleanup
   /call gettarget
}
might be easier instead of /cleanup, do a /press esc a few times...

Where do mobs warp to at low health? Spawn point? Probably not very far from where you captured him at..

Another question, is WHY do mobs warp? Bug on SOE's end? Do they mean to do it? I could see how that could easily cause trains and would be a bad thing.

Another possibility (sorry brainstorming with my fingers) is, what happens when the mob warps? "a kobold gates" ? if that was the case then it would be easy to implement an event to see if the currently targeted mob warped and then depending on how far the mob warped to, A. run over to it, or, B. find a new target....
Always say what you want to say. Because those who mind, don't matter. And those who matter, don't mind.

User avatar
wilso132
Contributing Member
Contributing Member
Posts: 106
Joined: Thu Oct 17, 2002 11:53 am

Post by wilso132 » Mon Dec 22, 2003 2:15 pm

In the zone I've been using it, the mobs are warping ALL the way across the zone once they hit 10% health. These are non-gating mobs....

And as far as a. get another target or b. go finish it off... that's what the distance from the mob is for, to decide it. You could probably also implement that as part of the general command like
/macro chant 1234 5 100 1 1000
with 1000 being the max distance to chase down a warper.

PM me if you want more specifics on the zone it's doing it in and all.