VillaVuFTW
2012-02-11 09:19:52
How Long have You Played Runescape?
8 Year(s)
Are you affilated in anyway with Jagex LTD?
No
Were you Referred to SRL?
What is your general programming knowledge?
HTML, PHP, Pascal, JAVA(minor)
Are you a member of any other communities?
Used to be apart of RSBOTs.net and Powerbot
Tell us about yourself…
Please show us one (or multiple) of your scripts.
8 Year(s)
Are you affilated in anyway with Jagex LTD?
No
Were you Referred to SRL?
What is your general programming knowledge?
HTML, PHP, Pascal, JAVA(minor)
Are you a member of any other communities?
Used to be apart of RSBOTs.net and Powerbot
Tell us about yourself…
From: VillaVuFTW
My name is Zack, and I love to play the guitar, code scripts for knowledge when I have the time, Video Gaming, and chilling. I'm working on standards for my scripts, as I'm not a very experienced scripter.
Please show us one (or multiple) of your scripts.
Program VillaScrolls;
//{$DEFINE SMART}
{$i SRL/SRL.simba} //ChooseOption('All') fix..
{$i SPS/SPS.simba}
Const
Server = 54;
procedure DeclarePlayers;
Begin
HowManyPlayers := 1; // Number of Players to use
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0; // Player to start with, first one is 0
Players[0].Name := ''; // Username
Players[0].Pass := ''; // Password
Players[0].Active := True; // True if you are using this player
Players[0].Pin := ''; // Bank Pin. Leave it if you don't have one.
Players[0].Integers[1] := 10000; // Number of loads
End;
procedure ClickOn(PX:Integer; Click: Boolean);
var
x, y:integer;
aFound:ExtEnded;
Begin
if FindDTMRotated(PX, x, y, MSX1, MSY1, MSX2, MSY2, -Pi, Pi, Pi/30, aFound) then
Begin
Mouse(x, y, 1, 1, Click);
End;
End;
Function HT:Boolean;
Var
Tablet, X, Y:Integer;
Begin
Tablet := DTMFromString('mlwAAAHicY2dgYHBmYmBwAmI/IDYFYgsoOxCIHwLlnwHxTSB+AMSfoPgpEC+bP5/ByEAfyGLCwJJAEoSxAUY8GAoAkg0K9g==');
If FindDTM(Tablet, X, Y, MIX1, MIY1, MIX2, MIY2) then
Begin
writeln('First Task Done');
Mouse(X, Y, 4, 4, true);
End;
FreeDTM(Tablet);
End;
Function WalkingToShop:Boolean;
Var
ToShop:TPointArray;
ToShopPos:TPoint;
Spider, X, Y:Integer;
Begin
writeln('GOODJOB');
SPS_Setup(RUNESCAPE_SURFACE,(['8_6','8_7']));
ToShop := [Point(3410, 2795), Point(3433, 2829), Point(3475, 2828), Point(3513, 2847), Point(3537, 2873)];
SPS_WalkPath(ToShop);
wait(500+random(200));
SPS_GetMyPos;
If SPS_GetMyPos = Point(3540, 2873) then
Begin
Writeln('At Shop!');
End else
Begin
WriteLn('Walking Back to the Shop');
ToShopPos := Point(3540, 2873);
SPS_WalkToPos(ToShopPos);
End;
Wait(2300+Random(200));
End;
Function ClimbDownLadder:boolean;
var
x, y:integer;
Begin
If FindObjEx(x, y, ['Trapdoor'], [1381663, 2830911],6, 30, 62, 159, 464, 234) Then
MMouse(x, y, 6, 6);
If IsUpText('wn') then
Begin
Mouse(x, y, 0, 0, true);
Wait(1200+RandomRange(500,1000));
End;
End;
Function FindAndClickObelisk:boolean;
var
x, y:integer;
Begin
If FindObjEx(x, y, ['Obelisk'], [10534783, 2654844],10, 45, MSX1, MSY1, MSX2, MSY2) Then
Begin
MMouse(x, y, 6, 6);
ClickMouse2(true);
End;
End;
Function ScrollsTab:boolean;
var
x, y, But1:integer;
Begin
But1 := DTMFromString('mbQAAAHicY2VgYKgD4i4gbgPieiCuBmJtIFYBYh0gNgZiDSBWVdNmEBERQcHYACMWDAYAiRIEzw==');
Begin
If FindDTM(But1, x, y, MSX1, MSY1, MSX2, MSY2) then
Begin
Writeln('Found Button');
MMouse(x, y, 5, 5);
Mouse(x, y, 0, 0, true);
wait(150+RandomRange(150,320));
End;
FreeDTM(But1);
End;
End;
Function InfuseScrolls:boolean;
var
x, y, But2:integer;
Begin
But2 := DTMFromString('mWAAAAHicY2FgYHjPxMDwHYifAfFbEAaKvQDiN0D8FYj5+PjgOCpmMQMXAwKwAjEjGgYBAFomCWY=');
Begin
If FindDTM(But2, x, y, MSX1, MSY1, MSX2, MSY2) then
Begin
Writeln('Found Scroll');
MMouse(x, y, 5, 5);
Mouse(x, y, 0, 0, false);
wait(250);
ChooseOption('All');
End;
FreeDTM(But2);
End;
End;
function BankChestColor: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
Begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.93, 0.46);
if not (FindColorsTolerance(arP, 10987695, MSX1, MSY1, MSX2, MSY2, 2)) then
Begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
End;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
Begin
Result := arC[i];
Break;
End;
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
End;
Function TeleBank:Boolean;
var
x, y, DuelRing:integer;
Begin
GameTab(Tab_Equip);
DuelRing := BitmapFromString(8, 4, 'meJxjYmCQWy8FQaJVQhDEF8rDBBOX' +
'XSspNVscgiDiQCRc0CSQWMAbGCfRLwpE4t0iEr2LJaesEW+fK1rdL' +
'5RbJxCfFxgYKlonBAAKbhfV');
Begin
If FindBitMapTolerancein(DuelRing,x,y,MIX1,MIY1,MIX2,MIY2,45) then
Begin
MMouse(X,Y,6,6);
ClickMouse2(False);
Wait(400+Random(50));
ChooseOption('Castle');
GameTab(Tab_Inv);
Wait(3200+Random(230));
End;
FreeBitMap(DuelRing);
End;
End;
Function ChestFinding:Boolean;
Var
X, Y, Bank:Integer;
aFound:ExtEnded;
Begin
Bank := DTMFromString('mbQAAAHicY2VgYNBnZGBQBmITIFYDYkMgXgQUXwPEU4F4MpRdlBbBsGHlSobj+/YxlGVGM/S2tzHwA8XRMSMWDAYAJMoMow==');
Begin
if FindDTMRotated(Bank, x, y, MSX1, MSY1, MSX2, MSY2, -Pi, Pi, Pi/30, aFound) then
Begin
ClickOn(Bank, true);
End;
FreeDTM(Bank);
End;
End;
Function RingChecker:Boolean;
Var
x, y, DuelRing:Integer;
Begin
DuelRing := BitmapFromString(8, 4, 'meJxjYmCQWy8FQaJVQhDEF8rDBBOX' +
'XSspNVscgiDiQCRc0CSQWMAbGCfRLwpE4t0iEr2LJaesEW+fK1rdL' +
'5RbJxCfFxgYKlonBAAKbhfV');
Begin
If FindBlackChatMessage('crumbles to dust') then
Begin
Writeln('Withdrawing Ring');
If FindBitMapTolerancein(DuelRing,x,y,MSX1,MSY1,MSX2,MSY2,45) then
Begin
MMouse(X,Y,6,6);
Mouse(X, Y, 0, 0, true);
Wait(1100+Random(150));
If FindBitMapTolerancein(DuelRing,x,y,MIX1,MIY1,MIX2,MIY2,45) then
Begin
MMouse(X,Y,6,6);
ClickMouse2(False);
Wait(400+Random(50));
ChooseOption('Wear');
CloseBank;
End;
Begin
Writeln('No Need to Take another Ring Yet');
End;
FreeBitMap(DuelRing);
End;
End;
End;
End;
Function DepositScrolls:Boolean;
Var
x, y, Scrolls:Integer;
Begin
Scrolls := DTMFromString('mggAAAHicY2NgYJjCxMAwHYg7gHgxEC8B4rlA/BAo9xyIPwDxayC+BsRXgXhetCFDpaQgkMWEgiWBJAijA0YcGAIAJy4LBQ==');
Begin
If FindDTM(Scrolls,X,Y,MIX1,MIY1,MIX2,MIY2) then
Begin
MMouse(X,Y,6,6);
ClickMouse2(False);
Wait(100+Random(100));
ChooseOption('Deposit-All');
End;
FreeDTM(Scrolls);
End;
End;
Function WithdrawPouches:Boolean;
Var
x, y, Spider:Integer;
Begin
Spider := DTMFromString('mrAAAAHic42BgYHgBxO+A+AsUPwfi61B8D4izgDgWiLOBuASIK4C4EIgzgbgciCd4iAJJJpyYnwE/YCSAYQAAZzgLuw==');
Begin
If FindDTM(Spider, X, Y, MSX1, MSY1, MSX2, MSY2) then
Begin
MMouse(X, Y, 6, 6);
ClickMouse2(False);
Wait(100+Random(200));
ChooseOption('but');
End;
FreeDTM(Spider);
End;
End;
Function WalkingToBank:Boolean;
Var
ToBank:TPointArray;
Begin
SPS_Setup(RUNESCAPE_SURFACE,['4_10','3_10','4_11']);
ToBank := [Point(1618,4330), Point(1620, 4336)];
SPS_WalkPath(ToBank);
if not SPS_WalkPath(ToBank) then
Begin
SPS_WalkPath(ToBank);
End;
Wait(700+Random(200));
End;
Function Bank:Boolean;
Begin
WalkingToBank;
ChestFinding;
Wait(1300+Random(300));
If PinScreen then
InPin(Players[CurrentPlayer].Pin);
Wait(800+Random(200));
If BankScreen then
Begin
RingChecker;
Wait(200+Random(100));
DepositScrolls;
Wait(200+Random(100));
WithdrawPouches;
Wait(200+Random(100));
CloseBank;
End else
Begin
Bank;
End;
End;
Function StartRingFind:Boolean;
Var
x, y, DuelRing:Integer;
Begin
If Not FindNormalRandoms then
Begin
DuelRing := BitmapFromString(8, 4, 'meJxjYmCQWy8FQaJVQhDEF8rDBBOX' +
'XSspNVscgiDiQCRc0CSQWMAbGCfRLwpE4t0iEr2LJaesEW+fK1rdL' +
'5RbJxCfFxgYKlonBAAKbhfV');
GameTab(tab_Equip);
Wait(300+Random(200));
Begin
If FindBitMapTolerancein(DuelRing,X,Y,MIX1,MIY1,MIX2,MIY2,45) then
Begin
MMouse(X,Y,6,6);
Wait(500+Random(300));
GameTab(Tab_Inv);
End else
Begin
Writeln('Need to Get Ring');
GameTab(Tab_Inv);
ChestFinding;
If BankScreen then
Begin
Wait(400+Random(200));
If FindBitMapTolerancein(DuelRing,x,y,MSX1,MSY1,MSX2,MSY2,45) then
Begin
MMouse(X,Y,6,6);
ClickMouse2(True);
Wait(1100+Random(150));
If FindBitMapTolerancein(DuelRing,x,y,MIX1,MIY1,MIX2,MIY2,45) then
Begin
MMouse(X,Y,6,6);
ClickMouse2(False);
Wait(400+Random(50));
ChooseOption('Wear');
WithdrawPouches;
CloseBank;
End;
End;
End;
End;
End;
FreeBitMap(DuelRing);
End;
End;
Begin
Smart_Server := Server;
Smart_Members:= True;
Smart_Signed := True;
Smart_SuperDetail := False;
ActivateClient;
SetupSRL
MouseSpeed := RandomRange(14, 20);
StartRingFind;
repeat
MakeCompass('N');
SetAngle(SRL_ANGLE_HIGH);
GameTab(Tab_Inv);
HT;
Wait(3200+RandomRange(1000, 1500));
WalkingToShop;
Wait(550+RandomRange(300,350));
ClimbDownLadder;
Wait(300+RandomRange(200,250));
FindAndClickObelisk;
Wait(2000+RandomRange(500,1200));
ScrollsTab;
Wait(500+RandomRange(500,800));
InfuseScrolls;
Wait(700+RandomRange(500,800));
TeleBank;
Wait(600+RandomRange(650,700));
Bank;
Wait(1000+RandomRange(150,300));
DepositScrolls;
Wait(300);
WithdrawPouches;
Wait(250);
CloseBank;
Until (Not LoggedIn);
End.At the Request of a MEMBER
program new;
//{$DEFINE SMART}
{$i SRL/SRL.simba} //ChooseOption('All') fix..
{$i SPS/SPS.simba}
function StumpColor: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
R, G, B: Integer;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.02, 0.83);
FindColorsSpiralTolerance(MSCX, MSCY, arP, 6064559, MSX1, MSY1, MSX2, MSY2, 7);
if (Length(arP) = 0) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
ColorToRGB(arC[i], R, G, B);
if (R >= 151) and (R <= 192) and (G >= 120) and (G <= 153) and (B >= 83) and (B <= 107) then
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 21.37) and (X <= 35.34) and (Y >= 20.97) and (Y <= 34.60) and (Z >= 11.29) and (Z <= 18.47) then
begin
Result := arC[i];
Writeln('AutoColor = ' + IntToStr(arC[i]));
Break;
end;
end;
end;
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
function TreeColor: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.62, 1.41);
if not (FindColorsTolerance(arP, 3035220, MSX1, MSY1, MSX2, MSY2, 7)) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
Result := arC[i];
Writeln('AutoColor = ' + IntToStr(arC[i]));
Break;
end;
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
Function TreeAttack:boolean;
var
x, y:Integer;
Begin
if FindObjTPA(x, y, TreeColor, 15, 2, 40, 60, 100, ['Chop', 'hop', 'Tree']) then
MMouse(x, y, 1, 1);
if IsUpText('hop') then
Begin
Mouse(x, y, 0, 0, false)
WaitOption('hop', 400);
end else
if FindObjTPA(x, y, StumpColor, 15, 1, 35, 5, 500, ['here']) then
writeln('waiting for tree');
wait(12500+RandomRange(5000, 12000));
end;
Function AntiBan:boolean;
Begin
Case random(3)
of 2: MakeCompass('E');
end;
end;
begin
SetupSRL;
repeat
TreeAttack
Wait(2500+RandomRange(3250,3500));
AntiBan;
until(not LoggedIn);
end.a Quick GE Cutter.. It's not 100% Perfect but it works =x)