|----------------------------------------------------------------------
|----Rewrite by Iasca---Credit-magicdragon for original code-----------
|----Version 1.4-------------------------------------------------------
|----------------------------------------------------------------------
|----01-19-2007--------------------------------------------------------
|----SCREWLOOSE.MAC----------------------------------------------------
|----Revisions, added PC check, Added GM check, added AABuy function---
|----------------------------------------------------------------------
|----Future, add dynamic timer to requests-----------------------------
|----------------------------------------------------------------------
#Event Update "Your task 'Screw Loose' has been updated."
#Event Reward "You have successfully been granted your reward for: Screw Loose"
#include aa.inc
|----------------------------------------------------------------------
|--------------------MAIN----------------------------------------------
|----------------------------------------------------------------------
Sub Main
/declare sl int outer ${Param0}
/declare turnin string outer
/declare mytarget string outer
/declare checkt int outer
/declare times int outer
/declare Itemset int outer
/declare t int outer
/declare slt int outer
/declare repeatit int outer
/declare Updatecnt int outer
/declare got_reward bool outer false
/plugin mq2reward unload
/plugin mq2reward load
/plugin mq2xptracker unload
/plugin mq2xptracker load
/call Screwloose
/return
|----------------------------------------------------------------------
|--------------------SCREWLOOSE----------------------------------------
|----------------------------------------------------------------------
Sub Screwloose
/for slt 1 to ${sl}
/Popup round ${slt} of ${sl}
/if (${Me.AAPoints} > 29) /call getaaini
/target Tabazin
/call PCcheck
/call GM
/say Screw
:waitA
/if (!${Cursor.ID}) {
/delay 1s
/goto :waitA
}
/autoinv
/call Repeatit
/call turnin
/next slt
/call end
/return
|----------------------------------------------------------------------
|--------------------REPEATIT------------------------------------------
|----------------------------------------------------------------------
Sub Repeatit
/varset Updatecnt 0
/varset repeatit 10
|/warp loc 1883 -1180.5 405.5
/delay 2s
:looptime
/for t 1 to ${repeatit}
/call PCcheck
/call GM
/Cast Item "Sonic Screwdriver"
:waitB
/if (!${Cursor.ID}) {
/delay 1s
/goto :waitB
}
/autoinv
/next t
/if (${FindItemCount[Support Bolt]}<10) {
/varcalc repeatit 10-${FindItemCount[Support Bolt]}
/goto :looptime
}
/return
|----------------------------------------------------------------------
|--------------------TURNIN--------------------------------------------
|----------------------------------------------------------------------
Sub turnin
/varset turnin "Support Bolt"
/varset mytarget Tabazin
/varset Itemset 2
/varset times 4
|/warp loc 85 -1482 373.5
:itemloop
/delay 1s
/target ${mytarget}
/face nolook
/for t 1 to ${times}
/nomodkey /ctrl /itemnotify ${FindItem[${turnin}].InvSlot} leftmouseup
/click left target
/delay 1s
/next t
/nomodkey /notify GiveWnd GVW_Give_Button leftmouseup
/delay 1s
/doEvents Update
/varcalc Itemset ${Itemset}-1
/if (${Itemset}>0) /goto :itemloop
/if (${Itemset}==0) {
/varset times 2
/goto :itemloop
}
/if (${Updatecnt}<20) {
/varcalc times ${FindItemCount[Support Bolt]}
/goto :itemloop
}
/nomodkey /ctrl /itemnotify ${FindItem[sonic].InvSlot} leftmouseup
/click left target
/delay 1s
/nomodkey /notify GiveWnd GVW_Give_Button leftmouseup
/delay 1s
/doEvents Update
/varset got_reward false
:RewardLoop
/reward 1
/delay 1s
/doEvents Reward
/if (!${got_reward}) {
/delay 1s
/goto :RewardLoop
}
/return
|----------------------------------------------------------------------
|--------------------EVENT_UPDATE--------------------------------------
|----------------------------------------------------------------------
Sub Event_Update
/varcalc Updatecnt ${Updatecnt}+1
/return
|----------------------------------------------------------------------
|--------------------EVENT_REWARD--------------------------------------
|----------------------------------------------------------------------
Sub Event_Reward
/varset got_reward true
/return
Sub End
/endmacro
/return
|----------------------------------------------------------------------
|--------------------PCCHECK-------------------------------------------
|----------------------------------------------------------------------
Sub PCcheck
:PCcheck
/echo Performing PC radius check for cast/hail
/if (${SpawnCount[pc radius 120]} > 1) {
/echo PC's within 120 units, pausing 30 seconds.
/delay 30s
/goto :PCcheck
}
/return
|----------------------------------------------------------------------
|--------------------GM------------------------------------------------
|----------------------------------------------------------------------
Sub GM
:GM
/echo Performing GM zone check.
/if (${Spawn[gm].ID}) {
/echo GM in zone, pausing macro.
/delay 300s
/goto :GM
}
/return