SRL Archive - Archive

leetsxc - SRL Member Application


Sir Ducksworthy

2012-03-23 16:40:42

How Long have You Played Runescape?
7 Year(s)


Are you affilated in anyway with Jagex LTD?
No

Were you Referred to SRL?



What is your general programming knowledge?
Pascal, Javascript


Are you a member of any other communities?
No


Tell us about yourself…
From: leetsxc
17 Year Old Aussie
Runescape Add1ct..
Scripting Addict even more so these days
Ive put out a lot of scripts lately hey

Interest's:
Programming, Music, Movies and Gaming.


Ok so it was Recommended that I post a script using TPA's so here we go =D:
program LeetzSxcSpellz;
{$DEFINE SMART}
{$i SRL/srl.simba}
{$i SRL/srl/misc/paintsmart.simba}
const
//////////////////////////////////////////IMPORTANT!!IMPORTANT!!IMPORTANT!!IMORTANT\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//Welcome to SxcSpellz version 1.5 by Leetsxc, Please review the STEPS below and complete which are required before starting the script.\\
//Rememeber ..\\
//////////////////////////////Start of $etup////////////////////////////////////
SERVER = 15; // Enter "0" to pick a random server. STEP 1
MEMBERS = False; //False if F2P True for P2P STEP 2
NumbOfPlayers = 1; //Dont touch Unless you wanna use multi player setup
StartPlayer = 0;//Dont touch
/////BREAKING SETUP\\\\\
UseBreaks = True; //Do you want to take breaks? STEP 3
SwitchWorld = True; //Do you want to switch worlds after the break? STEP 4
BreakIn = 290; //How many minutes until you take a break? STEP 5
BreakInRandom = 10; //How many minutes should the "BreakIn" time be varied by? STEP 6
BreakFor = 7; //How many minutes will you break for? STEP 7
BreakForRandom = 7; //How many minutes should the "BreakFor" time be varied by? STEP 8
///END OF BREAKING SETUP\\\

///SxcStunner Setup\\\
Spelloff = true; //If you are p2p have it to true if f2p false
Location = 'Varrock Bear'; //'Varrock Bear', 'Port Sarim Knight', 'Varrock Zammy Monk'
Spell = 'Curse'; //Type which spell you want to use STEP 9
Autocast = False; //If this is true forget about click type and wait after and make sure to have it on STEP 10
Clicktype = True; //If you need to Right Click the spell before Casting it you need to change this to False STEP 11
NpcClicktype = True; //If you are a lower level than the monster you are fighting and Autocasting it needs to be false STEP 12
Waitaftercast = 1300; //Milliseconds, the time to wait before casting another spell if auto cast dont worry STEP 13
Waitrandom = 100; //Milliseconds to randomly wait more for for Antiban after the waitaftercast if autocast dont worry STEP 14
// Confuse/Weaken/Curse/Vulnerability/Enfeeble/Stun \\
Howmany = 4000; //Type how many Cast's/Monster's if auto cast you would like to do before the script will END STEP 15
///End of SxcStunner Setup\\\
var
xx1,yy1,xx2,yy2,Color,Tol,Magexpbar,sx,sy,offsetx,offsety,exptype,casts,x,y,xp,breaktimer,BreaksTaken: integer;
Text:string;
HueModifier,SatModifier:Extended;

procedure DeclarePlayers;
var
i:integer;
begin
NumberOfPlayers(NumbOfPlayers);
CurrentPlayer := StartPlayer;
for i := 0 to NumbOfPlayers-1 do
Players[i].BoxRewards := ['XP'];
With Players[0] do
begin
Name := ''; //Username. STEP 16
Pass := ''; //Password. STEP 17
Active := True;
end;
{ With Players[1] do //For more players uncomment the {'s at top left and bottem right
begin
Name := ''; //Username.
Pass := ''; //Password.
Active := True;
end; }
end;
////////////////////////////// End of Setup////////////////////////////////////

Procedure PrintOnSmart(TP: TStringArray; Placement: TPoint; Colour: integer);
var
mx, my, Pic, I, B, H, TPH, Numb: Integer;
TTP: TPointArray;
Canvas: TCanvas;
begin
SmartSetDebug(True);
GetClientDimensions(mx, my);
Pic := BitmapFromString(mx, my, '');
TPH := High(TP);
for I := 0 to TPH do
begin
TTP := LoadTextTPA(TP[i], SmallChars, H);
for B := 0 to High(TTP) do
begin
Numb := ((I + 1) * 13);
FastSetPixel(Pic, TTP[b].x + 1, TTP[b].y + Numb + 1,8388736);
FastSetPixel(Pic, TTP[b].x, TTP[b].y + Numb, Colour);
end;
end;
Canvas := TCANVAS.Create;
Canvas.Handle := SmartGetDebugDC;
DrawBitmap(Pic, Canvas, Placement.x, Placement.y);
FreeBitmap(Pic);
end;


procedure Proggy;
begin
xp:=casts*exptype;
PrintOnSmart(['**/*/*/*/*/*/*/*/*/*/*\*\*\*\*\*\*\*\*\*\**',
' $$$$$$$$$SxcStunner v1.5$$$$$$$$$$',
' Time Running: ' + TimeRunning,
' Magic EXP Gained: ' + IntToStr(xp),
' Spell casts: ' + IntToStr(casts),
'**\*\*\*\*\*\*\*\*\*\*/*/*/*/*/*/*/*/*/*/**'], Point(104, 231), 59900);
Writeln('**/*/*/*/*/*/*/*/*/*/*\*\*\*\*\*\*\*\*\*\**');
Writeln(' $$$$$$$$$SxcStunner v1.5!$$$$$$$$$$');
Writeln(' Time Running: ' + TimeRunning);
Writeln(' Magic EXP Gained: ' + IntToStr(xp));
Writeln(' Spell Casts: ' + + IntToStr(casts));
Writeln('**\*\*\*\*\*\*\*\*\*\*/*/*/*/*/*/*/*/*/*/**');
end;

procedure AntiBan;
begin
if(not(LoggedIn))then
exit;
//Excluded only because it is messing with the inventory... constantly changing it from magic tab
//FindNormalRandoms;
//Findnoninventoryrandoms;
Case Random (3500) of
0..18: Begin SleepAndMoveMouse(5000 + Random(750)); End;
19..24: Begin GameTab(tab_Inv) ExamineInv; GameTab(tab_Magic); SleepAndMoveMouse(2500 + Random(553)); End;
43..48: Begin GameTab(Tab_Stats); Wait(3000 + Random(400)); GameTab(tab_Magic); SleepAndMoveMouse(2550 + Random(658)); End;
49..54: Begin GameTab(tab_Stats) HoverSkill('random', False); GameTab(tab_Magic); SleepAndMoveMouse(2200 + Random(545)); End;
55..60: Begin PickUpMouse; End;
61..66: Begin RandomMovement; End;
67..72: Begin BoredHuman; End;
73..78: begin if(gametab(tab_inv))then Begin ExamineInv; End; end;
End;
end;

function FindMonster(x, y: Integer): Boolean;
var
CTS, I: Integer;
TPA: TPointArray;
ATPA: Array of TPointArray;
begin
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(HueModifier, SatModifier);
FindColorsSpiralTolerance(x, y, TPA, Color, xx1, yy1, xx2, yy2, Tol);
ColorToleranceSpeed(CTS);
ATPA := TPAToATPAEx(TPA, 15, 15);

For I := 0 to High(ATPA) do
begin
MiddleTPAEx(ATPA[i], x, y);
MMouse(x, y, 2, 2);
If(WaitUpText(Text,100)) then
begin
Result := True;
GetMousePos(x, y);
Break;
end;
end;
end;

procedure CastProcess;
var
time:integer;
begin
if(not(GameTab(tab_Magic)))then GameTab(tab_Magic);
if(Autocast=false)then
begin
mouse(sx,sy,offsetx,offsety,clicktype);
if(Clicktype=false)then
begin
waitoption('Cast',500);
chooseoption('Cast');
end;
end;
if(FindMonster(x,y))then
begin
writeln('Found npc, spell casted');
casts:=casts+1;
getmousepos(x,y);
if(NpcClicktype=true)then
begin
mouse(x,y,0,0,true);
end else
begin
mouse(x,y,0,0,false);
waitoption('Attack',500);
Chooseoption('Attack');
end;
if(Autocast=true)then
begin
Marktime(time);
sleep(1000); //Mage xp bar could take one to go up
repeat
sleep(100);
until(Timefrommark(time) > 60000) or (not(finddtm(Magexpbar,x,y,234,4,289,56)))
end else
begin
sleep(Waitaftercast + random(Waitrandom));
end;
end;
end;

procedure SpellSetup;
begin
if(Autocast=true)then
begin
Magexpbar := DTMFromString('mrAAAAHic42BgYOBhZGDgBWIhIOYAYgYgloCy+YHYEiikD8RWQOwKxPZQbAfEDkCs5trAoKyszKCrq8vAwsLCIC4uDubfXqbMUK1jzsAFVIMPMxLAMAAA+DkHxQ==');
end;
Case Spell of
'Wind Strike': begin
exptype:=13;
offsetx:=6;
offsety:=6;
end;
'Confuse': begin
sx:=636;
sy:=221;
exptype:=13;
offsetx:=10;
offsety:=10;
end;
'Weaken': begin
sx:=616; sy:=244;
exptype:=20;
offsetx:=10;
offsety:=10;
end;
'Curse': begin
sx:=563;
sy:=270;
exptype:=29;
offsetx:=10;
offsety:=14;
end;
'Vulnerability': begin
if(spelloff=true)then
begin
sx:=663;
sy:=329;
end else
begin
sx:=640;
sy:=329;
end;
exptype:=76;
offsetx:=10;
offsety:=14;
end;
'Enfeeble': begin
if(spelloff=true)then
begin
sx:=593;
sy:=355;
end else
begin
sx:=566;
sy:=353;
end;
exptype:=83;
offsetx:=10;
offsety:=10;
end;
'Stun': begin
if(spelloff=true)then
begin
sx:=565;
sy:=377;
end else
begin
sx:=686;
sy:=353;
end;
exptype:=90;
offsetx:=10;
offsety:=10;
end;
End;

Case Location of
'Port Sarim Knight': begin
MakeCompass('W');
SetAngle(0);
xx1:=90;
yy1:=176;
xx2:=90;
yy2:=176;
Color:=3820930;
Tol:=7;
HueModifier:=0.03;
SatModifier:=0.02;
Text:='night';
end;
'Varrock Bear': begin
MakeCompass('N');
SetAngle(0);
xx1:=122;
yy1:=2;
xx2:=514;
yy2:=290;
Color:=2635581;
Tol:=5;
HueModifier:=0.08;
SatModifier:=0.27;
Text:='ear';
end;
'Varrock Zammy Monk': begin
MakeCompass('W');
SetAngle(0);
xx1:=204;
yy1:=28;
xx2:=313;
yy2:=190;
Color:=3820930;
Tol:=9;
HueModifier:=0.04;
SatModifier:=0.08;
Text:='onk';
end;
End;
end;

procedure TakeBreaks;
begin
if not LoggedIn then
Exit;
begin
if (GetSystemTime > BreakTimer) then
begin
WriteLn('Taking a break.');
Logout;
Wait(BreakFor * 60000 + Random(BreakForRandom * 60000));
WriteLn('Logging back in.');
Case (SwitchWorld) of
True: if LoginPlayerToLob then
ChangeWorld(RandomWorld(True, False));
False: LoginPlayer;
end;
Wait(2000);
BreaksTaken:=BreaksTaken+1;
BreakTimer := GetSystemTime + (BreakIn * 60000 + Random(BreakInRandom * 60000));
end;
end;
end;

begin
Smart_server := SERVER;
Smart_Signed := TRUE;
Smart_Members := MEMBERS;
Smart_SuperDetail := FALSE;
SetupSRL;
DeclarePlayers;
LoginPlayer;
smart_clearcanvas;
SpellSetup;
proggy;
mousespeed:=25;
Wait(2000);
BreakTimer := GetSystemTime + (BreakIn * 60000 + Random(BreakInRandom * 60000));
repeat
CastProcess;
AntiBan;
Proggy;
if(Casts=Howmany)then
Terminatescript();
if (UseBreaks) then
TakeBreaks;
until (not Loggedin);
end.

Please show us one (or multiple) of your scripts.
program LeetzGnomeRunnerPRO;
{$DEFINE SMART}
{$i SRL/srl.simba}
{$i SRL/srl/misc/paintsmart.simba}
const
//////////////////////////////////////////IMPORTANT!!IMPORTANT!!IMPORTANT!!IMORTANT\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//Welcome to LeetzGnomeRunnerPRO version 1.1 by Leetsxc, Please review the STEPS below and complete which are required before starting the script.\\
// \\ // \\ \\
//////////////////////////////Start of $etup////////////////////////////////////\
SERVER = 15; // Enter "0" to pick a random server. STEP 1 // \\
MEMBERS = False; //False if F2P True for P2P STEP 2 // \\
NumbOfPlayers = 1; //Dont touch Unless you wanna use multi player setup // \\
StartPlayer = 0; //Dont touch // \\
/////BREAKING SETUP\\\\\ // //\\
UseBreaks = True; //Do you want to take breaks? STEP 3 \\ // \\
SwitchWorld = True; //Do you want to switch worlds after the break? STEP 4 \\ \\
BreakIn = 290; //How many minutes until you take a break? STEP 5 \\ // \\
BreakInRandom = 10; //How many minutes should the "BreakIn" time be varied by? STEP 6 \\ \\
BreakFor = 7; //How many minutes will you break for? STEP 7 \\ \\ //
BreakForRandom = 7;//How many minutes should the "BreakFor" time be varied by? STEP 8 // \\ //
///END OF BREAKING SETUP\\\ // // //
// // \\ //
////LeetzGnomeRunnerPRO Setup\\\\ // \\ //
Course = 'Normal'; //NEED AGILITY LEVEL BEFORE I CAN MAKE ADVANCED STEP 9 //
////////////////////////////////////// //
Howmany = 4500; //Type how Laps you would like to do before the script will END STEP 11 \\
///End of LeetzGnomeRunnerPRO Setup\\\ \\
var
RUNNEARNET,PIPECLOSE,LOGCLOSE,Closerope,PipeUsed,Landonground,WalktoLog,WalktoLog2,Pipe,Net2,Laps,StartTime,AntiBans,x,y,breaktimer,BreaksTaken: integer;
Stage:string;
aFound:extended;

procedure DeclarePlayers;
var
i:integer;
begin
NumberOfPlayers(NumbOfPlayers);
CurrentPlayer := StartPlayer;
for i := 0 to NumbOfPlayers-1 do
begin
Players[i].BoxRewards := ['amp'];
Players[i].LampSkill := 13;
end;
With Players[0] do
begin
Name := ''; //Username. STEP 12
Pass := ''; //Password. STEP 13
Active := True;
end;
{ With Players[1] do //For more players uncomment the {'s at top left and bottem right
begin
Name := ''; //Username.
Pass := ''; //Password.
Active := True;
end; }
end;
////////////////////////////// End of Setup////////////////////////////////////

Procedure PrintOnSmart(TP: TStringArray; Placement: TPoint; Colour: integer);
var
mx, my, Pic, I, B, H, TPH, Numb: Integer;
TTP: TPointArray;
Canvas: TCanvas;
begin
SmartSetDebug(True);
GetClientDimensions(mx, my);
Pic := BitmapFromString(mx, my, '');
TPH := High(TP);
for I := 0 to TPH do
begin
TTP := LoadTextTPA(TP[i], SmallChars, H);
for B := 0 to High(TTP) do
begin
Numb := ((I + 1) * 13);
FastSetPixel(Pic, TTP[b].x + 1, TTP[b].y + Numb + 1,8388736);
FastSetPixel(Pic, TTP[b].x, TTP[b].y + Numb, Colour);
end;
end;
Canvas := TCANVAS.Create;
Canvas.Handle := SmartGetDebugDC;
DrawBitmap(Pic, Canvas, Placement.x, Placement.y);
FreeBitmap(Pic);
end;

procedure Proggy;
var
Runrate,Sec:integer;
begin
Sec:= (1+((Getsystemtime-StartTime)/1000));
Runrate:=(3600*(Laps))/(Sec);
PrintOnSmart(['**/*/*/*/*/*/*/*/*/*/*\*\*\*\*\*\*\*\*\*\**',
' $$$$$$$$$LeetzGnomeRunnerPRO v1.1$$$$$$$$$$',
' Time Running: ' + TimeRunning,
' Laps Completed: ' + IntToStr(Laps),
' Laps Per Hour: ' + IntToStr(Runrate),
' Anti-Bans Performed: ' + IntToStr(AntiBans),
'**\*\*\*\*\*\*\*\*\*\*/*/*/*/*/*/*/*/*/*/**'], Point(104, 201), 14884053);
Writeln('**/*/*/*/*/*/*/*/*/*/*\*\*\*\*\*\*\*\*\*\**');
Writeln(' $$$$$$$$$LeetzGnomeRunnerPRO v1.1$$$$$$$$$$');
Writeln(' Time Running: ' + TimeRunning);
Writeln(' Laps Completed: ' + IntToStr(Laps));
Writeln(' Laps Per Hour: ' + IntToStr(Runrate));
Writeln(' Anti-Bans Performed: ' + IntToStr(AntiBans));
Writeln('**\*\*\*\*\*\*\*\*\*\*/*/*/*/*/*/*/*/*/*/**');
end;

procedure AntiBan;
begin
if(not(LoggedIn))then
exit;
FindNormalRandoms;
Findnoninventoryrandoms;
Case Random (3500) of
0..18: Begin SleepAndMoveMouse(5000 + Random(750)); AntiBans:=AntiBans+1; End;
19..24: Begin GameTab(tab_Inv) ExamineInv; GameTab(tab_Inv); SleepAndMoveMouse(2500 + Random(553)); AntiBans:=AntiBans+1; End;
55..60: Begin PickUpMouse; AntiBans:=AntiBans+1; End;
61..120: Begin RandomMovement; AntiBans:=AntiBans+1; End;
121..160: Begin BoredHuman; AntiBans:=AntiBans+1; End;
161..182: begin if(gametab(tab_inv))then Begin ExamineInv; AntiBans:=AntiBans+1; End; end;
End;
end;

{*
############################################## *MousemoveupdetectCustom* by Leetsxc ############################################
This function moves the Mouse in forward motion to find uptext for objectz without good color and Once that is complete
and it still hasnt found it, it will go to the Right however many coords needed then search down.. and so forth until width is 0
################################################################################################################################
*}
function MousemoveupdetectCustom(Length,YY,Widthdifference,Widthtimes,Speed:integer; Object:String):boolean;
var
Storelength: Integer;
up:boolean;
begin
getmousepos(x,y);
Storelength:=Length;
up:=true;
repeat
mmouse(x,length,0,0);
if(isuptext(object))then
begin
Result := True;
Exit;
end;
Wait(speed);
if(up=false)then
begin
Length:=Length+1;
if(Length=Storelength)then begin up:=true; x:=x+Widthdifference; Widthtimes:=Widthtimes-1; end;
end;
if(up=true)then
begin
Length:=Length-1;
if(Length=YY)then begin up:=false; x:=x+Widthdifference; Widthtimes:=Widthtimes-1; end;
end;
until(Widthtimes=0);
end;

{*
############################# *WAITDTMROTATED* by Leetsxc #######################################
Waits for a Rotated DTM in Specified Coords and returns true or false
##################################################################################################
*}
function WaitDTMRotated(Name, x1, y1, x2, y2, WaitPerLoop, MaxTime: Integer): Boolean;
var
T: Integer;
begin
T := GetSystemTime + MaxTime;
while (GetSystemTime < T) do
begin
if(finddtmrotatedSE(Name,x,y,x1,y1,x2,y2,-Pi, Pi, Pi/30, aFound))then
begin
Result := True;
Exit;
end;
Wait(WaitPerLoop);
end;
end;

{*
############################# *WAITTEXTDTM* by Leetsxc #######################################
Wait's for a TEXT DTM in the Specified Coords and returns true or false
##################################################################################################
*}
function WaitTextDTM(DTM:string; x1,y1,x2,y2,WaitPerLoop,MaxTime:integer):boolean;
Var
T,DTMCODE: Integer;
begin
Case DTM of
'Logcross': DTMCODE:=DTMFromString('mVAEAAHicE2BgYOACYl4gFgBiMSCWgmJxIJaFYgUgVgRiFSBWB2INJLydEYG3QektQLwJjb0VimFiG4F4HRAPNGCkEKMDAOqMDUA=');
'Landonground': DTMCODE:= DTMFromString('megIAAHick2NgYFBCwmpQrAnFOlCsD8QGQGwMxKZAbA7FtkDsCMT2QOwCxe5A7AHEAUDsB8XBUBwGxOFQdj0jA0MlEJcxQtg1UFyPxK9CYsPoCjxqa9HUgdjVSHIguwYK8A8QZhwgjB8AAPosF54=');
END;
T := GetSystemTime + MaxTime;
while (GetSystemTime < T) do
begin
if(finddtmrotatedSE(DTMCODE,x,y,x1,y1,x2,y2,-Pi, Pi, Pi/30, aFound))then
begin
Result := True;
Break;
end;
Wait(WaitPerLoop);
end;
FreeDtm(DTMCODE);
end;

{*
############################# *OBJECT DETECTOR* by Leetsxc #######################################
Moves the mouse to a specified coordinate
Check's for specified Uptext for specified time if found Right Clicks then Find's Specified Option
If Fail's it trys the same method but with a TPA and lastly a DTM
##################################################################################################
*}
function OBJECTDETECTOR(Colour:TIntegerArray; x,y,offsetx,offsety,time,Tolerance,Width,Height,Pixels:integer; uptext,option:string): Boolean;
var
z,a:integer;
begin
MMouse(x,y,offsetx,offsety);
if(WaitUpText(uptext, time))then
begin
getmousepos(z,a);
mouse(z,a,0,0,false);
if(WaitOption(option, time))then
begin
Result:=true;
writeln('Found Uptext and Clicked Option');
end;
end else
begin
writeln('Failed Trying TPA');
z:=MSCX; a:=MSCY
if(FindObjTPAMulti(z,a,Colour, Tolerance, 2, Width, Height, Pixels, [uptext]))then
begin
writeln('Found with TPA');
getmousepos(z,a);
mouse(z,a,0,0,false);
if(WaitOption(option, time))then
begin
Sleep(2000);
Result:=true;
end;
end else
begin
writeln('Failed TPA Trying DTM');
end;
end;
end;

Procedure DTMPositionHandler;
begin
if(finddtmrotatedSE(PIPECLOSE,x,y,600,12,640,91,-Pi, Pi, Pi/30, aFound))then
begin
writeln('Position Handler sess you are near the pipe');
Stage:='WalktoLog';
Exit;
end;
if(finddtmrotatedSE(LOGCLOSE,x,y,628,74,642,98,-Pi, Pi, Pi/30, aFound))then
begin
writeln('Position Handler sess you are near the log');
Stage:='Log';
Exit;
end;
end;

procedure LapProcess;
var
time,count:integer;
found:boolean;
begin

Case Stage of
'Log': begin
sleep(300);
if(OBJECTDETECTOR([3820119],301,175,4,4,600,4,10,20,40,'og','cross'))then
begin
writeln('Clicked Log Sucessfully with OBJECTDETECTOR');
sleep(5000);
Stage:='Net';
end else
begin
writeln('Failed Guess, TPA and DTM FINDER');
end;
end;

'Net': begin
if(OBJECTDETECTOR([4346722,4478566],420,167,4,4,300,10,20,20,10,'stacle','over'))then
begin
writeln('Clicked Net Sucessfully');
Stage:='Branch';
found:=true;
sleep(3500);
end else
begin
writeln('Trying TPA To find Net');
end;
end;

'Branch': begin
if(OBJECTDETECTOR([4018788,4280928],305,161,4,4,300,3,10,10,5,'ranch','limb'))then
begin
sleep(1500);
Stage:='Rope';
end else
begin
writeln('Failed Guess TPA AND DTM');
end;
end;

'Rope': begin
MakeCompass('E');
writeln('Screw finding the rope with a TPA OR DTM lets Walk to it and Do it the SXC way');
mouse(611,47,4,4,true);
MakeCompass('S');
Setangle(1);
mmouse(204,218,2,2);
if(MousemoveupdetectCustom(218,173,5,5,40,'ope'))then
begin
getmousepos(x,y);
mouse(x,y,0,0,false);
if(waitoption('on', 2000))then
begin
stage:='BranchSecond';
sleep(2000);
end;
end;
Makecompass('E');
Setangle(0);
end;

'BranchSecond': begin
if(OBJECTDETECTOR([3689307,3491927],273,39,4,4,300,3,10,10,5,'ranch','imb'))then
begin
writeln('Clicked Branch Sucessfully');
MakeCompass('N')
WaitTextDTM('Landonground',5,443,127,459,50,4000);
if(finddtmrotatedSE(RUNNEARNET,x,y,589,11,645,32,-Pi, Pi, Pi/30, aFound))then
begin
mouse(x,y+43,0,0,true);
flag;
sleep(500);
stage:='NetSecond';
Exit;
end;
end else
begin
writeln('Failed Guess TPA AND DTM');
end;
end;

'NetSecond': begin
if(WaitDTMRotated(Net2,5,35,496,232,50,5000))then
mmouse(x,y,6,6);
if(waituptext('stacle', 2000))then
begin
getmousepos(x,y);
mouse(x,y,0,0,false);
if(waitoption('limb',2000))then
begin
sleep(3500);
Stage:='Pipe';
Exit;
end;
end else
begin
Exit;
end;
end;

'Pipe':
begin
Pipe:= DTMFromString('mbQAAAHicY2VgYJgFxMuBeC0UzwNiLSDWh2J1IFYDYkVpMQYVeRkwrSgjySAlKsjADxRHx4xYMBgAAODWBf0=');
if(WaitDTMRotated(Pipe,22,33,271,107,50,2000))then
begin
mmouse(x,y,6,6);
if(waituptext('ipe', 2000))then
begin
getmousepos(x,y);
mouse(x,y,0,0,false);
if(waitoption('queez',1000))then
begin
PipeUsed:= DTMFromString('mWQUAAHic7c4xC8IwEAXgS3USFEScHBwEB8VB8A/4vx0cBEEnB0EQkWqbtloV3EQEX/AVjqyuPfjIS8rddSoiM2XuWdAKlrCGDW1pp+zpCAewcIYTxJArD3jSG17KB4wRqRoXRCpQozo0oAktaKuzQ13oQZ/nAEYwhDFMqMhZIBJBSC4ncCGXY0jVPQ9+fVa9ub4b7xl7/BnF3Mj7pmeE3n6rZiUqFzvcf93hqt6K/tSbFXvZcl9ZZbkypf/rCwlqXys=');
if(WaitDTMRotated(PipeUsed,7,441,202,460,50,4500))then
begin
writeln('O NROO Person be Taking PIPE Now.. Must wait like honorable botterman ');
freedtm(PipeUsed);
sleep(1000);
stage:='PipeUsed';
end else
begin
MakeCompass('E');
laps:=laps+1;
freedtm(PipeUsed);
end;
end;
end;
end;
freedtm(Pipe);
end;

'PipeUsed': begin
MakeCompass('N');
OBJECTDETECTOR([1645600,1777444],265,131,4,4,300,3,10,10,20,'ipe','ueez');
Sleep(3000);
MakeCompass('E');
end;

'WalktoLog': begin
MakeCompass('E');
if(WaitDTMRotated(WalktoLog,549,81,691,160,50,2000))then
begin
found:=true;
end else
if(WaitDTMRotated(WalktoLog2,549,81,691,160,50,2000))then
begin
found:=true;
end;
if(found=true)then
begin
mouse(x+4,y,0,0,true);
Flag;
end;
end;
End;

end;


procedure DTMZ;
begin
Net2 := DTMFromString('mQwAAAHicY2ZgYBBnZGA4CaSTgXQVkK4D4kog7i6LBePOkhgGTiAfhhmRMBAAAByIBu0=');
PIPECLOSE:= DTMFromString('mQwAAAHicY2ZgYChmYmCoBeJYIA4F8oOAmB+I////z+BtKc7Q3jeDgQvIh2FGJAwEAC1wB3M=');
LOGCLOSE:= DTMFromString('mQwAAAHicY2ZgYKhmYmCoYYLQoUB+JBD7AXFzgTZDlKc8GHMB+TDMiISBAADkowU7');
RUNNEARNET:= DTMFromString('mQwAAAHicY2ZgYMhkYmCIBeISIBZjQOAIdzkGN0sJMOYC8mGYEQkDAQCb7wOS');
WalktoLog := DTMFromString('mWAAAAHicY2FgYKhgYmBIAOJgIO4F4kqgWCoQtzNA2A35mgz6SaIM9knSYDY/UAwZM6JhEAAApgUHdQ==');
WalktoLog2 := DTMFromString('mWAAAAHicY2FgYKhlYmDIB+I6Jgi7AihWDsQFIDkgbszSYQj0smKIcJYHYy6gGC8Qc0ExIxoGAQCsFQdf');
end;

procedure FREEDTMZ;
begin
FreeDTM(Net2);
FreeDTM(PIPECLOSE);
FreeDTM(LOGCLOSE);
FreeDTM(RUNNEARNET);
FreeDTM(Walktolog);
FreeDTM(Walktolog2);
end;

procedure TakeBreaks;
begin
if not LoggedIn then
Exit;
begin
if (GetSystemTime > BreakTimer) then
begin
WriteLn('Taking a break.');
Logout;
Wait(BreakFor * 60000 + Random(BreakForRandom * 60000));
WriteLn('Logging back in.');
Case (SwitchWorld) of
True: if LoginPlayerToLob then
ChangeWorld(RandomWorld(True, False));
False: LoginPlayer;
end;
Wait(2000);
BreaksTaken:=BreaksTaken+1;
BreakTimer := GetSystemTime + (BreakIn * 60000 + Random(BreakInRandom * 60000));
end;
end;
end;

begin
Smart_server := SERVER;
Smart_Signed := TRUE;
Smart_Members := MEMBERS;
Smart_SuperDetail := FALSE;
SetupSRL;
DeclarePlayers;
LoginPlayer;
smart_clearcanvas;
DTMZ;
Stage:='NetSecond';
proggy;
mousespeed:=25;
BreakTimer := GetSystemTime + (BreakIn * 60000 + Random(BreakInRandom * 60000));
StartTime:=GetSystemTime;
repeat
Proggy;
sleep(100);
if(Laps=Howmany)then
begin
FREEDTMZ;
terminatescript();
end;
AntiBan;
DTMPositionHandler;
LapProcess;
if (UseBreaks) then
TakeBreaks;
until (not Loggedin);
end.

#############################################
////////////////////////////////NEXTSCRIPT////////////////////////////////
#############################################
program LeetzCrusher;
{$DEFINE SMART}
{$i SRL/srl.simba}
{$i SRL/srl/misc/paintsmart.simba}
const
//////////////////////////////////////////IMPORTANT!!IMPORTANT!!IMPORTANT!!IMORTANT\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//Welcome to LeetzBarCrusher version 1.2 by Leetsxc, Please review the STEPS below and complete which are required before starting the script.\\
// \\ // \\
//////////////////////////////Start of $etup////////////////////////////////////
SERVER = 15; // Enter "0" to pick a random server. STEP 1 //
MEMBERS = False; //False if F2P True for P2P STEP 2 //
NumbOfPlayers = 1; //Dont touch Unless you wanna use multi player setup //
StartPlayer = 0; //Dont touch //
/////BREAKING SETUP\\\\\ //
UseBreaks = True; //Do you want to take breaks? STEP 3 \\
SwitchWorld = True; //Do you want to switch worlds after the break? STEP 4 \\
BreakIn = 290; //How many minutes until you take a break? STEP 5 \\
BreakInRandom = 10; //How many minutes should the "BreakIn" time be varied by? STEP 6 \\
BreakFor = 7; //How many minutes will you break for? STEP 7 \\
BreakForRandom = 7;//How many minutes should the "BreakFor" time be varied by? STEP 8 //
///END OF BREAKING SETUP\\\ //
// //
////LeetzCrusher Setup\\\\ //
Location = 'VBANKWESTEASTSIDE'; // STEP 9 // //
// VBANKWESTEASTSIDE=Varrock Bank West East side of the bank \\ // SETUP
// VBANKWESTWESTSIDE=Varrock Bank West West side of the bank \\ //////////////////////////////////////
Profit = 60; //Calculate your profit per bar through G.E and change it STEP 10\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Howmany = 4480; //Type how many Cast's/Monster's if auto cast you would like to do before the script will END STEP 11 \\
///End of LeetzCrusher Setup\\\ \\
var
StartTime,AntiBans,Dust,Choc,BankBooth,Crushes,x,y,breaktimer,BreaksTaken: integer;

procedure DeclarePlayers;
var
i:integer;
begin
NumberOfPlayers(NumbOfPlayers);
CurrentPlayer := StartPlayer;
for i := 0 to NumbOfPlayers-1 do
begin
Players[i].BoxRewards := ['amp'];
Players[i].LampSkill := 13;
end;
With Players[0] do
begin
Name := ''; //Username. STEP 12
Pass := ''; //Password. STEP 13
Active := True;
end;
{ With Players[1] do //For more players uncomment the {'s at top left and bottem right
begin
Name := ''; //Username.
Pass := ''; //Password.
Active := True;
end; }
end;
////////////////////////////// End of Setup////////////////////////////////////

Procedure PrintOnSmart(TP: TStringArray; Placement: TPoint; Colour: integer);
var
mx, my, Pic, I, B, H, TPH, Numb: Integer;
TTP: TPointArray;
Canvas: TCanvas;
begin
SmartSetDebug(True);
GetClientDimensions(mx, my);
Pic := BitmapFromString(mx, my, '');
TPH := High(TP);
for I := 0 to TPH do
begin
TTP := LoadTextTPA(TP[i], SmallChars, H);
for B := 0 to High(TTP) do
begin
Numb := ((I + 1) * 13);
FastSetPixel(Pic, TTP[b].x + 1, TTP[b].y + Numb + 1,8388736);
FastSetPixel(Pic, TTP[b].x, TTP[b].y + Numb, Colour);
end;
end;
Canvas := TCANVAS.Create;
Canvas.Handle := SmartGetDebugDC;
DrawBitmap(Pic, Canvas, Placement.x, Placement.y);
FreeBitmap(Pic);
end;

procedure Proggy;
var
Crushrate,Sec:integer;
begin
Sec:= (1+((Getsystemtime-StartTime)/1000));
Crushrate:=(3600*(Crushes))/(Sec);
PrintOnSmart(['**/*/*/*/*/*/*/*/*/*/*\*\*\*\*\*\*\*\*\*\**',
' $$$$$$$$$LeetzCrusher v1.2$$$$$$$$$$',
' Time Running: ' + TimeRunning,
' Profit Gained: ' + IntToStr(Crushes*Profit) + ' GP',
' Profit Per Hour: ' + IntToStr(Crushrate*Profit) + ' GP',
' Chocolate Bars Crushed: ' + IntToStr(Crushes),
' Crushes Per Hour: ' + IntToStr(Crushrate),
' Anti-Bans Performed: ' + IntToStr(AntiBans),
'**\*\*\*\*\*\*\*\*\*\*/*/*/*/*/*/*/*/*/*/**'], Point(104, 201), 14884053);
Writeln('**/*/*/*/*/*/*/*/*/*/*\*\*\*\*\*\*\*\*\*\**');
Writeln(' $$$$$$$$$LeetzCrusher v1.2$$$$$$$$$$');
Writeln(' Time Running: ' + TimeRunning);
Writeln(' Profit Gained: ' + IntToStr(Crushes*Profit) + ' GP');
Writeln(' Profit Per Hour: ' + IntToStr(Crushrate*Profit) + ' GP');
Writeln(' Chocolate Bars Crushed: ' + IntToStr(Crushes));
Writeln(' Crushes Per Hour: ' + IntToStr(Crushrate));
Writeln(' Anti-Bans Performed: ' + IntToStr(AntiBans));
Writeln('**\*\*\*\*\*\*\*\*\*\*/*/*/*/*/*/*/*/*/*/**');
end;

procedure AntiBan;
begin
if(not(LoggedIn))then
exit;
FindNormalRandoms;
Findnoninventoryrandoms;
Case Random (2500) of
0..18: Begin SleepAndMoveMouse(5000 + Random(750)); AntiBans:=AntiBans+1; End;
19..24: Begin GameTab(tab_Inv) ExamineInv; GameTab(tab_Inv); SleepAndMoveMouse(2500 + Random(553)); AntiBans:=AntiBans+1; End;
25..42: Begin RandomAngle(1); AntiBans:=AntiBans+1; End;
55..60: Begin PickUpMouse; AntiBans:=AntiBans+1; End;
61..120: Begin RandomMovement; AntiBans:=AntiBans+1; End;
121..160: Begin BoredHuman; AntiBans:=AntiBans+1; End;
161..182: begin if(gametab(tab_inv))then Begin ExamineInv; AntiBans:=AntiBans+1; End; end;
End;
end;

function FindDustLastSlot: Boolean;
begin
Result:= Finddtm(Dust,x,y,686,432,733,464);
end;

function FindChoc: Boolean;
begin
Result:= Finddtm(Choc,x,y,559,209,735,466);
end;


procedure CrushProcess;
var
Continuez:boolean;
begin
sleep(randomrange(50,200));
if(WaitFunc(@FindChoc, 50, 3000))then
begin
Mouseitem(Randomrange(1,28),0);
WaitOption('owder', 2000);
if(WaitFindColor(x,y,1782101,245,408,269,427,10,1000))then
begin
Case Random (9) of
0..2: begin mouse(x,y,15,15,false); if(Waitoption('All',2000))then Continuez:=true; end; //30%
3..9: begin mmouse(x,y,15,15); if(WaitUpText('ake',2000))then begin getmousepos(x,y); mouse(x,y,0,0,true); Continuez:=true; end; end; //70%
End;
if(Continuez=true)then
begin
Antiban;
if(WaitFunc(@FindDustLastSlot, 50, 40000))then Crushes:=Crushes+28;
end;
end;
end;
end;

function CheckBankUp: Boolean;
begin
Result:= WaitFindColor(x,y,4106994,195,26,321,43,5,3000);
end;

procedure DTMZ;
begin
BankBooth:= DTMFromString('mQwAAAHicY2YAAkYgAuL/QGYlEHcCcT4Qt9SkMhQnGTNE+qgziAL5HEAsCFEOx0AAAPFJBeE=');
Dust:= DTMFromString('mbQAAAHicY2VgYMhiYmBIAuJCJgg7B4ifM0DwMyB+A8SPgDjUUBpIMqFgfgZMwIgFgwEAV7cHYg==');
Choc:= DTMFromString('mbQAAAHicY2VgYMhhYmAoBOJUIE4H4jIgfgQUvwPEr4D4PhA/AWIfHQkgyYSC+RkwASMWDAYAUOoHRg==');
end;

procedure FREEDTMZ;
begin
FreeDtm(Bankbooth);
FreeDtm(Dust);
FreeDTM(Choc);
end;

procedure CrushSetup;
begin
Case Location of
'VBANKWESTEASTSIDE':
begin
MakeCompass('E');
SetAngle(0);
end;
'VBANKWESTWESTSIDE':
begin
MakeCompass('W');
SetAngle(0);
end;
End;
end;

procedure WithdrawProcess;
begin
if(CheckBankUp)then
begin
if(Finddtm(Dust,x,y,559,209,735,466))then
begin
mouse(x,y,5,5,false);
Waitoption('All',2000);
end;
mouse(439,185,10,10,false);
if(WaitOption('All',1000))then mouse(483,29,5,5,true);
end;
end;

procedure BankProcess;
var
found:boolean;
aFound: Extended;
begin
Crushsetup;
if(finddtmrotated(BankBooth,x,y,222,81,299,189,-Pi, Pi, Pi/30, aFound))then found:=true;
if(found=true)then
begin
mmouse(x,y,7,7);
if(WaitUpText('ooth',1000))then
begin
getmousepos(x,y);
mouse(x,y,0,0,true);
end;
end;
end;

procedure TakeBreaks;
begin
if not LoggedIn then
Exit;
begin
if (GetSystemTime > BreakTimer) then
begin
WriteLn('Taking a break.');
Logout;
Wait(BreakFor * 60000 + Random(BreakForRandom * 60000));
WriteLn('Logging back in.');
Case (SwitchWorld) of
True: if LoginPlayerToLob then
ChangeWorld(RandomWorld(True, False));
False: LoginPlayer;
end;
Wait(2000);
BreaksTaken:=BreaksTaken+1;
BreakTimer := GetSystemTime + (BreakIn * 60000 + Random(BreakInRandom * 60000));
end;
end;
end;

begin
Smart_server := SERVER;
Smart_Signed := TRUE;
Smart_Members := MEMBERS;
Smart_SuperDetail := FALSE;
SetupSRL;
DeclarePlayers;
LoginPlayer;
smart_clearcanvas;
DTMZ;
CrushSetup;
proggy;
mousespeed:=25;
Wait(2000);
BreakTimer := GetSystemTime + (BreakIn * 60000 + Random(BreakInRandom * 60000));
StartTime:=GetSystemTime;
repeat
CrushProcess;
Proggy;
if(Crushes=Howmany)then
begin
FREEDTMZ;
Terminatescript();
end;
AntiBan;
BankProcess;
WithdrawProcess;
if (UseBreaks) then
TakeBreaks;
until (not Loggedin);
end.

Nebula

2012-03-23 16:46:53

I'm holding my vote for now. Yes because of your longevity, recent activeness, and the uniqueness of your gnome agility script. No because I normally like to see TPAs and 139 posts in 4 years isn't very good.

Sir Ducksworthy

2012-03-23 16:58:21

Yeh Low Post count cause before I was scripting Rs Server's and never really started scripting for Simba :( until this year pretty much.
I probably would have put my own more customized TPA's or ATPA's if it wasn't for FindObjTPA and being able to set the Color Speed Modifier and everything also including an array by calling the function.
It just worked out smoothly for the Gnome script.

:) Thx for holding Neb Appreciated bro

Nebula

2012-03-23 17:17:03

If you have any TPAs in one of the scripts in your signature, I'd recommend adding that script to your application.

Sin

2012-03-23 17:20:13

Why so many global variables? :S

Mat

2012-03-23 17:25:15

From: Sin
Why so many global variables? :S

not that bad, Nemisis abyss I courted 93 :P. Back to OP I'm holding vote due to lack in community <3

Sin

2012-03-23 17:32:25

From: Mat
not that bad, Nemisis abyss I courted 93 :P. Back to OP I'm holding vote due to lack in community <3




o.o

P1nky

2012-03-23 17:34:39

Yes.

-Cheers

Mat

2012-03-23 17:39:52

Correction 95.. Just alot :P

Sir Ducksworthy

2012-03-23 17:53:06

:) Lolz

cause

2012-03-24 13:46:43

Active, releasing scripts, good attitude, decent script, a yes from me. Btw good code commenting!

rice

2012-03-24 17:27:26

keep up the activity and good attitude yes for me

Coh3n

2012-04-02 14:19:44

Yes.

Gala

2012-04-02 17:53:25

It seems you understood scripting. I also like your comments in the scripts.
Same reasons as above. Yes.

Dynamite

2012-04-02 19:20:06

Yes.

WT-Fakawi

2012-04-08 18:55:35

In!