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:Cegaiel/Macros/CarpBlade/Code"

From A Tale in the Desert
Jump to navigationJump to search
Line 8: Line 8:
 
;Hotkeys:
 
;Hotkeys:
 
;F2: Set Location, make blade
 
;F2: Set Location, make blade
;Right Ctrl: Use last F2 location, make blade
+
;Right Alt: Use last F2 location, make blade
 
;Right Shift: Show current coordinates locked into memory
 
;Right Shift: Show current coordinates locked into memory
 
;Left Click: Show current mouse location
 
;Left Click: Show current mouse location
  
;Left Ctrl: Approve and unload the blade from anvil (and make another blade if you uncomment (see next paragraph).
+
;Left Alt: Approve and unload the blade from anvil (and make another blade if you uncomment (see next paragraph).
 
;Spacebar: Discard the blade and recover metal.
 
;Spacebar: Discard the blade and recover metal.
  
Line 18: Line 18:
 
;The AHK icon in system tray will turn red while paused.
 
;The AHK icon in system tray will turn red while paused.
 
;Ctrl+R to reload script
 
;Ctrl+R to reload script
;Date: 9/22/2010
+
;Date: 9/24/2010
  
 
;Author: Cegaiel
 
;Author: Cegaiel
Line 27: Line 27:
  
 
;Note the next to the last line in this script: Gosub, Load .
 
;Note the next to the last line in this script: Gosub, Load .
;If you uncomment this, then everytime you Approve/unload a blade (with Left Ctrl key) then it will automatically start a
+
;If you uncomment this, then everytime you Approve/unload a blade (with Left Alt key) then it will automatically start a
;new project immediately (same as if you had pressed Right Ctrl), after unloading.
+
;new project immediately (same as if you had pressed Right Alt), after unloading.
 
;This can save you a few seconds when doing multiple blades.  
 
;This can save you a few seconds when doing multiple blades.  
  
Line 66: Line 66:
  
 
Gosub, HELP
 
Gosub, HELP
;Msgbox, Make Blade: Hover mouse at starting position (image in wiki) and click F2`n`n`nHOTKEYS (works at anytime while script is idle):`n`nF1: This Help Screen`n`nF2: Make a blade and lock coordinates into memory and clipboard`nRight Ctrl: Make another blade from last F2 coordinates (memory)`n`nLeft Shift: Show current mouse position`nRight Shift: Show last F2 coordinates (memory)`n`nRight Ctrl: Approve and Unload a blade into your inventory, after making.`nSPACEBAR: Discard project`n`n`nNote: Copper and Iron produce the same quality blades, so use whatever you have the most of.
+
 
  
  
Line 94: Line 94:
  
  
MsgBox, Step 2: Lock your screen (Alt+L) so the screen doesn't move (after clicking OK)`n`nStep 3: Then hover mouse on the anvil starting position (image in wiki) and hit F2 to make a blade.`n`nIf your starting position doesn't produce a quality of blade that you desire, then repeat Step 3.`nIf your starting position is satisfactory, then make your subsequent blades by clicking the Right Ctrl Key.`n`nMetal: %Metal%
+
MsgBox, Step 2: Lock your screen (Alt+L) so the screen doesn't move (after clicking OK)`n`nStep 3: Then hover mouse on the anvil starting position (image in wiki) and hit F2 to make a blade.`n`nIf your starting position doesn't produce a quality of blade that you desire, then repeat Step 3.`nIf your starting position is satisfactory, then make your subsequent blades by clicking the Right Alt Key.`n`nMetal: %Metal%
  
 
WinActivate, eGenesis Client
 
WinActivate, eGenesis Client
Line 114: Line 114:
 
}
 
}
  
GetKeyState, state, RCtrl
+
GetKeyState, state, RAlt
 
if state = D
 
if state = D
 
{
 
{
Line 128: Line 128:
 
Msgbox, No coordinates in memory, Start a project with F2, first...
 
Msgbox, No coordinates in memory, Start a project with F2, first...
 
}else{
 
}else{
Msgbox, Position in memory: %StartX%, %StartY%`n`nPress Right Ctrl to make another blade at these coordinates`n`nThe coordinates are also located in clipboard, Ctrl+V to paste.
+
Msgbox, Position in memory: %StartX%, %StartY%`n`nPress Right Alt to make another blade at these coordinates`n`nThe coordinates are also located in clipboard, Ctrl+V to paste.
 
}
 
}
 
}
 
}
Line 142: Line 142:
 
}
 
}
  
GetKeyState, state, LCtrl
+
GetKeyState, state, LAlt
 
if state = D
 
if state = D
 
{
 
{
Line 417: Line 417:
  
  
MsgBox, Press <Left Ctrl> to Unload and put blade into your inventory.`n`n Press <SPACEBAR> to Discard Project, keep your %Metal%, try again (F2)...`n`nIf this blade was of satisfactory quality, then after Unloading,  press Right Ctrl to make a blade from the current anvil position.`n`nDon't forget to press F1 for Help Screen for Hotkeys/Shortcuts at anytime!
+
MsgBox, Press <Left Alt> to Unload and put blade into your inventory.`n`n Press <SPACEBAR> to Discard Project, keep your %Metal%, try again (F2)...`n`nIf this blade was of satisfactory quality, then after Unloading,  press <Right Alt> to make a blade from the current anvil position.`n`nDon't forget to press F1 for Help Screen for Hotkeys/Shortcuts at anytime!
  
 
return
 
return
Line 424: Line 424:
  
 
HELP:
 
HELP:
Msgbox, Make Blade: Hover mouse at starting position (image in wiki) and click F2`n`n`nHOTKEYS (works at anytime while script is idle):`n`nF1: This Help Screen`n`nF2: Make a blade and lock coordinates into memory and clipboard`nRight Ctrl: Make another blade from last F2 coordinates (memory)`n`nLeft Shift: Show current mouse position`nRight Shift: Show last F2 coordinates (memory)`n`nLeft Ctrl: Approve and Unload a blade into your inventory, after making.`nSPACEBAR: Discard project and recover metal`n`n`nNote: Copper and Iron produce the same quality blades, so use whatever you have the most of.
+
Msgbox, Make Blade: Hover mouse at starting position (image in wiki) and click F2`n`n`nHOTKEYS (works at anytime while script is idle):`n`nF1: This Help Screen`n`nF2: Make a blade and lock coordinates into memory and clipboard`n`nRight Alt: Make another blade from last F2 coordinates (memory)`nLeft Alt: Approve and Unload a blade into your inventory, after making.`n`nLeft Shift: Show current mouse position`nRight Shift: Show last F2 coordinates (memory)`n`nSPACEBAR: Discard project and recover metal`n`n`nNote: Copper and Iron produce the same quality blades, so use whatever you have the most of.
 
return
 
return
  
Line 438: Line 438:
 
Click %NewX%, %NewY% ;Left
 
Click %NewX%, %NewY% ;Left
 
Sleep 100
 
Sleep 100
MouseGetPos, OldMX, OldMY
 
 
Click 804, 574 ;Left
 
Click 804, 574 ;Left
MouseMove, %OldMX%, %OldMY%, 0
+
Sleep 100
 +
MouseMove, %StartX%, %StartY%, 0
 
return
 
return
  
Line 452: Line 452:
 
Click %NewX%, %NewY% ;Left
 
Click %NewX%, %NewY% ;Left
 
Sleep 100
 
Sleep 100
MouseGetPos, OldMX, OldMY
 
 
Click 804, 574 ;Left
 
Click 804, 574 ;Left
MouseMove, %OldMX%, %OldMY%, 0
+
Sleep 100
 +
MouseMove, %StartX%, %StartY%, 0
  
  
;Uncomment below line to make auto repeat. ie When you accept a project, it will immediately start another (same as Right Ctrl)
+
;Uncomment below line to make auto repeat. ie When you accept a project, it will immediately start another (same as Right Alt)
 
;Gosub, Load
 
;Gosub, Load
  

Revision as of 07:47, 24 September 2010

;1680x1050 Resolution ONLY!

;Have this in your inventory:
;3 main tools: Ball Peen Hammer, Shaping Mallet, and Wide Tungsten Chisel 
;Metal: Iron or Copper

;Hotkeys:
;F2: Set Location, make blade
;Right Alt: Use last F2 location, make blade
;Right Shift: Show current coordinates locked into memory
;Left Click: Show current mouse location

;Left Alt: Approve and unload the blade from anvil (and make another blade if you uncomment (see next paragraph).
;Spacebar: Discard the blade and recover metal.

;Ctrl+P to pause script and Ctrl+P again to resume
;The AHK icon in system tray will turn red while paused.
;Ctrl+R to reload script
;Date: 9/24/2010

;Author: Cegaiel
;Full Credit to Oni , this macro is based off his hard work for getting the hit locations


;------------------------------

;Note the next to the last line in this script: Gosub, Load .
;If you uncomment this, then everytime you Approve/unload a blade (with Left Alt key) then it will automatically start a
;new project immediately (same as if you had pressed Right Alt), after unloading.
;This can save you a few seconds when doing multiple blades. 

;------------------------------


WinGetActiveStats, Title, Width, Height, WinX, WinY 

IfWinExist eGenesis Client
{


	Gui, Add, Text,, Metal Type:
	Gui, Add, DropDownList, vMetal Choose1, Copper|Iron
	Gui, Add, Button, gStart, MAKE
	Gui, Show
		}
		else
		{
	MsgBox, eGenesis Client not running, aborting...
	Exit
		}
		return





Start:
	WinActivate, eGenesis Client
	WinGet, GameWinHandle, ID, eGenesis Client
	StartX = 0
	StartY = 0

Gui, Submit


Gosub, HELP



if (Metal = "Iron")
{
MetalX = 63
MetalY = 84
}else{
MetalX = 63
MetalY = 101
}

MsgBox, Step 1: Your camera angle will now automatically be adjusted to double F8 mode and zoomed in to maximum.`n`nThis will take 10 seconds, do not move mouse while this occurs!`n`nNote: If you screen does not zoom in, then you already have your screen locked, press ALT+L to unlock and then reload this script to try again!`n`nPress OK to proceed...

	WinActivate, eGenesis Client

;Now Zoom in all the way with F8
	WinActivate, eGenesis Client
	Sleep 1000
	MouseGetPos, OldMX, OldMY
	Send {F5}{F8}{F8}
	MouseMove, 0,0
	Sleep 5000
	MouseMove, 0, 0
	Sleep 5000
	MouseMove, %OldMX%, %OldMY%, 0			


MsgBox, Step 2: Lock your screen (Alt+L) so the screen doesn't move (after clicking OK)`n`nStep 3: Then hover mouse on the anvil starting position (image in wiki) and hit F2 to make a blade.`n`nIf your starting position doesn't produce a quality of blade that you desire, then repeat Step 3.`nIf your starting position is satisfactory, then make your subsequent blades by clicking the Right Alt Key.`n`nMetal: %Metal%

	WinActivate, eGenesis Client

#Persistent
SetTimer, GetStartPos, 100
return


GetStartPos:

GetKeyState, state, F2
if state = D 
{
MouseGetPos, StartX, StartY 
Tooltip
Clipboard = Last Project: %StartX%, %StartY%`n
Gosub, Load
}

GetKeyState, state, RAlt
if state = D
{
Gosub, Load
}

GetKeyState, state, RShift
if state = D
{

if ((StartX == 0) && (StartY == 0))
{
Msgbox, No coordinates in memory, Start a project with F2, first...
}else{
Msgbox, Position in memory: %StartX%, %StartY%`n`nPress Right Alt to make another blade at these coordinates`n`nThe coordinates are also located in clipboard, Ctrl+V to paste.
}
}

GetKeyState, state, LShift
if state = D
{
MouseGetPos, xpos, ypos 
ToolTip, Coordinates: %xpos%`, %ypos%`n`nPress F2 to start project.


;Msgbox, Current Mouse Position:`n`n%xpos%, %ypos%`n`nPress <SPACEBAR> to close this popup, without moving mouse!`n`nPress F2, after popup is closed, to start project at these coordinates...
}

GetKeyState, state, LAlt
if state = D
{
Gosub, ACCEPT
}

GetKeyState, state, Space
if state = D
{
Gosub, DISCARD
}

GetKeyState, state, F1
if state = D
{
Gosub, HELP
}
return



Load:
	WinActivate, eGenesis Client

if StartX = 0
{
MsgBox, You must set the start position by hovering mouse over anvil and clicking F2, first!
return
}


;Load Anvil
Click right %StartX%, %StartY%
sleep 100
NewX := StartX + 29
NewY := StartY - 19 
Click %NewX%, %NewY% ;Left

sleep 100



;Choose Metal
NewX := StartX + MetalX
NewY := StartY - MetalY
Click %NewX%, %NewY% ;Left
sleep 100




;Metal Click
TempX := NewX + 10
Click %TempX%, %NewY% ;Left
Sleep 100

;Msgbox, Last chance to abort (Ctrl+R to reload script)`n`nAre you sure you have your chat minimized?`n`nIf so, click OK to proceed...


;BEGIN SLEEP CHANGE



;Set Tool: Shaping Mallet
;NewX := StartX + 22
;NewY := StartY - 38

Mousemove %StartX%, %StartY%
Send {S}
Send {8}
;end Set Tool: Shaping mallet
sleep 100

;/// FRONT EDGE \\\

;Hit 1
NewX := StartX + 77
NewY := StartY + 42
Click right %NewX%, %NewY%
Sleep 100


;Hit 2
NewX := StartX + 77
NewY := StartY + 80
Click right %NewX%, %NewY%
Sleep 100

;Hit 3
NewX := StartX + 77
NewY := StartY + 119
Click right %NewX%, %NewY%
Sleep 100

;Hit 4
NewX := StartX + 77
NewY := StartY + 119
Click right %NewX%, %NewY%
Sleep 100

;Hit 5
NewX := StartX + 77
NewY := StartY + 157
Click right %NewX%, %NewY%
Sleep 100

;Hit 6
NewX := StartX + 77
NewY := StartY + 196
Click right %NewX%, %NewY%
Sleep 100

;Hit 7
NewX := StartX + 77
NewY := StartY + 234
Click right %NewX%, %NewY%
Sleep 100

;Hit 8
NewX := StartX + 77
NewY := StartY + 273
Click right %NewX%, %NewY%
Sleep 100

;//// END 8 HITS \\\\



;// Wide Chisel Force 9//

Mousemove %StartX%, %StartY%
sleep 100
Send {C}
Send {9}
sleep 100

;// end Wide Chisel Tool Change//


;//// HIT TOP + BOTTOM w/ CHISEL \\\

NewX := StartX + 77
NewY := StartY + 43
Sleep 100
Click right %NewX%, %NewY%

NewX := StartX + 77
NewY := StartY + 311
Sleep 100
Click right %NewX%, %NewY%

;//// END HIT TOP + BOTTOM w/ CHISEL \\\



;//// HIT MID POINTS w/ CHISEL \\\\

NewX := StartX + 77
NewY := StartY + 124
Sleep 100
Click right %NewX%, %NewY%

NewX := StartX + 77
NewY := StartY + 229
Sleep 100
Click right %NewX%, %NewY%

;//// End HIT MID POINTS w/ CHISEL \\\\



;// Wide Chisel Force 4 //
Mousemove %StartX%, %StartY%
sleep 100
Send {C}
Send {4}
sleep 100
;// end Wide Chisel change //





;//// HIT 3 MID DOTS \\\\
NewX := StartX - 1
NewY := StartY + 130
Click right %NewX%, %NewY%
Sleep 100

NewX := StartX - 1
NewY := StartY + 178
Click right %NewX%, %NewY%
Sleep 100

NewX := StartX - 1
NewY := StartY + 226
Click right %NewX%, %NewY%
Sleep 100
;//// End HIT 3 MID DOTS \\\\


;// Ball Peen Force 9 //
Mousemove %StartX%, %StartY%
sleep 100
Send {B}
Send {9}
sleep 100
;// end Ball Peen //


;//// HIT 2 MID TIPS/EDGES \\
NewX := StartX - 26
NewY := StartY + 65
Click right %NewX%, %NewY%
Sleep 100


NewX := StartX - 26
NewY := StartY + 283
Click right %NewX%, %NewY%
Sleep 100

;//// END 2 MID TIPS/EDGES \\



;//// BACK EDGE 6 HITS, Same Tool/Force \\\\

NewX := StartX - 112
NewY := StartY + 65
Click right %NewX%, %NewY%
Sleep 100


NewX := StartX - 112
NewY := StartY + 283
Click right %NewX%, %NewY%
Sleep 100



NewX := StartX - 97
NewY := StartY + 75
Click right %NewX%, %NewY%
Sleep 100


NewX := StartX - 97
NewY := StartY + 273
Click right %NewX%, %NewY%
Sleep 100


NewX := StartX - 111
NewY := StartY + 85
Click right %NewX%, %NewY%
Sleep 100


NewX := StartX - 111
NewY := StartY + 262
Click right %NewX%, %NewY%
Sleep 100

;//// END BACK EDGE 6 HITS \\\\

Mousemove %StartX%, %StartY%
Sleep 100
Send {Q}
Send {Q}
;// END Blade //
sleep 100



MsgBox, Press <Left Alt> to Unload and put blade into your inventory.`n`n Press <SPACEBAR> to Discard Project, keep your %Metal%, try again (F2)...`n`nIf this blade was of satisfactory quality, then after Unloading,  press <Right Alt> to make a blade from the current anvil position.`n`nDon't forget to press F1 for Help Screen for Hotkeys/Shortcuts at anytime!

return



HELP:
Msgbox, Make Blade: Hover mouse at starting position (image in wiki) and click F2`n`n`nHOTKEYS (works at anytime while script is idle):`n`nF1: This Help Screen`n`nF2: Make a blade and lock coordinates into memory and clipboard`n`nRight Alt: Make another blade from last F2 coordinates (memory)`nLeft Alt: Approve and Unload a blade into your inventory, after making.`n`nLeft Shift: Show current mouse position`nRight Shift: Show last F2 coordinates (memory)`n`nSPACEBAR: Discard project and recover metal`n`n`nNote: Copper and Iron produce the same quality blades, so use whatever you have the most of.
return


DISCARD:
	WinActivate, eGenesis Client


Click right %StartX%, %StartY%
NewX := StartX + 31 ;// Discard
NewY := StartY - 9  ;// Discard
Sleep 100
Click %NewX%, %NewY% ;Left
Sleep 100
Click 804, 574 ;Left
Sleep 100
MouseMove, %StartX%, %StartY%, 0			
return

ACCEPT:
	WinActivate, eGenesis Client

Click right %StartX%, %StartY%
NewX := StartX + 37 ;// Complete
NewY := StartY - 25 ;// Complete
Sleep 100
Click %NewX%, %NewY% ;Left
Sleep 100
Click 804, 574 ;Left
Sleep 100
MouseMove, %StartX%, %StartY%, 0			


;Uncomment below line to make auto repeat. ie When you accept a project, it will immediately start another (same as Right Alt)
	;Gosub, Load

return


^r::reload
^p::Pause