• Log in or sign up for an account here: https://www.sythe.org/login

Auto Ranger, old?

Alligaattor

Member
Joined
Mar 22, 2007
Sythe Gold
0
Messages
30
Is this script old?
I'd like to know before using it!
Tyvm in advance!
________________________________________________________________

Code:
program SoupysAutoRanger;
{.include SRL/SRL.scar}
{.include SSM.scar}
{.include SRL/SRL/Misc/Playerform.scar}
{.include SRL/SRL/Skill/Ranging.scar}
var
  StartTime, PlayTime, RunningTime: LongInt;
var
  PickedUpItem,Logins, Goblins: integer;
Var
  Goblin,xaa,yaa:integer;
var
  SST1, SST2:LongInt;

//----------------------------------------------------------------------------//
//         Fill Out These Constants Before You Start the Script
const PlayerTime            = 1000;
const RandomPlayerTime      = 1000;
const GoblinTimeOut         = 30000;
Const StopFightinghp        = 10; //Hp at which to stop fighting
Const StartFightinghp       = 20; // Hp at which to continue fighting
const ArrowType             = 'Bronze';
//----------------------------------------------------------------------------//
Const VersionNumber       = 'v.1.2';
//----------------------------------------------------------------------------//
Procedure DeclarePlayers;
begin
Setupplayers;
end;
//----------------------------------------------------------------------------//
procedure DTMM;
begin
Goblin := DTMFromString('78DA63EC62606058CE8002E20BF9185881342' +
       '310FF0702003EEC0613');
end;
//----------------------------------------------------------------------------//
//----------------------------------------------------------------------------//
//----------------------------------------------------------------------------//
Procedure ProgressReport;
begin
  writeln(' ');
  WriteLn ('||^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^||');
  WriteLn ('||<~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>||');
  WriteLn ('||        | --> Soupys AutoRanger <--                    ||');
  WriteLn ('||->          '+VersionNumber+' <-|                    <-||');
  WriteLn ('||     --> Progress Report -> by SoupyBastrd <--         ||');
  Writeln ('||<~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >||');
  Writeln ('||  Worked for '+ TimeRunning +'                         ||');
  Writeln ('||  Attacked '+inttostr(Goblins)+' Goblins.              ||');
  Writeln ('||  Logged In '+ inttostr(Logins)+' Times                ||');
  Writeln ('||  Picked Up ' + inttostr(PickedUpItem) +' Arrows       ||');
  Writeln ('||  And Other Items                                      ||');
  Writeln ('||<~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>||');
  Writeln ('||^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^||');
  SRLRandomsReport;
end;
//----------------------------------------------------------------------------//
Procedure MyAntiBan;
 var
 DontBanMe : Integer;
  begin
   if ( not ( LoggedIn )) then Exit;
   DontBanMe:= Random(12);
    case DontBanMe of
     1:  RandomRClickEvery(2 + Random(13));
     2:  hoverskill('random', false);
     3:  RandomChatEvery(10 + Random(5));
     4:  RotateEvery(20 + Random(10));
     5:  LeaveScreenEvery(5 + Random(5));
     6:  HoverEvery(15 + Random(5),'random');
     8:  PickUpMouse;
     9:  BoredEvery(9 + Random(24));
     10: if ExistsItem ( 1 ) then
           DragItem(1, 1+Random(18));
     11: GameTab(1 + Random(12));
     12: DoEmote(1 + Random(20));
   end;
end;
//----------------------------------------------------------------------------//
procedure FindRandoms;
begin
  if ( not ( LoggedIn )) then Exit;

  if ( not ( UseBoxSolver )) then
    if FindNewBox and
     not ( GambleNewBox ) then
     begin
       Players[CurrentPlayer].loc := 'NewBox';
       Logout;
       Exit;
     end;
  if InBlack then
  begin
    Players[CurrentPlayer].loc := 'InBlack';
    Logout;
    Exit;
  end;
  Wait(1);
  if NoGameTab then
  begin
    Players[CurrentPlayer].loc := 'GameTab';
    Logout;
    Exit;
  end;
  FindNormalRandoms;
  MyAntiBan;
  Wait(1);
end;
//----------------------------------------------------------------------------//
Procedure DropAllJunk;
var items:Longint;
var N:integer;
begin
 N := Random(20)
 if N = 1 then
 begin
 Items := 1;
 Repeat
 Items := Items + 1;
 if(existsitem(Items)) then
 begin
  MmouseItem(Items);
  if (GetOption = 'Weild') or
  (isuptext('Arrow')) then
  begin
  Exit;
  end
   else
   MouseItem(Items,False);
   ClickOption('Drop',2);
   end;
  Until(Items>28);
 end;
end;
//----------------------------------------------------------------------------//
Procedure SetUpScript;
begin

     DTMM;
     SetupSRL;
     DeclarePlayers;
     MarkTime(SST1);
     MarkTime(SST2);
     Reincarnate    := True;
     LoginPlayer;
     Logins := Logins +1;
     wait(3000 +random(200));
     HighestAngle;
     MakeCompass('N');
     ProgressReport;
end;
//----------------------------------------------------------------------------//

procedure SetPlayerParams;
begin
  if ( not ( LoggedIn )) then Exit;
  PlayTime := PlayerTime + Random ( RandomPlayerTime);
  writeln ( ' Will Switch User in ' + IntToStr ( PlayTime / 60 ) +' mins.');
  GameTab(1);
  LampSkill := LowerCase ( Players[CurrentPlayer].Skill );
  SetChat('on', 1);
  SetChat('friends', 2);
  SetChat('on', 3);
  SetChat('on', 1);
  StartTime := (GetSystemTime div 1000);
end;

//----------------------------------------------------------------------------//
Procedure RandomCompassLeft;
begin
    KeyDown(VK_Left);
    Wait((1)+ Random(500));
    KeyUp(VK_Left);
end;
//----------------------------------------------------------------------------//
Procedure RandomCompassRight;
begin
    KeyDown(VK_Right);
    Wait((1)+ Random(500));
    KeyUp(VK_Right);
end;

//----------------------------------------------------------------------------//
Procedure RandomCompassDirection;
var c:integer;
begin
 c := random(16);
 case c of
  1:RandomCompassRight;
  2:RandomCompassLeft;
  3:RandomCompassRight;
  4:RandomCompassLeft;
  5:MakeCompass('S');
  6:MakeCompass('E');
  7:MakeCompass('W');
  8:MakeCompass('N');
  end;
end;
//----------------------------------------------------------------------------//
Procedure SoupysRandomTalk;
var talk,talk1:integer;
begin
 Talk1:=random(8)
 if(talk1 = 1) then
  begin
  talk :=Random(50);
Case Talk of
 1:TypeSend('nobzorz');
 2:TypeSend('lmao noobs');
 3:TypeSend('screwed');
 4:TypeSend('oo Sexy');
 5:TypeSend('My Bush is big');
 6:TypeSend('do you have a bush?');
 7:TypeSend('who would vote for bush?');
 8:SendKeys('wow nobcaks');
 9:SendKeys('omfg republicans r noobs');
 10:TypeSend('Liberal.');
 11:TypeSend('a village in texas is missing its idiot');
 12:TypeSend('is it 2008 yet?');
 13:TypeSend('its raining noobs');
 14:TypeSend('rofl lmao noobs');
 15:TypeSend('omg go away noobs');
 16:TypeSend('Damn Low Hp');
 17:TypeSend('Fuck I Hate Waiting');
 18:TypeSend('Damn');
 19:TypeSend('Crazy');
 20:TypeSend('WTF');
 21:TypeSend('arrgh i hate this');
 22:TypeSend('pfft');
 23:TypeSend('zomg');
 24:TypeSend('omg');
 25:TypeSend('Holy SHizza!');
 26:TypeSend('omfg');
 27:TypeSend('wowzerz');
 28:TypeSend('Low Hp');
 29:TypeSend('oo low');
 30:TypeSend('wow thats low');
 31:TypeSend('...');
 32:TypeSend('roflmfao');
 33:TypeSend('noobs');
 34:TypeSend('pure nob');
 35:TypeSend('pur3 bithces');
 36:TypeSend('ub3r ownr');
 37:TypeSend('wowzerslicious');
 38:TypeSend('zomfgnoobs');
 39:TypeSend('ooooooOOOoo');
 40:TypeSend('ooOoo nobcakes poop noobs arghl');
end;
end;
end;
//----------------------------------------------------------------------------//
Procedure RandomShit;
 var s:integer;
 begin
 repeat
 S := Random(25)
 Case S of
 1:HoverSkill('Ranging',False);
 2:HoverSkill('Mining',False);
 3:HoverSkill('WoodCutting',False);
 4:HoverSkill('Attack',False);
 5:HoverSkill('Strength',False);
 6:HoverSkill('Defense',False);
 7:HoverSkill('Magic',False);
 8:HoverSkill('Health',False);
 9:HoverSkill('Smithing',False);
 10:HoverSkill('Fletching',False);
 11:HoverSkill('Slayer',False);
 12:HoverSkill('Prayer',False);
 13:RandomCompassLeft;
 14:RandomCompassRight;
 15:RandomCompassDirection
 16:SoupysRandomTalk;
 17:SoupysRandomSentence;
 18:RandomEmote;
 19:RandomEmote;
 20:RandomEmote;
 21:RandomEmote;
 22:RandomEmote;
 23:RandomEmote;
 24:RandomEmote;
 25:RandomEmote;
 end;
 Until(gethp>StartFightingHp);
 HoverSkill('Ranging',False);
 wait(1000+random(1000))
end;

//----------------------------------------------------------------------------//
Function CheckHp:Boolean;
var Hp:integer;
begin
 Hp := Random(2);
 if Hp = 1 then
 begin
  if(gethp<StopFightingHp) then
  begin
   RandomShit;
   Result := True;
  end
 else
 Result := False;
end;
end;
//----------------------------------------------------------------------------//

Function AttackGoblin: Boolean;
begin
  if(finddtm(Goblin,xaa,yaa,Msx1,msy1,msx2,msy2))then
   begin
    MMouse(xaa, yaa, 0, 0);
    if IsUpTextMulti('ack','at','lin') then
    begin
          ClickMouse(xaa,yaa,False);
          wait(100 + random(500))
          if(ChooseOption(x,y,'Attack'))then
          begin
          Result := True;
          Goblins := Goblins + 1;
          Players[CurrentPlayer].Killed := Players[CurrentPlayer].Killed+1;
        end;
        end;
        Exit;
    end;
end;
//----------------------------------------------------------------------------//
Procedure FightGoblin;
var Mark69:Integer;
begin
  FFlag(10);
  MarkTime(Mark69);
     if((not (Loggedin)) or (WeAreDead)) then Exit;
       findnormalrandoms;
       FindTalk;
       if (TimeFromMark(Mark69) > GoblinTimeOut + Random ( GoblinTimeOut / 2 )) then Exit;
end;
//----------------------------------------------------------------------------//
function PickUpTheArrow: Boolean;
var
 Arrow, TakeArrows, xa, ya: Integer;
 begin
  Arrow := DTMFromString('78DA63E467646038CE8002428D39185881345' +
       '086E13F1000002D87056B');
  TakeArrows := BitmapFromString(124, 3, 'z78DA3330C00EDC9000' +
       'F1B2C488136F3231EA4701E5C0CDCDD2C0044A52224E2D35C488E' +
       '32749F13BADD23979268C82D1748E2B3DD32E9D935AF652ABFC1F' +
       '4DFFF449EDF8530EB5D2397E7BF1AB275E1C0200EA89C450');
  if FindDTM(Arrow, xa, ya, msx1, msy1, msx2, msy2) then
  begin
    Mmouse(xa,ya,1,1);
    Mouse(xa,ya,0,0,false);
    wait(10);
     If(FindBitmap(TakeArrows, xa, ya)) then
       begin
       mmouse(xa,ya,0,0);
       mouse(xa,ya,0,0,True);
       Wait(2000+ random(500));
       PickedUpItem := PickedUpItem +1;
       Result := True;
  end
  else
    Result := False;
 end;
end;
//----------------------------------------------------------------------------//
{*******************************************************************************
Function WeildArrow(Arrow:string):boolean;
By: SoupyBastrd
Description:Weilds The Selected Arrow. Rune Not Supported.
*******************************************************************************}
Function WeildArrow(Arrow:String):Boolean;
var arrowcolor,xaa,yaa:integer;
var bronze,iron,steel,mithril,adamant:integer;
begin
 Bronze := 1847874;
 Iron   := 3552826;
 Steel  := 9079455;
 Mithril:= 5322294;
 Adamant:= 3754297;

 If (Arrow = 'Bronze') then
  begin
  ArrowColor := Bronze;
 end
 else
 If (Arrow = 'Iron') then
  begin
  ArrowColor := Iron;
 end
 else
 If (Arrow = 'Steel') then
  begin
  ArrowColor := Steel;
 end
 else
 If (Arrow = 'Mithril') then
  begin
  ArrowColor := Mithril;
 end
 else
 If (Arrow = 'Adamant') then
  begin
  ArrowColor := Adamant;
 end
  if(findcolorspiraltolerance(xaa,yaa,ArrowColor,MIX1,MIY1,MIX2,MIY2,5))then
   begin
   mmouse(xaa,yaa,0,0)
   mouse(xaa,yaa,0,0,True);
   Result := True;
  end
  else
  Result := False;
 end;
//----------------------------------------------------------------------------//
Procedure SayRandomSentence;
var L:integer;
begin
 L := Random(20)
 if L = 1 then
 begin
  SoupysRandomSentence;
 end;
end;
//----------------------------------------------------------------------------//
Function NoArrows:Boolean;
begin
 if(ischatMessage('There is No Ammo Left In Your Quiver'))then
  begin
  if(WeildArrow(arrowtype))then
  begin
  Result := False;
  end
  else
  begin
  Result := True;
  end;
 end;
end;
//----------------------------------------------------------------------------//
Function CheckRangedLevel:Boolean;
begin
if(inchatmulti('Ran','ange','lvl'))then
 begin
 TypeSend('' + inttostr(GetSkillLevel('Ranging')));
 result := True;
 end
 else
 begin
 result :=False;
 end;
end;
//----------------------------------------------------------------------------//
Function CheckLogin:Boolean;
begin
 if(not loggedin) then
  begin
  result :=True;
 end
 else
Result := False;
end;
//----------------------------------------------------------------------------//
Procedure DoArrowStuff;
var B:integer;
begin
repeat
 Wait(1000+random(2000))
 Until(PickupTheArrow = False);
 WeildArrow(ArrowType);
 B := Random(10);
 if(B = 1) then
 begin
  ProgressReport;
 end;
 If(NoArrows = True) then
  begin
  logout;
 end;
 end;
//----------------------------------------------------------------------------//
begin
 repeat
 SetupScript;
 SetPlayerParams;
 repeat
 Repeat
 DoArrowStuff;
 SoupysrandomTalk;
 CheckHp;
 wait(1000+random(100));
 until(AttackGoblin = True);
  FightGoblin;
  RandomCompassDirection;
  wait(100 + random(500));
  CheckHp;
  Wait(2000+random(1000));
  DoArrowStuff;
  RandomCompassDirection;
  CheckHp;
  SoupysRandomTalk;
  DropAllJunk;
  SayRandomSentence;
  wait(2000+random(1000));
until((RunningTime - StartTime > PlayTime)or(CheckLogin=True));
Writeln('Switching User Now');
NextPlayer(True);
Logins := Logins +1;
until(False);
end.
 
Where I could get SSM.scar include?
I have no idea, Tyvm!

Edit: Already found...!!! :rolleyes:
 
Runescape Gamblingrunescape gambling
Back
Top