Phran6
2009-04-21 01:49:21
How Long have You Played Runescape?
5 Year(s)
Are you affilated in anyway with Jagex LTD?
no
Were you Referred to SRL?
———————-
What is your general programming knowledge?
scar
Are you a member of any other communities?
sythe
Tell us about yourself…
Please give show us one of your scripts.
5 Year(s)
Are you affilated in anyway with Jagex LTD?
no
Were you Referred to SRL?
———————-
What is your general programming knowledge?
scar
Are you a member of any other communities?
sythe
Tell us about yourself…
From: francishelie
my primar language is french.
Please give show us one of your scripts.
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
/////// //
//////____| | | ___| | _) ///
///// | | | | __| _ \ _` | __| | _ \ __ \ ////
//// __| ___ | | | __/ ( | | | ( | | | /////
/// |_| (_)_| _|_) \____|_| \___|\__,_|\__|_|\___/ _| _| //////
// ///////
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
program SOULWAR;
{.Include SRL\SRL\Misc\Smart.Scar}
{.Include SRL\SRL.Scar}
const
world=145;
TimeBewtweenHit=3741;
Plusrandom=3000;
Procedure DeclarePlayers;
Begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name :='';
Players[0].Pass :='';
Players[0].Nick :='';
Players[0].Active:=True;
end;
//////////////////////////////////////////////////////////
///////////////// DONT TOUCH BELOW /////////////////////
//////////////////////////////////////////////////////////
var
InWaitingroom, Multicombat, Walk11, Walk12, walk13, walk13BackUp, a, b, c, d, e, f, dead : integer;
Action: string;
procedure DtmInWaitingRoom;
begin
InWaitingroom := DTMFromString('78DA634C606660B06364000126060878A8ACC' +
'C200AA419A17CC610A01A5D5435C669FF51D5A401D5E81350130E546' +
'383DF2E0063B1083A');
end;
procedure DtmMulticombat;
begin
Multicombat := DTMFromString('78DA6334646260286464000108C9C03071D22' +
'40651243EA325504D15AA9AA55E0CA86A34816AB250D51C387000558' +
'D05116AB4816ACA51D5FC3FE785AA4683B07B004BB40E9B');
end;
procedure DtmWalk11; //lava
begin
Walk11 := DTMFromString('78DA63FCC5C2C07097010C18211483B4A4244' +
'300129FF13450CD255435872649A0AA7909547384809AD740355709A' +
'8616765603847400D2F50CD1E026A1E02ED9A41400D33D09C29F8D50' +
'00011EC178C');
end;
procedure DtmWalk12;
begin
walk12 := DTMFromString('78DA63EC62626038CA00068C108AC1C3D999E' +
'13F129FB10EA8A61155CDBD15B20C6EC86AE601D5741150331FA8A68' +
'2809A1D40357504D41C01AA6926A0660E50CD29089B052AF6EEDD3B0' +
'639243500F95916D9');
end;
procedure DtmWalk13;
begin
walk13 := DTMFromString('78DA63AC626260E86400034608C5606B6DC9F' +
'01F89CFB801A8662784CD0215FBF2F2298306BA9AF5A86ADEBD7B87A' +
'AE60050CD7C026A9E60AAC1B0AB1DA8A604C266858AA94629300420A' +
'B2902AA598C5F0D00308B183B');
end;
procedure DtmWalk13BackUp;
begin
walk13BackUp := DTMFromString('78DA639CCFC4C0D0CD00066C108AC1D5C9812' +
'105483342F98C9B806A02216C26A8D8AD33D20C6EC86A6E00655642D' +
'8CC50B1979FDE33C821ABB90B54331755CDBB77EF50D53C05AA99845' +
'F0D00109F12AF');
end;
procedure DeclareDtms;
begin
DtmInwaitingroom;
dtmmulticombat;
dtmwalk11;
dtmwalk12;
dtmwalk13;
dtmwalk13backup;
end;
procedure FreeDtms;
begin
freedtm(Inwaitingroom);
freedtm(multicombat);
freedtm(walk11);
freedtm(walk12);
freedtm(walk13);
freedtm(walk13backup);
end;
function DDtmStartInGame: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..5] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 1109;
dtmMainPoint.y := 433;
dtmMainPoint.AreaSize := 1;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 3355447;
dtmMainPoint.Tolerance := 255;
dtmSubPoints[0].x := 1109;
dtmSubPoints[0].y := 433;
dtmSubPoints[0].AreaSize := 1;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 3355447;
dtmSubPoints[0].Tolerance := 255;
dtmSubPoints[1].x := 1112;
dtmSubPoints[1].y := 409;
dtmSubPoints[1].AreaSize := 3;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 15659495;
dtmSubPoints[1].Tolerance := 32;
dtmSubPoints[2].x := 1097;
dtmSubPoints[2].y := 409;
dtmSubPoints[2].AreaSize := 3;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 15659495;
dtmSubPoints[2].Tolerance := 32;
dtmSubPoints[3].x := 1108;
dtmSubPoints[3].y := 453;
dtmSubPoints[3].AreaSize := 3;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 15659495;
dtmSubPoints[3].Tolerance := 32;
dtmSubPoints[4].x := 1087;
dtmSubPoints[4].y := 453;
dtmSubPoints[4].AreaSize := 3;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 15659495;
dtmSubPoints[4].Tolerance := 32;
dtmSubPoints[5].x := 1081;
dtmSubPoints[5].y := 430;
dtmSubPoints[5].AreaSize := 3;
dtmSubPoints[5].AreaShape := 0;
dtmSubPoints[5].Color := 15659495;
dtmSubPoints[5].Tolerance := 32;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
procedure Sign;
begin
cleardebug;
writeln(' _____ _ _ ____ _ _ ');
writeln('| ___| | | | / ___|_ __ ___ __ _| |_(_) ___ _ __ ');
writeln('| |_ | |_| | | | | `__/ _ \/ _` | __| |/ _ \| `_ \ ');
writeln('| _|_| _ |_ | |___| | | __/ (_| | |_| | (_) | | | | ');
writeln('|_| (_)_| |_(_) \____|_| \___|\__,_|\__|_|\___/|_| |_| ');
end;
procedure ProgressReport;
begin
e := a + b + c + d
f := (d*3)+(b*1)+(c*2);
writeln(' /////////////////////|\\\\\\\\\\\\\\\\\\\\');
writeln(' /////// MADE BY FRANCISHELIE \\\\\\\\\\');
writeln(' ///////////////////////|\\\\\\\\\\\\\\\\\\\\\\');
writeln('- we have ran: ' + TimeRunning );
writeln('- we finished the game: ' + IntToStr(e) + ' times');
writeln('- we have won: ' + IntToStr(d) + ' times');
writeln('- we have loose ' + IntToStr(b) + ' times');
writeln('- we have drawn ' + IntToStr(c) + ' times');
writeln('- we didnt got zeal ' + IntToStr(a) + ' times because we entered to late');
writeln('- we got a total of ' + IntToStr(f) + ' zeal')
writeln('- we died in the minigame: ' + IntToStr(dead) + ' times');
writeln('_________________________________________________');
end;
procedure countpoint;
begin
if(not(LoggedIn))then Exit;
if FindBlackChatMessage('0') then
if FindBlackChatMessage('receive') then
begin
inc(a);
exit;
end;
if FindBlackChatMessage('1') then
if FindBlackChatMessage('receive') then
begin
inc(b);
exit;
end;
if FindBlackChatMessage('2') then
if FindBlackChatMessage('receive') then
begin
inc(c);
exit;
end;
if FindBlackChatMessage('3') then
if FindBlackChatMessage('receive') then
begin
inc(d);
exit;
end;
end;
procedure Terminate(Text: String);
begin
WriteLn(Text);
LogOut;
ProgressReport;
freedtms;
TerminateScript;
end;
Procedure WaitUntil(move:boolean; maxtimes: integer); //maxtime is in second
var
waite : integer;
begin
if(not(LoggedIn))then Exit;
maxtimes:= maxtimes*10;
repeat
wait(100)
inc(waite)
until((move) or (waite >= maxtimes));
end;
procedure PreparingOpening;
begin
SetupSRL;
SMARTSetupEx(world, True, false, False);
Wait(5000);
SetTargetDC(SmartGetDC);
repeat
wait(100);
until(SmartGetColor(253, 233)<>1118604);
DeclarePlayers;
LoginPlayer;
end;
function WhereWeAre:string;
var
x, y : integer;
begin
if(not(LoggedIn))then Exit;
if DTMRotated(Multicombat, x, y, MsX1, MsY1, MsX2, MsY2) then
begin
if FindColorTolerance(x, y, 1878754, MMX1, MMY1, MMX2, MMY2, 70) then
begin
result := 'InGame1';
action := 'InGame1';
status(action)
exit;
end;
if not FindColorTolerance(x, y, 1878754, MMX1, MMY1, MMX2, MMY2, 70) then
begin
result := 'InGame2';
action := 'InGame2';
status(action)
exit;
end;
end;
if not DTMRotated(Multicombat, x, y, MsX1, MsY1, MsX2, MsY2) then
begin
DtmInWaitingRoom;
if DTMRotated(InWaitingRoom, x, y, MsX1, MsY1, MsX2, MsY2) then
begin
result := 'InWaitingRoom' ;
action := 'InWaitingRoom' ;
status(action);
exit;
end;
if not DTMRotated(InWaitingRoom, x, y, MsX1, MsY1, MsX2, MsY2) then
begin
result := 'OutSide' ;
action := 'OutSide' ;
status(action);
exit;
end;
end;
end;
procedure WearingItemAntiBan(option:string); // xamine, ancel or random
var
v, i :integer;
z: tpoint;
begin
if(not(LoggedIn))then Exit;
repeat
v:= random(10)+1;
if WearingItem(v) then
begin
z := EquipmentCoords(v);
if option = 'random' then
begin
case Random(1) of
0: option := 'xamin';
1: option := 'ancel';
end;
end;
mouse(z.x, z.y, 6, 6, false);
if ChooseOption(option) then exit;
end;
Inc(i);
until(i > 11);
end;
procedure OverExtraSkill;
var
x, y :integer;
begin
if(not(LoggedIn))then Exit;
case Random(2) of
0:begin
gametab(2)
wait(400+random(1111));
mousebox(720, 247, 725, 399,3);
GetMousePos(x, y);
HoldMouse(x, y, True);
Wait(150 + Random(150));
mmouse(x-4+(random(8)),y+27,4 ,1)
GetMousePos(x, y);
ReleaseMouse(x, y, True);
wait(300+random(1000));
end;
1:begin
gametab(2)
wait(400+random(1111));
mousebox(717, 411, 728, 433,1);
end;
end;
case Random(3) of
0:begin
HoverSkill('summoning',false);
wait(500+random(900));
end;
1:begin
HoverSkill('hunter',false);
wait(500+random(900));
end;
2:begin
HoverSkill('construction',false);
wait(500+random(900));
end;
end;
case Random(2) of
0:begin
gametab(2);
wait(400+random(1111));
mousebox(720, 272, 725, 427,3);
GetMousePos(x, y);
HoldMouse(x, y, True);
Wait(150 + Random(150));
mmouse(x+4-(random(8)),y-27,4 ,1)
GetMousePos(x, y);
ReleaseMouse(x, y, True);
wait(300+random(1000));
end;
1:begin
gametab(2);
wait(400+random(1111));
mousebox(717, 242, 728, 265,1);
wait(300+random(1000));
end;
end;
end;
procedure switchTab;
var
I, T: integer;
begin
if(not(LoggedIn))then Exit;
I:=random(4)
repeat
gametab(random(12)+1);
wait(200+random(700));
inc(T);
until(T>I);
end;
function FindDeath : boolean;
begin
if(not(LoggedIn))then Exit;
if FindBlackChatMessage('dear') then
if FindBlackChatMessage('dead') then
begin
Result := True;
inc(dead);
writeln('Omg We Are DEAD, LETS GO RETURN TO THE WAR !!');
case Random(2) of
0:DoEmote(1+random(19));
1:WearingItemAntiBan('xamin');
end;
WhereWeAre;
wait(7000+random(2000));
Exit;
end;
if FindNPCChatText('emove', ClickLeft)then
begin
Result := True;
inc(dead);
writeln('Omg We Are DEAD, LETS GO RETURN TO THE WAR !!');
case Random(2) of
0:DoEmote(1+random(19));
1:WearingItemAntiBan('xamin');
end;
WhereWeAre;
Exit;
end;
end;
function CheckUpInGame: boolean;
var
x, y : integer;
begin
if not(FindDTM(multicombat, x, y, 426, 254, 508, 334)) then
begin
wait(5000)
if not(FindDTM(multicombat, x, y, 426, 254, 508, 334)) then
begin
wait(3000)
if not(FindDTM(multicombat, x, y, 426, 254, 508, 334)) then
begin
WhereWeAre;
result:= true
end;
end;
end;
if finddeath then result:= true;
end;
function TalkToPortal: boolean;
var
x, y : integer;
begin
if(not(LoggedIn))then Exit;
wait(3000+random(200));
result:=true;
if FindNPCChatText('rogres', nothing) then
begin
WaitUntil(FindNPCChatText('ontinue', ClickLeft),10);
wait(500+random(600));
WaitUntil(FindNPCChatText('nter', ClickLeft),10);
exit;
end;
if FindNPCChatText('almos', nothing) then
begin
WaitUntil(FindNPCChatText('ontinue', ClickLeft),10);
wait(500+random(600));
WaitUntil(FindNPCChatText('aiting', ClickLeft),10);
exit;
end;
if FindNPCChatText('left', nothing) then
begin
terminate('you can enter the minigame because you left during a game');
end;
DtmInWaitingRoom;
if DTMRotated(InWaitingRoom, x, y, MsX1, MsY1, MsX2, MsY2) then
begin
exit;
end;
end;
function ClickPortal1: boolean;
var
MyTPA : TPointArray;
x, y, i, H : Integer;
ATPA : T2DPointArray;
begin
if(not(LoggedIn))then Exit;
if action = 'InWaitingRoom' then exit;
if action = 'OutSide' then
begin
WaitUntil(ClickToContinue,7);
wait(700+random(500));
CountPoint;
end;
ProgressReport;
setangle(false);
wait(200+random(200));
MakeCompass(IntToStr(260+Random(20)));
wait(200+random(100));
FindColorsSpiralTolerance(MSCX, MSCY,MyTPA, 4935303, MSx1, MSy1, MSx2, MSy2, 20);
ATPA := TPAtoATPA(MyTPA, 4);
if Length(MyTPA) = 0 then FindColorsTolerance(MyTPA, 14737919, MSX1, MSY1, MSX2, MSY2, 25);
ATPA := TPAtoATPA(MyTPA, 4);
H := High(ATPA);
For I := 0 To H Do
begin
MiddleTPAEx(ATPA[i], X, Y);
MMouse(X, Y, 3, 3);
if (IsUpTextMultiCustom(['arri', 'ed'])) then
begin
GetMousePos(x, y);
Mouse(x, y, 0, 0, False);
if ChooseOption('ass') then
begin
Wait(500+random(250));
result:=true;
if action= 'InGame1' then
begin
action:= 'Walk1';
status(action);
end;
if action = 'OutSide' then
begin
if TalkToPortal then
begin
action:='InWaitingRoom';
status(action);
end;
end;
Exit;
end;
end;
end;
end;
procedure WaitingRoomAntiBan;
var
x, y : integer;
begin
if(not(LoggedIn))then Exit;
if (FindDTM(multicombat, x, y, MSX1, MSY1, MSX2, MSY2)) then
begin
WhereWeAre;
Exit;
end;
case Random(25) of
0:begin
RandomRClick;
wait(300+random(1000));
ChooseOption('ancel');
wait(random(1000));
WaitingRoomAntiBan;
end;
1:begin
HoverSkill('random',false);
wait(200+random(1000));
MouseBox(MSX1, MSY1, MSX2, MSY2, 3);
wait(200+random(400));
WaitingRoomAntiBan;
end;
2:begin
PickUpMouse;
wait(random(1000));
WaitingRoomAntiBan;
end;
3:begin
RandomMovement;
wait(random(1000));
WaitingRoomAntiBan;
end;
4:begin
MouseBox(MSX1, MSY1, MSX2, MSY2, 3);
wait(random(1000));
WaitingRoomAntiBan;
end;
5:begin
SleepAndMoveMouse(random(300));
wait(random(1000));
WaitingRoomAntiBan;
end;
6:begin
MakeCompass(IntToStr(Random(360)));
MakeCompass(IntToStr(Random(360)));
MakeCompass('360');
setangle(true);
wait(random(1000));
WaitingRoomAntiBan;
end;
7:begin
WearingItemAntiBan('random');
wait(random(1000));
WaitingRoomAntiBan;
end;
8:begin
OverExtraSkill;
wait(random(1000));
WaitingRoomAntiBan;
end;
9:begin
switchTab;
wait(random(1000));
WaitingRoomAntiBan;
end;
10:begin
DoEmote(1+random(19));
wait(random(1000));
WaitingRoomAntiBan;
end;
end;
end;
procedure WaitForGame;
begin
if(not(LoggedIn))then Exit;
if action ='InWaitingRoom' then
begin
repeat
wait(1234+random(2234));
WaitingRoomAntiBan;
until(whereweare='InGame1');
end;
end;
function PassInGamePortal1: boolean;
var
WalkDTM, x, y : integer;
begin
if(not(LoggedIn))then Exit;
if action = 'Walk1' then exit;
if CheckUpIngame then exit;
if action = 'InGame1' then
begin
wait(200+random(200));
MakeCompass('360');
WalkDTM := DDtmstartInGame;
if DTMRotated(WalkDTM, X, Y, MMx1,MMy1,MMx2,MMy2) then
begin
Mouse(X, Y, 3, 3, True);
FFlag(6);
Result := True;
end;
ClickPortal1;
FreeDTM(WalkDTM);
end;
end;
function PassInGamePortal2: boolean;
var
MyTPA : TPointArray;
x, y, i, H : Integer;
ATPA : T2DPointArray;
begin
if(not(LoggedIn))then Exit;
if CheckUpIngame then exit;
if action = 'walk2' then exit;
if action = 'InGame2' then
begin
ProgressReport;
setangle(false);
wait(200+random(200));
MakeCompass(IntToStr(350+Random(10)));
wait(200+random(100));
FindColorsSpiralTolerance(MSCX, MSCY,MyTPA, 4935303, MSx1, MSy1, MSx2, MSy2, 20);
ATPA := TPAtoATPA(MyTPA, 4);
if Length(MyTPA) = 0 then FindColorsTolerance(MyTPA, 14737919, MSX1, MSY1, MSX2, MSY2, 25);
ATPA := TPAtoATPA(MyTPA, 4);
H := High(ATPA);
For I := 0 To H Do
begin
MiddleTPAEx(ATPA[i], X, Y);
MMouse(X, Y, 3, 3);
if (IsUpTextMultiCustom(['arri', 'ed'])) then
begin
GetMousePos(x, y);
Mouse(x, y, 0, 0, False);
if ChooseOption('ass') then
begin
Wait(500+random(250));
result:=true;
action:= 'Walk2';
status(action);
Exit;
end;
end;
end;
end;
end;
procedure InFightAntiBan(WaitTime, RandomTime : integer);
begin
if(not(LoggedIn))then Exit;
if CheckUpIngame then exit;
case Random(35) of
0:begin
RandomRClick;
wait(300+random(1000));
ChooseOption('ancel');
wait(random(1000));
end;
1:begin
HoverSkill('random',false);
wait(200+random(1000));
MouseBox(MSX1, MSY1, MSX2, MSY2, 3);
wait(200+random(400));
end;
2:begin
PickUpMouse;
wait(2000+random(1000));
end;
3:begin
RandomMovement;
wait(1000+random(1000));
end;
4:begin
MouseBox(MSX1, MSY1, MSX2, MSY2, 3);
wait(3000+random(1000));
end;
5:begin
SleepAndMoveMouse(random(3000));
wait(random(1000));
end;
6:begin
MakeCompass(IntToStr(Random(360)));
MakeCompass(IntToStr(Random(360)));
MakeCompass('360');
setangle(true);
wait(random(1000));
end;
7:begin
WearingItemAntiBan('ancel');
wait(random(2000));
end;
8:begin
OverExtraSkill;
wait(random(1000));
end;
9:begin
switchTab;
wait(random(1000));
end;
10..34: wait(WaitTime+random(RandomTime))
end;
end;
function AttackBarricade: boolean;
var
MyTPA : TPointArray;
MyPoint : TPoint;
x, y, i, h : Integer;
ATPA : T2DPointArray;
begin
if(not(LoggedIn))then Exit;
if CheckUpIngame then exit;
FindColorsSpiralTolerance(MSCX, MSCY,MyTPA, 8368058, MSx1, MSy1, MSx2, MSy2, 15);
ATPA := TPAtoATPA(MyTPA, 4);
if Length(MyTPA) = 0 then FindColorsTolerance(MyTPA, 14737919, MSX1, MSY1, MSX2, MSY2, 25);
ATPA := TPAtoATPA(MyTPA, 4);
H := High(ATPA);
For I := 0 To H Do
begin
MyPoint := MyTPA[i]
MMouse (MyPoint.x, MyPoint.y, 3, 3);
if (IsUpTextMultiCustom(['arric', 'icade'])) then
begin
GetMousePos(x, y);
Mouse(x, y, 0, 0, False);
if ChooseOption('arric') then
begin
Wait(500+random(250));
result:=true;
Exit;
end;
end;
end;
end;
procedure UnstuckBarricade;
begin
if(not(LoggedIn))then Exit;
if CheckUpIngame then exit;
repeat
if CheckUpIngame then exit;
AttackBarricade;
InFightAntiBan(2134,4720);
until not AttackBarricade;
end;
function MyOwnFlag(distance:integer): boolean;
var
a, b : integer;
begin
if(not(LoggedIn))then Exit;
wait(400);
repeat
if CheckUpIngame then exit;
a:= FlagDistance;
wait(800);
b:= FlagDistance;
if not FlagPresent then
begin
result:=true;
exit;
end;
until((a=b) or (b<=distance));
if b<=distance then
begin
result:=true;
exit;
end;
if a=b then
begin
result:=false;
Unstuckbarricade;
exit;
end;
end;
function Walk1 : boolean;
var
x, y, i, walks: integer;
TPA : TPointArray;
begin
if(not(LoggedIn))then Exit;
if CheckUpIngame then exit;
if action ='Walk1' then
begin
setangle(true);
wait(200+random(200));
MakeCompass('360');
setrun(true);
for walks := 0 to 3 do
case walks of
0:if action ='Walk1' then
begin
if CheckUpIngame then exit;
if DTMRotated(walk11, x, y, MmX1, MmY1, MmX2, MmY2) then
begin
if CheckUpIngame then exit;
mouse(x,y,1,1,true);
if not MyOwnFlag(5) then
begin
walk1
exit;
end;
end;
end;
1:if action ='Walk1' then
begin
if CheckUpIngame then exit;
if DTMRotated(walk12, x, y, MmX1, MmY1, MmX2, MmY2) then
begin
if CheckUpIngame then exit;
mouse(x,y,1,1,true);
if not MyOwnFlag(5) then
begin
walk1
exit;
end;
end;
end;
2:if action ='Walk1' then
begin
if CheckUpIngame then exit;
if DTMRotated(walk13, x, y, MmX1, MmY1, MmX2, MmY2) then
begin
if CheckUpIngame then exit;
mouse(x,y,1,1,true);
if not MyOwnFlag(10) then
begin
walk1
exit;
end;
result:=true;
end;
if result=false then
begin
if CheckUpIngame then exit;
if DTMRotated(walk13BackUp, x, y, MmX1, MmY1, MmX2, MmY2) then
begin
if CheckUpIngame then exit;
mouse(x,y,1,1,true);
if not MyOwnFlag(5) then
begin
walk1
exit;
end;
end;
end;
result:=false;
end;
3:if action ='Walk1' then
begin
if CheckUpIngame then exit;
if RadialWalkEx(tpa, MMCX, MMCY, 15788534, 25, 280, 200, 71) then
for i := 0 to High(tpa) do
begin
if CheckUpIngame then exit;
if MFNF(tpa[i].x, tpa[i].y, 1, 1) then
begin
if not MyOwnFlag(5) then
begin
walk1
exit;
end;
action:='Attack';
status(action);
result:= true;
break;
end;
end;
end;
end;
end;
end;
procedure RunAwaye(dir: string; RunFar: Boolean; Action, WaitTime: Integer);
var
Rad, Deg, Tab, t: Integer;
begin
if not LoggedIn then exit;
Tab := GetCurrentTab;
if RunFar then
Rad := 63
else
Rad := 30;
case UpperCase(dir) of
'N': Deg := 0;
'E': Deg := 90;
'S': Deg := 180;
'W': Deg := 270;
else Deg := StrToIntDef(Dir, -1);
end;
if (Deg = -1) then
begin
Exit;
end;
if (Action < 3) then
begin
MFNF(Trunc(Rad * Sin(Radians(FixD(Rs_GetCompassAngleDegrees + Deg))) + MMCX + Random(5)),
Trunc(-Rad * Cos(Radians(FixD(Rs_GetCompassAngleDegrees + Deg))) + MMCY + Random(5)),
1, 1);
Wait(700);
t := GetSystemTime;
while ((GetSystemTime - t) < WaitTime) and LoggedIn do
if (Random(5) = 0) then
IdleTime(2000, 500, 1.0)
else
Wait((WaitTime - (GetSystemTime - t)) / 5);
end;
if (Action = 1) or (Action = 3) then
begin
MFNF(Trunc(Rad * Sin(Radians(FixD(Rs_GetCompassAngleDegrees + (Deg + 180)))) + MMCX - Random(5)),
Trunc(-Rad * Cos(Radians(FixD(Rs_GetCompassAngleDegrees + (Deg + 180)))) + MMCY - Random(5)),
1, 1);
Wait(700);
end;
GameTab(Tab);
end;
function Walk2:boolean;
var
i, walks: integer;
TPA : TPointArray;
begin
if(not(LoggedIn))then Exit;
if CheckUpIngame then exit;
if action ='Walk2' then
begin
setangle(true);
wait(200+random(200));
MakeCompass('360');
setrun(true);
for walks := 1 to 2 do
case walks of
1:if action ='Walk2' then
begin
if CheckUpIngame then exit;
RunAwaye('S', true, 2,0)
if not MyOwnFlag(0) then
begin
walk2
break;
end;
end;
2:if action ='Walk2' then
begin
if CheckUpIngame then exit;
if RadialWalkEx(tpa, MMCX, MMCY, 15333359, 20, 150, 200, 60) then
for i := 0 to High(tpa) do
begin
if CheckUpIngame then exit;
if MFNF(tpa[i].x, tpa[i].y, 1, 0) then
begin
if not MyOwnFlag(25) then
begin
walk2
exit;
end;
result:=true;
action:='Attack';
status('Attack')
break;
end;
end;
end;
end;
end;
end;
function AttackPyrefiend: boolean;
var
MyTPA : TPointArray;
MyPoint : TPoint;
x, y, i : Integer;
ATPA : T2DPointArray;
begin
if(not(LoggedIn))then Exit;
if action = 'Attack' then
begin
FindColorsSpiralTolerance(MSCX, MSCY,MyTPA, 2909171, MSx1, MSy1, MSx2, MSy2, 15);
ATPA := TPAtoATPA(MyTPA, 3);
if Length(MyTPA) = 0 then FindColorsSpiralTolerance(MSCX, MSCY,MyTPA, 6721524, MSX1, MSY1, MSX2, MSY2, 20);
ATPA := TPAtoATPA(MyTPA, 3);
for i := 0 to High(ATPA)do
begin
MyPoint := MyTPA[i]
MMouse (MyPoint.x, MyPoint.y, 3, 3);
wait(100+random(200));
if (IsUpTextMultiCustom(['yref', 'ttac'])) then
begin
GetMousePos(x, y);
Mouse(x, y, 0, 0, False);
wait(100+random(200));
if ChooseOption('yref') then
begin
result:=true;
InFightAntiBan(TimeBewtweenHit,PlusRandom);
Exit;
end;
end;
end;
end;
end;
function FindOtherPyrefiend : boolean;
var
x, y: integer;
begin
if(not(LoggedIn))then Exit;
if action = 'Attack' then
if FindColorSpiralTolerance(x, y, 1179390, 587, 56, 682, 135, 20) then
begin
mouse(x, y, 5, 5, true)
result:=true;
end;
end;
procedure attack;
var
x, y: integer;
begin
if(not(LoggedIn))then Exit;
if CheckUpIngame then exit;
if action = 'Attack' then
begin
GameTab(4);
writeln('WE ARE KILLING THOSE NOOB PYREFIEND');
repeat
begin
repeat
begin
if CheckUpIngame then exit;
AttackPyrefiend;
end;
until not (AttackPyrefiend);
if CheckUpIngame then exit;
FindOtherPyrefiend;
end;
until FindDeath or not(FindDTM(multicombat, x, y, MSX1, MSY1, MSX2, MSY2));
if not(FindDTM(multicombat, x, y, MSX1, MSY1, MSX2, MSY2)) then
begin
WhereWeAre;
Exit;
end;
end;
end;
procedure mainloop;
var
t:integer;
begin
WhereWeAre;
repeat
if action = 'OutSide' then
begin
repeat;
ClickPortal1
if whereweare = 'InGame' then break;
wait(3000);
inc(t)
until((t>4) or (action = 'InWaitingRoom'));
if t>4 then terminate('we didnt got able to enter waiting room');
end;
WaitForGame;
if PassInGamePortal1 then walk1;
if PassInGamePortal2 then walk2;
attack;
if(not(LoggedIn))then break;
until(AllPlayersInactive);
terminate('');
end;
begin
sign;
preparingopening;
activateclient;
setaudiooff
DeclareDtms;
mainloop;
terminate('');
end.
MY AUTO TELETAB MAKER
program LumbTeletabMaker;
{.Include SRL\SRL\Misc\Smart.Scar}
{.Include SRL\SRL.Scar}
var
x, y, SoftClay, HouseTeletab, LumbTeletabStudy, LumbTeletab, solftclaybitmap, a, b, d, e, ad, Tm, exp, ScriptBegin, BoutonOn, housebutton : integer;
const
world=157 ; //world you want to go only use if you use smart :)
Procedure DeclarePlayers;
Begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name :='';
Players[0].Pass :='';
Players[0].Nick :='';
Players[0].Active:=True;
end;
procedure SetupTime;
begin
MarkTime(ScriptBegin);
end;
function TimeRunningToHours: Extended;
var
TimeInt: Integer;
HoursRunning: Extended;
begin
TimeInt := GetTimeRunning;
HoursRunning := TimeInt/(60*60*1000);
Result := HoursRunning;
end;
procedure ProgressReport;
begin
exp:= Tm*41;
writeln('===================================');
writeln('||||| MADE BY FRANCIS HELIE ||||');
writeln('===================================');
writeln('| we ran: ' + TimeRunning );
writeln('| we maked: ' + IntToStr(Tm) + ' lumbridge teletab!!');
writeln('| Exp gained ' + inttostr(exp) + ' experience in mage')
Writeln('| XP per Hour: ' + FloatToStr(exp/TimeRunningToHours));
writeln('| we did: ' + IntToStr(Ad) + ' anti ban!!');
writeln('===================================');
end;
procedure Terminate(Text: String);
begin
WriteLn(Text);
LogOut;
ProgressReport;
TerminateScript;
end;
procedure loadbitmap;
begin
solftclaybitmap := BitmapFromString(30, 18, 'beNqV1LsKAjEQBdBN4/' +
'vxGzYWFgqCFoqgIAqKKGhjYWFhI1j4+Y7e3SFmJmMMt1o2h+xNNlk' +
'WGW47riH7SZ7TrM7BE7ywGlbn/eqoW6ZZn9jDSfC8aHAkDp9i4k7V' +
'gqj4tFexZZ5+WeqJ4SQXtegLZuG6bgYxcKoC8qBT0nAnNeS2CX0f9' +
'2WVpfdJMBLDsYPxnh3Nve9aaqTPOK35++yFA58ckwOfcZaNg4EpEB' +
'6HMNIHTjKXHNs4KT+PbUT6jHPJsYZtWcUp1AaqsH+Qv2QsmEv+dWO' +
'4xDbAYvuo5ISL6I1L2We5XrBUcrKc4ywHrH/Y8Pclszkuzxsv1Wf/' +
'l7PiGk+JNl56JPdR');
BoutonOn := BitmapFromString(22, 1, 'beNoL8vX19fT0dAUiZEZE' +
'ZAiQERjkC0RANhBBGKGhgUAGUArIgKgMBACbXRQo');
housebutton := BitmapFromString(25, 25, 'beNp9lU9LG2EQh5Mv4' +
'CfoKaiISDEGWtpQ/+UkAQWtCKWpWnPRQqGCaFq85CCIF0Hx4EFo8a' +
'JQeuix9OQX89k8ZnzdVZdhmZ2defKbmTdJqdS/yvud4/ba99SIvF9' +
'sY83+1WjM1uuTGPk9K14ZR/u6dYCltBwwaEXg8OCwhKjN0arj05jA' +
'oBWA2VXUE50GhMLoN232Yb+lR/VQIsSgqCItNz3LUz0hJrBkpjlP7' +
'WL1U6s4lpRjpgnP0DBqodVqtRQSHCUJSddBWowdE1ivVvDhbLZb3K' +
'k1WU5Iio+QRubG0lSYwFfVsc8f5ltzr3e3VghKC/0hKWjBoQqjCqN' +
'8p93MzsP2+vXFAY8CybwTXJ8EmDtpBOFIwKgFQiGOqKufp9AESpOT' +
'00Ow8WY0IHKOOqvcL093QeGD+v/nBJPGV4Bd5PTAX5ibAYUqagN1d' +
'rgHgVpREERhPDZnJtxsqgcOtfYCDQIcS066XzqtKVE7izV8446R5J' +
'cjI546sPjK4BX5tOPEqMKxVhT+u6EB7n+vz0hAFdtxyylHAnfFk7/' +
'89gUlgVIeKOI45DAQCrs/vsGEQ1wO+aiyNYIaQaoYUYrKjmu1YoOH' +
'3Q4omLwl/9f5UayYzyLiTFSFL0qp5EjjER8OSkAhhkcyKUEADbJuU' +
'djH2QqvQhVqfZQmOYYcKAyFoACKgoMhGJ87KDryREkj7sZdOhqMeH' +
'hClZxA0UWgpBH0o5mtJ9CgCTf/fvOKiBCFIRun/7NcptxF4ABxTdE' +
'Oj3K4Cw8U8np64s+i7ClFObP18LDBQPHKmUOjhRyq+C/mKCjJOup9' +
's0TBd/jSQOEH6p5zC9LBqHA=');
end;
function DdtmBank: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 685;
dtmMainPoint.y := 149;
dtmMainPoint.AreaSize := 1;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 596557;
dtmMainPoint.Tolerance := 255;
dtmSubPoints[0].x := 685;
dtmSubPoints[0].y := 149;
dtmSubPoints[0].AreaSize := 1;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 596557;
dtmSubPoints[0].Tolerance := 255;
dtmSubPoints[1].x := 698;
dtmSubPoints[1].y := 140;
dtmSubPoints[1].AreaSize := 2;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 195836;
dtmSubPoints[1].Tolerance := 50;
dtmSubPoints[2].x := 694;
dtmSubPoints[2].y := 145;
dtmSubPoints[2].AreaSize := 2;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 195836;
dtmSubPoints[2].Tolerance := 50;
dtmSubPoints[3].x := 695;
dtmSubPoints[3].y := 153;
dtmSubPoints[3].AreaSize := 2;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 195836;
dtmSubPoints[3].Tolerance := 50;
dtmSubPoints[4].x := 695;
dtmSubPoints[4].y := 161;
dtmSubPoints[4].AreaSize := 2;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 195836;
dtmSubPoints[4].Tolerance := 0;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
function DdtmToStudy: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..7] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 1264;
dtmMainPoint.y := 370;
dtmMainPoint.AreaSize := 1;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 4479076;
dtmMainPoint.Tolerance := 100;
dtmSubPoints[0].x := 1264;
dtmSubPoints[0].y := 370;
dtmSubPoints[0].AreaSize := 1;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 4479076;
dtmSubPoints[0].Tolerance := 100;
dtmSubPoints[1].x := 1235;
dtmSubPoints[1].y := 349;
dtmSubPoints[1].AreaSize := 3;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 230;
dtmSubPoints[1].Tolerance := 33;
dtmSubPoints[2].x := 1230;
dtmSubPoints[2].y := 343;
dtmSubPoints[2].AreaSize := 3;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 230;
dtmSubPoints[2].Tolerance := 33;
dtmSubPoints[3].x := 1224;
dtmSubPoints[3].y := 334;
dtmSubPoints[3].AreaSize := 3;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 230;
dtmSubPoints[3].Tolerance := 33;
dtmSubPoints[4].x := 1219;
dtmSubPoints[4].y := 329;
dtmSubPoints[4].AreaSize := 3;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 230;
dtmSubPoints[4].Tolerance := 33;
dtmSubPoints[5].x := 1271;
dtmSubPoints[5].y := 381;
dtmSubPoints[5].AreaSize := 3;
dtmSubPoints[5].AreaShape := 0;
dtmSubPoints[5].Color := 230;
dtmSubPoints[5].Tolerance := 33;
dtmSubPoints[6].x := 1240;
dtmSubPoints[6].y := 374;
dtmSubPoints[6].AreaSize := 3;
dtmSubPoints[6].AreaShape := 0;
dtmSubPoints[6].Color := 230;
dtmSubPoints[6].Tolerance := 33;
dtmSubPoints[7].x := 1261;
dtmSubPoints[7].y := 361;
dtmSubPoints[7].AreaSize := 3;
dtmSubPoints[7].AreaShape := 0;
dtmSubPoints[7].Color := 230;
dtmSubPoints[7].Tolerance := 33;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
function DdtmToGlory: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..5] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 1264;
dtmMainPoint.y := 285;
dtmMainPoint.AreaSize := 1;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 4874348;
dtmMainPoint.Tolerance := 90;
dtmSubPoints[0].x := 1264;
dtmSubPoints[0].y := 285;
dtmSubPoints[0].AreaSize := 1;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 4874348;
dtmSubPoints[0].Tolerance := 90;
dtmSubPoints[1].x := 1245;
dtmSubPoints[1].y := 254;
dtmSubPoints[1].AreaSize := 1;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 238;
dtmSubPoints[1].Tolerance := 30;
dtmSubPoints[2].x := 1262;
dtmSubPoints[2].y := 269;
dtmSubPoints[2].AreaSize := 1;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 238;
dtmSubPoints[2].Tolerance := 30;
dtmSubPoints[3].x := 1261;
dtmSubPoints[3].y := 253;
dtmSubPoints[3].AreaSize := 1;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 238;
dtmSubPoints[3].Tolerance := 30;
dtmSubPoints[4].x := 1246;
dtmSubPoints[4].y := 270;
dtmSubPoints[4].AreaSize := 1;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 238;
dtmSubPoints[4].Tolerance := 30;
dtmSubPoints[5].x := 1257;
dtmSubPoints[5].y := 265;
dtmSubPoints[5].AreaSize := 1;
dtmSubPoints[5].AreaShape := 0;
dtmSubPoints[5].Color := 238;
dtmSubPoints[5].Tolerance := 30;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
procedure DTMS;
begin
SoftClay:= DTMFromString('78DA63CC676260886064000108C9C09017CCC' +
'72086C467AC05AA0945550362A1A82903AA4924A02603A82689809A2' +
'4A09A68026A2A89505340D82E00344A0737');
HouseTeletab := DTMFromString('78DA6364666560E064620001460608D8B7750' +
'B8328129F9111A88603558D9BA323AA1A9039ACA86A6494EF62AAE12' +
'5A08603D33D186AFEB13030701150F38D05C31C100B450D0BD02E71F' +
'C6A00D7420AB8');
LumbTeletabStudy := DTMFromString('78DA6354646660A86600034608C5909D9CCC2' +
'08EC4675405AAA94755D3BF790BAA1A59A09A3A22D4141350A300549' +
'389AA465AE92EA69A8904D41802D5541250C341580D00662C1134');
LumbTeletab := DTMFromString('78DA6364646560F8C7C80002109281212F3D8' +
'D410C89CFF89F054832A1A899B4753BAA1A2656C26A40E6FC61C4AFE' +
'633500D27AA3920168A1A1EA05D5C04D4F001D57C63C4AB0600B24F0' +
'E24');
end;
procedure AntiBan;
var
mx , my :integer;
begin
if(not(LoggedIn))then
Exit;
case Random(45) of
1:begin // Changes RS Music track :) credit to --> Hy71194 aka Harry
GameTab(13);
Wait(Random(2000));
MouseBox(715,284,728,435,1);
Wait(40+Random(3000));
if FindColorTolerance(mx,my, 65280, 562, 270, 661, 450, 5) then
begin
Mouse(mx + Random(125), my + Random(8), 0, 0, True);
Wait(Random(3000));
end else
begin
MouseBox(562,268,711,449,1);
Wait(Random(1000));
end;
GameTab(4)
inc(ad);
end;
2:begin
MakeCompass(IntToStr(Random(360)));
MakeCompass(IntToStr(Random(360)));
MakeCompass('360');
setangle(true);
inc(ad);
end;
3:begin
GameTab(1+Random(12));
GameTab(4);
inc(ad);
end;
4:begin
SleepAndMoveMouse(random(150));
inc(ad);
end;
5..10:begin
MouseBox(MSX1, MSY1, MSX2, MSY2, 3);
inc(ad);
end;
11:begin
PickUpMouse;
inc(ad);
end;
12..13:begin
HoverSkill('magic',false);
GameTab(4)
inc(ad);
end;
14:begin
RandomRClick;
inc(ad);
end;
15..45:begin
wait(500+random(1945));
end;
end;
end;
function FindEdgBank: boolean;
var
WalkDTM, x, y : integer;
begin
if(not(LoggedIn))then Exit;
MakeCompass(IntToStr(355+Random(5)));
wait(200+random(200));
WalkDTM := DdtmBank;
repeat
Wait(100);
inc(b);
until(DTMRotated(WalkDTM, X, Y, MMx1,MMy1,MMx2,MMy2) or (b>200));
b:=0
if DTMRotated(WalkDTM, X, Y, MMx1,MMy1,MMx2,MMy2) then
begin
Mouse(X, Y, 3, 3, True);
FFlag(5);
Result := True;
end;
FreeDTM(WalkDTM);
end;
function OpenEdgBank: boolean;
var
MyTPA : TPointArray;
i, H, c : Integer;
ATPA : T2DPointArray;
begin
if(not(LoggedIn))then Exit;
setangle(true);
MakeCompass(IntToStr(260+Random(20)));
wait(200+random(100));
FindColorsSpiralTolerance(MSCX, MSCY,MyTPA, 7437958, MSx1, MSy1, MSx2, MSy2, 20);
ATPA := TPAtoATPA(MyTPA, 4);
if Length(MyTPA) = 0 then FindColorsTolerance(MyTPA, 7701130, MSX1, MSY1, MSX2, MSY2, 25);
ATPA := TPAtoATPA(MyTPA, 4);
H := High(ATPA);
For I := 0 To H Do
begin
MiddleTPAEx(ATPA[i], X, Y);
MMouse(X, Y, 3, 3);
if (IsUpText('booth')) then
begin
GetMousePos(x, y);
Mouse(x, y, 0, 0, False);
if ChooseOption('quickly') then
begin
MarkTime(c);
repeat
Wait(100);
until (BankScreen) or (TimeFromMark(c) > 9000);
result:=true;
Exit;
end;
end;
end;
end;
procedure PreparingOpening;
begin
SetupSRL;
SMARTSetupEx(world, True, false, False);
Wait(5000);
SetTargetDC(SmartGetDC);
repeat
wait(100);
until(SmartGetColor(253, 233)<>1118604);
DeclarePlayers;
LoginPlayer;
end;
function WithdrawSoftClay:boolean;
begin
DTMS;
wait(422+random(200));
if DTMRotated(LumbTeletab, x, y, MiX1, MiY1, MiX2, MiY2) then
begin
mmouse(x, y, 10, 10)
wait(800+random(300));
if IsUpText('umbri') then
begin
mouse(x, y, 0, 0, false)
wait(800+random(300));
ChooseOption('Deposit-All')
wait(random(1000));
end;
end;
DTMS;
if DTMRotated(softclay, x, y, MSX1, MSY1, MSX2, MSY2) then
begin
mmouse(x, y, 3, 3)
wait(800+random(300));
if IsUpText('oft') then
begin
mouse(x, y, random(2), random(2), false)
wait(800+random(300));
if ChooseOption('Withdraw-All') then result:=true;
end;
CloseBank;
end;
freedtm(LumbTeletab);
freedtm(softclay);
end;
function WithdrawSoftclayBackup:boolean;
begin
if BankScreen=false then openedgbank;
loadbitmap;
writeln('backup soft clay');
wait(300+random(200));
if findBitmapToleranceIn(solftclaybitmap, x, y, MSX1, MSY1, MSX2, MSY2, 20) then // if FindBitmapSpiralTolerance(solftclaybitmap, x, y ,MSX1, MSY1, MSX2, MSY2,50)
begin
mmouse(x, y, 3, 3)
wait(800+random(300));
if IsUpText('oft') then
begin
mouse(x, y, 0, 0, false)
wait(800+random(300));
if ChooseOption('Withdraw-All') then
result:=true;
end;
CloseBank;
end;
FreeBitmap(solftclaybitmap);
end;
function TeleportToHouse:boolean;
begin
wait(100+random(200));
setangle(true);
MakeCompass(IntToStr(355+Random(5)));
gametab(4);
DTMS;
if DTMRotated(HouseTeletab, x, y, MiX1, MiY1, MiX2, MiY2) then
begin
mouse(x, y, 3, 3, true)
result:=true;
end;
freedtm(HouseTeletab);
wait(4234+random(1234));
end;
function BuildingMode:boolean;
var
WalkDTM : integer;
begin
WalkDTM := DdtmToStudy;
repeat
Wait(100);
inc(b);
until(DTMRotated(WalkDTM, X, Y, MmX1, MmY1, MmX2, MmY2) or (b>200));
b:=0
freedtm(DdtmToStudy);
antiban;
gametab(11);
loadbitmap;
repeat
Wait(100);
inc(b);
until(FindBitmapSpiralTolerance(housebutton, x, y, MiX1, MiY1, MiX2, MiY2, 40) or (b>200));
b:=0
if FindBitmapSpiralTolerance(housebutton, x, y, MiX1, MiY1, MiX2, MiY2, 40) then
begin
mouse(x, y, 5, 5,true)
end;
FreeBitmap(housebutton);
loadbitmap;
repeat
Wait(500);
inc(b);
until(FindBitmapSpiralTolerance(BoutonOn, x, y, MiX1, MiY1, MiX2, MiY2, 10) or (b>200) or (FindColorSpiralTolerance(x, y, 1777020, 603, 299, 628, 304, 10)));
b:=0
if FindColorSpiralTolerance(x, y, 1777020, 603, 299, 628, 304, 10) then
begin
result:=true
FreeBitmap(BoutonOn);
exit;
end;
if findBitmapToleranceIn(BoutonOn, x, y, MiX1, MiY1, MiX2, MiY2, 5) then
begin
mouse(x, y, 10, 10,true)
result:=true;
end;
FreeBitmap(BoutonOn);
antiban;
wait(3000+random(200));
b:=0
end;
function WalkToStudy:boolean;
var
WalkDTM : integer;
begin
setangle(true);
MakeCompass(IntToStr(355+Random(5)));
WalkDTM := DdtmToStudy;
MarkTime(a);
repeat
Wait(80);
until(DTMRotated(WalkDTM, X, Y, MmX1, MmY1, MmX2, MmY2)) or (TimeFromMark(a)>20000);
if DTMRotated(WalkDTM, X, Y, MmX1, MmY1, MmX2, MmY2) then
begin
mouse(x, y, 1, 1, true);
result:=true
fflag(6);
wait(800+random(200));
end;
freedtm(DdtmToStudy);
end;
function ClickStudy: boolean;
var
MyTPA : TPointArray;
x, y, i, H : Integer;
ATPA : T2DPointArray;
begin
case Random(3) of
1:gametab(4);
end;
FindColorsSpiralTolerance(MSCX, MSCY,MyTPA, 7575210 , MSx1, MSy1, MSx2, MSy2, 10);
ATPA := TPAtoATPA(MyTPA, 1);
if Length(MyTPA) = 0 then FindColorsTolerance(MyTPA, 10858161, MSX1, MSY1, MSX2, MSY2, 25);
ATPA := TPAtoATPA(MyTPA, 1);
H := High(ATPA);
For I := 0 To H Do
begin
MiddleTPAEx(ATPA[i], X, Y);
MMouse(X+(random(5)), Y-(random(6)), random(6), random(4));
wait(100+random(50));
if (IsUpText('ectern')) then
begin
case Random(2) of
0:begin
GetMousePos(x, y);
Mouse(x, y, random(2), 0, False);
if ChooseOption('tudy') then
begin
result:=true;
Exit;
end;
end;
1:begin
GetMousePos(x, y);
Mouse(x, y, random(2), 0, true);
result:=true;
exit;
end;
end;
end;
end;
end;
function MakeTab: boolean;
begin
DTMS;
MarkTime(d);
repeat
Wait(80);
until(DTMRotated(LumbTeletabStudy, x, y, MsX1, MsY1, MsX2, MsY2)) or (TimeFromMark(a)>10000);
if DTMRotated(LumbTeletabStudy, x, y, MsX1, MsY1, MsX2, MsY2) then
begin
mouse(x, y, 20, 20, true);
inc(Tm);
repeat
wait(10)
until not(finddtm(LumbTeletabStudy, x, y, MsX1, MsY1, MsX2, MsY2))
result:=true
end;
freedtm(LumbTeletabStudy);
end;
function WalkToGlory:boolean;
var
WalkDTM : integer;
begin
WalkDTM := DdtmToGlory;
MarkTime(e);
repeat
Wait(80);
until(DTMRotated(WalkDTM, X, Y, MMx1,MMy1,MMx2,MMy2)) or (TimeFromMark(a)>20000);
if DTMRotated(WalkDTM, X, Y, MMx1,MMy1,MMx2,MMy2) then
begin
mouse(x, y, random(2), random(2), true);
result:=true
fflag(0);
end;
freedtm(DdtmToGlory);
end;
function ClickGlory: boolean;
var
MyTPA : TPointArray;
x, y, i, H : Integer;
ATPA : T2DPointArray;
begin
if(not(LoggedIn))then
Exit;
setangle(false)
FindColorsSpiralTolerance(MSCX, MSCY,MyTPA, 2148596, MSx1, MSy1, MSx2, MSy2, 10);
ATPA := TPAtoATPA(MyTPA, 1);
if Length(MyTPA) = 0 then FindColorsTolerance(MyTPA, 11868044, MSX1, MSY1, MSX2, MSY2, 25);
ATPA := TPAtoATPA(MyTPA, 1);
H := High(ATPA);
For I := 0 To H Do
begin
MiddleTPAEx(ATPA[i], X, Y);
MMouse(X, Y, 3, 3);
wait(200+random(200));
if (IsUpText('mule')) then
begin
GetMousePos(x, y);
Mouse(x, y, 1, 1, False);
if ChooseOption('Rub') then
begin
repeat
wait(100);
until(FindNPCChatText('dgevill',Clickleft))
result:=true;
Exit;
end;
end;
end;
end;
procedure MainLoop;
var
WalkDTM : integer;
begin
SetAudio(1, 1, 1, nochange);
setangle(true);
MakeCompass('360');
WalkDTM := DdtmBank;
if DTMRotated(WalkDTM, X, Y, MMx1,MMy1,MMx2,MMy2) then
begin
FreeDTM(WalkDTM);
repeat
setrun(true);
if findedgbank=false then terminate('we didnt got able find bank');
if openedgbank=false then
begin
if openedgbank=false then
if OpenBankFast('eb')=false then terminate('we didnt got able to open bank');
end;
if WithdrawSoftClay=false then
begin
if WithdrawSoftclayBackup=false then terminate('we didnt got able to withdraw soft clay');
end;
if TeleportToHouse=false then terminate('we didnt got able to teleport to house');
if BuildingMode=false then terminate('we didnt got able to open building mode');
if WalkToStudy=false then terminate('we didnt got able to walk to study');
repeat
if ClickStudy=false then
begin
if WalkToStudy=false then terminate('we didnt got able to walk to study');
if ClickStudy=false then
begin
if ClickStudy=false then terminate('we didnt got able to click study');
end;
end;
MakeTab;
antiban;
until(FindBlackChatMessage('iece'))
Tm:= Tm -1 ;
if walktoglory=false then terminate('we didnt got able to walk to glory');
if clickglory=false then
begin
if walktoglory=false then terminate('we didnt got able to walk to glory');
if clickglory=false then terminate('we didnt go able to click glory');
end;
antiban;
wait(300+random(1000));
progressreport;
until(false);
FreeDTM(WalkDTM);
end;
WalkDTM := DdtmToStudy;
if DTMRotated(WalkDTM, X, Y, MMx1,MMy1,MMx2,MMy2) then
begin
freedtm(DdtmToStudy);
repeat
setrun(true);
if BuildingMode=false then terminate('we didnt got able to open building mode');
if WalkToStudy=false then terminate('we didnt got able to walk to study');
repeat
if ClickStudy=false then
begin
if WalkToStudy=false then terminate('we didnt got able to walk to study');
if ClickStudy=false then
begin
if ClickStudy=false then terminate('we didnt got able to click study');
end;
end;
MakeTab;
antiban;
until(FindBlackChatMessage('piece'))
Tm:= Tm -1 ;
if walktoglory=false then terminate('we didnt got able to walk to glory');
if clickglory=false then
begin
if walktoglory=false then terminate('we didnt got able to walk to glory');
if clickglory=false then terminate('we didnt go able to click glory');
end;
antiban;
wait(300+random(1000));
progressreport;
if findedgbank=false then terminate('we didnt got able find bank');
if openedgbank=false then
begin
if openedgbank=false then
if OpenBankFast('eb')=false then terminate('we didnt got able to open bank');
end;
if WithdrawSoftClay=false then
begin
if WithdrawSoftclayBackup=false then terminate('we didnt got able to withdraw soft clay');
end;
if TeleportToHouse=false then terminate('we didnt got able to teleport to house');
until(false);
end;
freedtm(DdtmToStudy);
end;
begin
PreparingOpening;
SetupTime;
mainloop;
end.