This Macro will simply loot the mob for you after its dead and assist you in killing the mob. Very basic, but if you are going to have a player leech your exp.. he/she might as well contribute something hehe.
Enjoy,
Noobhaxor
-=If you found this Post Helpful toss me a Red Cent by clicking the Big Red R at the bottom left of this post=-
Rich (BB code):
|---addon.mac-------
|---Version 1.3
|Adds a melee character to your exsisting tank / healer macros you have running
|Also this will loot the mob for you
|-Update 1.1- Improved code logic.
|-Update 1.2- Added Looter option
|-Update 1.3-
|--Made loot code faster
|--Fixed attacking the target to soon in some situations
|--Fixed NearestSpawn corpse would produce NULL when no corpses in zone.
#chat group
#chat tell
#Event Zoning "#*#You have entered#*#"
#Event ImDead "#*#You have been slain by#*#"
#Event NoobExp "#*#You gain experience!!#*#"
#Event NoobExp "#*#You gain party experience!!#*#"
#include Exp_Tracking.inc
#include Spell_Routines.inc
Sub Main
/call ExpPrep
/declare HealerName string outer SHAMMYNAME
/declare myzone int outer ${Zone.ID}
/declare M_Assist string outer
|-------------- MAIN LOOTER??? ------------------
/declare Mainloot bool outer FALSE
|------------------------------------------------------------
|Loot Array Information.
|------------------------------------------------------------
/declare RV_LootArray[2] string outer
/varset RV_LootArray[1] "Diamond"
/varset RV_LootArray[2] "Peridot"
/fastdrop on
/lootn never
| ############### Target a player as Main Assist
/varset M_Assist ${Target.CleanName}
/echo Assist set to ${M_Assist}
/leaveall
/assist off
:Main_Loop
/doevents
/if (${Zone.ID}!=${myzone}) {
/quit
/endmacro
}
| ########## LOW HP Events
/if (${Me.PctHPs}<25) {
/warp succor
/delay 10
/quit
/endmacro
}
/if (${Me.PctHPs}<60) {
/attack off
/stick off
/warp wp safe
/target pc ${M_Assist}
/delay 30s
}
/if (!${Spawn[${M_Assist}].ID}) {
/warp succor
/delay 10
/quit
/end
}
/if ((${NearestSpawn[corpse].Distance}<40)&&(${Mainloot})&&(${NearestSpawn[corpse].Distance}>0)) /call LootMob
|################# Target is NOT NPC
/if (!${Target.Type.Equal["NPC"]}) {
/target pc ${M_Assist}
/delay 10
| - Warps to main tank if to far...
/if (${Target.Distance}>30) {
/warp target
/delay 10
}
/assist
/delay 10s
/stick 13 moveback !front
}
|################# Target is NPC
/if (${Target.Type.Equal["NPC"]}) {
/if (${Target.Distance}>15) /stick 13 moveback !front
/if (!${Me.Combat}) /attack on
/if ((${Target.Distance}<17)&&(${Me.AbilityReady["Kick"]})) /doability "Kick"
| ###### Buffs
/if (${Me.Buff["Swift like the Wind"].Duration}<=30) {
/tell ${HealerName} haste
:wait4haste
/if (${Me.Buff["Swift like the Wind"].Duration}>30) /goto :Main_Loop
/goto :wait4haste
}
/if (${Me.Buff["Spirit of Might"].Duration}<=30) {
/tell ${HealerName} str
:wait4str
/if (${Me.Buff["Spirit of Might"].Duration}>30) /goto :Main_Loop
/goto :wait4str
}
}
/goto :Main_Loop
/return
| ################## Zoning
Sub Event_Zoning
/quit
/end
/return
| ################## NoobExp
Sub Event_NoobExp
/call ExpTrack
/return
| ################## I Died
Sub Event_ImDead
/quit
/endmacro
/return
|--------------------------------------------------------------------------------
|SUB: Looting
|--------------------------------------------------------------------------------
Sub LootMob
/declare LootSlot int inner 0
/declare LootCheck int inner 0
/declare LootTotal int inner 0
/target radius 40 corpse
/delay 20
/warp target
/delay 20
/loot
/delay 20
/if (!${Corpse.Items}) {
/echo NO LOOT! Cheap Bastard!
/notify LootWnd DoneButton leftmouseup
/keypress esc
/keypress esc
/delay 1s
/return
}
/varset LootTotal ${Corpse.Items}
/for LootSlot 1 to ${LootTotal}
/itemnotify loot${LootSlot} leftmouseup
/delay 1s
|---------Keep Good Stuff---------------------
/for LootCheck 1 to ${RV_LootArray.Size}
/if (${Cursor.Name.Find[${RV_LootArray[${LootCheck}]}]}) {
/echo Keeping a ${Cursor.Name}... WOOT!
/autoinventory
/delay 1s
}
/next LootCheck
|---------Destroy Bad Stuff-------------------
/if (${Cursor.ID}) {
/echo Destroying a ${Cursor.Name}...
/destroy
/delay 1s
}
/next LootSlot
/notify LootWnd DoneButton leftmouseup
/keypress esc
/keypress esc
/delay 1s
/return
Enjoy,
Noobhaxor
-=If you found this Post Helpful toss me a Red Cent by clicking the Big Red R at the bottom left of this post=-
Last edited:

