Ian
2013-01-29 16:12:24
How Long have You Played Runescape?
6 Year(s)
Are you affilated in anyway with Jagex LTD?
No
Were you Referred to SRL?
Na
What is your general programming knowledge?
Just started learning here, so only a little bit of pascal.
Are you a member of any other communities?
I have an account on Sythe that I made later, but don't use.
Tell us about yourself…
Please show us one (or multiple) of your scripts.
Some reports:
Getting from lv 1 to 20 in 45 minutes:
6 Year(s)
Are you affilated in anyway with Jagex LTD?
No
Were you Referred to SRL?
Na
What is your general programming knowledge?
Just started learning here, so only a little bit of pascal.
Are you a member of any other communities?
I have an account on Sythe that I made later, but don't use.
Tell us about yourself…
From: BMWxi
Hi, I'm Ian. I live in Halifax, Nova Scotia, Canada. I started playing rs seven years ago in grade 5, but had a few year long breaks in between. I started being interested in botting from some bot-killing videos on youtube, and I joined here early last summer. My hobbies include climbing, biking, camping, hiking, ect. I know English, learned French for a few years in schoo although I can hardly remember anythingl, and I'm now learning German in school.
Please show us one (or multiple) of your scripts.
My Crayfisher:
[SIMBA]program CrazyCrayfish;
{$DEFINE SMART}
{$i srl/srl.simba}
{$i ObjectDTM\ObjDTMInclude.simba}
//////////////////////////////////////////////////////
// ============================== //
// BMWxi's Crazy Crayfish Catcher //
// ============================== //
// //
// /// / / //
// ///// / _/ //
// ///// / _/ // //
// ////// /##//##/ ///// //
// ////// /##//##/ ////// //
// ///////////////////// //
// ///////////////////// //
// /////////////// //
// ////////// //
// //////// //
// ////// //
// ///// //
// ///// //
// //// //
// ///////// //
// /////// //
// /////// //
// //
//////////////////////////////////////////////////////
// //
// Instructions //
// ================== //
// [] Install ObjectDTM as instructed here: //
// http://villavu.com/forum/showthread.php?p=847813 //
// //
// [] Set your First XP counter to Total XP. //
// //
// [] Start your player at the fishing spot //
// behind Lumbridge Church. //
// //
// [] Set graphics to Min, Fixed, and Brightest. //
// //
//////////////////////////////////////////////////////
const
Version = '1.2';
Method = 'bank'; //Bank or Drop
Debug = False;
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
with Players[0] do
begin
Name := ''; // Player username
Pass := ''; // Player password
Active := True;
end;
end;
var
FishTries, TeleTries, CrayfishDTM, Cx, Cy, StartXP:Integer;
Status:String;
procedure LoadTheDTM;
begin
CrayfishDTM := DTMFromString('mlwAAAHicY2dgYDBgZWBQA2JtILYEYjsgNgFiXSBOZWRgyAXiQiBOAeIYIA4B4kgQ31IOqJsJKwZqxQkY8WAoAAA4BQUO');
end;
procedure FreeTheDTM;
begin
FreeDTM(CrayfishDTM);
end;
procedure CheckFriends; //An Antiban Procedure by BMWxi
var
NCx, NCy, ONx, ONy :Integer;
begin
if not LoggedIn then LoginPlayer;
if (not LoggedIn) or (InvFull) then Exit;
gametab(tab_friends); //Goes to friends tab
If FindColorTolerance(NCx, NCy, 16683035, 546, 246, 722, 451, 5) Then // Checks if they have changed names,
begin // if they have, It hovers to find their new name.
MMouse(NCx, NCy, 5, 5);
Wait(RandomRange(1000, 2000));
end;
If FindColorTolerance(ONx, ONy, 6619135, 546, 246, 722, 451, 5) Then //Checks to see if friends are online
begin //hovers the names of online friends
MMouse(ONx, ONy, 5, 5);
Wait(RandomRange(1000, 2000));
end else
begin
Wait(RandomRange(500, 1000)); //I added this so It doesn't spam-exit when you have no friends :)
end;
FTab(tab_Inv); //Returns to inventory
end;
procedure Antiban;
begin
if not LoggedIn then LoginPlayer;
if not LoggedIn then Exit;
FindNormalRandoms;
case Random(90) of
0..1: HoverSkill(skill_Fishing,false);
2: CheckFriends;
3: PickUpMouse;
4: RandomMovement;
5..12: MakeCompass('rand');
13: Wait(5000+random(2000));
end;
end;
function Fishing: Boolean;
var
PBox: TBox;
begin
PBox := IntToBox(240, 184, 285, 213);
Result := (AveragePixelShift(PBox, 250, 500) > 50);
end;
function NoCrayfish:Boolean;
var
Cx, Cy:Integer;
begin
if FindColorTolerance(Cx, Cy, 2046307, 47, 294, 79, 328, 10) then
begin
Result :=False;
SMART_DrawBoxEx(false, false, intToBox(47, 296, 78, 327), clGreen);
if Debug then
WriteLn('Crayfish in Inv');
end else
begin
Result :=True;
SMART_DrawBoxEx(false, false, intToBox(47, 296, 78, 327), clRed);
if Debug then
WriteLn('No Ore in Inv');
end;
end;
procedure Proggy;
var
FishingXPPH, CrayfishPH, Crayfish, FishingXPEarned:Integer;
begin;
if not LoggedIn then LoginPlayer;
if (not LoggedIn) or (InvFull) then Exit;
FishingXPEarned := (GetXPBar(1) - StartXP);
FishingXPPH := Round((FishingXPEarned * 3600) / (GetTimeRunning / 1000));
CrayfishPH := Round(FishingXPPH / 10);
Crayfish := Round(FishingXPEarned / 10);
ClearDebug;
Writeln('===========[] Crazy Crayfish ' + Version + ' []===========');
Writeln('[+] By BMWxi [+] Status: ' + Status);
Writeln('==============================================');
Writeln('[] Fishing XP Earned: ' + IntToStr(FishingXPEarned) + ' Per Hour: ' + IntToStr(FishingXPPH));
Writeln('[] Crayfish Caught: ' + IntToStr(Crayfish) + ' Per Hour: ' + IntToStr(CrayfishPH));
Writeln('[] Profit: ' + '0' + ' Per Hour: ' + '0');
Writeln('[] Total Time: ' + TimeRunning);
Writeln('==============================================');
end;
procedure DropCrayfish;
var
DropTime:Integer;
begin
if not LoggedIn then LoginPlayer;
if not LoggedIn then Exit;
FindNormalRandoms;
Status := 'Dropping';
Proggy;
if (not IsActionBarOpen) then ToggleActionBar(True);
begin
if FindDTM(CrayfishDTM, Cx, Cy, MIX1, MIY1, MIX2, MIY2) then
begin
if (NoCrayfish) then
begin
WriteLn('Placing Crayfish in slot 1');
ClearActionBarSlot(1);
DragMouse(Cx, Cy, 5, 5, 57, 305, 5, 5);
Wait(RandomRange(250, 750));
end;
KeyDown(49);
MarkTime(DropTime);
repeat
Wait(randomrange(100,150));
until (NoCrayfish) or (TimeFromMark(DropTime) > 5000);
KeyUp(49);
if not (NoCrayfish) then
begin
if FindDTM(CrayfishDTM, Cx, Cy, MIX1, MIY1, MIX2, MIY2) then
begin
ClearActionBarSlot(1);
DragMouse(Cx, Cy, 5, 5, 57, 305, 5, 5);
Wait(RandomRange(250, 750));
DropCrayfish;
Exit;
end;
end;
SMART_ClearCanvas;
end;
end;
Antiban;
Proggy;
end;
procedure BankChestTele;
var
SSx, SSy, ASx, ASy, FSSx, FSSy, TeleTimeout:Integer;
begin
if not LoggedIn then LoginPlayer;
if (not LoggedIn) then Exit;
if (TeleTries > 4) then
begin
WriteLn('Failed to Teleport too many times, logging out.');
Logout;
TerminateScript;
end;
Status := 'Teleporting';
Proggy;
if ((GetColor(628,182)) = 5419131) then
begin
MMouse(628,182, 10, 10);
Wait(randomrange(200,500));
ClickMouse2(true);
Wait(randomrange(500,1000));
end;
if ((GetColor(624,433)) = 4599561) then
begin
MouseBox(590, 427, 698, 446, 1);
SetAngle(SRL_ANGLE_HIGH);
MakeCompass('N');
TeleTries := TeleTries + 1;
MarkTime(TeleTimeout);
repeat
Wait(randomrange(100,500));
until (FindSymbol(SSx, SSy,'shop')) or (FindSymbol(ASx, ASy,'anvil')) or (FindSymbol(FSSx, FSSy,'fishing shop')) or (TimeFromMark(TeleTimeout) > 5000);
end;
if (FindSymbol(SSx, SSy,'shop')) or (FindSymbol(ASx, ASy,'anvil')) or (FindSymbol(FSSx, FSSy,'fishing shop')) then
begin
WriteLn('Successfully teleported to the Bank Chest');
Exit;
end else
begin
WriteLn('Error 404: Various Symbols not found. Retrying.');
BankChestTele;
end;
end;
procedure ToRiverPath;
var
WalkTime:Integer;
begin
if not LoggedIn then LoginPlayer;
if not LoggedIn then Exit;
Status := 'Walking to River';
Proggy;
if (RunEnergy(80)) then SetRun(True);
FindNormalRandoms;
WriteLn('Walking to the River using DTMs');
MarkTime(WalkTime);
ObjDTM_WalkPath(['111:141:6:10:7:70:67:10:7:62:84:10:7:53:68:10:7:49:76:10:7:46:93:10:7:20:81', '121:135:5:1:7:70:109:1:7:62:129:1:7:42:124:1:7:116:73:1:7:100:76', '124:131:5:1:7:80:19:1:7:64:22:1:7:35:55:1:7:26:75:1:7:71:88', '134:120:3:1:7:31:38:1:7:76:67:7:7:125:97', '99:96:4:7:7:94:20:7:7:73:56:1:7:128:37:1:7:132:53'], 3, 100, 80, False, True);
if (WalkTime > 30000) then Exit;
Proggy;
repeat
wait(RandomRange(100, 200));
until(not isMoving);
end;
procedure TPAFishCrayfish;
var
tmpCTS, i, N, r, Counter, FSx, FSy:Integer;
FishSpotTPA:TPointArray;
begin
repeat
if not LoggedIn then LoginPlayer;
if (not LoggedIn) or (InvFull) then Exit;
FindNormalRandoms;
SetAngle(SRL_ANGLE_Low);
if (FishTries > 3) then
begin
WriteLn('Failed to find the fishing spot too many times, logging out.');
Logout;
TerminateScript;
end;
Flag;
repeat
wait(RandomRange(50,100));
until not IsMoving;
Status := 'Fishing';
Proggy;
tmpCTS := GetToleranceSpeed;
SetColorToleranceSpeed(2);
SetToleranceSpeed2Modifiers(0.36, 1.04);
FindColorsTolerance(FishSpotTPA, 11840421, MSX1, MSY1, MSX2, MSY2, 5);
SetColorToleranceSpeed(tmpCTS);
SetToleranceSpeed2Modifiers(0.02, 0.02);
N := High(FishSpotTPA);
if (N < 1) or (not(FindSymbol(FSx, FSy,'fishing spot'))) then
begin
WriteLn('Not at the Fishing Spot!');
FishTries := FishTries + 1;
MakeCompass('rand');
WriteLn('We have failed to find the Fishing Spot ' + IntToStr(FishTries) + ' times in a row.');
if (FishTries > 3) then
begin
WriteLn('Failed to find the fishing spot too many times, logging out.');
Logout;
TerminateScript;
end;
WriteLn('Trying ' + IntToStr(3 - FishTries) + ' more times until Termination.');
Wait(RandomRange(200, 500));
BankChestTele;
ToRiverPath
TPAFishCrayfish;
Exit;
end;
MarkTime(Counter);
for i := 0 to N do
begin
r := random(N);
Wait(RandomRange(100, 250));
MMouse(FishSpotTPA[r].x, FishSpotTPA[r].y, 5, 5);
Wait(RandomRange(100, 175));
if WaitUpText('age F', 500) then
begin
Break;
end;
if (TimeFromMark(Counter) > 3000) then
begin
WriteLn('TPA Failed!');
FishTries := FishTries + 1;
MakeCompass('rand');
WriteLn('We have failed to find the Fishing Spot ' + IntToStr(FishTries) + ' times in a row.');
if (FishTries > 3) then
begin
WriteLn('Failed to find the fishing spot too many times, logging out.');
Logout;
TerminateScript;
end;
WriteLn('Trying ' + IntToStr(3 - FishTries) + ' more times until Termination.');
Wait(RandomRange(200, 500));
BankChestTele;
ToRiverPath
TPAFishCrayfish;
Exit;
end;
end;
FishTries := 0;
ClickMouse2(True);
MakeCompass('rand');
Flag;
case Lowercase (Method) of
'drop':
begin
repeat
wait(1000);
Antiban;
Proggy;
until(not Fishing) or (not LoggedIn) or (InvCount > (randomrange(20,25)));
if (InvCount < (randomrange(20,25))) then
begin
TPAFishCrayFish;
Exit;
end;
Exit;
end;
'bank':
begin
repeat
wait(1000);
Antiban;
Proggy;
until(InvFull) or (not Fishing) or (not LoggedIn);
if (not InvFull) then
begin
TPAFishCrayFish;
Exit;
end;
Exit;
end;
end;
until(InvFull) or (not LoggedIn);
end;
procedure ToBankPath;
begin
if not LoggedIn then LoginPlayer;
if (not LoggedIn) then Exit;
Status := 'Walking to Chest';
Proggy;
if (RunEnergy(80)) then SetRun(True);
WriteLn('Walking to the Chest using DTMs');
ObjDTM_Walk('91:49:6:10:7:88:38:10:7:73:37:10:7:69:45:10:7:64:61:10:7:41:48:10:7:29:48', 3, 100, 80, True);
Proggy;
if IsActionBarOpen then ToggleActionBar(False);
repeat
wait(RandomRange(100, 200));
until(not isMoving);
if Debug then
WriteLn('At Chest');
end;
procedure DepositFish;
var
Cx, Cy:Integer;
begin
if not LoggedIn then LoginPlayer;
if (not LoggedIn) then Exit;
Status := 'Banking Crayfish';
Proggy;
if IsActionBarOpen then ToggleActionBar(False);
if FindObjTPA(Cx, Cy, 855309, 5, 1, 10, 15, 100, ['it b']) then
begin
MMouse(Cx, Cy, 5, 5);
Wait(RandomRange(100, 120));
WriteLn('Found Chest');
if IsUptext('osit') then
begin
WriteLn('Clicking Chest');
ClickMouse2(True);
if DidRedClick then
begin
while not (DepositScreen) do
Wait(RandomRange(400, 700));
Wait(RandomRange(200, 500));
MouseBox(294, 266, 327, 289, 1);
Wait(RandomRange(400, 700));
TeleTries := 0;
end else
begin
ToBankPath;
DepositFish;
Exit;
end;
end else
begin
ToBankPath;
DepositFish;
Exit;
end;
end else
begin
BankChestTele;
DepositFish;
Exit;
end;
end;
procedure Options;
begin
if not LoggedIn then LoginPlayer;
if (not LoggedIn) or (InvEmpty) then Exit;
case Lowercase (Method) of
'drop':
begin
DropCrayFish;
end;
'bank':
begin
BankChestTele;
ToBankPath;
DepositFish;
ToRiverPath;
end;
end;
end;
begin
SRL_SixHourFix := True;
SetupSRL;
LoadTheDTM;
AddOnTerminate('FreeTheDTM');
ObjDTM_Setup
DeclarePlayers;
LoginPlayer;
SMART_ClearCanvas;
StartXP := GetXPBar(1);
WriteLn('Starting XP is ' + IntToStr(StartXP));
repeat
SetAngle(SRL_ANGLE_LOW);
CheckFriends;
repeat
if not LoggedIn then LoginPlayer;
TPAFishCrayfish;
Options;
Proggy;
until(InvFull) or (not LoggedIn);
LoginPlayer;
until(InvFull);
FreeTheDTM;
end.Some reports:
Getting from lv 1 to 20 in 45 minutes:
=========[] Crazy Crayfish 1.0 []=========
[+] By BMWxi [+]
================
[] Fishing XP Earned: 4500 Per Hour: 6352
[] Crayfish Caught: 450 Per Hour: 635
[] Total Time: 42 Minutes and 30 Seconds
=====================================================[] Crazy Crayfish 1.1 []===========
[+] By BMWxi [+] Status: Fishing
==============================================
[] Fishing XP Earned: 16310 Per Hour: 4938
[] Crayfish Caught: 1631 Per Hour: 493
[] Total Time: 3 Hours, 18 Minutes and 9 Seconds
=========================================================[] Crazy Crayfish 1.1 []===========
[+] By BMWxi [+] Status: Fishing
==============================================
[] Fishing XP Earned: 9710 Per Hour: 5204
[] Crayfish Caught: 971 Per Hour: 520
[] Total Time: 1 Hours, 51 Minutes and 57 Seconds
=========================================================[] Crazy Crayfish 1.1 []===========
[+] By BMWxi [+] Status: Fishing
==============================================
[] Fishing XP Earned: 26530 Per Hour: 6186
[] Crayfish Caught: 2653 Per Hour: 618
[] Total Time: 4 Hours, 17 Minutes and 18 Seconds
==============================================