P1ng's Anywhere Alcher

Discussion in 'RuneScape Scripts' started by P1ng, Aug 24, 2012.

P1ng's Anywhere Alcher
  1. Unread #1 - Aug 24, 2012 at 1:02 AM
  2. P1ng
    Joined:
    Aug 24, 2012
    Posts:
    18
    Referrals:
    0
    Sythe Gold:
    0

    P1ng Newcomer

    P1ng's Anywhere Alcher

    I am a member over on the SRL forums (villavu) and this is a Simba script I have released to the public over there.

    You will need the latest Simba (991) and the latest SMART (v8.0) in order to run this script.

    Any errors that pertain to you not having these installed and updated will simply be ignore. Try googling your error and "villavu" before posting your problem here.

    Setup:
    Have fire staff equipped/fire runes in inventory.
    Have nature runes in inventory.
    Have items to be alched at the same position as alchemy symbol.
    Set ALCHTOTAL to the total number of High level alchemy you wish to cast.
    Fill out player information in DeclarePlayers.
    Press run.

    Features:
    - Uses DTM to find alchemy symbol.
    - Accurate debug progress report.
    - Will terminate on not enough runes/items.
    - Quick alching procedure.
    - Can work anywhere.
    - Finds and handles randoms.
    - Antiban.
    - Supports almost any spellbook setup.
    - High/low alch compatible.
    - ~70k xp/hr

    Progress Reports:
    Script:
    Code:
    program P1ngsAWA;
    {$DEFINE SMART} // Comment out if not using SMART
    {$i SRL\SRL.Simba}
    //============================================================================//
    //================================== Setup ===================================//
    //============================================================================//
    //=====                   Select # Of Alchs To Perform                   =====//
    //=====                     Fill Out DeclarePlayers                      =====//
    //=====         Have Firestaff Equipped/Fire Runes In Inventory          =====//
    //=====                  Have Nature Runes In Inventory                  =====//
    //============================================================================//
    const
      ALCHTOTAL = 21000;    // Total # Of Alchs To Perform
    
    var
      Alchemy: Integer; // DTM
      OriginalXP, Alch: Integer; // Progress Report
      BreakTime, Breaks: Integer; // Breaking
      P: TPoint;
    
    procedure DeclarePlayers;
    begin
      HowManyPlayers := 1;
      NumberOfPlayers(HowManyPlayers);
      CurrentPlayer := 0;
    
      with Players[0] do
      begin
        Name        := '';       // Username
        Pass        := '';      // Password
        Active      := True;   // Is Player To Be Used
        Integers[0] := 0;     // 0 = High Alch, 1= Low Alch
        Booleans[0] := True; // Take Breaks?
        Integers[1] := 65;  // Average Break Time (Mins)
      end;
    
      {with Players[1] do
      begin
        Name        := '';       // Username
        Pass        := '';      // Password
        Active      := True;   // Is Player To Be Used
        Integers[0] := 0;     // 0 = High Alch, 1= Low Alch
        Booleans[0] := True; // Take Breaks?
        Integers[1] := 65;  // Average Break Time (Mins)
      end;}
    end;
    
    procedure SetupLogin;
    begin
      ClearDebug;
      {$IFDEF SMART}
        SRL_SixHourFix := True;
        Smart_FixSpeed := True;
      {$ENDIF}
      SetupSRL;
      Status('Setting up..');
      ActivateClient;
      DeclarePlayers;
      if not LoggedIn then
        LoginPlayer;
      SetAngle(SRL_ANGLE_HIGH);
      MakeCompass('rand');
      OriginalXP := GetXPBarTotal;
      ExitSquealOfFortune;
      WriteLn('Lets Get Alching!');
    end;
    
    procedure LoadDTMs;
    begin
      case Players[0].Integers[0] of
      0:  Alchemy := DTMFromString('mrAAAAHic42BgYHBgYmBwBGI3IHYFYk8gdgZicyC2BuIKRgaGHCguBOIyIK5Dwq9uhzAwMTLhxBwM+AEjAQwDAPa/CCg=');
      1:  Alchemy := DTMFromString('m6wAAAHic42ZgYOhgYmBoB+IeJgi7G4j7obgLiBuBuA6Im4FYjJGBgQeKBYFYiBEiJgnEskAsB8RSULFHP34xsAuxo2AmRiY4lkXCMGDEQBgwkoCRAACj1grw');
      end;
    end;
    
    procedure ClickAlch;
    var
      x,y,ri,T: Integer;
    begin
      Status('ClickAlch');
      ri := RandomRange(-4,4);
      if not LoggedIn then
        NextPlayer(False);
      if GameTab(Tab_Magic) then
      begin
        if FindDTM(Alchemy,x,y,MIX1,MIY1,MIX2,MIY2) then
        begin
          Mouse(x,y,ri,ri,mouse_Left);
          WriteLn('Successfully clicked alch symbol');
          GetMousePos(P.x,P.y);
          MarkTime(T);
          repeat
          Wait(RandomRange(20,40));
          until(GameTab(Tab_Inv)) or (TimeFromMark(T) > 8000);
        end else
        begin
          WriteLn('Didn''t find the alch symbol');
          NextPlayer(False);
        end;
      end else
      WriteLn('Not in magic tab @ClickAlch');
    end;
    
    procedure ClickItem;
    var
      x,y,T: Integer;
    begin
      Status('ClickItem');
      if not LoggedIn then
        NextPlayer(False);
      if GameTab(Tab_Inv) then
      begin
        GetMousePos(x,y);
        if ExistsItem(CoordsToItem(x,y)) then
        begin
          ClickMouse2(mouse_Left);
          Inc(Alch);
          WriteLn('Successfully clicked the item');
          MarkTime(T);
          repeat
          Wait(RandomRange(20,40));
          if FindDTM(Alchemy,x,y,MIX1,MIY1,MIX2,MIY2) then
            Break;
          until(TimeFromMark(T) > 8000);
        end else
        begin
          WriteLn('Item not found @ClickItem');
          NextPlayer(False);
        end;
      end else
      WriteLn('Not in inventory @ClickItem');
    end;
    
    procedure AntiBan;
    var
      ri,GMS: integer;
    begin
      Status('AntiBan');
      if not LoggedIn then
        Exit;
      FindNormalRandoms;
      FindNonInventoryRandoms;
      begin
        GMS := MouseSpeed;
        MouseSpeed := 10 + Random(3);
        case Random(400) Of
          1:
          begin
            WriteLn('Performing antiban');
            GameTab(Tab_Stats);
            HoverSkill('magic', False);
            Wait(RandomRange(2000,2500));
            GameTab(Tab_Magic);
            ClickAlch;
          end;
    
          2:
          begin
            WriteLn('Performing antiban');
            HoverSkill('random', False);
            Wait(RandomRange(1500,2500));
            GameTab(Tab_Magic);
            ClickAlch;
          end;
    
          3:
          begin
            WriteLn('Performing antiban');
            PickUpMouse;
            ri := RandomRange(-3,3);
            MMouse(P.x,P.y,ri,ri);
          end;
    
          4:
          begin
            WriteLn('Performing antiban');
            RandomMovement;
            ri := RandomRange(-3,3);
            MMouse(P.x,P.y,ri,ri);
          end;
    
          6:
          begin
            WriteLn('Performing antiban');
            BoredHuman;
            ClickAlch;
          end;
    
          7:
          begin
            WriteLn('Performing antiban');
            MakeCompass('rand');
          end;
        end;
        MouseSpeed := GMS;
      end;
    end;
    
    procedure ProgressReport;
    var
      XP,CurrentXP,Alchs: integer;
    begin
      CurrentXP := GetXPBarTotal;
      XP := (CurrentXP - OriginalXP);
      case Players[CurrentPlayer].Integers[0] of
        0: Alchs := (XP / 65);
        1: Alchs := (XP / 31);
      end;
      //ClearDebug;
      WriteLn('|--------------------------------------|');
      WriteLn('|------->P1ngs Anywhere A1cher<--------|');
      WriteLn('|--------------------------------------|');
      WriteLn('# Of Alchs ' + IntToStr(Alchs));
      WriteLn('XP Gained: ' + IntToStr(XP));
      if Players[CurrentPlayer].Booleans[0] then
        WriteLn('Breaks Taken: ' + IntToStr(Breaks));
      WriteLn('Time running: ' + (MsToTime(GetTimeRunning, Time_Short)));
      WriteLn('|--------------------------------------|');
    end;
    
    procedure TimeStamp(WaitTime: Integer);
    var
      T: Integer;
      Ticker: String;
    begin
      MarkTime(T);
      while (WaitTime > TimeFromMark(T)) do
      begin
        Wait(500);
        Ticker := MsToTime(WaitTime - TimeFromMark(T), Time_Short);
        Status('Break remaining: ' + Ticker);
      end;
    end;
    
    procedure ResetBreakTimer;
    begin
      BreakTime := GetSystemTime + ((Players[CurrentPlayer].Integers[1] * 60000) + RandomRange(-5 * 60000,5 * 60000));
    end;
    
    procedure TakeBreak;
    var
      BreakT,BreakLength: integer;
    begin
      if (GetSystemTime >= BreakTime) and Players[CurrentPlayer].Booleans[0] then
      begin
        Inc(Breaks);
        ProgressReport;
        ExitToLobby;
        BreakLength := RandomRange(30000,1200000);
        WriteLn('Taking a break for ' + (MsToTime(BreakLength, Time_Short)));
        MarkTime(BreakT);
        TimeStamp(BreakLength);
        repeat
          Wait(100);
        until (BreakLength < TimeFromMark(BreakT));
        Status('Logging back in..');
        if not LoggedIn then
          LoginPlayer;
        ToggleXPBar(True);
        ResetBreakTimer;
        Status('');
      end;
    end;
    
    procedure QuickSet;
    begin
      if not LoggedIn then
        NextPlayer(True);
      SetAngle(SRL_ANGLE_HIGH);
      ToggleXPBar(True);
      ExitSquealOfFortune;
    end;
    
    procedure ScriptEnd;
    begin
    
      if LoggedIn then
        Logout;
      WriteLn('Thank you for using P1ng''s AWA');
      FreeDTM(Alchemy);
    end;
    
    begin
      Disguise('P1ngs AWA v3');
      AddOnTerminate('ScriptEnd');
      SetupLogin;
      LoadDTMs;
      ResetBreakTimer;
      repeat
        QuickSet;
        ClickAlch;
        Antiban
        ClickItem;
        ProgressReport;
        TakeBreak;
        if Alch >= ALCHTOTAL then
        begin
          WriteLn('Player ' + IntToStr(CurrentPlayer) + ' has completed their alchs.');
          NextPlayer(False);
          Alch := 0;
        end;
      until(AllPlayersInactive);;
    end.
     
  3. Unread #2 - Aug 24, 2012 at 4:20 AM
  4. RuneScapeJJ
    Joined:
    Aug 14, 2011
    Posts:
    1,522
    Referrals:
    1
    Sythe Gold:
    0
    Potamus

    RuneScapeJJ Guru
    $25 USD Donor New

    P1ng's Anywhere Alcher

    Hey P1ng nice to see you here. As you can probably guess, J J from Villavu :p Good alching script :)
     
  5. Unread #3 - Aug 26, 2012 at 6:32 PM
  6. 7777777
    Joined:
    Apr 2, 2009
    Posts:
    10
    Referrals:
    1
    Sythe Gold:
    0

    7777777 Newcomer
    Banned

    P1ng's Anywhere Alcher

    Good scripting :)
     
  7. Unread #4 - Sep 20, 2012 at 10:06 PM
  8. Hostblapstat
    Joined:
    Feb 21, 2012
    Posts:
    1,847
    Referrals:
    0
    Sythe Gold:
    179

    Hostblapstat Guru
    $5 USD Donor New

    P1ng's Anywhere Alcher

    Nice script you have here, this will really come in handy as I really need 99 mage, but am getting pretty tired of using an autoclicker.
     
< Selling green dragon bot script 10m | >

Users viewing this thread
1 guest


 
 
Adblock breaks this site