A forum for you to dump all the macros you create, allowing users to use, modify, and comment on your work.
Moderator: MacroQuest Developers
-
Gellenole
- orc pawn

- Posts: 20
- Joined: Wed Oct 29, 2003 10:28 pm
Post
by Gellenole » Mon Nov 03, 2003 11:19 pm
I hope you all enjoy this macro... please give some feedback as this is my very 1st macro and my very 1st complete macro that does extra things.
Note: You need to have EQ/AM3 + Spirit of Eagle to have this macro work properly.
Code: Select all
|Archery Macro v. 1.2E
|Archery Assist Macro.
|Gellenole's Autofire Archery Macro
|Email: Drmchaser5@yahoo.com
|
|Forenote: This macro was created with a creative purpose.
| It only has recreational purpose. Please don't abuse it!
| I would appreciate it if no one modifies my coding and keep
| it as it is. YOU'RE NOT ALLOWED TO PASS THIS CODE TO OTHERS
| AS YOUR OWN! PLEASE GIVE CREDIT TO THE CREATOR.
|
| When I created this macro, it was because I was fed up with
| stupid FAQ's about how to program your joystick to do auto
| fire. I thought that was stupid personally and I still do!
| I'm glad that I am able to write this for all to enjoy.
| From now on I want this code to stay as original as possible
| please again, don't modify the code. I spent a lot of time
| and this is my 1st coding. Also don't give it away without
| giving credit.
|
|
|HISTORY
|Version 1.2E
| - Never forget Snare again (uses Ensnare)
| - Will do checks for SoE + Eagle Eye + Health + Self haste
| - Events added to close Macro if player died.
|Future - Plans to add health checks for whole group and cast until group
| health is full or until mana is depleated.
|Version 1.0d
| - Macro will keep running.
| - Macro Contains enough info in sub routines to identify NPC from PC
| - Macro also is used to assist the main assist
| (restart macro to read just tank)
| - Macro Contains checks for SoE + Eagle Eye. Will recast if faded.(Buggy)
|Version 1.0c
| - Fixed the macro to end when the mob dies. (Turn off macro to stop)
|Version 1.0b
| - Fixed having the user to fire 1st arrow for macro to run
| - Still need to fix how to turn it off once mob is dead
|Version 1.0a
| - Need user intervention to Fire 1st arrow for the macro to work
| - Need user intervention to turn off the macro even after mob is dead
|
| Usage: /Macro Archery <tank name>
|
|----------------------------------------------------------------------------|
#Event EAGLEEYE "The avian presence departs."
#Event SPIRITOF "The avian spirit departs."
#Event SLAINBY "You have been slain by "
#Event FIZZLE "Your spell Fizzles!"
#Event HASTE "The quickening spirit departs."
#turbo infinite
Sub Main
/ECHO =+= Gellenole's Autofire Macro Enabled =+=
/ECHO =+= Version Realease: 1.2E =+=
/ECHO =+= Usage: /Macro Archery <Tank name> =+=
/declare Fightswitch global
/declare tankname global
/declare CastsoE_Flag global
/declare Casteagle_Flag global
/declare Fizz_Flag global
/declare Nalot_Flag global
/declare CastTimer timer
/varset tankname @Param0
/varset Casteagle_Flag 0
/varset CastsoE_Flag 0
/varset Fizz_Flag 0
/varset Nalot_Flag 0
:Mainloop
/call Fightswitch
/doevents
/delay 1s
/goto :mainloop
/return
Sub Healthcheck
/if n @CastTimer>0 /return
/if n $char(hp,pct)<75 {
/if $combat!="FALSE" {
/if $target()=="FALSE" {
/cast "Chloroblast"
/varset CastTimer 3s
}
}
}
/return
|the health check isn't working atm... all else should still run fine... delete!
| --> This subset is a switch to check for mob target
Sub Fightswitch
/Echo Your Main Tank is @tankname
:stopfiring
/doevents
/assist @tankname
/delay 5
/if "$target(type)"=="NPC" {
/Echo Autofire Engaged
/call Arrow
}
/if "$target(type)"!="NPC" {
/delay 10
/goto :stopfiring
}
/if "$target()"=="FALSE" {
/delay 5
/goto :stopfiring
}
/return
| --> Loop for arrows
Sub Arrow
:arrowloop
/doevents
/if "$target()"=="TRUE" {
/face fast
/if n $target(distance)>175 /sendkey down up
/if n $target(distance)<130 /sendkey down down
/if n $target(distance)<155 /sendkey up up
/if n $target(distance)<115 /sendkey up down
/delay 3
/press 2 |Change arrow button to your own
}
/if "$target(type)"!="NPC" {
/delay 10
/call Fightswitch
}
/if "$target()"=="FALSE" {
/delay 5
/call Fightswitch
}
/goto :arrowloop
/return
Sub Spellcast
:recast
/doevents
/if n @CastTimer>0 /return
/if @Casteagle_Flag=="1" {
/cast "Eagle Eye"
/varset CastTimer 4.1s
/if @Fizz_Flag=="1" {
/goto :recast
}
/varset Casteagle_Flag 0
/varset Fizz_Flag 0
}
/if n @CastTimer>0 /return
/if @CastsoE_Flag=="1" {
/press tab
/cast "Spirit of Eagle"
/varset CastTimer 3.8s
/if @Fizz_Flag=="1" {
/goto :recast
}
/varset CastsoE_Flag 0
/varset Fizz_Flag 0
}
/if n @CastTimer>0 /return
/if $target(type)=="NPC" {
/if $target(hp,pct)<=80 {
/cast "Ensnare"
/varset CastTimer 2.0s
/if @Fizz_Flag=="1" {
/goto :recast
}
/varset Fizz_Flag 0
}
}
/if n @CastTimer>0 /return
/if @Nalot_Flag=="1" {
/cast item "Eyepatch of Plunder"
/varset CastTimer 3.5s
}
/varset Nalot_Flag 0
/return
| --> EVENTS DONE by #EVENT
Sub Event_EAGLEEYE
/Echo (re)casting Eagle Eye
/varset Casteagle_Flag 1
/call Spellcast
/return
Sub Event_SPIRITOF
/Echo (re)casting Spirit of Eagle
/varset CastsoE_Flag 1
/call Spellcast
/return
Sub Event_FIZZLE
/varset Fizz_Flag 1
/call Spellcast
/return
Sub Event_HASTE
/Echo (re)casting Captain Nalot's Quickening
/varset Nalot_Flag 1
/call Spellcast
/return
Sub Event_SLAINBY
/Echo Slained Event Entered
/endmacro
/return
| --> End of Events
-
Guest
Post
by Guest » Tue Nov 04, 2003 1:38 pm
none of the casting features dont work....
-
Doodman
- a ghoul

- Posts: 124
- Joined: Thu Jan 02, 2003 12:07 pm
Post
by Doodman » Tue Nov 04, 2003 1:51 pm
Anonymous wrote:none of the casting features dont work....
Well, that would be a good thing then, right?
I just love the double-negative.
None of your english is not bad.
-
RogerWilco
- a ghoul

- Posts: 86
- Joined: Thu Aug 28, 2003 4:05 am
Post
by RogerWilco » Wed Nov 05, 2003 1:32 pm
wow talk about proper usage of the english Language....
but the point is valid.... none of the casting portions of this macro works
-
Curious
- a ghoul

- Posts: 88
- Joined: Wed Aug 27, 2003 5:19 am
Post
by Curious » Thu Nov 06, 2003 12:47 am
I find it interesting the number of times you stress that no-one is allowed to modify your code ... after you post it to a message board with the description of:
MacroQuest::Macro Depot
A forum for you to dump all the macros you create, allowing users to use, modify, and comment on your work.
(boldface text added by myself, not in original description)
-
RogerWilco
- a ghoul

- Posts: 86
- Joined: Thu Aug 28, 2003 4:05 am
Post
by RogerWilco » Thu Nov 06, 2003 8:07 am
Good point Curious... I know I play a Ranger and already use an auto-fire macro... this macro seems (in principle) very usefull but since he stresses the fact that no-one can modify it I guess it can not be twiked then

-
Stogar
- a lesser mummy

- Posts: 58
- Joined: Mon Oct 13, 2003 12:02 pm
Post
by Stogar » Thu Nov 06, 2003 10:22 am
MacroQuest::Macro Depot
A forum for you to dump all the macros you create, allowing users to use, modify, and comment on your work.
Since it was indeed posted here I assume that he just forgot to erase those comments.
Posted on a PUBLIC board, macro code that uses GPL software....come on, don't modify?
I totally agree that credit should always be given if you modify someone's code.
[/b]
-
Gellenole's Ghost
Post
by Gellenole's Ghost » Thu Nov 06, 2003 3:23 pm
yeah I forgot to erase...
mod for your own use... just don't distribute the mod and claim as your own ^^
-
Gellenole
- orc pawn

- Posts: 20
- Joined: Wed Oct 29, 2003 10:28 pm
Post
by Gellenole » Thu Nov 06, 2003 3:26 pm
same version just fixed the recasting
Code: Select all
|Archery Macro v. 1.2E
|Archery Assist Macro.
|Gellenole's Autofire Archery Macro
|
|Forenote: This macro was created with a creative purpose.
| Mod all you want... Just don't distribute and claim it as
| your own.
|
|
|HISTORY
|Version 1.2E
| - Never forget Snare again (uses Ensnare)
| - Will do checks for SoE + Eagle Eye + Health + Regrowth + Self haste
| - Events added to close Macro if player died.
| - Events will ensure you keep haste on yourself 100% of the time
|Future - Plans to add health checks for whole group and cast until group
| health is full or until mana is depleated.
|Version 1.0d
| - Macro will keep running.
| - Macro Contains enough info in sub routines to identify NPC from PC
| - Macro also is used to assist the main assist
| (restart macro to read just tank)
| - Macro Contains checks for SoE + Eagle Eye. Will recast if faded.(Buggy)
|Version 1.0c
| - Fixed the macro to end when the mob dies. (Turn off macro to stop)
|Version 1.0b
| - Fixed having the user to fire 1st arrow for macro to run
| - Still need to fix how to turn it off once mob is dead
|Version 1.0a
| - Need user intervention to Fire 1st arrow for the macro to work
| - Need user intervention to turn off the macro even after mob is dead
|
| Usage: /Macro Archery <tank name>
|
|----------------------------------------------------------------------------|
#Event EAGLEEYE "The avian presence departs."
#Event EAGLESUC "Your eyes sharpen, with an aura of avian presence."
#Event SPIRITOF "The avian spirit departs."
#Event SPIRISUC "Your body pulses with an avian spirit."
#Event REGROWTH "You have stopped regenerating."
#Event REGROSUC "You begin to regenerate."
#Event HASTE "The quickening spirit departs."
#Event HASTSUC "You are filled by the spirit of water."
#Event HASTE_E "Your restless nature fades."
#Event HASTE_S "Your speed fades."
#Event HASTE_S2 "Your speed returns to normal."
#Event SLAINBY "You have been slain by "
#turbo infinite
Sub Main
/ECHO =+= Gellenole's Autofire Macro Enabled =+=
/ECHO =+= Version Realease: 1.2E =+=
/ECHO =+= Usage: /Macro Archery <Tank name> =+=
/declare tankname global
/declare CastsoE_Flag global
/declare Casteagle_Flag global
/declare Fizz_Flag global
/declare Nalot_Flag global
/declare Castreg_Flag global
/varset tankname @Param0
/varset Casteagle_Flag 0
/varset Castreg_Flag 0
/varset CastsoE_Flag 0
/varset Fizz_Flag 0
/varset Nalot_Flag 0
:Mainloop
/call Combatcheck
/doevents
/delay 1s
/goto :mainloop
/return
| --> This sub command is a switch to check for mob target
| --> This sub command also checks for your own health
Sub Combatcheck
/Echo Your Main Assist is @tankname
:stopfiring
/doevents
/assist @tankname
/delay 15
/if "$target(type)"=="NPC" {
/Echo Autofire Engaged
/call Arrow
}
/if "$target(type)"!="NPC" {
/delay 10
/goto :stopfiring
}
/if "$target()"=="FALSE" {
/delay 5
/goto :stopfiring
}
:reheal
/doevents
/if n $char(hp,pct)<75 {
/if $combat!="FALSE" {
/if $target()=="FALSE" {
/press tab
/cast "Chloroblast"
/delay 2.4s
/goto :reheal
}
}
}
/return
| --> Loop for arrows
| --> This loop also checks for snaring the mob if under 85%
Sub Arrow
:arrowloop
/doevents
/if "$target()"=="TRUE" {
/face fast
/if n $target(distance)>90 /sendkey down up
/if n $target(distance)<85 /sendkey down down
/if n $target(distance)<100 /sendkey up up
/if n $target(distance)<75 /sendkey up down
/delay 3
/press 2 |Change arrow button to your own
}
/if "$target(type)"!="NPC" {
/delay 10
/call Combatcheck
}
/if "$target()"=="FALSE" {
/delay 5
/call Combatcheck
}
:resnare
/doevents
/if $target(type)=="NPC" {
/if $target(hp,pct)>=82 {
/if $target(hp,pct)<=85 {
/Echo Ensnared: $target(name)
/cast "Ensnare"
/delay 1.8s
/goto :resnare
}
}
}
/goto :arrowloop
/return
Sub Spellcast
:recheck
/doevents
/if @Casteagle_Flag=="1" {
/cast "Eagle Eye"
/delay 4s
}
/if @CastsoE_Flag=="1" {
/press tab
/cast "Spirit of Eagle"
/delay 3.6s
}
/if @Castreg_Flag=="1" {
/press tab
/cast "Regrowth"
/delay 4.8s
}
/if @Nalot_Flag=="1" {
/cast item "Eyepatch of Plunder"
/delay 3.5s
}
/goto :recheck
/return
| --> EVENTS DONE by #EVENT
Sub Event_EAGLEEYE
/Echo (re)casting Eagle Eye
/varset Casteagle_Flag 1
/call Spellcast
/return
Sub Event_EAGLESUC
/Echo Eagle Eye Successfully casted
/varset Casteagle_Flag 0
/return
Sub Event_SPIRITOF
/Echo (re)casting Spirit of Eagle
/varset CastsoE_Flag 1
/call Spellcast
/return
Sub Event_SPIRISUC
/Echo Spirit of Eagle Successfully casted
/varset CastsoE_Flag 0
/return
Sub Event_REGROWTH
/Echo (re)casting Regrowth
/varset Castreg_Flag 1
/call Spellcast
/return
Sub Event_REGROSUC
/Echo Regrowth Successfully casted
/varset Castreg_Flag 0
/return
| -->The 4 haste events is to ensure you to keep haste 100% of the time on yourself.
| -->Only when you begin with selfbuffs
Sub Event_HASTE
/Echo (re)casting Captain Nalot's Quickening
/varset Nalot_Flag 1
/call Spellcast
/return
Sub Event_HASTSUC
/Echo Captain Nalot's Quickening Successfully casted
/varset Nalot_Flag 0
/return
| -->These #Events are described as: E = Enchanter S = Shaman S2 = Shaman
| -->When these spells fade, it checks whether you are still targetting an NPC (hopefully while in battle)
| -->When the haste fades during battle it will trigger an event and cast your selfhaste item on you
| -->This minimizes the dramatic loss of DPS during the fight.
Sub Event_HASTE_E
/if $target(type)=="NPC" {
/Echo (re)casting Captain Nalot's Quickening
/varset Nalot_Flag 1
/call Spellcast
}
/return
Sub Event_HASTE_S
/if $target(type)=="NPC" {
/Echo (re)casting Captain Nalot's Quickening
/varset Nalot_Flag 1
/call Spellcast
}
/return
Sub Event_HASTE_S2
/if $target(type)=="NPC" {
/Echo (re)casting Captain Nalot's Quickening
/varset Nalot_Flag 1
/call Spellcast
}
/return
Sub Event_SLAINBY
/Echo Slained Event Entered
/endmacro
/return
| --> End of Events