To use this test script, create a file in your /innerspace/scripts folder called EQ2AutoSacrifice.iss and place the entire text below. Then, you can run the script by typing the following command in the InnerSpace console (while in the game): run EQ2AutoSacrifice. The script will cause any item added to an altar to be automatically sacrificed.
variable bool ItemAddedToAltarForSacrifice = FALSE
variable uint ItemAddedToAltarForSacrifice_ItemIndex = 0
atom EQ2_ItemAddedToAltarForSacrifice(int ItemIndex)
{
ItemAddedToAltarForSacrifice:Set[TRUE]
ItemAddedToAltarForSacrifice_ItemIndex:Set[${ItemIndex}]
}
function main()
{
if (!${ISXEQ2(exists)} || !${ISXEQ2.IsReady})
{
echo "\arERROR - ISXEQ2 not loaded or ready\ax"
return
}
Event[EQ2_ItemAddedToAltarForSacrifice]:AttachAtom[EQ2_ItemAddedToAltarForSacrifice]
echo "\ayNow automatically sacrificing any item added to an altar.\ax"
do
{
if (${ItemAddedToAltarForSacrifice})
{
wait ${Math.Calc[${Math.Rand[2]}+1].Precision[0]}
eq2execute /deity_offer ${ItemAddedToAltarForSacrifice_ItemIndex} 1
ItemAddedToAltarForSacrifice_ItemIndex:Set[0]
ItemAddedToAltarForSacrifice:Set[FALSE]
}
if (${ChoiceWindow(exists)})
{
if (${ChoiceWindow.Child[text,Text].GetProperty[text].Find[want to sacrifice]} > 0)
{
wait ${Math.Calc[${Math.Rand[2]}+1].Precision[0]}
ChoiceWindow:DoChoice1
}
}
wait 2
}
while (${ISXEQ2(exists)} && ${ISXEQ2.IsReady})
return
}
function atexit()
{
Event[EQ2_ItemAddedToAltarForSacrifice]:DetachAtom[EQ2_ItemAddedToAltarForSacrifice]
echo "\ayScript Ended.\ax"
}