Using SGather as a very handy tool for material farming, I soon wanted to create my own profiles. Because I considered it annoying to always switch to the SGather application to set a new waypoint, I first used a simple AutoHotKey script to put the SGather window always on top.
I expanded the original script to a (nearly) fully automatic profile creator.
Want to create a route like that with a waypoint on every single map note without pressing a single button?
What it does:
- Create a single waypoint using a hotkey
- Create a waypoint automatically every x seconds (configurable)
- Create ingame map notes corresponding to your waypoints (addon needed)
So you can just fly to set up a profile without pressing a single button.
How to set it up:
First, you need a route. I recommend Dr. Watson's Guide to create SGather Profiles. Credit for that part of my post belong to him.
After you created the route using Routes, start SGather and navigate to the "Profiles" tab so you can see the "Add" button. Clear all existing waypoints before starting.
Now either download the compiled script:
Hotfile.com: One click file hosting: SGather_APC_1.0.rar
https://rapidshare.com/files/4421392...er_APC_1.0.rar
VirusTotal
or use the code if you don't trust me:
[spoiler]
Opt("WinTitleMatchMode", 2)
HotKeySet( "{b}", "note_set")
HotKeySet( "{PGUP}", "time_up")
HotKeySet( "{PGDN}", "time_down")
HotKeySet( "{HOME}", "auto_switch")
HotKeySet( "{END}", "marks_switch")
HotKeySet( "{f11}", "quit")
WinSetOnTop ( "Nodes", "", 1 )
WinActivate ( "Nodes" )
WinWaitActive ( "Nodes" )
$status = 0
$marks = 0
$autoset = 0
$delay = 1000
MsgBox(64, "Welcome!", "Automatic SGather Waypoint Creator activated.")
While 1
Do
until ($status or $autoset) = 1
if $status = 1 Then
action()
EndIf
if $autoset = 1 Then
Do
action()
sleep($delay)
until $autoset = 0
EndIf
WEnd
func note_set()
$status = 1
; ToolTip( "Waypoint set" )
EndFunc
func auto_switch()
if $autoset = 0 Then
$autoset = 1
ToolTip( "automatic tooltip creation enabled" )
sleep(1000)
ToolTip("")
Else
$autoset = 0
ToolTip( "automatic tooltip creation disabled" )
sleep(1000)
ToolTip("")
EndIf
EndFunc
func marks_switch()
If $marks = 1 then
$marks = 0
ToolTip( "Script now presses '1' in your WoW-App every time a waypoint is created." )
sleep(1000)
ToolTip("")
Else
$marks = 1
ToolTip( "'1'-pressing disabled." )
sleep(1000)
ToolTip("")
EndIf
EndFunc
func action()
controlclick( "Nodes","","[NAME:button15]")
controlsend( "World of Warcraft","","","{1}", 1 )
$status = 0
EndFunc
func time_up()
$delay = $delay + 500
ToolTip( $delay )
sleep(200)
ToolTip("")
EndFunc
func time_down()
if ($delay >= 1000) Then
$delay = $delay - 500
EndIf
ToolTip( $delay )
sleep(200)
ToolTip("")
EndFunc
func quit()
WinSetOnTop ( "nodes", "", 0 )
Exit
EndFunc
[/spoiler]
Confirm the welcome note. You can now set up the script as following:
Hotkey description:
Setup:
- END: enables/disables ingame note creation
- PAGE UP: increases the time between automatically put waypoints by 500 ms
- PAGE DOWN: decreases the time between automatically put waypoints by 500 ms, down
to a minimum of 500 ms
Waypoint creation:
- B: Creates a single waypoint at your current position
- HOME: Enables/disables automatic waypoint creation
- F11: Quits the script
Use either "b" to manually create waypoints or adjust the time interval using "PGUP" und "PGDN" and then press "HOME" to automatically create waypoints in the previously set interval.
To use the ingame map notes feature, toggle it on and off by pressing "END". You also need to install MapNotes or a similar addon and put the following macro to the bar slot bound with the hotkey "1":
Now just fly along the route until you get back to where you started, using either the automatic way to create waypoints or pressing "b" where you want.Code:/mn -q
F11 quits the script.
Note: Of course you can adjust the hotkeys in the first six lines of the script as you like. The key reference can be found here.
Examples
can be found here.
Disclaimer: This file has only been posted on mmowned. Copying is permitted, but only with a reference to this post.
I apologize for every spelling error in this post, I am not a native english speaker. Inform me about errors (PM) and I will fix them.