| Sisters.mac Coderz
|
| This Macro will time the amount of time to kill the
| 9 Guardians in the 1st solteris event.
| Reports your kill time, and the recorded best kill time.
| Also announces how long left after every kill.
| Ini File Required: Sisters.ini (located in main macro’s folder)
#event YouDied "You have been slain #*#"
#event TimeUp "Althea pouts,#*#"
sub main
/declare MobArray[9] string
/declare MobUp[9] int outer
/declare MobBest[9]int outer
/declare SpawnTime[9]int outer
/declare DeadTime[9] int local
/declare MobKeep[9] int outer
/declare MobName string
/declare TotalTime int outer
/declare Minutes int outer
/declare Seconds int outer
/declare BestTotalSeconds int outer
/declare BestMinutes int outer
/declare BestSeconds int outer
/declare myloop int outer 0
/declare SecString String
/declare SecString2 String
/declare SecString3 String
/declare MainTimer int outer
/declare Flag int outer
/declare FirstSpawnTime int outer
/declare ElapsedTime int outer
/declare TimeNow int outer
/declare Remaining int outer
/declare RemSeconds int outer
/declare RemMinutes int outer
/declare TotalDead int outer
/declare AteamToal int outer
/declare BteamTotal int outer
/Varset MainTimer 300
/Varset Flag 0
/Varset TotalDead 0
| Load the values from the sisters.ini into the array
| Values = Mobname, Best Time in seconds.
| Look up the item in sisters.ini
/echo Timing Sisters Mobs
/beep
/For myloop 1 to 9
/Varset MobArray[${myloop}] ${Ini[sisters.ini,MobList,${myloop}]}
/Varset MobUp[${myloop}] 0
/Varset MobBest[${myloop}] ${Ini[sisters.ini,MobBest,${myloop}]}
/Next myloop
:BigLoop
/doevents
/For myloop 1 to 9
/if (${Spawn[NPC ${MobArray[${myloop}]}].ID} && ${MobUp[${myloop}]}==0) {
/if (${Flag}==0) {
/varset Flag 1
/echo First Mob has spawned ================
/Varset FirstSpawnTime ${Macro.RunTime}
|--/echo First Spawn Time ${FirstSpawnTime}
}
/Varset MobUp[${myloop}] 1
|--/echo ${MobArray[${myloop}]} Has Spawned at ${Time}
/Varset SpawnTime[${myloop}] ${Macro.RunTime}
}
/if (!${Spawn[NPC ${MobArray[${myloop}]}].ID} && ${MobUp[${myloop}]}==1) {
/Varset DeadTime[${myloop}] ${Macro.RunTime}
/varset TimeNow ${Macro.RunTime}
/varcalc ElapsedTime ${TimeNow}-${FirstSpawnTime}
|--/echo FirstSpawnTime: ${FirstSpawnTime}
|--/echo ElapsedTime: ${ElapsedTime}
/varcalc Remaining ${MainTimer}-${ElapsedTime}
|--/echo Remaining ${Remaining}
/varset MobUp[${myloop}] 0
/varcalc TotalTime (${DeadTime[${myloop}]}-${SpawnTime[${myloop}]})
|/varcalc Mobkeep[${myloop}] ${TotalTime}
/varcalc Minutes ${TotalTime}/60
/varcalc Seconds ${TotalTime}-${Minutes}*60
|- Work out best time from Total Best Seconds
/Varset BestTotalSeconds ${MobBest[${myloop}]}
/varcalc BestMinutes ${BestTotalSeconds}/60
/varcalc BestSeconds ${BestTotalSeconds}-${BestMinutes}*60
/varset SecString ${BestSeconds}
/if (${BestSeconds}<10) {
/varset SecString 0${BestSeconds}
}
/varset SecString2 ${Seconds}
/if (${Seconds}<10) {
/varset SecString2 0${Seconds}
}
|--- call to channel -------------------------------------------------------------------------------
/5 ${MobArray[${myloop}]} KillTime: ${Minutes}:${SecString2} ---- Best: ${BestMinutes}:${SecString}
|--- Work out Time Remaining......
/varcalc RemMinutes ${Remaining}/60
/varcalc RemSeconds ${Remaining}-${RemMinutes}*60
/varset SecString3 ${RemSeconds}
/if (${RemSeconds}<10) {
/varset SecString3 0${RemSeconds}
}
/varcalc TotalDead ${TotalDead}+1
/5 >>>>> Time Remaining : ${RemMinutes}:${SecString3} <<<<< Mobs Killed: ${TotalDead}
|--- Now work out if its the best time, and overwrite the ini file. --------------------------------------
/5 --------------------------------------------------------------------------
/if (${TotalTime}<${BestTotalSeconds}) {
/ini "sisters.ini" "MobBest" ${myloop} ${TotalTime}
/Varset MobBest[${myloop}] ${TotalTime}
}
|--- If we have killed 9 mobs then pull up the stats
/if (${TotalDead}>8) {
/echo ALL Dead Ending
/echo >>>>> Time Left: ${RemMinutes}:${SecString3}
/beep
/endmacro
|/varcalc AteamTotal (TotalTime[4]+Totaltime[6]+TotalTime[5]+TotalTime[3])
|/echo AteamTotal
}
}
/next myloop
/goto :Bigloop
/return
Sub Event_YouDied
/echo You Died at ${Time}, ending macro.
/endmacro
/return
Sub Event_TimeUp
/beep
/endmacro
/return