<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://www.atitd.org/wiki/t7w/index.php?action=history&amp;feed=atom&amp;title=User%3AObol%2Fcut_stone_mac</id>
	<title>User:Obol/cut stone mac - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://www.atitd.org/wiki/t7w/index.php?action=history&amp;feed=atom&amp;title=User%3AObol%2Fcut_stone_mac"/>
	<link rel="alternate" type="text/html" href="http://www.atitd.org/wiki/t7w/index.php?title=User:Obol/cut_stone_mac&amp;action=history"/>
	<updated>2026-07-05T15:02:21Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.2</generator>
	<entry>
		<id>http://www.atitd.org/wiki/t7w/index.php?title=User:Obol/cut_stone_mac&amp;diff=25681&amp;oldid=prev</id>
		<title>Obol: Created page with &quot;&lt;pre&gt; -- Open windows with window_opener.lua -- Arrange them with winder_arranger.lua in rock saw mode -- Run this -- Profit!  dofile(&quot;screen_reader_common.inc&quot;); dofile(&quot;ui_util...&quot;</title>
		<link rel="alternate" type="text/html" href="http://www.atitd.org/wiki/t7w/index.php?title=User:Obol/cut_stone_mac&amp;diff=25681&amp;oldid=prev"/>
		<updated>2015-10-23T22:15:05Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;lt;pre&amp;gt; -- Open windows with window_opener.lua -- Arrange them with winder_arranger.lua in rock saw mode -- Run this -- Profit!  dofile(&amp;quot;screen_reader_common.inc&amp;quot;); dofile(&amp;quot;ui_util...&amp;quot;&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;
-- Open windows with window_opener.lua&lt;br /&gt;
-- Arrange them with winder_arranger.lua in rock saw mode&lt;br /&gt;
-- Run this&lt;br /&gt;
-- Profit!&lt;br /&gt;
&lt;br /&gt;
dofile(&amp;quot;screen_reader_common.inc&amp;quot;);&lt;br /&gt;
dofile(&amp;quot;ui_utils.inc&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
--local expected_windows = 40; -- Just to double check you don't have any extra windows open that it'll try to click on&lt;br /&gt;
&lt;br /&gt;
expected_windows = promptNumber(&amp;quot;How many Rock Saws?&amp;quot;, 1);&lt;br /&gt;
take_locs = 0;&lt;br /&gt;
&lt;br /&gt;
local per_click_delay = 0;&lt;br /&gt;
&lt;br /&gt;
function setWaitSpot(x0, y0)&lt;br /&gt;
	setWaitSpot_x = x0;&lt;br /&gt;
	setWaitSpot_y = y0;&lt;br /&gt;
	setWaitSpot_px = srReadPixel(x0, y0);&lt;br /&gt;
	&lt;br /&gt;
	srSetMousePos(setWaitSpot_x, setWaitSpot_y);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function waitForChange()&lt;br /&gt;
	local c=0;&lt;br /&gt;
	while srReadPixel(setWaitSpot_x, setWaitSpot_y) == setWaitSpot_px do&lt;br /&gt;
		lsSleep(1);&lt;br /&gt;
		c = c+1;&lt;br /&gt;
		if (lsShiftHeld() and lsControlHeld()) then&lt;br /&gt;
			error 'broke out of loop from Shift+Ctrl';&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	-- lsPrintln('Waited ' .. c .. 'ms for pixel to change.');&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function clickAll(image_name, up)&lt;br /&gt;
	-- Find buttons and click them!&lt;br /&gt;
	srReadScreen();&lt;br /&gt;
	xyWindowSize = srGetWindowSize();&lt;br /&gt;
	local buttons = findAllImages(image_name);&lt;br /&gt;
	&lt;br /&gt;
	if #buttons == 0 then&lt;br /&gt;
		error 'Could not find any \'Rock Saw\' windows.'&lt;br /&gt;
		--statusScreen(&amp;quot;Could not find specified buttons...&amp;quot;);&lt;br /&gt;
		--lsSleep(1500);&lt;br /&gt;
	else&lt;br /&gt;
		statusScreen(&amp;quot;Clicking &amp;quot; .. #buttons .. &amp;quot;button(s)...&amp;quot;);&lt;br /&gt;
		if up then&lt;br /&gt;
			for i=#buttons, 1, -1  do&lt;br /&gt;
				srClickMouseNoMove(buttons[i][0]+5, buttons[i][1]+3);&lt;br /&gt;
				lsSleep(per_click_delay);&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			for i=1, #buttons  do&lt;br /&gt;
				srClickMouseNoMove(buttons[i][0]+5, buttons[i][1]+3);&lt;br /&gt;
				lsSleep(per_click_delay);&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		statusScreen(&amp;quot;Done clicking (&amp;quot; .. #buttons .. &amp;quot; clicks).&amp;quot;);&lt;br /&gt;
		lsSleep(100);&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function refocus()&lt;br /&gt;
	statusScreen(&amp;quot;Refocusing...&amp;quot;);&lt;br /&gt;
	for i=2, #window_locs do&lt;br /&gt;
		setWaitSpot(window_locs[i][0], window_locs[i][1]);&lt;br /&gt;
		srClickMouseNoMove(window_locs[i][0] + 321, window_locs[i][1] + 74);&lt;br /&gt;
		waitForChange();&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function doit()&lt;br /&gt;
	askForWindow(&amp;quot;Open, pin, and arrange rock saws with window_opener/window_arranger first.&amp;quot;);&lt;br /&gt;
	srReadScreen();	&lt;br /&gt;
	while true do&lt;br /&gt;
		window_locs = findAllImages(&amp;quot;This.png&amp;quot;);&lt;br /&gt;
		if not (#window_locs == expected_windows) then&lt;br /&gt;
			error (&amp;quot;Did not find expected number of windows (found &amp;quot; .. #window_locs .. &amp;quot; expected &amp;quot; .. expected_windows .. &amp;quot;)&amp;quot;);&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		-- refresh windows&lt;br /&gt;
		--lsPrintln('Found ' .. #window_locs .. ' saws.');&lt;br /&gt;
		clickAll(&amp;quot;This.png&amp;quot;, 1);&lt;br /&gt;
		lsSleep(200);&lt;br /&gt;
		&lt;br /&gt;
		-- take everything&lt;br /&gt;
		window_locs = findAllImages(&amp;quot;Take.png&amp;quot;);&lt;br /&gt;
		--lsPrintln('Found ' .. #window_locs .. ' Takes.');&lt;br /&gt;
		if not (#window_locs == 0) then&lt;br /&gt;
			clickAll(&amp;quot;Take.png&amp;quot;, 1);&lt;br /&gt;
			lsSleep(200);&lt;br /&gt;
			&lt;br /&gt;
			clickAll(&amp;quot;Everything.png&amp;quot;, 1);&lt;br /&gt;
			lsSleep(200);&lt;br /&gt;
		end&lt;br /&gt;
		--refocus();&lt;br /&gt;
		&lt;br /&gt;
		clickAll(&amp;quot;MakeACutStone.png&amp;quot;, 1);&lt;br /&gt;
		lsSleep(200);&lt;br /&gt;
		&lt;br /&gt;
		--refocus();&lt;br /&gt;
		&lt;br /&gt;
		sleepWithStatus(245*1000, &amp;quot;Waiting for stones to finish&amp;quot;);&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Obol</name></author>
	</entry>
</feed>