Nexz
2012-05-19 22:32:29
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?
Pascal. And a bit of Java and PHP.
Are you a member of any other communities?
I'm in a LoL community playing tons of premade 5v5's on TS but we ain't really got a name. I've been running a little Minecraft community too. Had my own server with tons of plugins. Working on a new one atm. For the rest I've been member of some RS communities. MMOE, SM, Sythe, RSB, Nexus etc). Got 65 FB on MMOE. Ran the biggest service thread at that time (1176 Replies, 18315 Views and far over 100 completed orders).
Tell us about yourself…
Please show us one (or multiple) 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?
Pascal. And a bit of Java and PHP.
Are you a member of any other communities?
I'm in a LoL community playing tons of premade 5v5's on TS but we ain't really got a name. I've been running a little Minecraft community too. Had my own server with tons of plugins. Working on a new one atm. For the rest I've been member of some RS communities. MMOE, SM, Sythe, RSB, Nexus etc). Got 65 FB on MMOE. Ran the biggest service thread at that time (1176 Replies, 18315 Views and far over 100 completed orders).
Tell us about yourself…
From: Topic
I like listening music, redditing, watching random videos and youtube channels, reading random interesting wiki pages, watching fantasy/scifi art, playing games, scripting, hanging out, playing basketbal, and I'm a 18 years old guy from the Netherlands, who couldn't figure what to go study yet.
Please show us one (or multiple) of your scripts.
program EternalLife;
{
AutoMTA Maze
by Topic
last update: 17 April 2012
status/features:
solves ooaaallov the 10 mazes in Maze sub-minigame in the Mage Training Arena
paints yo smartscreen (so cute with circles and squares. i love circles and women)
perfect walking cordinates (ooooowhhhwhorgasm yes wasapain)
cts 3
perfect statue finding/grabbing
imperfect statue finding at the start and end of a maze due to staff of air and environment :(
might-need-dtm-tweaking-room-detecting
instructions
have runes
have air staff equipped
toggle all mage spells and sort by level orders
feel like a zombie while closing the Squirt of Fortune
enter the maze thing (south one)
dont look at the variables
start the script
look at the bot until it stops
listen to The xx - Crystalised
go play outside
}
{$DEFINE SMART}
{$i srl/srl.simba}
{$i srl/srl/misc/paintsmart.simba}
var
x_var,
y_var,
time_var,
count_var,
random_var,
set_var,
number_var,
cts_var,
room_var,
grab_statue,
dtm_room_1,
dtm_room_2,
dtm_room_3,
dtm_room_4,
dtm_room_5,
dtm_room_6,
dtm_room_7,
dtm_room_8,
dtm_room_9,
dtm_room_10,
x_sw_square,
y_sw_square,
x_se_square,
y_se_square,
x_nw_square,
y_nw_square,
x_ne_square,
y_ne_square,
cor_x_sw_square,
cor_y_sw_square,
cor_x_nw_square,
cor_y_nw_square,
south_width,
north_width,
cor_south_width,
cor_north_width,
extend_x_sw,
extend_y_sw,
extend_x_sw_little,
extend_x_se,
extend_y_se,
extend_x_se_little,
extend_x_nw,
extend_y_nw,
extend_x_nw_little,
extend_x_ne,
extend_y_ne,
extend_x_ne_little,
x_sw_west,
y_sw_west,
x_sw_south,
y_sw_south,
x_se_south,
y_se_south,
x_se_east,
y_se_east,
x_nw_west,
y_nw_west,
x_nw_north,
y_nw_north,
x_ne_north,
y_ne_north,
x_ne_east,
y_ne_east,
circle_size_1,
circle_size_2,
x_middle_maze,
y_middle_maze,
x_save,
y_save
:Integer;
tpa_var
:TPointArray;
atpa_var
:Array of TPointArray;
const
wait_con=200;
procedure ClearPaint;
begin
SMART_ClearCanvas;
end;
procedure StopScript(reason_var:String);
begin
WriteLn('>> report: '+reason_var);
WriteLn('>> current room: '+IntToStr(room_var));
WriteLn('>> time ran: '+MsToTime(GetTimeRunning,Time_Abbrev));
WriteLn('>> stopping script');
ClearPaint;
TerminateScript;
end;
procedure RWait;
begin
Wait(Random(100));
random_var:=Random(50);
if random_var=1 then
Wait(Random(100));
if random_var=2 then
Wait(Random(200));
if random_var=3 then
Wait(Random(300));
if random_var=4 then
Wait(Random(700));
if random_var=5 then
Wait(Random(1000));
end;
procedure Click;
begin
RWait;
ClickMouse2(True);
end;
procedure HumanMMouse(eX,eY,ranX,ranY:Integer);
var
randSpeed: extended;
X,Y,X2,Y2,A,Dist,MP:Integer;
begin
RWait;
A:=MouseSpeed;
GetMousePos(X,Y);
Dist:=Distance(X,Y,eX,eY);
MP:=Round(Dist/150);
if MP < 0 then
MP:=1;
randSpeed:=(Random(MouseSpeed) / 2.0+MouseSpeed) / 10.0;
X2:=RandomRange(eX-(A*MP),eX+(A*MP));
Y2:=RandomRange(eY-(A*MP),eY+(A*MP));
WindMouse(X,Y,X2,Y2,11,8,10.0 / randSpeed,12.0 / randSpeed,10.0 * randSpeed,10.0 * randSpeed);
GetMousePos(X,Y);
MMouse(eX,eY,ranX,ranY);
MouseSpeed:=A;
end;
function IsUpTextAt(UpText:String):Boolean;
begin
Result:=(Pos(UpText,rs_GetUpTextAt(208,11)) > 0);
end;
function FindObjUpTextColPos(x_var,y_var,x_start,y_start,col_tpa,tol_tpa:Integer;HMod,SMod:Extended;pixels_tpa,col_ut,tol_ut,x_s,y_s,x_e,y_e:Integer):Boolean;
// FindObjUpTextColPos(x_var,y_var,x_start,y_start,col_tpa,tol_tpa,SMod,HMod,pixels_tpa,col_ut,tol_ut,x_s,y_s,x_e,y_e)
begin
Result:=False;
cts_var:=GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(HMod,SMod);
FindColorsSpiralTolerance(x_start,y_start,tpa_var,col_tpa,MSX1,MSY1,MSX2,MSY2,tol_tpa);
ColorToleranceSpeed(cts_var);
atpa_var:=TPAToATPAEx(tpa_var,15,15);
for number_var:=0 to High(atpa_var) do
begin
MiddleTPAEx(atpa_var[number_var],x_var,y_var);
if high(tpa_var) > pixels_tpa then
HumanMMouse(x_var-3,y_var-3,6,6);
MarkTime(time_var);
repeat
if (TimeFromMark(time_var)>1000) then
StopScript('unable to find uptext');
Wait(10);
until FindColorTolerance(x_var,y_var,col_ut,x_s,y_s,x_e,y_e,tol_ut)
begin
Result:=True;
GetMousePos(x_var,y_var);
Break;
end;
Wait(100+Random(100));
end;
end;
function FindObjNoUpText(x_start,y_start,col_tpa,tol_tpa:Integer;HMod,SMod:Extended;pixels_tpa:Integer):Boolean;
// FindStatue(x_var,y_var,x_start,y_start,col_tpa,tol_tpa,SMod,HMod,pixels_tpa)
begin
Result:=True
cts_var:=GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(HMod,SMod);
if not FindColorsSpiralTolerance(x_start,y_start,tpa_var,col_tpa,MSX1,MSY1,MSX2,MSY2,tol_tpa) then
Result:=False;
SetArrayLength(tpa_var,pixels_tpa);
ColorToleranceSpeed(cts_var);
if not MiddleTPAEx(tpa_var,x_var,y_var) then
Result:=False;
end;
procedure WaitStatueNotMoving;
begin
MarkTime(time_var);
repeat
if (TimeFromMark(time_var)>10000) then
StopScript('WaitStatueNotMoving 1');
if not FindObjNoUpText(x_middle_maze,y_middle_maze,8814719,8,0.30,0.11,30) then
StopScript('WaitStatueNotMoving 2');
x_save:=x_var
y_save:=y_var
Wait(100);
if not FindObjNoUpText(x_middle_maze,y_middle_maze,8814719,8,0.30,0.11,30) then
StopScript('WaitStatueNotMoving 3');
until (x_save-x_var)+(y_save-y_var)=0
WriteLn('> statue stopped moving');
end;
procedure ProgresReport;
begin
WriteLn('>> time running: '+MsToTime(GetTimeRunning,Time_Abbrev));
end;
procedure WaitNotMoving;
begin
Wait(2000+Random(1000));
MarkTime(time_var);
repeat
Wait(10);
until not IsMoving or (TimeFromMark(time_var)>10000)
if (TimeFromMark(time_var)>10000) then
StopScript('WaitNotMoving');
end;
function WaitYouTalking:Boolean;
begin
Result:=False
MarkTime(time_var);
repeat
Wait(10);
until FindColorTolerance(x_var,y_var,5460820,384,406,393,422,20)
or (TimeFromMark(time_var)>3000)
if not (TimeFromMark(time_var)>3000) then
Result:=True;
Wait(Random(300));
end;
function WaitOtherTalking:Boolean;
begin
Result:=False;
MarkTime(time_var);
repeat
Wait(10);
until FindColorTolerance(x_var,y_var,4934220,127,410,133,422,20)
or (TimeFromMark(time_var)>3000)
if not (TimeFromMark(time_var)>3000) then
Result:=True;
Wait(Random(300));
end;
function WaitSelectOption:Boolean;
begin
Result:=False;
MarkTime(time_var);
repeat
Wait(10);
until FindColorTolerance(x_var,y_var,2169874,299,404,310,411,30)
or (TimeFromMark(time_var)>3000)
if not (TimeFromMark(time_var)>3000) then
Result:=True;
Wait(Random(300));
end;
procedure WaitContinueBox;
begin
WriteLn('> waiting for continue box');
MarkTime(time_var);
repeat
Wait(10);
until FindColorTolerance(x_var,y_var,2007382,245,468,245,468,30)
or FindColorTolerance(x_var,y_var,938796,245,468,245,468,30)
or (TimeFromMark(time_var)>10000)
if (TimeFromMark(time_var)>10000) then
StopScript('WaitContinueBox');
Wait(200+Random(300));
end;
procedure WaitContinueBoxGone;
begin
WriteLn('> waiting until continue box is gone');
MarkTime(time_var);
repeat
Wait(200+Random(300));
until not FindColorTolerance(x_var,y_var,2007382,245,468,245,468,30)
or FindColorTolerance(x_var,y_var,938796,245,468,245,468,30)
or (TimeFromMark(time_var)>10000)
if (TimeFromMark(time_var)>10000) then
StopScript('WaitContinueBoxGone');
end;
procedure MoveToContinueBox;
begin
Wait(200);
Wait(Random(wait_con));
HumanMMouse(222,459,74,15);
end;
procedure FinishRoomFind(x_start,y_start:Integer);
begin
WriteLn('> finishing room');
Wait(Random(wait_con));
if not FindObjUpTextColPos(x_var,y_var,x_start,y_start,11445925,7,0.27,0.26,50,1627862,30,60,13,110,17) then
StopScript('FinishRoomFind');
end;
procedure FinishRoom(x_start,y_start:Integer);
begin
FinishRoomFind(x_start,y_start);
Click;
MoveToContinueBox;
if not WaitYouTalking then
StopScript('FinishRoom 1');
Click;
if not WaitOtherTalking then
Click;
Click;
if not WaitSelectOption then
Click;
if not WaitSelectOption then
StopScript('FinishRoom 2');
TypeSend('1');
if not WaitYouTalking then
TypeSend('1');
if not WaitYouTalking then
StopScript('FinishRoom 3');
Click;
if not WaitOtherTalking then
Click;
if not WaitOtherTalking then
StopScript('FinishRoom 4');
Click;
WaitContinueBoxGone;
end;
procedure SetCordinatesMaze;
begin
south_width:=cor_south_width
north_width:=cor_north_width
x_sw_square:=cor_x_sw_square
y_sw_square:=cor_y_sw_square
x_se_square:=x_sw_square+south_width
y_se_square:=y_sw_square
x_nw_square:=cor_x_nw_square
y_nw_square:=cor_y_nw_square
x_ne_square:=x_nw_square+north_width
y_ne_square:=y_nw_square
extend_x_sw:=x_sw_square-30
extend_y_sw:=y_sw_square+31
extend_x_sw_little:=x_sw_square-3
extend_x_se:=x_se_square+30
extend_y_se:=y_se_square+31
extend_x_se_little:=x_se_square+3
extend_x_nw:=x_nw_square-23
extend_y_nw:=y_nw_square-20
extend_x_nw_little:=x_nw_square+2
extend_x_ne:=x_ne_square+23
extend_y_ne:=y_ne_square-20
extend_x_ne_little:=x_ne_square-2
x_sw_west:=x_sw_square-13
y_sw_west:=y_sw_square-15
x_sw_south:=x_sw_square+13
y_sw_south:=y_sw_square+15
x_se_south:=x_se_square-13
y_se_south:=y_se_square+15
x_se_east:=x_se_square+13
y_se_east:=y_se_square-15
x_nw_west:=x_nw_square-12
y_nw_west:=y_nw_square+11
x_nw_north:=x_nw_square+12
y_nw_north:=y_nw_square-10
x_ne_north:=x_ne_square-12
y_ne_north:=y_ne_square-11
x_ne_east:=x_ne_square+12
y_ne_east:=y_ne_square+10
x_middle_maze:=(x_sw_square+((x_se_square-x_sw_square)/2))
y_middle_maze:=(y_nw_square+((y_sw_square-y_nw_square)/2))
end;
procedure PaintMaze;
begin
ClearPaint;
// square around the maze
SMART_DrawLine(False,point(x_sw_square,y_sw_square),point(x_se_square,y_se_square),clRed); // s
SMART_DrawLine(False,point(x_sw_square,y_sw_square),point(x_nw_square,y_nw_square),clRed); // w
SMART_DrawLine(False,point(x_nw_square,y_nw_square),point(x_ne_square,y_ne_square),clRed); // n
SMART_DrawLine(False,point(x_ne_square,y_ne_square),point(x_se_square,y_se_square),clRed); // e
// extend line x sw
SMART_DrawLine(False,point(x_sw_square,y_sw_square),point(extend_x_sw,y_sw_square),clRed);
// extend line y sw
SMART_DrawLine(False,point(x_sw_square,y_sw_square),point(extend_x_sw_little,extend_y_sw),clRed);
// extend line x se
SMART_DrawLine(False,point(x_se_square,y_se_square),point(extend_x_se,y_se_square),clRed);
// extend line y se
SMART_DrawLine(False,point(x_se_square,y_se_square),point(extend_x_se_little,extend_y_se),clRed);
// extend line x nw // unfin
SMART_DrawLine(False,point(x_nw_square,y_nw_square),point(extend_x_nw,y_nw_square),clRed);
// extend line y nw // unfin
SMART_DrawLine(False,point(x_nw_square,y_nw_square),point(extend_x_nw_little,extend_y_nw),clRed);
// extend line x ne // unfin
SMART_DrawLine(False,point(x_ne_square,y_ne_square),point(extend_x_ne,y_ne_square),clRed);
// extend line y ne // unfin
SMART_DrawLine(False,point(x_ne_square,y_ne_square),point(extend_x_ne_little,extend_y_ne),clRed);
// walk point 1
circle_size_1:=0
circle_size_2:=1
SMART_DrawCircle(False,point(x_sw_west,y_sw_west),14,False,clRed);
SMART_DrawCircle(False,point(x_sw_west,y_sw_west),circle_size_1,False,clRed);
SMART_DrawCircle(False,point(x_sw_west,y_sw_west),circle_size_2,False,clRed);
SMART_DrawCircle(False,point(x_sw_south,y_sw_south),14,False,clRed);
SMART_DrawCircle(False,point(x_sw_south,y_sw_south),circle_size_1,False,clRed);
SMART_DrawCircle(False,point(x_sw_south,y_sw_south),circle_size_2,False,clRed);
SMART_DrawCircle(False,point(x_se_south,y_se_south),14,False,clRed);
SMART_DrawCircle(False,point(x_se_south,y_se_south),circle_size_1,False,clRed);
SMART_DrawCircle(False,point(x_se_south,y_se_south),circle_size_2,False,clRed);
SMART_DrawCircle(False,point(x_se_east,y_se_east),14,False,clRed);
SMART_DrawCircle(False,point(x_se_east,y_se_east),circle_size_1,False,clRed);
SMART_DrawCircle(False,point(x_se_east,y_se_east),circle_size_2,False,clRed);
SMART_DrawCircle(False,point(x_nw_west,y_nw_west),10,False,clRed);
SMART_DrawCircle(False,point(x_nw_west,y_nw_west),circle_size_1,False,clRed);
SMART_DrawCircle(False,point(x_nw_west,y_nw_west),circle_size_2,False,clRed);
SMART_DrawCircle(False,point(x_nw_north,y_nw_north),10,False,clRed);
SMART_DrawCircle(False,point(x_nw_north,y_nw_north),circle_size_1,False,clRed);
SMART_DrawCircle(False,point(x_nw_north,y_nw_north),circle_size_2,False,clRed);
SMART_DrawCircle(False,point(x_ne_north,y_ne_north),10,False,clRed);
SMART_DrawCircle(False,point(x_ne_north,y_ne_north),circle_size_1,False,clRed);
SMART_DrawCircle(False,point(x_ne_north,y_ne_north),circle_size_2,False,clRed);
SMART_DrawCircle(False,point(x_ne_east,y_ne_east),10,False,clRed);
SMART_DrawCircle(False,point(x_ne_east,y_ne_east),circle_size_1,False,clRed);
SMART_DrawCircle(False,point(x_ne_east,y_ne_east),circle_size_2,False,clRed);
end;
procedure WaitUpTextGone;
begin
MarkTime(time_var);
repeat
if (TimeFromMark(time_var)>10000) then
StopScript('WaitUpTextGone 1');
Wait(10);
until FindColorTolerance(x_var,y_var,6469844,60,13,110,17,30)
MarkTime(time_var);
repeat
if (TimeFromMark(time_var)>10000) then
StopScript('WaitUpTextGone 2');
Wait(10);
until not FindColorTolerance(x_var,y_var,6469844,60,13,110,17,30)
WriteLn('> statue is moving');
end;
procedure StartMazeFind(x_start,y_start:Integer);
begin
WriteLn('> starting the maze');
if not FindObjUpTextColPos(x_var,y_var,x_start,y_start,9998993,6,0.40,0.16,100,6469844,30,60,13,110,17) then
StopScript('StartMazeFind');
end;
procedure StartMaze(x_start,y_start:Integer);
begin
Wait(Random(wait_con));
StartMazeFind(x_start,y_start);
Click;
Wait(6000);
SetCordinatesMaze;
PaintMaze;
WriteLn('> starting to solve the maze');
end;
procedure GrabStatue;
begin
WaitStatueNotMoving;
Wait(Random(wait_con));
if grab_statue = 1 then
begin
if not FindObjUpTextColPos(x_var,y_var,x_middle_maze,y_middle_maze,9143941,5,0.56,0.15,100,6469844,30,176,16,256,21) then
StopScript('GrabStatue');
Click;
WriteLn('> grabbing statue');
end;
if grab_statue = 2 then
begin
HumanMMouse(361-3,56-3,6,6);
Click;
WriteLn('> grabbing statue');
end;
if grab_statue = 3 then
begin
HumanMMouse(384-3,59-3,6,6);
Click;
WriteLn('> grabbing statue');
end;
WaitUpTextGone;
end;
procedure CheckTabMagic;
begin
if not GameTab(Tab_Magic) then
begin
MarkTime(time_var);
repeat
if (TimeFromMark(time_var)>5000) then
StopScript('CheckTabMagic');
Wait(Random(wait_con));
GameTab(Tab_Magic);
Wait(500+Random(500));
until GameTab(Tab_Magic)
end;
end;
procedure ClickSpellTelekineticGrab;
begin
CheckTabMagic;
if not FindColorTolerance(x_var,y_var,8363238,636,293,656,308,20) then
StopScript('ClickSpellTelekineticGrab');
if not FindColorTolerance(x_var,y_var,16350199,636,293,656,308,20) then
StopScript('ClickSpellTelekineticGrab 2');
Wait(Random(wait_con));
HumanMMouse(636,293,20,15);
Click;
end;
procedure WalkToPosition;
begin
Click;
WriteLn('> walking to new position');
ClickSpellTelekineticGrab;
WaitNotMoving;
GrabStatue;
end;
procedure SwWest;
begin
Wait(Random(wait_con));
HumanMMouse(x_sw_west-5,y_sw_west-5,10,10);
WalkToPosition;
end;
procedure SwSouth;
begin
Wait(Random(wait_con));
HumanMMouse(x_sw_south-5,y_sw_south-5,10,10);
WalkToPosition;
end;
procedure SeSouth;
begin
Wait(Random(wait_con));
HumanMMouse(x_se_south-5,y_se_south-5,10,10);
WalkToPosition;
end;
procedure SeEast;
begin
Wait(Random(wait_con));
HumanMMouse(x_se_east-5,y_se_east-5,10,10);
WalkToPosition;
end;
procedure NwWest;
begin
Wait(Random(wait_con));
HumanMMouse(x_nw_west-3,y_nw_west-3,6,6);
WalkToPosition;
end;
procedure NwNorth;
begin
Wait(Random(wait_con));
HumanMMouse(x_nw_north-3,y_nw_north-3,6,6);
WalkToPosition;
end;
procedure NeNorth;
begin
Wait(Random(wait_con));
HumanMMouse(x_ne_north-3,y_ne_north-3,6,6);
WalkToPosition;
end;
procedure NeEast;
begin
Wait(Random(wait_con));
HumanMMouse(x_ne_east-3,y_ne_east-3,6,6);
WalkToPosition;
end;
procedure SolveRoom1;
begin
cor_x_sw_square:=97
cor_y_sw_square:=303
cor_south_width:=295
cor_x_nw_square:=126
cor_y_nw_square:=55
cor_north_width:=242
WriteLn('> walking to the maze');
if not FindColorTolerance(x_var,y_var,2431228,583,101,642,136,20) then
StopScript('SolveRoom1');
HumanMMouse(x_var+20,y_var+5,5,5);
Click;
WaitNotMoving;
StartMaze(116,160);
NwWest;
NwNorth;
NeEast;
NeNorth;
NeEast;
SeSouth;
SwWest;
SwSouth
SeEast;
NeNorth;
WaitContinueBox;
ClearPaint;
FinishRoom(109,114);
end;
procedure SolveRoom2;
begin
cor_x_sw_square:=97
cor_y_sw_square:=303
cor_south_width:=295
cor_x_nw_square:=125
cor_y_nw_square:=55
cor_north_width:=244
WriteLn('> walking to the maze');
if not FindColorTolerance(x_var,y_var,2431228,566,103,627,160,20) then
StopScript('SolveRoom2');
HumanMMouse(x_var-3,y_var-8,7,10);
Click;
WaitNotMoving;
StartMaze(346,303);
NwNorth;
grab_statue:=2
NwWest;
grab_statue:=1
SwSouth;
SeEast;
NeNorth;
NwWest;
SwSouth;
WaitContinueBox;
ClearPaint;
FinishRoom(259,289);
end;
procedure SolveRoom3;
begin
cor_x_sw_square:=97
cor_y_sw_square:=303
cor_south_width:=295
cor_x_nw_square:=126
cor_y_nw_square:=55
cor_north_width:=242
WriteLn('> walking to the maze');
HumanMMouse(627,114,11,22);
Click;
WaitNotMoving;
if not FindColorTolerance(x_var,y_var,2431228,593,90,651,156,20) then
StopScript('SolveRoom3');
HumanMMouse(x_var+23,y_var-4,7,9);
Click;
WaitNotMoving;
StartMaze(83,188);
SwSouth;
SwWest;
NwNorth;
NwWest;
NwNorth;
NeEast;
SeSouth;
SwWest;
SwSouth;
SeEast;
ClearPaint;
WaitContinueBox;
HumanMMouse(655-6,82-3,12,6);
Click;
WaitNotMoving;
FinishRoom(MSCX,MSCY);
end;
procedure SolveRoom4;
begin
cor_x_sw_square:=126
cor_y_sw_square:=303
cor_south_width:=295
cor_x_nw_square:=150
cor_y_nw_square:=55
cor_north_width:=242
WriteLn('> walking to the maze');
if not FindColorTolerance(x_var,y_var,2431228,585,26,647,73,30) then
StopScript('SolveRoom4');
HumanMMouse(x_var-5,y_var,10,5);
Click;
WaitNotMoving;
StartMaze(320, 188);
grab_statue:=3
SwSouth;
grab_statue:=1
SwWest;
NwNorth;
NwWest;
SwSouth;
SwWest;
NwNorth;
WaitContinueBox;
ClearPaint
FinishRoom(MSCX,MSCY);
end;
procedure SolveRoom5;
begin
cor_x_sw_square:=93
cor_y_sw_square:=302
cor_south_width:=301
cor_x_nw_square:=123
cor_y_nw_square:=50
cor_north_width:=246
WriteLn('> walking to the maze');
HumanMMouse(606,26,23,32);
Click;
WaitNotMoving;
if not FindColorTolerance(x_var,y_var,2431228,552,11,690,161,20) then
StopScript('SolveRoom5');
HumanMMouse(x_var-5,y_var-5,10,5);
Click;
WaitNotMoving;
StartMaze(275,305);
NwWest;
NwNorth;
NwWest;
SwSouth;
SwWest;
SwSouth;
SeEast;
NeNorth;
NeEast;
WaitContinueBox;
ClearPaint;
FinishRoom(342,207);
end;
procedure SolveRoom6;
begin
cor_x_sw_square:=97
cor_y_sw_square:=303
cor_south_width:=295
cor_x_nw_square:=126
cor_y_nw_square:=55
cor_north_width:=242
WriteLn('> walking to the maze');
if not FindColorTolerance(x_var,y_var,2431228,565,100,613,153,20) then
StopScript('SolveRoom6');
HumanMMouse(x_var+20,y_var-5,8,10);
Click;
WaitNotMoving;
StartMaze(29,205);
NeNorth;
NeEast;
SeSouth;
SwWest;
SwSouth;
SwWest;
NwNorth;
WaitContinueBox;
ClearPaint;
FinishRoom(53,191);
end;
procedure SolveRoom7;
begin
cor_x_sw_square:=124
cor_y_sw_square:=302
cor_south_width:=300
cor_x_nw_square:=148
cor_y_nw_square:=50
cor_north_width:=245
WriteLn('> walking to the maze');
HumanMMouse(567,80,26,14);
Click;
WaitNotMoving;
if not FindColorTolerance(x_var,y_var,2431228,578,84,623,133,20) then
StopScript('SolveRoom7');
HumanMMouse(x_var-2,y_var-2,10,6);
Click;
WaitNotMoving;
StartMaze(287,148);
NeEast;
Wait(900+Random(300));
NeNorth;
NwWest;
NwNorth
NeEast;
Wait(400+Random(100));
NeNorth;
NwWest;
Wait(700+Random(200));
NwNorth;
NeEast;
WaitContinueBox;
ClearPaint;
FinishRoom(313,258);
end;
procedure SolveRoom8;
begin
cor_x_sw_square:=97
cor_y_sw_square:=303
cor_south_width:=295
cor_x_nw_square:=126
cor_y_nw_square:=55
cor_north_width:=242
WriteLn('> walking to the maze');
if not FindColorTolerance(x_var,y_var,2431228,644,122,677,158,20) then
StopScript('SolveRoom8');
HumanMMouse(x_var,y_var,7,7);
Click;
WaitNotMoving;
StartMaze(249,61);
SeSouth;
SeEast;
SeSouth;
SwWest;
SwSouth;
SeEast;
NeNorth;
NeEast;
SeSouth;
SwWest;
WaitContinueBox;
ClearPaint;
FinishRoom(MSCX,MSCY);
end;
procedure SolveRoom9;
begin
cor_x_sw_square:=126
cor_y_sw_square:=303
cor_south_width:=295
cor_x_nw_square:=150
cor_y_nw_square:=55
cor_north_width:=241
WriteLn('> walking to the maze');
if not FindColorTolerance(x_var,y_var,2431228,541,33,595,92,20) then
StopScript('SolveRoom9');
HumanMMouse(x_var-5,y_var-5,10,7);
Click;
WaitNotMoving;
StartMaze(221,276);
NwWest;
NwNorth;
NeEast;
NeNorth;
NwWest;
NwNorth;
NwWest;
NwNorth;
WaitContinueBox;
ClearPaint;
FinishRoom(MSCX,MSCY);
end;
procedure SolveRoom0;
begin
cor_x_sw_square:=126
cor_y_sw_square:=303
cor_south_width:=295
cor_x_nw_square:=150
cor_y_nw_square:=55
cor_north_width:=242
WriteLn('> walking to the maze');
if not FindColorTolerance(x_var,y_var,2431228,546,72,605,129,20) then
StopScript('SolveRoom0');
HumanMMouse(x_var-4,y_var+3,10,6);
Click;
WaitNotMoving;
StartMaze(265,46);
SeSouth;
SeEast;
SwSouth;
SwWest;
SwSouth;
SeEast;
SeSouth;
SwWest;
SwSouth;
SeEast;
WaitContinueBox;
ClearPaint;
FinishRoom(362,171);
end;
procedure DetectRoomResult(detected_room:Integer);
begin
room_var:=detected_room
WriteLn('> detected room: '+IntToStr(room_var));
Inc(count_var);
end;
procedure DetectRoom;
begin
dtm_room_1:=DTMFromString('m5wEAAHicE2dgYIgG4iwgLgDiSiDuA+IJQNwPxPlAXAHErlC2PxAbomFVIHYCYh8gDgPiDCCOB+JiII4E4kSoHUFI/GyoeSA8HYirgLgBiJuBuAyIc4A4AGpfMJQNcoMzEM8B4qlALF5VD8fCPHxgzMbABGcj4ykdXSjq0fWhYxGg+bTCjDTEOAAA7G8gGQ==');
dtm_room_2:=DTMFromString('mkwEAAHicE2ZgYEgDYlcoDgTiKCD2g/ITgTgLiGuBuB6IG4C4AogLgTgUiFOA2B2I/YE4G4jfAPF7IP4OxJ+B+BkQPwDie1D6PlQNSO4vVEyAkYFBGojlgJgdiAWB2A6IxesaULCwAD8Ys7Ewo9DoGF39lJ5uBhGgPdTCjFTEWAAA6agfew==');
dtm_room_3:=DTMFromString('m5wEAAHictc6hCsJgGIXh71e8g6F3syIGi7KwNmSISasGcf+2MgYTLEtTi1isVvEi9Ba8El/wq4MZduDhhFPOQEQ8+NhgjSUCzLGAxRih7hPEGMHFARmmmGGFLYY4GZGb+fUVR1R44I2X+uCp7uqCM3LEsNhpJ+hHaSNlsZdep/sXh+9tMS2qyRfGRSai');
dtm_room_4:=DTMFromString('mVAEAAHicpc6xCoNAEIThvdQxBBEMpLcNIZBaw2F9raQTrMUiVTgb43v7F2vwbG/gYxa2mbOIdBjwQw+PCSNmlNoftHCweOCJ+iBSwcKhUDkueKFRb+07brgi/fq/U3IM7pUxEtj+MzbEMJH2WQBKJxLN');
dtm_room_5:=DTMFromString('megIAAHicxc8xDgFREMbxYVk1FruNEqVGoVJwAAWFcg+g1mwhHECnwCEcRSkqlUKpIUHin80nUUlodpJfZvLezLy8qpkNMMQYS6xkLRvlBppoo4Mu6mih9nHXQx8jhNo7wRwL7YqwT5udsMUOBxxxxgWuY3Yj3/GUBxzOM+LBRxkleddFCVBR75V5fzqLeYX833Ju9ifxe/w5CamEfI8XPhgjrA==');
dtm_room_6:=DTMFromString('mZQIAAHicxc2tC8JgEMfxe1gY1iE2wZek1SmGwVBnGjY1mIQFMa4tbslq0j9v2WyyiF/hNpYWtwc+3I/jnru+iAyNSE9N4WKseaS5qGtsEGCrOWfHC2988IWh34GDASaYwdM/J2YiPHBRCWKkuOGOJ1bY4YgzrjhgXxHCh4clFmqu9d9zsrRkbKsRXe42zbSg9v0AkvQZzQ==');
dtm_room_7:=DTMFromString('mfgEAAHicE2JgYJBgZGCQAmIhIH4I5D8G4jdAzATkMwCxAhCLArEVEBsBsQEQfwJKvQViYSBbFojVGCH6WIH0F6gZID2/gfRrIOYEsq8D6RsMEHmQ2U+hap4zQOyXgNonXtWMFQvzCBGNQepFgMZRAzNSCWMCACV0GsA=');
dtm_room_8:=DTMFromString('mkwEAAHicE2ZgYJBhZGCIAeJkKA4GYjVGiLgsEP8GqnkDxN+AmBPKZwXS/4G0AJBWBmIzIPYC4mlAPBmI1wPxPiC+DsSXgXgDEB8B4ulQNauAeDsQ7wXiM0DcAsSVSLgUiEUbasGYhY0BjNH5pGARBuphRipiLAAA6DsaWQ==');
dtm_room_9:=DTMFromString('maQEAAHicE2RgYPgHxP+B+CsQCzEyMAgCsTIQ6wGxFRIWgIo5QGlNIH4D1PMdiO2YGBiCgbgSiK2BOASIbYHYHogtgdgdKp+JhEFqdYFYA4g1gViiphGM2ZlYGET4BMAYWQyGYXLofDAGuoVSzEgFjAEAdQATiw==');
dtm_room_10:=DTMFromString('mkwEAAHicrc2xCoJQAIXhc+2SUNCgblpLBD1Aq4O+VpOjEPRYkq/QFFFDUNAUCIq/4VaDgxc+zuFcLteXFBtphxWWuLFdMaNbbHsVm0v6SJDiydZgTg/xcaQ7HqhxwXTCO7zoC/JMnlCghNjeZERusO4ZY+Xtsx/H/PDV3Q8V8M1YzIj+nBYfURuK');
count_var:=0
if FindDtm(dtm_room_1,x_var,y_var,MMX1,MMY1,MMX2,MMY2) then
DetectRoomResult(1);
if FindDtm(dtm_room_2,x_var,y_var,MMX1,MMY1,MMX2,MMY2) then
DetectRoomResult(2);
if FindDtm(dtm_room_3,x_var,y_var,MMX1,MMY1,MMX2,MMY2) then
DetectRoomResult(3);
if FindDtm(dtm_room_4,x_var,y_var,MMX1,MMY1,MMX2,MMY2) then
DetectRoomResult(4);
if FindDtm(dtm_room_5,x_var,y_var,MMX1,MMY1,MMX2,MMY2) then
DetectRoomResult(5);
if FindDtm(dtm_room_6,x_var,y_var,MMX1,MMY1,MMX2,MMY2) then
DetectRoomResult(6);
if FindDtm(dtm_room_7,x_var,y_var,MMX1,MMY1,MMX2,MMY2) then
DetectRoomResult(7);
if FindDtm(dtm_room_8,x_var,y_var,MMX1,MMY1,MMX2,MMY2) then
DetectRoomResult(8);
if FindDtm(dtm_room_9,x_var,y_var,MMX1,MMY1,MMX2,MMY2) then
DetectRoomResult(9);
if FindDtm(dtm_room_10,x_var,y_var,MMX1,MMY1,MMX2,MMY2) then
DetectRoomResult(10);
FreeDtm(dtm_room_1);
FreeDtm(dtm_room_2);
FreeDtm(dtm_room_3);
FreeDtm(dtm_room_4);
FreeDtm(dtm_room_5);
FreeDtm(dtm_room_6);
FreeDtm(dtm_room_7);
FreeDtm(dtm_room_8);
FreeDtm(dtm_room_9);
FreeDtm(dtm_room_10);
end;
procedure StartRoom;
begin
ProgresReport;
DetectRoom;
Wait(Random(wait_con));
if count_var > 1 then
StopScript('multiple rooms detected');
if room_var = 0 then
StopScript('no room detected');
if room_var = 1 then
SolveRoom1;
if room_var = 2 then
SolveRoom2;
if room_var = 3 then
SolveRoom3;
if room_var = 4 then
SolveRoom4;
if room_var = 5 then
SolveRoom5;
if room_var = 6 then
SolveRoom6;
if room_var = 7 then
SolveRoom7;
if room_var = 8 then
SolveRoom8;
if room_var = 9 then
SolveRoom9;
if room_var = 10 then
SolveRoom0;
end;
procedure StartScript;
begin
Smart_Server:=1;
Smart_Members:=True;
Smart_Signed:=True;
Smart_SuperDetail:=False;
SetupSRL();
ClearPaint;
MouseSpeed:=15+Random(3);
if LobbyScreen then
begin
HumanMMouse(270,450,220,20);
Click;
MarkTime(time_var);
repeat
Wait(10+Random(100));
until LoggedIn or (TimeFromMark(time_var)>10000)
end;
if not LoggedIn then
StopScript('not logged in');
grab_statue:=1
set_var:=1
ClearDebug;
ClickNorth(SRL_Angle_High);
WriteLn('> ready to go');
end;
begin
StartScript;
repeat
StartRoom;
until False
end.
// and I made severals others scripts like a flawless Astral Crafter whish is probably irrelevant exept from the walking maybe but thats so easy kedavra