Deadly Serious
2012-01-22 04:26:17
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?
Only pascal.
Are you a member of any other communities?
Sythe, Rsbots, Rsbuddy
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?
Only pascal.
Are you a member of any other communities?
Sythe, Rsbots, Rsbuddy
Tell us about yourself…
From: Deadly Serious
Hello everyone, my name is Deadly Serious, aka that annoying guy in the Help section :P
My real name is Aaron and I've participated in a variety of communities, such as sythe, rsbots and of course the dreaded, rsbuddy.
This community definitely has a pleasanter feel about it than the other communities I've participated in. (I hope the influx of leechers won't ruin the nice vibe that this community generates.)
My interests are gaming, just hanging out with friends, tennis, golf, MMA and now scripting.
I'm the oh, so typical, mediocre, urban 18 year old, kid. I'm pretty much a cliché.
Please show us one (or multiple) of your scripts.
I've released about 3.2 scripts, an air runecrafter, an air tiara crafter, a Draynor fisher and a harpoon buyer.
Hopefully many more in the future :D
I was going to combine the air runecrafter and the air tiara crafter together but there isn't much demand for it.
The harpoon buyer has a few anti-leech preventions in it.
Here they are:
[Simba]
program Deadlys_AirCrafter;
{$i srl/srl/misc/smart.simba}
{$i SRL/SRL.simba}
//{.Include SRL\SRL\Misc\Debug.simba}
//{$i SRL/SRL/misc/paintsmart.simba}
{$i ObjectDTM/ObjDTMInclude.Simba}
Const //Yoho's
SERVER = ('54'); // Enter "0" to pick a random server.
MEMBERS = False; // Set to True if using a RS-Members account. False if F2P.
SRLStats_Username = ''; // Your SRL Stats Username
SRLStats_Password = ''; // Your SRL Stats Password
NumbOfPlayers= 1; //How many players are you using
StartPlayer= 0; //Player to start auoting with! (0 means first char)
Version = 1.1;
Var
Crafted:Integer;
aFound: Extended;
{*******************************************************************************
procedure DeclarePlayers;
By: SRL
Description: SRL's Player Setup
*******************************************************************************}
procedure DeclarePlayers;
var i:integer;
begin
NumberOfPlayers(2);
CurrentPlayer := 0;
for i := 0 to NumbOfPlayers-1 do
Players[i].BoxRewards := ['mote', 'ostume', 'XP', 'Gem', 'ithril', 'oal', 'une', 'oins'];
with Players[0] do
begin
Name :=''; // Name
Pass :=''; // Pass
Active := True; //True if you want this player to be ran in the script, false if not // 3-4 lowercase letters from username; used for random event detection
Active := True; // Set to true if you want to use Player 0
Pin := ''; // Leave blank if you have no pin.
with Players[1] do
begin
Name :=''; // Name
Pass :=''; // Pass
Active := True; //True if you want this player to be ran in the script, false if not // 3-4 lowercase letters from username; used for random event detection
Active := True; // Set to true if you want to use Player 0
Pin := ''; // Leave blank if you have no pin.
end;
end;
end;
Procedure ObjSetup; //Euph's
begin;
ObjDTM_Setup;
end;
Procedure StatsGuise(wat:String); //Yoho's
Begin
Status(wat);
Disguise(wat);
End;
//Function CheckAndClick(X,Y:Integer):Boolean;
//By: YoHoJo
//Description: Moves mouse to x,y, checks for uptext, and clikcs if found
//*******************************************************************************}
Function CheckAndClick(X,Y:Integer):Boolean;
Begin
MMouse(x, y, 5, 5);
{Wait(100 + Random(50));
If CountUpColor('B', 41, 5, 86, 24, 70, 140) Then}
If WaitUpTextMulti(['Mine','ine'], 150) Then
Begin
Result:=True;
GetMousePos(x, y);
Mouse(x, y, 0, 0,True);
Wait(100+Random(50));
FFlag(0);
End;
End;
Procedure FailSafe(Reason:String); //Yoho's
begin
Players[CurrentPlayer].Loc:=reason;
Logout;
Terminatescript;
end;
Procedure HumanMMouse(eX, eY, ranX, ranY: Integer);
var
randSpeed: extended;
X,Y,X2,Y2,A,Dist,MP: integer;
begin
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;
Procedure Loadvars;
begin;
MouseSpeed := RandomRange(14, 18);
end;
Procedure Antiban; //I liked a few of Yoho's antibans, I implemented them here
Begin
Case Random(192) Of
0: HoverSkill('runecrafting', False);
1: Begin PickUpMouse; SleepAndMoveMouse(3000 + Random(500)); End;
2: IdleTime(100+random(700), 100+Random(100), 0.2+RandomE/2);
3: Begin GameTab(Tab_Stats); Wait(3000 + Random(500)); GameTab(Tab_Inv); End;
4: HoverSkill('random', False);
5: RandomMovement;
End;
end;
Procedure ProgressReport;
begin
Cleardebug;
Writeln('You have been crafting for:' + TimeRunning);
Writeln('Exp gained:' + IntToStr(Crafted*27*5));
end;
Procedure WithdrawEss;
var
Bmp, x, y:integer;
begin
if not loggedin then exit;
FindNormalRandoms;
Antiban;
DidRedClick;
TimeRunning;
Inc(Crafted);
Begin;
SetAngle(SRL_ANGLE_HIGH);
MakeCompass('W');
If (FindObjCustom(x,y,['Bank','nk','booth','oot'], [1717052], 5)) Then
begin
MMouse(X, Y, 5, 5);
ClickMouse2(False);
Wait(600+random(250));
ChooseOption('uickly');
Wait(2500+random(500));
end;
begin //Runaways'
if PinScreen then
begin
InPin(Players[CurrentPlayer].Pin);
end;
begin
Bmp := BitmapFromString(14, 15, 'meJyNzm0KgzAQhOFDSSVUgiWorc' +
'YPgtrS+1+kAwPLshopvD+fHTbGeZoSW5aVpbSjdfuw/f1Fr35EMc7' +
'MXPGEV103IPqLE9Q0T0R/PNE+hBb94+s6EOe8YEimsXiNvX8gjc24' +
'fHKvvMZmXH8CKdiM608gnauIzfgRQ7IcpocsS4dymJ6yKG45LF7kK' +
'dbjnP0B+hipmw==');
if FindBitmapToleranceIn(Bmp, X, Y, 35, 85, 480, 295, 20) then
begin
Writeln('Foundit');
MMouse(X, Y, 5, 5);
ClickMouse2(False);
Wait(300+random(250));
ChooseOption('All');
Wait(500+random(250));
end;
end;
FreeBitmap(Bmp);
end;
end;
end;
function Walking(Color, Tolerance: Integer; SortFrom: tpoint): Boolean;
var
i, x, y, rx, ry: Integer;
TPA: TPointArray;
begin
if not LoggedIn then Exit;
FindNormalRandoms;
FindColorsSpiralTolerance(MMCX, MMCY, TPA, Color, MMX1, MMY1, MMX2, MMY2, Tolerance);
SortTPAFrom(TPA, SortFrom);
for i := 0 to High(TPA) do
begin
x := TPA[i].x;
y := TPA[i].y;
rx := RandomRange(-6, 6);
ry := RandomRange(-6, 6);
if (not rs_OnMinimap(x + rx, y + ry)) then
Continue;
Mouse(x + rx, y + ry, 0, 0, true);
FFlag(0);
Wait(200 + Random(500));
Result := True;
Break;
end;
end;
Procedure Walkies;
begin
if not loggedin then exit;
FindNormalRandoms;
Antiban;
DidRedClick;
begin
if (Walking(2570554, 15, Point(583, 38))) then
begin
Wait(1800+Random(500));
end;
end;
end;
procedure Resting;
var
X,Y: Integer;
s: String;
begin
if not loggedin then exit;
FindNormalRandoms;
Antiban;
DidRedClick;
begin
if (Not runenergy(50)) then
begin
If FindObjCustom(x, y, ['Talk', 'alk'], [14464635, 9469760, 4297607], 10) then
begin
Writeln('Listening to the blissful music')
Getmousepos(x, y)
begin;
MMouse(X, Y, 3, 3);
ClickMouse2(False);
Waitoption('isten', 3000);
Wait(8000+Random(5000));
RestUntil(80)
end;
end;
end;
end;
end;
procedure WalkToAlter; //Mine, that's rare
var
Path: TStringArray;
I: Integer;
begin
if not loggedin then exit;
FindNormalRandoms;
Antiban;
DidRedClick;
begin
Path:= ['568:98:5:1:7:613:100:1:7:625:122:1:7:588:117:0:7:647:111:1:7:647:61'];
for I := 0 to 0 do
ObjDTM_Walk(Path[i], 0, 100, 80, True);
Wait(2000+Random(500));
begin
Resting;
end;
begin
Path:= ['570:120:4:5:7:571:77:1:7:560:99:1:7:581:94:1:7:559:78'];
for I := 0 to 0 do
ObjDTM_Walk(Path[i], 0, 100, 80, True);
Wait(2000+Random(500));
Path:= ['566:117:4:1:7:576:103:3:7:582:128:1:7:593:103:1:7:606:115'];
for I := 0 to 0 do
ObjDTM_Walk(Path[i], 0, 100, 80, True);
Wait(3500+Random(1000));
end;
end;
end;
Procedure Enter;
var
X,Y: Integer;
begin
if not loggedin then exit;
FindNormalRandoms;
Antiban;
DidRedClick;
begin
If FindObjCustom(x, y, ['Ent', 'Enter'], [16631951, 16629135, 16171659, 14925721, 16499851], 15) then
begin
Writeln('Entered into the Mysterious rock formation')
Getmousepos(x, y)
if IsUpText('nter') then
Case random(11) of
0..10: begin
MMouse(X, Y, 8, 8);
ClickMouse2(True);
end;
// 9..10: begin;
// MMouse(X, Y, 5, 5);
//ClickMouse2(False);
// Waitoption('nter', 3000);
end;
end;
end;
end;
//end;
Procedure Crafting;
Var
x,y: integer;
begin
if not loggedin then exit;
FindNormalRandoms;
Antiban;
DidRedClick;
ProgressReport;
begin
If FindObjCustom(x, y, ['raft', 'Rune'], [5591380, 5920344, 5723222, 5525587, 5525843, 5722966, 5723222], 3) then
begin
Writeln('Crafted Air runes')
Getmousepos(x, y)
if IsUpText('raft') then
Case random(11) of
0..10: begin
MMouse(X, Y, 15, 15);
ClickMouse2(True);
end;
// 9..10: begin;
// MMouse(X, Y, 15, 15);
// ClickMouse2(False);
// Waitoption('raft', 3000);
end;
end;
end;
end;
//end;
Procedure Waiting;
begin
if not loggedin then exit;
FindNormalRandoms;
Antiban;
begin
Wait(5500+random(500));
end;
end;
Procedure Leave;
var
X,Y,I: Integer;
TPA : TPointArray;
ATPA : T2DPointArray;
Begin
if not loggedin then exit;
FindNormalRandoms;
Antiban;
DidRedClick;
begin
FindColorsTolerance(TPA, 5081226, MSX1, MSY1, MSX2, MSY2, 10); // Thanks to Naums' Tutorial
ATPA := TPAToATPAEx(TPA, 28, 28);
For I := 0 To High(ATPA) Do
Begin
If MiddleTPAEx(ATPA[I], X, Y) Then
begin
MMouse(X, Y, 2, 2);
ClickMouse2(True);
Writeln('Leaving the Mysterious rock formation');
Wait(4000+random(500));
End;
End;
End;
End;
Procedure BackToTheBank;
var
Path: TStringArray;
Alterarea, X, Y, I: Integer;
Begin
if not loggedin then exit;
FindNormalRandoms;
Antiban;
DidRedClick;
AlterArea := DTMFromString('mwQAAAHic42RgYKhgYmCIBuIyIJ4GxDVAnAjEU4G4F4gzgTgcqC4CiK0YIOxiIM4F4mwgdoLiolRNhu7qIDCO9DdjiA40Z8hIUmWwNBVnqCnVAYtzAdURwoxEYDgAAF6XES8=');
if FindDTMRotated(AlterArea, x, y, 0, 0, 700, 500, -Pi, Pi, Pi/30, aFound) then
begin
leave;
end;
begin
Path:= ['685:61:4:3:7:631:39:1:7:673:69:1:7:676:39:1:7:661:77'];
for I := 0 to 0 do
ObjDTM_Walk(Path[i], 0, 100, 80, True);
Wait(2000+Random(500));
Path:= ['684:52:4:1:7:693:78:5:7:634:38:1:7:643:56:1:7:623:39'];
for I := 0 to 0 do
ObjDTM_Walk(Path[i], 0, 100, 80, True);
Wait(3000+Random(500));
begin
Resting;
end;
begin
Path:= ['675:49:4:1:7:666:69:1:7:678:90:1:7:642:85:1:7:658:104'];
for I := 0 to 0 do
ObjDTM_Walk(Path[i], 0, 100, 80, True);
Wait(1000+Random(200));
Path:= ['685:56:4:0:7:650:114:1:7:650:66:1:7:635:22:1:7:618:104'];
for I := 0 to 0 do
ObjDTM_Walk(Path[i], 0, 100, 80, True);
Wait(3000+Random(500));
end;
FreeDTM(AlterArea);
end;
end;
begin
Smart_Server := 54;
Smart_Members := False;
Smart_Signed := True;
Smart_SuperDetail := False;
SetupSRL;
Loadvars;
ObjSetup;
Declareplayers;
if not (LoggedIn) then
LoginPlayer;
Repeat
Repeat
Withdrawess;
Walkies;
WalkToAlter;
Enter;
Waiting;
Crafting;
Waiting;
Leave;
Waiting;
BackToTheBank;
Until(false) or (not LoggedIn);
NextPlayer(Players[CurrentPlayer].Active);
Until(false)
end.
program Harpoon_Buyer;
{$i srl/srl/misc/smart.simba}
{$i SRL/SRL.simba}
//{.Include SRL\SRL\Misc\Debug.simba}
//{$i SRL/SRL/misc/paintsmart.simba}
{$i ObjectDTM/ObjDTMInclude.Simba}
Const //Yoho's
SERVER = ('54'); // Enter "0" to pick a random server.
MEMBERS = False; // Set to True if using a RS-Members account. False if F2P.
SRLStats_Username = ''; // Your SRL Stats Username
SRLStats_Password = ''; // Your SRL Stats Password
NumbOfPlayers= 1; //How many players are you using
StartPlayer= 0; //Player to start auoting with! (0 means first char)
Version = 1.2;
Var
tries: integer;
opened : boolean;
Poon: integer;
aFound: Extended;
{*******************************************************************************
procedure DeclarePlayers;
By: SRL
Description: SRL's Player Setup
*******************************************************************************}
procedure DeclarePlayers;
var i:integer;
begin
NumberOfPlayers(6);
CurrentPlayer := 4;
for i := 1 to NumbOfPlayers-5 do
Players[i].BoxRewards := ['mote', 'ostume', 'XP', 'Gem', 'ithril', 'oal', 'une', 'oins'];
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';
Players[0].Member := False;
Players[0].Active := True;
Players[0].Pin := '';
end;
Procedure ObjSetup; //Euph's
begin;
ObjDTM_Setup;
end;
Procedure StatsGuise(wat:String); //Yoho's
Begin
Status(wat);
Disguise(wat);
End;
//Function CheckAndClick(X,Y:Integer):Boolean;
//By: YoHoJo
//Description: Moves mouse to x,y, checks for uptext, and clikcs if found
//*******************************************************************************}
Function CheckAndClick(X,Y:Integer):Boolean;
Begin
MMouse(x, y, 5, 5);
{Wait(100 + Random(50));
If CountUpColor('B', 41, 5, 86, 24, 70, 140) Then}
If WaitUpTextMulti(['Mine','ine'], 150) Then
Begin
Result:=True;
GetMousePos(x, y);
Mouse(x, y, 0, 0,True);
Wait(100+Random(50));
FFlag(0);
End;
End;
Procedure FailSafe(Reason:String); //Yoho's
begin
Players[CurrentPlayer].Loc:=reason;
Logout;
Terminatescript;
end;
Procedure HumanMMouse(eX, eY, ranX, ranY: Integer);
var
randSpeed: extended;
X,Y,X2,Y2,A,Dist,MP: integer;
begin
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;
Procedure Loadvars;
begin;
MouseSpeed := RandomRange(14, 18);
end;
Procedure Antiban; //I liked a few of Yoho's antibans, I implemented them here
Begin
Case Random(254) Of
0: HoverSkill('Constitution', False);
1: Begin PickUpMouse; SleepAndMoveMouse(3000 + Random(500)); End;
2: IdleTime(100+random(700), 100+Random(100), 0.2+RandomE/2);
3: Begin GameTab(Tab_Stats); Wait(3000 + Random(500)); GameTab(Tab_Inv); End;
4: HoverSkill('random', False);
5: RandomMovement;
End;
end;
Procedure ProgressReport;
begin
Cleardebug;
Writeln('You have been Pooning for:' + TimeRunning);
Writeln('Poons Bought:' + IntToStr(Poon*28));
end;
procedure Resting;
var
X,Y: Integer;
s: String;
begin
if not loggedin then exit;
FindNormalRandoms;
Antiban;
DidRedClick;
begin
if (Not runenergy(50)) then
begin
setrest;
Wait(10000+Random(5000));
RestUntil(80)
end;
end;
end;
Procedure BuyThosePoons;
Var
X,Y,I: Integer;
TPA : TPointArray;
ATPA : T2DPointArray;
begin
If not loggedin then exit;
FindNormalRandoms;
Antiban;
DidRedClick;
Timerunning;
begin
Resting;
end;
begin
SetAngle(SRL_ANGLE_HIGH);
MakeCompass('S');
if not invfull then
begin
if not shopscreen then
begin
If (FindObjCustom(x,y,['alk', 'talk'], [7841457, 926253, 8561065, 7118242, 7510954], 3)) Then
begin
MMouse(X, Y, 1, 1);
ClickMouse2(False);
Writeln('Talking to the Fisherman');
Wait(600+random(250));
Waitoption('rade', 3000);
Wait(3500+random(250));
end;
begin
If shopscreen then
begin
MouseBox(186, 55, 225, 98, 2);
begin
getmousepos(x, y);
Writeln('Buying dose poons');
ClickMouse2(False);
Wait(600+random(250));
Waitoption('00', 3000);
Wait(1500+random(250));
end;
begin
MouseBox(479, 13, 493, 27, 1);
begin
Wait(1000+random(500));
end;
end;
end;
end;
end;
end;
end;
Procedure WalkToTheDepositBox;
var
Path: TStringArray;
DoorDTM, X, Y, I: Integer;
TPA : TPointArray;
ATPA : T2DPointArray;
begin
if not loggedin then exit;
FindNormalRandoms;
Antiban;
DidRedClick;
if not invfull then
begin
buythosepoons;
end;
begin
Path:= ['626:102:4:1:7:605:69:1:7:597:98:1:7:656:97:3:7:646:131'];
for I := 0 to 0 do
ObjDTM_Walk(Path[i], 0, 100, 80, True);
Wait(2000+Random(500));
begin
DoorDTM := DTMFromString('mwQAAAHic42RgYPBnYmCwAuJkIPYDYmsgTgRiGyD2BeIEIBZlZGD4BVT7mwFCizBCxLSAWAeKLYzlGSrynBjKchwZagpdGTydNRnsrZQZ3B3VGVwc5cCYH6iXEGYkAsMBAAWQDm0=');
if FindDTMRotated(DoorDTM, x, y, 0, 0, 700, 500, -Pi, Pi, Pi/30, aFound) then
begin
MMouse(X, Y, 2, 2);
ClickMouse2(True);
Wait(2000+random(250));
end;
if not FindDTM(DoorDTM, x, y, 0, 0, 700, 500) then
begin
writeln('Doors Open');
Wait(1000+Random(500));
Path:= ['688:51:6:3:7:644:113:1:7:655:81:1:7:607:54:1:7:598:81:1:7:618:116:2:7:602:118'];
for I := 0 to 0 do
ObjDTM_Walk(Path[i], 0, 100, 80, True);
end;
FreeDtm(doorDTM) // FreeBitmap(Door);
end;
end;
end;
Procedure Flagcheck;
var
Path: TStringArray;
X, Y, I: Integer;
TPA : TPointArray;
ATPA : T2DPointArray;
begin
Wait(5000+Random(1000));
begin
Path:= ['666:56:1:1:7:592:113:1:669:57'];
//this one replace // '686:62:1:1:7:594:112' Might do box
for I := 0 to 0 do
ObjDTM_Walk(Path[i], 0, 100, 80, True);
Wait(2000+Random(500));
begin
Path:= ['644:86:3:3:7:593:39:3:7:609:31:3:7:597:27'];
for I := 0 to 0 do
ObjDTM_Walk(Path[i], 0, 100, 80, True);
Wait(2000+Random(500));
end;
end;
end;
Procedure DepositPoons;
var
X,Y,I: Integer;
TPA : TPointArray;
ATPA : T2DPointArray;
begin
if not loggedin then exit;
FindNormalRandoms;
Antiban;
DidRedClick;
Inc(Poon);
ProgressReport;
begin
resting;
end;
If Invfull then
begin
If not depositscreen then
begin
If (FindObjCustom(x,y,['eposit', 'deposit'], [5991031, 5924981], 2)) Then
begin
Writeln('Opening Deposit box');
MMouse(X, Y, 5, 5);
ClickMouse2(True);
Wait(3000+random(250));
end;
begin
If (FindObjCustom(x,y,['eposit', 'deposit'], [1854330, 1985922, 1655411, 1655411], 8)) Then
begin
Writeln('Depositing dose poons');
MMouse(X, Y, 3, 3);
ClickMouse2(True);
Wait(1000+random(250));
end;
end;
end;
end;
end;
Procedure BackToTheShop;
var
Path: TStringArray;
Door2DTM, Door3DTM, Door4DTM, X, Y, I: Integer;
begin
if not loggedin then exit;
FindNormalRandoms;
Antiban;
DidRedClick;
If invfull then
begin
DepositPoons;
end;
begin
If not invfull then
begin
Path:= ['569:87:1:3:7:588:31'];
for I := 0 to 0 do
ObjDTM_Walk(Path[i], 0, 100, 80, True);
Wait(2500+Random(500));
begin
Path:= ['610:142:3:3:7:635:36:3:7:652:27:3:7:640:23:1:610:142'];
for I := 0 to 0 do
ObjDTM_Walk(Path[i], 0, 100, 80, True);
Wait(2000+Random(500));
begin
Path:= ['568:97:2:1:7:597:85:3:7:587:119'];
for I := 0 to 0 do
ObjDTM_Walk(Path[i], 0, 100, 80, True);
Wait(4000+Random(500));
begin
SetAngle(SRL_ANGLE_HIGH);
MakeCompass('S');
Door2DTM := DTMFromString('mwQAAAHic42RgYMhgZGAIZoTQtUAcAsQ1QBwGxFVQ8SggdkbCkUAcDsSZUHkQbWIgy1Ca7chQme/MUJzlwODmoM5gb6nM4OIgC8f8QPsIYUYiMBwAABsUDnY=');
if FindDTMRotated(Door2DTM, x, y, 0, 0, 700, 500, -Pi, Pi, Pi/30, aFound) then
begin
MMouse(X, Y, 2, 2);
ClickMouse2(True);
Wait(2000+random(250));
end;
begin
if not FindDTM(Door2DTM, x, y, 0, 0, 700, 500) then
begin
writeln('Doors Open')
end;
begin
Door3DTM := DTMFromString('mwQAAAHic42RgYNjByMCwAIi3AfEZIF4CpVcC8Tkg3g3EG4B4DhDPhuJNQLwWiPcB8V4oNtKTZijOcmAoz3ViyE2xYXBzUGfwdtVkcHGQhWN+oH2EMCMRGA4Ao98UVQ==');
if FindDTMRotated(Door3DTM, x, y, 0, 0, 700, 500, -Pi, Pi, Pi/30, aFound) then
begin
MMouse(X, Y, 2, 2)
ClickMouse2(True)
Wait(2000+random(250))
end;
begin
Door4DTM := DTMFromString('mwQAAAHic42RgYFBmYmDgBWIrIFYFYn4gtgBiISA2Z4LIJzIyMHgAsTsUg/gJQFwCxIVQ2txInqEsxwmMKwtcGDydNRmCvPUY3JzkGewtlcE0P9A+QpiRCAwHAMUvDK4=');
begin
MMouse(X, Y, 2, 2);
ClickMouse2(True);
Wait(2000+random(250));
end;
begin
Path:= ['628:63:7:1:7:581:119:1:7:597:73:1:7:605:43:1:7:655:72:1:7:618:110:3:7:645:106:2:7:601:112'];
for I := 0 to 0 do
ObjDTM_Walk(Path[i], 0, 100, 80, True);
Wait(2000+Random(500));
end;
end;
FreeDtm(Door3DTM)
FreeDtm(Door4DTM)
end;
end;
end;
end;
end;
end;
end;
end;
begin
Smart_Server := 54;
Smart_Members := False;
Smart_Signed := True;
Smart_SuperDetail := False;
SetupSRL;
Loadvars;
ObjSetup;
Declareplayers;
if not (LoggedIn) then
LoginPlayer;
Repeat
Repeat
BuyThosePoons;
WalkToTheDepositBox;
Flagcheck;
DepositPoons;
BackToTheShop;
Until(Poon=42) or (not LoggedIn);
NextPlayer(Players[CurrentPlayer].Active);
Poon:=0;
Until(false);
program Draynor_Fisher;
{$i srl/srl/misc/smart.simba}
{$i SRL/SRL.simba}
//{.Include SRL\SRL\Misc\Debug.simba}
//{$i SRL/SRL/misc/paintsmart.simba}
{$i ObjectDTM/ObjDTMInclude.Simba}
Const //Yoho's
SERVER = ('54'); // Enter "0" to pick a random server.
MEMBERS = False; // Set to True if using a RS-Members account. False if F2P.
SRLStats_Username = ''; // Your SRL Stats Username
SRLStats_Password = ''; // Your SRL Stats Password
NumbOfPlayers= 1; //How many players are you using
StartPlayer= 0; //Player to start auoting with! (0 means first char)
Version = 1.1;
Var
Fished: integer;
aFound: Extended;
Fish1: integer;
Fish2:Integer;
Sar: integer;
Her: Integer;
Sardine_Caught, Herring_Caught, ex: integer;
{*******************************************************************************
procedure DeclarePlayers;
By: SRL
Description: SRL's Player Setup
*******************************************************************************}
procedure DeclarePlayers;
var i:integer;
begin
NumberOfPlayers(2);
CurrentPlayer := 0;
for i := 0 to NumbOfPlayers-1 do
Players[i].BoxRewards := ['mote', 'ostume', 'XP', 'Gem', 'ithril', 'oal', 'une', 'oins'];
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';
Players[0].Member := False;
Players[0].Active := True;
Players[0].Pin := '';
Players[1].Name := '';
Players[1].Pass := '';
Players[1].Nick := '';
Players[1].Member := False;
Players[1].Active := True;
Players[1].Pin := '';
end;
Procedure ObjSetup; //Euph's
begin;
ObjDTM_Setup;
end;
Procedure StatsGuise(wat:String); //Yoho's
Begin
Status(wat);
Disguise(wat);
End;
//Function CheckAndClick(X,Y:Integer):Boolean;
//By: YoHoJo
//Description: Moves mouse to x,y, checks for uptext, and clikcs if found
//*******************************************************************************}
Function CheckAndClick(X,Y:Integer):Boolean;
Begin
MMouse(x, y, 5, 5);
{Wait(100 + Random(50));
If CountUpColor('B', 41, 5, 86, 24, 70, 140) Then}
If WaitUpTextMulti(['Mine','ine'], 150) Then
Begin
Result:=True;
GetMousePos(x, y);
Mouse(x, y, 0, 0,True);
Wait(100+Random(50));
FFlag(0);
End;
End;
Procedure FailSafe(Reason:String); //Yoho's
begin
Players[CurrentPlayer].Loc:=reason;
Logout;
Terminatescript;
end;
Procedure HumanMMouse(eX, eY, ranX, ranY: Integer);
var
randSpeed: extended;
X,Y,X2,Y2,A,Dist,MP: integer;
begin
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;
Procedure Loadvars;
begin;
MouseSpeed := RandomRange(14, 18);
end;
Procedure Antiban; //I liked a few of Yoho's antibans, I implemented them here
Begin
Case Random(254) Of
0: HoverSkill('Fishing', False);
1: Begin PickUpMouse; SleepAndMoveMouse(3000 + Random(500)); End;
2: IdleTime(100+random(700), 100+Random(100), 0.2+RandomE/2);
3: Begin GameTab(Tab_Stats); Wait(3000 + Random(500)); GameTab(Tab_Inv); End;
4: HoverSkill('random', False);
5: RandomMovement;
End;
end;
Procedure ProgressReport;
begin
Cleardebug;
Writeln('You have been Fishing for: ' + TimeRunning);
Writeln('Fish Caught: ' + IntToStr(Fished*27));
Writeln('Exp gained: ' + IntToStr(Fish1+Fish2));
end;
Procedure Fishing;
var
Sardine, Herring, Fishspot, Bait, X, Y, I: Integer;
begin
SetAngle(SRL_ANGLE_HIGH);
MakeCompass('E');
begin
Bait := DTMFromString('mbQAAAHicY2VgYHBlYmCwBWJPIHYDYlMgfg4Uvw/ED4D4LRC/BuL19RIYmB8ojo4ZsWAwAABOmgyC');
if not FindDTM(Bait, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
Writeln('Out of Bait')
ExitToLobby;
TerminateScript;
end;
begin
FishSpot := BitmapFromString(115, 89, 'meJzt0FEJw1AARTH/NjpoP1eJk' +
'3HuG4EoyPt83hN87+ss+ZhYsWIX5GNixYpdkI+JFSt2QT4mVqzYBf' +
'mYWLFiF+RjYsWKXZCPiRUrdkE+Jlas2AX5mFixYhfkY2LFil2Qj4k' +
'VK3ZBPiZWrNgF+ZhYsWIX5GNixYpdkI+JFSt2QT4mVqzYBfmYWLFi' +
'F+RjYsWKXZCPiRUrdkE+Jlas2AX5mFixYhfkY2LFil2Qj4kVK3ZBP' +
'iZWrNgF+ZhYsWIX5GNixYpdkI+JFSt2QT4mVqzYBfmYWLFiF+Rj/x' +
'r7Awr6zSg=');
if FindBitmapToleranceIn(FishSpot, x, y, 0, 0, 700, 500, 20) then
begin
MMouse(X, Y, 2, 2);
ClickMouse2(False);
Wait(1000+random(550));
Waitoption('ait', 3000);
WaitFunc(@InvFull,10,400000);
end;
//flights' counter
If invfull then
Sardine := DTMFromString('mggAAAHicY2NgYMhiYmAoAOIyIM4D4hQgTgfip0C5O0B8H4ifA/ErIH4CxFNWTwGSTBiYH0hiw4w4MAQAALjCCi4=');
Herring := DTMFromString('mbQAAAHicY2VgYLjMxMBwC4hPA/EpIL4PxImMDAwRQJwMxDlAHAPEmnZ2QNVMKJifARMwYsFgAABXgAbb');
Sar:= CountItems('dtm', Sardine, []);
Her:= CountItems('dtm', Herring, []);
IncEx(Sardine_Caught, Sar);
IncEx(Herring_Caught, Her);
Fish1 := (Sar*20);
Fish2 := (Her*30);
end;
FreeDTM(Bait);
FreeDTM(Sardine);
FreeDTM(Herring);
FreeBitmap(FishSpot);
end;
end;
Procedure WalkingToBank;
var
Path: TStringArray;
X, Y, I: Integer;
begin
if invfull then
begin
Path:= ['648:34:4:1:7:634:73:1:7:630:85:1:7:622:69:1:7:634:101'];
for I := 0 to 0 do
ObjDTM_Walk(Path[i], 0, 100, 80, True);
end;
end;
Procedure DepositFish ;
var
Sardine, Herring, Bank, x, y:integer;
begin
SetAngle(SRL_ANGLE_HIGH);
MakeCompass('E');
begin
if not loggedin then exit;
FindNormalRandoms;
Antiban;
DidRedClick;
TimeRunning;
Inc(Fished);
Begin;
OpenBankNpc;
Wait(1500+random(500));
begin
Sardine := DTMFromString('mggAAAHicY2NgYMhiYmAoAOIyIM4D4hQgTgfip0C5O0B8H4ifA/ErIH4CxFNWTwGSTBiYH0hiw4w4MAQAALjCCi4=');
begin
if FindDTMRotated(Sardine, x, y, MIX1, MIY1, MIX2, MIY2, -Pi, Pi, Pi/30, aFound) then
begin
MMouse(X, Y, 1, 1);
ClickMouse2(False);
Writeln('Depositing Sardine');
Wait(600+random(250));
Waitoption('ll', 3000);
Wait(1500+random(250));
end;
Herring := DTMFromString('mlwAAAHicY2dgYChkYmAoAuI0IC4F4jogrgXiZiBWA2I5INYGYi0gVgBicSBWBuI1S5cCdTNhxfxAEhdmxIOhAAD0tgbF');
begin
if FindDTMRotated(Herring, x, y, MIX1, MIY1, MIX2, MIY2, -Pi, Pi, Pi/30, aFound) then
begin
MMouse(X, Y, 1, 1);
ClickMouse2(False);
Writeln('Depositing Herring');
Wait(600+random(250));
Waitoption('ll', 3000);
Wait(1500+random(250));
end;
ProgressReport;
end;
FreeDTM(Sardine)
FreeDTM(Herring)
FreeBitmap(Bank)
end;
end;
end;
end;
end;
Procedure GoingToFish;
var
Path: TStringArray;
X, Y, I: Integer;
begin
Path:= ['605:141:4:1:7:611:128:1:7:599:125:1:7:607:140:0:7:623:58'];
for I := 0 to 0 do
ObjDTM_Walk(Path[i], 0, 100, 80, True);
Wait(3000+Random(2000));
end;
begin
Smart_Server := 54;
Smart_Members := False;
Smart_Signed := True;
Smart_SuperDetail := False;
SetupSRL;
Loadvars;
ObjSetup;
Declareplayers;
if not (LoggedIn) then
LoginPlayer;
Repeat
Repeat
Fishing;
WalkingToBank;
DepositFish;
GoingToFish;
Until(False) or (not LoggedIn);
NextPlayer(Players[CurrentPlayer].Active);
Until(false);
end.