twisting mac

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

Moderator: MacroQuest Developers

Nanan
orc pawn
orc pawn
Posts: 29
Joined: Wed Jun 25, 2003 6:21 pm

twisting mac

Post by Nanan » Wed Oct 08, 2003 4:54 am

....
Last edited by Nanan on Mon Mar 15, 2004 11:22 pm, edited 4 times in total.

chimaera
a lesser mummy
a lesser mummy
Posts: 37
Joined: Fri Aug 01, 2003 4:14 pm

Post by chimaera » Wed Oct 08, 2003 7:09 am

Yo.

shuttle
a lesser mummy
a lesser mummy
Posts: 62
Joined: Mon Nov 11, 2002 6:08 am

Post by shuttle » Fri Oct 10, 2003 11:10 am

Here is my latest Twist Macro. with the latest Variable definitions

Code: Select all

| - twist.mac - 
| /mac twist <GEMs> 
| Modified from Colonel's Macro
| <GEMs> is an any length song list of the gem slots. 12345678 or 213457 or 78
| hint make sure selos is in the gem list if you are kiting

#event MissedNote "You miss a note, bringing your song to a close!" 
#event Recovered "You haven't recovered yet..." 
#turbo

Sub Main(Param0)
	/if $defined(Param0)==false /endmacro

	/declare CASTTIME	global
	/declare cursong 	global
	/declare nsongs	global
	/declare prevsong	global
	/declare SongList	global
	/declare SingTime	timer
	/declare I		global
	/declare J		global
	/declare SongArray	array

	/varset CASTTIME	33
	/varset cursong 	1
	/varset nsongs 	$strlen(@Param0)
	/varset SongList 	@Param0

	/for I 1 to @nsongs
		/varcalc J $int(@I-1)
		/varset SongArray(@I) $mid(@J,1,@SongList)
|		/echo Song @I: $char(gem,@SongArray(@I))
	/next I

	:Loop 
		/if n @SingTime<=0 /call Sing @SongArray(@cursong)
		/doevents 
	/goto :Loop 

/return 

Sub Sing
	/varset SingTime @CASTTIME 
	/stopsong 
	/cast @Param0 
	/varset prevsong @cursong 
	/varadd cursong 1 
	/if n @cursong>@nsongs /varset cursong 1
	/doevents
/return

Sub Event_MissedNote 
	/varset cursong @prevsong 
	/varset SingTime 0 
	/doevents 
/return 

Sub Event_Recovered 
	/varset SingTime 0 
	/varset cursong @prevsong 
	/doevents 
/return
edit: Valerian likes code brackets.

bass

Anyway to fix the ending of macro?

Post by bass » Fri Nov 07, 2003 5:28 pm

I like this macro because it's simple and I only use it to chant when my fingers get tired. I have it play selos and 2 chant songs. I created 2 hot buttons to start and stop the macro. The problem I have is there is about a 3 second lag when you end the macro with /endmacro while the vars and arrays clear. If I happen to stop the macro while I have the right turn key down, I contiue turning as if the right arrow key was locked down for about 3 seconds. This is bad since I will overturn and end up running into the other mobs that were chasing me.

If I end the macro without any keys pressed down, I can't enter any commands for 3 seconds. I end up running straight and cannot turn. This is kind of annoying so I was wondering if anyone else experienced this and if there is something I can do to fix it. I've ran other twist mac and it stops fine without freezing keyboard input for 3 seconds.

Mutter
a ghoul
a ghoul
Posts: 105
Joined: Sat Nov 16, 2002 1:09 pm

Guys..

Post by Mutter » Fri Nov 07, 2003 8:07 pm

Here is a script i modified to do combat and non combat twists

usage: /mac twist 123 456 (/mac twist <notfighting spells> <fighting spells>

Code: Select all

| - twist.mac - 
| /mac twist <GEMs> 
| Modified from Colonel's Macro 
|Modiefied to current form 11/7/2003
| <GEMs> is an any length song list of the gem slots. 12345678 or 213457 or 78 
| hint make sure selos is in the gem list if you are kiting 

#event MissedNote "You miss a note, bringing your song to a close!" 
#event Recovered "You haven't recovered yet..." 
#turbo 

Sub Main(Param0) 
   /if $defined(Param0)==false /endmacro 
   /declare CASTTIME   global 
   /declare cursong    global 
   /declare nncsongs   global 
   /declare ncsongs   global
   /declare prevsong   global 
   /declare ncSongList   global 
   /declare cSongList   global
   /declare SingTime   timer 
   /declare I      global 
   /declare J      global 
   /declare ncSongArray   array 
   /declare cSongArray   array 

   /varset CASTTIME   33 
   /varset cursong    1 
   /varset nncsongs $strlen(@Param0)
   /varset ncsongs $strlen(@Param1)
   /varset ncSongList @Param0
   /varset cSongList @Param1

   /for I 1 to @nncsongs 
      /varcalc J $int(@I-1) 
      /varset ncSongArray(@I) $mid(@J,1,@ncSongList) 
   /next I 
   /for I 1 to @ncsongs 
      /varcalc J $int(@I-1) 
      /varset cSongArray(@I) $mid(@J,1,@cSongList) 
   /next I
   /varset CASTTIME 33
   :Loop
    /if "$char(state)"!="SIT" {
       /if "$combat"=="TRUE" /if n @SingTime<=0 /call Sing @cSongArray(@cursong)
       /if "$combat"!="TRUE" /if n @SingTime<=0 /call Sing @ncSongArray(@cursong)
    }
    /if $char(state)=="DUCK" /press d
   /doevents
   /goto :Loop 

/return 

Sub Sing 
   /varset SingTime @CASTTIME 
   /stopsong 
   /cast @Param0 
   /varset prevsong @cursong 
   /varadd cursong 1 
   /if n @cursong>@nncsongs /varset cursong 1 
   /doevents 
/return 

Sub Event_MissedNote 
   /varset cursong @prevsong 
   /varset SingTime 0 
   /doevents 
/return 

Sub Event_Recovered 
   /varset SingTime 0 
   /varset cursong @prevsong 
   /doevents 
/return

Zerix
flagrant idiot
Posts: 18
Joined: Sun Nov 09, 2003 3:26 am
Location: Denver, CO
Contact:

Post by Zerix » Sun Nov 09, 2003 3:31 am

Ahh thanx mutter, this helps my bard tons.
What exists, exists; what is, is, and that from this irreducible, bedrock principle, all knowledge is built.

We are free to evade the effort of thinking - to reject reason - but we are not free to avoid the penalty of the abyss we refuse to see.

carpaltunnel
a lesser mummy
a lesser mummy
Posts: 31
Joined: Thu Sep 04, 2003 3:52 pm

Post by carpaltunnel » Mon Nov 10, 2003 8:27 pm

Works great, but if I'm meleeing, and a weapon procs the macro gets wonky, it stops twisting. IIRC it kept complaining that it couldn't play a song not memorized. Any ideas why?

TheColonel
of what?
of what?
Posts: 164
Joined: Thu Oct 10, 2002 6:34 pm
Location: Golden, CO
Contact:

Post by TheColonel » Tue Nov 11, 2003 11:01 am

I don't feel like posting my entire macro here... just because. But I use the timers the way they were meant to be used... as event in an event driven environment. I'll post my timer event and one other LoC that you'll find helpfull if you /mqp ever

Code: Select all

Sub Event_timer
 /if @Param0=="t0" {
   /call Sing
 } else /if @Param0=="t1" {
   /varset nextsong SELOS 
 } else /if @Param0=="t2" {
   /varset nextsong @cursong
   /varset cursong @SELOS
   /varset t0 1
 }
 /doevents
/return
This is an old version... I have one running off arrays, where each song has it's own timer, if it's not a 3 tick song. Anyhow... the other line of code was

Code: Select all


 /if n @t0==0 /varset t0 1

this was the main timer for cast-time... I /mqp a lot, grab another mob and come back, if the timer hits 0 in the paused time the event doesn't fire... this fixes that.
Hell hath no fury like a woman's scorn for EQ.
-==(UDIC)==-

insanitywiz
a hill giant
a hill giant
Posts: 250
Joined: Mon Jul 08, 2002 7:50 am

Post by insanitywiz » Tue Nov 11, 2003 12:52 pm

carpaltunnel wrote:Works great, but if I'm meleeing, and a weapon procs the macro gets wonky, it stops twisting. IIRC it kept complaining that it couldn't play a song not memorized. Any ideas why?
Don't confuse the casting timer bar with actual casting, procing gets rid of the timer bar, but the song continues to cast. Watch for the message and you will see.

Basically, procing is seen as casing a new spell, which calls the casting bar (eq client) but it's instant, so the casting bar dissapears. Since EQ doesn't use multiple casting bars, it makes it look like your casting (or singing) is interupted. The only people affected by this are bards, as they are the only people able to swing durring a cast.

mekaniak
a hill giant
a hill giant
Posts: 290
Joined: Thu Sep 18, 2003 3:21 pm

Post by mekaniak » Thu Nov 13, 2003 11:33 am

Well it sings songs...but during combat it doesnt twist the fight songs...It will only play the first song on the list over and over and over. Any ideas? BTW, I'm using Mutter's script.
I love the Power Glove, it's so bad

Say hello to M.C. Smurf!

[quote]<mekaniak> adios guys.
<dont_know_at_all> idiot
* mekaniak is now known as mekaniak_dinner
<Jacensolo> me?
<dont_know_at_all> not this time
[/quote]

[quote]
<dont_know_at_all> A_Enchanter_00, how the fuck should i know? it's your code[/quote]

I love quoting IRC chat.

insanitywiz
a hill giant
a hill giant
Posts: 250
Joined: Mon Jul 08, 2002 7:50 am

Post by insanitywiz » Thu Nov 13, 2003 6:22 pm

It works perfect for me, though I have made a few tweaks to it, those shouldn't have changed it's workability at all. You aren't putting spaces in your songlist are you?

mekaniak
a hill giant
a hill giant
Posts: 290
Joined: Thu Sep 18, 2003 3:21 pm

Post by mekaniak » Fri Nov 14, 2003 1:08 am

nope, i type it in just like the example says... /macro twist 57 246
I love the Power Glove, it's so bad

Say hello to M.C. Smurf!

[quote]<mekaniak> adios guys.
<dont_know_at_all> idiot
* mekaniak is now known as mekaniak_dinner
<Jacensolo> me?
<dont_know_at_all> not this time
[/quote]

[quote]
<dont_know_at_all> A_Enchanter_00, how the fuck should i know? it's your code[/quote]

I love quoting IRC chat.

EnterTheFist
orc pawn
orc pawn
Posts: 17
Joined: Sat Aug 30, 2003 3:49 am

Post by EnterTheFist » Sun Nov 16, 2003 6:07 am

Gettin' the same thing here... Won't play the fight songs, just the non-fight songs.

Keeps spitting out "Variable name already defined."

insanitywiz
a hill giant
a hill giant
Posts: 250
Joined: Mon Jul 08, 2002 7:50 am

Post by insanitywiz » Sun Nov 16, 2003 6:02 pm

I'll post my version when I get back from vacation, maybe you will have more luck with that.

mekaniak
a hill giant
a hill giant
Posts: 290
Joined: Thu Sep 18, 2003 3:21 pm

Post by mekaniak » Sun Nov 16, 2003 9:57 pm

ty Wiz. That would be greatly appreciated.
I love the Power Glove, it's so bad

Say hello to M.C. Smurf!

[quote]<mekaniak> adios guys.
<dont_know_at_all> idiot
* mekaniak is now known as mekaniak_dinner
<Jacensolo> me?
<dont_know_at_all> not this time
[/quote]

[quote]
<dont_know_at_all> A_Enchanter_00, how the fuck should i know? it's your code[/quote]

I love quoting IRC chat.