B
bevis695
Guest
{.include srl/srl.scar}
var
TotalLoadsDone : integer;
TalkNoTree : Boolean;
LogyIn : integer;
RockError : integer;
TalkNoTwo : Boolean;
IronMined : integer;
TotalIronMined : integer;
IronOreBFS : integer;
TalkNoOne : Boolean;
//////////////////////////////////////////////////////////////////////////////////////////////////////////
// //
// ______ __ _____ __ __ ___ __ ______ ______ __'); //
// <-----/ __ //_// ___// // /---/ / /---/ ____// __ // /------------------> //
// / __// // /__ / / /__ / /___ // __// /__'); //
// /_/\_\ /_//____//__/\_\ /__/ /_____//_/\_\ /____/ <--IRON MINER V2.1--> //
// <------------------------------------------------------------------------------> (C) //
// //
// --> THIS SCRIPT WILL MINE AND BANK IRON //
// //
// --> SET YOU MACRO'S IN THE VARROCK EAST BANK //
// //
// --> THIS SCRIPT HAS ANTI RANDOMS //
// //
// --> WILL REPARAIR PICKAXE IF THE PICKHEAD FLY'S OF //
// //
// --> A TRADER CREATED BY MI //
// //
// --> NICE (AND USEFULL) PLAYER REPORT! //
// //
// --> CREATED FOR SCAR 3.06 WITH SRL 3.81 //
// <-------------------------------------------------------------------> //
// --> MAKE SURE YOUR PICKAXE IS IN YOU INVETORY AND DON'T WIELD IT //
// //
// --> No Maximum players //
// //
// --> talking! //
// //
//////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////// SETUP ////////////////////////////////////////
var
MiliSecondsToWait : Integer;
Procedure DeclarePlayers;
begin
HowManyPlayers := 1; // NO MAX
NumberOfPlayers( HowManyPlayers );
CurrentPlayer := 0; // Start Player?
// MAKE SURE THAT PICKAXE IS IN YOUR IVENTORY! NOT WIELD IT
Players[0].Name := 'patrick0335'; // UserName
Players[0].Pass := '******'; // Password
Players[0].Nick := 'essa'; // 3/4 String of Name (example: if accname is 'macroman' then set .nick at 'acro')
Players[0].Active := True; // Use this account? True / False
Players[0].integer1 := 100; // loads before: logout / nextplayer
Players[0].loc := 'in the bank'; // be smart and don't change
Players[1].Name := 'jubjub695';
Players[1].Pass := 'bunny';
Players[1].Nick := 'erNa';
Players[1].Active := False;
Players[1].integer1 := 3;
Players[1].loc := 'in the bank';
Players[2].Name := 'UserName';
Players[2].Pass := 'Password';
Players[2].Nick := 'erNa';
Players[2].Active := False;
Players[2].integer1 := 3;
Players[2].loc := 'in the bank';
Players[3].Name := 'UserName';
Players[3].Pass := 'Password';
Players[3].Nick := 'erNa';
Players[3].Active := False;
Players[3].integer1 := 3;
Players[3].loc := 'in the bank';
Players[4].Name := 'UserName';
Players[4].Pass := 'Password';
Players[4].Nick := 'erNa';
Players[4].Active := False;
Players[4].integer1 := 3;
Players[4].loc := 'in the bank';
Players[5].Name := 'UserName';
Players[5].Pass := 'Password';
Players[5].Nick := 'erNa';
Players[5].Active := False;
Players[5].integer1 := 2;
Players[5].loc := 'in the bank';
Players[6].Name := 'UserName';
Players[6].Pass := 'Password';
Players[6].Nick := 'erNa';
Players[6].Active := False;
Players[6].integer1 := 3;
Players[6].loc := 'in the bank';
Players[7].Name := 'UserName';
Players[7].Pass := 'Password';
Players[7].Nick := 'erNa';
Players[7].Active := False;
Players[7].integer1 := 3;
Players[7].loc := 'in the bank';
Players[8].Name := 'UserName';
Players[8].Pass := 'Password';
Players[8].Nick := 'erNa';
Players[8].Active := False;
Players[8].integer1 := 3;
Players[8].loc := 'in the bank';
MiliSecondsToWait := 3000; // MiliSeconds to wait before mine next rock (set up to: 2000-7000);
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
var
IronOre : Integer;
Pickaxe : Integer;
PickaxeStick : Integer;
PickaxeHead : Integer;
Loads : integer;
Procedure DTMsetup;
begin
IronOreBFS := BitmapFromString(11, 11, 'z78DA73730301033070436' +
'2238B60024C35B84CC0A5923C13F0BB937813F0EB22DE04CC5022' +
'CF04CADD404CC890EA0BFCE2F85D4E4C6A212FF470998FCC0600F' +
'B599CC1');
IronOre := DTMFromString('78DA6314616060106640038C482490660712A' +
'204D408000945026AE481840C0135AA40828F801A2920C141400D' +
'C85FECF8D50000ACCF0135');
Pickaxe := DTMFromString('78DA6314606060E06540038C4824909605125' +
'C04D470020976026A40662810502302245808A801B9590CBF1A00' +
'612000CF');
PickaxeStick := DTMFromString('78DA6314666060906140038C4824901601124' +
'204D44801095E026A40F2CA04D408000929026A048184220135E2' +
'404214BF1A00B23A014A');
PickaxeHead := DTMFromString('78DA6314666060106040038C482490960112B' +
'C04D470020951026A0481841801355244980352C3895F0D0073E1' +
'00F6');
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
function FindVarrockRoadColor2: Integer;
var
GC, a, l, TestColor, Red, Green, Blue : integer;
var
P:array of Tpoint;
begin
GC := 7304312;
Flag;
FindColorsSpiralTolerance(x, y, P, GC, MMX1, MMY1, MMX2, MMY2, 60);
l:=GetArrayLength(P);
for a:= 0 to l-1 do
begin
TestColor := GetColor(P[a].x, P[a].y);
red := (TestColor mod 256);
green := ((TestColor / 256) mod 256);
blue := ((TestColor / 256) / 256);
if Red - Blue <= 12 then if Red - Blue >= 8 then
if Red - Green <= 6 then if Red - Green >= -1 then
if Green - Blue <= 10 then if Green - Blue >= 4 then
if GetColor(P[a].x + 5, P[a].y + 5) = TestColor then
if GetColor(P[a].x + 3, P[a].y + 3) = TestColor then
if GetColor(P[a].x, P[a].y + 5) = TestColor then
if GetColor(P[a].x + 5, P[a].y) = TestColor then
if GetColor(P[a].x, P[a].y + 3) = TestColor then
if GetColor(P[a].x + 3, P[a].y) = TestColor then
if GetColor(P[a].x + 5, P[a].y + 3) = TestColor then
if GetColor(P[a].x + 3, P[a].y + 5) = TestColor then
begin
Result := TestColor;
//WriteLn('Varrock RoadColor = ' + IntToStr(TestColor));
Exit;
end;
end;
WriteLn('Could not find Varrock Road Color!');
Result := 0;
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
var
i : integer;
procedure PlayerReport;
begin
ClearDeBug;
WriteLn(' ______ __ _____ __ __ ___ __ ______ ______ __');
WriteLn('<-/ __ //_// ___// // /---/ / /---/ ____// __ // /------------------------->');
WriteLn(' / __// // /__ / / /__ / /___ // __// /__');
WriteLn('/_/\_\ /_//____//__/\_\ /__/ /_____//_/\_\ /____/ <--PROGRESS REPORT-->');
WriteLn('<------------------------------------------------------------------------------>');
WriteLn('--> Total loads = ' + IntToStr(TotalLoadsDone));
WriteLn('--> Total Mined = ' + IntToStr(TotalIronMined) + ' ore`s');
WriteLn('--> Time running = ' + TimeRunning);
WriteLn('<------------------------------------------------------------------------------>');
for i:=0 to getarraylength(players)-1 do
WriteLn('--> ' + Players.Name + ' = ' + Players.loc + ', M-lvl = ' + IntToStr(Players.integer2) + ', ' + IntToStr(Players.integer3) + ' ore`s, active? ' + BoolToStr(Players.Active))
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
procedure GetBackInMine;
begin
If Not LoggedIn then exit;
if (FindSymbol(x, y, 'mining spot')) then
begin
Mouse(x, y, 1, 1, True);
Wait(5000);
If FindObjMultiText(x, y, 'ock', 'Rock', 'Mine', 2832993, 6) then exit;
Wait(1000);
If FindObjMultiText(x, y, 'ock', 'Rock', 'Mine', 2832993, 6) then exit;
Wait(1000);
If FindObjMultiText(x, y, 'ock', 'Rock', 'Mine', 2832993, 6) then exit;
Wait(1000);
If FindObjMultiText(x, y, 'ock', 'Rock', 'Mine', 2832993, 6) then exit;
Wait(1000);
If FindObjMultiText(x, y, 'ock', 'Rock', 'Mine', 2832993, 6) then exit;
Wait(1000);
If (not (FindObjMultiText(x, y, 'ock', 'Rock', 'Mine', 2832993, 6))) then
begin
Players[CurrentPlayer].loc := 'Lost';
Logout;
exit;
end;
end;
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL - (tnx to tim46 for his tut)
var
frmDesign : TForm;
Label1 : TLabel;
Label2 : TLabel;
StartButton : TButton;
procedure StartClick(sender: TObject);
begin
frmDesign.ModalResult:= mrOk;
end;
procedure InitForm;
begin
frmDesign := CreateForm;
frmDesign.Left := 275;
frmDesign.Top := 122;
frmDesign.Width := 350;
frmDesign.Height := 150;
frmDesign.Caption := 'RICK 4 SRL - V2.1';
frmDesign.Color := clBackGround;
frmDesign.Font.Color := clWindowText;
frmDesign.Font.Height := -11;
frmDesign.Font.Name := 'RICK 4 SRL';
frmDesign.Font.Style := [];
frmDesign.Visible := False;
frmDesign.PixelsPerInch := 96;
Label1 := TLabel.Create(frmDesign);
Label1.Font.Color := clWhite
Label1.Parent := frmDesign;
Label1.Left := 53;
Label1.Top := 20;
Label1.Width := 48;
Label1.Height := 13;
Label1.Caption := 'This script is created by MasterKill on SRL forums';
Label2 := TLabel.Create(frmDesign);
Label2.Font.Color := clWhite
Label2.Parent := frmDesign;
Label2.Left := 115;
Label2.Top := 50;
Label2.Width := 46;
Label2.Height := 13;
Label2.Caption := 'good luck and enjoy';
StartButton := TButton.Create(frmDesign);
StartButton.Parent := frmDesign;
StartButton.OnClick := @StartClick;
StartButton.Left := 140;
StartButton.Top := 90;
StartButton.Width := 50;
StartButton.Height := 20;
StartButton.Caption := 'START';
StartButton.TabOrder := 10;
end;
procedure SafeInitForm;
var
v: TVariantArray;
begin
setarraylength(V, 0);
ThreadSafeCall('InitForm', v);
end;
procedure ShowFormModal;
begin
frmDesign.ShowModal;
end;
procedure SafeShowFormModal;
var
v: TVariantArray;
begin
setarraylength(V, 0);
ThreadSafeCall('ShowFormModal', v);
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
Var
TradeTimeTicking : Integer;
procedure FindATradeByRick;
begin
repeat
begin
if (not (FindColorTolerance (x, y, 8388736, 15, 399, 76, 430, 5))) then
begin
exit;
end;
if (FindColorTolerance (x, y, 8388736, 15, 399, 76, 430, 5)) then
begin
MoveMouseSmooth(x, y);
Wait(1000);
if IsUpTextMulti('ccept', 'rade', 'Accept') then
Mouse(x, y, 0, 0, True);
begin
TradeTimeTicking := 0
Wait(2000);
end;
end;
end;
if (not (FindColorTolerance (x, y, 65535, 45, 31, 449, 51, 5))) then
begin
WriteLn(' Trading: ~ Error');
NOTrades := NOTrades + 1
PlayerReport;
exit;
end;
if (FindColorTolerance (x, y, 65535, 45, 31, 449, 51, 5)) then
begin
WriteLn(' Trading: ~ now wait for an accept. max wait = 0s of the 25s');
repeat
if (FindColorTolerance (x, y, 16777215, 178, 298, 345, 312, 5)) then
begin
WriteLn(' Trading: ~ other player accepted! now we`ll accept to!');
Mouse(261, 193, 5, 5, True);
Wait(2000);
if (FindColorTolerance (x, y, 65535, 62, 64, 221, 85, 5)) then
begin
WriteLn(' Trading: ~ we made it to the seccond window!');
Wait(1500);
TradeTimeTicking := 0
repeat
if (FindColorTolerance (x, y, 16776960, 226, 32, 228, 43, 5)) then
begin
WriteLn(' Trading: ~ accepted! all we need to do now is...:');
Mouse(224, 309, 2, 2, True);
Case random (5) of
0: TypeSend('ty');
1: TypeSend('tnx');
2: TypeSend('yay');
3: TypeSend('hehehe');
4: TypeSend('woot');
end;
ClearDeBug;
WriteLn(' Trading: ~ perfect sloved!');
Wait(1000);
PlayerReport;
exit;
end;
if (not (FindColorTolerance (x, y, 65535, 62, 64, 221, 85, 5))) then
begin
WriteLn('the noob is not give`ing anything grr');
case random (5) of
0: TypeSend('leave me alone then...');
1: TypeSend('pfff');
2: TypeSend('=[');
3: TypeSend('why u trade me then... get a live');
4: TypeSend('gtfo');
end;
Trades := Trades + 1;
PlayerReport;
exit;
end;
if (FindColorTolerance (x, y, 65535, 62, 64, 221, 85, 5)) then
begin
Wait(1000);
ClearDeBug;
WriteLn(' Trading: ~ now wait for an second accept. max wait = ' + IntToStr(TradeTimeTicking) + 's of the 20s');
TradeTimeTicking := TradeTimeTicking + 1
end;
if ( TradeTimeTicking = 20 ) then
begin
WriteLn(' trading: ~ took to long... now decine');
Mouse(295, 309, 2, 2, True);
case random (5) of
0: TypeSend('i dont have time for you');
1: TypeSend('if its not free then get lost');
2: TypeSend('naah');
3: TypeSend('get a live');
4: TypeSend('get lost');
end;
Trades := Trades + 1;
PlayerReport;
exit;
end;
until(false);
end;
end;
TradeTimeTicking := TradeTimeTicking + 1
Wait(1000);
ClearDeBug;
WriteLn(' Trading: ~ now wait for an accept. max wait = ' + IntToStr(TradeTimeTicking) + 's of the 25s');
if (not (FindColorTolerance (x, y, 65535, 45, 31, 449, 51, 5))) then
begin
WriteLn('the noob is not give`ing anything grr');
case random (5) of
0: TypeSend('leave me alone then...');
1: TypeSend('pfff');
2: TypeSend('=[');
3: TypeSend('why u trade me then... get a live');
4: TypeSend('gtfo');
end;
Trades := Trades + 1;
PlayerReport;
exit;
end;
if ( TradeTimeTicking = 25 ) then
begin
WriteLn(' trading: ~ took to long... now decine');
Mouse(260, 266, 5, 5, True);
case random (5) of
0: TypeSend('i dont have time for you');
1: TypeSend('if its not free then get lost');
2: TypeSend('naah');
3: TypeSend('get a live');
4: TypeSend('get lost');
end;
Trades := Trades + 1;
PlayerReport;
exit;
end;
until (false);
end;
until (false);
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
procedure FixIt;
begin
if FindDTM(PickaxeHead, x, y, 525, 182, 745, 473) then Mouse(x, y, 1, 1, True);
If FindDTM(PickaxeStick, x, y, 525, 182, 745, 473) then Mouse(x, y, 1, 1, True);
end;
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
var
HeadFindTrys : Integer;
procedure LookForPickaxeHead;
begin
LowestAngle;
HeadFindTrys := 0
repeat
If FindObjMultiText(x, y, 'ick', 'Pick', 'Head', 8944476, 5) then Mouse(x, y, 0, 0, True); // RUNE
If FindObjMultiText(x, y, 'ick', 'Pick', 'Head', 5070925, 5) then Mouse(x, y, 0, 0, True); // ADDY
If FindObjMultiText(x, y, 'ick', 'Pick', 'Head', 4205098, 5) then Mouse(x, y, 0, 0, True); // MITH
If FindObjMultiText(x, y, 'ick', 'Pick', 'Head', 9079701, 5) then Mouse(x, y, 0, 0, True); // STEEL
If FindObjMultiText(x, y, 'ick', 'Pick', 'Head', 7039858, 5) then Mouse(x, y, 0, 0, True); // IRON
If FindObjMultiText(x, y, 'ick', 'Pick', 'Head', 2704730, 5) then Mouse(x, y, 0, 0, True); // BRONZ
Wait(1000);
if (not (FindDTM(PickaxeHead, x, y, 525, 182, 745, 473))) then
begin
WriteLn('- Not found your pick head ' + IntToStr(HeadFindTrys) + '/5');
HeadFindTrys := HeadFindTrys + 1
end;
if FindDTM(PickaxeHead, x, y, 525, 182, 745, 473) then
begin
WriteLn('- ' + Players[CurrentPlayer].Name + ': "there you are! my little heady"');
WriteLn('');
FixIt;
if FindDTM(Pickaxe,x, y, 525, 182, 745, 473) then
begin
HeadFindTrys := 5
end;
end;
if FindDTM(Pickaxe,x, y, 525, 182, 745, 473) then
begin
WriteLn('- ' + Players[CurrentPlayer].Name + ': "yay here is my pickaxe agian!"');
WriteLn('');
HeadFindTrys := 5
PickAxeAttached := PickAxeAttached + 1
end;
if (HeadFindTrys = 2) then MakeCompass('N');
if (HeadFindTrys = 3) then MakeCompass('E');
if (HeadFindTrys = 4) then MakeCompass('S');
if (HeadFindTrys = 1) then MakeCompass('W');
until (HeadFindTrys = 5)
if (not (FindDTM(Pickaxe,x, y, 525, 182, 745, 473))) then
begin
WriteLn('- ' + Players[CurrentPlayer].Name + ': "noooooo... not fear. i can`t mine whithout a pick, i`m out"');
WriteLn('');
Players[CurrentPlayer].loc := 'No Pickaxe-head';
Logout;
Loads := 0
exit;
end;
WriteLn('- ' + Players[CurrentPlayer].Name + ': "pff what an advanture! lets go on mining"');
WriteLn('');
end;
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
procedure LookForPickaxe;
begin
if (not(FindDTM(Pickaxe,x, y, 525, 182, 757, 384))) then
begin
GameTab(4);
if (not(FindDTM(Pickaxe,x, y, 525, 182, 757, 384))) then
begin
If Not LoggedIn then exit;
WriteLn('- ' + Players[CurrentPlayer].Name + ': "omg where is my pickaxe?!"');
WriteLn('');
if FindDTM(PickaxeStick, x, y, 525, 182, 745, 473) then
begin
WriteLn('- ' + Players[CurrentPlayer].Name + ': "hmm i got my handle, i need to find my pick-head fast!"');
WriteLn('');
LookForPickaxeHead;
GetBackInMine;
HighestAngle;
MakeCompass('N');
end;
end;
end;
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
var
WaitForGasTime : Integer;
Procedure GasFound;
begin
If Not LoggedIn then exit;
WriteLn('- ' + Players[CurrentPlayer].Name + ': "Aaaa a gass!" =( * GAS FOUND *');
WriteLn('');
Mouse(628, 83, 7, 8, True);
case random (4) of
0: TypeSend('noo')
1: TypeSend('its kinda gassy here')
2: TypeSend('i dont like gasses')
3: TypeSend('mehh')
end;
WaitForGasTime := 0
repeat
WriteLn('Wait for gas = ' + IntToStr(WaitForGasTime) + '/25');
Wait(1000);
WaitForGasTime := WaitForGasTime + 1
until (WaitForGasTime = 25);
WriteLn('Wait for gas = 25/25');
WriteLn('');
WriteLn('- ' + Players[CurrentPlayer].Name + ': "stupid gas..."');
WriteLn('');
exit;
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// THE SRL TEAM
function FindNormalRandoms2: Boolean;
var
i: Integer;
begin
for i := 1 to 16 do
begin
case I of
1: CloseWindow;
2: if FindTalk then
Result := True;
3: if FindDead then
Result := True;
4: if FindMod then
Result := True;
5: if FindMime then
Result := True;
6: if FindMaze then
Result := True;
7: if FindQuiz then
Result := True;
8: if FindDemon then
Result := True;
9: if FindScapeRune then
Result := True;
10: if FindTalk then
Result := True;
11: if FindLamp(LampSkill) then
Result := True;
12: if (FindNewBox) then
begin
Result := True;
if (UseBoxSolver) then
SolveBox
else
GambleNewBox;
end;
13: FindATradeByRick;
14:
begin
if NoGameTab then
begin
Result := True;
Players[CurrentPlayer].loc := 'No GameTab';
Logout;
Exit;
end;
end;
15: SaveToChatLog;
16: if RC then
Result := True;
end;
Wait(1);
end;
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// THE SRL TEAM
Procedure Randoms;
Begin
FindNormalRandoms2;
wait(10)
UseBoxSolver := True
wait(10)
UseCerterSolver := True
wait(10)
UseSandwichSolver :=True
FindMaze;
wait(10)
Solvepinball;
Wait(10)
if (FindFight) then
begin
RunAwayDirection('s');
Wait(8500 + random(3500));
RunBack;
end;
Wait(10);
FindTalk;
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
procedure FindTheBank;
begin
Wait(5000);
if (FindSymbol(x, y, 'bank')) then
begin
Mouse(x, y, 0, 0, True);
WriteLn('- ' + Players[CurrentPlayer].Name + ': "nice bank dtm, lets go to it"');
WriteLn('');
MakeCompass('S');
LowestAngle;
Players[CurrentPlayer].loc := 'in the Bank';
exit;
end;
if (not (FindSymbol(x, y, 'bank'))) then
begin
if (FindColorTolerance (x, y, 4642532, 588, 36, 741, 137, 65)) then
begin
Mouse(x, y, 0, 0, True);
WriteLn('- ' + Players[CurrentPlayer].Name + ': "nice bank, lets go to it"');
WriteLn('');
MakeCompass('S');
LowestAngle;
Players[CurrentPlayer].loc := 'in the bank';
exit;
end;
if (not (FindColorTolerance (x, y, 4642532, 588, 36, 741, 137, 65))) then
begin
WriteLn('- ' + Players[CurrentPlayer].Name + ': "not found the bank" x.x "one more try"');
WriteLn('');
Wait(5000);
if (FindSymbol(x, y, 'bank')) then
begin
Mouse(x, y, 0, 0, True);
WriteLn('- ' + Players[CurrentPlayer].Name + ': "nice bank dtm, lets go to it"');
WriteLn('');
MakeCompass('S');
LowestAngle;
Players[CurrentPlayer].loc := 'in the Bank';
exit;
end;
if (not (FindSymbol(x, y, 'bank'))) then
begin
if (FindColorTolerance (x, y, 4642532, 588, 36, 741, 137, 65)) then
begin
Mouse(x, y, 0, 0, True);
WriteLn('- ' + Players[CurrentPlayer].Name + ': "nice bank, lets go to it"');
WriteLn('');
MakeCompass('S');
LowestAngle;
Players[CurrentPlayer].loc := 'in the bank';
exit;
end;
if (not (FindColorTolerance (x, y, 4642532, 588, 36, 741, 137, 65))) then
begin
WriteLn('- ' + Players[CurrentPlayer].Name + ': "I don`t see the bank anywhere! i`m out bye..."');
WriteLn('');
LogOut;
Players[CurrentPlayer].loc := 'lost';
exit;
end;
end;
end;
end;
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
procedure ToVarrockEastBank;
begin
If Not LoggedIn then exit;
Case Random (5) Of
0: WriteLn('- ' + Players[CurrentPlayer].Name + ': "FULL"');
1: WriteLn('- ' + Players[CurrentPlayer].Name + ': "o dear, i need to bank this fast"');
2: WriteLn('- ' + Players[CurrentPlayer].Name + ': "hèhè, lets go back"');
3: WriteLn('- ' + Players[CurrentPlayer].Name + ': "pff, done"');
4: WriteLn('- ' + Players[CurrentPlayer].Name + ': "yay, i`m good" =D');
end;
TypeSend('full');
WriteLn('');
SetRun(True);
GameTab(4);
RadialRoadWalk(FindVarrockRoadColor2, 5, 50, 70, 1, 1);
Randoms;
RadialRoadWalk(FindVarrockRoadColor2, 337, 385, 65, 1, 1);
Randoms;
repeat
RadialRoadWalk(FindVarrockRoadColor2, 240, 380, 65, 1, 1);
Randoms;
if (FindColorTolerance (x, y, 1582945, 0, 0, 500, 500, 10)) then
begin
WriteLn('- ' + Players[CurrentPlayer].Name + ': "oops, this is the museum... i don`t like that man"');
WriteLn('');
Case Random (5) of
0: TypeSend('red noob');
1: TypeSend('Let me in! plz?');
2: TypeSend('i want to go in!');
3: TypeSend('1 day i will enter this door');
4: TypeSend('bleg ugly uniform =p');
end;
Wait(5000);
Mouse(624, 136, 3, 3, True);
Wait(12000);
end;
until (FindSymbol(x, y, 'bank')) or (FindSymbol(x, y, 'water')) or (FindColorTolerance (x, y, 4642532, 588, 36, 741, 137, 65))
FindTheBank;
WriteLn('- ' + Players[CurrentPlayer].Name + ' = ' + Players[CurrentPlayer].loc);
WriteLn('');
If Not LoggedIn then exit;
SetRun(False);
GameTab(4);
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
Procedure FindGas;
begin
If Not LoggedIn then exit;
if (FindColorTolerance (x, y, 10596274, 0, 0, 500, 500, 1)) then
begin
GasFound;
end;
if (FindColorTolerance (x, y, 9806756, 0, 0, 500, 500, 1)) then
begin
GasFound;
end;
if (FindColorTolerance (x, y, 9017755, 0, 0, 500, 500, 1)) then
begin
GasFound;
end;
if (FindColorTolerance (x, y, 8821148, 0, 0, 500, 500, 1)) then
begin
GasFound;
end;
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
Procedure FindTheRocksAfterWalk;
begin
If Not LoggedIn then exit;
If FindObjMultiText(x, y, 'ock', 'Rock', 'Mine', 2832993, 6) then
begin
Case Random (5) Of
0: WriteLn('- ' + Players[CurrentPlayer].Name + ': "IRON" >.<');
1: WriteLn('- ' + Players[CurrentPlayer].Name + ': "MINE"');
2: WriteLn('- ' + Players[CurrentPlayer].Name + ': "hehehe... found some iron"');
3: WriteLn('- ' + Players[CurrentPlayer].Name + ': "this iron is kool"
');
4: WriteLn('- ' + Players[CurrentPlayer].Name + ': "mine this iron, yay" ^.^');
end;
WriteLn('');
HighestAngle;
Players[CurrentPlayer].loc := 'in the mine';
exit;
end;
If (not (FindObjMultiText(x, y, 'ock', 'Rock', 'Mine', 2832993, 6))) then
begin
Wait(10000);
RockError := 0
repeat
If FindObjMultiText(x, y, 'ock', 'Rock', 'Mine', 2832993, 6) then
begin
Case Random (5) Of
0: WriteLn('- ' + Players[CurrentPlayer].Name + ': "IRON" >.<');
1: WriteLn('- ' + Players[CurrentPlayer].Name + ': "MINE"');
2: WriteLn('- ' + Players[CurrentPlayer].Name + ': "hehehe... found some iron"');
3: WriteLn('- ' + Players[CurrentPlayer].Name + ': "this iron is kool"
');
4: WriteLn('- ' + Players[CurrentPlayer].Name + ': "mine this iron, yay" ^.^');
end;
WriteLn('');
HighestAngle;
Players[CurrentPlayer].loc := 'in the mine';
exit;
end;
If (not (FindObjMultiText(x, y, 'ock', 'Rock', 'Mine', 2832993, 6))) then
begin
RockError := RockError + 1
Wait(2000);
If FindObjMultiText(x, y, 'ock', 'Rock', 'Mine', 4813212, 6) then
begin
RockError := RockError - 1
Mouse(253, 35, 3, 3, True);
Wait(8000);
end;
end;
until (RockError = 5)
Players[CurrentPlayer].loc := 'Lost';
WriteLn('- ' + Players[CurrentPlayer].Name + ': "WHY ME?!"');
Logout;
exit;
end;
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
procedure BankIt;
begin
If Not LoggedIn then exit;
IronMined := countItembmpmasktol(IronOreBFS, 40, 25)
Wait(1000);
TotalIronMined := TotalIronMined + IronMined
Wait(1000);
Players[CurrentPlayer].integer3 := Players[CurrentPlayer].integer3 + IronMined
Wait(3000);
If FindObjMultiText(x, y, 'ank', 'ooth', 'booth', 864829, 5) then
begin
Mouse(x, y, 0, 0, False);
Wait(500);
ChooseOption(x, y, 'uickly');
Wait(7000);
WriteLn('- ' + Players[CurrentPlayer].Name + ': "banking ' + IntToStr(IronMined) + ' ore`s and ' + IntToStr(27-IronMined) + ' trade/random items"');
WriteLn('');
Deposit(2,28,2);
TotalLoadsDone := TotalLoadsDone + 1
MakeCompass('N');
Wait(100);
HighestAngle;
Mouse(485, 41, 5, 5, True);
Wait(2000);
exit;
end;
If (not (FindObjMultiText(x, y, 'ank', 'ooth', 'booth', 864829, 5))) then
begin
WriteLn('- ' + Players[CurrentPlayer].Name + ': "huh, i thougt we where in the bank =[ "');
WriteLn('');
LogOut;
Players[CurrentPlayer].loc := 'error B-booth';
end;
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
var
RicksRoadWalk : integer;
procedure ToVarrockEastMine;
begin
If Not LoggedIn then exit;
RicksRoadWalk := 0
Case Random (5) Of
0: WriteLn('- ' + Players[CurrentPlayer].Name + ': "Lets go to the mine!"');
1: WriteLn('- ' + Players[CurrentPlayer].Name + ': "hey, hurry up, i want to mine!"');
2: WriteLn('- ' + Players[CurrentPlayer].Name + ': "GO GO GO!"');
3: WriteLn('- ' + Players[CurrentPlayer].Name + ': "I love the varrock east mine, so lets go!"');
4: WriteLn('- ' + Players[CurrentPlayer].Name + ': "I`ll walk you to the mine"');
end;
WriteLn('');
RadialRoadWalk(FindVarrockRoadColor2, 36, 79, 69, 4, 4);
RadialRoadWalk(FindVarrockRoadColor2, 66, 130, 67, 0, 0);
repeat
RadialRoadWalk(FindVarrockRoadColor2, 125, 220, 60, 0, 0);
RicksRoadWalk := RicksRoadWalk + 1
until (RicksRoadWalk = 5) or (FindSymbol(x, y, 'mining spot'))
RicksRoadWalk := 0
repeat
if (FindSymbol(x, y, 'mining spot')) then
begin
Mouse(x, y, 1, 1, True);
WriteLn('- ' + Players[CurrentPlayer].Name + ': "spotted mining spot"');
WriteLn('');
Wait(14000);
Mouse(253, 27, 1, 1, True);
FindTheRocksAfterWalk;
exit;
end;
if (not (FindSymbol(x, y, 'mining spot'))) then
begin
WriteLn('- ' + Players[CurrentPlayer].Name + ': "i dont see the mining spot... random walk"');
WriteLn('');
Wait(5000);
Mouse(613, 80, 0, 0, True);
Wait(14000);
FindTheRocksAfterWalk;
exit;
end;
If Not LoggedIn then exit;
until (RicksRoadWalk = 5)
Players[CurrentPlayer].loc := 'Lost';
Logout;
exit;
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
procedure TimeForTalkOne;
begin
If (TalkNoOne = False) then exit;
Case random (3) of
1: begin
TypeSend('Mining lvls? I am level ' + inttostr(GetSkillLevel('mining')));
WriteLn('');
WriteLn('- ' + Players[CurrentPlayer].Name + ': "Mining lvls? I am level ' + inttostr(GetSkillLevel('mining')) + '"');
WriteLn('');
end;
2: begin
TypeSend('Mining levels?');
WriteLn('');
WriteLn('- ' + Players[CurrentPlayer].Name + ': "Mining levels?"');
WriteLn('');
Wait(5000);
TypeSend('My mining level is ' + inttostr(GetSkillLevel('mining')));
WriteLn('- ' + Players[CurrentPlayer].Name + ': "My mining level is ' + inttostr(GetSkillLevel('mining')) + '"');
WriteLn('');
end;
3: begin
TypeSend('what are all your mining lvls?');
WriteLn('');
WriteLn('- ' + Players[CurrentPlayer].Name + ': "What are all your mining lvls?"');
WriteLn('');
Wait(5000);
TypeSend('hihi, my mining lv owns! (' + inttostr(GetSkillLevel('mining')) + ') =]');
WriteLn('- ' + Players[CurrentPlayer].Name + ': "hihi, my mining lv owns! (' + inttostr(GetSkillLevel('mining')) + ') =]');
WriteLn('');
end;
end;
TalkNoOne := False;
GameTab(4);
end;
procedure TimeForTalkTwo;
begin
If (TalkNoTwo = False) then exit;
Case random (4) of
1: begin
DoEmote(20);
end;
2: begin
DoEmote(19);
end;
3: begin
WriteLn('- ' + Players[CurrentPlayer].Name + ': "hardcore"');
WriteLn('');
TypeSend('hardcore');
DoEmote(1);
end;
4: begin
DoEmote(11);
end;
end;
TalkNoTwo := False;
end;
Procedure TimeForTalkTree;
begin
If (TalkNoTree = False) then exit;
Case random (4) of
1: begin
WriteLn('- ' + Players[CurrentPlayer].Name + ': "iron 4 live"');
TypeSend('iron 4 live');
WriteLn('');
end;
2: begin
WriteLn('- ' + Players[CurrentPlayer].Name + ': "juppy-ka-yee mf`ers"');
TypeSend('juppy-ka-yee mf-ers!');
WriteLn('');
end;
3: begin
WriteLn('- ' + Players[CurrentPlayer].Name + ': "need free uncuts"');
WriteLn('');
TypeSend('need free uncuts');
end;
4: begin
WriteLn('- ' + Players[CurrentPlayer].Name + ': "power to tha people in tha beats"');
WriteLn('');
TypeSend('power to tha people in tha beats');
end;
end;
TalkNoTree := False
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
var
TimeToTalk : integer;
Procedure MineIron;
begin
SetRun(True);
PlayerReport;
TalkNoOne := True;
TalkNoTwo := True;
TalkNoTree := True;
repeat
If Not LoggedIn then exit;
TimeToTalk := countItembmpmasktol(IronOreBFS, 40, 25)
If FindObjMultiText(x, y, 'ock', 'Rock', 'Mine', 2832993, 6) then
begin
Mouse(x, y, 1, 1, True);
Players[CurrentPlayer].loc := 'in the mine';
Randoms;
LookForPickaxe;
Findgas;
Wait(MiliSecondsToWait/2-500);
Randoms;
LookForPickaxe;
Findgas;
SRLRandomsReport;
Wait(MiliSecondsToWait/2-500);
end;
If (not (FindObjMultiText(x, y, 'ock', 'Rock', 'Mine', 2832993, 6))) then
begin
If Not LoggedIn then exit;
Wait(500);
randoms;
SRLRandomsReport;
end;
If (TimeToTalk = 7) then TimeForTalkOne;
If (TimeToTalk = 14) then TimeForTalkTwo;
If (TimeToTalk = 18) then TimeForTalkTree;
until InvFull;
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
procedure StartUp;
begin
disguiseScar('RICK 4 SRL');
WriteLn(' ______ __ _____ __ __ ___ __ ______ ______ __');
WriteLn(' / __ //_// ___// // / / / / / ____// __ // /');
WriteLn(' / __// // /__ / / /__ / /___ // __// /__');
WriteLn('/_/\_\ /_//____//__/\_\ /__/ /_____//_/\_\ /____/ / iron miner v2.0 /');
WriteLn('');
WriteLn('START');
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
procedure HyperMainLoop;
begin
repeat
ToVarrockEastMine;
MineIron;
ToVarrockEastBank;
BankIt;
Loads := Loads + 1
If Not LoggedIn then exit;
until (Loads = Players[CurrentPlayer].integer1)
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
Procedure LogInFalseTrue;
begin
If Not LoggedIn then
begin
WriteLn('False =');
Loads := 0
NextPlayer(false);
HighestAngle;
Players[CurrentPlayer].integer2 := GetSkillLevel('mining')
PlayerReport;
exit;
end;
if (LogyIn > 0) then
begin
WriteLn('True =');
Loads := 0
NextPlayer(True);
HighestAngle;
Players[CurrentPlayer].integer2 := GetSkillLevel('mining')
PlayerReport;
end;
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
begin
SafeInitForm;
SafeShowFormModal;
Loads := 0
SetupSRL;
DTMsetup;
DeclarePlayers;
Activateclient;
ClearDeBug;
StartUp;
LogyIn := 0
LoginPlayer;
WriteLn('- ' + Players[CurrentPlayer].Name + ': "I`ll start, let pownd all those iron noobs!"');
WriteLn('');
HighestAngle;
Players[CurrentPlayer].integer2 := GetSkillLevel('mining')
repeat
LogInFalseTrue;
LogyIn := LogyIn + 1
HyperMainLoop;
until (false)
end.
////////////////////////////////////////////////////////////////////////////////
var
TotalLoadsDone : integer;
TalkNoTree : Boolean;
LogyIn : integer;
RockError : integer;
TalkNoTwo : Boolean;
IronMined : integer;
TotalIronMined : integer;
IronOreBFS : integer;
TalkNoOne : Boolean;
//////////////////////////////////////////////////////////////////////////////////////////////////////////
// //
// ______ __ _____ __ __ ___ __ ______ ______ __'); //
// <-----/ __ //_// ___// // /---/ / /---/ ____// __ // /------------------> //
// / __// // /__ / / /__ / /___ // __// /__'); //
// /_/\_\ /_//____//__/\_\ /__/ /_____//_/\_\ /____/ <--IRON MINER V2.1--> //
// <------------------------------------------------------------------------------> (C) //
// //
// --> THIS SCRIPT WILL MINE AND BANK IRON //
// //
// --> SET YOU MACRO'S IN THE VARROCK EAST BANK //
// //
// --> THIS SCRIPT HAS ANTI RANDOMS //
// //
// --> WILL REPARAIR PICKAXE IF THE PICKHEAD FLY'S OF //
// //
// --> A TRADER CREATED BY MI //
// //
// --> NICE (AND USEFULL) PLAYER REPORT! //
// //
// --> CREATED FOR SCAR 3.06 WITH SRL 3.81 //
// <-------------------------------------------------------------------> //
// --> MAKE SURE YOUR PICKAXE IS IN YOU INVETORY AND DON'T WIELD IT //
// //
// --> No Maximum players //
// //
// --> talking! //
// //
//////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////// SETUP ////////////////////////////////////////
var
MiliSecondsToWait : Integer;
Procedure DeclarePlayers;
begin
HowManyPlayers := 1; // NO MAX
NumberOfPlayers( HowManyPlayers );
CurrentPlayer := 0; // Start Player?
// MAKE SURE THAT PICKAXE IS IN YOUR IVENTORY! NOT WIELD IT
Players[0].Name := 'patrick0335'; // UserName
Players[0].Pass := '******'; // Password
Players[0].Nick := 'essa'; // 3/4 String of Name (example: if accname is 'macroman' then set .nick at 'acro')
Players[0].Active := True; // Use this account? True / False
Players[0].integer1 := 100; // loads before: logout / nextplayer
Players[0].loc := 'in the bank'; // be smart and don't change
Players[1].Name := 'jubjub695';
Players[1].Pass := 'bunny';
Players[1].Nick := 'erNa';
Players[1].Active := False;
Players[1].integer1 := 3;
Players[1].loc := 'in the bank';
Players[2].Name := 'UserName';
Players[2].Pass := 'Password';
Players[2].Nick := 'erNa';
Players[2].Active := False;
Players[2].integer1 := 3;
Players[2].loc := 'in the bank';
Players[3].Name := 'UserName';
Players[3].Pass := 'Password';
Players[3].Nick := 'erNa';
Players[3].Active := False;
Players[3].integer1 := 3;
Players[3].loc := 'in the bank';
Players[4].Name := 'UserName';
Players[4].Pass := 'Password';
Players[4].Nick := 'erNa';
Players[4].Active := False;
Players[4].integer1 := 3;
Players[4].loc := 'in the bank';
Players[5].Name := 'UserName';
Players[5].Pass := 'Password';
Players[5].Nick := 'erNa';
Players[5].Active := False;
Players[5].integer1 := 2;
Players[5].loc := 'in the bank';
Players[6].Name := 'UserName';
Players[6].Pass := 'Password';
Players[6].Nick := 'erNa';
Players[6].Active := False;
Players[6].integer1 := 3;
Players[6].loc := 'in the bank';
Players[7].Name := 'UserName';
Players[7].Pass := 'Password';
Players[7].Nick := 'erNa';
Players[7].Active := False;
Players[7].integer1 := 3;
Players[7].loc := 'in the bank';
Players[8].Name := 'UserName';
Players[8].Pass := 'Password';
Players[8].Nick := 'erNa';
Players[8].Active := False;
Players[8].integer1 := 3;
Players[8].loc := 'in the bank';
MiliSecondsToWait := 3000; // MiliSeconds to wait before mine next rock (set up to: 2000-7000);
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
var
IronOre : Integer;
Pickaxe : Integer;
PickaxeStick : Integer;
PickaxeHead : Integer;
Loads : integer;
Procedure DTMsetup;
begin
IronOreBFS := BitmapFromString(11, 11, 'z78DA73730301033070436' +
'2238B60024C35B84CC0A5923C13F0BB937813F0EB22DE04CC5022' +
'CF04CADD404CC890EA0BFCE2F85D4E4C6A212FF470998FCC0600F' +
'B599CC1');
IronOre := DTMFromString('78DA6314616060106640038C482490660712A' +
'204D408000945026AE481840C0135AA40828F801A2920C141400D' +
'C85FECF8D50000ACCF0135');
Pickaxe := DTMFromString('78DA6314606060E06540038C4824909605125' +
'C04D470020976026A40662810502302245808A801B9590CBF1A00' +
'612000CF');
PickaxeStick := DTMFromString('78DA6314666060906140038C4824901601124' +
'204D44801095E026A40F2CA04D408000929026A048184220135E2' +
'404214BF1A00B23A014A');
PickaxeHead := DTMFromString('78DA6314666060106040038C482490960112B' +
'C04D470020951026A0481841801355244980352C3895F0D0073E1' +
'00F6');
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
function FindVarrockRoadColor2: Integer;
var
GC, a, l, TestColor, Red, Green, Blue : integer;
var
P:array of Tpoint;
begin
GC := 7304312;
Flag;
FindColorsSpiralTolerance(x, y, P, GC, MMX1, MMY1, MMX2, MMY2, 60);
l:=GetArrayLength(P);
for a:= 0 to l-1 do
begin
TestColor := GetColor(P[a].x, P[a].y);
red := (TestColor mod 256);
green := ((TestColor / 256) mod 256);
blue := ((TestColor / 256) / 256);
if Red - Blue <= 12 then if Red - Blue >= 8 then
if Red - Green <= 6 then if Red - Green >= -1 then
if Green - Blue <= 10 then if Green - Blue >= 4 then
if GetColor(P[a].x + 5, P[a].y + 5) = TestColor then
if GetColor(P[a].x + 3, P[a].y + 3) = TestColor then
if GetColor(P[a].x, P[a].y + 5) = TestColor then
if GetColor(P[a].x + 5, P[a].y) = TestColor then
if GetColor(P[a].x, P[a].y + 3) = TestColor then
if GetColor(P[a].x + 3, P[a].y) = TestColor then
if GetColor(P[a].x + 5, P[a].y + 3) = TestColor then
if GetColor(P[a].x + 3, P[a].y + 5) = TestColor then
begin
Result := TestColor;
//WriteLn('Varrock RoadColor = ' + IntToStr(TestColor));
Exit;
end;
end;
WriteLn('Could not find Varrock Road Color!');
Result := 0;
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
var
i : integer;
procedure PlayerReport;
begin
ClearDeBug;
WriteLn(' ______ __ _____ __ __ ___ __ ______ ______ __');
WriteLn('<-/ __ //_// ___// // /---/ / /---/ ____// __ // /------------------------->');
WriteLn(' / __// // /__ / / /__ / /___ // __// /__');
WriteLn('/_/\_\ /_//____//__/\_\ /__/ /_____//_/\_\ /____/ <--PROGRESS REPORT-->');
WriteLn('<------------------------------------------------------------------------------>');
WriteLn('--> Total loads = ' + IntToStr(TotalLoadsDone));
WriteLn('--> Total Mined = ' + IntToStr(TotalIronMined) + ' ore`s');
WriteLn('--> Time running = ' + TimeRunning);
WriteLn('<------------------------------------------------------------------------------>');
for i:=0 to getarraylength(players)-1 do
WriteLn('--> ' + Players.Name + ' = ' + Players.loc + ', M-lvl = ' + IntToStr(Players.integer2) + ', ' + IntToStr(Players.integer3) + ' ore`s, active? ' + BoolToStr(Players.Active))
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
procedure GetBackInMine;
begin
If Not LoggedIn then exit;
if (FindSymbol(x, y, 'mining spot')) then
begin
Mouse(x, y, 1, 1, True);
Wait(5000);
If FindObjMultiText(x, y, 'ock', 'Rock', 'Mine', 2832993, 6) then exit;
Wait(1000);
If FindObjMultiText(x, y, 'ock', 'Rock', 'Mine', 2832993, 6) then exit;
Wait(1000);
If FindObjMultiText(x, y, 'ock', 'Rock', 'Mine', 2832993, 6) then exit;
Wait(1000);
If FindObjMultiText(x, y, 'ock', 'Rock', 'Mine', 2832993, 6) then exit;
Wait(1000);
If FindObjMultiText(x, y, 'ock', 'Rock', 'Mine', 2832993, 6) then exit;
Wait(1000);
If (not (FindObjMultiText(x, y, 'ock', 'Rock', 'Mine', 2832993, 6))) then
begin
Players[CurrentPlayer].loc := 'Lost';
Logout;
exit;
end;
end;
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL - (tnx to tim46 for his tut)
var
frmDesign : TForm;
Label1 : TLabel;
Label2 : TLabel;
StartButton : TButton;
procedure StartClick(sender: TObject);
begin
frmDesign.ModalResult:= mrOk;
end;
procedure InitForm;
begin
frmDesign := CreateForm;
frmDesign.Left := 275;
frmDesign.Top := 122;
frmDesign.Width := 350;
frmDesign.Height := 150;
frmDesign.Caption := 'RICK 4 SRL - V2.1';
frmDesign.Color := clBackGround;
frmDesign.Font.Color := clWindowText;
frmDesign.Font.Height := -11;
frmDesign.Font.Name := 'RICK 4 SRL';
frmDesign.Font.Style := [];
frmDesign.Visible := False;
frmDesign.PixelsPerInch := 96;
Label1 := TLabel.Create(frmDesign);
Label1.Font.Color := clWhite
Label1.Parent := frmDesign;
Label1.Left := 53;
Label1.Top := 20;
Label1.Width := 48;
Label1.Height := 13;
Label1.Caption := 'This script is created by MasterKill on SRL forums';
Label2 := TLabel.Create(frmDesign);
Label2.Font.Color := clWhite
Label2.Parent := frmDesign;
Label2.Left := 115;
Label2.Top := 50;
Label2.Width := 46;
Label2.Height := 13;
Label2.Caption := 'good luck and enjoy';
StartButton := TButton.Create(frmDesign);
StartButton.Parent := frmDesign;
StartButton.OnClick := @StartClick;
StartButton.Left := 140;
StartButton.Top := 90;
StartButton.Width := 50;
StartButton.Height := 20;
StartButton.Caption := 'START';
StartButton.TabOrder := 10;
end;
procedure SafeInitForm;
var
v: TVariantArray;
begin
setarraylength(V, 0);
ThreadSafeCall('InitForm', v);
end;
procedure ShowFormModal;
begin
frmDesign.ShowModal;
end;
procedure SafeShowFormModal;
var
v: TVariantArray;
begin
setarraylength(V, 0);
ThreadSafeCall('ShowFormModal', v);
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
Var
TradeTimeTicking : Integer;
procedure FindATradeByRick;
begin
repeat
begin
if (not (FindColorTolerance (x, y, 8388736, 15, 399, 76, 430, 5))) then
begin
exit;
end;
if (FindColorTolerance (x, y, 8388736, 15, 399, 76, 430, 5)) then
begin
MoveMouseSmooth(x, y);
Wait(1000);
if IsUpTextMulti('ccept', 'rade', 'Accept') then
Mouse(x, y, 0, 0, True);
begin
TradeTimeTicking := 0
Wait(2000);
end;
end;
end;
if (not (FindColorTolerance (x, y, 65535, 45, 31, 449, 51, 5))) then
begin
WriteLn(' Trading: ~ Error');
NOTrades := NOTrades + 1
PlayerReport;
exit;
end;
if (FindColorTolerance (x, y, 65535, 45, 31, 449, 51, 5)) then
begin
WriteLn(' Trading: ~ now wait for an accept. max wait = 0s of the 25s');
repeat
if (FindColorTolerance (x, y, 16777215, 178, 298, 345, 312, 5)) then
begin
WriteLn(' Trading: ~ other player accepted! now we`ll accept to!');
Mouse(261, 193, 5, 5, True);
Wait(2000);
if (FindColorTolerance (x, y, 65535, 62, 64, 221, 85, 5)) then
begin
WriteLn(' Trading: ~ we made it to the seccond window!');
Wait(1500);
TradeTimeTicking := 0
repeat
if (FindColorTolerance (x, y, 16776960, 226, 32, 228, 43, 5)) then
begin
WriteLn(' Trading: ~ accepted! all we need to do now is...:');
Mouse(224, 309, 2, 2, True);
Case random (5) of
0: TypeSend('ty');
1: TypeSend('tnx');
2: TypeSend('yay');
3: TypeSend('hehehe');
4: TypeSend('woot');
end;
ClearDeBug;
WriteLn(' Trading: ~ perfect sloved!');
Wait(1000);
PlayerReport;
exit;
end;
if (not (FindColorTolerance (x, y, 65535, 62, 64, 221, 85, 5))) then
begin
WriteLn('the noob is not give`ing anything grr');
case random (5) of
0: TypeSend('leave me alone then...');
1: TypeSend('pfff');
2: TypeSend('=[');
3: TypeSend('why u trade me then... get a live');
4: TypeSend('gtfo');
end;
Trades := Trades + 1;
PlayerReport;
exit;
end;
if (FindColorTolerance (x, y, 65535, 62, 64, 221, 85, 5)) then
begin
Wait(1000);
ClearDeBug;
WriteLn(' Trading: ~ now wait for an second accept. max wait = ' + IntToStr(TradeTimeTicking) + 's of the 20s');
TradeTimeTicking := TradeTimeTicking + 1
end;
if ( TradeTimeTicking = 20 ) then
begin
WriteLn(' trading: ~ took to long... now decine');
Mouse(295, 309, 2, 2, True);
case random (5) of
0: TypeSend('i dont have time for you');
1: TypeSend('if its not free then get lost');
2: TypeSend('naah');
3: TypeSend('get a live');
4: TypeSend('get lost');
end;
Trades := Trades + 1;
PlayerReport;
exit;
end;
until(false);
end;
end;
TradeTimeTicking := TradeTimeTicking + 1
Wait(1000);
ClearDeBug;
WriteLn(' Trading: ~ now wait for an accept. max wait = ' + IntToStr(TradeTimeTicking) + 's of the 25s');
if (not (FindColorTolerance (x, y, 65535, 45, 31, 449, 51, 5))) then
begin
WriteLn('the noob is not give`ing anything grr');
case random (5) of
0: TypeSend('leave me alone then...');
1: TypeSend('pfff');
2: TypeSend('=[');
3: TypeSend('why u trade me then... get a live');
4: TypeSend('gtfo');
end;
Trades := Trades + 1;
PlayerReport;
exit;
end;
if ( TradeTimeTicking = 25 ) then
begin
WriteLn(' trading: ~ took to long... now decine');
Mouse(260, 266, 5, 5, True);
case random (5) of
0: TypeSend('i dont have time for you');
1: TypeSend('if its not free then get lost');
2: TypeSend('naah');
3: TypeSend('get a live');
4: TypeSend('get lost');
end;
Trades := Trades + 1;
PlayerReport;
exit;
end;
until (false);
end;
until (false);
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
procedure FixIt;
begin
if FindDTM(PickaxeHead, x, y, 525, 182, 745, 473) then Mouse(x, y, 1, 1, True);
If FindDTM(PickaxeStick, x, y, 525, 182, 745, 473) then Mouse(x, y, 1, 1, True);
end;
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
var
HeadFindTrys : Integer;
procedure LookForPickaxeHead;
begin
LowestAngle;
HeadFindTrys := 0
repeat
If FindObjMultiText(x, y, 'ick', 'Pick', 'Head', 8944476, 5) then Mouse(x, y, 0, 0, True); // RUNE
If FindObjMultiText(x, y, 'ick', 'Pick', 'Head', 5070925, 5) then Mouse(x, y, 0, 0, True); // ADDY
If FindObjMultiText(x, y, 'ick', 'Pick', 'Head', 4205098, 5) then Mouse(x, y, 0, 0, True); // MITH
If FindObjMultiText(x, y, 'ick', 'Pick', 'Head', 9079701, 5) then Mouse(x, y, 0, 0, True); // STEEL
If FindObjMultiText(x, y, 'ick', 'Pick', 'Head', 7039858, 5) then Mouse(x, y, 0, 0, True); // IRON
If FindObjMultiText(x, y, 'ick', 'Pick', 'Head', 2704730, 5) then Mouse(x, y, 0, 0, True); // BRONZ
Wait(1000);
if (not (FindDTM(PickaxeHead, x, y, 525, 182, 745, 473))) then
begin
WriteLn('- Not found your pick head ' + IntToStr(HeadFindTrys) + '/5');
HeadFindTrys := HeadFindTrys + 1
end;
if FindDTM(PickaxeHead, x, y, 525, 182, 745, 473) then
begin
WriteLn('- ' + Players[CurrentPlayer].Name + ': "there you are! my little heady"');
WriteLn('');
FixIt;
if FindDTM(Pickaxe,x, y, 525, 182, 745, 473) then
begin
HeadFindTrys := 5
end;
end;
if FindDTM(Pickaxe,x, y, 525, 182, 745, 473) then
begin
WriteLn('- ' + Players[CurrentPlayer].Name + ': "yay here is my pickaxe agian!"');
WriteLn('');
HeadFindTrys := 5
PickAxeAttached := PickAxeAttached + 1
end;
if (HeadFindTrys = 2) then MakeCompass('N');
if (HeadFindTrys = 3) then MakeCompass('E');
if (HeadFindTrys = 4) then MakeCompass('S');
if (HeadFindTrys = 1) then MakeCompass('W');
until (HeadFindTrys = 5)
if (not (FindDTM(Pickaxe,x, y, 525, 182, 745, 473))) then
begin
WriteLn('- ' + Players[CurrentPlayer].Name + ': "noooooo... not fear. i can`t mine whithout a pick, i`m out"');
WriteLn('');
Players[CurrentPlayer].loc := 'No Pickaxe-head';
Logout;
Loads := 0
exit;
end;
WriteLn('- ' + Players[CurrentPlayer].Name + ': "pff what an advanture! lets go on mining"');
WriteLn('');
end;
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
procedure LookForPickaxe;
begin
if (not(FindDTM(Pickaxe,x, y, 525, 182, 757, 384))) then
begin
GameTab(4);
if (not(FindDTM(Pickaxe,x, y, 525, 182, 757, 384))) then
begin
If Not LoggedIn then exit;
WriteLn('- ' + Players[CurrentPlayer].Name + ': "omg where is my pickaxe?!"');
WriteLn('');
if FindDTM(PickaxeStick, x, y, 525, 182, 745, 473) then
begin
WriteLn('- ' + Players[CurrentPlayer].Name + ': "hmm i got my handle, i need to find my pick-head fast!"');
WriteLn('');
LookForPickaxeHead;
GetBackInMine;
HighestAngle;
MakeCompass('N');
end;
end;
end;
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
var
WaitForGasTime : Integer;
Procedure GasFound;
begin
If Not LoggedIn then exit;
WriteLn('- ' + Players[CurrentPlayer].Name + ': "Aaaa a gass!" =( * GAS FOUND *');
WriteLn('');
Mouse(628, 83, 7, 8, True);
case random (4) of
0: TypeSend('noo')
1: TypeSend('its kinda gassy here')
2: TypeSend('i dont like gasses')
3: TypeSend('mehh')
end;
WaitForGasTime := 0
repeat
WriteLn('Wait for gas = ' + IntToStr(WaitForGasTime) + '/25');
Wait(1000);
WaitForGasTime := WaitForGasTime + 1
until (WaitForGasTime = 25);
WriteLn('Wait for gas = 25/25');
WriteLn('');
WriteLn('- ' + Players[CurrentPlayer].Name + ': "stupid gas..."');
WriteLn('');
exit;
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// THE SRL TEAM
function FindNormalRandoms2: Boolean;
var
i: Integer;
begin
for i := 1 to 16 do
begin
case I of
1: CloseWindow;
2: if FindTalk then
Result := True;
3: if FindDead then
Result := True;
4: if FindMod then
Result := True;
5: if FindMime then
Result := True;
6: if FindMaze then
Result := True;
7: if FindQuiz then
Result := True;
8: if FindDemon then
Result := True;
9: if FindScapeRune then
Result := True;
10: if FindTalk then
Result := True;
11: if FindLamp(LampSkill) then
Result := True;
12: if (FindNewBox) then
begin
Result := True;
if (UseBoxSolver) then
SolveBox
else
GambleNewBox;
end;
13: FindATradeByRick;
14:
begin
if NoGameTab then
begin
Result := True;
Players[CurrentPlayer].loc := 'No GameTab';
Logout;
Exit;
end;
end;
15: SaveToChatLog;
16: if RC then
Result := True;
end;
Wait(1);
end;
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// THE SRL TEAM
Procedure Randoms;
Begin
FindNormalRandoms2;
wait(10)
UseBoxSolver := True
wait(10)
UseCerterSolver := True
wait(10)
UseSandwichSolver :=True
FindMaze;
wait(10)
Solvepinball;
Wait(10)
if (FindFight) then
begin
RunAwayDirection('s');
Wait(8500 + random(3500));
RunBack;
end;
Wait(10);
FindTalk;
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
procedure FindTheBank;
begin
Wait(5000);
if (FindSymbol(x, y, 'bank')) then
begin
Mouse(x, y, 0, 0, True);
WriteLn('- ' + Players[CurrentPlayer].Name + ': "nice bank dtm, lets go to it"');
WriteLn('');
MakeCompass('S');
LowestAngle;
Players[CurrentPlayer].loc := 'in the Bank';
exit;
end;
if (not (FindSymbol(x, y, 'bank'))) then
begin
if (FindColorTolerance (x, y, 4642532, 588, 36, 741, 137, 65)) then
begin
Mouse(x, y, 0, 0, True);
WriteLn('- ' + Players[CurrentPlayer].Name + ': "nice bank, lets go to it"');
WriteLn('');
MakeCompass('S');
LowestAngle;
Players[CurrentPlayer].loc := 'in the bank';
exit;
end;
if (not (FindColorTolerance (x, y, 4642532, 588, 36, 741, 137, 65))) then
begin
WriteLn('- ' + Players[CurrentPlayer].Name + ': "not found the bank" x.x "one more try"');
WriteLn('');
Wait(5000);
if (FindSymbol(x, y, 'bank')) then
begin
Mouse(x, y, 0, 0, True);
WriteLn('- ' + Players[CurrentPlayer].Name + ': "nice bank dtm, lets go to it"');
WriteLn('');
MakeCompass('S');
LowestAngle;
Players[CurrentPlayer].loc := 'in the Bank';
exit;
end;
if (not (FindSymbol(x, y, 'bank'))) then
begin
if (FindColorTolerance (x, y, 4642532, 588, 36, 741, 137, 65)) then
begin
Mouse(x, y, 0, 0, True);
WriteLn('- ' + Players[CurrentPlayer].Name + ': "nice bank, lets go to it"');
WriteLn('');
MakeCompass('S');
LowestAngle;
Players[CurrentPlayer].loc := 'in the bank';
exit;
end;
if (not (FindColorTolerance (x, y, 4642532, 588, 36, 741, 137, 65))) then
begin
WriteLn('- ' + Players[CurrentPlayer].Name + ': "I don`t see the bank anywhere! i`m out bye..."');
WriteLn('');
LogOut;
Players[CurrentPlayer].loc := 'lost';
exit;
end;
end;
end;
end;
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
procedure ToVarrockEastBank;
begin
If Not LoggedIn then exit;
Case Random (5) Of
0: WriteLn('- ' + Players[CurrentPlayer].Name + ': "FULL"');
1: WriteLn('- ' + Players[CurrentPlayer].Name + ': "o dear, i need to bank this fast"');
2: WriteLn('- ' + Players[CurrentPlayer].Name + ': "hèhè, lets go back"');
3: WriteLn('- ' + Players[CurrentPlayer].Name + ': "pff, done"');
4: WriteLn('- ' + Players[CurrentPlayer].Name + ': "yay, i`m good" =D');
end;
TypeSend('full');
WriteLn('');
SetRun(True);
GameTab(4);
RadialRoadWalk(FindVarrockRoadColor2, 5, 50, 70, 1, 1);
Randoms;
RadialRoadWalk(FindVarrockRoadColor2, 337, 385, 65, 1, 1);
Randoms;
repeat
RadialRoadWalk(FindVarrockRoadColor2, 240, 380, 65, 1, 1);
Randoms;
if (FindColorTolerance (x, y, 1582945, 0, 0, 500, 500, 10)) then
begin
WriteLn('- ' + Players[CurrentPlayer].Name + ': "oops, this is the museum... i don`t like that man"');
WriteLn('');
Case Random (5) of
0: TypeSend('red noob');
1: TypeSend('Let me in! plz?');
2: TypeSend('i want to go in!');
3: TypeSend('1 day i will enter this door');
4: TypeSend('bleg ugly uniform =p');
end;
Wait(5000);
Mouse(624, 136, 3, 3, True);
Wait(12000);
end;
until (FindSymbol(x, y, 'bank')) or (FindSymbol(x, y, 'water')) or (FindColorTolerance (x, y, 4642532, 588, 36, 741, 137, 65))
FindTheBank;
WriteLn('- ' + Players[CurrentPlayer].Name + ' = ' + Players[CurrentPlayer].loc);
WriteLn('');
If Not LoggedIn then exit;
SetRun(False);
GameTab(4);
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
Procedure FindGas;
begin
If Not LoggedIn then exit;
if (FindColorTolerance (x, y, 10596274, 0, 0, 500, 500, 1)) then
begin
GasFound;
end;
if (FindColorTolerance (x, y, 9806756, 0, 0, 500, 500, 1)) then
begin
GasFound;
end;
if (FindColorTolerance (x, y, 9017755, 0, 0, 500, 500, 1)) then
begin
GasFound;
end;
if (FindColorTolerance (x, y, 8821148, 0, 0, 500, 500, 1)) then
begin
GasFound;
end;
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
Procedure FindTheRocksAfterWalk;
begin
If Not LoggedIn then exit;
If FindObjMultiText(x, y, 'ock', 'Rock', 'Mine', 2832993, 6) then
begin
Case Random (5) Of
0: WriteLn('- ' + Players[CurrentPlayer].Name + ': "IRON" >.<');
1: WriteLn('- ' + Players[CurrentPlayer].Name + ': "MINE"');
2: WriteLn('- ' + Players[CurrentPlayer].Name + ': "hehehe... found some iron"');
3: WriteLn('- ' + Players[CurrentPlayer].Name + ': "this iron is kool"
4: WriteLn('- ' + Players[CurrentPlayer].Name + ': "mine this iron, yay" ^.^');
end;
WriteLn('');
HighestAngle;
Players[CurrentPlayer].loc := 'in the mine';
exit;
end;
If (not (FindObjMultiText(x, y, 'ock', 'Rock', 'Mine', 2832993, 6))) then
begin
Wait(10000);
RockError := 0
repeat
If FindObjMultiText(x, y, 'ock', 'Rock', 'Mine', 2832993, 6) then
begin
Case Random (5) Of
0: WriteLn('- ' + Players[CurrentPlayer].Name + ': "IRON" >.<');
1: WriteLn('- ' + Players[CurrentPlayer].Name + ': "MINE"');
2: WriteLn('- ' + Players[CurrentPlayer].Name + ': "hehehe... found some iron"');
3: WriteLn('- ' + Players[CurrentPlayer].Name + ': "this iron is kool"
4: WriteLn('- ' + Players[CurrentPlayer].Name + ': "mine this iron, yay" ^.^');
end;
WriteLn('');
HighestAngle;
Players[CurrentPlayer].loc := 'in the mine';
exit;
end;
If (not (FindObjMultiText(x, y, 'ock', 'Rock', 'Mine', 2832993, 6))) then
begin
RockError := RockError + 1
Wait(2000);
If FindObjMultiText(x, y, 'ock', 'Rock', 'Mine', 4813212, 6) then
begin
RockError := RockError - 1
Mouse(253, 35, 3, 3, True);
Wait(8000);
end;
end;
until (RockError = 5)
Players[CurrentPlayer].loc := 'Lost';
WriteLn('- ' + Players[CurrentPlayer].Name + ': "WHY ME?!"');
Logout;
exit;
end;
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
procedure BankIt;
begin
If Not LoggedIn then exit;
IronMined := countItembmpmasktol(IronOreBFS, 40, 25)
Wait(1000);
TotalIronMined := TotalIronMined + IronMined
Wait(1000);
Players[CurrentPlayer].integer3 := Players[CurrentPlayer].integer3 + IronMined
Wait(3000);
If FindObjMultiText(x, y, 'ank', 'ooth', 'booth', 864829, 5) then
begin
Mouse(x, y, 0, 0, False);
Wait(500);
ChooseOption(x, y, 'uickly');
Wait(7000);
WriteLn('- ' + Players[CurrentPlayer].Name + ': "banking ' + IntToStr(IronMined) + ' ore`s and ' + IntToStr(27-IronMined) + ' trade/random items"');
WriteLn('');
Deposit(2,28,2);
TotalLoadsDone := TotalLoadsDone + 1
MakeCompass('N');
Wait(100);
HighestAngle;
Mouse(485, 41, 5, 5, True);
Wait(2000);
exit;
end;
If (not (FindObjMultiText(x, y, 'ank', 'ooth', 'booth', 864829, 5))) then
begin
WriteLn('- ' + Players[CurrentPlayer].Name + ': "huh, i thougt we where in the bank =[ "');
WriteLn('');
LogOut;
Players[CurrentPlayer].loc := 'error B-booth';
end;
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
var
RicksRoadWalk : integer;
procedure ToVarrockEastMine;
begin
If Not LoggedIn then exit;
RicksRoadWalk := 0
Case Random (5) Of
0: WriteLn('- ' + Players[CurrentPlayer].Name + ': "Lets go to the mine!"');
1: WriteLn('- ' + Players[CurrentPlayer].Name + ': "hey, hurry up, i want to mine!"');
2: WriteLn('- ' + Players[CurrentPlayer].Name + ': "GO GO GO!"');
3: WriteLn('- ' + Players[CurrentPlayer].Name + ': "I love the varrock east mine, so lets go!"');
4: WriteLn('- ' + Players[CurrentPlayer].Name + ': "I`ll walk you to the mine"');
end;
WriteLn('');
RadialRoadWalk(FindVarrockRoadColor2, 36, 79, 69, 4, 4);
RadialRoadWalk(FindVarrockRoadColor2, 66, 130, 67, 0, 0);
repeat
RadialRoadWalk(FindVarrockRoadColor2, 125, 220, 60, 0, 0);
RicksRoadWalk := RicksRoadWalk + 1
until (RicksRoadWalk = 5) or (FindSymbol(x, y, 'mining spot'))
RicksRoadWalk := 0
repeat
if (FindSymbol(x, y, 'mining spot')) then
begin
Mouse(x, y, 1, 1, True);
WriteLn('- ' + Players[CurrentPlayer].Name + ': "spotted mining spot"');
WriteLn('');
Wait(14000);
Mouse(253, 27, 1, 1, True);
FindTheRocksAfterWalk;
exit;
end;
if (not (FindSymbol(x, y, 'mining spot'))) then
begin
WriteLn('- ' + Players[CurrentPlayer].Name + ': "i dont see the mining spot... random walk"');
WriteLn('');
Wait(5000);
Mouse(613, 80, 0, 0, True);
Wait(14000);
FindTheRocksAfterWalk;
exit;
end;
If Not LoggedIn then exit;
until (RicksRoadWalk = 5)
Players[CurrentPlayer].loc := 'Lost';
Logout;
exit;
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
procedure TimeForTalkOne;
begin
If (TalkNoOne = False) then exit;
Case random (3) of
1: begin
TypeSend('Mining lvls? I am level ' + inttostr(GetSkillLevel('mining')));
WriteLn('');
WriteLn('- ' + Players[CurrentPlayer].Name + ': "Mining lvls? I am level ' + inttostr(GetSkillLevel('mining')) + '"');
WriteLn('');
end;
2: begin
TypeSend('Mining levels?');
WriteLn('');
WriteLn('- ' + Players[CurrentPlayer].Name + ': "Mining levels?"');
WriteLn('');
Wait(5000);
TypeSend('My mining level is ' + inttostr(GetSkillLevel('mining')));
WriteLn('- ' + Players[CurrentPlayer].Name + ': "My mining level is ' + inttostr(GetSkillLevel('mining')) + '"');
WriteLn('');
end;
3: begin
TypeSend('what are all your mining lvls?');
WriteLn('');
WriteLn('- ' + Players[CurrentPlayer].Name + ': "What are all your mining lvls?"');
WriteLn('');
Wait(5000);
TypeSend('hihi, my mining lv owns! (' + inttostr(GetSkillLevel('mining')) + ') =]');
WriteLn('- ' + Players[CurrentPlayer].Name + ': "hihi, my mining lv owns! (' + inttostr(GetSkillLevel('mining')) + ') =]');
WriteLn('');
end;
end;
TalkNoOne := False;
GameTab(4);
end;
procedure TimeForTalkTwo;
begin
If (TalkNoTwo = False) then exit;
Case random (4) of
1: begin
DoEmote(20);
end;
2: begin
DoEmote(19);
end;
3: begin
WriteLn('- ' + Players[CurrentPlayer].Name + ': "hardcore"');
WriteLn('');
TypeSend('hardcore');
DoEmote(1);
end;
4: begin
DoEmote(11);
end;
end;
TalkNoTwo := False;
end;
Procedure TimeForTalkTree;
begin
If (TalkNoTree = False) then exit;
Case random (4) of
1: begin
WriteLn('- ' + Players[CurrentPlayer].Name + ': "iron 4 live"');
TypeSend('iron 4 live');
WriteLn('');
end;
2: begin
WriteLn('- ' + Players[CurrentPlayer].Name + ': "juppy-ka-yee mf`ers"');
TypeSend('juppy-ka-yee mf-ers!');
WriteLn('');
end;
3: begin
WriteLn('- ' + Players[CurrentPlayer].Name + ': "need free uncuts"');
WriteLn('');
TypeSend('need free uncuts');
end;
4: begin
WriteLn('- ' + Players[CurrentPlayer].Name + ': "power to tha people in tha beats"');
WriteLn('');
TypeSend('power to tha people in tha beats');
end;
end;
TalkNoTree := False
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
var
TimeToTalk : integer;
Procedure MineIron;
begin
SetRun(True);
PlayerReport;
TalkNoOne := True;
TalkNoTwo := True;
TalkNoTree := True;
repeat
If Not LoggedIn then exit;
TimeToTalk := countItembmpmasktol(IronOreBFS, 40, 25)
If FindObjMultiText(x, y, 'ock', 'Rock', 'Mine', 2832993, 6) then
begin
Mouse(x, y, 1, 1, True);
Players[CurrentPlayer].loc := 'in the mine';
Randoms;
LookForPickaxe;
Findgas;
Wait(MiliSecondsToWait/2-500);
Randoms;
LookForPickaxe;
Findgas;
SRLRandomsReport;
Wait(MiliSecondsToWait/2-500);
end;
If (not (FindObjMultiText(x, y, 'ock', 'Rock', 'Mine', 2832993, 6))) then
begin
If Not LoggedIn then exit;
Wait(500);
randoms;
SRLRandomsReport;
end;
If (TimeToTalk = 7) then TimeForTalkOne;
If (TimeToTalk = 14) then TimeForTalkTwo;
If (TimeToTalk = 18) then TimeForTalkTree;
until InvFull;
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
procedure StartUp;
begin
disguiseScar('RICK 4 SRL');
WriteLn(' ______ __ _____ __ __ ___ __ ______ ______ __');
WriteLn(' / __ //_// ___// // / / / / / ____// __ // /');
WriteLn(' / __// // /__ / / /__ / /___ // __// /__');
WriteLn('/_/\_\ /_//____//__/\_\ /__/ /_____//_/\_\ /____/ / iron miner v2.0 /');
WriteLn('');
WriteLn('START');
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
procedure HyperMainLoop;
begin
repeat
ToVarrockEastMine;
MineIron;
ToVarrockEastBank;
BankIt;
Loads := Loads + 1
If Not LoggedIn then exit;
until (Loads = Players[CurrentPlayer].integer1)
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
Procedure LogInFalseTrue;
begin
If Not LoggedIn then
begin
WriteLn('False =');
Loads := 0
NextPlayer(false);
HighestAngle;
Players[CurrentPlayer].integer2 := GetSkillLevel('mining')
PlayerReport;
exit;
end;
if (LogyIn > 0) then
begin
WriteLn('True =');
Loads := 0
NextPlayer(True);
HighestAngle;
Players[CurrentPlayer].integer2 := GetSkillLevel('mining')
PlayerReport;
end;
end;
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// RICK 4 SRL
begin
SafeInitForm;
SafeShowFormModal;
Loads := 0
SetupSRL;
DTMsetup;
DeclarePlayers;
Activateclient;
ClearDeBug;
StartUp;
LogyIn := 0
LoginPlayer;
WriteLn('- ' + Players[CurrentPlayer].Name + ': "I`ll start, let pownd all those iron noobs!"');
WriteLn('');
HighestAngle;
Players[CurrentPlayer].integer2 := GetSkillLevel('mining')
repeat
LogInFalseTrue;
LogyIn := LogyIn + 1
HyperMainLoop;
until (false)
end.
////////////////////////////////////////////////////////////////////////////////

