The Wiki for Tale 4 is in read-only mode and is available for archival and reference purposes only. Please visit the current Tale 11 Wiki in the meantime.
If you have any issues with this Wiki, please post in #wiki-editing on Discord or contact Brad in-game.
Difference between revisions of "User:Sithid/Macros/AutoIT/Slate"
From A Tale in the Desert
< User:Sithid | Macros | AutoIT
Jump to navigationJump to search (New page: Slate Macro Info) |
|||
| (5 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
| − | Slate | + | My basic slate macro, should work without any configuration. After running, switch to atitd, unpause, and follow messagebox instructions. |
| + | |||
| + | Note the macro is a bit buggy( delays are off, movement glitches and sometimes skips slate ), I havnt had time to fine tune it but it should work semi ok for you. | ||
| + | |||
| + | == The Macro == | ||
| + | |||
| + | <pre> | ||
| + | #cs -------------------------------------------------------------------------------------- | ||
| + | |||
| + | AutoIt Version 3.2.12.1 | ||
| + | Author: Sithid | ||
| + | Date: 07.12.08 | ||
| + | Version: 0.5 | ||
| + | |||
| + | Script Function: | ||
| + | Slate Collection - Automagical | ||
| + | |||
| + | #ce -------------------------------------------------------------------------------------- | ||
| + | |||
| + | #include <GUIConstants.au3> | ||
| + | #include <GUIConstantsEx.au3> | ||
| + | #include <WindowsConstants.au3> | ||
| + | |||
| + | Opt( "MustDeclareVars", 1 ) | ||
| + | |||
| + | Global $Paused = False | ||
| + | Global $AtitdHandle = 0 | ||
| + | Global $SlateCount = 0 | ||
| + | |||
| + | Global $SlateHex = "FFFFFF" | ||
| + | Global $SlateLoc[2] | ||
| + | |||
| + | Global $SlateSet = False | ||
| + | Global $ReadyCheck = False | ||
| + | |||
| + | HotKeySet( "{ESC}", "Terminate" ) | ||
| + | HotKeySet( "{PAUSE}", "TogglePause" ) | ||
| + | HotKeySet( "{F1}", "SetSlate" ) | ||
| + | HotKeySet( "{F2}", "SetReady" ) | ||
| + | |||
| + | WinWaitActive( "eGenesis Client" ); | ||
| + | |||
| + | $AtitdHandle = WinGetHandle( "eGenesis Client" ) | ||
| + | |||
| + | TogglePause() | ||
| + | |||
| + | While 1 | ||
| + | MsgBox( 0x0, "Slate Icon Position", "Please hover over your slate icon and press F1." ) | ||
| + | |||
| + | While Not $SlateSet | ||
| + | Sleep( 100 ) | ||
| + | WEnd | ||
| + | |||
| + | MsgBox( 0x0, "Ready Check", "Please move to the position you wish to start from and press F2." ) | ||
| + | |||
| + | While Not $ReadyCheck | ||
| + | Sleep( 100 ) | ||
| + | WEnd | ||
| + | |||
| + | Main() | ||
| + | WEnd | ||
| + | |||
| + | Func Main() | ||
| + | Do | ||
| + | PickSlate() | ||
| + | Move( "RIGHT" ) | ||
| + | |||
| + | PickSlate() | ||
| + | Move( "RIGHT" ) | ||
| + | |||
| + | PickSlate() | ||
| + | Move( "RIGHT" ) | ||
| + | |||
| + | PickSlate() | ||
| + | Move( "UP" ) | ||
| + | |||
| + | PickSlate() | ||
| + | Move( "LEFT" ) | ||
| + | |||
| + | PickSlate() | ||
| + | Move( "LEFT" ) | ||
| + | |||
| + | PickSlate() | ||
| + | Move( "LEFT" ) | ||
| + | |||
| + | PickSlate() | ||
| + | Move( "UP" ) | ||
| + | Until 1 = 2 | ||
| + | EndFunc | ||
| + | |||
| + | Func Move( $key ) | ||
| + | Send( "{" & $key & " down}" ) | ||
| + | Sleep( 200 ) | ||
| + | Send( "{" & $key & " up}" ) | ||
| + | Sleep( 1000 ) | ||
| + | EndFunc | ||
| + | |||
| + | Func PickSlate() | ||
| + | If CheckSlate( $SlateLoc, $SlateHex ) Then | ||
| + | Do | ||
| + | MouseClick( "right", $SlateLoc[0], $SlateLoc[1], 1, 5 ) | ||
| + | MouseClick( "left", $SlateLoc[0], $SlateLoc[1], 1, 5 ) | ||
| + | $SlateCount += 1 | ||
| + | Sleep( 3000 ) | ||
| + | Until Not CheckSlate( $SlateLoc, $SlateHex ) | ||
| + | EndIf | ||
| + | EndFunc | ||
| + | |||
| + | Func CheckSlate( $pos, $hex ) | ||
| + | Local $col = Hex( PixelGetColor( $pos[0], $pos[1] ), 6 ) | ||
| + | |||
| + | If $col = $hex Then | ||
| + | Return True | ||
| + | EndIf | ||
| + | |||
| + | Return False | ||
| + | EndFunc | ||
| + | |||
| + | Func SetSlate() | ||
| + | If $Paused Then | ||
| + | Return | ||
| + | EndIf | ||
| + | |||
| + | $SlateLoc = MouseGetPos() | ||
| + | $SlateHex = Hex( PixelGetColor( $SlateLoc[0], $SlateLoc[1], $AtitdHandle ), 6 ) | ||
| + | $SlateSet = True | ||
| + | EndFunc | ||
| + | |||
| + | Func SetReady() | ||
| + | If $Paused Then | ||
| + | Return | ||
| + | EndIf | ||
| + | |||
| + | $ReadyCheck = True | ||
| + | EndFunc | ||
| + | |||
| + | Func TogglePause() | ||
| + | $Paused = Not $Paused | ||
| + | |||
| + | While $Paused | ||
| + | Sleep(100 ) | ||
| + | WEnd | ||
| + | EndFunc | ||
| + | |||
| + | Func Terminate() | ||
| + | Exit | ||
| + | EndFunc | ||
| + | </pre> | ||
Latest revision as of 17:42, 9 January 2009
My basic slate macro, should work without any configuration. After running, switch to atitd, unpause, and follow messagebox instructions.
Note the macro is a bit buggy( delays are off, movement glitches and sometimes skips slate ), I havnt had time to fine tune it but it should work semi ok for you.
The Macro
#cs --------------------------------------------------------------------------------------
AutoIt Version 3.2.12.1
Author: Sithid
Date: 07.12.08
Version: 0.5
Script Function:
Slate Collection - Automagical
#ce --------------------------------------------------------------------------------------
#include <GUIConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Opt( "MustDeclareVars", 1 )
Global $Paused = False
Global $AtitdHandle = 0
Global $SlateCount = 0
Global $SlateHex = "FFFFFF"
Global $SlateLoc[2]
Global $SlateSet = False
Global $ReadyCheck = False
HotKeySet( "{ESC}", "Terminate" )
HotKeySet( "{PAUSE}", "TogglePause" )
HotKeySet( "{F1}", "SetSlate" )
HotKeySet( "{F2}", "SetReady" )
WinWaitActive( "eGenesis Client" );
$AtitdHandle = WinGetHandle( "eGenesis Client" )
TogglePause()
While 1
MsgBox( 0x0, "Slate Icon Position", "Please hover over your slate icon and press F1." )
While Not $SlateSet
Sleep( 100 )
WEnd
MsgBox( 0x0, "Ready Check", "Please move to the position you wish to start from and press F2." )
While Not $ReadyCheck
Sleep( 100 )
WEnd
Main()
WEnd
Func Main()
Do
PickSlate()
Move( "RIGHT" )
PickSlate()
Move( "RIGHT" )
PickSlate()
Move( "RIGHT" )
PickSlate()
Move( "UP" )
PickSlate()
Move( "LEFT" )
PickSlate()
Move( "LEFT" )
PickSlate()
Move( "LEFT" )
PickSlate()
Move( "UP" )
Until 1 = 2
EndFunc
Func Move( $key )
Send( "{" & $key & " down}" )
Sleep( 200 )
Send( "{" & $key & " up}" )
Sleep( 1000 )
EndFunc
Func PickSlate()
If CheckSlate( $SlateLoc, $SlateHex ) Then
Do
MouseClick( "right", $SlateLoc[0], $SlateLoc[1], 1, 5 )
MouseClick( "left", $SlateLoc[0], $SlateLoc[1], 1, 5 )
$SlateCount += 1
Sleep( 3000 )
Until Not CheckSlate( $SlateLoc, $SlateHex )
EndIf
EndFunc
Func CheckSlate( $pos, $hex )
Local $col = Hex( PixelGetColor( $pos[0], $pos[1] ), 6 )
If $col = $hex Then
Return True
EndIf
Return False
EndFunc
Func SetSlate()
If $Paused Then
Return
EndIf
$SlateLoc = MouseGetPos()
$SlateHex = Hex( PixelGetColor( $SlateLoc[0], $SlateLoc[1], $AtitdHandle ), 6 )
$SlateSet = True
EndFunc
Func SetReady()
If $Paused Then
Return
EndIf
$ReadyCheck = True
EndFunc
Func TogglePause()
$Paused = Not $Paused
While $Paused
Sleep(100 )
WEnd
EndFunc
Func Terminate()
Exit
EndFunc