I added the invite code as an afterthought, since my 2nd box kept crashing on zoning and I had to keep inviting and restarting the SacNecro mac. I haven't tested it, but its pretty simple and I'm sure there'll be no problems with it.
You'll need spell_routines.inc found here.
Code: Select all
| SacNecro.mac v1.0
| Written by drzoon
| Last updated 2005-06-29
| Usage: Just target your victim and start the macro
| Modify the StopAtLevel number to set the minimum level (of your victim) you want to sacrifice down to
#include spell_routines.inc
#event NotGrouped "You must first target a group member."
Sub Main
/declare SacCount int local 0
/declare VictimName string local
/declare StopAtLevel int local 52
| Check victim exists/is grouped
/if (!${Target.ID} || ${Target.Type.NotEqual[PC]}) {
/echo Error: Target your victim, then restart the macro!
/endmacro
} else {
/varset VictimName ${Target.Name}
}
:main_loop
/doevents
| Check for cursor items and autoinventory any items
/if (${Cursor.ID}) {
/if (${Cursor.Name.Equal[Essence Emerald]}) {
/varcalc SacCount ${SacCount}+1
}
/autoinventory
/delay 1s
/goto :main_loop
}
| Check I have emeralds
/if (!${FindItem[Emerald].ID}) {
/echo Error: Can't find any emeralds, exiting!
/goto :end_of_macro
}
/if (${Bool[${Spawn[pc ${VictimName}]}]}) {
/target pc ${VictimName}
/delay 1s ${Target.Name.Equal[${VictimName}]}
} else {
/goto :main_loop
}
/if (!${Target.ID} || ${Target.Type.Equal[Corpse]} || ${Target.Name.NotEqual[${VictimName}]}) /goto :main_loop
/if (${Target.Level}<=${StopAtLevel}) {
/echo Target Level reached, stopping
/goto :end_of_macro
}
/if (${Target.Name.Equal[${VictimName}]} && ${Target.Type.NotEqual[Corpse]}) {
/call Cast Sacrifice gem7 8s
}
/delay 1s
/goto :main_loop
:end_of_macro
/if (${SacCount}>0) {
/echo =============================
/echo Total Sacrifices: ${SacCount}
}
/return
Sub Event_NotGrouped
/if (!${Me.Grouped}) {
/keypress invite_follow
/delay 10s ${Me.Grouped}
}
/returnCode: Select all
| SacVictim.mac
| Written by drzoon
| Last updated 2005-06-29
| Usage: Just start the macro and sit back...
#event InvitesYou "#*# invites you to join a group."
Sub Main
:wait_for_sac
/if (${Window[ConfirmationDialogBox].Open}) {
/notify ConfirmationDialogBox Yes_Button leftmouseup
}
/doevents
/goto :wait_for_sac
/return
Sub Event_InvitesYou
/if (!${Me.Grouped}) {
/delay 3s
/keypress invite_follow
}
/return


