SRL Archive - Archive

Topic - SRL Member Application


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…
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

Sin

2012-05-19 23:06:14

Clueless about what to vote, why do you want to be a member?

Nexz

2012-05-19 23:16:18

From: Sin
Clueless about what to vote, why do you want to be a member?

Mainly because SRL is the only RS/botting community I really like. There are nice, helpful, thankful and professionals here!
Other than the other leach- and trolling communities with no point.

Ofcourse I'm also curious about what scripts are out there but I don't care so much about lvl nor gaining gold anymore. All I still like is PK'ing and programming my own color bot scripts for fun.

punkd

2012-05-19 23:17:26

Hey Topic, just a few things I would like to point out. It looks like you put some time into the script. Your Global variables are all over the place taking up alot of space and memory. Use them locally. We would like to know more about you. Script is good, if the application was just based on the script you would probably get an ok from most members but your activity on the other hand is not. Being an SRL Member doesn't mean your script is just amazing, its about being a valuable member of this community, helping people out, committing SRL, MSI, being active, etc.. I'm not going to vote for now but if I was to vote now, it would probably be a no. Take a look through this guide maybe it'll help you a bit more in your application and best of luck to you

http://villavu.com/forum/showthread.php?t=74195

Sin

2012-05-19 23:18:24

Wait, I have you on Skype I think..
Your skype name seems familiar, do you have an msn also like that?

E*
Talked to this guy on Skype before, he's cool and passionate about learning.
Plu the fact that the script is nice!
But as Punk said, you're using too many global variables, try to store them locally, they use a lot less memory.
Activity could also be worked on, but you can remedy that later.

mika

2012-05-19 23:32:26

a little more participation and your in for me.

Nexz

2012-05-19 23:37:47

Activity.. yea. That will be a matter of time. Busy life atm. Think I've been helpful in most of my posts tho.

About the variables, I know I was going to get comments on that, but, exept from the few dtm's I see no way to put them locally because the cordinates are at some point set, then calculated and then used in multiple procedure whish is why I need them globally. Making them shorter will make less clear what they stand for I'm afraid.

Thank you!

NiCbaZ

2012-05-27 01:40:21

You have clearly shown that you understand how to use logic effectively in a script & that is all you need. Big yes.

Raskolnikov

2012-05-27 02:36:18

Voted yes. Your script obviously shows you know how to script. Activity comes naturally, and we all have busy lives.

BobboHobbo

2012-05-27 04:39:17

From: Cut em2 it
Voted yes. Your script obviously shows you know how to script. Activity comes naturally, and we all have busy lives.


^ agreed.

Abu

2012-05-27 10:38:17

Most likely going to vote yes. Just one thing I want to point out.

This:
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;

Can be simplified to:
procedure WaitNotMoving;
begin
MarkTime(time_var);
while IsMoving do
begin
Wait(20);
if (TimeFromMark(time_var)>10000) then
StopScript('WaitNotMoving');
end;
end;

Yeh… that's mostly it :p

Community involvement is below par and I haven't seen you around before so I'll hold my vote for now.

Yago

2012-05-27 16:37:55

From: abu_jwka
Most likely going to vote yes. Just one thing I want to point out.

This:
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;

Can be simplified to:
procedure WaitNotMoving;
begin
MarkTime(time_var);
while IsMoving do
begin
Wait(20);
if (TimeFromMark(time_var)>10000) then
StopScript('WaitNotMoving');
end;
end;

Yeh… that's mostly it :p

Community involvement is below par and I haven't seen you around before so I'll hold my vote for now.


You still need to break out of that while loop.

Gucci

2012-05-27 17:59:39

Activity as stated isn't up to par but I like your script as it shows you have skills and knowledgeable when it comes to scripting so a yes from me.

Abu

2012-05-28 00:41:04

From: Yago
You still need to break out of that while loop.


Erm, it breaks out once it's not moving?

Yago

2012-05-28 10:39:27

Oops didn't see that terminate script was called.

J J

2012-06-01 13:22:38

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.

Nearly a copy of me. I'm also 18 and from the Netherlands. Also playing basketball, games, hanging out with friends, etc. And obviously scripting aswell and I'm going to study ICT next year so I have actually decided what to do ;) I also find myself wasting way too much time by watching random videos on YouTube xD Anyways, I just got promoted as a SRL Member today so I will be reading through some applications before voting. Need to get a good idea of when to vote yes and when to vote no first.

Good luck :)

Nexz

2012-06-02 19:06:00

From: NiCbaZ
You have clearly shown that you understand how to use logic effectively in a script & that is all you need. Big yes.

Very happy to hear, thanks.

To all of you btw.

I took a look into one of my newer scripts and there it even this short now: ;)
procedure WaitNotMoving;
begin
ResetMark;
while IsMoving do
WaitEndMark(10,10000,'never stopped moving');
end;
From: J J
Nearly a copy of me. I'm also 18 and from the Netherlands. Also playing basketball, games, hanging out with friends, etc. And obviously scripting aswell and I'm going to study ICT next year so I have actually decided what to do ;) I also find myself wasting way too much time by watching random videos on YouTube xD Anyways, I just got promoted as a SRL Member today so I will be reading through some applications before voting. Need to get a good idea of when to vote yes and when to vote no first.

Good luck :)

Gratz on membership :]
And what a coincidence lol! Altho I'm probably not going to study ICT (working for my parents atm) maybe you could tell me what it's like next year?
Also, may I ask where you play bb? Tbqh I quit bb at my club a while ago because everything exept from a few good guys were being a pain and I was busy (trainer was an idiot, several players too, sometimes referees too) but I might return soon.

Sin

2012-06-02 19:13:19

Basketball <3
Played for the junior team this year, too bad our season ended at the semis :(

J J

2012-06-03 09:58:32

From: Topic
Very happy to hear, thanks.

To all of you btw.

I took a look into one of my newer scripts and there it even this short now: ;)
procedure WaitNotMoving;
begin
ResetMark;
while IsMoving do
WaitEndMark(10,10000,'never stopped moving');
end;

Gratz on membership :]
And what a coincidence lol! Altho I'm probably not going to study ICT (working for my parents atm) maybe you could tell me what it's like next year?
Also, may I ask where you play bb? Tbqh I quit bb at my club a while ago because everything exept from a few good guys were being a pain and I was busy (trainer was an idiot, several players too, sometimes referees too) but I might return soon.

WSV Apeldoorn, in Apeldoorn.. hehe :P I'm taking a break now because I got a knee injury during a game :| Should be fine after summer but for now it is just slowly getting better. Working out 3 times a week now instead of 2x basketball/1x working out to keep my condition etc. Just got to 15 km/h 10 mins run again which is decent but my knee hurts a lot when I run for a longer time. Oh well I'll see how it works out xD

I plan to join a new team next year because I'm moving out somewhere next year, probably halfway through the school year.

putonajonny

2012-06-04 09:50:30

It's a no from me sorry :( for the following reasons

Look into case statements for your RWait

  if not (TimeFromMark(time_var)>3000) then
Result:=True;
why not just:
  if(TimeFromMark(time_var)<=3000) then
Result:=True;

Also don't use so many variables, you can use arrays, makes the code a lot neater

Good luck :)

Yago

2012-06-04 15:14:52

From: putonajonny
It's a no from me sorry :( for the following reasons

Look into case statements for your RWait

  if not (TimeFromMark(time_var)>3000) then
Result:=True;
why not just:
  if(TimeFromMark(time_var)<=3000) then
Result:=True;

Also don't use so many variables, you can use arrays, makes the code a lot neater

Good luck :)


Even simpler, you can do
Result := TimeFromMark(time_var)<=3000 

Nexz

2012-06-04 15:17:30

From: putonajonny
It's a no from me sorry :( for the following reasons

Look into case statements for your RWait

  if not (TimeFromMark(time_var)>3000) then
Result:=True;
why not just:
  if(TimeFromMark(time_var)<=3000) then
Result:=True;

Also don't use so many variables, you can use arrays, makes the code a lot neater

Good luck :)

I disagree if your think it's a better/more logical way. It's a personal preference in my opinion. And I also think it VERY unimportant.

But thank you anyway!

footballjds

2012-06-04 15:19:55

From: Yago
Even simpler, you can do
Result := TimeFromMark(time_var)<=3000; 

this^^ is definitely the best way.
From: Topic
I disagree if your think it's a better/more logical way. It's a personal preference in my opinion. And I also think it VERY unimportant.

But thank you anyway!


I understand and you're correct it is personal preference. I don't think how you change the boolean value of result is that important… however if your logic reflects that then it's possible something there…

Nexz

2012-06-04 15:21:49

From: Yago
Even simpler, you can do
Result := TimeFromMark(time_var)<=3000 

Ah, nice, didn't know that ;o

putonajonny

2012-06-13 15:09:33

From: Yago
Even simpler, you can do
Result := TimeFromMark(time_var)<=3000 


The only time you wouldn't want this is if you could have already set result to true, but then you would just do:
Result := Result or TimeFromMark(time_var)<=3000 

Yago

2012-06-13 15:43:40

From: putonajonny
The only time you wouldn't want this is if you could have already set result to true, but then you would just do:
Result := Result or TimeFromMark(time_var)<=3000 


But in that case, you could just check the result before and then break/exit/terminate…

if Result then
Breaking/Exiting
else
Result := blah...

punkd

2012-06-14 17:23:07

lol yago, putonajonny, the OP isn't even active anymore, Never was so if your trying to give him advice dont think its gna get there :P. You two should make a thread about it :)

Sir Ducksworthy

2012-06-16 18:08:06

Sorry no from me

Nexz

2012-06-17 19:06:36

From: punkd
lol yago, putonajonny, the OP isn't even active anymore, Never was so if your trying to give him advice dont think its gna get there :P. You two should make a thread about it :)

Not true. I've been active and glad with advice all the way.

Awkwardsaw

2012-06-17 19:43:13

I'm curious, how well does your room detection work? I've made one like this before, but I could NEVER get any type of color method to work for detecting which room you're in. Also, although you do show knowledge of scripting, it doesn't seem "advanced" enough for SRL members(IMO). I don't like your standards, especially using things like x_variable, y_variable, most people prefer to use things like XVariable, YVariable, things like that :) Oh, you also don't use randomness in your waits, which is a big no-no.

That being said, I've never seen(notice) you post before, so I don't know you well enough. I'm not going to vote yet :)

Nexz

2012-06-19 15:32:23

From: Awkwardsaw
I'm curious, how well does your room detection work? I've made one like this before, but I could NEVER get any type of color method to work for detecting which room you're in. Also, although you do show knowledge of scripting, it doesn't seem "advanced" enough for SRL members(IMO). I don't like your standards, especially using things like x_variable, y_variable, most people prefer to use things like XVariable, YVariable, things like that :) Oh, you also don't use randomness in your waits, which is a big no-no.

That being said, I've never seen(notice) you post before, so I don't know you well enough. I'm not going to vote yet :)

The script has a special random wait function build into my click mouse and move mouse procedures. This guarantees randomness between all actions in the script >.<

The room detection worked flawless for me :]

I use _ instead of capital letters because I personally find it WAY easier to read. Furthermore functions and procedures already use capitals which I think can be confusing sometimes.
For the rest I believe I followed Cohen's instructions on standards.