The Wiki for Tale 6 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:Anka/Macros/PaintMixer"

From ATITD6
Jump to navigationJump to search
(Created page with "<pre> </pre>")
 
Line 1: Line 1:
 
<pre>
 
<pre>
 +
//Paint Mixer  -  by Anka
 +
//
 +
//This macro will mix paint for you.  It was designed to used a single paint batch Pigment Laboratory
 +
//before upgrades became available but it's fast enough that you might not want to upgrade it
 +
//anyway.
 +
//
 +
//  I have 2 paints of mine set up already.  You will have to edit these 2 colors to match your
 +
//  paint recipies.  To add more paints, follow these instructions...
 +
//
 +
// 1. Add your paint color to the menu on line 76 separated by commas.  Replace any spaces in the
 +
//    name with a _
 +
// 2. Scroll down to the other Procedures and add a Procedure for your paint.  It should match what
 +
//    what you put in the menu.  It's easy to copy and paste a procedure and rename then edit.
 +
// 3. Set up your recipe - look over the other procedures to get an idea of what is happening.
 +
//    The basic setup for adding a single click of an ingredient is...
 +
//      MousePos $IngX, $CarrotY
 +
//      Call RClick
 +
//    These 2 lines will add 1 carrot.  If you need more than 1 of an ingredient, use this...
 +
//        MousePos $IngX, $CarrotY
 +
//      Call RClick
 +
//      Set INum = 2
 +
//      Loop $INum
 +
//      Rightclick
 +
//      End
 +
//      Delay $MDelay
 +
//  The first 2 lines will also add 1 carrot but you set the following line "Set INum = 2" to
 +
//  the remaining clicks.  In this case you want a total of 3 so set INum to 1 less.
 +
//
 +
//  Once you set up all of your paints, it should work from tale to tale.
 +
//  Enjoy Anka
  
 +
Constants
 +
  Batch = 0
 +
  Color = 0
 +
  X1 = 10
 +
  Y1 = 45
 +
  IngX = 0
 +
  TakeX = 0
 +
  TakeY = 0
 +
  CabbageY = 0
 +
  CarrotY = 0
 +
  ClayY = 0
 +
  DeadTongueY = 0
 +
  ToadY = 0
 +
  EarthY = 0
 +
  RedY = 0
 +
  LeadY = 0
 +
  SilverY = 0
 +
  IronY = 0
 +
  CopperY = 0
 +
  SulfurY = 0
 +
  PotashY = 0
 +
  LimeY = 0
 +
  SaltpeterY = 0
 +
  INum = 0
 +
  MDelay = 100
 +
End
 +
 +
Object Take
 +
  0=0,0|0=1,0|0=2,0|0=3,0|0=4,0|0=5,0|0=6,0|
 +
  0=3,1|0=3,2|0=3,3|0=3,4|0=3,5|0=3,6|0=3,7|
 +
  0=3,8|
 +
End Object
 +
 +
Object Ing
 +
  0=0,0|0=1,0|0=2,0|0=1,1|
 +
  0=1,2|0=4,2|0=6,2|0=7,2|
 +
  0=1,3|0=4,3|0=8,3|0=1,4|
 +
  0=4,4|0=8,4|0=1,5|0=4,5|
 +
  0=8,5|0=1,6|0=4,6|0=8,6|
 +
  0=0,7|0=1,7|0=2,7|0=4,7|0=8,7|
 +
End Object
 +
 +
Form Paint, Settings
 +
  ed1=Editbox:Batch:1
 +
  ed2=Combobox:Color:Green_Yellow, Pale_Violet_Red
 +
end
 +
 +
FormLoad Paint, Paint.frm
 +
 +
if ShowForm Paint
 +
  Set Batch = Paint[ed1]
 +
  Set Color = Paint[ed2]
 +
else
 +
  stop
 +
End
 +
 +
FormSave Paint, Paint.frm
 +
 +
keydown @{Tab} 100
 +
Delay 2000
 +
 +
Call Startup
 +
 +
Loop $Batch
 +
  Call $Color
 +
  MousePos $TakeX, $TakeY
 +
  Call RClick
 +
End
 +
 +
Procedure Startup
 +
  //Search for starting spot
 +
  While $Y1 <  120
 +
    IsObject Take at $X1, $Y1
 +
      //Set take button
 +
      Compute TakeX = $X1 + 5
 +
      Compute TakeY = $Y1 + 3
 +
      Break
 +
    Else
 +
      Compute Y1 = $Y1 + 1
 +
    End
 +
  End
 +
 
 +
  While $Y1 <  280
 +
    IsObject Ing at $X1, $Y1
 +
      //Set any variables here
 +
      Compute IngX = $X1 + 7
 +
      Compute CabbageY = $Y1 + 24
 +
      Compute CarrotY = $CabbageY + 18
 +
      Compute ClayY = $CarrotY + 18
 +
      Compute DeadTongueY = $ClayY + 18
 +
      Compute ToadY = $DeadTongueY + 18
 +
      Compute EarthY = $ToadY + 18
 +
      Compute RedY = $EarthY + 18
 +
      Compute LeadY = $RedY + 18
 +
      Compute SilverY = $LeadY + 18
 +
      Compute IronY = $SilverY + 18
 +
      Compute CopperY = $IronY + 18
 +
      Compute SulfurY = $CopperY + 18
 +
      Compute PotashY = $SulfurY + 18
 +
      Compute LimeY = $PotashY + 18
 +
      Compute SaltpeterY = $LimeY + 18
 +
      Break
 +
    Else
 +
      Compute Y1 = $Y1 + 1
 +
    End
 +
  End
 +
End
 +
 +
Procedure Green_Yellow  //Recipe 1 Carrot, 1 Sulfur, 1 Potash, 1 Saltpeter, 9 Clay
 +
  MousePos $IngX, $CarrotY  //Ingredient 1
 +
  Call RClick
 +
  MousePos $IngX, $SulfurY  //Ingredient 2
 +
  Call RClick
 +
  MousePos $IngX, $PotashY
 +
  Call RClick
 +
  MousePos $IngX, $SaltpeterY
 +
  Call RClick
 +
  MousePos $IngX, $ClayY  //Drops 1 in then loop does the other 8
 +
  Call RClick
 +
  Set INum = 8 
 +
  Loop $INum
 +
  Rightclick
 +
  End
 +
  Delay $MDelay
 +
End
 +
 +
Procedure Pale_Violet_Red  //Recipe 7 Cabbage, 3 Carrot, 1 Potash
 +
MousePos $IngX, $CabbageY
 +
Call RClick
 +
Set Inum = 6
 +
Loop $INum
 +
Rightclick
 +
End
 +
Delay $MDelay
 +
MousePos $IngX, $CarrotY
 +
Call RClick
 +
Set INum = 2
 +
Loop $INum
 +
Rightclick
 +
End
 +
Delay $MDelay
 +
MousePos $IngX, $PotashY
 +
Call RClick
 +
End
 +
 +
Procedure RClick
 +
  Delay $MDelay
 +
  Rightclick
 +
  Delay $MDelay
 +
End
 
</pre>
 
</pre>

Revision as of 21:32, 13 February 2012

//Paint Mixer   -   by Anka
//
//This macro will mix paint for you.  It was designed to used a single paint batch Pigment Laboratory
//before upgrades became available but it's fast enough that you might not want to upgrade it
//anyway.
//
//  I have 2 paints of mine set up already.  You will have to edit these 2 colors to match your
//  paint recipies.  To add more paints, follow these instructions...
//
// 1. Add your paint color to the menu on line 76 separated by commas.  Replace any spaces in the
//    name with a _
// 2. Scroll down to the other Procedures and add a Procedure for your paint.  It should match what
//    what you put in the menu.  It's easy to copy and paste a procedure and rename then edit.
// 3. Set up your recipe - look over the other procedures to get an idea of what is happening.
//    The basic setup for adding a single click of an ingredient is...
//       MousePos $IngX, $CarrotY
//       Call RClick
//    These 2 lines will add 1 carrot.  If you need more than 1 of an ingredient, use this...
//        MousePos $IngX, $CarrotY
//      	Call RClick
//      	Set INum = 2
//      	Loop $INum
//      		Rightclick
//      	End
//      	Delay $MDelay
//  The first 2 lines will also add 1 carrot but you set the following line "Set INum = 2" to 
//  the remaining clicks.  In this case you want a total of 3 so set INum to 1 less.
//
//  Once you set up all of your paints, it should work from tale to tale.
//  Enjoy Anka

Constants
  Batch = 0
  Color = 0
  X1 = 10
  Y1 = 45
  IngX = 0
  TakeX = 0
  TakeY = 0
  CabbageY = 0
  CarrotY = 0
  ClayY = 0
  DeadTongueY = 0
  ToadY = 0
  EarthY = 0
  RedY = 0
  LeadY = 0
  SilverY = 0
  IronY = 0
  CopperY = 0
  SulfurY = 0
  PotashY = 0
  LimeY = 0
  SaltpeterY = 0
  INum = 0
  MDelay = 100
End

Object Take
  0=0,0|0=1,0|0=2,0|0=3,0|0=4,0|0=5,0|0=6,0|
  0=3,1|0=3,2|0=3,3|0=3,4|0=3,5|0=3,6|0=3,7|
  0=3,8|
End Object

Object Ing
  0=0,0|0=1,0|0=2,0|0=1,1|
  0=1,2|0=4,2|0=6,2|0=7,2|
  0=1,3|0=4,3|0=8,3|0=1,4|
  0=4,4|0=8,4|0=1,5|0=4,5|
  0=8,5|0=1,6|0=4,6|0=8,6|
  0=0,7|0=1,7|0=2,7|0=4,7|0=8,7|
End Object

Form Paint, Settings
  ed1=Editbox:Batch:1
  ed2=Combobox:Color:Green_Yellow, Pale_Violet_Red
end

FormLoad Paint, Paint.frm

if ShowForm Paint
  Set Batch = Paint[ed1]
  Set Color = Paint[ed2]
else
  stop
End

FormSave Paint, Paint.frm

keydown @{Tab} 100
Delay 2000

Call Startup

Loop $Batch
  Call $Color
  MousePos $TakeX, $TakeY
  Call RClick
End

Procedure Startup
  //Search for starting spot
  While $Y1 <  120
    IsObject Take at $X1, $Y1
      //Set take button
      Compute TakeX = $X1 + 5
      Compute TakeY = $Y1 + 3
      Break
    Else
      Compute Y1 = $Y1 + 1
    End
  End
  
  While $Y1 <  280
    IsObject Ing at $X1, $Y1
      //Set any variables here
      Compute IngX = $X1 + 7
      Compute CabbageY = $Y1 + 24
      Compute CarrotY = $CabbageY + 18
      Compute ClayY = $CarrotY + 18
      Compute DeadTongueY = $ClayY + 18
      Compute ToadY = $DeadTongueY + 18
      Compute EarthY = $ToadY + 18
      Compute RedY = $EarthY + 18
      Compute LeadY = $RedY + 18
      Compute SilverY = $LeadY + 18
      Compute IronY = $SilverY + 18
      Compute CopperY = $IronY + 18
      Compute SulfurY = $CopperY + 18
      Compute PotashY = $SulfurY + 18
      Compute LimeY = $PotashY + 18
      Compute SaltpeterY = $LimeY + 18
      Break
    Else
      Compute Y1 = $Y1 + 1
    End
  End
End

Procedure Green_Yellow  //Recipe 1 Carrot, 1 Sulfur, 1 Potash, 1 Saltpeter, 9 Clay
  MousePos $IngX, $CarrotY  //Ingredient 1
  Call RClick
  MousePos $IngX, $SulfurY  //Ingredient 2
  Call RClick
  MousePos $IngX, $PotashY
  Call RClick
  MousePos $IngX, $SaltpeterY
  Call RClick
  MousePos $IngX, $ClayY  //Drops 1 in then loop does the other 8
  Call RClick
  Set INum = 8  
  Loop $INum
  	Rightclick
  End
  Delay $MDelay
End

Procedure Pale_Violet_Red  //Recipe 7 Cabbage, 3 Carrot, 1 Potash
	MousePos $IngX, $CabbageY
	Call RClick
	Set Inum = 6
	Loop $INum
		Rightclick
	End
	Delay $MDelay
	MousePos $IngX, $CarrotY
	Call RClick
	Set INum = 2
	Loop $INum
		Rightclick
	End
	Delay $MDelay
	MousePos $IngX, $PotashY
	Call RClick
End

Procedure RClick
  Delay $MDelay
  Rightclick
  Delay $MDelay
End