Siddin
Rikk-tikk-tikki-tikki-tchk!
- Joined
- Feb 6, 2005
- RedCents
- 504¢
Halls of Honor A
twists 1 for healsong
2 3 4 5 and 7 are dots
and 8 is selos. change this line /if (${Me.Buff[${Me.Gem[${SeloSong}].Name}].Duration}<=2) {
from 2 to something higher if selos doesn't refresh.
Chantkite.mac
Here's the most configurable one of them all, but i'd suggest making a hotkey for it first...
Usage: /mac chantkite (radius) (heal%) (healsong) (selos) (#of dots) (dot1-9)
ie. /mac chantkite 55 60 1 8 5 2 3 4 5 7
radius of 55, heals at 60%, plays song 1 to heal, plays song 8 for selos, 5 dots, #'s 2 3 4 5 7
This one twists a different song after the mob hits whatever % hp you declare as a snarepct. you'll definitely want to go through and edit the /twist commands though as they're set up for mine at the moment. i'll go through later and change em prolly, but i might forget. *shrug*
And last but not least on this post, the bard chant+looting macro, again modify any/all /twist commands
Swarmkite.mac
twists 1 for healsong
2 3 4 5 and 7 are dots
and 8 is selos. change this line /if (${Me.Buff[${Me.Gem[${SeloSong}].Name}].Duration}<=2) {
from 2 to something higher if selos doesn't refresh.
Rich (BB code):
#event EXP "#*#experience!!"
|#event NeedTarget "You must select a target for this spell!"
|#event NeedTarget2 "Your target is out of range, get closer!"
#event seetarget "You cannot see your target."
#event targetid "Your Tuyen's Chant of Poison has worn off."
#event targetid "Your Tuyen's Chant of Disease has worn off."
#event targetid "Your Tuyen's Chant of Flame has worn off."
#event targetid "Your Tuyen's Chant of Frost has worn off."
#event logoff "LOADING, PLEASE WAIT..."
#event join "#*#invite me#*#"
#event quit "#*#leave hoh quit#*#"
#event speedsong "#*#speedsong#*#"
Sub main
/warp loc 1368.69 1354.42 -113.21
/circle on 110 1382.46 1215.35
/declare myzone int outer ${Zone.ID}
/declare pause int outer 1
/declare avoid1 int outer 0
/declare avoid2 int outer 0
/declare killtarget int outer 0
/declare movedone int outer 0
/declare healsong int outer 1
/declare SeloSong int outer 8
/declare DirgeSong int outer 7
/declare BellowSong int outer 6
/declare Bellowtimer int outer 300
/declare targetammount int outer
/declare PrevSong int outer 0
/declare maintimer int outer 0
/echo Selo's: ${Me.Gem[${SeloSong}].Name}
:needtarget
/call event_needtarget
/call selosong
:MainLoop
/if (${Target.ID}==${Me.ID}) /squelch /target clear
/if (${Zone.ID}!=${myzone}) {
/circle off
/nomodkey /keypress forward
/nomodkey /keypress left
/nomodkey /keypress right
/camp desktop
/mqlog camping out
/endmac
}
/doevents
/if (!${Target.ID}) {
/keypress forward hold
/delay 3s
/goto :needtarget
}
/nomodkey /keypress forward hold
/call healsong
/call selosong
/call Bellow
/call GMCheck
|/call dirgesong
/delay 1S
/nomodkey /keypress forward hold
/doevents
/goto :MainLoop
/return
Sub GMCheck
/if (${Spawn[gm].ID}) {
/Log GM entered the zone!
/log For safty reasons ending the macro
/mqlog GM entered the zone!
/mqlog For safty reasons ending the macro
/keypress forward hold
/q
}
/return
Sub Event_join
/declare currentmob local ${Target.ID}
/target ladyhavvk
/invite
/target id ${currentmob}
/return
Sub Event_NeedTarget
/if (!${Target.ID}) /squelch /target npc radius 275
/keypress forward hold
/if (${Target.ID}) /squelch /twist 2 3 4 5 7
/return
Sub Event_NeedTarget2
/squelch /target npc radius 275
/keypress forward hold
/return
Sub Event_seetarget
/varcalc targetammount ${targetammount}+1
/if (${targetammount}>=10) {
/squelch /target npc radius 275
/squelch /twist reset
/varset targetammount 0
/return
}
/return
Sub Event_targetid
/varset targetammount 0
/return
sub selosong
/if (${Me.Buff[${Me.Gem[${SeloSong}].Name}].Duration}<=2) {
/echo Selos about to die
/squelch /twist 8
/delay 1S
/nomodkey /keypress forward hold
/delay 1S
/nomodkey /keypress forward hold
/delay 1S
/nomodkey /keypress forward hold
/delay 1S
/nomodkey /keypress forward hold
/squelch /twist 2 3 4 5 7
/varset healsong 0
/call healsong
/varset PrevSong 0
/doevents
/return
}
/return
sub dirgesong
/if (!${Target.ID}) /return
/if (${Me.CurrentMana}>=880) {
/echo dirge
/squelch /twist ${DirgeSong}
/delay 1S
/nomodkey /keypress forward hold
/delay 1S
/nomodkey /keypress forward hold
/delay 1S
/nomodkey /keypress forward hold
/delay 1S
/nomodkey /keypress forward hold
/squelch /twist 2 3 4 5 7
/varset healsong 0
/call healsong
/doevents
/return
}
/return
Sub healsong
/if (${healsong}==0) /if (${Me.PctHPs}<=95) {
/squelch /twist 1 2 3 4 5
/varset healsong 1
/return
}
/if (${healsong}==1) /if (${Me.PctHPs}>=96) {
/squelch /twist 2 3 4 5 7
/varset healsong 0
/return
}
/return
Sub Event_quit
/circle off
/warp succor
/camp desktop
/endmac
/return
Sub Event_logoff
/delay 60s
/keypress forward
/keypress left
/keypress right
/camp desktop
/endmac
/return
Sub Event_EXP
/target npc
/if (!${Target.LineOfSight}) /squelch /target clear
|/squelch /target npc radius 275
/if (${Target.ID}) {
/squelch /twist 2 3 4 5 7
/return
} else {
/squelch /twist 8
/goto :looting
}
:looting
/look
/target npc
/if (!${Target.LineOfSight}) /squelch /target clear
/if (${Target.ID}) {
/circle on 110 1382.46 1215.35
/squelch /twist 2 3 4 5 7
/return
}
/target npc corpse radius 200
/if (!${Target.ID}) {
/circle on 110 1382.46 1215.35
/return
}
/if (${Target.ID}) {
/circle off
/call LootMob
/goto :looting
}
/return
Sub LootMob
/declare LootChance int inner 0
/declare LootSlot int inner 0
/declare LootCheck int inner 0
/declare LootTotal int inner 0
/face fast nolook
/squelch /stick 5
:Distance
/if (${Target.Distance}<=10) {
/squelch /stick off
/loot
} else {
/goto :Distance
}
/squelch /stick off
/loot
/delay 1s
/if (!${Corpse.Items}) {
/shift /notify InventoryWindow IW_Money1 leftmouseup
/destroy
/shift /notify InventoryWindow IW_Money2 leftmouseup
/destroy
/shift /notify InventoryWindow IW_Money3 leftmouseup
/destroy
/notify LootWnd DoneButton leftmouseup
/look
/return
}
/varset LootTotal ${Corpse.Items}
/for LootSlot 1 to ${LootTotal}
/itemnotify loot${LootSlot} rightmouseup
/delay 5
/next LootSlot
/shift /notify InventoryWindow IW_Money1 leftmouseup
/destroy
/shift /notify InventoryWindow IW_Money2 leftmouseup
/destroy
/shift /notify InventoryWindow IW_Money3 leftmouseup
/destroy
/notify LootWnd DoneButton leftmouseup
/look
/cleanup
/return
Sub Bellow
/if (${Me.AltAbilityReady[Boastful Bellow]} && ${Target.Type.Equal[NPC]}) {
/aa act Boastful Bellow
/delay 5
}
/return
Sub Event_speedsong
/squelch /twist 8
/delay 1S
/nomodkey /keypress forward hold
/delay 1S
/nomodkey /keypress forward hold
/delay 1S
/nomodkey /keypress forward hold
/delay 1S
/nomodkey /keypress forward hold
/squelch /twist 2 3 4 5 7
/varset healsong 0
/call healsong
/return
Chantkite.mac
Here's the most configurable one of them all, but i'd suggest making a hotkey for it first...
Usage: /mac chantkite (radius) (heal%) (healsong) (selos) (#of dots) (dot1-9)
ie. /mac chantkite 55 60 1 8 5 2 3 4 5 7
radius of 55, heals at 60%, plays song 1 to heal, plays song 8 for selos, 5 dots, #'s 2 3 4 5 7
Rich (BB code):
|Usage: /mac chantkite (radius) (heal%) (healsong) (selos) (#of dots) (dot1-9)
|ie. /mac chantkite 55 60 1 8 5 2 3 4 5 7
|radius of 55, heals at 60%, plays song 1 to heal, plays song 8 for selos, 5 dots, #'s 2 3 4 5 7
|
#event NeedTarget "You must first select a target for this spell!"
#event NeedTarget2 "Your target is out of range, get closer!"
#event seetarget "You cannot see your target."
#event exp "#*#experience!!"
Sub Main(int rad,int hp,int hps,int selos,int dots,int dots1,int dots2,int dots3,int dots4,int dots5,int dots6,int dots7,int dots8,int dots9)
/delay 2
/declare radius int outer ${rad}
/declare health int outer ${hp}
/declare hpsong int outer ${hps}
/declare dotnumber int outer ${dots}
/declare dot1 int outer ${dots1}
/declare dot2 int outer ${dots2}
/declare dot3 int outer ${dots3}
/declare dot4 int outer ${dots4}
/declare dot5 int outer ${dots5}
/declare dot6 int outer ${dots6}
/declare dot7 int outer ${dots7}
/declare dot8 int outer ${dots8}
/declare dot9 int outer ${dots9}
/declare healsong int outer 0
/declare SeloSong int outer ${selos}
/declare targetammount int outer
/declare PrevSong int outer
/varset PrevSong 0
/echo Selo's: ${Me.Gem[${SeloSong}].Name}
/circle on ${radius}
/call normaltwist
:MainLoop
/doevents
/call gmcheck
/nomodkey /keypress forward hold
/call selosong
/call healsong
/delay 1S
/nomodkey /keypress forward hold
/goto :MainLoop
/return
Sub Event_exp
/tar npc radius 150
/call normaltwist
/return
Sub Event_NeedTarget
/if (!${Target.ID}) /target npc radius 150
/return
Sub Event_NeedTarget2
/target npc
/return
Sub Event_seetarget
/varcalc targetammount ${targetammount}+1
/if (${targetammount}>=10) {
/target npc
/varset targetammount 0
/return
}
/return
Sub Event_targetid
/varset targetammount 0
/return
sub selosong
/if (${Me.Buff[${Me.Gem[${SeloSong}].Name}].Duration}<=6) {
/echo Selos about to die
/stopsong
/twist ${SeloSong}
/delay 1S
/nomodkey /keypress forward hold
/delay 1S
/nomodkey /keypress forward hold
/delay 1S
/nomodkey /keypress forward hold
/delay 1S
/nomodkey /keypress forward hold
/call normaltwist
/varset PrevSong 0
/doevents
/return
}
/return
Sub healsong
/if (${healsong}==0) /if (${Me.PctHPs}<=${health}) {
/call healtwist
/varset healsong 1
/return
}
/if (${healsong}==1) /if (${Me.PctHPs}>=96) {
/call normaltwist
/varset healsong 0
/return
}
/return
sub normaltwist
/if (${dotnumber}==1) /twist ${dot1}
/if (${dotnumber}==2) /twist ${dot1} ${dot2}
/if (${dotnumber}==3) /twist ${dot1} ${dot2} ${dot3}
/if (${dotnumber}==4) /twist ${dot1} ${dot2} ${dot3} ${dot4}
/if (${dotnumber}==5) /twist ${dot1} ${dot2} ${dot3} ${dot4} ${dot5}
/if (${dotnumber}==6) /twist ${dot1} ${dot2} ${dot3} ${dot4} ${dot5} ${dot6}
/if (${dotnumber}==7) /twist ${dot1} ${dot2} ${dot3} ${dot4} ${dot5} ${dot6} ${dot7}
/if (${dotnumber}==8) /twist ${dot1} ${dot2} ${dot3} ${dot4} ${dot5} ${dot6} ${dot7} ${dot8}
/if (${dotnumber}==9) /twist ${dot1} ${dot2} ${dot3} ${dot4} ${dot5} ${dot6} ${dot7} ${dot8} ${dot9}
/return
sub healtwist
/if (${dotnumber}==1) /twist ${dot1} ${hpsong}
/if (${dotnumber}==2) /twist ${dot1} ${dot2} ${hpsong}
/if (${dotnumber}==3) /twist ${dot1} ${dot2} ${dot3} ${hpsong}
/if (${dotnumber}>=4) /twist ${dot1} ${dot2} ${dot3} ${dot4} ${hpsong}
/return
sub gmcheck
/if (${Spawn[gm].ID}) {
/MQLog GM entered the zone!
/mqlog For safty reasons ending the macro
/echo GM entered the zone!
/echo For safty reasons ending the macro
/endmac
/keypress instant_camp
}
/return
This one twists a different song after the mob hits whatever % hp you declare as a snarepct. you'll definitely want to go through and edit the /twist commands though as they're set up for mine at the moment. i'll go through later and change em prolly, but i might forget. *shrug*
Rich (BB code):
#event NeedTarget "You must first select a target for this spell!"
#event NeedTarget2 "Your target is out of range, get closer!"
#event seetarget "You cannot see your target."
#event targetid "Your Tuyen's Chant of Poison has worn off."
#event targetid "Your Tuyen's Chant of Disease has worn off."
#event targetid "Your Tuyen's Chant of Flame has worn off."
#event targetid "Your Tuyen's Chant of Frost has worn off."
#event exp "You gain experience!!"
#event camp_check "#*#Camp Check#*#"
#event replay "You target resisted the Largo#*#"
Sub Main(String Selos, String Dirge, String Bellows)
/declare slowsong int outer 0
/declare healsong int outer 0
/declare SeloSong int outer 8
/declare DirgeSong int outer 7
/declare BellowSong int outer 6
/declare Bellowtimer int outer 300
/declare targetammount int outer
/declare PrevSong int outer
/varset PrevSong 0
/echo Selo's: ${Me.Gem[${SeloSong}].Name}
:MainLoop
/doevents
/nomodkey /keypress forward hold
/if (${Target.PctHPs}<=15) /if (${slowsong}==0) {
/twist 7 2 3 4
/varset slowsong 1
}
/call selosong
|/call dirgesong
|/call bellowsong
/call healsong
/delay 1S
/nomodkey /keypress forward hold
/varcalc Bellowtimer ${Bellowtimer}+1
/goto :MainLoop
/return
Sub Event_replay
/squelch /twist 7 2 3 4
/return
Sub Event_NeedTarget
/if (!${Target.ID}) /squelch /target npc radius 100
/return
Sub Event_EXP
/varset healsong 0
/varset slowsong 0
/declare nexttarget int local
/if (!${Target.ID}) /squelch /target npc radius 100
/twist 2 3 4 5
/if (${Target.ID}) /return
:lootcorpse
/squelch /target npc radius 75
/if (${Target.ID}) {
/twist 2 3 4 5
/circle on -1639.59 2471.09
/keypress forward hold
/return
}
/if (!${Target.ID}) /squelch /target corpse radius 200
/if (!${Target.ID}) /return
/twist 8
/circle off
/call lootcorpse
/goto :lootcorpse
/return
Sub Event_NeedTarget2
/squelch /target npc radius 100
/return
Sub Event_seetarget
/varcalc targetammount ${targetammount}+1
/if (${targetammount}>=10) {
/squelch /target npc radius 100
/varset targetammount 0
/return
}
/return
Sub Event_targetid
/varset targetammount 0
/return
sub selosong
/if (${SeloSong}) /if (${Me.Buff[${Me.Gem[${SeloSong}].Name}].Duration}<=6) {
/echo Selos about to die
/twist 8
/delay 1S
/nomodkey /keypress forward hold
/delay 1S
/nomodkey /keypress forward hold
/delay 1S
/nomodkey /keypress forward hold
/delay 1S
/nomodkey /keypress forward hold
/if (${slowsong}==1) /twist 7 2 3 4
/if (${slowsong}==0) /twist 2 3 4 5
/nomodkey /keypress forward hold
/varcalc Bellowtimer ${Bellowtimer}+8
/varset PrevSong 0
/doevents
/return
}
/return
sub dirgesong
/if (${Me.CurrentMana}>=880) {
/echo dirge
/twist 7
/varset slowsong 0
/delay 1S
/nomodkey /keypress forward hold
/delay 1S
/nomodkey /keypress forward hold
/delay 1S
/nomodkey /keypress forward hold
/delay 1S
/nomodkey /keypress forward hold
/twist 2 3 4 5
/varcalc Bellowtimer ${Bellowtimer}+8
/doevents
/return
}
/return
sub bellowsong
/if (${Bellowtimer}>=300) {
/echo bellows
/stopsong
/cast 6
/delay 1S
/nomodkey /keypress forward hold
/delay 1S
/nomodkey /keypress forward hold
/delay 1S
/nomodkey /keypress forward hold
/delay 1S
/nomodkey /keypress forward hold
/delay 1S
/nomodkey /keypress forward hold
/delay 1S
/nomodkey /keypress forward hold
/delay 1S
/nomodkey /keypress forward hold
/delay 1S
/nomodkey /keypress forward hold
/varset Bellowtimer 0
/doevents
/return
}
/return
Sub healsong
/if (${healsong}==0) /if (${Me.PctHPs}<=95) /if (${slowsong}==0) {
/twist 1 2 3 4 5
/varset healsong 1
/return
}
/if (${healsong}==0) /if (${Me.PctHPs}<=95) /if (${slowsong}==1) {
/twist 7 2 3 1
/varset healsong 1
/return
}
/if (${healsong}==1) /if (${Me.PctHPs}>=96) /if (${slowsong}==0) {
/twist 2 3 4 5
/varset healsong 0
/return
}
/if (${healsong}==1) /if (${Me.PctHPs}>=96) /if (${slowsong}==1) {
/twist 7 2 3 4
/varset healsong 0
/return
}
/return
Sub LootMob
/declare LootChance int inner 0
/declare LootSlot int inner 0
/declare LootCheck int inner 0
/declare LootTotal int inner 0
/face fast
/keypress forward
/keypress back
/stick 5
|/delay 5s
:Distance
/if (${Target.Distance}<=10) {
/stick off
/loot
} else {
/goto :Distance
}
/stick off
/loot
/delay 1s
/if (!${Corpse.Items}) {
/echo NO LOOT! Cheap Bastard!
/shift /notify InventoryWindow IW_Money1 leftmouseup
/destroy
/shift /notify InventoryWindow IW_Money2 leftmouseup
/destroy
/shift /notify InventoryWindow IW_Money3 leftmouseup
/destroy
/notify LootWnd DoneButton leftmouseup
/cleanup
/return
}
/varset LootTotal ${Corpse.Items}
/for LootSlot 1 to ${LootTotal}
/itemnotify loot${LootSlot} leftmouseup
/delay 5
/echo Keeping a ${Cursor.Name}... WOOT!
/autoinventory
/delay 5
/next LootSlot
/shift /notify InventoryWindow IW_Money1 leftmouseup
/destroy
/shift /notify InventoryWindow IW_Money2 leftmouseup
/destroy
/shift /notify InventoryWindow IW_Money3 leftmouseup
/destroy
/notify LootWnd DoneButton leftmouseup
/cleanup
/return
Sub event_camp_check
/ooc BC
/return
And last but not least on this post, the bard chant+looting macro, again modify any/all /twist commands
Rich (BB code):
| Written by Siddin |You will need to get mq2twist and mq2moveutils
|from the macroquest2 forums.
#event EXP "You gain experience!!"
#event EXP "You gain party experience!!"
#event NeedTarget "You must select a target for this spell!"
#event NeedTarget2 "Your target is out of range, get closer!"
#event seetarget "You cannot see your target."
#event targetid "#*#has worn off."
#event logoff "LOADING, PLEASE WAIT..."
Sub main
/declare pause int outer 1
/declare healsong int outer 1
/declare SeloSong int outer 8
/declare DirgeSong int outer 7
/declare targetammount int outer 0
/echo Selo's: ${Me.Gem[${SeloSong}].Name}
:needtarget
/call event_needtarget
/call selosong
:MainLoop
/doevents
/if (!${Target.ID}) {
/keypress forward hold
/delay 3s
/goto :needtarget
}
/nomodkey /keypress forward hold
/call healsong
/call selosong
/call GMCheck
/call dirgesong
/delay 1S
/nomodkey /keypress forward hold
/goto :MainLoop
:loot
/call event_exp
/goto :pause
/return
Sub GMCheck
/if (${Spawn[gm].ID}) {
/Log GM entered the zone!
/log For safty reasons ending the macro
/echo GM entered the zone!
/echo For safty reasons ending the macro
/circle off
/keypress forward
/twist 6
/delay 3s
/twist 1
/q
}
/return
Sub Event_NeedTarget
/squelch /if (!${Target.ID}) /squelch /target npc radius 140
/keypress forward hold
/if (${Target.ID}) /twist 2 3 4 5
/return
Sub Event_NeedTarget2
/squelch /target npc radius 140
/keypress forward hold
/return
Sub Event_seetarget
/varcalc targetammount ${targetammount}+1
/if (${targetammount}>=10) {
/squelch /target npc radius 140
/twist reset
/varset targetammount 0
/return
}
/return
Sub Event_targetid
/varset targetammount 0
/return
sub selosong
/if (${SeloSong}) /if (${Me.Buff[${Me.Gem[${SeloSong}].Name}].Duration}<=4) {
/echo Selos about to die
/twist 8
/delay 1S
/nomodkey /keypress forward hold
/delay 1S
/nomodkey /keypress forward hold
/delay 1S
/nomodkey /keypress forward hold
/delay 1S
/nomodkey /keypress forward hold
/twist 2 3 4 5
/varset healsong 0
/call healsong
/doevents
/return
}
/return
sub dirgesong
/if (!${Target.ID}) /return
/if (${Me.CurrentMana}>=880) {
/echo dirge
/twist ${DirgeSong}
/delay 1S
/nomodkey /keypress forward hold
/delay 1S
/nomodkey /keypress forward hold
/delay 1S
/nomodkey /keypress forward hold
/delay 1S
/nomodkey /keypress forward hold
/twist 2 3 4 5
/varset healsong 0
/call healsong
/doevents
/return
}
/return
Sub healsong
/if (${healsong}==0) /if (${Me.PctHPs}<=95) {
/twist 1 2 3 4 5
/varset healsong 1
/return
}
/if (${healsong}==1) /if (${Me.PctHPs}>=96) {
/twist 2 3 4 5
/varset healsong 0
/return
}
/return
Sub Event_quit
/circle off
/keypress forward
/keypress left
/keypress right
/twist off
:doeventloop
/doevents
/goto :doeventloop
/return
Sub Event_logoff
/delay 60s
/keypress forward
/keypress left
/keypress right
/camp desktop
/endmac
/return
Sub Event_EXP
/twist 8
/squelch /target npc radius 160
/if (${Target.ID}) {
/twist 2 3 4 5
/return
} else {
/twist 8
/goto :looting
}
:looting
/target npc radius 75
/if (${Target.ID}) {
/twist 2 3 4 5
/goto :endxp
}
/target npc corpse radius 200
/if (!${Target.ID}) /goto :endxp
/if (${Target.ID}) {
/circle off
/call LootMob
/goto :looting
}
:endxp
/circle on (xcoords) (ycoords)
/return
Sub LootMob
/declare LootChance int inner 0
/declare LootSlot int inner 0
/declare LootCheck int inner 0
/declare LootTotal int inner 0
/face fast
/keypress forward
/keypress back
/stick 5
:Distance
/if (${Target.Distance}<=10) {
/stick off
/loot
} else {
/goto :Distance
}
/stick off
/loot
/delay 1s
/if (!${Corpse.Items}) {
/echo NO LOOT! Cheap Bastard!
/shift /notify InventoryWindow IW_Money1 leftmouseup
/destroy
/shift /notify InventoryWindow IW_Money2 leftmouseup
/destroy
/shift /notify InventoryWindow IW_Money3 leftmouseup
/destroy
/notify LootWnd DoneButton leftmouseup
/cleanup
/return
}
/varset LootTotal ${Corpse.Items}
/for LootSlot 1 to ${LootTotal}
/itemnotify loot${LootSlot} leftmouseup
/delay 5
/autoinventory
/delay 5
/next LootSlot
/shift /notify InventoryWindow IW_Money1 leftmouseup
/destroy
/shift /notify InventoryWindow IW_Money2 leftmouseup
/destroy
/shift /notify InventoryWindow IW_Money3 leftmouseup
/destroy
/notify LootWnd DoneButton leftmouseup
/cleanup
/return
Swarmkite.mac
Rich (BB code):
#event DropCharm "#*#charm spell#*#"
#event EXP "You have gained group experience!!"
#event EXP "You gain experience!!"
Sub Main
/declare KiteMob int outer 0
/declare Charmed int outer 0
/declare MyTargetID int outer 0
/declare MyPetID int outer 0
/declare InvisPct int outer 35
/declare InvisSong int outer 9
/declare RunSong int outer 8
/declare CharmSong int outer 7
/declare SwamCount int outer 8
/declare StopSwarm int outer 2
/declare ReCharm int outer 0
/declare EXP int outer 0
/declare HealSong int outer 1
/declare HealPct int outer 75
/declare DotOne int outer 2
/declare DotTwo int outer 3
/declare DotThree int outer 4
/declare DotFour int outer 5
:MainLoop
/doevents
/if (${SpawnCount[radius 150]}<=${StopSwarm}) /call WaitForMobs
/nomodkey /keypress forward hold
/if (!${Me.Pet.ID}) /call Charming
/goto :MainLoop
/return
Sub Event_EXP
/varset MyTargetID 0
/varset MyPetID 0
/varset ReCharm 0
/varset EXP 1
/varset KiteMob 0
/varset Charmed 0
/return
Sub Event_DropCharm
/if (${Target.PctHPs}>${InvisPct}) /varset ReCharm 1
/return
Sub WaitingForCharmDrop
:CharmDrop
/if (!${Me.Pet.ID} && ${Target.PctHPs}>=${InvisPct}) /return
/if (${ReCharm}==1 && ${Target.PctHPs}>=${InvisPct}) /return
/doevents
/if (${Target.PctHPs}<=${InvisPct}) {
/squelch /twist ${InvisSong}
/nomodkey /keypress forward hold
/delay 5s
/twist ${DotOne} ${DotTwo} ${DotThree} ${DotFour}
/varset KiteMob 1
/return
}
/goto :CharmDrop
/return
Sub Charmed
/if (${Target.ID}==${Me.Pet.ID}) {
/target id ${MyTargetID} notid ${Me.ID}
/pet attack
/delay 2
/target id ${MyPetID} notid ${Me.ID}
}
/doevents
/return
Sub KiteMob
/target ID ${MyPetID}
/twist ${DotOne} ${DotTwo} ${DotThree} ${DotFour}
:Doevent
/doevents
/if (${KiteMob}==1)/goto :Doevent
/return
Sub WaitForMobs
:WaitForMobs
/nomodkey /keypress forward hold
/doevents
/if (${SpawnCount[radius 150]}>=${SwamCount}) /return
/goto :WaitForMobs
/return
Sub Charming
/target npc radius 150 notid ${Me.ID}
/varset MyPetID ${Target.ID}
/target npc next radius 150 notid ${Me.ID}
/varset MyTargetID ${Target.ID}
/target id ${MyPetID} notid ${Me.ID}
/squelch /twist off
/echo Charming a ${Target.CleanName}
/squelch /twist ${CharmSong}
/delay 4s
/varset ReCharm 0
/call RunSong
/if (!${Me.Pet.ID}) /return
/call Charmed
/call WaitingForCharmDrop
/if (${KiteMob}==1) /call KitingMob
/return
Sub RunSong
/if (${Me.PctHPs}<=${HealPct}) {
/squelch /twist ${RunSong} ${HealSong}
} else {
/squelch /twist ${RunSong}
/nomodkey /keypress forward hold
/delay 4s
}
/return
Sub KitingMob
:kiting
/doevents
/if (${KiteMob}==1) /goto :kiting
/return
Last edited:



