Home
2007-06-20 05:44:38
<!– BEGIN TEMPLATE: formanswers –>
Home - SRL Member Application Form
Home
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
Other Communitys
How Long have You Played Runescape
I played it long time long time ago
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
Hello, you know me, you kicked me off sometimes ago ( Half year about) from SRL members and i totally understand reason, now i would like to try again, I am at boarding school, so i can't do much, but i'll try (:
I would like to come SRL member so i can learn more :D
~Home
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
Flax Picker
~Home
——————————————————
<!– END TEMPLATE: formanswers –>
Home - SRL Member Application Form
Home
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
Other Communitys
How Long have You Played Runescape
I played it long time long time ago
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
Hello, you know me, you kicked me off sometimes ago ( Half year about) from SRL members and i totally understand reason, now i would like to try again, I am at boarding school, so i can't do much, but i'll try (:
I would like to come SRL member so i can learn more :D
~Home
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
{.Script Info:
# ScriptName = Home's Flax Gardener
# Author = Home
# Description = Pick's Flax At Seers And Banks.
# Version = 3
# Date = Msn : [email]Home21200@hotmail.com[/email]
# Comments = Thanks SRL, And Someone Who Made Some Of These Procedures, I Don't Remeber, I'm Sorry
, Everyone, And Of Course GoF For Lending An Account !
/Script Info}
{
Ver
~1 = Made Script, Deleted By Accident :)
~2 = Made Script Again, Remembered To Save, Made Lot Of Bug Fixes.
~3 = It Works :P
~3,5 = Fixed bugs
~4,0 Fixed Little Banking Bug, Fixed Walking, All Little Bugs.
Issues:
Sometimes Mess Up Banking ( usually Then Walks Back To Field And Tries Again )
}
Program Flaxer;
{Intructions:
Start At BANK, Pick Colors, Set Players, Fill Up ALL Const's
Enjoy, Make Poems ;)
~Home
}
{.include SRL/SRL.scar}
var
R,P,M,wet, cst, FailedBank,tis, wst, tim, awt, tih, srt, sst, Done, TreeSymb: integer;
bk1, bk2, bk3, bk4, px, py, BeeKeepers: integer;
bkm: longint;
{ Pick All Colors, Important ! }
const
Flax = 10504785 ; // Flax color on Minimap ( Blue )
FlaxMS = 14736769 ; // Flax Color On MainScreen ( Blue )
BankSym = 4175832 ; // BankSymbol On Minimap ( Yellow )
const
StartPlayer = 0 ; // Determines who will play first
const
Loads = 0 ; // Number of loads before switching Player.
//************************************************************************//
const
VersionNumber = '4,0' ; // Version
//************************************************************************//
procedure DeclarePlayers;
begin
HowManyPlayers:=2; // Set Number of Players here.
NumberOfPlayers(HowManyPlayers); // Sets the Players Array Length;
CurrentPlayer:=StartPlayer; // CurrentPlayer = Array Index
Players[0].Name:='';
Players[0].Pass:='';
Players[0].Nick:='';
Players[0].Loc:='Bank'; // Don't Touch
Players[0].Skill:='agility';
Players[0].Active:=True;
Players[1].Name:='';
Players[1].Pass:='';
Players[1].Nick:='';
Players[1].Loc:='Bank'; // Don't Touch
Players[1].Skill:='agility';
Players[1].Active:=True;
writeln(inttostr(HowManyPlayers)+' Players');
end;
//************************************************************************//
procedure PlayerStats;
var
i: Integer;
begin
Done:=P*28
FailedBank:=R*28
cst := getsystemTime;
srt := (cst - sst) / 1000;
tih := srt / 3600;
tim := (srt / 60) - tih * 60;
tis := srt - tim * 60 - tih * 3600;
awt := wet - wst
writeln('**********************************************');
writeln('Name : '+Players[CurrentPlayer].Name);
writeln('Number : '+inttostr(CurrentPlayer));
Writeln('Worked : ' + inttostr(tih) + ' Hours, ' + inttostr(tim) + ' Minutes, ' + inttostr(tis) + ' Seconds.');
writeln('Banked : '+inttostr(Players[CurrentPlayer].banked));
writeln('Active : '+BoolToStr(Players[CurrentPlayer].Active));
writeln('Location : '+Players[CurrentPlayer].loc);
writeln('**********************************************');
for i:=0 to HowManyPlayers-1 do
begin
writeln((inttostr(i))+' : '+Players[i].name+' = '+BoolToStr(Players[i].Active)+'. - B :'+inttostr(Players[i].Banked)+' Times.'+' - : '+' - Loc: '+Players[i].loc);
end
writeln('**********************************************');
end;
//************************************************************************//
procedure ProgressReport;
begin
begin
WriteLn(' Homes''s Flax Gardener ');
WriteLn(' Enjoy, Love You All ');
WriteLn('<============== -'+VersionNumber+'- Progress Report ===============>');
SRLRandomsReport;
Writeln(' ');
end;
PlayerStats;
end;
procedure bkDtms; // Taken From SRL Forums
begin
bk1:=DTMFromString('78DA637CCFC0C010C08002AE5FBAC8C00FA41'+
'9A17CC63740C20E55CDC553A750D5DC02129EA86A5E3C7D8AAAE6'+
'2C9088475573E7FA755435DC40561CAA9A2533A6A3AA01B1BC50D'+
'5ECDEB001450D004BC013DD');
;
bk2:=DTMFromString('78DA639CC8C0C010C880020EEDDCC1C00FA41'+
'9A17CC6D3986AD62C5880AA662990484355B36BE3465435AB31D5'+
'6C5FB31A55CD464C355B56AE4055B30D53CDBA850B51D59C0712E'+
'9A86A66F6F761AA89425533A1AD0D554D2FA69A5DEBD7A3AAE9C3'+
'74CFD1BD7B51D4000064E81F19');
bk4:=DTMFromString('78DA63BCCBC0C060C780028EEDDBC7C00FA41'+
'9A17C460920CB0155CD9A050B50D5480359EEA86AA67476A2AAB9'+
'0524DC50D56C5BB31A55CD43201185AAE6C0F66DA86A8481AC105'+
'4353BD6AE4155F3034878A0AA59347D3A8A1A0009451441');
bk3:=DTMFromString('78DA63DCC8C0C050C880020EEEDCC1C00FA41'+
'9A17CC63740221F55CDDA850B51D5BC071215A86AA67476A2AAB9'+
'0E249A51D5CCECEF4355730E4834A0AA1115124255B31648B4A1A'+
'AD9B97E1DA67B5A51D5CC993811450D0020E41535');
end;
//-----------------------------------------------//
procedure bkSetup;
begin
bkDtms;
BeeKeepers:=0;
end;
//-----------------------------------------------//
function FindBeeKeeper: boolean;
var
ct: integer;
begin
ct:=0;
repeat
ct:=ct+1;
until (FindColorTolerance(x, y, 14802401, 163, 96, 427, 255,
ct));
//if(not(FindDtm(BeeKeeperDtm,x,y,163, 96,427, 255))) then Exit;
//y:=y+3;
MMouse(x, y, 0, 0);
wait(100+random(50));
Result:=IsUpText('per');
if (Result) then
wait(100+random(50));
end;
//-----------------------------------------------//
function OpenWin: boolean;
begin
if (not(IsUpText('per'))) then
FindBeeKeeper
else
GetMousePos(x, y);
Mouse(x, y, 0, 0, true);
wait(10);
Flag;
MMouse(296, 447, 10, 1);
wait(1000+random(100));
MarkTime(bkm);
while (FindColor(x, y, 16777215, 23, 437, 394, 461)and(
TimeFromMark(bkm)<
30000)) do
begin
Mouse(296, 447, 10, 1, true);
wait(1000+random(200));
end;
Result:=true;
wait(1000+random(500));
end;
//-----------------------------------------------//
procedure DoneBk;
begin
MMouse(254, 270, 3, 3);
getmousepos(x, y);
wait(200+random(100));
Mouse(x, y, 0, 0, true);
wait(1000);
MarkTime(bkm);
repeat
wait(100);
until (FindColor(x, y, 16711680, 23, 437, 394, 461)or(
TimeFromMark(bkm)>
70000));
Wait(1000+random(500));
WriteLn('Solved Bee Keeper!');
end;
//-----------------------------------------------//
function FindPiece(piece: integer): boolean;
var
fpMark: longint;
begin
MarkTime(fpMark);
repeat
wait(100);
if (TimeFromMark(fpMark)>23000) then
Exit;
until (FindDtm(piece, px, py, 23, 29, 426, 224));
Result:=True;
end;
//-----------------------------------------------//
function ClickPiece(piece: integer): boolean;
begin
if (not(FindPiece(piece))) then
Exit;
Mouse(px+10, py+5, 1, 1, true);
wait(800+random(100));
Result:=True;
end;
//-----------------------------------------------//
procedure ClickArrow(arrow: integer);
begin
if (arrow=1) then
Mouse(141, 275, 5, 5, true);
if (arrow=2) then
Mouse(194, 269, 5, 5, true);
if (arrow=3) then
Mouse(314, 273, 5, 5, true);
if (arrow=4) then
Mouse(361, 271, 5, 5, true);
end;
//-----------------------------------------------//
function MovePiece(mx, my, piece: integer): boolean;
begin
if (not(ClickPiece(piece))) then
Exit;
Result:=True;
while (px<mx) do
begin
ClickArrow(4);
wait(600+random(100));
px:=px+15;
end;
while (py<my) do
begin
ClickArrow(2);
wait(600+random(100));
py:=py+15;
end;
while (px>mx+16) do
begin
ClickArrow(3);
wait(600+random(100));
px:=px-15;
end;
while (py>my+16) do
begin
ClickArrow(1);
wait(600+random(100));
py:=py-15;
end;
end;
//-----------------------------------------------//
function FixPiece(piece: integer): boolean;
begin
if (piece=1) then
begin
Result:=MovePiece(84, 62, bk1);
end;
if (piece=2) then
begin
Result:=MovePiece(61, 165, bk2);
end;
if (piece=3) then
begin
Result:=MovePiece(350, 47, bk3);
end;
if (piece=4) then
begin
Result:=MovePiece(350, 158, bk4);
end;
end;
//-----------------------------------------------//
function SolvePiece(piece: integer): boolean;
begin
if (piece=1) then
begin
Result:=MovePiece(244, 29, bk1);
end;
if (piece=2) then
begin
Result:=MovePiece(222, 82, bk2);
end;
if (piece=3) then
begin
Result:=MovePiece(224, 141, bk3);
end;
if (piece=4) then
begin
Result:=MovePiece(224, 190, bk4);
end;
end;
//-----------------------------------------------//
function FixPieces: boolean;
begin
if (not(FixPiece(2))) then
Exit;
if (not(FixPiece(4))) then
Exit;
if (not(FixPiece(3))) then
Exit;
if (not(FixPiece(1))) then
Exit;
Result:=True;
end;
//-----------------------------------------------//
function MovePieces: boolean;
begin
if (not(SolvePiece(2))) then
Exit;
if (not(SolvePiece(4))) then
Exit;
if (not(SolvePiece(3))) then
Exit;
if (not(SolvePiece(1))) then
Exit;
Result:=True;
end;
//-----------------------------------------------//
procedure SolveBeeKeeper;
begin
OpenWin;
if (not(FixPieces)) then
begin
WriteLn('Error solving bee keeper, Trying Again'
);
Mouse(497, 17, 3, 3, true);
SolveBeeKeeper;
end;
if (not(MovePieces)) then
begin
WriteLn('Error solving bee keeper, Trying Again'
);
Mouse(497, 17, 3, 3, true);
SolveBeeKeeper;
end;
DoneBk;
end;
//-----------------------------------------------//
function BeeKeeper: boolean;
begin
if (GetColor(649, 78)=0) then
begin
WriteLn('Middle of mm black, checking for bee keeper'
);
wait(3000+random(200));
if (FindBeeKeeper) then
begin
WriteLn('Found Bee Keeper, Trying to solve'
);
Result:=True;
SolveBeeKeeper;
end;
end;
end;
procedure FindRandoms;
begin
if (not(LoggedIn)) then
Exit;
if InBlack then
begin
Players[CurrentPlayer].loc:='InBlack';
Logout;
Exit;
end;
Wait(1);
if NoGameTab then
begin
Players[CurrentPlayer].loc:='GameTab';
begin
if (FindBeeKeeper) then
BKSetup;
if (BeeKeeper) then
begin
Exit
end;
Players[CurrentPlayer].loc:=
'No GameTab';
Logout;
Exit;
end;
FindNormalRandoms;
end;
end;
procedure Colorshit1;
begin
MarkTime(Mark);
repeat
Wait(100)
TreeSymb:=GetSymbolColor(x, y, 'tree');
if TimeFromMark(Mark)>12000 then
begin
writeln('Could Not Get Tree Color.. Restart Script'
);
TerminateScript;
end;
if (not(Loggedin)) then
break;
until TreeSymb<>0;
writeln('TreeColor: '+IntToStr(TreeSymb)+' ;');
end;
procedure Comeon(Col: string);
begin
repeat
LogOut;
until (not(loggedin))
Writeln('Cant Find Correct '+col);
Writeln('Player Change')
DisguiseScar('Change');
NextPlayer(True);
if (not(Loggedin)) then
NextPlayer(False);
end;
procedure WalkFlax;
var
x, y: Integer;
begin
repeat
x:=647;
y:=77;
if (FindColorSpiraltolerance(x, y, BankSym, 581, 15,
738, 145, 25)) then
Mouse(x, y+20, 1, 1, True)
fflag(5)
wait(1)
if (not(Loggedin)) then
break;
until (FindColorSpiraltolerance(x, y, BankSym, 581, 15, 738,
145, 25))
x:=650;
y:=121;
if (FindColorSpiraltolerance(x, y, Treesymb, 563, 78, 721, 162
, 25)) then
Mouse(x-19, y+27, 1, 1, True)
else
ComeOn('Tree Symbol');
SetRun(True);
Wait(50+Random(78));
setrun(true);
GameTab(4);
Wait(100+random(100))
Flag;
if (FindColorRightTol(x, y, Treesymb, 578, 112, 740, 164, 20
)) then
Mouse(x+12+Random(3), y+20+Random(3), 0+
Random(3), 0+Random(3), True);
FFlag(10);
Mouse(695, 138, 4, 4, true)
repeat
Wait(2000)
if (not(Loggedin)) then
break;
until ((FindColorSpiraltolerance(x, y, Flax, 582, 35, 738,
152, 15)))
if (FindColorSpiraltolerance(x, y, Flax, 582, 35, 738
, 152, 15)) then
repeat
Mouse(x, y, 3, 3, true)
Wait(100+random(100))
if (not(Loggedin)) then
break;
until (FlagPresent)
FindRandoms;
end;
procedure GoBankStart;
var
ret, x, y: integer;
begin
if (FindColorSpiraltolerance(x, y, Treesymb, 532, 0, 758, 81
, 20)) then
begin
Writeln('Up Tree Found')
Mouse(605, 108, 2, 2, True);
SetRun(False)
Wait(100+random(100))
SetRun(False)
FFlag(10);
end
else
begin
if (FindColorSpiraltolerance(x, y, Treesymb,
552, 76, 721, 152, 20)) then
begin
Writeln('Down Tree Found')
Mouse(617, 59, 2
, 2, True);
SetRun(False)
Wait(100+random(100))
SetRun(False)
FFlag(10);
end;
end;
end;
procedure GoBank;
var
ret, x, y: integer;
begin
M:=70
GoBankStart;
Mouse(624, 80, 1, 1, True);
SetRun(False)
Wait(100+random(100))
SetRun(False)
FFlag(10);
repeat
ret:=ret+1;
M:=M-4+random(1);
Mouse(624, M, 1, 1, True);
FFlag(10);
until (findcolorRighttol(x, y, Treesymb, 558, 5, 671, 122, 20
))or(ret>=10);
if (ret>=10) then
begin
Logout;
Terminatescript;
end;
ret:=0
if (findcolorRighttol(x, y, Treesymb, 558, 5, 671,
122, 20)) then
begin
Mouse(x+random(3), y+26+random(3),
0+random(3), 0+random(3), true);
Flag;
x:=541;
y:=87;
if (FindColorSpiraltolerance(x, y, Treesymb,
566, 36, 711, 138, 20)) then
begin
Mouse(x+45, y-18, 1, 1
, True);
flag;
end
else
begin
ComeOn('Tree Symbol');
end;
flag;
x:=631;
y:=80;
if (FindColorSpiraltolerance(x, y, Treesymb,
588, 50, 646, 97, 10)) then
begin
Mouse(x+4, y-38, 1, 1
, True);
flag;
x:=647;
y:=43;
if (FindColorSpiraltolerance
(x, y, Treesymb, 607, 26, 715, 103, 10)) then
begin
Mouse(x-15, y-10, 1, 1, True);
Wait(2000+random(400))
FFlag(10);
x:=647;
y:=43;
if (FindColorSpiraltolerance
(x, y, Treesymb, 607, 26, 715, 103, 10)) then
begin
Repeat
Mouse(x-15, y-32, 1, 1, True);
Wait(10+random(10))
Until(FlagPresent)
Wait(3000+random(400))
Flag;
end
else
begin
ComeOn('Tree Symbol');
end;
end;
end;
end;
end;
procedure PickingFlax;
var
x, y: Integer;
begin
if(InvFull) then begin
FailedBank:=FailedBank+1;
Writeln('Failed Banking');
Flag;
exit;
end
else
begin
FindTalk;
repeat
if (FindObj(x, y, 'ick', FlaxMS, 22)) then
Mouse(x, y, 0, 0, True);
Flag;
Wait(315+Random(186));
if (FindFight) then
Break;
FindTalk;
if (not(Loggedin)) then
break;
until (InvFull)or(IsChatMessage('carry'));
FindRandoms;
end;
end;
function FindObjAreaMTR(var x, y: integer; ObjectText1, ObjectText2,
ObjectText3: string; x1, y1, x2, y2, ObjectColor, ObjectTolerance, RandS
: Integer; Center: Boolean): Boolean;
var
Pointss: TPointArray;
Numss, CenX, CenY, Ra, Rb: Integer;
begin
Ra:=Ra+random(RandS);
Numss:=0;
if (Center) then
begin
CenX:=x2/2;
CenY:=y2/2;
FindColorsSpiralTolerance(CenX, CenY, Pointss
, ObjectColor, x1, y1, x2, y2, ObjectTolerance
)
end
else
begin
FindColorsTolerance(Pointss, ObjectColor, x1,
y1, x2, y2, ObjectTolerance);
end;
if (GetArrayLength(Pointss)<>0) then
begin
repeat
MMouse(Pointss[Numss].x, Pointss
[Numss].y, 0, 0);
wait(450+random(50));
if (Rb>=Ra) then
begin
if (IsUpTextMulti(
ObjectText1, ObjectText2
, ObjectText3)) then
begin
Result:=True
;
x:=Pointss
[Numss]
.x;
y:=Pointss
[Numss]
.y;
end
else
begin
Numss:=Numss
+1;
end;
end
else
begin
Rb:=Rb+1;
Numss:=Numss+1;
end;
until (Numss=GetArrayLength(Pointss))or(
Result)
end;
end;
function FindObjectMTR(var x, y: integer; ObjectText1, ObjectText2,
ObjectText3: string; ObjectColor, ObjectTolerance, RandS: Integer; Center
: Boolean): Boolean;
begin
Result:=FindObjAreaMTR(x, y, ObjectText1, ObjectText2,
ObjectText3, 1, 1, 515, 336, ObjectColor, ObjectTolerance, RandS
, Center)
end;
function NearestObjMT(var cx, cy: Integer; Text, Text2, Text3: string;
color, color2, color3, tolerance: Integer): Boolean;
var
x, y, a, c, i, x1, y1, x2, y2: Integer;
begin
if (FindMSColorTol(x, y, color, tolerance))or(FindMSColorTol
(x, y, color2, tolerance))or(FindMSColorTol(x, y, color3
, tolerance)) then
begin
x1:=245;
y1:=165;
x2:=277;
y2:=185;
repeat
if (not(Loggedin)) then
break;
a:=a+1;
if (a=1) then
c:=c+1;
if (a=3) then
c:=c+1;
for i:=1 to c do
begin
if (a=1) then
begin
x1:=x1
+21;
x2:=x2
+21;
end;
if (a=2) then
begin
y1:=y1
-14;
y2:=y2
-14;
end;
if (a=3) then
begin
x1:=x1
-21;
x2:=x2
-21;
end;
if (a=4) then
begin
y1:=y1
+14;
y2:=y2
+14;
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))or(
FindColorTolerance(x
, y, color2, x1,
y1, x2, y2,
tolerance))or(
FindColorTolerance(x
, y, color3, x1,
y1, x2, y2,
tolerance)) then
begin
MMouse(x
, y,
0, 0
)
cx:=x;
cy:=y
;
if (IsUpTextMulti
(Text,
Text2, Text3
)) then
begin
Result:=True;
Break;
end;
end;
end;
if (a=4) then
a:=0;
until (x2>515)or(Result=True);
end;
end;
procedure OpenBank4;
var
x, y, fs, fs2: Integer;
begin
if not BankScreen then
repeat
if NearestObjMT(x, y, 'se', 'ank', 'nk',
7772329, 7772329, 7772329, 10) then
Mouse(x, y, 4, 4, False)
else if FindObjectMTR(x, y, 'se', 'ank',
'nk', 7772329, 10, 0, True) then
Mouse(x, y, 4, 4, False)
Wait(220);
if (ClickOption('quickly', 1)) then
begin
Flag;
repeat
Wait(100+random(10));
fs:=fs+1;
until (BankScreen)or(fs>=10)or(not(Loggedin))
if (not(loggedin)) then
break;
end;
fs2:=fs2+1;
until (BankScreen)or(fs2>5);
end;
Procedure Frees;
begin
FreeDTM(bk1);
FreeDTM(bk2);
FreeDTM(bk3);
FreeDTM(bk4);
End;
begin
ClearReport;
ClearDebug;
SetupSRL;
bkSetup;
Frees;
//Tih := 0;
sst := GetSystemTime;
Writeln('Stuff Loaded')
FailedBank:=0;
TreeSymb:=0;
Done:=0;
DeclarePlayers;
ActivateClient;
Wait(100+random(50))
PickUpMouse;
Colorshit1;
repeat
DisguiseScar(' Flax''s Gardener By Home ');
SetChat('on', 1);
SetChat('friends', 2);
SetChat('off', 3);
SetChat('on', 1);
MakeCompass('n');
HighestAngle;
FindTalk;
WalkFlax;
FixChat;
PickingFlax;
MakeCompass('n');
GoBank;
Openbank4;
DepositAll;
Closebank;
Players[CurrentPlayer].Banked:=Players[CurrentPlayer].Banked + 1 ;
Done:=Done+1;
ProgressReport;
if (Done=Loads) then
begin
Done:=0;
repeat
FindNormalRandoms;
Wait(1000);
until (not(LoggedIn))
wait(1000+random(5000));
NextPlayer(true);
end;
if (not(Loggedin)) then
NextPlayer(false);
until (False);
end.Flax Picker
~Home
——————————————————
<!– END TEMPLATE: formanswers –>