<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://www.atitd.org/wiki/t4w/index.php?action=history&amp;feed=atom&amp;title=User%3AKibble%2FMacros%2FCopper</id>
	<title>User:Kibble/Macros/Copper - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://www.atitd.org/wiki/t4w/index.php?action=history&amp;feed=atom&amp;title=User%3AKibble%2FMacros%2FCopper"/>
	<link rel="alternate" type="text/html" href="http://www.atitd.org/wiki/t4w/index.php?title=User:Kibble/Macros/Copper&amp;action=history"/>
	<updated>2026-06-02T07:28:15Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.2</generator>
	<entry>
		<id>http://www.atitd.org/wiki/t4w/index.php?title=User:Kibble/Macros/Copper&amp;diff=54025&amp;oldid=prev</id>
		<title>Kibble: New page: &lt;pre&gt; // This is what I suggest for setting up for this macro // First align your view so you can see all 7 crystals clearly // second use Alt-L to lock your camera angle // Third before s...</title>
		<link rel="alternate" type="text/html" href="http://www.atitd.org/wiki/t4w/index.php?title=User:Kibble/Macros/Copper&amp;diff=54025&amp;oldid=prev"/>
		<updated>2009-02-22T05:31:05Z</updated>

		<summary type="html">&lt;p&gt;New page: &amp;lt;pre&amp;gt; // This is what I suggest for setting up for this macro // First align your view so you can see all 7 crystals clearly // second use Alt-L to lock your camera angle // Third before s...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
// This is what I suggest for setting up for this macro&lt;br /&gt;
// First align your view so you can see all 7 crystals clearly&lt;br /&gt;
// second use Alt-L to lock your camera angle&lt;br /&gt;
// Third before starting this, I suggest you have your mouse sitting over&lt;br /&gt;
//  the first crystal.&lt;br /&gt;
// You will have 3 seconds between the recording of each crystal's location&lt;br /&gt;
// place your mouse over the darkest part of each crystal in turn&lt;br /&gt;
// Once it has identified the 7 crystals, it will run the mine&lt;br /&gt;
Constructs&lt;br /&gt;
  MouseX=List // this is an array of mouse X coords for gem sample points&lt;br /&gt;
  MouseY=List // this is an array of mouse X coords for gem sample points&lt;br /&gt;
  OEOffset=List&lt;br /&gt;
END&lt;br /&gt;
Constants&lt;br /&gt;
  OELevel = 3  // change this to your Ore Extraction level&lt;br /&gt;
  totalpulls = 500 // How many times do you want it to pull the mine&lt;br /&gt;
  loopcnt = 1&lt;br /&gt;
  Mousecnt = 1&lt;br /&gt;
  MouseXN = 0&lt;br /&gt;
  MouseYN = 0&lt;br /&gt;
  ColorN = 0&lt;br /&gt;
  ColorS = 0&lt;br /&gt;
  Minval = 0&lt;br /&gt;
  Maxval = 255&lt;br /&gt;
  CONSTVAL = 0&lt;br /&gt;
  Tmpval = 0&lt;br /&gt;
  OElistcnt = 0&lt;br /&gt;
  OELvlset = 1&lt;br /&gt;
  &lt;br /&gt;
End&lt;br /&gt;
&lt;br /&gt;
Compute CONSTVAL = 100/255 // constant being set for saturation calculation&lt;br /&gt;
&lt;br /&gt;
// First part that requires a detailed explanation&lt;br /&gt;
// this loop will pause for 3 seconds then grab the current mouse location&lt;br /&gt;
// its purpose is to identify the 7 sampling locations for the crystals&lt;br /&gt;
// when it grabs the sampling spot, it will then echo a . to the chat window&lt;br /&gt;
// make sure you are in your main chat tab.&lt;br /&gt;
setactivewindow eGenesis Client&lt;br /&gt;
Loop 7&lt;br /&gt;
  Delay 3000&lt;br /&gt;
  Listadd MouseX, {MouseX}&lt;br /&gt;
  Listadd MouseY, {MouseY}&lt;br /&gt;
  keys {loopno}&lt;br /&gt;
END&lt;br /&gt;
&lt;br /&gt;
keys {return}&lt;br /&gt;
keys {return}&lt;br /&gt;
&lt;br /&gt;
ListClear OEOffset&lt;br /&gt;
&lt;br /&gt;
loop $totalpulls&lt;br /&gt;
  Compute loopcnt = 1&lt;br /&gt;
  loop 7&lt;br /&gt;
    mousepos MouseX[$loopcnt], MouseY[$loopcnt]&lt;br /&gt;
    LoadRGB MouseX[$loopcnt], MouseY[$loopcnt]&lt;br /&gt;
    Call CALCSATCOLOR&lt;br /&gt;
    IF $ColorN &amp;gt; $ColorS&lt;br /&gt;
      Compute ColorS = $ColorN&lt;br /&gt;
      Compute Mousecnt = $loopcnt&lt;br /&gt;
    END&lt;br /&gt;
    Compute loopcnt = $loopcnt + 1&lt;br /&gt;
    Delay 100&lt;br /&gt;
  END&lt;br /&gt;
  &lt;br /&gt;
  CALL OreExtractionstore&lt;br /&gt;
  &lt;br /&gt;
  ListCount OEOffset, $OElistcnt&lt;br /&gt;
  IF $OELevel &amp;gt;= $OElistcnt&lt;br /&gt;
    Compute OELvlset = OEOffset[1] // work the current crystal until we are at our OE Level&lt;br /&gt;
  ELSE&lt;br /&gt;
    Compute OELvlset = OEOffset[$OELevel]&lt;br /&gt;
  END&lt;br /&gt;
  // Saypaste $OELevel $OElistcnt $OELvlset&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  mousepos MouseX[$OELvlset], MouseY[$OELvlset]&lt;br /&gt;
  Delay 200&lt;br /&gt;
  keys w&lt;br /&gt;
  &lt;br /&gt;
  Compute ColorS = 0 //resets the color satuation for each sampling&lt;br /&gt;
  Delay 4500 // Delay to manage the str/perc timer on mining, adjust as needed&lt;br /&gt;
  &lt;br /&gt;
END&lt;br /&gt;
&lt;br /&gt;
Procedure CALCSATCOLOR // This procedure calculates the saturation of the crystal&lt;br /&gt;
  Compute Minval = 0&lt;br /&gt;
  Compute Maxval = 255&lt;br /&gt;
  IF {RGBRed} &amp;gt; {RGBGreen}&lt;br /&gt;
    Compute Minval = {RGBGreen}&lt;br /&gt;
    Compute Maxval = {RGBRed}&lt;br /&gt;
  Else&lt;br /&gt;
    Compute Maxval = {RGBGreen}&lt;br /&gt;
    Compute Minval = {RGBRed}&lt;br /&gt;
  END&lt;br /&gt;
  IF {RGBBlue} &amp;lt; $Minval&lt;br /&gt;
    Compute Minval = {RGBBlue}&lt;br /&gt;
  ELSE&lt;br /&gt;
    IF {RGBBlue} &amp;gt; $Maxval&lt;br /&gt;
      Compute Maxval = {RGBBlue}&lt;br /&gt;
    END&lt;br /&gt;
  END&lt;br /&gt;
  Compute Tmpval = $Maxval - $Minval&lt;br /&gt;
  if $tmpval &amp;lt;&amp;gt; 0 or $maxval &amp;lt;&amp;gt; 0&lt;br /&gt;
    Compute Tmpval = $Tmpval / $Maxval&lt;br /&gt;
  end&lt;br /&gt;
  &lt;br /&gt;
  Compute ColorN = $Tmpval * $CONSTVAL&lt;br /&gt;
END&lt;br /&gt;
&lt;br /&gt;
Procedure OreExtractionstore&lt;br /&gt;
  ListCount OEOffset, $OElistcnt&lt;br /&gt;
  IF $OElistcnt = 0&lt;br /&gt;
    Listadd OEOffset, $Mousecnt&lt;br /&gt;
  ELSE&lt;br /&gt;
    IF $OElistcnt = 1&lt;br /&gt;
      Listadd OEOffset, OEOffset[1]&lt;br /&gt;
    END&lt;br /&gt;
    IF $OElistcnt = 2&lt;br /&gt;
      Listadd OEOffset, OEOffset[2]&lt;br /&gt;
      Compute OEOffset[2] = OEOffset[1]&lt;br /&gt;
    END&lt;br /&gt;
    IF $OElistcnt = 3&lt;br /&gt;
      Listadd OEOffset, OEOffset[3]&lt;br /&gt;
      Compute OEOffset[3] = OEOffset[2]&lt;br /&gt;
      Compute OEOffset[2] = OEOffset[1]&lt;br /&gt;
    END&lt;br /&gt;
    IF $OElistcnt = 4&lt;br /&gt;
      Listadd OEOffset, OEOffset[4]&lt;br /&gt;
      Compute OEOffset[4] = OEOffset[3]&lt;br /&gt;
      Compute OEOffset[3] = OEOffset[2]&lt;br /&gt;
      Compute OEOffset[2] = OEOffset[1]&lt;br /&gt;
    END&lt;br /&gt;
    IF $OElistcnt = 5&lt;br /&gt;
      Listadd OEOffset, OEOffset[5]&lt;br /&gt;
      Compute OEOffset[5] = OEOffset[4]&lt;br /&gt;
      Compute OEOffset[4] = OEOffset[3]&lt;br /&gt;
      Compute OEOffset[3] = OEOffset[2]&lt;br /&gt;
      Compute OEOffset[2] = OEOffset[1]&lt;br /&gt;
    END&lt;br /&gt;
    IF $OElistcnt = 6&lt;br /&gt;
      Listadd OEOffset, OEOffset[6]&lt;br /&gt;
      Compute OEOffset[6] = OEOffset[5]&lt;br /&gt;
      Compute OEOffset[5] = OEOffset[4]&lt;br /&gt;
      Compute OEOffset[4] = OEOffset[3]&lt;br /&gt;
      Compute OEOffset[3] = OEOffset[2]&lt;br /&gt;
      Compute OEOffset[2] = OEOffset[1]&lt;br /&gt;
    END&lt;br /&gt;
    IF $OElistcnt = 7&lt;br /&gt;
      Compute OEOffset[7] = OEOffset[6]&lt;br /&gt;
      Compute OEOffset[6] = OEOffset[5]&lt;br /&gt;
      Compute OEOffset[5] = OEOffset[4]&lt;br /&gt;
      Compute OEOffset[4] = OEOffset[3]&lt;br /&gt;
      Compute OEOffset[3] = OEOffset[2]&lt;br /&gt;
      Compute OEOffset[2] = OEOffset[1]&lt;br /&gt;
    END&lt;br /&gt;
    &lt;br /&gt;
    Compute OEOffset[1] = $Mousecnt&lt;br /&gt;
  END&lt;br /&gt;
  &lt;br /&gt;
END&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kibble</name></author>
	</entry>
</feed>