SRL Archive - First Scripts

yew cutter+banker


elitemaster101

2007-11-28 20:30:36

i found it on my computer finally :P injoy it and do whatever to it!!
and if you get working post again on this page unless it's deleted….:bart: :cartman:




//Hosted by elitemaster101
//you can copy my script b/c im so nice:) just ask before doing it!
// thank you
//you can take things from it to add it to yours idc really
//injoy
//probly need fixing…
program YewCutterBanker;

const

//– Start Of Setup –\\

Mask = '' ; //what to rename scar as
User = 'password' ; //user
Pass = 'password' ; //pass
Direction = 'S' ; //direction to run when gettin' 0wn3d

Tree1 = 4094064 ; //yew tree colors
Tree2 = 4094064 ;
Tree3 = 4094064 ;

RoadColor = 6184550 ; //Road Color on MM
TreeColor = 99080 ; //Color of Tree on MM
BankSymb = 0; //Color of Bank Icon on MM(leave at 0 for script to auto pick)

PinNumb = 0 ; //pin number to open ur bank.(only if needed)

Trips = 25 ; //number of trips to make before stopping.

InTime = 75 ; //take a break every X minutes
OutTime = 5 ; //break for X minutes

ReAttach = True ; //if true script will try and re-attach axehead.
Wield = true ; //true to if ur wielding axe and false if not.(script works better if not wielding)

EdgeVille = True ; //true to cut yews in edgeville, leave it at true.
EntChecks = True ; //true to use my ent finder.(if false it will still check with si's ent finder)
SiFindObj = False ; //true to use si's find obj. false to use alternate find obj.

//– End Of Setup – \\

EntBmpTol = 50 ; //tolerance of the ent checker bmp

var
Tx, Ty, T1, T2, T3, attached, killed, ents, banks, newpicks, times, fishs, YEntBmp : integer;
broke : boolean;

{.include si.scar}

//Ent Checking Stuff

function EntPresent : boolean;
begin
Result:=CheckEnt;
if(EntChecks = true)and
(FindBitmapToleranceIn(YEntBmp, tx, ty, 75, 1, 145, 40, EntBmpTol) = true)and
(IsUpText('Ch') = true)then
Result:=true;
end;

//Option function

function Option(s : string): boolean;
begin
result:=IsUpText(s);
end;

//Find Obj

function FindObj2(objtext : string; objcolor, tol : integer) : boolean;
var ax,ay,x,y:integer;
xi,yi,TempHold2,i,TempHold:extended;
begin
if(FindColorTolerance(x,y,objcolor,1,1,514,336,tol))then
begin
ax:=257; ay:=168;
repeat
i:=i+1
yi:=0;
repeat
yi:=yi+1;
TempHold:=Trunc(i/2);
TempHold2:=i/2;
if(TempHold=TempHold2)then
begin
ay:=ay+10;
end else ay:=ay-10;
if(FindColorTolerance(x,y,objcolor,ax-622,ay-696,ax+160,ay+108,tol))then
begin
MMouse(x,y,1,1);
wait(1000);
if(Option(objtext))then
result:=true;
end;
until(yi=i)or(result=true)
xi:=0;
repeat
xi:=xi+1;
TempHold:=Trunc(i/2);
TempHold2:=i/2;
if(TempHold=TempHold2)then
begin
ax:=ax+10;
end else ax:=ax-10;
if(FindColorTolerance(x,y,objcolor,ax-4114,ay-5647,ax+641,ay+61,tol))then
begin
MMouse(x,y,1,1);
wait(1000);
if(Option(objtext))then
result:=true;
end;
until(xi=i)or(result=true)
until(ax>=514)or(result=true)
end;
end;

//Modified Anti-Ban from SI

function AntiBan2(inTime, outTime, Account: Integer): Boolean;
var
logtime, randomin, randomout: Integer;
begin
logtime := ((GetSystemTime - gSiABT) / 1000) / 60;
randomin := (InTime * 1000) * 60 + random(InTime * 60);
if(logtime >= randomin)then
begin
LogOut;
Result := True;
WriteLn('Anti-Ban - Logged Out at '+TheTime);
randomout := (OutTime * 1000) * 60 + random(OutTime * 60)
Writeln('Waiting ' + inttostr(randomout) + ' Minutes To Log Back In');
Wait(randomout);
Login(Account);
WriteLn('Anti-Ban - Logged In at '+TheTime);
gSiABT := GetSystemTime;
end;
end;

//GetSymbolColor from SSi2

function GetSymbolColor(name : string) : integer;
var
Bitmap, Color, c, x, y : integer;
acc : extended;
begin
if(lowercase(name) = 'bank')then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA33B434B4343473B' +
'100421364D2D9D2C9C9D4C4CDCDD5D1CCD0C2D5DCC5D00299ED04' +
'8226C824B25E43B0998664990C213175116F32B2F9C824B2F9A4B' +
'A1997F9B842865493890F734C9301ACE46928');
Color:=6417151;
end;
FindDeformedBitmapToleranceIn(Bitmap, x, y, 570, 5, 725, 160, 70, 0, True, acc);
if(acc > 0.65)then
begin
repeat
c:=c + 5;
if(FindColorTolerance(x, y, Color, x, y, x + 15, y + 5, c))then
result:=GetColor(x, y);
until(result > 0)or(c > 70);
end;
FreeBitmap(Bitmap);
end;

//Mark Time Procedures from SSi2

procedure MarkTime(var TimeMarker:integer);
begin
TimeMarker:=GetSystemTime;
end;

function TimeFromMark(var TimeMarker:integer):integer;
begin
result:=(GetSystemTime - TimeMarker) / 1000;
end;

//Function that checks if ur inventory is full…

function Full : boolean;
begin
if(IsChatMessage('Your i') = true)and
(InvFull = true)then
result:=true;
end;

//Progress Report

procedure Report;
var
avtime : integer;
begin
if(Wield = true)then
killed:= killed + 28
Else
killed:= killed + 27;
if(ScriptTime(2) > 0)then
avtime:= Killed / ScriptTime(2);
writeln('');
writeln('<=================Progress Report================>');
writeln('Worked for ' + inttostr(ScriptTime(1)) +' Hour and ' + inttostr(ScriptTime(2)) +' Minute and ' + inttostr(ScriptTime(3)) +' Second.');
writeln('Killed and Banked ' + inttostr(Killed) +' Willow Log.');
if(ScriptTime(2) > 0)then
writeln('Averaging ' + floattostr(AvTime) +' Log per minute.');
if(gSiRandoms[5] > 0)then
writeln('Gained ' + inttostr(gSiRandoms[5]) +' WoodCutting Level.');
if(NewPicks > 0)then
writeln('Withdrawn ' + inttostr(NewPicks) +' New Pick.');
if(Attached > 0)then
writeln('Re-Attached ' + inttostr(attached) +' AxeHead.');
if(ents > 0)then
writeln('Waited for ' + inttostr(ents) +' Ent.');
if(gSiRandoms[1] > 0)then
writeln('Dealt with ' + inttostr(gSiRandoms[1]) + ' Text Random.');
if(gSiRandoms[3] > 0)then
writeln('Dealt with ' + inttostr(gSiRandoms[3]) + ' Box.');
if(gSiRandoms[0] > 0)then
writeln('Found ' + inttostr(gSiRandoms[0]) + ' Fight.');
if(gSiRandoms[2] > 0)then
writeln('Used ' + inttostr(gSiRandoms[2]) + ' Lamp.');
writeln('<================================================>');
end;

// Randoms

procedure RegRandoms;
var
x, y : integer;
begin
if(FindColor(x, y, 65535, 10, 25, 511, 334) = true)then
begin
gSiRandoms[1] := gSiRandoms[1] + 1;
TakeScreen('Text',gSiRandoms[1]);
TalkToRand(x, y);
wait(35 + random(75));
GameTab(4);
wait(100 + random(75));
end;
CheckRandoms(1, 'WoodCutting', Direction, True, True, srtAll);
end;

procedure CuttingRandoms;
begin
RegRandoms;
if(ReAttach = true)and(AxeHeadGone(wield) = true)then
begin
FixAxe(wield);
wait(2500 + random(1000));
if(AxeHeadGone(wield) = false)then
begin
writeln('');
writeln('Found and re-attached pickhead!');
attached:=attached + 1;
end;
end;
if(AxeHeadGone(wield) = true)then
begin
writeln('');
writeln('Lost axehead… getting a new one!');
broke:=true;
Logout;
TerminateScript;
end;
if(BrokenAxe(wield) = true)then
begin
writeln('');
writeln('Axe broken… getting a new one!');
broke:=true;
Logout;
TerminateScript;
end;
end;

//Flag.

procedure FlagR;
begin
repeat
wait(10);
until(FlagPresent = false);
end;

function FindObjecto(s : string; color, tol : integer): boolean;
begin
if(SIFindObj = true)then
result:=FindObj(tx, ty, s, color, tol)
Else
result:=FindObj2(s, color, tol);
end;

procedure CutTree(color1, color2, color3 : integer; tname : string);
var
tc, rn, x, y, x1, y1, x2, y2, mark : integer;
begin
rn:=random(3) + 1;
case rn of
1 : tc:=color1;
2 : tc:=color2;
3 : tc:=color3;
end;
rn:=random(2) + 1;
if(rn = 1)then
begin
x1:=218;
y1:=118;
x2:=282;
y2:=186;
end
Else
begin
x1:=9;
y1:=9;
x2:=511;
y2:=333;
end;
if(FindColorSpiralTolerance(x, y, tc, x1, y1, x2, y2, 3) = true)then
begin
if(Option('Chop ' + tname) = true)
or(FindObjecto('Chop ' + tname, tc, 3) = true)
and(CheckEnt = false)then
begin
GetMousePos(x, y);
Mouse(x, y, 2, 2, true);
wait(175 + random(300));
MarkTime(mark);
CuttingRandoms;
FlagR;
repeat
wait(10);
CuttingRandoms;
if(EntPresent = true)then
break;
if(TimeFromMark(mark) > 45)then
begin
MarkTime(mark);
wait(100 + random(100));
GetMousePos(x, y);
if(Option('Cho') = true)then
Mouse(x + 2, y, 5, 5, true)
Else
MMouse(x + 2, y, 45, 15);
end;
until(Option('Cho') = false)or(full = true);
end;
if(EntPresent = true)then
begin
writeln('');
writeln('Found An Ent!');
ents:=ents + 1;
Mouse(647, 82, 2, 2, true);
wait(250 + random(1000));
MarkTime(mark);
repeat
wait(100);
CuttingRandoms;
until(TimeFromMark(mark) > 30);
end;
end;
end;

// MapWalking

procedure YewsToBank; //edgeville walking from rsnoobs script.
var
x, y : integer;
begin
if(EdgeVille = true)then
begin
while(not FindColor(x, y, BankS, 620, 30, 695, 105))do
if(FindColor(x, y, RoadColor, 635, 30, 685, 45))then
MouseFlag(x, y, 2, 2);
Mouse(x, y, 2, 2, True);
Flag;
end
Else
begin
end;
End;

procedure BankToYews; //edgeville walking from rsnoobs script.
var
x, y, off: integer;
Begin
if(EdgeVille = true)then
begin
x:= 640;
y:= 145;
if(FindColorSpiral(x, y, RoadColor, 621, 95, 652, 120))then
Mouse(x, y, 2, 2, True);
Flag;
if(Random(2)=0)then
begin
x:= 635;
y:= 85;
off:= 10;
end
Else
begin
x:= 630;
y:= 160;
off:= - 10;
end;
if(FindColorSpiral(x, y, TreeColor, 615, 80, 650, 160))then
Mouse(x + 5, y + off, 2, 2, True);
Flag;
end
Else
begin
end;
end;

//Close Bank Procedure

procedure CloseBank;
begin
wait(200 + random(175));
Mouse(random(20) + 430, random(3) + 37, 0, 0, true);
wait(100 + random(50));
end;

//Procedure to bank yews.

procedure ClearInv;
begin
SetRun(true);
MakeCompass('N');
YewsToBank;
OpenBank2(PinNumb);
wait(100 + random(150));
if(Wield = true)then
DepositAll
Else
begin
DepositArea(607, 212, 733, 240);
DepositArea(566, 256, 730, 452);
end;
CloseBank;
BankToYews;
SetRun(false);
end;

//Procedure to get a new axe out of bank

procedure NewAxe;
var
x, y : integer;
begin
broke:=false;
setrun(true);
if(Wield = true)then
TakeOff(5);
MakeCompass('N');
YewsToBank;
OpenBank2(PinNumb);
wait(100 + random(150));
DepositAll;
wait(400 + random(150));
FixBank;
wait(300 + random(150));
if(FindColorTolerance(x, y, gSiAxeH, 74, 61, 110, 88, 3) = false)then
begin
writeln('');
writeln('Outta picks… terminating');
Logout;
TerminateScript;
end;
Withdraw(1, 1);
CloseBank;
wait(50 + random(75));
if(Wield = true)then
UseItem(1);
NewPicks:=NewPicks + 1;
BankToYews;
SetRun(False);
end;

procedure SwitchTrees; //by RSnoob
var
x, y: Integer;
begin
if(EdgeVille = true)then
begin
if(FindColor(x, y, TreeColor, 630, 25, 660, 60))then
Mouse(x + 2, y + 12, 2, 2, True)
else
if(FindColor(x, y, TreeColor, 630, 105, 660, 140))then
Mouse(x + 2, y, 2, 2, True);
end
Else
begin
end;
Flag;
end;

{— Main Line Of Coding Starts Here —}

begin
YEntBmp:= BitmapFromString(2, 10, 'z78DA73357135317074452' +
'29D5D9D5D0D8C70B24D8950834B3D121B00ADF01C47');
writeln('');
writeln('YewCutterBanker v. Beta - by RealRune');
writeln('');
writeln('Start in the bank with the banksymbol visible');
writeln('');
writeln('Empty inv except for a pick either wielded or in first slot of inventory');
writeln('');
writeln('Make sure to have extra picks in first Bank Slot');
writeln('');
writeln('Starting Up');
wait(1000);
LoadInclude(mask);
SetAccount(1, user, pass);
GetAxeColors(wield);
T1:=Tree1;
T2:=Tree2;
T3:=Tree3;
BankS:=BankSymb;
Killed:=0;
if(BankS = 0)then
BankS:= GetSymbolColor('bank');
if(BankS = 0)then
begin
writeln('');
writeln('Color finding failed… please input colors urself');
Logout;
TerminateScript;
end;
if(FindColor(tx, ty, BankS, 573, 8, 723, 158) = true)then
begin
SetRun(true);
BankToYews;
SetRun(false);
end;
repeat
repeat
CutTree(T1, T2, T3, 'down Y');
if(Full = false)then
begin
SwitchTrees;
CuttingRandoms;
end;
if(Broke = true)then
NewAxe;
AntiBan2(inTime, outTime, 1);
until(full = true);
if(Full = true)then
begin
Times:=times + 1;
ClearInv;
Report;
end;
AntiBan2(inTime, outTime, 1);
until(times = trips) or (times > trips);
end.

TurtleVVisperer

2007-11-28 20:55:04

Yeah… how old is this?

Well, if you were able to make this then you should try making newer stuff with SRL. Looks like you could pick it up quickly.

elitemaster101

2007-11-28 21:30:34

true but i done with it all…i been doing this for a long time :)
script about 1-2years old probly :p