All pastes #2119846 Raw Edit

Someone

public text v1 · immutable
#2119846 ·published 2012-02-19 01:42 UTC
rendered paste body
program Cats;
//{$DEFINE SMART}
{.include SRL\SRL.simba}
{.Include SRL\SRL\Misc\Debug.simba}

  var
  x, y: Integer;
  Q: Array [0..5] of Integer;//DTM Declaring procedure.
  aFound: Extended;


Const
 SERVER            = '72';  // Enter "0" to pick a random server.
 MEMBERS           = True; // Set to True for P2P. False for 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)
 BreakEvery        = 120;   // Break interval.
 BreakFor          = 5;     // Break time.
 Version           = '1.0';




procedure DeclarePlayers;
var i:integer;
begin
  NumberOfPlayers(NumbOfPlayers);
  CurrentPlayer := StartPlayer;
  for i := 0 to NumbOfPlayers-1 do
    Players[i].BoxRewards  := ['ostume', 'ithril', 'lay'];

  with Players[0] do
  begin
    Name        := '';     //Player username.
    Pass        := '';     //Player password.
    Active      := True;
  end;
end;
///////////////////////////////////////////////////////////////////////////////




Procedure StatsGuise(wat:String);
Begin
  Status(wat);
  Disguise(wat);
End;



Procedure Antiban;
Begin
  Case Random(192) Of
    0: HoverSkill('Crafting', False);
    1: Begin PickUpMouse; SleepAndMoveMouse(3000 + Random(500)); End;
    2: ExamineInv;
    3: RandomAngle(1);
    4: Begin GameTab(Tab_Stats); Wait(3000 + Random(500)); GameTab(Tab_Inv); End;
    5: HoverSkill('random', False);
  End;
End;



Procedure FailSafe(Reason:String);
Begin
  Players[CurrentPlayer].Loc:=Reason;
  Logout;
  Stats_Commit;
  // ProgressReport;
  TerminateScript;
End;





Function PickFlax:Boolean;
Var
  x, y, PlusOne: Integer;
Begin
  PlusOne:= InvCount +1;
  X:=MSCX
  Y:=MSCY
  If FindObjCustom(x, y, ['Flax', 'ick', 'Pic'], [14474423, 4877641, 12429665, 15592920, 2966317], 30) Then
  Begin
    StatsGuise('Flax Found!')
    WriteLn('Flax Found!');
    GetMousePos(x, y);

    Case Random(2) Of
     0: Mouse(x, y, 5, 5, True);
     1: Begin
          Mouse(x, y, 5, 5, False);
          WaitOption('Pick', 500);
         End;
    End;

     Repeat
        Antiban;
        Wait(100);
        If InvCount=PlusOne Then
           Writeln('Flax Obtained!');
     Until (InvCount=Plusone)

  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;



Function Bank:Boolean;
Var
  x, y: Integer;
Begin
  X:=MSCX
  Y:=MSCY
  If FindObjCustom(x, y, ['Bank', 'nk Ch', 'Use b'], [6254203, 6381925, 10921902, 3754326], 5) Then
  Begin
    StatsGuise('Bank Clicked!')
    WriteLn('Bank Clicked!');
    GetMousePos(x, y);

    Case Random(2) Of
     0: Mouse(x, y, 5, 5, True);
     1: Begin
          Mouse(x, y, 5, 5, False);
          WaitOption('Use', 500);
         End;
    End;
    StatsGuise('Bank Opened!')
    WriteLn('Bank Opened!')
  End;
End;





Function BankFlax:Boolean;
Var
  x, y: Integer;
Begin

  X:=MSCX
  Y:=MSCY
  If FindObjCustom(x, y, ['Depo', 'Car', 'tems'], [263686, 4161692, 1655411, 2052490], 5) Then
  Begin
    StatsGuise('Flax Banked!')
    WriteLn('Flax Banked!');
    GetMousePos(x, y);

    Case Random(1) Of
     0: Mouse(x, y, 5, 5, True);
    End;
  End;
End;

procedure SetDTM; //DTM Defining procedure.
begin
  Q[0] := DTMFromString('m6wAAAHic42ZgYGhjYmCoBuJeIO4E4hogLobyK4C4H4jrgbgViB8A1V8G4lNAfAeI/wHxUyB+AcQngPgGVPwKEL+7pMLg46LMkOUswPD/DzOY9nRSYvDzVWGIigxliDLmAKpiZPB0VWIgBTCSgJEAAMX7GQg=');
  Q[1] := DTMFromString('mwQAAAHic42RgYBADYiUoBgFBIBYAYg0gFgdiJqgadiCWA2JRKA0CQkAsDFXvFaLK4OSuzhAc5scQ4STN4OSlwZDlLADmRxlzMBiniDEQAxiJwHAAAItNCDs=');
  Q[2] := DTMFromString('m1gAAAHic42JgYBAHYkUg1mGAAGkg5oCK8wCxMhCLAjE/EAtDaZC8CFQcBFiAmBvKV44SYvCJ0mCIMuZgsHPSZvAJU2MIDvMD065eGgxBidoMLOzMDMQCRiIxAgAA/H4IRA==');
  Q[3] := DTMFromString('m1gAAAHic42JgYBAEYn4g5gViGSgGsSUZIABEKwAxHxDLATELlJYGYjEgFgJiTqhaNiAOCTBncPFUYwgK9WEId5RkMEoWAbNh4s7eCgyRRmwMxAJGIjECAABSDQkU');
  Q[4] := DTMFromString('mfgEAAHicE2JgYFAHYmkg1gVifSDmZYAAkJgeEJsDsREQSwKxFlS9ClS9BJI6bSC2BWJ3IOaAmiEGxEpQGoQ1gdgEimWAWBGKQeIaUHM+sDEyeHgoMNjZaTJYmqsyhASYM9RUZTLYu6iA2UGhPgx29poM3r6KDM4uqkCN8WBxG1t1hgBvE4Yfnz6DMbUAI5UwJgAAxW0XTQ==');
  Q[5] := DTMFromString('mVAEAAHicpcy7CsJAFATQWXyBRjGC4gMkqywaf0AiYVPEIhiEEMTv3U/y0VgIccBbpc3AgVvM3DGAOW1oS2va0Z5m5NGUlnIP8Y8nnRUtKJDeiAbUk16bJvLb0IH65Mu2Q9W3BWtD2CREejaITgZxrHErjriXEbIsQJoYVE+F/KLhnEN+1fi83nh0FZpGNVTPDwUZFII=');

end;

procedure FrDTM;  //DTM Freeing procedure.
begin
  FreeDTM(Q[0]);
  FreeDTM(Q[1]);
  FreeDTM(Q[2]);
  FreeDTM(Q[3]);
  FreeDTM(Q[4]);
  FreeDTM(Q[5]);

end;

begin
  SetDTM;                   //Set DTM's before code.
  MouseSpeed := 18;         //This makes it move faster but still undetectable, it makes DTM walking even more human-like.
  MakeCompass('n');         //We agreed we'd have camera facing North.
  SRL_ANGLE_HIGH           //Does not matter but it looks cooler from above.

  if FindDTMRotated(Q[0], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound) then
begin
  Mouse(x, y, 3, 3, True);
  FFlag(6);
  repeat
    Wait(50 + Random(25));
  until FindDTMRotated(Q[1], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound);
end;

if FindDTMRotated(Q[1], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound) then
begin
  Mouse(x, y, 3, 3, True);
  FFlag(6);
  repeat
    Wait(50 + Random(25));
  until FindDTMRotated(Q[2], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound);
end;

if FindDTMRotated(Q[2], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound) then
begin
  Mouse(x, y, 3, 3, True);
  FFlag(6);
  repeat
    Wait(50 + Random(25));
  until FindDTMRotated(Q[3], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound);
end;

if FindDTMRotated(Q[3], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound) then
begin
  Mouse(x, y, 3, 3, True);
  FFlag(6);
  repeat
    Wait(50 + Random(25));
  until FindDTMRotated(Q[4], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound);
end;

if FindDTMRotated(Q[4], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound) then
begin
  Mouse(x, y, 3, 3, True);
  FFlag(6);
  repeat
    Wait(50 + Random(25));
  until FindDTMRotated(Q[5], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound);
end;

 if FindDTMRotated(Q[5], x, y, MMX1, MMY1, MMX2, MMY2, -Pi/4, Pi/4, Pi/60, aFound) then
begin
  Mouse(x, y, 3, 3, True);
  FFlag(6);
  end;
  // No loop for the last point in the walk.
  FrDTM; //Free DTM's after Codes
end;



begin

  SetupSRL;
  DeclarePlayers;
  Repeat
//  If InvEmpty Then
//  Begin
//   WalkToFlax;
//   PickFlax;
//  End

//  If InvFull Then
//  Begin
//   WalkToBank;
   Bank;
   BankFlax;
//  End

 Until(false);

end.