SRL Archive - RS3 Outdated / Broken Scripts

(SRL4) bomh willow killer & banker


bomh

2007-09-19 01:50:49

This is my 1st script
This is for Scar 3.11 SRL 4.0!
PLEASE POST PROGRESS REPORTS!

This script will chop and bank willows at draynor.
Setup:
Place your players in draynor bank
Have axe wielded or in 1st inventory slot
Have more axes in the 1st bank slot
Drag the crosshair over and hit play
Thank To:
Thank to Rune Killer i use most of his script

BobboHobbo

2007-09-19 06:39:12

:o

YoHoJo for a great ent finder

That is mostly mine :P but ye. Why just edit Rune Kiler's script and post it here? Most of it isnt your work, but you credited properly and made it for your own use (Probly)

:)

otis147

2007-09-19 08:31:21

personaly i dont like rune killers cause it cant seem to solve the lehderhosen or any other types of randosm like that.. no offense rune GREAT SCRIPT WILL TEST

bomh

2007-09-19 13:14:00

i make it auto color, and new walk to willow and back and new random event and antiban

Rune Killer

2007-09-19 14:55:48

This is mostly my script but you did credit right ;) and btw take out the
ScriptID := '279';
As its my script ID lol

bomh

2007-09-19 21:25:30

yup working on that right now lol sorry

EvilChicken!

2007-09-20 14:53:09

New VISIBLE changes that I can see has been made:

Double clicks the willows now. (Useless. And very detectable, isnt it?)
Banking is a two-step process now. (VERY good job on that one)



Not many changes, but O.K. i guess. I use your script instead of Rune Killer's.
(BTW: RUNE KILLER THANKS A FREAKING HUGE LOT DUDE)

Julza

2007-09-21 17:32:37

Progress Report:
| ~ Bomhs Willow Killer & Banker ~ |
|=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-|
|You are my first script
|Time Run: 0:11:10
|Chopped: 0 Logs—- that didnt work for some reason
|Banked: 3 Loads Of Willows
|Avioded: 0 Number Of Ents
——————————————–

I stopped soz

bomh

2007-09-21 18:53:12

From: Julza
Progress Report:
| ~ Bomhs Willow Killer & Banker ~ |
|=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-|
|You are my first script
|Time Run: 0:11:10
|Chopped: 0 Logs—- that didnt work for some reason
|Banked: 3 Loads Of Willows
|Avioded: 0 Number Of Ents
——————————————–

I stopped soz


np and thank you for posting ur progress you the first one

RudeBoiAlex

2007-09-21 18:53:47

Looks nice just need some more failsafes

dannymet

2007-09-24 15:10:16

i ran it for about 20 minutes and ended up near lumby castle, other than that it looks good
edit: not as good as i thought, i got killed with my camo clothes on and lost them, had the body and legs and they dropped instead of willow logs, and i also got my rune axe broken… needs a LOT of imporvements.

improvements:
1. better ent finding
2. better fight detection
3. maybe tele to lumby and radial walk back if char is lost? it didnt seem to know my char was lost and was just hovering mouse over nearby trees

bomh

2007-09-25 20:30:53

From: dannymet
i ran it for about 20 minutes and ended up near lumby castle, other than that it looks good
edit: not as good as i thought, i got killed with my camo clothes on and lost them, had the body and legs and they dropped instead of willow logs, and i also got my rune axe broken… needs a LOT of imporvements.

improvements:
1. better ent finding
2. better fight detection
3. maybe tele to lumby and radial walk back if char is lost? it didnt seem to know my char was lost and was just hovering mouse over nearby trees


wow that never happen to me before lol
i will check
thank bro

hiro_monkey

2007-09-25 21:21:49

stealing other ppls scripts..

bomh

2007-09-25 23:29:11

From: hiro_monkey
stealing other ppls scripts..


read before u say aything

realrocker00

2007-09-27 18:19:00

looks nice…ty

chocobolalista

2007-10-14 22:13:57

nice script man!!!
Progress Report:
| ~ Bomhs Willow Killer & Banker ~ |
|=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-|
|You are my first script
|Time Run: 0:9:28
|Chopped: 82 Logs
|Banked: 3 Loads Of Willows
|Avioded: 0 Number Of Ents
——————————–

nice work :)

bomh

2007-10-15 00:14:25

| ~ Bomhs Willow Killer & Banker ~ |
|=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-|
|This is my first script
|Time Run: 4:29:01
|Chopped: 3360 Logs
|Banked: 120 Loads Of Willows
|Avioded: 5 Number Of Ents
——————————–

this is my newest verson
but it need scarscape to run it property

[PHP]{=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=]
[ ~Bomh's Draynor Willow Killer & Banker~ ]
[ ~First Script~ ]
[=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=]
| 1. Need SCAR version 3.11 |
| 2. Need SRL version 4. |
| 3. Set your screen to 32 bit true color |
| 4. Start script in Draynor Bank. |
| 5. Start with a axe in your first inventory slot or wielded. |
| 6. More axes in the 1ST BANK SLOT |
[=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=|
|~Thanks To: |
| YoHoJo for a great ent finder |
| Sumilion & Lorax for autoresponder |
| RuneKillers i use most of his script |
[=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=}

Program BomhWillowSmasher;
{.include SRL/SRL.Scar}
{.include SRL/SRL/Core/Users.Scar}
{.include SRL/SRL/Skill/Woodcutting.Scar}

Const
ScriptName = ' Bomhs Willow Killer & Banker ';
YourSRLId = '';
YourSRLPassword = '';
AutoRespond = True; //May lag the script a little
WillowColor = 5267552; //No need to touch this

Var x, y, H, M, S, mx, my, i, WillowLog, BankDTM, Willow, TotalWillows, Banked,
EntsAvioded, RemoveChatters, FreeSlot: Integer;
LevelsGained : Integer;
TextFound, Name : String;
Chatters : Array[0..1000] of string;

Procedure DeclarePlayers;
begin
HowManyPlayers:= 6;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer:= 0;

Players[0].Name := ''; //UserName
Players[0].Pass := ''; //Password
Players[0].Nick := ''; //2-4 letters of username
Players[0].Integers[1] := 90000; //Number of loads before switching
Players[0].Booleans[1] := True; //Is the axe wielded?
Players[0].Active := True; //Active

Players[1].Name := 'Username'; //UserName
Players[1].Pass := 'Password'; //Password
Players[1].Nick := 'Nick'; //2-4 letters of username
Players[1].Integers[1] := 1000; //Number of loads before switching
Players[1].Booleans[1] := True; //Is the axe wielded?
Players[1].Active := True;

Players[2].Name := 'Username'; //UserName
Players[2].Pass := 'Password'; //Password
Players[2].Nick := 'Nick'; //2-4 letters of username
Players[2].Integers[1] := 1000; //Number of loads before switching
Players[2].Booleans[1] := True; //Is the axe wielded?
Players[2].Active := True; //Active

Players[3].Name := 'Username'; //UserName
Players[3].Pass := 'Password'; //Password
Players[3].Nick := 'Nick'; //2-4 letters of username
Players[3].Integers[1] := 1000; //Number of loads before switching
Players[3].Booleans[1] := True; //Is the axe wielded?
Players[3].Active := True; //Active

Players[4].Name := 'Username'; //UserName
Players[4].Pass := 'Password'; //Password
Players[4].Nick := 'Nick'; //2-4 letters of username
Players[4].Integers[1] := 1000; //Number of loads before switching
Players[4].Booleans[1] := True; //Is the axe wielded?
Players[4].Active := True; //Active

Players[5].Name := 'Username'; //UserName
Players[5].Pass := 'Password'; //Password
Players[5].Nick := 'Nick'; //2-4 letters of username
Players[5].Integers[1] := 1000; //Number of loads before switching
Players[5].Booleans[1] := True; //Is the axe wielded?
Players[5].Active := True; //Active

Writeln('Using '+IntToStr(HowManyPlayers)+' Players');
NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
end;

procedure LoadDTMs;
begin
WillowLog := DTMFromString('78DA639CCEC4C0F0940105B83B48308800694' +
'620FE0F048C3D40357719D000231209A41700D5DC22A0663150CD' +
'1B026AFA816A3E1050D38EE966743500A9740DA6');
BankDTM := DTMFromString('78DA63EC60626008614001FFFFFF676060042' +
'310FB3F6303508D37448E09AAE6ED5B08CD08E583D50413A1269C' +
'809A0AC26A00E665129F');
end;

function CountItemDTM(DTM: Integer): Integer;
var
i, x, y: Integer;
TB: Tbox;
begin
if not LoggedIn then
Exit;
GameTab(4);
for i := 1 to 28 do
begin
TB := InvBox(i);
if ExistsItem(i) then
if (FindDTM(DTM, x, y, TB.x1, TB.y1, TB.x2, TB.y2)) then
begin
Inc(Result);
end;
end;
end;


procedure DoChats;
begin
If(Not Loggedin)Then
LoginPlayer
Else NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick,UpChars);
Exit;
SetChat('on', 1);
SetChat('friends', 2);
SetChat('on', 3);
SetChat('on', 4);
end;

function FindEnt2(fx, fy: Integer; AvoidWhenFound: Boolean): Boolean;
var
arUpTextEntColorPoints: TPointArray;
x, y, EntTime, tcts: Integer;
begin
if not(LoggedIn)then
Exit;
GetMousePos(x, y);
if(x <> fx)or(y <> fy)then
MMouse(fx, fy, 0, 0);
if(IsUpText('Chop'))then
begin
tcts := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorspeed2Modifiers(0.4, 0.4);
FindColorsTolerance(arUpTextEntColorPoints, 51657, 80, 6, 127, 20, 5);
Result := Length(arUpTextEntColorPoints) > 10;
ColorToleranceSpeed(tcts);
end;
if(Result)then
begin
WriteLn('Ent Found!!');
if(AvoidWhenFound)then
begin
mx := 644;
my := 83;
Mouse(mx, my + 15, 0, 0, true);
Writeln('Waiting for it to go away.');
MarkTime(EntTime);
while(TimeFromMark(EntTime) < 35000)do
if (Random(20) > 15) then
Begin
FindNormalRandoms;
IdleTime(500, 500, 0.4)
end else
Begin
FindNormalRandoms;
Wait(500 + random(250));
end;
EntsAvoided := EntsAvoided + 1;
Mouse(mx, my - 10, 0, 0, true);
FFlag(2);
end;
end;
end;

Function PosArray(SubStr : Array of String; S : String) : Boolean;
Begin
for i := 0 to GetArrayLength(SubStr) - 1 do
Begin
Result := Pos(SubStr, S) > 0;
if Result then exit;
end;
end;

procedure AutoResponder;
begin
GetLastChatText(TextFound);
if Not(PosArray(['wc l', 'woodcutting l', 'lol', 'haha','hehe','lmao','rofl','hi ','hello','hey','yo ','bot ','macro','u noob','u nub','u loser',Players[CurrentPlayer].Name,'woot','woop'],TextFound)) then exit;
LastChatter(Name);
if Lowercase(Name) = Lowercase(Players[CurrentPlayer].Name) then exit;
if TimeFromMark(RemoveChatters) >= 50000 then
Begin
MarkTime(RemoveChatters);
for i := 0 to FreeSlot do
Begin
Chatters := ''
end;
end;
for i := 0 to FreeSlot do
Begin
if Chatters = Name then exit;
end;
for i := FreeSlot to 1000 do
if Chatters = '' then
Begin
Chatters := Name;
FreeSlot := FreeSlot + 1;
Break;
end;
if (PosArray(['wc l','woodcutting l'],TextFound)) then
Begin
Case Random(6) of
0: Typesend(IntToStr(Players[CurrentPlayer].integers[2] + LevelsGained));
1: Typesend('me ' + IntToStr(Players[CurrentPlayer].integers[2] + LevelsGained) + ' u?');
2: Typesend(IntToStr(Players[CurrentPlayer].integers[2] + LevelsGained) + ' =p');
3: Typesend('I' + chr(39) + 'm ' + IntToStr(Players[CurrentPlayer].integers[2] + LevelsGained));
4: Typesend(IntToStr(Players[CurrentPlayer].integers[2] + LevelsGained) + '…');
5: Typesend('low =[');
end;
WriteLn('Talked to ' + Name);
talks := talks + 1;
exit;
end;
if (PosArray(['lol','haha','hehe','lmao','rofl'],TextFound)) then
Begin
Case Random(10) of
0: Typesend('lol');
1: Typesend('');
2: Typesend('lmao');
3: Typesend('rofl');
4: Typesend('?');
5: Typesend('…');
6: Typesend('haha');
7: Typesend('hehe');
8: Typesend('=]');
9: TypeSend('');
end;
WriteLn('Talked to ' + Name);
talks := talks + 1;
exit;
end;
if (PosArray(['Hi ','Hello','hey','sup','yo '],TextFound)) then
Begin
Case Random(12) of
0: Typesend('hi');
1: Typesend('hello');
2: Typesend('hey');
3: Typesend('yo');
4: Typesend('sup');
5: Typesend('wasup');
6: Typesend('g' + chr(39) + 'day');
7: Typesend('good mornin!');
8: Typesend('good aftanoon!');
9: Typesend('good evenin!');
10: Typesend('ohaiyogozaimasu');
11: Typesend('hau');
end;
WriteLn('Talked to ' + Name);
talks := talks + 1;
exit;
end;
if (PosArray(['bot ', 'macro'],TextFound)) then
Begin
Case Random(10) of
0: Typesend('Wats that?');
1: Typesend('wots the point in gettin sumthin else 2 play 4 u?');
2: Typesend('bots r stupid');
3: Typesend('i h8 bots');
4: Typesend('they r ruinin rs for us =[');
5: Typesend('?');
6: Typesend('bots are forcing jagex to fight back… wich affects us 2 =[');
7: Typesend('they made our shop prices rise =[');
8: Typesend('bots r so obvious');
9: Typesend('theres no point banning them coz there r bots to even make new bots =[');
end;
end;
if (PosArray(['u noob','u nub','u loser'],TextFound)) then
Begin
Case Random(10) of
0: Typesend('stfu');
1: Typesend('look in da mirror');
2: Typesend('lmao u r');
3: Typesend('…');
4: Typesend('omg…');
5: Typesend('get a life');
6: Typesend('gotta start sumwhea');
7: Typesend('shut up');
8: Typesend('hmph');
9: TypeSend('=[');
end;
WriteLn('Talked to ' + Name);
talks := talks + 1;
exit;
end;
if (PosArray([Players[CurrentPlayer].Name],TextFound)) then
Begin
Case Random(9) of
0: Typesend('me?');
1: Typesend('wot u want');
2: Typesend('…');
3: Typesend('leave me alone!');
4: Typesend('I' + chr(39) + 'm not in the mood =(');
5: Typesend('ye?');
6: Typesend('yo?');
7: Typesend('uh?');
8: Typesend('shudup');
end;
WriteLn('Talked to ' + Name);
talks := talks + 1;
exit;
end;
if (PosArray(['woot','woop'],TextFound)) then
Begin
Case Random(9) of
0: Typesend('gratz');
1: Typesend('grats');
2: Typesend('…');
3: Typesend('what?');
4: Typesend('huh?');
5: Typesend('wat?');
6: Typesend('wot?');
7: Typesend('uh whatd i miss?');
8: Typesend('');
end;
WriteLn('Talked to ' + Name);
talks := talks + 1;
exit;
end;
end;

function SolveChatRandom2: Boolean;
var
Event: string;
begin
if (not SolveChatRandoms) or (not AreTalking) then
Exit;
Event := GetNPCEvent;

case Capitalize(Event) of
'Unknown': Exit;
'Pious Pete': // Candle Lighting
begin
Writeln(Players[CurrentPlayer].Name + ': Stupid Pete =(');
Logout;
NextPlayer(false);
Result := True;
Exit;
end;
'Mysterious Old Man': // Maze + Pinball
begin
if ((GetColor(83, 431) = 0) and (GetColor(88, 418) = 0)) or
((GetColor(83, 430) = 0) and (GetColor(88, 417) = 0)) or
((GetColor(151, 426) = 0) and (GetColor(470, 393) = 0) and
(GetColor(372, 370) = 128)) then
begin
SolvePinball;
end
Exit;
end;
'Quiz Master': FindQuiz; // Quiz Master
'Prison Pete': // ScapeRune balloons
begin
Inc(ScapeRunes);
Writeln(Players[CurrentPlayer].Name + ': Yay Balloon Animals!');
Logout;
NextPlayer(false);
Result := True;
Exit;
end;
'Sergeant Damien': FindDemon; // Camo
'Leo The Gravedigger': // Zombie
begin
Writeln(Players[CurrentPlayer].Name + ': I Don' + chr(39) + 't Want To Dig Any Graves! ');
Logout;
NextPlayer(false);
Result := True;
Exit;
end;
'Evil Bob': // ScapeRune island
begin
Inc(ScapeRunes);
Writeln(Players[CurrentPlayer].Name + ': An Evil Cat? What is the World Coming To?!');
Logout;
NextPlayer(false);
Result := True;
Exit;
end;
'Freaky Forester': // Lederhosen
begin
Writeln(Players[CurrentPlayer].Name + ': Since When Do Birds Have More Than One Tail…');
Logout;
NextPlayer(false);
Result := True;
Exit;
end;
'Mr Mordaut': // Surprise Exam
begin
Writeln(Players[CurrentPlayer].Name + ': School? NO WAY!');
Logout;
NextPlayer(false);
Result := True;
Exit;
end;
end;
end;

{*******************************************************************************
function FindNormalRandoms: Boolean;
by: The SRL Developers Team!… all time sexiness by Mutant
Description: Calls the 'normal' random checks.
*******************************************************************************}

function FindNormalRandoms2: Boolean;
var
i: Integer;
begin
for i := 0 to 14 do
begin
case I of
0: if SolveChatRandom2 then
Result := True;
1: if SolveTalkingRandom(Players[CurrentPlayer].Nick) then
Result := True;
2: Respond;
3: if FindTalk then
Result := True;
4: if FindDead then
Begin
Writeln(Players[CurrentPlayer].Name + ': Noooo I died =…(');
Logout;
NextPlayer(false);
Result := True;
end;
5: if FindMod then
Begin
Writeln(Players[CurrentPlayer].Name + ': Ooh A Moderator!');
Logout;
MakeCompass('N');
HighestAngle;
SetRun(true);
Result := True;
end;
6: if FindDemon then
Result := True;
7: if FindMime then
Begin
Writeln(Players[CurrentPlayer].Name + ': Miming?! Why Can' + chr(39) + 't You Just Talk?');
NextPlayer(false);
Result := True;
end;
8: if FindMaze then
Begin
Writeln(Players[CurrentPlayer].Name + ': Aww Mazes Are Too Hard =(');
NextPlayer(false);
Result := True;
end;
9: if FindQuiz then
Result := True;
10: if FindTalk then // Call it twice
Result := True;
11: if FindLamp(LampSkill) then // Maybe we missed it?
Result := True;
12: if (FindBox) then
begin
Result := True;
if (UseBoxSolver) then
SolveBox
else
GambleBox;
end;
13:
begin
if NoGameTab then
begin
Wait(3000 + Random(300));
if SolveChatRandom2 then
begin
Result := True;
Exit;
end;
Logout;
NextPlayer(false);
Result := True;
Exit;
end;
end;
14: if RC then
Result := True;
end;
if Result then
Break;
end;
If Not(LoggedIn) then
Begin
Writeln(Players[CurrentPlayer].Name + ': Hey Why Are We Just Sitting Here?');
NextPlayer(false);
end;
end;

{//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//}
{——————————————————————————}
{\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\}

Procedure CheckForRandoms;
begin
FindEnt2(x,y,true);
if (FindFight) then
begin
x := 644;
y := 83;
Mouse(x, y + 50, 0, 0, true);
Wait(8500 + random(3500));
Mouse(x, y - 50, 0, 0, true);
end;
FindNormalRandoms2;
AutoResponder;
DwarfItem;
end;


function FindObjMultiText2(var cx, cy: Integer; Ut1, UT2, UT3: string; color,
tolerance: Integer): Boolean;
var
x, y, a, c, i, x1, y1, x2, y2: Integer;
begin
Color := Color;
if (FindColorTolerance(x, y, color, msx1, msy1, msx2, msy2, tolerance)) then
begin
x1 := 245;
y1 := 165;
x2 := 277;
y2 := 185;
repeat
if (not (Loggedin)) then
Break;
a := a + 1;
if (a = 1) or (a = 3) then
c := c + 1;
for i := 1 to c do
begin
if (a = 1) then
begin
x1 := x1 + 30;
x2 := x2 + 30;
end
else if (a = 2) then
begin
y1 := y1 - 20;
y2 := y2 - 20;
end
else if (a = 3) then
begin
x1 := x1 - 30;
x2 := x2 - 30;
end
else if (a = 4) then
begin
y1 := y1 + 20;
y2 := y2 + 20;
end;
if (x1 = 485) and (x2 = 517) then
x2 := x2 - 2;
if (y1 = 325) and (y2 = 345) then
y2 := y2 - 7;
if (x2 > 515) then
Break;
if (FindColorTolerance(x, y, Color, x1, y1, x2, y2, tolerance)) then
begin
MMouse(x, y, 0, 0)
Wait(10);
cx := x;
cy := y;
if (IsUpTextMulti(UT1, UT2, UT3)) then
begin
Result := True;
Break;
end;
end;
end;
if (a = 4) then
a := 0;
until (x2 > 515) or (Result = True);
end;
end;



procedure AntiBan;
var
DBanMe : Integer;
begin
DBanMe:= Random(4);
case DBanMe of
0: PickUpMouse;
1: DragItem(1, 1 + Random(18));
2: GameTab(1 + Random(12));
3: DoEmote(1 + Random(20));
end;
end;


function FindTheAxe : Boolean;
var
InvAxe, WieldAxe, Ix, Iy : Integer;
dtmAxes: array[0..6] of Integer;
begin
if LoggedIn then
begin
GameTab(4);
DTMAxes[1]:= DTMFromString('78DA63F4606260B8CD8002ECED63197418191' +
'88088E13F1030FA00D5DC4355932EC2C160C4005103028C8E4035' +
'D719D000231209A42D816ADE1250630D54F381801A3BA09A3BF8D' +
'500005D910CA6');
GameTab(5);
for WieldAxe := 1 to 2 do
begin
if(WieldAxe = 2)then
Break;
if(FindDtm(dtmAxes[WieldAxe], Ix, Iy, MIX1, MIY1, MIX2, MIY2))then
Break;
end;
GameTab(4);
for InvAxe := 1 to 2 do
begin
if(InvAxe = 2)then
Break;
if(FindDtm(dtmAxes[InvAxe], Ix, Iy, MIX1, MIY1, MIX2, MIY2))then
Break;
end;

if(InvAxe = 2)and(WieldAxe = 2)then
begin
Result := False;
Writeln('No axe was found.');
FreeDtm(dtmAxes[0]);
Exit;
end;
if((InvAxe - WieldAxe) < 0)then
EquipAxe := False
else
EquipAxe := True;
Result := True;
//FreeDtm(dtmAxes[0]);
Writeln('Found axe');
end;
end;

procedure CheckAxe;
begin
if (not(LoggedIn)) then
Exit;
begin
if (FindTheAxe = True) then
Exit;
if (FindTheAxe = false) then
begin
SymbolAccuracy:= 0.4;
Makecompass('N');
HighestAngle;
FindSymbol(x, y, 'bank');
OpenBankQuiet('db');
Flag;
Wait(500 + random(500));
Withdraw(1, 1, 1);
CloseBank;
Players[CurrentPlayer].Booleans[1] := False;
Writeln('Got a axe from the bank now back to chopping!');
if (FindTheAxe = true)then
Exit;
end;
if (FindTheAxe = false) then
Writeln('No axe. Logging out');
NextPlayer(False);
end;
end;

procedure Counting;
begin
if not LoggedIn then
Exit;
Willow:= CountItemDTM(WillowLog);
Writeln('Count: ' +IntToStr(Willow));
end;

function InChatLine(myString: string): Boolean;
begin
Result := ( pos(myString, TheLine) <> 0 );
end;


procedure Chop;
var CuttingTime : integer;
begin
MarkTime(CuttingTime);
repeat
if (not(LoggedIn)) then
Exit;
MakeCompass('N');
CheckForRandoms;
HighestAngle;
If FindObjMultiText2(x, y, 'Wil', 'ill', 'low', WillowColor, 5) then
begin
if Not(FindEnt2(x,y,false)) then
begin
Mouse(x, y, 1, 1, true);
Wait(4000 +Random(3000));
CheckForRandoms;
AutoResponder;
end;
end;
until (InvFull) or (TimeFromMark(CuttingTime) > 600000+random(60000));
Writeln('Chopped a full load of willows, now heading for the bank');
end;

procedure WillowsWalk;
var WaterColor : integer;
begin
if (not(LoggedIn)) then
Exit;
MakeCompass('N');
HighestAngle;
WaterColor := FindWaterColor;
RadialWalk(WaterColor, 225, 351, 64, 2, 2);
Flag;
Writeln('We are at the willows');
end;

Function FindDraynorBank(Var x, y: Integer): Boolean;

Var
BankA: Extended;
I : Integer;
Begin
Repeat
I := I + 1;
Wait(1);
// Result:= FindDTMRotated(BankDTM, x, y, MMX1, MMY1, MMX2, MMY2, -Pi, Pi, 0.05, BankA);
Result:= FindDTMRotated(BankDTM, x, y, MMX1, MMY1, MMX2, MMY2, -Pi, Pi, 0.1, BankA);
Until Result Or (I > 10);
End;

procedure BankWalk;
Var
x, y: Integer;

Begin
If Not LoggedIn Then Exit;
Mouse(650, 30, 5, 5, True);
Wait(4000);
FFlag(0);
Wait(500);
Wait(500);
If FindDraynorBank(x, y) Then
Begin
Mouse(x, y, 0, 0, True);
Wait(100);
FFlag(0);
Wait(500);
End;
Players[CurrentPlayer].Loc := 'Bank';
End;

procedure BankIt;
var Tries : Integer;
begin
if (not(LoggedIn)) then
Exit;
repeat
MakeCompass('N');
HighestAngle;
OpenBankQuiet('db');
Flag;
Wait(500 + random(500));
FixBank;
Tries := Tries + 1;
if (Tries = 25) then
begin
NextPlayer(False);
Exit;
end;
until (BankScreen)
begin
if (BankScreen) then
begin
Counting;
if (Players[CurrentPlayer].Booleans[1] = True) then
begin
DepositAll;
CloseBank;
MakeCompass('N');
end;
begin
if (Players[CurrentPlayer].Booleans[1] = False) then
begin
Deposit(2, 28, 2);
CloseBank;
MakeCompass('N');
end;
end;
begin
TotalWillows:= TotalWillows + Willow;
Banked := Banked + 1
Writeln('Deposited a full load of willows, now going to chop more');
end;
end;
end;
end;

Procedure Starting;
begin
WriteLn(' ______ _____ ________ __ __ ___ __ ______ ______ __');
WriteLn('<-/ __ / /_ // _ _ / / /_/ /–/ / /—/ ____// __ // /———->');
WriteLn(' / __ / //_/ // // // / / __ / /__ / /___ // __// /__');
WriteLn('/_____/ /____//_//_//_/ /_/ /_/ /__/ /_____//_/\_\ /____/ /' + ScriptName + ' first /');
WriteLn('')
Wait(3000);
WriteLn('');
Wait(3000);
WriteLn('this is fucking rock ~ starting:');
End;

procedure Report;
begin
ClearDebug;
Writeln('[=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-]');
Writeln('| ~ Bomhs Willow Killer & Banker ~ |');
Writeln('|=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-|');
ConvertTime(GetTimeRunning, H, M, S);
Writeln('|This are my first script');
Writeln('|Time Run: ' + IntToStr(H) + ':' + IntToStr(M) + ':' + IntToStr(S));
Writeln('|Chopped: ' + IntToStr(TotalWillows) + ' Logs');
Writeln('|Banked: ' + IntToStr(Banked) + ' Loads Of Willows');
Writeln('|Avioded: ' +IntToStr(EntsAvioded) + ' Number Of Ents');
Writeln('——————————————–')
end;

procedure ScriptReport;
begin
ReportVars[0] := ReportVars[0] + 28;
ReportVars[1] := ReportVars[1] + 1;
end;

Begin
SetupSRL;
SetupWoodcutting;
SRLId := YourSRLID;
SRLPassword := YourSRLPassword;
Starting;
ActivateClient;
DeclarePlayers;
LoadDTMs;
If(Not Loggedin)Then
LoginPlayer
Else NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick,UpChars);
HighestAngle;
DoChats;
CheckAxe;
repeat
WillowsWalk;
repeat
Chop;
until (InvFull) or (not LoggedIn)
CheckAxe;
AntiBan;
BankWalk;
BankIt;
SRLRandomsReport;
ScriptReport;
Report;
TotalWillows:= 0;
until Players[CurrentPlayer].Integers[1] = Banked
NextPlayer(True);
end.[/PHP]

enjoy

hobbobobbo1

2007-10-16 22:05:19

hey nice script ill run it soon and ill post the proggie
:sasmokin: