Events don't work on this

Need help with a macro you are writing? Ask here!

Moderator: MacroQuest Developers

ultrax
orc pawn
orc pawn
Posts: 12
Joined: Tue May 04, 2010 1:55 pm

Events don't work on this

Post by ultrax » Tue Aug 03, 2010 8:28 am

I can't seem to get any events to work on this. I just can't understand why. Does anyone see something wrong with why a tell would not start the attack or mezz subs? Or the Rune recast?

Code: Select all

|E1.mac
|
|Gem 1  Slow
|Gem 2  Cripple
|Gem 3  Dot
|Gem 4  Mez
|Gem 5  Tash
|Gem 6
|Gem 7
|Gem 8
|Gem 9  Rune 
|
|Tell based trigger. "Attackthis" will send pet, tash, slow, cripple, dot
|Tell based trigger. "Mezzthis" will mezz your target
|Declare assist name (charname edit this)
|Declare SpellRune "Arcane Rune"

#Turbo 20 
#Chat Group 
#chat tell


#event Attack "attackthis" 
#event RuneFade “The shimmer of runes fades”
#event Fizzle "Your spell fizzles#*#"
#event MezzThis "mezzthis"

Sub Main
 
/declare CharName string outer Ultrax
/declare FizzleSlot int outer
/declare FizzleTimer timer outer 20
/declare SpellSLOW string outer Shiftless Deeds
/declare SpellCRIPPLE string outer Cripple
/declare SpellDOT string outer Strangle
/declare SpellRUNE string outer Arcane Rune
/declare SpellMEZZ string outer Bliss
/declare SpellTASH string outer Howl of Tashan

/echo Enchanter MAC Started

:loop
/if (${Me.Casting.ID}) {
/goto Loop
}

/doevents
/delay 10
/goto :loop
/return


Sub EVENT_Attack (string attackthis)
   /if (!${Target.ID} || ${Target.Type.Equal[PC]} || ${Target.Type.Equal[CORPSE]}) {
      /assist ${CharName}
      /delay 10
      /goto :Attack1
   }
/return

:Attack1
   /if (${Target.Distance} < 190 && !${Target.Type.Equal[PC]} && !${Target.Type.Equal[CORPSE]}) {
      /cast ${SpellTASH} gem2 15
         /varset FizzleSlot ${Me.Gem[${SpellTASH}]}
         /varset FizzleTimer 20
      /cast ${SpellSLOW} gem1 60
         /varset FizzleSlot ${Me.Gem[${SpellSLOW}]}
         /varset FizzleTimer 20      
      /cast ${SpellCRIPPLE} gem2 25
         /varset FizzleSlot ${Me.Gem[${SpellCRIPPLE}]}
         /varset FizzleTimer 20
      /cast ${SpellDOT} gem3 30
         /varset FizzleSlot ${Me.Gem[${SpellDOT}]}
         /varset FizzleTimer 20
   }
/goto :loop
/return


Sub EVENT_Fizzle(Textstuff)
   /if (${FizzleTimer}>0) {
      /cast ${FizzleSlot}
      /varset FizzleTimer 20
   }
/return 


Sub Event_RuneFade (string shimmer of rune fades)
   /cast ${SpellRUNE} gem9 50
   /varset FizzleSlot ${Me.Gem[${SpellRUNE}]}
      /varset FizzleTimer 20
   /delay 20
/return


Sub EVENT_MezzThis (string mezzthis)
   /assist ${CharName}
   /attack off
   /Gsay Mezzing %t
   /cast ${SpellTASH} gem5 15
         /varset FizzleSlot ${Me.Gem[${SpellTASH}]}
         /varset FizzleTimer 20   
   /cast ${SpellMEZZ} gem4 20
         /varset FizzleSlot ${Me.Gem[${SpellMEZZ}]}
         /varset FizzleTimer 20
   /delay 10
   /Gsay %t is Mezzed
/return


|end of macro
/return
/endmacro

dewey2461
Contributing Member
Contributing Member
Posts: 1759
Joined: Sun Apr 17, 2005 1:53 am

Re: Events don't work on this

Post by dewey2461 » Tue Aug 03, 2010 10:58 am

I think the names are case sensitive.

So EVENT is not Event or event.

ultrax
orc pawn
orc pawn
Posts: 12
Joined: Tue May 04, 2010 1:55 pm

Re: Events don't work on this

Post by ultrax » Tue Aug 03, 2010 11:13 am

Good point. I'll change that and give it a run again.

Code: Select all

|E1.mac
|
|Gem 1  Slow
|Gem 2  Cripple
|Gem 3  Dot
|Gem 4  Mez
|Gem 5  Tash
|Gem 6
|Gem 7
|Gem 8
|Gem 9  Rune 
|
|Tell based trigger. "Attackthis" will send pet, tash, slow, cripple, dot
|Tell based trigger. "Mezzthis" will mezz your target
|Declare assist name (charname edit this)
|Declare SpellRune "Arcane Rune"

#Turbo 20 
#Chat Group 
#chat tell


#event Attack "attackthis" 
#event RuneFade “The shimmer of runes fades”
#event Fizzle "Your spell fizzles#*#"
#event MezzThis "mezzthis"

Sub Main

/declare CharName string outer Ultrax
/declare FizzleSlot int outer
/declare FizzleTimer timer outer 20
/declare SpellSLOW string outer Shiftless Deeds
/declare SpellCRIPPLE string outer Cripple
/declare SpellDOT string outer Strangle
/declare SpellRUNE string outer Arcane Rune
/declare SpellMEZZ string outer Bliss
/declare SpellTASH string outer Howl of Tashan

/echo Enchanter MAC Started

:loop
/if (${Me.Casting.ID}) {
/goto Loop
}

/doevents
/delay 10
/goto :loop
/return


Sub event_Attack (string attackthis)
   /if (!${Target.ID} || ${Target.Type.Equal[PC]} || ${Target.Type.Equal[CORPSE]}) {
      /assist ${CharName}
      /delay 10
      /goto :Attack1
   }
/return

:Attack1
   /if (${Target.Distance} < 190 && !${Target.Type.Equal[PC]} && !${Target.Type.Equal[CORPSE]}) {
      /cast ${SpellTASH} gem2 15
         /varset FizzleSlot ${Me.Gem[${SpellTASH}]}
         /varset FizzleTimer 20
      /cast ${SpellSLOW} gem1 60
         /varset FizzleSlot ${Me.Gem[${SpellSLOW}]}
         /varset FizzleTimer 20      
      /cast ${SpellCRIPPLE} gem2 25
         /varset FizzleSlot ${Me.Gem[${SpellCRIPPLE}]}
         /varset FizzleTimer 20
      /cast ${SpellDOT} gem3 30
         /varset FizzleSlot ${Me.Gem[${SpellDOT}]}
         /varset FizzleTimer 20
   }
/goto :loop
/return


Sub event_Fizzle(Textstuff)
   /if (${FizzleTimer}>0) {
      /cast ${FizzleSlot}
      /varset FizzleTimer 20
   }
/return 


Sub event_RuneFade (string shimmer of rune fades)
   /cast ${SpellRUNE} gem9 50
   /varset FizzleSlot ${Me.Gem[${SpellRUNE}]}
      /varset FizzleTimer 20
   /delay 20
/return


Sub event_MezzThis (string mezzthis)
   /assist ${CharName}
   /attack off
   /Gsay Mezzing %t
   /cast ${SpellTASH} gem5 15
         /varset FizzleSlot ${Me.Gem[${SpellTASH}]}
         /varset FizzleTimer 20   
   /cast ${SpellMEZZ} gem4 20
         /varset FizzleSlot ${Me.Gem[${SpellMEZZ}]}
         /varset FizzleTimer 20
   /delay 10
   /Gsay %t is Mezzed
/return


|end of macro
/return
/endmacro

dewey2461
Contributing Member
Contributing Member
Posts: 1759
Joined: Sun Apr 17, 2005 1:53 am

Re: Events don't work on this

Post by dewey2461 » Tue Aug 03, 2010 11:36 am

They should all be Event_

Check out the wiki or look at code like spell_routines.inc and of course the manual is always good.

ultrax
orc pawn
orc pawn
Posts: 12
Joined: Tue May 04, 2010 1:55 pm

Re: Events don't work on this

Post by ultrax » Tue Aug 03, 2010 12:24 pm

Changed the forms of event to Event_

Code: Select all

|E1.mac
|
|Gem 1  Slow
|Gem 2  Cripple
|Gem 3  Dot
|Gem 4  Mez
|Gem 5  Tash
|Gem 6
|Gem 7
|Gem 8
|Gem 9  Rune 
|
|Tell based trigger. "Attackthis" will send pet, tash, slow, cripple, dot
|Tell based trigger. "Mezzthis" will mezz your target
|Declare assist name (charname edit this)
|Declare SpellRune "Arcane Rune"

#Turbo 20 
#Chat Group 
#chat tell


#Event Attack "attackthis" 
#Event RuneFade “The shimmer of runes fades”
#Event Fizzle "Your spell fizzles#*#"
#Event MezzThis "mezzthis"

Sub Main

/declare CharName string outer Ultrax
/declare FizzleSlot int outer
/declare FizzleTimer timer outer 20
/declare SpellSLOW string outer Shiftless Deeds
/declare SpellCRIPPLE string outer Cripple
/declare SpellDOT string outer Strangle
/declare SpellRUNE string outer Arcane Rune
/declare SpellMEZZ string outer Bliss
/declare SpellTASH string outer Howl of Tashan

/echo Enchanter MAC Started

:loop
/if (${Me.Casting.ID}) {
/goto Loop
}

/doevents
/delay 10
/goto :loop
/return


Sub Event_Attack (string attackthis)
   /if (!${Target.ID} || ${Target.Type.Equal[PC]} || ${Target.Type.Equal[CORPSE]}) {
      /assist ${CharName}
      /delay 10
      /goto :Attack1
   }
/return

:Attack1
   /if (${Target.Distance} < 190 && !${Target.Type.Equal[PC]} && !${Target.Type.Equal[CORPSE]}) {
      /cast ${SpellTASH} gem2 15
         /varset FizzleSlot ${Me.Gem[${SpellTASH}]}
         /varset FizzleTimer 20
      /cast ${SpellSLOW} gem1 60
         /varset FizzleSlot ${Me.Gem[${SpellSLOW}]}
         /varset FizzleTimer 20      
      /cast ${SpellCRIPPLE} gem2 25
         /varset FizzleSlot ${Me.Gem[${SpellCRIPPLE}]}
         /varset FizzleTimer 20
      /cast ${SpellDOT} gem3 30
         /varset FizzleSlot ${Me.Gem[${SpellDOT}]}
         /varset FizzleTimer 20
   }
/goto :loop
/return


Sub Event_Fizzle(Textstuff)
   /if (${FizzleTimer}>0) {
      /cast ${FizzleSlot}
      /varset FizzleTimer 20
   }
/return 


Sub Event_RuneFade (string shimmer of rune fades)
   /cast ${SpellRUNE} gem9 50
   /varset FizzleSlot ${Me.Gem[${SpellRUNE}]}
      /varset FizzleTimer 20
   /delay 20
/return


Sub Event_MezzThis (string mezzthis)
   /assist ${CharName}
   /attack off
   /Gsay Mezzing %t
   /cast ${SpellTASH} gem5 15
         /varset FizzleSlot ${Me.Gem[${SpellTASH}]}
         /varset FizzleTimer 20   
   /cast ${SpellMEZZ} gem4 20
         /varset FizzleSlot ${Me.Gem[${SpellMEZZ}]}
         /varset FizzleTimer 20
   /delay 10
   /Gsay %t is Mezzed
/return


|end of macro
/return
/endmacro[code]
[/code]

ultrax
orc pawn
orc pawn
Posts: 12
Joined: Tue May 04, 2010 1:55 pm

Re: Events don't work on this

Post by ultrax » Mon Aug 09, 2010 2:32 pm

The Wiki is a very nice guide. I found some things with this previous mac that was wrong like missing the : on loop and there wasn't a Sub Event_Chat. So I gave it an almost fresh start again. The previous mac posted here don't react to tells. Here is the new one I made.

Code: Select all

|E1.mac
|
|Gem 1  Slow
|Gem 2  Cripple
|Gem 3  Dot
|Gem 4  Mez
|Gem 5  Tash
|Gem 6
|Gem 7
|Gem 8
|Gem 9  Rune 
|
|Tell based trigger. "Attackthis" will send pet, tash, slow, cripple, dot
|Tell based trigger. "Mezzthis" will mezz your target
|Tell based trigger. "Followme" will have char follow the teller
|Tell based trigger. "Comehere" will have char go to the teller
|Tell based trigger. "Stophere" will have char stop at the teller
|Declare assist name (charname edit this)
|Declare SpellRune "Arcane Rune"

#Turbo 20 
#Chat Group 
#chat tell

#Event RuneFade “The shimmer of runes fades”
#Event Fizzle "Your spell fizzles#*#"

Sub Main

/declare FizzleSlot int outer
/declare FizzleTimer timer outer 20
/declare SpellSLOW string outer Shiftless Deeds
/declare SpellCRIPPLE string outer Cripple
/declare SpellDOT string outer Strangle
/declare SpellRUNE string outer Arcane Rune
/declare SpellMEZZ string outer Bliss
/declare SpellTASH string outer Howl of Tashan

/echo Enchanter MAC Started

:loop
  /if (${Me.Casting.ID}) {
  /delay 2
/goto :loop
}

/doevents
  /delay 10
  /goto :loop
/return

Sub Event_Chat(string ChatType,string Master,string ChatText) 
   /if (${ChatText.Equal[Attackthis]}) { 
      /assist ${Master} 
      /delay 5 
      /if (${Target.Type.NotEqual[NPC]}) { 
         /assist ${Master} 
         /delay 5 ${Target.Type.Equal[NPC]}
      /goto :Attack1 
      } 
   /if (${ChatText.Equal[Mezzthis]}) { 
      /assist ${Master} 
      /delay 5 
      /if (${Target.Type.NotEqual[NPC]}) { 
         /assist ${Master} 
         /delay 5 ${Target.Type.Equal[NPC]}
      /goto :Mezz1 
      }          
   /if (${ChatText.Equal[Comehere]}) { 
      /target ${Master} 
      /delay 5 
      /if (${Target.Type.NotEqual[PC]}) { 
         /target ${Master} 
         /delay 5 ${Target.Type.Equal[PC]}
      /goto :Comehere1 
      } 
    /if (${ChatText.Equal["Followme"]}) {
         /target  ${Master}
         /face
         /echo Following
         /gsay Following %t
         /follow
      }
    /if (${ChatText.Equal["Stophere"]}) {
         /keypress left 
         /face
         /echo Stop Following
         /gsay Stop Following %t
      }
/return

:Attack1
   /if (${Target.Distance} < 190 && !${Target.Type.Equal[PC]} && !${Target.Type.Equal[CORPSE]}) {
      /Gsay Attacking %t
      /cast ${SpellTASH} gem2 15
         /varset FizzleSlot ${Me.Gem[${SpellTASH}]}
         /varset FizzleTimer 20
      /cast ${SpellSLOW} gem1 60
         /varset FizzleSlot ${Me.Gem[${SpellSLOW}]}
         /varset FizzleTimer 20      
      /cast ${SpellCRIPPLE} gem2 25
         /varset FizzleSlot ${Me.Gem[${SpellCRIPPLE}]}
         /varset FizzleTimer 20
      /cast ${SpellDOT} gem3 30
         /varset FizzleSlot ${Me.Gem[${SpellDOT}]}
         /varset FizzleTimer 20
   }
/goto :loop
/return


:Mezz1  
   /if (${Target.Distance} < 190 && !${Target.Type.Equal[PC]} && !${Target.Type.Equal[CORPSE]}) {
         /attack off
         /Gsay Mezzing %t
      /cast ${SpellTASH} gem5 15
         /varset FizzleSlot ${Me.Gem[${SpellTASH}]}
         /varset FizzleTimer 20   
      /cast ${SpellMEZZ} gem4 20
         /varset FizzleSlot ${Me.Gem[${SpellMEZZ}]}
         /varset FizzleTimer 20
   /delay 10
   /Gsay %t is Mezzed
   }
/goto :loop
/return


:Comehere1
   /if (${Target.Distance}>60) /keypress up hold
        /if (${Target.Distance}<40) /keypress up 
        /face fast
        /delay 2
   /if (${Target.ID})
/goto :loop
/return


Sub Event_Fizzle(Textstuff)
   /if (${FizzleTimer}>0) {
      /cast ${FizzleSlot}
      /varset FizzleTimer 20
   }
/return


Sub Event_RuneFade (string shimmer of rune fades)
   /cast ${SpellRUNE} gem9 50
   /varset FizzleSlot ${Me.Gem[${SpellRUNE}]}
      /varset FizzleTimer 20
   /delay 20
/goto :loop
/return




|end of macro
/return
/endmacro

dewey2461
Contributing Member
Contributing Member
Posts: 1759
Joined: Sun Apr 17, 2005 1:53 am

Re: Events don't work on this

Post by dewey2461 » Mon Aug 09, 2010 5:50 pm

Is everything in this working as you wanted?

ultrax
orc pawn
orc pawn
Posts: 12
Joined: Tue May 04, 2010 1:55 pm

Re: Events don't work on this

Post by ultrax » Tue Aug 10, 2010 8:31 am

I should be able to try it out sometime this week. Everytime I hit a road block, I keep learning more.

dewey2461
Contributing Member
Contributing Member
Posts: 1759
Joined: Sun Apr 17, 2005 1:53 am

Re: Events don't work on this

Post by dewey2461 » Tue Aug 10, 2010 7:26 pm

Welcome to programing 101 :D

ultrax
orc pawn
orc pawn
Posts: 12
Joined: Tue May 04, 2010 1:55 pm

Re: Events don't work on this

Post by ultrax » Wed Aug 11, 2010 9:07 am

bah, still won't work but the positive is it reacts now. I think i have some bracket / terminination type issues now. Back to studying code more =)

ultrax
orc pawn
orc pawn
Posts: 12
Joined: Tue May 04, 2010 1:55 pm

Re: Events don't work on this

Post by ultrax » Thu Aug 12, 2010 11:27 am

I got it now! Made a new version of. Now let the possibilitys happen.

xxi23456
a lesser mummy
a lesser mummy
Posts: 31
Joined: Fri Jun 25, 2010 3:06 pm

Re: Events don't work on this

Post by xxi23456 » Thu Aug 12, 2010 3:23 pm

*Edit never mind, I see it now.