decker
Active member
- Joined
- Apr 30, 2005
- RedCents
- 452¢
Ok first off im rather new at this but i have desided to learn.. So here is my rewrite (with a little help from some RGers). This mac uses no mouse movement and you have to use MQ2Reward. Other then that it use travel song... Hope you can use it... And / or help me make it better...
Ok so in this one you dont need any .inc file it will not sit (i though that made it look to much like a bot. It will check for GMs (need info if i did that part right). Hope you like it...
So what you do is:
/plugin mq2moveutils
/plugin mq2reward
/mac mapping
MQ2Reward.dll goes to main MQ2 folder and mapping.mac to the MQ2/macros/
BTW I bet there are some unused code here so please help me clean it up =)
-decker
Ok so in this one you dont need any .inc file it will not sit (i though that made it look to much like a bot. It will check for GMs (need info if i did that part right). Hope you like it...
Rich (BB code):
#turbo
#Event Reward "#*#You have successfully been granted your reward for: Mapping Suncrest Ridge#*#"
Sub Main
|### no need to change any of these variables
/declare laps int outer 0
/declare aas float outer 0
/declare aas_hr float outer 0
/declare start_aaexp float outer ${Me.PctAAExp}
/declare start_aas int outer ${Me.AAPointsTotal}
/declare got_reward bool outer false
/moveto 20
:Loop
/call GMCheck
/call GetTask
/call GotoTheBuriedSea
/call GMCheck
/call GotoSuncrest
/call MapIsland
/call GotoBarrenCoast
/call GMCheck
/call FinishTask
/goto :Loop
/return
Sub GMCheck
/if (${Spawn[gm].ID}) {
/beep
/beep
/beep
/echo GM has entered the zone!
/echo FUCK HIM but ending the macro...
/keypress forward
/keypress back
/quit
/endmacro
}
/return
Sub GetTask
/call GotoBryndenSnow
:CheckInvis
/if (${Me.Invis}) {
/squelch /target clear
/attack on
/delay 2s ${Me.Combat}
/attack off
/delay 2s !${Me.Combat}
/if (${Me.Invis}) /goto :CheckInvis
/squelch /target npc brynden snow
/delay 10
/if (${Target.CleanName.NotEqual[brynden snow]}) /goto :CheckInvis
}
/say obtaining
/reward 1
:Loop_1
/delay 1
/if (!${Window[TaskSelectWnd].Open}) /goto :Loop_1
/notify TaskSelectWnd TaskList leftmouseup
/notify TaskSelectWnd TaskList listselect ${Window[TaskSelectWnd].Child[TaskList].List[=Mapping Suncrest Ridge]}
/notify TaskSelectWnd AcceptButton leftmouseup
:Loop_2
/delay 1
/if (!${Window[TaskWnd].Open}) /goto :Loop_2
/squelch /windowstate TaskWnd close
|### selos and fade
/if (${Me.Class[Bard]}) /call bardsong
/if (${Me.Class[Ranger]} || ${Me.Class[Druid]} || ${Me.Class[Shaman]} || ${Me.Class[Beastlord]}) /call SoW
/return
Sub GotoTheBuriedSea
|### move to dock
/call MoveTo -187 -332
/call MoveTo -184 -480
|### sit and wait for boat
/delay 10
/call WaitForBoat -185 -548
|### get on boat and sit
/call MoveTo -185 -570
/call MoveTo -125 -565
/delay 10
|### wait for zone and dock arrival
:Loop_1
/delay 10
/if (${Zone.Name.NotEqual[the buried sea]}) /goto :Loop_1
/call WaitForBoat 147 2827
/return
Sub GotoSuncrest
|### move off boat
/look 0
/call MoveTo 147 2817
/call MoveTo 20 2980
|### selos and fade
/if (${Me.Class[Bard]}) /call bardsong
/if (${Me.Class[Ranger]} || ${Me.Class[Druid]} || ${Me.Class[Shaman]} || ${Me.Class[Beastlord]}) /call SoW
/return
|### run south of katta island
/call MoveTo -1330 350
/return
Sub MapIsland
/call MoveTo -1330 -2437
/call MoveTo -1940 -2575
/call MoveTo -1880 -4130
/call MoveTo -1225 -3594
/call MoveTo -786 -2861
/call MoveTo 100 -3050
/return
Sub GotoBarrenCoast
|### run back to dock
/call MoveTo -1330 350
/call MoveTo 15 2981
/call MoveTo 100 2883
|### sit and wait for boat
/delay 10
/call WaitForBoat 147 2827
|### get on boat and sit
/call MoveTo 147 2817
/call MoveTo 210 2855
/delay 10
|### wait for zone and arrival at dock
:Loop_1
/delay 10
/if (${Zone.Name.NotEqual[barren coast]}) /goto :Loop_1
/call WaitForBoat -185 -548
/return
Sub FinishTask
|### move off boat
/look 0
/call MoveTo -185 -570
/call MoveTo -187 -422
/call GotoBryndenSnow
/hail
/reward 1
|### print progress
/varcalc aas (((${Me.AAPointsTotal} - ${start_aas}) * 100) + (${Me.PctAAExp} - ${start_aaexp})) / 100
/varcalc aas_hr ${aas} / (${Macro.RunTime} / 3600)
/varcalc laps ${laps} + 1
/echo Laps: ${laps} AA Exp: ${aas} AA Per Hour: ${aas_hr}
/return
Sub GotoBryndenSnow
/target brynden snow
:Loop_1
/delay 10
/if (${Target.CleanName.NotEqual[brynden snow]}) /goto :Loop_1
/face
/squelch /moveto id
:Loop_2
/delay 10
/if (${MoveTo.Moving}) /goto :Loop_2
/return
Sub WaitForBoat(int yloc, int xloc)
:Loop
/delay 10
/if (${Target.CleanName.NotEqual[isabeau]} || ${Target.Speed} != 0 || ${Target.Y.Int} != ${yloc} || ${Target.X.Int} != ${xloc}) {
/squelch /target isabeau
/goto :Loop
}
/return
Sub Event_Reward
/varset got_reward true
/return
Sub MoveTo(int yLoc, int xLoc)
/squelch /moveto loc ${yLoc} ${xLoc}
:MoveToLoop
/delay 1
/if (${MoveTo.Moving}) /goto :MoveToLoop
/squelch /moveto off
/return
Sub SoW
/if (!${Me.Gem[Spirit of Wolf]} && ${Me.Book[Spirit of Wolf]}) {
/memspell 2 "Spirit of Wolf"
/delay 5
/delay 5s ${Me.Standing}
/target clear
/delay 5
/cast ${Me.Gem[Spirit of Wolf]}
/return
Sub bardsong
/if (!${Me.Gem[Selo's Accelerating Chorus]} && ${Me.Book[Selo's Accelerating Chorus]} && !${Me.Gem[Selo's Song of Travel]}) {
/if (!${Me.Book[Selo's Song of Travel]}) {
/memspell 2 "Selo's Accelerating Chorus"
} else {
/memspell 2 "Selo's Song of Travel"
}
/delay 5
/delay 5s ${Me.Standing}
/if (${Me.Gem[Selo's Accelerating Chorus]}) /cast ${Me.Gem[Selo's Accelerating Chorus]}
/if (${Me.Gem[Selo's Song of Travel]}) /cast ${Me.Gem[Selo's Song of Travel]}
/return
So what you do is:
/plugin mq2moveutils
/plugin mq2reward
/mac mapping
MQ2Reward.dll goes to main MQ2 folder and mapping.mac to the MQ2/macros/
BTW I bet there are some unused code here so please help me clean it up =)
-decker
Last edited:




