laakerules
2012-05-12 15:41:00
9 Year(s)
Are you affilated in anyway with Jagex LTD?
No. Unless playing the game or botting it is affiliated? :P
Were you Referred to SRL?
Noone
What is your general programming knowledge?
JAVA,Pascal,JS,Delphi,C,HTML,ByteCode Manipulation, and much much more.
Are you a member of any other communities?
PowerBot, im a contrib on there. And a member of basically all other major botting sites, i just like to help out the community on all of them and help people bot.
Tell us about yourself…
I like to code in many languages. I know computers like crazy. My Name is laake. I am going to a uni next year for ME degree, im extremely good at math, a lil bit worse in language arts. I Wakeboard, Wakeboard alot, like every day of the summer then workout at the gym then come home and work on my computer. Im also 18 and graduation in 2 weeks.
And i have ADD, Which means i think outside the box. Can do stuff imensifully good, and when im on my meds i think inside the box perfectly.
Please show us one (or multiple) of your scripts.
Simple, look at combat seciton people love my Ghouler. I havent been around for a lil bit so i havent updated anything to sps 2 or anything else. Gonna look at that this weekend, Had a Private Soul Wars script, Private Castle Wars Script, Private Aviansie Script and Private Quester, im not going to post the Private scripts because i dont have anymore since my laptop hard drive got wrecked and lost all my data when i sent it into the factory. And all of my customers are telling me to bug off because i didnt have anything but my phone to access the internet for 3 weeks when my laptop was gone. So if you really wanna see me do a new script i will make one, but just look at my ghouler. Also after getting my laptop back i started working more with java and such and learning more methods. Created a game, had 373 players then started decreasing because i was getting ddosed so i stopped that. And recently i have been working on injection bots for RSPS's to learn more about bytecode, so far i have made a bot for near reality battle scape soulsplit and torvapkz.
If you want to see something just tell me and ill work on it. Just felt like throwing an application back out after it bieng 4 months or so since last apply. I DO KNOW HOW TO CODE IN ANY OF THE ABOVE SAID LANGUAGES.
Ghouler:
program Ghouler;
{$DEFINE SMART}
{$i SRL/srl.simba}
{$i SRL/SRL/skill/fighting.simba}
{$i sps/sps.simba}
{$i SRL/SRL/misc/paintsmart.simba}
Const
//Change this to no if you dont want paint and are to lazy to disable debug.
Paint = 'No';
//True for it to pick up charms
//False for it to not pick up charms.
Charmer = True;
//Yes to pickup Effigies, no to not pick them up
//This still may be buggy.
Effigy = 'No';
//True to pickup Champion Scroll, False to not pick them up
//This still may be buggy.
ChampionScroll = False;
var
foodnumber,P,T,Z,Exp,Charms,XPH,BMP,Kills,MSpeed,RandAmount:Integer;
DCols: Array of Integer;
Drops: Array of String;
procedure DeclarePlayers;
Begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
With Players[0] Do
Begin
Name := ''; //Player username.
Pass := ''; //Player password.
Nick := ''; //Player nickname - 3-4 letters of Player username.
Active := True;
End;
End;
//\
// \\
//DO \\
// Not \\
// Change\\
// Anymore \\
//-----------\\
//_____________\\
// Made by Laake \\
//_________________\\
//###################\\
//#####################\\
//#######################\\
//#########################\\
//## Dont Change anymore ##\\
//#############################\\
//###############################\\
//_________________________________\\
Procedure RandomThing;
Begin
MakeCompass(RandomRange(0,360));
end;
Function UInFight: Boolean;
begin
Writeln('Checking for fight');
Wait(100);
Writeln('Pixel shift of '+IntToStr(averagePixelShift(IntToBox(235, 101, 290, 184), 120, 360)));
if (averagePixelShift(IntToBox(235, 101, 290, 184), 120, 360) < 150) then RandomThing;
if (averagePixelShift(IntToBox(235, 101, 290, 184), 120, 360) > 400) then
Begin
Result := True;
Exit;
end else
if not InFight then
Result :=False;
Exit;
end;
procedure SetupChar;
begin
SetupSRL();
SetAngle(0);
ClickNorth(0);
end;
Procedure ToBank;
Var
myPath: TPointArray;
begin
SPS_Setup(RUNESCAPE_SURFACE, ['13_6','14_6']);
myPath := [Point(5502, 2599), Point(5513, 2597), Point(5523, 2593), Point(5532, 2592), Point(5542, 2591), Point(5550, 2593), Point(5558, 2597), Point(5567, 2600), Point(5576, 2605), Point(5586, 2612), Point(5594, 2622), Point(5603, 2632), Point(5610, 2642), Point(5617, 2652), Point(5626, 2659), Point(5634, 2671), Point(5641, 2684), Point(5647, 2695), Point(5656, 2698), Point(5666, 2700), Point(5672, 2705), Point(5679, 2714), Point(5684, 2730), Point(5695, 2740), Point(5711, 2740), Point(5726, 2740), Point(5739, 2735), Point(5751, 2732), Point(5762, 2730), Point(5772, 2725), Point(5783, 2722), Point(5797, 2717), Point(5811, 2714), Point(5824, 2714), Point(5835, 2713), Point(5846, 2715), Point(5860, 2722), Point(5874, 2727)];
SPS_WalkPath(myPath);
end;
Procedure ToGhouls;
Var
myPath: TPointArray;
begin
SPS_Setup(RUNESCAPE_SURFACE,['14_6','13_6']);
myPath := [Point(5878, 2728), Point(5870, 2728), Point(5857, 2722), Point(5849, 2720), Point(5840, 2719), Point(5827, 2717), Point(5813, 2716), Point(5798, 2716), Point(5784, 2722), Point(5773, 2732), Point(5757, 2739), Point(5741, 2742), Point(5727, 2745), Point(5712, 2743), Point(5699, 2737), Point(5685, 2728), Point(5678, 2712), Point(5666, 2700), Point(5653, 2689), Point(5642, 2679), Point(5633, 2672), Point(5628, 2666), Point(5618, 2656), Point(5612, 2645), Point(5607, 2631), Point(5595, 2619), Point(5582, 2610), Point(5571, 2604), Point(5559, 2596), Point(5548, 2596), Point(5536, 2597), Point(5524, 2599), Point(5512, 2599)];
SPS_WalkPath(myPath);
end;
procedure MSI_RandomFKey;
var
i, randInt, randKey, currTab: Integer;
keys: array[0..4] of Word;
begin
currTab := GetCurrentTab();
keys[0] := VK_F1;
keys[1] := VK_F2;
keys[2] := VK_F3;
keys[3] := VK_F4;
keys[4] := VK_F5;
randInt := Random(6);
case randInt of
0..4:
begin
KeyDown(keys[randInt]);
wait(35+random(85));
KeyUp(keys[randInt]);
end;
else
for i := 1 to 3 do
begin
randKey := Random(5);
KeyDown(keys[randKey]);
wait(35+random(85));
KeyUp(keys[randKey]);
end;
end;
wait(75+random(100));
GameTab(currTab);
end;
Function Eat(What: String): Boolean;
var
I: Integer;
begin
Result := False;
If Not LoggedIn then Exit;
if (foodnumber=1) then Exit;
if (HPPercent < 70) then
If InvEmpty then Logout
else
for i := 1 to 28 do
begin
if ExistsItem(i) then
InvMouse(I, 3);
if IsUpText(What) then
begin
ClickMouse2(True);
Wait(RandomRange(350, 525));
Result := True;
Exit;
end else
end;
end;
procedure GAntiBan;
begin
writeln('Choosing random antiban');
case random(11) of
0 : begin
GameTab(27);
Wait(randomrange(400,800));
end;
1 : RandomMovement;
2 : MSI_RandomFKey;
3 : RandomRClick;
5 : HoverSkill(skill_strength,false);
6 : begin
HoverSkill(skill_hitpoints,false);
Wait(randomrange(300,600));
end;
7 : GameTab(23);
8 :
PickUpMouse;
9 : Wait(randomrange(1000,2000));
10 : HoverSkill('attack',false);
end;
Wait(randomrange(500,1000));
end;
Procedure LoadBMP;
begin
// took the picture bmp out because of how large it is. Just go to the script page and you will see the graphics.
end;
procedure LoadVars;
begin
Drops:=['old charm','ffigy', 'rimson charm', 'reen charm', 'lue charm']
end;
Function XP: Integer;
Begin
Return := (Kills*266);
End;
Function XPhour: Integer;
Begin
Return := Round((XP * 3600) / (GetTimeRunning / 1000));
End;
Procedure DoThePainting;
Begin
If Paint = 'Yes' then
begin
LoadBMP;
SMART_DrawBitmap(False, BMP, Point(0, 337));
SMART_DrawText(130, 395, UpCharsEx, '' +IntToStr(Kills)+ '', clRed);
SMART_DrawText(130, 420, UpCharsEx, '' +IntToStr(Exp)+ '', clRed);
SMART_DrawText(130, 445, UpCharsEx, ''+IntToStr(XPhour)+'', clRed);
SMART_DrawText(325, 395, UpCharsEx,''+TimeRunning+' ', clRed);
SMART_DrawText(440, 420, UpCharsEx, ''+IntToStr(Charms)+'', clRed);
FreeBitmap(BMP);
end;
end;
Procedure Proggy;
begin
ClearDebug;
XPHour;
Writeln('********************************************');
Writeln('* |*/\GhoulerV4/\*| *');
Writeln('********************************************');
Writeln('*You have killed ' + IntToStr(Kills) + 'Ghouls');
Writeln('*And have Gained ' + IntToStr(Exp) + 'EXP');
Writeln('*And have Gained ' + IntToStr(XPH) + 'XP/H');
Writeln('*And have Picked up ' + IntToStr(Charms) + 'Charms');
Writeln('* Ran for ' + TimeRunning + '');
Writeln('********************************************');
end;
//Euphamism thanks, through YoHo
procedure SMART_DrawBitmapWithTextMulti(Clear: Boolean; Bitmap: Integer; BmpPlacement: TPoint; TP: TStringArray; Shadow: Boolean; TxtPlacement: TPoint; Font: string; Colour: TColor);
var
I, B, H, Pic, TPH, Numb: Integer;
Offset: TPoint;
TTP: TPointArray;
Canvas: TCanvas;
begin
if (not SMART_DebugSetup) then
SMART_SetupDebug();
TPH := High(TP);
Offset := IntToPoint(TxtPlacement.x - BmpPlacement.x, TxtPlacement.y - BmpPlacement.y);
Pic := CopyBitmap(Bitmap);
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);
if Shadow then
try
FastSetPixel(Pic, TTP[b].x + 1 + Offset.x , TTP[b].y + Numb + 1 + Offset.y,131072);
except
end;
try
FastSetPixel(Pic, TTP[b].x + Offset.x, TTP[b].y + Numb + Offset.y, Colour);
except
end;
end;
end;
Canvas := TCANVAS.Create;
Canvas.Handle := SmartGetDebugDC;
DrawBitmap(Pic, Canvas, BmpPlacement.x, BmpPlacement.y);
FreeBitmap(Pic);
end;
//credits to Flight for helping with this.
Function FindGhoul(Var X,Y: Integer): Boolean;
var
CTS,I,T,J: Integer;
TPA,T1,T2: TPointArray;
Box:TBox;
PBox: TPointArray;
ATPA:T2DPointArray;
begin
MarkTime(J);
repeat
Result := False;
CTS := GetColorToleranceSpeed;
PBox := TPAFromBox(IntToBox(240, 130, 290, 190));
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.20, 1.60);
FindColorsSpiralTolerance(MSCX, MSCY, T1,(11652298), MSX1, MSY1, MSX2, MSY2, 3);
FindColorsSpiralTolerance(MSCX, MSCY, T2,(11652298), MSX1, MSY1, MSX2, MSY2, 8);
ColorToleranceSpeed(CTS);
TPA := ClearTPAFromTPA(TPA, PBox);
TPA := CombineTPA(T1,T2);
ATPA := TPAtoATPAEx(TPA,30,30);
SortATPAFrom(ATPA,Point(259,153));
For i := 0 to High(ATPA) do
begin
if (Length(TPA) < 1) then
Exit;
Box := GetATPABounds(ATPA);
MiddleTPAEx(ATPA[i],X,Y);
MMouse(X,Y,5,5);
if WaitUpText('ck Gho', 50) then
begin
GetMousePos(X, Y);
ClickMouse2(True);
Result := True;
SMART_ClearCanvasArea(Box);
Exit;
end else
Result := False;
end;
Until (TimeFromMark(J) > 3500);
End;
Function FindObjOnScreen(Up,Option:Array of String;Color,Tolerance1,Tolerance2:Integer;MC2:Variant;Hmod,Smod:Extended): Boolean;
var
X,Y:Integer;
CTS,I,T,J: Integer;
Box:TBox;
TPA,T1,T2,Pbox: TPointArray;
ATPA:T2DPointArray;
begin
MarkTime(J);
repeat
Result := False;
CTS := GetColorToleranceSpeed;
PBox := TPAFromBox(IntToBox(245, 135, 280, 185));
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(Hmod,Smod);
FindColorsSpiralTolerance(MSCX, MSCY, T1,(Color), MSX1, MSY1, MSX2, MSY2, Tolerance1);
FindColorsSpiralTolerance(MSCX, MSCY, T2,(Color), MSX1, MSY1, MSX2, MSY2, Tolerance2);
ColorToleranceSpeed(CTS);
TPA := ClearTPAFromTPA(TPA, PBox);
TPA := CombineTPA(T1,T2);
ATPA := TPAtoATPAEx(TPA,20,20);
SortATPAFrom(ATPA,Point(259,153));
For i := 0 to High(ATPA) do
begin
if (Length(TPA) < 1) then
Exit;
Box := GetATPABounds(ATPA);
MiddleTPAEx(ATPA[i],X,Y);
MMouse(X,Y,5,5);
if WaitUpTextMulti(Up, 400) then
begin
GetMousePos(X, Y);
ClickMouse2(MC2);
ChooseOptionMulti(Option);
SMART_ClearCanvasArea(Box);
Result := True;
Exit;
end;
end;
Until (TimeFromMark(J) > 3500);
End;
Function PickupCharms:Boolean;
Var
X, Y: Integer;
begin
If Charmer = False then Exit;
If Charmer = True then
begin
FindNormalRandoms;
If FindObjOnScreen(['ake', 'Take', 'ke', 'ak'],['harm'],6397359,4,8,False,0.38,0.55) Then
Begin
Wait(500);
writeln('You have found the some Charms!');
While IsMoving do
Wait(50);
FindNormalRandoms;
Wait(RandomRange(300,400));
Inc(Charms);
End;
end;
end;
procedure GetOutF;
begin
case random(2) of
0 : begin
KeyDown(VK_Tab);
wait(35+random(100));
wait(35+random(100));
KeyUp(VK_Tab);
wait(25+random(70));
wait(35+random(100));
end;
1 : begin
ExamineInv;
end;
end;
end;
procedure GMoveMouse;
begin
case random(4) of
0 : begin
mMouse(5,25,10,20);
end;
1 : begin
mMouse(250,150,40,40);
end;
2 : begin
mMouse(505,350,50,50);
end;
3 : begin
mMouse(30,315,20,40);
end;
end;
end;
//laakes
Procedure RAntiBan;
begin
Wait(randomrange(200,400));
case random(RandAmount) of
0 : begin
writeln('Random Wait AntiBan');
Wait(randomrange(1100,2500));
end;
1 : begin
GAntiBan;
end;
2 : begin
writeln('pickup mouse / GMoveMouse');
PickUpMouse;
Wait(randomrange(25,100));
GMoveMouse;
Wait(randomrange(250,300));
end;
3 : begin
writeln('Double GMoveMouse');
GMoveMouse;
Wait(randomrange(45,100));
GMoveMouse;
end;
end;
end;
//laake's
Procedure KillGhouls;
var
sX,sY,X,Y,J: Integer;
begin
Repeat
If FindGhoul(X,Y) then
Wait(1950);
Until UInFight or InFight;
If FindBlackChatMessage('omeone else is fighting') then begin
RandomThing;
GetOutF;
End;
If UInFight or Infight then
WriteLn('You are Ghouling this Ghoul!');
Inc(Kills);
begin
repeat
Proggy;
DoThePainting;
FindNormalRandoms;
Eat('Eat');
RAntiBan;
until (not UInFight) or (not OthersInFight) or (not LoggedIn)
end;
wait(randomrange(200,300));
end;
Procedure PickScroll;
Begin
If ChampionScroll = False then Exit;
If ChampionScroll = True then
Begin
FindObjOnScreen(['ake', 'Take', 'ke', 'ak'],['croll'],9621212,4,9,False,0.02,3.25);
End;
end;
Procedure PickEffigy;
Begin
If Effigy = 'No' then Exit;
If Effigy = 'Yes' then
Begin
FindObjOnScreen(['ake', 'Take', 'ke', 'ak'],['ffigy'],8290940,1,3,False,1.73,0.01);
End;
end;
procedure Startup;
begin
Smart_Server := 69;
Smart_Members:= true;
Smart_Signed := true;
Smart_SuperDetail := false;
SetupSRL;
RandAmount := 30;
MSpeed := 200;
DeclarePlayers;
LogInPlayer;
MouseSpeed := MSpeed;
wait(100+random(100));
end;
begin
Startup;
SetupChar;
LoadVars;
DoThePainting;
repeat
MarkTime(Z);
Repeat
Wait(500);
DoThePainting;
FindObjOnScreen(['Bank', 'ank', 'ooth'],['ank'],7567226,1,3,True,1.59,0.48);
Until DidRedClick or (TimeFromMark(Z) > 2500);
If DidRedClick then
repeat
Wait(50);
until BankScreen;
begin
Proggy;
DepositAll;
wait(50 + Random(250));
Proggy;
Withdraw(0, 0, 28);
wait(50 + Random(250));
Proggy;
Deposit(1,1,false);
wait(50 + Random(250));
Proggy;
CloseBank;
end;
ToGhouls;
repeat
DoThePainting;
Proggy;
KillGhouls;
DothePainting;
PickupCharms;
DoThePainting;
PickEffigy;
DoThePainting;
PickScroll;
DoThePainting;
until (hppercent<50);
ToBank;
DoThePainting;
Proggy;
FindNormalRandoms;
until not LoggedIn
writeln('stopping script');
Proggy;
TerminateScript;
end.
And heres some pics of my nr bot client if you wanna check that out! :P
Just tell me what you want to see ect.
Edit: edited my code from what someone said later on.

