#turbo
#event GL "You have entered Guild Lobby."
#event Barindu "You have entered Barindu, Hanging Gardens."
#event Vxed "You have entered Vxed, The Crumbling Caverns."
#event GainExp "You gain#*#"
#event LoS "You cannot see your target."
#event OOR "Your target is out of range, get closer!"
#event Nedaria "You have entered Nedaria's Landing."
#event Natimbi "You have entered Natimbi, the Broken Shores."
#event Qinimi "You have entered Qinimi, Court of Nihilia."
#chat tell
#include Spell_Routines.inc
Sub Main
/docrack nostun2 on
:loopstart
/doevents
/call GMcheck
/if (${Target.Level}>67) /tar npc next
/if (${Target.Distance}>220)
/keypress esc
/if (${Target.ID}==FALSE) /tar NPC radius 220 rat
/if (${Me.PctHPs}<=30)
/call succor
/doevents
/delay 10
/goto :loopstart
/return
Sub GMcheck
/doevent
/if (${Spawn[gm].ID}) {
/mqlog Gm detected
/beep
/beep
/beep
/delay 20s
/alt act 212
/q
/endmac
}
/return
sub event_GL
/keypress back
/keypress back
/twist off
/varset Kite 0
/delay 2s
/varset Bellow 0
/circle off
/delay 1s
/dzremove Player1
/delay 1s
/dzremove Player2
/delay 1s
/dzremove player3
/delay 1s
/dzremove player4
/delay 1s
/dzremove player5
/delay 1s
/dzquit
/delay 1s
/load "spellset"
/delay 1m
/target magus
/delay 1s
/warp target
/delay 1s
/say nedaria
/return
sub event_GainExp
/squelch /stoptwist
/tar npc next
/delay 10
|-----Added venomous stonemite to summoning mobs in gainexp subroutine
/if (${Target.Name.Equal[misguided beludu Creque]}) {
/target npc next
/delay 30
}
/if (${Target.Name.Equal[a venomous stonemite]}) {
/target npc next
/delay 30
}
/squelch /twist 2 3 4 5 6
/return
Sub event_barindu
/keypress back
/keypress back
/delay 5s
/twist off
/dzremove playername
/delay 1s
/circle off
/itemnotify mainhand leftmouseup
/delay 1s
/if (${Cursor.ID}) {
/delay 1s
/call Expedition
} else {
/warp loc 481.93 -1266.57 -118.56
/call CorpseWatcher
/varset lootleft 0
}
}
/return
Sub event_vxed
/delay 1s
/autoinv
/keypress back
/keypress back
/delay 1
/twist 1
/delay 5s
/circle on 69 59.0321 -304.451
/delay 1s
/twist 8
/delay 4s
/warp loc 125 -300 447
|----Reduced # of songs twisted to compensate for lack of focus items
|----Also to break in the macro easily for 1st mob kill
/twist 1 2 3 4 6
/delay 1s
/return
Sub event_OOR
/target npc radius 100 next
/return
Sub event_LoS
/keypress esc
/return
Sub event_Nedaria
/keypress back
/keypress back
/doevent
/delay 5s
/target magus
/delay 1s
/warp target
/delay 1s
/say natimbi
/return
Sub event_Natimbi
/keypress back
/keypress back
/delay 1s
/warp loc 2060 110 550
/delay 1s
/face heading 90
/delay 1s
/keypress forward hold
/return
Sub event_qinimi
/keypress back
/keypress back
/delay 1s
/warp loc 580 348 -15
/keypress forward hold
/return
Sub Expedition
/keypress back
/keypress back
/doevent
/delay 5s
/twist off
/delay 1s
/target npc app
/delay 1s
/warp target
/delay 1s
/say Vxed
/delay 1s
/warp loc 481.93 -1266.57 -118.56
/delay 1s
/face heading 370
/delay 60s
/keypress forward hold
/return
Sub CorpseWatcher
/keypress back
/keypress back
/target ${Me} corpse
/if (${Target.Type.Equal[corpse]})
/call Loot
/delay 1s
/if (!${Target.Type.Equal[Corpse]}) {
/varset NakedTimer 15m
}
/return
Sub NakedTimerEvent
/keypress back
/keypress back
/target ${Me} corpse
/if (${Target.Type.Equal[corpse]})
/call Loot
/if (!${Target.Type.Equal[Corpse]}) {
/varset NakedTimer 5m
}
/return
Sub Loot
:corpsepull
/target mycorpse
/delay 5 ${Target.CleanName.Equal[${Me}'s corpse]}
/if (${Target.CleanName.NotEqual[${Me}'s corpse]}) {
/echo No corpse in this zone
/return
}
/delay 3s
/corpse
/delay 1s ${Target.Distance}<20
/if (${Target.Distance}>20) {
/echo Corpse is too far away
/squelch /warp target
/return
}
/if (${Target.CleanName.Equal[${Me}'s corpse]}) {
/loot
} else {
/echo where did my corpse go?
/return
}
/delay 5s ${Me.State.Equal[BIND]}
/if (${Me.State.NotEqual[BIND]})
/goto :corpsepull
/varset loottotal 0
:LootLag
/if (${loottotal}!=${Corpse.Items}) {
/varset loottotal ${Corpse.Items}
/delay 1s
/goto :LootLag
}
/if (${loottotal}<=${lootleft}) {
/echo Looting aborted. Error in number items to be left on corpse.
/notify LootWnd DoneButton leftmouseup
/return
}
/varset loottotal ${Math.Calc[${Corpse.Items}-${lootleft}]}
/echo Looting all but ${lootleft} item(s)
/for lootslot 1 to ${loottotal}
:LootItem
/itemnotify loot${lootslot} rightmouseup
/delay 5 !${Corpse.Item[${lootslot}].ID}
/if (!${Corpse.Item[${lootslot}].ID}) {
/next lootslot
} else {
/goto :LootItem
}
/if (${Math.Calc[${Corpse.Items}-${lootleft}]}>0)
/goto :LootLag
/notify LootWnd DoneButton leftmouseup
/echo Done looting.
/delay 1s
/call Expedition
/return
Sub Event_Chat(string ChatType,string Sender,string ChatText)
/mqlog ${ChatType}: ${Sender} tells you: ${ChatText}
/if (${ChatText.Equal["omgxp"]}) {
/delay 1s
/invite ${Sender}
}
/if (${ChatText.Equal["incxp"]}) {
/delay 1s
/dzadd ${Sender}
}
/if (${ChatText.Equal["camp"]}) {
/warp safe
/delay 1s
/warp succor
/keypress back
/delay 10
/circle off
/twist off
/camp desktop
}
/return
Sub PotionTimerEvent
/if (${Me.PctHPs}<=60) {
/twist off
/delay 30
/call cast "Healing Potion X" item
/delay 30
/squelch /twist 2 3 4 5 6
}
/varset PotionTimer 2m
/return
this is the code im currently trying to make work which belongs to someone else here and is outdated, but the
/doevents problem applies to EVERY macro i use, i just cant figure out what the problem is. Actually the real problem I have is when I zone to lets say Barindu, Hanging Gardens the sub routine doesnt execute even though im almost positive its defined properly.