SRL Archive - Outdated / Broken

ClayAutoSoftener by Tarajunky - CAST


tarajunky

2008-01-21 03:34:43

[EDIT]Updated to 1.5. Now works with the latest version of SRL. Also added a little randomness to the pump clicking. Hopefully it will reduce detectability.[/EDIT]

Best current progress report belongs to hayhay89. Congrats!
http://www.srl-forums.com/forum/showpost.php?p=396941&postcount=67

**************************************************
* Clay Auto Softener 1.5 by Tarajunky
* Worked for 11 Hours, 11 Minutes and 4 Seconds
* Banked 592 times
* Banked 8218 Soft Clay
**************************************************


After the latest updates by Jagex with the 3,000 gp trade limits, being able to make money quickly and easily on your mains by autoing has become more difficult. Here I present CAST, one way to continue using members of your autoing army to your advantage.

It's based on the fact that buckets cost 2 gp each, buckets filled with water cost 6 gp each, clay costs about 90 gp each, and soft clay costs about 170-180 gp each. All of these items can be bought in bulk through the Grand Exchange, and buckets can also be purchased for 2gp each 28 at a time in the Falador general store, so it's not hard to bank a significant number of them yourself in a short period of time.

Of all those item values only the water filled buckets are disproportionately low, and are never available through the exchange. By filling buckets on one of your army accounts, then trading them via an even-value trade with your main, you essentially donate 90 gp worth of value per full bucket traded.

This script will allow your bot and your main to work in tandem, or individually to produce either soft clay or water filled buckets. For every hour autoed on your main using 'wet' mode, you can expect to make about 100k gp profit.

Filling buckets and softening clay DO NOT trigger randoms. So as long as you auto less than 15 minutes per login, you will never get any randoms at all.

If you like this script, please leave feedback, progress reports, and be sure to fill out your SRLID and password to participate in the SRL stats program.

Good luck and enjoy!

P.S. If you want to try a bucket buying script, I have also attached one that Oliver1205 put together. Credits go to him, roastarmys, and naumanakhlaq.

Old Edits: Updated to 1.4. Fixed the bug where it lags then and tries to use clays on each other. Made bank clicking more reliable. Fixed a delay that would happen from time to time when trying to soften clay. Added a little randomness to the number loads/time per login.

Updated to 1.3. Fixed 'both' mode to work correctly. Fixed the 'Close enough' error. Fixed a stray clicking problem. Changed stat reporting to occur upon logout instead of during banking.

Updated to 1.2. Fixed a bug in the SRL Stats reporting and added some failsafes to the banking procedures.

Daniel

2008-01-21 03:44:29

w00t, first post :p

But really, what is the main point in this? Just softening clay for the g.e?

EDIT: Can you please check out my PowerMiner and give me suggestions?

tarajunky

2008-01-21 03:47:46

Well, soft clay can be used for Construction, or Crafting, or making Tele-tabs, so you could use it for a lot of different things, especially if you don't want to pay 180 each for it on the exchange. But it's a pretty good way to make money if you're not interested in any of that.

Daniel

2008-01-21 03:52:58

From: tarajunky
Well, soft clay can be used for Construction, or Crafting, or making Tele-tabs, so you could use it for a lot of different things, especially if you don't want to pay 180 each for it on the exchange. But it's a pretty good way to make money if you're not interested in any of that.


Well, since i am not a member and my crafting level is 43, i get low experience from making stuff out of clay. So what would be one use i could do with this in F2P?

Please check out my PowerMiner and give me feedback? (Link is in the second post in this thread).

Rikje

2008-01-21 03:56:32

You have forgot the capitalize the T (in the topic name). :p

The idee of the script is nice. ill give it a try in the future.
(the script itself looks awesome).

tarajunky

2008-01-21 04:07:30

From: rikjess
You have forgot the capitalize the T (in the topic name). :p

The idee of the script is nice. ill give it a try in the future.
(the script itself looks awesome).


The T is for Tarajunky, lol.

Santa_Clause

2008-01-21 04:31:35

Nice!! Now I know how to make money…hooray!! Too bad members finishes soon. Expect a tiny report soon.

By the way IP…stop thread hijacking.

Negaal

2008-01-21 04:41:19

From: IP-Drowner

But really, what is the main point in this? Just softening clay for the g.e?


Well it's way autoing big amount of money to your main…as Tarajunky said - 100 - 200k per hour…Too bad I'm not autoing much anymore

Anyways, code is nice, nicely done:)

Daniel

2008-01-21 05:16:06

From: Santa_Clause
Nice!! Now I know how to make money…hooray!! Too bad members finishes soon. Expect a tiny report soon.

By the way IP…stop thread hijacking.

What is thread hijacking?
From: Negaal
Well it's way autoing big amount of money to your main…as Tarajunky said - 100 - 200k per hour…Too bad I'm not autoing much anymore

Anyways, code is nice, nicely done:)

Yeah, i don't understand how you can earn more money from your main and that is a way of transferring items. To me that would be losing items.

I read the post and that is why i had posted that because i thought what was the actual point? Wouldn't your autoed account get the profit?

Santa_Clause

2008-01-21 05:55:56

Didn't find buckets in bank. I'm guessing that's because you didn't account for the numbers in the top left corner of items that are stacked in bank.

Daniel

2008-01-21 06:10:33

From: Santa_Clause
Didn't find buckets in bank. I'm guessing that's because you didn't account for the numbers in the top left corner of items that are stacked in bank.

What are you talking about? That, my friend, has nothing to do with the thead. Looks like you're posting spam :p

If you don't believe me, here is a picture of what the screen looks like when i go to Runescape:

Santa_Clause

2008-01-21 06:17:25

I was commenting on the script ;) And I believe you.

Daniel

2008-01-21 06:18:39

From: Santa_Clause
I was commenting on the script ;) And I believe you.

What does buckets have to do with this script?

Santa_Clause

2008-01-21 06:30:18

Did you read the introduction by Tara? It fills buckets with water and then softens the clay.

Naum

2008-01-21 08:01:47

nice

Sp0rky

2008-01-21 08:14:15

Looks like my army has a new use.

Thank you very much for this Tara, will definitely give it a spin and post the results.

n3ss3s

2008-01-21 08:39:11

My reaction can be described by the face of an about 30 year old man gettings kicked to bawlz xD

Filling buckets and softening clay DO NOT trigger randoms. So as long as you auto less than 15 minutes per login, you will never get any randoms at all.


Nice :)


After I get a few more combat lvls and mining lvls to my army, using this would be very SMART ;)

tarajunky

2008-01-21 12:07:06

From: Santa_Clause
Didn't find buckets in bank. I'm guessing that's because you didn't account for the numbers in the top left corner of items that are stacked in bank.


The DTMs only use points that are well below where the numbers would be, so that shouldn't be the problem.

It could be due to detecting the BankScreen before all the items in the bank fully loaded. It might look before the bucket picture refreshed. Try running it again after loading the bank once. I may need to add an extra wait in there.

tarajunky

2008-01-21 13:12:43

Bump for the update. Fixed a bug in the SRL stats reporting and added failsafes to the banking.

Sir R. M8gic1an

2008-01-21 14:21:23

looks like i'll be autoing a whole army again :) and then use this to transfer the cash :)

tarajunky

2008-01-21 14:45:41

From: Rasta Magician
looks like i'll be autoing a whole army again :) and then use this to transfer the cash :)


If you fill buckets with your whole army, you just have to make more trades between characters to get them all transferred over to your main. Filling buckets with one player is probably better, since then you can trade them all at once. You can always have one player both fill buckets and soften the clay, but it's less efficient than just wetting the clay would be.

The most efficient way is probably use one character to go buy 10k, 50k, 100k or whatever number of clay you want to wet in the grand exchange. Then have the other character go buy 1k, 5k, 10k or whatever number of buckets in the grand exchange. You can always trade the empty buckets back and re-use them, so you don't need 1 bucket for every clay. It will take a while to fill the bucket order, since the Grand Exchange will only sell you 100 buckets at a time.

If you think you might want to try this, I suggest you go put in a large order for buckets on the GE as soon as possible, so they can accumulate. Then when you're actually ready to try it, you can go buy some clay there on your other character.

The Claw

2008-01-21 19:51:33

Hmm, I think I get it. So we buy heaps of empty buckets on 1 account, and heaps of dry clay on another. And we autofill the buckets and trade to the account with the clay? Then make the clay soft and sell it for a big profit?

tarajunky

2008-01-21 20:30:47

Yep, that's the general idea. If you can somehow figure out a way to auto on both accounts at the same time, it speeds it up nicely. ;)

Here's some current calculations based on wetting only.

Clay: 97 gp
Soft Clay 173 gp
Softening Rate: 1300 per hour.

Profit = (173-97)*1300 = ~100k per hour.

Timer

2008-01-21 20:39:59

ok let get this strait… |(only first time) Buy buckets on your autoer…| run 'fill' then trade them for the amout u have too(since 3k) then on your main, buy clay, and use the 'wet' mode?

sell the soft clay, sell buckets back to autoer? repeat?

EDIT: aww why do threads die whenever i post.. =[?

tarajunky

2008-01-21 21:20:19

Yep, that's how it's done. Wetter makes 100k per hour, filler makes about 4-6k, lol.

cause

2008-01-21 22:24:37

This is really a great idea, impressed. Does this raise your crafting, I need my army to get into the crafting guild ;). (Love Gold)

tarajunky

2008-01-21 22:28:05

Nope, no crafting experience, unfortunately.

If you want to use the soft clay to raise crafting you can always do that, but I've never tried so I don't know how effective it would be.

Daniel

2008-01-22 03:26:07

From: Santa_Clause
Did you read the introduction by Tara? It fills buckets with water and then softens the clay.
Oh, i haven't used clay in Runescape for ages. I forgot that you had to fill buckets with water to make soft clay. Such an idiot…

Using script with S.M.A.R.T right now. Seems to work ok, but sometimes it doesn't detect the buckets and click on the clay instead and i have to block the script then do it myself.

Santa_Clause

2008-01-22 06:46:58

It still doesn't work for me…and I'm sure it detects the bank. I filled my inventory with buckets. When I ran the script, it opened the bank, deposited the buckets…then said it couldn't find any buckets in the bank.

Timer

2008-01-22 07:02:30

tara - just a way if you could get both players to run at same time…
SMART? have you never heard of it?:rolleyes: :p ;)

Santa_Clause

2008-01-22 07:23:29

Just tried the script on filling mode…works fine. Both still doesn't work for me.

/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
| SRL 4 Randoms Report |
| www.srl-forums.com |
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| SRL Logs : 1 |
\~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/
***************************************************
* Falador Clay Softener 1.2 by Tarajunky
* Worked for 24 Minutes and 19 Seconds
* Banked 20 times
* Banked 576 Full Buckets
***************************************************
* # A Nick - Softs - Fulls - Time - Loc
* 0 T lory - 0 - 576 - 13 - Bank
***************************************************


/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
| SRL 4 Randoms Report |
| www.srl-forums.com |
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| SRL Logs : 3 |
\~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/
***************************************************
* Falador Clay Softener 1.2 by Tarajunky
* Worked for 33 Minutes and 32 Seconds
* Banked 40 times
* Banked 517 Soft Clay
***************************************************
* # A Nick - Softs - Fulls - Time - Loc
* 0 T lory - 517 - 0 - 33 - Bank
***************************************************


/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
| SRL 4 Randoms Report |
| www.srl-forums.com |
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| SRL Logs : 1 |
\~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/
***************************************************
* Falador Clay Softener 1.2 by Tarajunky
* Worked for 19 Minutes and 38 Seconds
* Banked 16 times
* Banked 448 Full Buckets
***************************************************
* # A Nick - Softs - Fulls - Time - Loc
* 0 T lory - 0 - 448 - 19 - Bank
***************************************************


For that last report, SCAR status was 'Close Enough' and it just kept right clicking in front of my character…but I wasn't close enough to the bank for it to be clicking on the bankscreen.

tarajunky

2008-01-22 11:11:21

Hmm, I'll have to check the 'both' setting again.

Until then I guess if people only want to use one character they can put their player into the array twice, once on 'wet' and once on 'fill', lol.

Rencuz

2008-01-22 11:40:57

Ya 'both' dont work me either

Santa_Clause

2008-01-22 14:32:15

***************************************************
* Falador Clay Softener 1.2 by Tarajunky
* Worked for 16 Minutes and 9 Seconds
* Banked 13 times
* Banked 364 Full Buckets
***************************************************
* # A Nick - Softs - Fulls - Time - Loc
* 0 T lory - 0 - 364 - 16 - Bank
***************************************************


It was standing right next to the pump, which I think it's not supposed to do. Logged out because couldn't find pump after 5 tries.

***************************************************
* Falador Clay Softener 1.2 by Tarajunky
* Worked for 20 Minutes and 46 Seconds
* Banked 18 times
* Banked 510 Full Buckets
***************************************************
* # A Nick - Softs - Fulls - Time - Loc
* 0 T lory - 0 - 510 - 0 - Bank
***************************************************


Stopped because of the prison pete random, which I'm not supposed to get :p

/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
| SRL 4 Randoms Report |
| www.srl-forums.com |
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
\~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/
***************************************************
* Falador Clay Softener 1.2 by Tarajunky
* Worked for 20 Minutes and 30 Seconds
* Banked 25 times
* Banked 364 Soft Clay
***************************************************
* # A Nick - Softs - Fulls - Time - Loc
* 0 T lory - 364 - 0 - 0 - Bank
***************************************************


Molly random.

tarajunky

2008-01-23 12:36:05

Bump for the update. Fixed 'Close enough' error. Fixed stray clicking problem. Fixed 'both' mode to work correctly. Changed SRL random reporting to occur upon logout.

Santa_Clause

2008-01-23 13:11:15

Oo yay, you fixed stray clicking. One more bug:

Sometimes when using wet mode and I lag a little, it clicks on a bucket then on the clay, but it doesn't start wetting clay straight away. For some reason, it gets into a loop where it uses clay with other clay, which gives me 'Nothing Interesting Happens' in the chatbox. I had an odd 30 or so today…quite detectable.

tarajunky

2008-01-23 14:32:20

You're right, I remember that now too. I know how to fix it easily, so I'll do that in the next day or two. Thanks for all the good feedback.

Santa_Clause

2008-01-23 17:29:58

No problem. Found another one. Sometimes when it tries walking into the bank, it clicks right to the left of the furthest left banker…which means it ends up outside the bank but it can see the bankers, so it doesn't really affect the script but it looks a bit detectable.

***************************************************
* Clay Auto Softener 1.3 by Tarajunky
* Worked for 28 Minutes and 40 Seconds
* Banked 27 times
* Banked 756 Full Buckets
***************************************************
* # A Nick - Softs - Fulls - Time - Loc
* 0 T lory - 0 - 756 - 21 - Bank
***************************************************

oliver1205

2008-01-23 20:16:16

i tried "fill" it clicks out of the bank to the right, clicks a bucket and looks for a pump when its not even close to it??

tarajunky

2008-01-23 20:44:07

As long as the pump is on screen it should find it okay.

It's hard to walk right next to the pump every time because the minimap rotates, plus there are NPCs walking all around over there, plus there are symbols that move around and can cover up different areas.

oliver1205

2008-01-23 20:55:33

i start it in the bank. it clicks north, clicks a bucket and then looks for the pump when its no where in sight. watch you try ill pm you my user name/pass if u want..

tarajunky

2008-01-23 21:30:11

How about if you just PM me a screenshot of where your guy ends up?

Santa_Clause

2008-01-24 07:14:54

***************************************************
* Clay Auto Softener 1.3 by Tarajunky
* Worked for 1 Hours, 14 Minutes and 11 Seconds
* Banked 64 times
* Banked 2251 Full Buckets
***************************************************
* # A Nick - Softs - Fulls - Time - Loc
* 0 F lory - 0 - 2251 - 49 - Bank
***************************************************


Stopped because I was out of buckets.

oliver1205

2008-01-24 20:47:22

it withdraws buckets and clicks out of the bank here. then clicks on a bucket and starts looking for a fountain

tarajunky

2008-01-24 21:13:05

Falador WEST bank. You're on the wrong side of the city, lol.

<— Go that way.

oliver1205

2008-01-24 21:34:53

o nooo. man do i feel stupid :duh:

lol sry bout that bro

tarajunky

2008-01-27 00:25:54

Updated to 1.4. Fixed the bug where it lags then and tries to use clays on each other. Made bank clicking more reliable. Fixed a delay that would happen from time to time when trying to soften clay. Added a little randomness to the number loads/time per login.

Santa_Clause

2008-01-27 12:29:29

Sweet update! Sorry, wasn't home for a few days. Time to test this out.

oliver1205

2008-02-21 20:35:03

updated script. great script btw. i bought 7k hard clay and have made about 400k so far. atm im flagged so i wont be using this for a week, but thanks.


program ClayAutoSoftenerbyTarajunky;

{ oooooooo8 o oooooooo8 ooooooooooo
o888 88 888 888 88 888 88
888 8 88 888oooooo 888
888o oo 8oooo88 888 888
888oooo88 o88o o888o o88oooo888 o888o

/******************************************************************************\
| GOOD THINGS TO KNOW |
| 1. This script will soften clay at the water pump and bank at Fally West |
| 2. You can start your players anywhere near the pump or the bank, but |
| the best place to start the script is probably the West Bank. |
| 3. Watch it soften the first load just in case. |
| 4. You WILL NOT get randoms if you keep MaxTime and LoadsToDo at low values. |
| 4. Make sure the clay you wish to soften is visible on your bank screen. | | |
| 5. There are 3 modes you can use. |
| 'fill': Withdraws empty buckets, fills them and banks them at Fally West. |
| 'wet' : Withdraws full buckets and clay, softens them, then banks them. |
| 'both': Withdraw empty buckets and clay, fills at pump, softens, and banks.|
| ***You must have at least 14 buckets in the bank to use 'both' mode*** |
| 7. The best way to use this script is to buy tons of clay on your main, |
| buy tons of empty buckets on your army, let your army fill the buckets, |
| then trade to your main and let it wet the clay. You can make about |
| 200k per hour on your main while the army does most of the grunt work. |
| 8. It's completely AutoColor. Simply setup your SRLID and player |
| information in lines 46+ and hit play! |
\******************************************************************************}

{.include SRL/SRL.scar}
var x, y, BankTellers, EmptyBucket, FullBucket, Responded, ClayDTM, SoftClay,
Nudges, SoftCount, FullCount, PumpDTM1, PumpDTM2, PlayerTime, Tries,
Loads, WallColor,PumpText,ESelected,FSelected,Randomizer:integer;
PumpColors: array of integer;

const
StartPlayer = 0; // Player you wish to start with
LoadsToDo = 143; // Loads before changing players, script will randomize a little bit
SetMouseSpeed = 24; // Higher = faster
Version = '1.4';
MaxTimePerPlayer = 120; // Max time before changing players, script will randomize a little bit
PumpColor = 1777698; // Tol 10

procedure DeclarePlayers;
begin
SRLID:='';
SRLPassword:='';
HowManyPlayers:=2;
NumberOfPlayers( HowManyPlayers );
CurrentPlayer:=StartPlayer;

Players[0].Name:=''; //Character name
Players[0].Pass:=''; //Character password
Players[0].Strings[0]:='both'; // Action to perform. 'wet', 'fill', or 'both'
Players[0].Strings[1]:=''; // Bank PIN
Players[0].Nick:=''; //3-4 non-capital letters from character name
Players[0].Active:=True; //Use this character?

Players[1].Name:=''; //Character name
Players[1].Pass:=''; //Character password
Players[1].Strings[0]:='fill'; // Action to perform. 'wet', 'fill', or 'both'
Players[1].Strings[1]:=''; // Bank PIN
Players[1].Nick:=''; //3-4 non-capital letters from character name
Players[1].Active:=False; //Use this character?

end;

{==========================================================|
|+++++++++ SCRIPT SETUP AND GENERIC FUNCTIONS +++++++++++|
|==========================================================}

procedure FindThoseRandoms;
begin
Status('Finding Randoms');
if not(LoggedIn) then exit;
// CloseWindow;
FindTalk;
FindLamp('mining');
if NoGameTab then
begin
repeat
Wait(1000);
if not(NoGameTab) then break;
until not(LoggedIn);
end;
if InBlack then
begin
repeat
Wait(1000);
if not(InBlack) then break;
until not(LoggedIn);
end;
if Respond then Responded:=Responded+1;
if random(100) mod 4 = 0 then FindNormalRandoms;
end;

procedure LogMeOut;
begin
Writeln('Logging Out');
repeat
Wait(1000);
FindThoseRandoms;
until not(LoggedIn);
end;

procedure DeclareBitMaps;
begin
BankTellers:=DTMFromString('78DA63EC606260886640016FDF32308800694' +
'620FE0F048CAD08354C58D48000632376357790D5F46057C30055' +
'031203002EF31007');
EmptyBucket:=DTMFromString('78DA6394626460E000622490EC23C12002A44' +
'1A2FF81805105C8E2445503918591405A19C8E225A04609C81225' +
'A04616C89224A0468C083542409608116AF808A81124EC7700BB7' +
'1067F');
FullBucket:=DTMFromString('78DA635CCEC8C0F0880105D4D4CE611001D24' +
'01986FF40C0B811C87AC2800618914820BD01C87A4540CD7A20EB' +
'1D01356B80AC4F04D42C22420DC85F9F09A8990F64BD21A0661E9' +
'0F50CBF1A00676313F9');
SoftClay:=DTMFromString('78DA637464626078CA80027283F8184480342' +
'310FF0702C600A09A470C6880118904D23E40352F08A8F104AA79' +
'4B408D3350CD7B026AEC8850634D841A33A09A5704D49812E12F4' +
'BA09A07F8D500004F7610B0');
ClayDTM:=DTMFromString('78DA63CC61626008606440058C482490CE06A' +
'AF126A0A61CA8C69F801A905D1104D42403D5041150530454138C' +
'5F0D003478049B');
PumpDTM1:=DTMFromString('78DA63EC62626010674001ED75B90C5F18191' +
'88088E13F1030F600D5A8A2AA790FC45C0C103520C0B80AA8469D' +
'809A26A01A4954355FDEBD67B04156530754234040CD44A01A290' +
'89B09C9CD30352C400C007A591433');
PumpDTM2:=DTMFromString('78DA63EC636260906640016DD5D90C3A8C0C0' +
'C40C4F01F08185B806A6450D57C78F382C18801A20604181B816A' +
'C408A86906AA5187B2A162F1FAEC0C1AC86A9A806A7409A82900A' +
'AD1206017488D247E3500D3F41760');
PumpText:=DTMFromString('78DA63CC666060E0644001522F5F33A400694' +
'620FE0F048C39986AA49F3F81AB0101C65C202184AA86F9D24554' +
'3505986A582E5F42559307247851D5883CBC87AA269F083585986' +
'E1679781F554D11A61AF1A70F51D55460DA25F1EC11AA9A4A4C7F' +
'61A8A94798C388CBEF7540820BC266828A893D7988698E100173D' +
'A808400AA3918FE6A43B807A646FA0A9A39ED08BB7099030020B5' +
'2F96');
ESelected:= DTMFromString('78DA63CC666260506764400629BE920C5C401' +
'A24FA1F08184B806A5450D540646124902EC55403D48AAA261FA8' +
'C692803920355604CC01B9598E8039594035B2F8CD010099DB121' +
'2');
FSelected:= DTMFromString('78DA637466626078C08002AA6B66337001694' +
'620FE0F048C3E4035F718D000231209A47D31D500B5A2AA7105AA' +
'F948C01C909A4F04CCB124C23D1684DD03006A5116C1');
end;

function CountItemDTM(DTM: Integer): Integer;
var i:integer;
var c:TPoint;
begin
Status('Counting Items');
if not(LoggedIn) then exit;
GameTab(4);
for i := 1 to 28 do
begin
c:=ItemCoords(i);
if FindColor(x,y,65536,c.x-25,c.y-25,c.x+25,c.y+25) then
begin
if FindDTM(DTM,x,y,c.x-25,c.y-25,c.x+25,c.y+25) then result:=result+1;
end;
end;
end;

procedure SetupScript;
var i:integer;
begin
Status('Setting up script');
SetupSRL;
ScriptID := '588';
DeclareBitmaps;
MouseSpeed := SetMouseSpeed;
DeclarePlayers;
for i:= 0 to HowManyPlayers-1 do
begin
SetArrayLength(Players[i].Integers,3);
Players[i].Integers[0]:=0;
Players[i].Integers[1]:=0;
Players[i].Integers[2]:=0;
end;
WallColor:=0
SetArrayLength(PumpColors,0);
LoginPlayer;
Wait(3000+random(1000));
MarkTime(PlayerTime);
GetAllLevels;
SetAngle(True);
Randomizer:=random(4);
end;

{==========================================================|
|++++++++++++ AUTO-LOCATION AND WALKING +++++++++++++++++|
|==========================================================}

function FindPosition:string;
var x,y:integer;
begin
Status('Finding position');
FindNormalRandoms;
if not(LoggedIn) then exit;
if not(FindColor(x,y,RoadColor,MMX1,MMY1,MMX2,MMY2)) then RoadColor:=FindFallyRoadColor;
if RoadColor>0 then result:='Fally' else result:='Lost';
Status('Current Position = '+result);
end;

procedure WalkToBank;
var x,y:integer;
begin
FindPosition;
Status('Walking to bank');
if not(LoggedIn) then exit;
FindNormalRandoms;
if FindDTM(BankTellers,x,y,MMX1,MMCY,MMX2,MMY2) then
begin
if Distance(x,y,MMCX,MMCY)>20 then
begin
Status('To Bank via Tellers');
MFF(x, y, 1, 1)
end else Status('Close Enough');
FFlag(0);
Players[CurrentPlayer].Loc:='Bank';
exit;
end;
if FindSymbol(x,y,'bank') then
begin
Status('To Bank via Bank Symbol');
if FindColorSpiral(x,y,RoadColor,x,MMY1,x+1,y) then
begin
Mouse(x,y,5,5,true);
FFlag(10);
WalkToBank;
exit;
end;
end;
if FindSymbol(x,y,'quest') then
begin
Status('To Bank via Quest Symbol');
x:=MMX1+20;
y:=MMCY;
if FindColorSpiral(x,y,RoadColor,MMX1,MMY1,MMX2,MMY2) then
begin
Mouse(x,y,5,5,true);
FFlag(5);
WalkToBank;
exit;
end;
end;
if FindSymbol(x,y,'water source') then
begin
Status('To Bank via Water Symbol');
if FindColorSpiral(x,y,RoadColor,x-20,y+20,x-10,MMY2) then
begin
Mouse(x,y,3,3,true);
FTWait(2);
FFlag(5);
WalkToBank;
exit;
end;
end;
if FindSymbol(x,y,'hair dresser') then
begin
Status('To Bank via Hair Dresser Symbol');
if FindColorSpiral(x,y,RoadColor,x-10,y,x+10,MMY2) then
begin
Mouse(x,y,3,3,true);
FTWait(2);
FFlag(5);
WalkToBank;
exit;
end;
end;
end;

function FindWallColor:integer;
var MMPos,TC1,TC2,TC3,r,g,b:integer;
begin
Status('Scanning for WallColor');
Wait(1);
MMPos:=0;
repeat
if FindColorTolerance(x,y,15983848,MMX1,MMCY-MMPos,MMCX,MMCY-MMPos,60) then
TC1:=GetColor(x,y);
if FindColorTolerance(x,y,15983848,MMX1,MMCY-MMPos-10,MMCX,MMCY-MMPos-10,60) then
TC2:=GetColor(x,y);
if FindColorTolerance(x,y,15983848,MMX1,MMCY-MMPos+10,MMCX,MMCY-MMPos+10,60) then
TC3:=GetColor(x,y);
if TC1=TC2 then
begin
if TC2=TC3 then
begin
ColorToRGB(TC1,R,G,B);
if abs(r-g)<20 then
if abs(r-b)<20 then
if abs(g-b)<20 then
begin
Result:=TC1;
Writeln('Wall Color = '+IntToStr(TC1));
exit;
end;
end;
end;
Inc(MMPos);
until (MMPos>=MMCY-10);
Writeln('Could not find Wall Color!');
result:=-1;
end;

function FindWallAngle:integer;
var i,n,x1,y1,adj,opp,WallAngle:integer;
var TestAngle:extended;
begin
if WallColor=0 then WallColor:=FindWallColor;
if not(FindColor(x,y,WallColor,MMX1,MMY1,MMX2,MMY2)) then
begin
WallColor:=FindWallColor;
if FindColor(x,y,WallColor,MMX1,MMY1,MMX2,MMY2) then result:=FindWallAngle
else result:=-1;
exit;
end;
y:=MMCY;
n:=y;
repeat
Wait(1);
x:=MMX1;
if FindColorSpiral(x,y,WallColor,MMX1,y,MMCX,y) then
begin
x1:=x;
y1:=y;
for i:= 1 to 15 do
begin
if not(FindColor(x,y,WallColor,x-1,y-1,x+1,y-1)) then break;
end;
if y=y1-15 then
begin
adj:=x-x1;
if adj<0 then adj:=0-adj;
opp:=15;
TestAngle:=ArcTan(Adj/Opp);
if x<x1 then TestAngle:=6.283-TestAngle;
TestAngle:=TestAngle*(180/3.14);
WallAngle:=Round(TestAngle);
Writeln('Wall Angle = '+IntToStr(WallAngle));
result:=WallAngle;
exit;
end;
end;
n:=n+1;
y:=n;
until y>=MMY2;
Writeln('Wall Angle Error');
end;

procedure WalkToPump;
var x,y,x1,y1,Angle:integer;
begin
if (TimeFromMark(PlayerTime)>((MaxTimePerPlayer)*60*1000)) then
begin
Writeln('Player time exceeded');
exit;
end;
Angle:=FindWallAngle;
if (Angle<180) then
begin
if (Angle>5) then
begin
Writeln('Nudging screen left');
Nudges:=Nudges+1;
KeyDown(VK_Left);
Wait(50+random(20));
if (Angle>10) then Wait(30);
KeyUp(VK_Left);
end;
end else
begin
if (Angle<350) then
begin
Writeln('Nudging screen right');
Nudges:=Nudges+1;
KeyDown(VK_Right);
Wait(50+random(20));
if (Angle<340) then Wait(30);
KeyUp(VK_Right);
end;
end;
Writeln('Walking to pump');
if not(LoggedIn) then exit;
FindNormalRandoms;
if FindDTM(BankTellers,x1,y1,MMX1,MMCY,MMX2,MMY2) then
begin
Status('To Pump via Tellers');
if not(FindColor(x,y,RoadColor,MMX1,MMY1,MMX2,MMY2)) then RoadColor:=FindFallyRoadColor;
if RoadColor>0 then
begin
x:=x1+15+random(5);
y:=y1-60-random(5);
if FindColorSpiral(x,y,RoadColor,MMX1,MMY1,MMX2,MMY2) then
begin
Mouse(x,y,0,0,true);
Wait(3000);
FFlag(0);
exit;
end;
end else
begin
Players[CurrentPlayer].Loc:='No RoadColor';
exit;
end;
end else
begin
Writeln('No Tellers!');
if FindSymbol(x,y,'water source') then
begin
Status('To pump via Water Symbol');
Mouse(x,y,3,3,true);
FTWait(8);
FFlag(0);
end;
end;
end;

{==========================================================|
|+++++++++++++++++++++++ BANKING ++++++++++++++++++++++++|
|==========================================================}
procedure EnterPin;
begin
if Length(Players[CurrentPlayer].Strings[1])>0 then
begin
InPin(Players[CurrentPlayer].Strings[1]);
end else
begin
Writeln('Pin required, but not provided!');
LogMeOut;
Players[CurrentPlayer].Active:=false;
exit;
end;
end;

procedure OpenTheBank;
var x,y,tmpx,tmpy,i:integer;
begin
Status('Opening bank');
if not(LoggedIn) then exit;
if FlagPresent then
begin
FFlag(0);
FTWait(1);
end;
if FindDTM(BankTellers,x,y,MMX1,MMCY,MMX2,MMY2) then
begin
if y>MMCY then
begin
if Distance(x,y,MMCX,MMCY)>12 then
begin
Status('To Bank via Tellers');
MFF(x, y, 1, 1)
end else Status('Close Enough');
end else
begin
Status('To Bank via Tellers');
MFF(x, y, 1, 1)
end;
end else
begin
Writeln('Could not find Bank Tellers!');
exit;
end;
if FlagPresent then
begin
FFlag(0);
FTWait(1);
end;
MMouse(MSCX+random(6),MSCY+20+random(10),0,0);
Wait(50);
if IsUpTextMultiCustom(['pen','ank','oot']) then
begin
GetMousePos(x,y);
Mouse(x,y,0,0,false);
ChooseOption('quickly');
FTWait(1);
FFlag(0);
i:=0;
repeat
i:=i+1;
FTWait(1);
if i>8 then break;
if PinScreen then EnterPin;
if not(LoggedIn) then exit;
until BankScreen;
if BankScreen then
begin
FTWait(2+random(2));
exit;
end else
begin
OpenTheBank;
exit;
end;
end;
repeat
tmpx:=3+random(5);
tmpy:=8+random(5);
GetMousePos(x,y);
MMouse(x+tmpx,y+tmpy,0,0);
Wait(75);
if IsUpTextMultiCustom(['pen','ank','oot']) then
begin
GetMousePos(x,y);
Mouse(x,y,0,0,false);
ChooseOption('quickly');
FTWait(1);
FFlag(0);
i:=0;
repeat
i:=i+1;
FTWait(1);
if i>20 then break;
if PinScreen then EnterPin;
if not(LoggedIn) then exit;
until BankScreen;
if BankScreen then exit else
begin
OpenTheBank;
exit;
end;
end;
until y>=(MSY2-(MSCY div 2));
OpenBankQuiet('fwb');
i:=0;
repeat
FTWait(1);
i:=i+1;
if i>8 then break;
if PinScreen then EnterPin;
if not(LoggedIn) then exit;
until BankScreen;
if BankScreen then exit else
begin
OpenTheBank;
exit;
end;
end;

procedure ProgReport;
var i:integer;
var active:string;
begin
Status('Progress Report');
AddToReport('***************************************************');
AddToReport('* Clay Auto Softener '+Version+' by Tarajunky');
AddToReport('* Worked for '+TimeRunning);
AddToReport('* Banked '+IntToStr(Banks)+' times');
if SoftCount>0 then AddToReport('* Banked '+IntToStr(SoftCount)+
' Soft Clay');
if FullCount>0 then AddToReport('* Banked '+IntToStr(FullCount)+
' Full Buckets');
AddToReport('***************************************************');
for i:= 0 to HowManyPlayers-1 do
begin
if Players[i].Integers[0]>0 then
begin
AddToReport('* # A Nick - Softs - Fulls - Time - Loc');
for i:= 0 to HowManyPlayers-1 do
begin
if Players[i].Integers[0]>0 then
begin
if Players[i].Active then Active := 'T' else Active := 'F';
AddToReport('* '+IntToStr(i)+' '+Active+' '+Players[i].Nick+' - '+
IntToStr(Players[i].Integers[1])+' - '+ IntToStr(Players[i].Integers[2])+
' - '+IntToStr(Players[i].Worked)+' - '+Players[i].Loc);
end;
end;
AddToReport('***************************************************');
exit;
end;
end;
end;

procedure DepositSoftClay;
var i,j,n:integer;
var c:Tpoint;
begin
if not(BankScreen) then
begin
Writeln('Cannot deposit, bank screen not open');
exit;
end;
if FindDTM(SoftClay,x,y,MIX1,MIY1,MIX2,MIY2) then
begin
Status('Depositing Soft Clay');
i:=CountItemDTM(SoftClay);
SoftCount:=SoftCount+i;
ReportVars[1]:=ReportVars[1]+i;
Players[CurrentPlayer].Integers[1]:=Players[CurrentPlayer].Integers[1]+i;
Writeln('Depositing '+IntToStr(i)+' Soft Clay');
repeat
i:=random(28)+1;
n:=n+1;
c:=ItemCoords(i);
if FindDTM(SoftClay,x,y,c.x-25,c.y-25,c.x+25,c.y+25) then
begin
MMouse(x,y,2,2);
Wait(350+random(100));
GetMousePos(x,y);
Mouse(x,y,1,1,false);
ChooseOption('ll');
j:=0;
repeat
Wait(200);
j:=j+1;
if (j>50) then break;
until not(FindDTM(SoftClay,x,y,MIX1,MIY1,MIX2,MIY2));
Wait(50);
if FindDTM(SoftClay,x,y,MIX1,MIY1,MIX2,MIY2) then DepositSoftClay else break;
end;
until (n>100);
end;
end;

procedure DepositBuckets(BucketType:integer);
var i,j,n:integer;
var c:Tpoint;
begin
if FindDTM(BucketType,x,y,MIX1,MIY1,MIX2,MIY2) then
begin
if BucketType=FullBucket then
begin
i:=CountItemDTM(FullBucket);
FullCount:=FullCount+i;
Players[CurrentPlayer].Integers[2]:=Players[CurrentPlayer].Integers[2]+i;
ReportVars[2]:=ReportVars[2]+i;
end;
repeat
i:=random(28)+1;
n:=n+1;
c:=ItemCoords(i);
if FindDTM(BucketType,x,y,c.x-25,c.y-25,c.x+25,c.y+25) then
begin
MMouse(x,y,2,2);
Wait(350+random(100));
GetMousePos(x,y);
Mouse(x,y,1,1,false);
ChooseOption('ll');
j:=0;
repeat
Wait(200);
j:=j+1;
if (j>50) then break;
until not(FindDTM(BucketType,x,y,MIX1,MIY1,MIX2,MIY2));
Wait(50);
if FindDTM(BucketType,x,y,MIX1,MIY1,MIX2,MIY2) then DepositBuckets(BucketType) else break;
end;
until (n>100);
end else
begin
case BucketType of
EmptyBucket: Writeln('No empty buckets to deposit!');
FullBucket: Writeln('No full buckets to deposit!');
end;
end;
end;

function CountBuckets:integer;
var i,empty,full:integer;
var c:TPoint;
begin
for i := 1 to 28 do
begin
c:= ItemCoords(i);
if FindColor(x,y,65536,c.x-25,c.y-25,c.x+25,c.y+25) then
begin
if FindDTM(EmptyBucket,x,y,c.x-25,c.y-25,c.x+25,c.y+25) then Empty:=Empty+1 else
if FindDTM(FullBucket,x,y,c.x-25,c.y-25,c.x+25,c.y+25) then Full:=Full+1;
end;
end;
if full>0 then
begin
if empty>0 then
Writeln(IntToStr(empty)+' Empty + '+IntToStr(full)+' Full buckets') else
Writeln(IntToStr(full)+' Full buckets');
end else
if empty>0 then
Writeln(IntToStr(empty)+' Empty buckets') else
Writeln('No buckets!');
result:=empty+full;
end;

function CorrectInventory(ClayType,BucketType:integer):boolean;
begin
result:=true;
if ClayType=0 then
begin
if not(CountItemDTM(EmptyBucket)=28) then result:=false;
exit;
end;
if not(CountItemDTM(BucketType)=14) then
begin
result:=false;
exit;
end;
if not(CountItemDTM(ClayDTM)=14) then
begin
Writeln(IntToStr(CountItemDTM(ClayDTM))+' clays found');
result:=false;
exit;
end;
end;

procedure EmptyAndFillInventory(ClayType,BucketType:integer);
var i:integer;
begin
if not(LoggedIn) then exit;
Writeln('Resetting Inventory');
DepositAll;
if not(BankScreen) then exit;
Status('Withdrawing Buckets');
if FindDTM(BucketType,x,y,MSX1,MSY1,MSX2,MSY2) then
begin
MMouse(x,y,2,2);
Wait(250+random(20));
GetMousePos(x,y);
Mouse(x,y,1,1,false);
ChooseOption('Withdraw X');
Wait(500+random(1500));
case ClayType of
0 : Typesend('28');
ClayDTM : Typesend('14');
end;
Wait(1500+random(1500));
i:=0;
repeat
Wait(200);
i:=i+1;
if (i>50) then break;
until (FindDTM(BucketType,x,y,MIX1,MIY1,MIX2,MIY2));
if i>20 then
begin
EmptyAndFillInventory(ClayType,BucketType);
exit;
end;
end else
begin
case BucketType of
FullBucket: begin
Writeln('No Full Buckets found in bank!');
if Players[CurrentPlayer].Strings[0]='both' then
begin
if FindDTM(EmptyBucket,x,y,MSX1,MSY1,MSX2,MSY2) then
begin
Writeln('Withdrawing Empty Buckets instead');
EmptyAndFillInventory(ClayType,EmptyBucket);
exit;
end;
end;
end;
EmptyBucket: Writeln('No Empty Buckets found in bank!');
end;
LogMeOut;
Players[CurrentPlayer].Active:=False;
exit;
end;
if ClayType=0 then exit;
Status('Withdrawing Clay');
if FindDTM(ClayType,x,y,MSX1,MSY1,MSX2,MSY2) then
begin
MMouse(x,y,2,2);
Wait(250+random(20));
GetMousePos(x,y);
Mouse(x,y,1,1,false);
ChooseOption('Withdraw X');
Wait(500+random(1500));
Typesend('14');
Wait(1500+random(1500));
i:=0;
repeat
Wait(200);
i:=i+1;
if (i>50) then break;
until (FindDTM(ClayDTM,x,y,MIX1,MIY1,MIX2,MIY2));
if i>20 then
begin
EmptyAndFillInventory(ClayType,BucketType);
exit;
end;
end else
begin
Writeln('No Clay found in bank!');
LogMeOut;
Players[CurrentPlayer].Active:=False;
exit;
end;
end;

procedure WithdrawClay(ClayType,BucketType:integer);
var i:integer;
begin
if ClayType=0 then exit;
if not(LoggedIn) then exit;
Status('Withdrawing Clay');
if not(BankScreen) then exit;
if not(InvCount=14) then
begin
if not(CorrectInventory(ClayType,BucketType)) then
begin
EmptyAndFillInventory(ClayType,BucketType);
exit;
end else exit;
end;
if FindDTM(ClayType,x,y,MSX1,MSY1,MSX2,MSY2) then
begin
MMouse(x,y,2,2);
Wait(250+random(20));
GetMousePos(x,y);
Mouse(x,y,1,1,false);
ChooseOption('ll');
i:=0;
repeat
Wait(200);
i:=i+1;
if (i>50) then break;
until (FindDTM(ClayType,x,y,MIX1,MIY1,MIX2,MIY2));
if i>20 then
begin
WithdrawClay(ClayType,BucketType);
exit;
end;
end else
begin
Writeln('No Clay found in bank!');
repeat
wait(1000);
FindNormalRandoms;
if FindDTM(ClayType,x,y,MSX1,MSY1,MSX2,MSY2) then
begin
Writeln('Found Clay');
WithdrawClay(ClayType,BucketType);
exit;
end;
until not(LoggedIn);
Players[CurrentPlayer].Active:=False;
exit;
end;
end;

procedure WithdrawBuckets(ClayType,BucketType:integer);
var i:integer;
begin
if not(LoggedIn) then exit;
Status('Withdrawing Buckets');
if not(BankScreen) then exit;
if (ClayType<>0) then if not(InvCount=14) then
begin
EmptyAndFillInventory(ClayType,BucketType);
exit;
end;
if FindDTM(BucketType,x,y,MSX1,MSY1,MSX2,MSY2) then
begin
MMouse(x,y,2,2);
Wait(250+random(20));
GetMousePos(x,y);
Mouse(x,y,1,1,false);
ChooseOption('ll');
i:=0;
repeat
Wait(200);
i:=i+1;
if (i>50) then break;
until (FindDTM(BucketType,x,y,MIX1,MIY1,MIX2,MIY2));
if i>20 then
begin
WithdrawBuckets(ClayType,BucketType);
exit;
end;
end else
begin
case BucketType of
FullBucket: Writeln('No Full Buckets found in bank!');
EmptyBucket:Writeln('No Empty Buckets found in bank!');
end;
repeat
Wait(1000);
FindNormalRandoms;
if FindDTM(BucketType,x,y,MSX1,MSY1,MSX2,MSY2) then
begin
Writeln('Found Bucket');
WithdrawBuckets(ClayType,BucketType);
exit;
end;
until not(LoggedIn);
Players[CurrentPlayer].Active:=False;
exit;
end;
end;

function BucketSelected(BucketType:integer):boolean;
var x,y,x1,y1:integer;
begin
if not(LoggedIn) then exit;
if FindColor(x1,y1,16777215,MIX1,MIY1,MIX2,MIY2) then
begin
case BucketType of
EmptyBucket: if FindDTM(ESelected,x,y,x1-30,y1-30,x1+30,y1+30) then result:=true;
FullBucket: if FindDTM(FSelected,x,y,x1-30,y1-30,x1+30,y1+30) then result:=true;
end;
if (result) then Status('Bucket Selected');
end;
end;

function SelectBucket(BucketType:integer):boolean;
var x,y,i:integer;
begin
Status('Selecting Bucket');
if TabExists(4) then GameTab(4) else
begin
FindNormalRandoms;
exit;
end;
if FindDTM(BucketType,x,y,MIX1,MIY1,MIX2,MIY2) then
begin
Mouse(x-3+random(6),y-3+random(6),2,2,true);
i:=0;
repeat
FindThoseRandoms;
Wait(200);
i:=i+1;
if (i>50) then break;
until (BucketSelected(BucketType));
if i>20 then
begin
Writeln('Timeout');
result:=SelectBucket(BucketType);
exit;
end else
begin
result:=true;
exit;
end;
end;
end;

function ClickNpcChatTextRight(txt : String) : Boolean;
var
tx,ty,s:integer;
begin
s := CreateBitmapMaskFromText(txt, npcchars);
if FindBitmapMaskTolerance(s, tx, ty, 9, 348, 523, 471, 50, 10) then
begin
Mouse(tx, ty, 0, 0, False);
Result:=True;
end;
FreeBitmap(s);
end;

procedure CheckAndAddColor(Color:integer);
var i,l:integer;
begin
Status('Checking color array');
l:=GetArrayLength(PumpColors);
if l=0 then
begin
SetArrayLength(PumpColors,1);
PumpColors[0]:=Color;
Writeln('Added '+IntToStr(Color)+' to Pump Color Array');
exit;
end;
for i:= 0 to l-1 do
begin
if PumpColors[i]=Color then
begin
if i>0 then
begin
PumpColors[i]:=PumpColors[i-1];
PumpColors[i-1]:=Color;
exit;
end else exit;
end;
end;
SetArrayLength(PumpColors,l+1);
for i:= l-1 downto 0 do PumpColors[i+1]:=PumpColors[i];
PumpColors[0]:=Color;
Writeln('Added '+IntToStr(Color)+' to Pump Color Array');
exit;
end;

function ShrinkArray(A:TPointArray):TPointArray;
var b,i,j,l:integer;
begin
l:=GetArrayLength(A);
for i:= 0 to l-1 do
begin
if i+j<l-1 then
begin
SetArrayLength(result,b+1);
result[b]:=A[i+j];
b:=b+1;
if i+j+1<=l-1 then if abs(A[i+j].y-A[i+j+1].y)<5 then j:=j+1;
if i+j+1<=l-1 then if abs(A[i+j].y-A[i+j+1].y)<5 then j:=j+1;
if i+j+1<=l-1 then if abs(A[i+j].y-A[i+j+1].y)<5 then j:=j+1;
if i+j+1<=l-1 then if abs(A[i+j].y-A[i+j+1].y)<5 then j:=j+1;
if i+j+1<=l-1 then if abs(A[i+j].y-A[i+j+1].y)<5 then j:=j+1;
if i+j+1<=l-1 then if abs(A[i+j].y-A[i+j+1].y)<5 then j:=j+1;
if i+j+1<=l-1 then if abs(A[i+j].y-A[i+j+1].y)<5 then j:=j+1;
if i+j+1<=l-1 then if abs(A[i+j].y-A[i+j+1].y)<5 then j:=j+1;
if i+j+1<=l-1 then if abs(A[i+j].y-A[i+j+1].y)<5 then j:=j+1;
if i+j+1<=l-1 then if abs(A[i+j].y-A[i+j+1].y)<5 then j:=j+1;
end;
end;
end;

procedure FindBestColor(x1,y1:integer);
var x2,y2,i,l,Riser:integer;
begin
for Riser:=0 to 10 do
begin
x:=x1;
y:=y1;
if FindColorSpiralTolerance(x,y,PumpColor,x1-20,y1-20,x1+20,y1+20,Riser) then
begin
MMouse(x,y,0,0);
if (FindDTM(PumpText,x2,y2,1,1,260,25) or IsUpText('aterpump')) then
begin
Writeln('Best PumpColor '+IntToStr(Getcolor(x,y))+' found!');
l:=GetArrayLength(PumpColors);
if l>0 then
begin
SetArrayLength(PumpColors,l+1);
for i:= l-1 downto 0 do PumpColors[i+1]:=PumpColors[i];
PumpColors[0]:=GetColor(x,y);
exit;
end else
begin
SetArrayLength(PumpColors,1);
PumpColors[0]:=GetColor(x,y);
exit;
end;
end;
end;
end;
end;

function ClickWaterPump:boolean;
var x,y,x1,y1,x2,y2,i,j,k,l,m,TempColor:integer;
var P1,P2:TPointArray;
begin
if not(BucketSelected(EmptyBucket)) then if not(SelectBucket(EmptyBucket)) then exit;
if (TimeFromMark(PlayerTime)>((MaxTimePerPlayer)*60*1000)) then
begin
Writeln('Player time exceeded');
exit;
end;
Tries:=Tries+1;
if Tries>1 then Writeln('Trying to click water pump #'+IntToStr(Tries));
if Tries>5 then
begin
Writeln('Tried to find pump 5 times and failed');
LogMeOut;
exit;
end;
FFlag(0);
Wait(250);
Status('Clicking Water Pump');
l:=GetArrayLength(PumpColors);
if l>0 then
begin
for i:=0 to l-1 do
begin
Writeln('Searching for '+IntToStr(PumpColors[i]));
x:=MSCX-10;
y:=MSCY;
FindColorsSpiralTolerance(x,y,P1,Pumpcolors[i],MSX1,25,MSX2,MSY2,0);
P1:=ShrinkArray(P1);
m:=GetArrayLength(P1);
if m>0 then
begin
for j:= 0 to m-1 do
begin
if (j>50) then break;
MMouse(P1[j].x,P1[j].y,0,0);
Wait(80+random(20));
if (FindDTM(PumpText,x2,y2,1,1,260,25) or IsUpText('aterpump')) then
begin
GetMousePos(x,y);
Mouse(x,y,1,1,true);
FFlag(0);
result:=true;
Tries:=0;
exit;
end;
end;
end;
end;
end;
Writeln('Searching for PumpColor');
x:=MSCX-10;
y:=MSCY;
FindColorsSpiralTolerance(x,y,P2,PumpColor,MSX1,25,MSCX-10,MSY2,10);
P2:=ShrinkArray(P2);
l:=GetArrayLength(P2);
if l>0 then
begin
for k:= 0 to l-1 do
begin
if (k>20) then break;
MMouse(P2[k].x,P2[k].y,0,0);
Wait(80+random(20));
if (FindDTM(PumpText,x2,y2,1,1,260,25) or IsUpText('aterpump')) then
begin
GetMousePos(x1,y1);
TempColor:=GetColor(x1,y1);
CheckAndAddColor(TempColor);
FindBestColor(x1,y1);
Mouse(x1,y1,0,0,true);
FFlag(0);
result:=true;
Tries:=0;
exit;
end;
end;
end else Writeln('No points detected!');
Writeln('Could not find Water Pump!');
if FindSymbol(x,y,'water source') then
begin
Status('To pump via Water Symbol');
Mouse(x,y,3,3,true);
FTWait(8);
FFlag(0);
FTWait(3);
end else
begin
MakeCompass('N');
WalkToPump;
end;
if not(BucketSelected(EmptyBucket)) then if not(SelectBucket(EmptyBucket)) then exit;
result:=ClickWaterPump;
end;

procedure SoftenClay(BucketType:integer);
var x,y,x1,y1,i,n:integer;
var c:Tpoint;
begin
if TabExists(4) then GameTab(4) else
begin
FindNormalRandoms;
exit;
end;
if BucketType=EmptyBucket then
begin
FTWait(1);
if FlagPresent then
begin
FFlag(0);
FTWait(1);
end;
if not(BucketSelected(EmptyBucket)) then SelectBucket(EmptyBucket);
ClickWaterPump;
i:=0;
repeat
FindThoseRandoms;
if FindDTM(FullBucket,x,y,MIX1,MIY1,MIX2,MIY2) then
begin
if FindDTM(ClayDTM,x1,y1,MIX1,MIY1,MIX2,MIY2) then
MMouse(x,y,2,2);
Wait(50+random(20));
break;
end;
Wait(200);
i:=i+1;
until (i>=30);
if not(FindDTM(FullBucket,x,y,MIX1,MIY1,MIX2,MIY2)) then
begin
Writeln('No full buckets found!');
exit;
end;
i:=0;
repeat
FindThoseRandoms;
if not(FindDTM(EmptyBucket,x,y,MIX1,MIY1,MIX2,MIY2)) then break;
i:=i+1;
Wait(300);
until (i>=100);
end;
if Players[CurrentPlayer].Strings[0]='fill' then exit;
i:=0;
n:=0;
if not(FindDTM(ClayDTM,x,y,MIX1,MIY1,MIX2,MIY2)) then exit;
repeat
if not(BucketSelected(FullBucket)) then SelectBucket(FullBucket);
n:=n+1;
{if n<=20 then i:=15+random(14) else} i:=1+random(28);
c:=ItemCoords(i);
if FindDTM(ClayDTM,x,y,c.x-25,c.y-25,c.x+25,c.y+25) then
begin
MMouse(x,y,3,3);
Wait(150+random(100));
GetMousePos(x,y);
Mouse(x,y,0,0,true);
FTWait(3+random(1));
if ClickNpcChatTextRight('oft') then
begin
Wait(250+random(100));
ChooseOption('ll');
break;
end else
begin
GetMousePos(x,y);
Mouse(x,y,0,0,true);
FTWait(3+random(1));
if ClickNpcChatTextRight('oft') then
begin
Wait(250+random(100));
ChooseOption('ll');
break;
end else SoftenClay(BucketType);
end;
end else Wait(100);
until n>50;
if n>50 then
begin
if not(FindDTM(ClayDTM,x,y,MIX1,MIY1,MIX2,MIY2)) then Writeln('No clay') else
SoftenClay(BucketType);
exit;
end;
i:=0;
repeat
if FindDTM(SoftClay,x,y,MIX1,MIY1,MIX2,MIY2) then break;
FTWait(1);
i:=i+1;
until (i>=100);
i:=0;
if FindDTM(SoftClay,x,y,MIX1,MIY1,MIX2,MIY2) then
begin
repeat
FindThoseRandoms;
if not(FindDTM(FullBucket,x,y,MIX1,MIY1,MIX2,MIY2)) then break;
if not(FindDTM(ClayDTM,x,y,MIX1,MIY1,MIX2,MIY2)) then break;
Wait(300);
i:=i+1;
until (i>=100);
end;
if FindDTM(ClayDTM,x,y,MIX1,MIY1,MIX2,MIY2) then
begin
SoftenClay(BucketType);
exit;
end;
if FindDTM(EmptyBucket,x,y,MIX1,MIY1,MIX2,MIY2) then
begin
SoftenClay(BucketType);
exit;
end;
end;

procedure UseBank;
var ran1, ran2, DBucketType, WBucketType, ClayType:integer;
begin
FixBank;
ran1:=random(2);
ran2:=random(2);
case lowercase(Players[CurrentPlayer].Strings[0]) of
'wet' : begin
ClayType:=ClayDTM;
DBucketType:=EmptyBucket;
WBucketType:=FullBucket;
end;
'fill' : begin
ClayType:=0;
DBucketType:=FullBucket;
WBucketType:=EmptyBucket;
ran1:=1;
end;
'both' : begin
ClayType:=ClayDTM;
DBucketType:=0;
WBucketType:=FullBucket;
ran1:=2;
end;
end;
case ran1 of
0: begin
DepositSoftClay;
case ran2 of
0: begin
WithDrawClay(ClayType,WBucketType);
DepositBuckets(DBucketType);
WithdrawBuckets(ClayType,WBucketType);
end;
1: begin
WithdrawBuckets(ClayType,WBucketType);
DepositBuckets(DBucketType);
WithdrawClay(ClayType,WBucketType);
end;
end;
end;
1: begin
DepositBuckets(DBucketType);
case ran2 of
0: begin
WithdrawClay(ClayType,WBucketType);
DepositSoftClay;
WithdrawBuckets(ClayType,WBucketType);
end;
1: begin
WithdrawBuckets(ClayType,WBucketType);
DepositSoftClay;
WithdrawClay(ClayType,WBucketType);
end;
end;
end;
2: begin
ran1:=random(2);
if FindDTM(EmptyBucket,x,y,MIX1,MIY1,MIX2,MIY2) and FindDTM(FullBucket,x,y,MSX1,MSY1,MSX2,MSY2) then
begin
case ran1 of
0: begin
DepositBuckets(EmptyBucket);
case ran2 of
0: begin
WithdrawClay(ClayDTM,FullBucket);
DepositSoftClay;
WithdrawBuckets(ClayDTM,FullBucket);
end;
1: begin
WithdrawBuckets(ClayDTM,FullBucket);
DepositSoftClay;
WithdrawClay(ClayDTM,FullBucket);
end;
end;
end;
1: begin
DepositSoftClay;
case ran2 of
0: begin
WithdrawClay(ClayDTM,FullBucket);
DepositBuckets(EmptyBucket);
WithdrawBuckets(ClayDTM,FullBucket);
end;
1: begin
WithdrawBuckets(ClayDTM,FullBucket);
DepositBuckets(EmptyBucket);
WithdrawClay(ClayDTM,FullBucket);
end;
end;
end;
end;
end else
begin
DepositSoftClay;
if FindDTM(FullBucket,x,y,MSX1,MSY1,MSX2,MSY2) then
WBucketType:=FullBucket else
if FindDTM(FullBucket,x,y,MIX1,MIY1,MIX2,MIY2) then
WBucketType:=FullBucket else WBucketType:=EmptyBucket;
WithdrawClay(ClayDTM,WBucketType);
end;
end;
end;
end;

procedure RepeatMe;
begin
repeat
if RoadColor=0 then RoadColor:=FindFallyRoadColor;
if not(Findcolor(x,y,RoadColor,MMX1,MMY1,MMX2,MMY2)) then RoadColor:=FindFallyRoadColor;
Players[CurrentPlayer].Loc:=FindPosition;
if not(lowercase(Players[CurrentPlayer].Loc)='fally') then
begin
LogMeOut;
Players[CurrentPlayer].Active:=False;
break;
end;
WalkToBank;
OpenTheBank;
if BankScreen then
begin
if CountItemDTM(SoftClay)>0 then
begin
Inc(Players[CurrentPlayer].Integers[0]);
Inc(Banks);
Inc(Loads);
Inc(ReportVars[0]);
end else if CountItemDTM(FullBucket)>0 then
begin
Inc(Players[CurrentPlayer].Integers[0]);
Inc(Banks);
Inc(Loads);
Inc(ReportVars[0]);
end;
UseBank;
end;
ClearReport;
ProgReport;
if Loads > 0 then
begin
if Loads mod LoadsToDo = 0 then
begin
Writeln('Completed Workload');
ClearReport;
SRLRandomsReport;
ProgReport;
LogMeOut;
end;
end;
if (TimeFromMark(PlayerTime)>((MaxTimePerPlayer)*60*1000)) then
begin
Writeln('Player Time Exceeded');
ClearReport;
SRLRandomsReport;
ProgReport;
LogMeOut;
end;
if LoggedIn then
begin
if BankScreen then CloseBank;
FTWait(1);
if BankScreen then
begin
FTWait(2);
if BankScreen then CloseBank;
end;
case lowercase(Players[CurrentPlayer].strings[0]) of
'wet' : SoftenClay(FullBucket);
'fill' : begin
WalkToPump;
SoftenClay(EmptyBucket);
end;
'both' : begin
if FindDTM(FullBucket,x,y,MIX1,MIY1,MIX2,MIY2) then
SoftenClay(FullBucket) else
begin
WalkToPump;
SoftenClay(EmptyBucket);
end;
end;
end;
end;
if not(LoggedIn) then break;
if Loads > 0 then
begin
if Loads mod (LoadsToDo+Randomizer) = 0 then break;
end;
if (TimeFromMark(PlayerTime)>((MaxTimePerPlayer+Randomizer)*60*1000)) then
begin
Writeln('Time Exceeded');
break;
end;
until not(LoggedIn);
LogMeOut;
NextPlayer(Players[CurrentPlayer].Active);
Tries:=0;
Loads:=0;
Randomizer:=random(4);
MarkTime(PlayerTime);
end;

begin
SetupScript;
repeat
RepeatMe;
until false;
end.

tarajunky

2008-02-25 23:57:48

Updated to version 1.5. Also uploaded a bucket buying script written by Oliver1205 to the first post. Enjoy!

oliver1205

2008-02-26 07:12:06

acually me and roastarmys made the script. naumanakhlaq did help me out though :p

Ashur2Good

2008-03-11 19:46:05

***************************************************
* Clay Auto Softener 1.5 by Tarajunky
* Worked for 53 Minutes and 28 Seconds
* Banked 49 times
* Banked 1363 Full Buckets
***************************************************

Nice script.

Time to wet the clay.

Ashur2Good

2008-03-13 15:12:03

Sorry for the double post, but its another day so heres a good one foe you tara:
***************************************************
* Clay Auto Softener 1.5 by Tarajunky
* Worked for 6 Hours, 30 Minutes and 9 Seconds
* Banked 379 times
* Banked 5149 Soft Clay
***************************************************
* # A Nick - Softs - Fulls - Time - Loc
* 0 F ****- 5149 - 0 - 362 - Bank
***************************************************

Harry

2008-03-13 15:16:35

Yay, a non-fighting script from tarajunky! Nice work!

tarajunky

2008-03-17 00:09:55

Nice report, Ashur. Posted to front page. :)

Santa_Clause

2008-03-20 17:43:04

***************************************************
* Clay Auto Softener 1.5 by Tarajunky
* Worked for 1 Hours, 30 Minutes and 25 Seconds
* Banked 124 times
* Banked 1694 Soft Clay
***************************************************
* # A Nick - Softs - Fulls - Time - Loc
* 0 T lory - 1694 - 0 - 79 - Bank
***************************************************


All on one player…sweet!

Naum

2008-03-22 12:58:41

w00t i have credits?

oliver1205

2008-04-06 16:31:04

***************************************************
* Clay Auto Softener 1.5 by Tarajunky
* Worked for 43 Minutes and 44 Seconds
* Banked 47 times
* Banked 658 Soft Clay
***************************************************
* # A Nick - Softs - Fulls - Time - Loc
* 0 T msh0 - 658 - 0 - 23 - Bank
***************************************************

faster789

2008-04-22 00:48:13

Such low proggies, Jokes, although compare to mine I'll own! :p
Anyways awesome clay softener lol didnt expect 1000 lines, but maybe you added too much because mines only about 550 lines but can only be stopped manually or if clay ran out, meaning there is no bug and works superfast.

tarajunky

2008-04-22 01:12:05

The more, the merrier.

the scar noob

2008-04-22 02:35:43

From: faster789
Such low proggies, Jokes, although compare to mine I'll own! :p
Anyways awesome clay softener lol didnt expect 1000 lines, but maybe you added too much because mines only about 550 lines but can only be stopped manually or if clay ran out, meaning there is no bug and works superfast.


Tara owns, take it or leave it:)

He's a true scripting talent in case you didn't knew..

-Tsn.

faster789

2008-04-22 08:21:26

yes, i've heard he's an awesome scripter. But then again, you probably haven't ran my clay softener. :p
All because I'm new here, does not mean I suck in scripting -_- because no one is using my clay softener when are there NO bugs…

the scar noob

2008-04-23 11:27:51

From: faster789
yes, i've heard he's an awesome scripter. But then again, you probably haven't ran my clay softener. :p
All because I'm new here, does not mean I suck in scripting -_- because no one is using my clay softener when are there NO bugs…


Haha, there doesn't excist a script that has no bugs..

Your script is based ont the basic SCAR functions imo, so don't hang out the smartass plz..

-Tsn.

HyperSecret

2008-04-23 11:34:08

From: faster789
Such low proggies, Jokes, although compare to mine I'll own! :p
Anyways awesome clay softener lol didnt expect 1000 lines, but maybe you added too much because mines only about 550 lines but can only be stopped manually or if clay ran out, meaning there is no bug and works superfast.


i doubt tara add too much, your a new SRL Member and telling him that something of his may be to much? i would put money on it head to head tara's would probably out last yours faster

faster789

2008-04-24 01:40:49

:p lol guys im joking obviously tara's is way more advanced but hypersecret you might regret saying that, here I'll buy myself lots of clay and beat tara's top proggy or the people using my script might.:p runescapian was close to beating it with 5 and half hours, and he accidentally stopped it so it would've ran longer, but overall yes I agree how i'm new here I use basic and tara's way more advanced but still using just the basic I think I might outlast this one. ;)

Edit: see this is runescapian's proggy and check wat he said and why it stopped :p
————————————-
|| Worked For: 5 Hours, 28 Minutes and 40 Seconds||
|| Did 302 Loads! ||
|| ——-MADE BY FASTER 789———-||
————————————-

OMG! I'm a tard… It woulda went for longer, but being the dunce I am I clicked stop instead of pause…

HayHay89

2008-05-03 11:03:20

***************************************************
* Clay Auto Softener 1.5 by Tarajunky
* Worked for 10 Hours, 24 Minutes and 53 Seconds
* Banked 530 times
* Banked 7392 Soft Clay
***************************************************
* # A Nick - Softs - Fulls - Time - Loc
* 0 T - 7392 - 0 - 645 - Bank
***************************************************


Very nice and i think this is longest proggy???

tarajunky

2008-05-03 11:27:31

Yep, that's a new record! Posted to the front page.

HayHay89

2008-05-06 06:13:23

***************************************************
* Clay Auto Softener 1.5 by Tarajunky
* Worked for 11 Hours, 11 Minutes and 4 Seconds
* Banked 592 times
* Banked 8218 Soft Clay
***************************************************
* # A Nick - Softs - Fulls - Time - Loc
* 0 T - 8218 - 0 - 618 - Bank
***************************************************


Lol i bet my own record

very nice

tarajunky

2008-05-06 09:45:16

Cool, updated first post again.

ShowerThoughts

2008-05-06 10:37:54

Maybe Stupid question but for which location is this?

Tara do you have msn? [email]Kotsz@live.nl[/email]

tarajunky

2008-05-06 13:06:51

Fally west. The closest bank to a water source in all of RS as far as I know.

Cazax

2008-05-06 18:02:13

Hey tara, i found a bug, when you start with water-filled buckets(14) without clay, it open the bank, withdraw water-filled buckets, and then it try to withdraw clay, but the inv is full ;)

HayHay89

2008-05-06 18:37:41

From: Cazax
Hey tara, i found a bug, when you start with water-filled buckets(14) without clay, it open the bank, withdraw water-filled buckets, and then it try to withdraw clay, but the inv is full ;)

u start with full buckets

its hardens the the clay u got
then u got empty buckets it go to bank gets clay out and it goes to fountain etc etc

tarajunky

2008-05-06 18:41:55

It also has a bug where it won't walk your character from Varrock to Falador if you start in Varrock…

Hugolord

2008-05-06 21:06:54

all hail tara!

Great Script rep++!!


erm ok I tested your script tara works PERFECTLY, no bugs at all.

My problem is the buying script you attached doesn't work too well so I don't know how to buy the buckets/clay =/

If you have time you could maybe make a script to buy clay/buckets?

well great script anyway fast too ^^

Harry

2008-06-02 22:36:17

Meh, sorry for the bump, great work Tara! Are you planning on updating and ironing out all the tiny little bugs? :)

tarajunky

2008-06-03 00:22:41

Maybe after Rev 17 comes out. Let me know which tiny little bugs need fixing…

Naike

2008-06-10 16:41:03

Well im going to do maasive testing xD
***************************************************
* Clay Auto Softener 1.5 by Tarajunky
* Worked for 8 Hours, 34 Minutes and 58 Seconds
* Banked 494 times
* Banked 6748 Soft Clay
***************************************************
* # A Nick - Softs - Fulls - Time - Loc
* 0 T rwns - 6748 - 0 - 476 - Bank
***************************************************

Naike

2008-06-27 19:04:38

Bug found!, or not really a bug.. more like a time wasting thing….

When in back and Time extended for the player it wont close the bank
it sits waiting until it logsout for being afk…

NOTE : Not rly double posting other post was posted 2 weeks before srl shutdown…

Lee Lok Hin

2008-06-28 07:38:54

procedure LogMeOut;
begin
Writeln('Logging Out');
repeat
Wait(1000);
FindThoseRandoms;
until not(LoggedIn);
end;

Meh. Replace that with logout;

MylesMadness

2008-06-28 09:41:54

From: Lee Lok Hin
procedure LogMeOut;
begin
Writeln('Logging Out');
repeat
Wait(1000);
FindThoseRandoms;
until not(LoggedIn);
end;

Meh. Replace that with logout;
He said it doesn't close the bank when switching. That procedure has nothing to do with his problem

Lee Lok Hin

2008-06-28 12:50:04

it sits waiting until it logsout for being afk…


I don't know, I just thought it might have something to do with that procedure. Maybe somebody just try and change that to logout; and see if there's still that bug? I can't really since all my players are in varrock.

tarajunky

2008-06-30 02:19:09

The script times out like that on purpose. And I leave the bank window open on purpose as well. You can't get randoms while the bank is open, so leaving the bank open is the best way to time out like it does.

Scaper

2008-07-23 19:41:39

this worked great but then all of a sudeen it wouldnt withdraw the buckets or clay when it goes to withdraw times it moves mouse to the left of the chosseoption on both:( i realy could do with it right now and i cant seem to fins were the problem is iv tried 4 claysofteners and this 1 seems to work the best apart from what i have stated can you fix it pl0x :D

tarajunky

2008-07-24 09:49:04

It's extremely easy to fix yourself. Just search for 'Withdraw X' in the script.

Currently it says 'Withdraw X'. You just need to change both instances to 'Withdraw-X' with a slash, due to an RS update.

I will post it later, but first there's a little bug I need to track down.

the scar noob

2008-07-24 17:27:34

From: tarajunky
It's extremely easy to fix yourself. Just search for 'Withdraw X' in the script.

Currently it says 'Withdraw X'. You just need to change both instances to 'Withdraw-X' with a slash, due to an RS update.

I will post it later, but first there's a little bug I need to track down.


You know what I like the most from you? That you work very precisely, in deep detail, very nice. Look to your chickenkiller etc all fine:)

-Tsn.

Scaper

2008-07-24 18:45:05

sorted it and it worked nice and fast

***************************************************
* Clay Auto Softener 1.5 by Tarajunky
* Worked for 1 Hours, 48 Minutes and 12 Seconds
* Banked 60 times
* Banked 804 Soft Clay
***************************************************
* # A Nick - Softs - Fulls - Time - Loc
* 0 F hanc - 398 - 0 - 49 - Bank
* 1 F hanc - 406 - 0 - 50 - Bank
***************************************************

EvilChicken!

2008-07-26 10:12:24

***************************************************
* Clay Auto Softener 1.5 by Tarajunky
* Worked for 1 Hours, 56 Minutes and 50 Seconds
* Banked 82 times
* Banked 1134 Soft Clay
***************************************************
* # A Nick - Softs - Fulls - Time - Loc
* 0 T moo - 1134 - 0 - 100 - Bank
***************************************************


Flawless, maybe setrun a little bit more often?

And by the way, I LOVE your SmartColors technique.
It's my favourite way of finding objects, at least in the long term.

How did you come up with it? (As in, what gave you the idea to make it?)

Thanks for making this script!

ps; I'm sorry that I didn't use stats, but I allways forget my password, it's something like "xdosJFIOE9u432".


You edited my post? Wai?
You changed fro.. Oh, I see. Thanks, I'll do that in the future now. Yay.


Edit:
***************************************************
* Clay Auto Softener 1.5 by Tarajunky
* Worked for 1 Hours, 2 Minutes and 46 Seconds
* Banked 46 times
* Banked 644 Soft Clay
***************************************************
* # A Nick - Softs - Fulls - Time - Loc
* 0 T sheep - 644 - 0 - 51 - Bank
***************************************************



New one. See, I has quote tags now.

Edit: HOLY CRAP! I forgot that I was running it and left it on overnight by accident! :(

***************************************************
* Clay Auto Softener 1.5 by Tarajunky
* Worked for 5 Hours, 22 Minutes and 22 Seconds
* Banked 222 times
* Banked 3066 Soft Clay
***************************************************
* # A Nick - Softs - Fulls - Time - Loc
* 0 T hoi - 3066 - 0 - 292 - Bank
***************************************************


Having a really silent PC doesn't allways help..

edit:
***************************************************
* Clay Auto Softener 1.5 by Tarajunky
* Worked for 3 Hours, 27 Minutes and 7 Seconds
* Banked 145 times
* Banked 1988 Soft Clay
***************************************************
* # A Nick - Softs - Fulls - Time - Loc
* 0 T bufo bufo - 1988 - 0 - 181 - Bank
***************************************************



With the new update, withdrawing 14 at a time is possible. Try this; if not ChooseOpention('withdraw 14') then begin .. Withdraw X.. :)

Scaper

2008-07-26 12:12:07

ok i have been running it flawlessly and all of a sudden it jus clicks out side the bank like out side the door 1 pixel then again and the back in the door to the side of the bank get what i am saying? it's like jus randomly moving the character

example: like a board person walking back and forth that is what it is like??

what is the problem there?

Bam Bam

2008-10-13 06:22:24

From: EvilChicken!
Flawless, maybe setrun a little bit more often?

And by the way, I LOVE your SmartColors technique.
It's my favourite way of finding objects, at least in the long term.

How did you come up with it? (As in, what gave you the idea to make it?)

Thanks for making this script!

ps; I'm sorry that I didn't use stats, but I allways forget my password, it's something like "xdosJFIOE9u432".


You edited my post? Wai?
You changed fro.. Oh, I see. Thanks, I'll do that in the future now. Yay.


Edit:


New one. See, I has quote tags now.

Edit: HOLY CRAP! I forgot that I was running it and left it on overnight by accident! :(



Having a really silent PC doesn't allways help..

edit:


With the new update, withdrawing 14 at a time is possible. Try this; if not ChooseOpention('withdraw 14') then begin .. Withdraw X.. :)


In truth both Tara and I made smart color searchers around the same time which we did for our chicken fighters. He probably just did it out of necessity and realized it was a good idea :P

The problem always was for me that if the chicken wasn't found on first try it never seemed to get one that someone wasn't already fighting.

Necessity gave me the idea anyways :P
(That and I wanted to best Tarajunky's Chicken Fighter, but that didn't happen xD)

edit: I posted and then realized I'm not completely sure he made it for his chicken fighter, so… correct me if I'm wrong.

EvilChicken!

2008-10-13 09:31:57

Tara, since someone posted in this tread, I just happened to get a couple good memories back from the script ..

So, I remember that the only think that could have been better with your script was to add RGBHSLXYZ to object finding, because it always seems to struggle at the beginnings (when logging back in) and that tends to set down the clay per hour rate by a slightly significan amount, in addition to possibly making script more bannable ..

So, in order to try to somehow repay in the way I can, I was thinking if you would've found any use if I implemented RGBHSLXYZ in your object finder?

(And if so, what tolerances shoud I use on each technique? 20/15/7 has always worked for me when it came to object finding..)

tarajunky

2008-10-13 11:10:51

Sure, if you can improve it in any way, then go ahead and do it.

I'll credit whatever improvements people make.

Mjordan

2008-10-13 15:14:26

Alright so I've read the first post twice through and skimmed the others. I'm still a tad confused though…
In the script you said the best way would be to fill the buckets on your army, and buy a ton of clay on your main. So how would I get the water filled buckets over to my main with the trade limit? And this script should still work properly right?

tarajunky

2008-10-13 16:08:37

Yes, I think it still works just fine.

And the idea is that a full bucket of water is worth more than 9 gp or whatever the trade system values it at. By wetting clay you create 80-100 gp of wealth, depending on the value of clay vs. soft clay.

So you could have you main pay the autoer full price for the buckets, and still make money through the process.

There is now a store next to the gnomecopters where you can buy buckets of water for 2 gp each, or jugs of water for 1 gp each, and put them in the deposit box. You could buy and deposit jugs with your main, and then go to a bank and use them to wet clay. Or you could have an autoer buy and deposit them, then trade for full price to your main. It's the same concept as filling buckets using this script.

Mjordan

2008-10-13 17:57:56

Aha I see now. So I do spend money with my main account, but I make it back and them some by making wet clay from it. And does this give crafting experience for each clay made?

Method

2008-10-13 19:04:43

From: Mjordan
Aha I see now. So I do spend money with my main account, but I make it back and them some by making wet clay from it. And does this give crafting experience for each clay made?


No, you don't get any crafting experience for softening clay. That would make it so much more lucrative if you did, though.

Mjordan

2008-10-13 20:08:03

From: Method
No, you don't get any crafting experience for softening clay. That would make it so much more lucrative if you did, though.

Aww man. So its just a geepee making script. Well ok nonetheless I still will use a little probably.