Rich (BB code):
|--------------------------
| NekMM.Mac
| By Ccomp5950
|--------------------------
|
| Requires Spellcast.inc
| Requires MQ2Fairy Plugin
|
|
| Last updated 11-14-2005 11:27am
#Chat say
#Chat Group
#Chat Tell
#Event Invite "#1# tells you, 'Invite me (PASSWORD)'#*#"
#Event WaitTimer "#*#task because you must wait 0d:0h:#1#m before you can#*#"
#Event Death "#*#You have been Slain#*#"
#turbo 10
#include spellcast.inc
Sub Main()
/lootnodrop never
/Echo =============================
/Echo NokNok Task AFK V2.0
/Echo =============================
/call Setup
:StartOver
/if (${Zone.ID}==368) /goto :Bigloop
/call Reset
/if (${Zone.ID}!=368) /endmac
:Bigloop
/Call KillRemains
/doevents
/call LootRemains
/call Wait4Death
/warp loc -179 -74 -14
/Call KillShrine1
/if (${Zone.ID}!=368) /endmac
/Call KillShrine2
/if (${Zone.ID}!=368) /endmac
/Call KillShrine3
/if (${Zone.ID}!=368) /endmac
/Warp loc -179 -74 -14
/if (${Zone.ID}!=368) /endmac
/cleanup
/delay 2s
/if (${Zone.ID}==368) /call Movement -120 -174
/keypress back
/delay 4s
/goto :StartOver
/return
Sub Movement(int MoveX,int MoveY,int pointnum)
/declare StartZone int local ${Zone.ID}
/if ((${MoveX}==9999) && (${MoveY}==9999)) {
/varcalc MoveX ${Target.X}+1
/varcalc MoveY ${Target.Y}-10
}
/if ((${MoveX}==1) && (${MoveY}==1)) {
/varset MoveX ${Ini[pointset,Nekmm,PointX${pointnum}]}
/varset MoveY ${Ini[pointset,Nekmm,PointY${pointnum}]}
}
/declare iCount int local
/varset iCount 0
/face nolook loc ${MoveY},${MoveX}
/keypress forward hold
/keypress Space
:AnchorMoveLoop
/if (${Zone.ID}!=${StartZone}) /return
/delay 1
/face fast nolook loc ${MoveY},${MoveX}
/if (${Math.Distance[${MoveY},${MoveX}]}>10) {
/keypress forward hold
/if (${Zone.ID}!=${StartZone}) /return
} else {
/keypress forward
/return
}
/if (${iCount}>2) {
/face fast nolook loc ${MoveY},${MoveX}
/varset iCount 0
/if (${Zone.ID}!=${StartZone}) /return
}
/goto :AnchorMoveLoop
/return
Sub Reset
/for g 0 to ${Group.Members}
/varcalc g2 ${Group.Members}-${g}
/taskremove ${Group.Member[${g2}]}
/next g
/delay 5s
:againjerk
/if (!${FindItem[Pinch of Dust from].InvSlot.ID}) /goto :nopowder
/cleanup
/keypress I
/delay 1s
/if (${InvSlot[22].Item.Container}) /itemnotify 22 rightmouseup
/if (${InvSlot[23].Item.Container}) /itemnotify 23 rightmouseup
/if (${InvSlot[24].Item.Container}) /itemnotify 24 rightmouseup
/if (${InvSlot[25].Item.Container}) /itemnotify 25 rightmouseup
/if (${InvSlot[26].Item.Container}) /itemnotify 26 rightmouseup
/if (${InvSlot[27].Item.Container}) /itemnotify 27 rightmouseup
/if (${InvSlot[28].Item.Container}) /itemnotify 28 rightmouseup
/if (${InvSlot[29].Item.Container}) /itemnotify 29 rightmouseup
/delay 1s
/itemnotify ${FindItem[Pinch of Dust from].InvSlot} LeftMouseUp
/delay 1
/if (${Cursor.Name.Find[Pinch of Dust from]}) /destroy
/delay 1
/if (${FindItem[Pinch of Dust from].InvSlot}) /goto :againjerk
:nopowder
/cleanup
/fairy
/delay 2s
/doevents
|================================================= ==================================================
| If you have time left in your lockout timer your character will wait until that timer has elapsed
|================================================= ==================================================
:OMGWAIT
/if (${Window[TaskTemplateSelectWnd].Open}) {
/notify TaskTemplateSelectWnd TaskTemplateSelectAcceptButton leftmouseup
/delay 5s
/goto :Okyourgood
}
/goto :OMGWAIT
:Okyourgood
/cleanup
/delay 10s
/Call Movement 413 -372
/delay 45s
/if (!${Window[AAWindow].Open}) /keypress V
/notify AAWindow AAW_LoadButton Leftmouseup
/delay 15s
/cleanup
/echo Time to rock
/varset waiter 0
/varset Died 0
/return
Sub GMHERE
/beep
/beep
/beep
/echo GM has entered the zone!
/exit
/endmacro
/return
Sub Event_Invite(Junk,string Nameb)
/invite ${Nameb}
/taskadd ${Nameb}
/pause 1s
/return
Sub KillRemains
/varset w 1
/varset y 1
:BattleLooper
/doevents
/varset StartHP ${Me.PctHPs}
/if (${SpawnCount[remains npc]}==0) /return
/target remains
/if (${Target.Distance}>16) /Warp loc -217 -423 -60
/face fast nolook
/attack on
/delay 2s
/if (${SpawnCount[remains npc]}==0) /return
/if (${StartHP}>${Me.PctHPs}) /call Warper
/goto :BattleLooper
/return
sub Warper
/attack off
/Warp loc -234 -423 -43
/delay 3s
/return
Sub LootRemains
:LootLooper
/if (${SpawnCount[remains corpse]}==0) /return
/target Remains
/Warp target
/loot
/delay 1s
/itemnotify loot1 rightmouseup
/notify LootWnd DoneButton leftmouseup
/if (${SpawnCount[remains corpse]}==0) /return
/goto :LootLooper
/return
Sub Event_WaitTimer(crap,int Waitupyo)
/varcalc Waitupyo ${Waitupyo}+1
/echo Delaying ${Waitupyo} minutes
/for y 0 to ${Waitupyo}
/Echo ${Math.Calc[${Waitupyo}-${y}]} minutes left till get new expedition
/doevents
/delay 15s
/doevents
/delay 15s
/doevents
/delay 15s
/doevents
/delay 15s
/next y
/fairy
/return
Sub Wait4Death
/varset Died 0
/for x 1 to 500
/doevents
/delay 1s
/if (${SpawnCount[Shrine01 NPC]}==0) /return
/if (${Died}) /return
/next x
/return
Sub Event_Death
/varset Died 1
/delay 1m
/return
Sub KillShrine1
:Shrine1Looper
/doevents
/if (${SpawnCount[Shrine02 NPC]}==0) /return
/varset StartHP ${Me.CurrentHPs}
/tar Shrine02
/if (${Target.NearestSpawn[npc radius 60].ID}) /goto :Shrine1Looper
/if (${Target.NearestSpawn[npc radius 100].Speed}>10) /goto :Shrine1Looper
/if (!${Spawn[a_reanimated_grave_robber00].ID}) /goto :continue
/if (${Spawn[a_reanimated_grave_robber00].X}>-210) /goto :Shrine1Looper
:continue
/Warp target
/keypress left
/delay 6
:recast1
/call cast "Fairy Fire" Activate
/delay 1s
/delay 10s (!${Me.Casting.Name.Equal["Fairy Fire"]})
/delay 1s
/if (${StartHP}>${Me.CurrentHPs}) /call Wait4Death
/Warp loc -179 -74 -14
/if (${SpawnCount[Shrine02 NPC]}==0) /return
/sit
/delay 45s
/sit
/goto :Shrine1Looper
Sub KillShrine2
:Shrine2Looper
/doevents
/varset StartHP ${Me.CurrentHPs}
/if (${SpawnCount[Shrine00 NPC]}==0) /return
/tar Shrine00
/if (${Target.NearestSpawn[npc radius 60].ID}) /goto :Shrine2Looper
/if (${Target.NearestSpawn[npc radius 100].Speed}>10) /goto :Shrine2Looper
/if (!${Spawn[a_reanimated_grave_robber01].ID}) /goto :continue2
/if (${Spawn[a_reanimated_grave_robber01].X}>-35) /goto :Shrine2Looper
:continue2
/Warp target
/keypress left
/delay 6
:recast2
/call cast "Fairy Fire" Activate
/delay 1s
/delay 10s (!${Me.Casting.Name.Equal["Fairy Fire"]})
/delay 1s
/if (${StartHP}>${Me.CurrentHPs}) /call Wait4Death
/Warp loc -179 -74 -14
/if (${SpawnCount[Shrine00 NPC]}==0) /return
/sit
/delay 45s
/sit
/goto :Shrine2Looper
Sub KillShrine3
:Shrine3Looper
/doevents
/if (${SpawnCount[Shrine01 NPC]}==0) /return
/varset StartHP ${Me.CurrentHPs}
/tar Shrine01
/if (${Target.NearestSpawn[npc radius 60].ID}) /goto :Shrine3Looper
/if (${Target.NearestSpawn[npc radius 100].Speed}>10) /goto :Shrine3Looper
/if (!${Spawn[a_reanimated_grave_robber02].ID}) /goto :continue3
/if (${Spawn[a_reanimated_grave_robber02].X}>-35) /goto :Shrine3Looper
:continue3
/Warp target
/keypress left
/delay 6
:recast3
/call cast "Fairy Fire" Activate
/delay 1s
/delay 10s (!${Me.Casting.Name.Equal["Fairy Fire"]})
/delay 1s
/if (${StartHP}>${Me.CurrentHPs}) /call Wait4Death
/Warp loc -179 -74 -14
/if (${SpawnCount[Shrine01 NPC]}==0) /return
/sit
/delay 45s
/sit
/goto :Shrine3Looper
Sub Setup
/declare y int outer 0
/declare X int outer 0
/declare x int outer 0
/declare g int outer 0
/declare g2 int outer 0
/declare waitforit int outer 0
/declare w int outer 1
/declare waiter int outer 0
/declare Died int outer 0
/declare StartHP int outer 0
/return
Last edited by a moderator:


