Results 1 to 18 of 18

Thread: Miner/banker and smither

  1. #1
    Join Date
    Jan 2007
    Posts
    9
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default Miner/banker and smither

    I really would like a nice auto miner/banker possibly one in the miners guild? i would love to wake up in the morning with a bank full of coal! then to top it off. when i head to school i could start up an auto smither form steel!!!! and somthing that works smootha and i wouldnt be afraid to use a P2P on it. id pee my pants if these were available. oh. and if they were Extremely reistant to JAGEX with autobans and auto talkers i think everyone would be happy! thanx.

    Surf

    P.S. if these are alrdy available could you post for me?

  2. #2
    Join Date
    Dec 2006
    Posts
    49
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    I'm pretty sure theres already a few guild auto-miners there, both f2p and p2p.

    Heres one of the f2p, but remember, you should ALWAYS auto suspiciously. Don't just leave it on all night. It's not about IF you get banned, its about WHEN.

    SCAR Code:
    {=========================================================================]
    [                          SRL Guildminer 0.39.                           ]
    [                                                                         ]
    [              NAME        : SRL Guildminer 0.39                          ]
    [              WRITER      :  by Wizzup and WT-Fakawi (by Stupid3ooo)     ]
    [              CATEGORY    : Miner                                        ]
    [              DESCRIPTION : See below.                                   ]
    [              USAGE       : Miner/banker for coal                        ]
    [              AUTOCOLOR   : YES                                          ]
    [              SRL REV.    : SRL Version 3.                               ]
    [              NOTES       : STAND @ LEFTMOST BANKSLOT                    ]
    [                            FACE MM PERFECT NORTH.                       ]
    [=========================================================================]
    | Description:                                                            |
    |   A macro that mines a full load of coal and mith in the miner's guild, |
    |   then banks it in the east Falador bank.                               |                            |
    | Instructions:                                                           |
    |   1.Set the Runescape brightness to V-bright, and your computer's       |
    |     resolution to 32bit resolution.                                     |
    |   2.Need SCAR version 2.0.3.                                            |
    |   3.Start script in the Falador eastern bank.                           |
    |   4.Start with a pickaxe in your fist inventory slot or equiped.        |
    |   5.Recomended to have extra pickaxes in your first bank slot.          |
    |   6.Click and drag the crosshair over the Runescape client.             |
          Then press the green arrow.                                         |
    |   7.START @ FALADOR EASTBANK LEFTMOST BANKSLOT FACE MM PERFECTLY NORTH  |
    [=========================================================================}



    program SRLGuildMiner;

    {.include SRL/SRL.scar}
    {.include SRL/SRL/skill/Mining.scar}
    {.include SRL/SRL/misc/FaladorColorFinder.scar}
    {.include SRL/SRL/extended/xMapWalk.scar}

    Const
      Loads                = 2;     // Number of loads before switching user.
      OreTol               = 4;
      StartPlayer          = 0;

    Const
      CoalColor              = 2438711;   // CoalColor is a constant
      MithrilColor           = 7425100;   // MithrilColor is a constant

    //----------------------------------------------------------------------------//
    Const VersionNumber        = '0.39';
    //----------------------------------------------------------------------------//

    Var MapPickColor,MapOreColor,LadderColor,
        TotalOres,SecondsToWait,H,G:integer;

    Var FB1,FB2,FB3: Integer; // BankerDTMs (Yellow dots at three angles: -10,0,+10 degrees)
    // For use with DTM3Flag that plants a flag when any of 3 DTM's is found


    //----------------------------------------------------------------------------//

    Procedure DeclarePlayers;
    begin
         HowManyPlayers:=6;
         NumberOfPlayers(HowManyPlayers);
         Players[0].Name     :='';
         Players[0].Pass     :='';
         Players[0].Nick     :='';
         Players[0].Loc      :='Falador';
         Players[0].Boolean1 := True;   // EquipPick.
         Players[0].String1  := 'Coal'; // Coal = coal only. Mithril = both.
         Players[0].Active   := True;

         Players[1].Name     :='';
         Players[1].Pass     :='';
         Players[1].Nick     :='';
         Players[1].Loc      :='Falador';
         Players[1].Boolean1 := True;   // EquipPick.
         Players[1].String1  := 'Coal'; // Coal = coal only. Mithril = both.
         Players[1].Active   := True;

         Players[2].Name     :='';
         Players[2].Pass     :='';
         Players[2].Nick     :='';
         Players[2].Loc      :='Falador';
         Players[2].Boolean1 := True;   // EquipPick.
         Players[2].String1  := 'Coal'; // Coal = coal only. Mithril = both.
         Players[2].Active   := True;

         Players[3].Name     :='';
         Players[3].Pass     :='';
         Players[3].Nick     :='';
         Players[3].Loc      :='Falador';
         Players[3].Boolean1 := True;   // EquipPick.
         Players[3].String1  := 'Coal'; // Coal = coal only. Mithril = both.
         Players[3].Active   := True;

         Players[4].Name     :='';
         Players[4].Pass     :='';
         Players[4].Nick     :='';
         Players[4].Loc      :='Falador';
         Players[4].Boolean1 := True;   // EquipPick.
         Players[4].String1  := 'Coal'; // Coal = coal only. Mithril = both.
         Players[4].Active   := True;

         Players[5].Name     :='';
         Players[5].Pass     :='';
         Players[5].Nick     :='';
         Players[5].Loc      :='Falador';
         Players[5].Boolean1 := True;   // EquipPick.
         Players[5].String1  := 'Coal'; // Coal = coal only. Mithril = both.
         Players[5].Active   := True;

    end;

    //----------------------------------------------------------------------------//

    Procedure FillMem;   // 3 yellow dot bankers @ different angle
    begin

      FB1 := DTMFromString('78DA636C66626008634001972E5E66F80FA41' +
           '981F83F1030B601D5C4A0AAF9F38789810BAA0604189B8850D345' +
           '580D00CA7B110D');
      FB2 := DTMFromString('78DA63EC61626008614001478F1E65F80FA41' +
           '981F83F1030F602D544A1AAF9F38789810BAA0604182712A1662A' +
           '504D247E3500C2961107');
      FB3 := DTMFromString('78DA636C646260086140038C0CFFC12403C37' +
           'F206004A9894255F1E70F130317540D58472B504D3401359D4035' +
           '31F8D50000978B0E8E');
    end;

    //----------------------------------------------------------------------------//

    Procedure SetOres;

    Begin
      Case Lowercase(Players[CurrentPlayer].String1) Of
        'coal'   : Begin OreColor1 := CoalColor OreColor2 := OreColor1 End;
        'mithril': Begin OreColor1 := MithrilColor ; OreColor2 :=CoalColor ; End;
      End;
    End;

    //----------------------------------------------------------------------------//

    Function FindOre(MaxTol:Integer):Boolean;

    Var Tol,Ex,Ey:Integer;

    Begin

    H:=H+1;
      For G := 1 to H do
       Begin
        Case G Of

          1: Begin OreColor:= OreColor1; SecondsToWait := 5; End;
          2: Begin OreColor:= OreColor2; SecondsToWait := 10; End;

        End;
       End;

      While (Not (FindColorTolerance(Ex, Ey, OreColor, MSX1, MSY1, MSX2, MSY2, Tol))
      And Not (Tol > MaxTol)) Do
        Begin
          Tol:=Tol+1;
        End;
      If ((FindColorTolerance(Ex, Ey, OreColor, MSX1,MSY1 ,MSX2, MSY2, Tol))
      And Not (Tol > MaxTol)) Then Result:=True;
      Tol:=1;
      Wait(10);

    End;

    //----------------------------------------------------------------------------//

    procedure PlayerStats;

    var PSActive: string;
    var i: Integer;
    begin
      WriteLn(' ');
      WriteLn(' ');
      WriteLn(' ');
      writeln('**********************************************');
      writeln('Name         : '+ Players[CurrentPlayer].Name);
      writeln('Number       : '+inttostr(CurrentPlayer));
      writeln('Mining Level : '+ inttostr(Players[CurrentPlayer].level[15]));
      writeln('Worked for   : '+IntToStr(Players[CurrentPlayer].Worked)+' minutes.');
      writeln('Banked       : '+ inttostr(Players[CurrentPlayer].Banked) + ' times.');
      if Players[CurrentPlayer].Active=True then PSActive:='True' else PSActive:='False';
      writeln('Active       : '+ PSActive);
      writeln('Location     : '+ Players[CurrentPlayer].loc);
      writeln('**********************************************');

    for i := 0 to HowManyPlayers-1 do
       begin
       if Players[i].Active=True then PSActive:='True' else PSActive:='False';
          writeln( (inttostr(i))+' : '+Players[i].name+ ' = '+PSActive+
          '.- Lvl : '+inttostr(Players[i].level[15])+
          '.- B :'+inttostr(Players[i].Banked)+' Times.'+
          '.- A: '+IntToStr(Players[i].Worked)+' mins.'+
          '.- Loc: '+Players[i].loc);
        end
       writeln('**********************************************');
    end;

    //----------------------------------------------------------------------------//

    procedure ProgressReport;
    begin
      WriteLn(' ');
      WriteLn(' ');
      WriteLn(' ');
      WriteLn('<============== -'+VersionNumber+'- Progress Report ===============>');
      writeln('Worked for '+ TimeRunning);
      WriteLn('Banked '+IntToStr(banks)+' loads[s].');
      WriteLn('Banked '+IntToStr(TotalOres)+' Ores.');
      WriteLn('<=====================================================>');
      PlayerStats;
      SRLRandomsReport;
    end;

    //----------------------------------------------------------------------------//

    function FindMapOreColor:integer;
    var
      MapOre,MapOre2:integer;
    begin
      MapOre := BitmapFromString(3, 3,
             '3D2C345948546D5D624A39416D5D626D5D625948546D5D626D5D62' +
             '');
      MapOre2 := BitmapFromString(3, 3,
             '061115222D35364243131E22364243364243222D35364243364243' +
             '');
      if(FindBitmapsProgressiveTol(MapOre,MapOre2,0,0,0,65,5,587,41,705,118))then
        Result:=GetColor(x+1,y+1);
      Freebitmap(MapOre);
      Freebitmap(MapOre2);
    end;

    //----------------------------------------------------------------------------//

    Function FindFaladorLadderColor: Integer;
    var  C,TX,TY,FaladorLadder:integer;

    begin
    FaladorLadder:= BitmapFromString(2, 2, '4F1F004F1F004F1F00' +
           'A4A298');

     while (C<100) do
       begin
       C:=C+5;
       If FindBitMapToleranceIn(FaladorLadder,TX,TY,650,144,664,156,C) then
          begin
                LadderColor:=GetColor(TX,TY);
                Players[CurrentPlayer].Loc:='Falador';
                Result:=LadderColor;
                writeln('LadderColor = '+IntToStr(LadderColor));
                break;
          end
       end
    FreeBitMap(FaladorLadder);
    if Result = 0 then begin writeln('ERROR: LadderColor NOT Found'); TerminateScript end;
    end;

    //----------------------------------------------------------------------------//

    function Underground:boolean;
    begin
      if((FindColoredAreaTolerance(x,y,256,570,5,725,162,50,1)))then
      begin
        Result:=true;
      end;
    end;

    //----------------------------------------------------------------------------//

    procedure ToCenter;
    begin
      if(FindColorSpiral(x,y,MapPickColor,570,63,725,160))then
      begin
        Mouse(x-10,y-10,20,20,true);
        FFlag(20);
        Wait(1000+Random(100));
      end else
      begin
        RoadWalk(MapOreColor,'S');
        if(FindColorSpiral(x,y,MapPickColor,570,63,725,160))then
        begin
          Mouse(x-10,y-10,20,20,true);
          FFlag(20);
          Wait(1000+Random(100));
        end;
      end;
    end;

    //----------------------------------------------------------------------------//

    procedure RunAway;
    begin
      if(UnderGround)then
      begin
        RoadWalk(MapOreColor,'W');
        ClickMMColor(LadderColor);
        FFlag(10);
        RoadWalk(MapOreColor,'E');
      end else
      RunTo('N',False);
    end;

    //----------------------------------------------------------------------------//

    function HandleGas(Gx,Gy:Integer):Boolean;
    begin
          if FindGas(gx,gy) then
          begin
             ToCenter;
             Result:=True;
          end;
    end;

    //----------------------------------------------------------------------------//

    Function ClimbLadderDown:Boolean;
    var
      c:integer;
    begin
      for c:=1 to 50 do
      begin
        If FindColor(x,y,0,MSX1+10,MSY1+10,MSX2-10,MSY2-10) then
        begin
          Wait(100);
          Mouse(x,y,0,0,false);
          if ChooseOption(x,y,'Climb') then
          begin
             MarkTime(Mark);
             repeat
               Wait((1000)+Random(1000));
               If TimeFromMark(Mark)>30000 then begin Logout; Exit; end;
             until ((GetColor(580,80)=0) and (GetColor(648,142)=0));
          Result:=True;
          Exit;
          end;
        end;
      c:=C+1;
      SendArrowSilentWait((Random(2)*2)+1, 20 + Random(10));
      if C=50 then begin Logout; exit end;
      end;
    end;

    //----------------------------------------------------------------------------//

    Function ClimbLadderUp:Boolean;
    var
      c:integer;
    begin
      for c:=1 to 50 do
      begin
        Wait(100);
        if FindObj(x,y,'adder',2775161,21) then
          begin
            Wait(100);
            Mouse(x,y,0,0,false);
            if ChooseOption(x,y,'Climb') then
            begin
              MarkTime(Mark);
              repeat
                Wait((1000)+Random(1000));
                If TimeFromMark(Mark)>30000 then begin Logout; Exit; end;
              until FindColor(x,y,WaterColor,MMX1,MMY1,MMX2,MMY2);
              Result:=True;
              Exit;
            end;
          end;
      c:=C+1;
      if C=50 then begin Logout; exit end;
      SendArrowSilentWait((Random(2)*2)+1, 20 + Random(10));
      end;
    end;

    //----------------------------------------------------------------------------//
    // --                To the Guild in Three Clicks!                          --//
    //----------------------------------------------------------------------------//

    procedure BankToGuild;
    var xblack,yblack:Integer;
    begin
      PerfectNorth;
      MouseFindFlag(690,110,1,-1);
      Flag;
      FindColor(xblack,yblack,0,MMX1,MMCY,MMX2,MMY2);
      Mouse(xblack-5,yblack+10,0,0,true);
      Flag;
      ClimbLadderDown;
      Players[CurrentPlayer].loc:='Guild';
    end;


    //----------------------------------------------------------------------------//

    procedure GuildToBank;
    var
      c:integer;
    begin

        repeat
          c:=c+1;
          RadialWalk(MapOreColor,210,270,50,-1,0);
          if FindColor(x,y,LadderColor,MMX1,MMY1,MMX2,MMY2) then break;
          if c=10 then begin Logout; exit; end;
        until( FindColor(x,y,LadderColor,MMX1,MMY1,MMX2,MMY2) or(c>10) )
        IdleTime(3000, 1000, 1.0);
        If FindColor(x,y,LadderColor,MMX1,MMY1,MMX2,MMY2) Then Mouse(x,y,2,2,True);
        Wait(1500+Random(500));
        FFlag(0);
        ClimbLadderUp;

        MouseFindFlag(666,45,-1,-1);
        Flag;
        MakeCompass('N');
        If FindColor(x,y,BankColor,MMX1,MMY1,MMX2,MMY2) then
        begin
          Mouse(x,y,0,0,True);
          FFlag(10);
          DTM3Flag(FB1,FB2,FB3,True);
          FFlag(3);
        end
        else
        begin
          DTM3Flag(FB1,FB2,FB3,True);
          FFlag(3);
        end;
        Players[CurrentPlayer].loc:='Falador';
    end;
    //----------------------------------------------------------------------------//

    Function SimpleBank:Boolean;
    var sx,sy,dx,dy,Mark2,Tries:integer;
    begin
      SX:=MSCX; SY:=MSCY;
      repeat
        sx:=Sx+1;
        sy:=sy+3;
        MMouse(sx, sy, 0, 0);
        if IsUpTextMulti('e Bank','Booth','ooth') then
        begin
          GetMousePos(Dx, Dy);
          Mouse(Dx, Dy, 0, 0, False);
          if ChooseOption(Dx, Dy, 'uickly')  then
          begin
            MarkTime(Mark2);
            repeat
              Wait(10);
              if TimeFromMark(Mark2) > 20000 then
               begin
                 Result:=False;
                 Exit;
               end;
            until BankScreen;
            if BankScreen then
            begin
              Result := True;
              Exit;
            end;
          end;
        end
        else
        begin
          wait(1);
          Tries:=Tries+1;
        end;
      until(tries >9);
    end;

    //----------------------------------------------------------------------------//

    procedure Bank;

    var LocalOres:integer;
    begin
        if (NoPick and EquipPick) then
        begin
           if InventoryFull then
           begin
             if(FindBitmapSpiralTolerance(Ore,x,y,559,210,735,460,25))then
                  begin
                    Mouse(x,y,5,5,false);
                    ChooseOption(x,y,'Drop');
                  end;
           end;
           GameTab(5);
           Mouse(593,303,0,0,true);
           Wait(Random(1000)+2000);
           GameTab(4);
        end;

        LocalOres:=CountItemBmpTol(Ore,50);
        MarkTime(Mark);

        if not BankScreen then
        begin
          repeat
             if (not(Loggedin)) then  Exit;
             if not SimpleBank then OpenBankQuiet('feb');
          until(BankScreen or (TimeFromMark(Mark)>60000));
        end;
        if(BankScreen)then
        begin
          Wait(Random(2000)+200);
          FixBank;
          if(NoPick=true)then
          begin
            ClickAllItemsColorWait('All',65536,1000+Random(100));
            Wait(Random(2000)+200);
            Withdraw(1,1,1);
            Wait(Random(2000)+200);
          end else
          begin
            if(EquipPick=false)then Deposit(2,28,2);
            Wait(Random(2000)+200);
            if(EquipPick=true)then
               begin
                 ClickAllItemsColorWait('All',65536,1000+Random(100));
                 Wait(Random(2000)+200);
               end;
          end;
          CloseBank;
          if(NoPick=true)and(EquipPick=true)then
          begin
            FindPickHeadColor;
            Wait(Random(1000)+200);
            ClickItemColor(hc1,true);
          end;
          Banks:=Banks+1;
          TotalOres:=TotalOres+LocalOres;
          Players[CurrentPlayer].Banked:=Players[CurrentPlayer].Banked+1;
          NoPick:=false
        end;
    end;

    //----------------------------------------------------------------------------//

    Procedure ChangeGasPixels(Var Gasx,GasY:Integer);

    Var
       TempX, TempY: Integer;

    Begin
      Wait(100);
      If FlagPresent Then
        Begin
          FFlag(0);
          If FindColorSpiralTolerance(x,y,OreColor,MSX1,MSY1,MSX2,MSY2,4) Then
            Begin
            x := TempX;
            y := TempY;
            If CheckOre(x,y,OreColor,4) > 2 Then
              Begin
                If Distance(MSCX,MSCY,TempX,Tempy) < 40 Then
                  Begin
                    GasX := x;
                    GasY := y;
                  End;
              End;
            End;
      End;
    End;

    //----------------------------------------------------------------------------//

    Procedure WizzupMine;

    Var Dx,Dy,Ex,Ey:Integer;

    Begin

      If FindOre(OreTol) Then
      Begin
        If FindObjOre(Dx, Dy, 'Mine', OreColor, 10, 4) Then
        Begin
          H:=0;
          If Not HandleGas(Dx, Dy) Then
          Begin
              If Random (9) < 7 Then Mouse(Dx, Dy, 0, 0, True)
              Else
              Begin
                Mouse(Dx, Dy, 0, 0, False);
                ChooseOption(Ex, Ey, 'ine');
              End;
          ChangeGasPixels(Dx,Dy);
          MarkTime(Mark);
          Repeat
            HandleGas(Dx, Dy);
            Wait(100);
            FindTalk;
            FindPick;
            If NoPick Then Break;
            If FindFight Then RunAway;
          Until ((TimeFromMark(Mark) > (1000 * SecondsToWait))
          Or (FindColor(X, Y, 0,51, 421, 51, 421)))
          End;
        End;
      End
      Else
      Begin
        If H>1 Then H:=0;
        If Random(9) < 7 Then if not FindColorTolerance(x,y,CoalColor, MSX1,MSY1,MSX2,MSY2,OreTol) then ToCenter;
        FindNormalRandoms;
        If FindFight Then RunAway;
        Wait(500+Random(500));
      End;
    End;

    //----------------------------------------------------------------------------//

    Procedure DoChats;

    Begin
      SetChat('On', 1);
      SetChat('On', 1);
      SetChat('Off', 2);
      SetChat('Off', 2);
      SetChat('On', 3);
      SetChat('On', 3);
    End;

    //----------------------------------------------------------------------------//

    procedure Setup;
    begin
         SetupSRL;
         SetUpSRLMining;
         FillMem;
         DeclarePlayers;
         CurrentPlayer:=StartPlayer;
         EquipPick:= Players[CurrentPlayer].Boolean1;  // Wielding.
         PickUpItems:=True; // to pick up random items when pickhead is gone.
         BenMouse:=False;
         MouseSpeed:=10;
         LoginPlayer;       // logs in the first player.
         SetOres;
    end;

    //----------------------------------------------------------------------------//
    //*************************** Main Loop***************************************//
    //----------------------------------------------------------------------------//

    begin
      Setup;
      FindFaladorLadderColor;
      SymbolAccuracy:=0.4;   // temporarily reduce symbolaccuracy for better symbol spotting
      FindFaladorBasicColors;
      SymbolAccuracy:=0.8; // set symbolacc. to default
      NickNameBMP:=CreateBitmapMaskFromText(Players[CurrentPlayer].Nick,UpChars) // in case we started logged in aot logged out

      repeat
          GetAllLevels;
          if not FindPickHeadColor then Logout;

          Dochats;
          if Players[CurrentPlayer].loc='Falador' then
            begin
             SetRun(true);
             BankToGuild;
            end

          if Players[CurrentPlayer].loc='Guild' then
            begin
              if(MapOreColor=0) then MapOreColor:=FindMapOreColor;

              if FindMMColor(x, y, LadderColor) then RoadWalk(MapOreColor,'E');
              FFlag(10);

              MarkTime(Mark);
                  if(MapPickColor=0) then MapPickColor:=GetSymbolColor(x,y,'mining spot');
              repeat
                WizzupMine;
                Wait(100);
                if (not(Loggedin)) then  break;
              until(InventoryFull)or(NoPick=true)or(TimeFromMark(Mark)>1800000)

              SetRun(False);
              GuildToBank;
              Bank;
              ProgressReport;
            end;
          if ((LoggedIn) and (Players[CurrentPlayer].Banked mod Loads = 0) ) then
            Begin
              MarkTime(Mark);
              SetChat('off',1);
              repeat
                 Wait(1000);
                 FindNormalRandoms;
                 if(TimeFromMark(Mark)>120000) then begin Logout; Break; end;
              until(not(LoggedIn));
              writeln('dead and logging back in');
              writeln(InttoStr(CurrentPlayer));
              Wait(500+Random(501));
              NextPlayer(True);
              writeln(InttoStr(CurrentPlayer));
              NoPick:=False;
              SetOres;
              EquipPick := Players[CurrentPlayer].Boolean1;
              FindPickHeadColor;
              DoChats;
            end;

          if (not (Loggedin)) then
            Begin
              NextPlayer(False);
              NoPick:=False;
              SetOres;
              EquipPick := Players[CurrentPlayer].Boolean1;
              FindPickHeadColor;
              DoChats;
          End;
      Until(False)
    end.



    Heres Xcan's smelter-
    SCAR Code:
    {
    XXXXXXX       XXXXXXX
    X:::::X       X:::::X
    X:::::X       X:::::X
    X::::::X     X::::::X
    XXX:::::X   X:::::XXX    cccccccccccccccc  aaaaaaaaaaaaa  nnnn  nnnnnnnn
       X:::::X X:::::X     cc:::::::::::::::c  a::::::::::::a n:::nn::::::::nn
        X:::::X:::::X     c:::::::::::::::::c  aaaaaaaaa:::::an::::::::::::::nn
         X:::::::::X     c:::::::cccccc:::::c           a::::ann:::::::::::::::n
         X:::::::::X     c::::::c     ccccccc    aaaaaaa:::::a  n:::::nnnn:::::n
        X:::::X:::::X    c:::::c               aa::::::::::::a  n::::n    n::::n
       X:::::X X:::::X   c:::::c              a::::aaaa::::::a  n::::n    n::::n
    XXX:::::X   X:::::XXXc::::::c     ccccccca::::a    a:::::a  n::::n    n::::n
    X::::::X     X::::::Xc:::::::cccccc:::::ca::::a    a:::::a  n::::n    n::::n
    X:::::X       X:::::X c:::::::::::::::::ca:::::aaaa::::::a  n::::n    n::::n
    X:::::X       X:::::X  cc:::::::::::::::c a::::::::::aa:::a n::::n    n::::n
    XXXXXXX       XXXXXXX    cccccccccccccccc  aaaaaaaaaa  aaaa nnnnnn    nnnnnn
                        _ _
     ___ _ __ ___   ___| | |_ ___ _ __
    / __| '_ ` _ \ / _ \ | __/ _ \ '__|
    \__ \ | | | | |  __/ | ||  __/ |
    |___/_| |_| |_|\___|_|\__\___|_|}

    { ______________________________________________________________________
     |DO NOT CHANGE ANYTHING WITHOUT ASKING ME FIRST(other than setup)      |
     |Please post bugs and proggys.                                         |
     |if you want more players add more of line 67-72 but change the number.|
     |If you have a pin go to line 296 and take out the // and put you pin  |
     |between the ''                                                        |
     |______________________________________________________________________|}


    program AKsmelter;
    {.include SRL/SRL.scar}
    {.include SRL/SRL/extended/xbank.scar}
    {.include SRL/SRL/extended/xsymbol.scar}
    {.include SRL/SRL/Skill/Smithing.scar}

    //Auto color from wizzups powerminer... i moded it. thanks wizzup

    //~~~~~im not responsible if you get banned~~~~~

    //                    ~~~~SETUP~~~~
    //==============================================================================

    Const furnace       = 1584276; //orange part of furnace
          StartPlayer   = 0; // Determines who will play first
          VersionNumber = 'V.1.5';
          AutoColor     = True; // True for autocolor...recommended.
          time2         = false; //if you want start time true, if not then false
          stime         = 10; // 1-12am 1-12 respectivly, 1-12pm 13-24 respectivly
          MSpeed        = 8; //speed of the mouse...higher number slower speed, lower number higher speed
          BMouse        = false; //BenMouse...true or false
          MySRLID       = '';   // Must be a string!
          MySRLPassword = '';   // Must be a string!
    //==============================================================================

    var
    color:integer;
    quest:integer;
    barsmade:integer;
    barmade:integer;
    bar:integer;
    Loads:integer;
    BAmount:integer;
    Barcolor:integer;
    xp:integer;
    BarMask:Integer;


    //                  ~~~~set players below~~~~
    //==============================================================================

    Procedure DeclarePlayers;
    begin
      HowManyPlayers :=1; // Set Number of Players here.
      NumberOfPlayers(HowManyPlayers); // Sets the Players Array Length;
      CurrentPlayer:= StartPlayer; // CurrentPlayer = Array Index

      Players[0].Name    :='';//username
      Players[0].Pass    :='';   //password
      Players[0].Nick    :='';       //3-4 consecutive letters of your user name(NOT First letter)
      Players[0].String1 :='steel';       //type of bar bronze,iron,steel,mith,addy,rune,gold,silver
      Players[0].Skill   :='smithing';   //skill to choose when you get a genie
      Players[0].integer2:=20;            //how many loads
      Players[0].Active  :=True;         //are you going to use this player

    end;

    //                dont change below if you dont know what your doing
    //=============================================================================

    Const
      BronzeColor       = 2902109;
      IronColor         = 6119013;
      SilverColor       = 11971242;
      SteelColor        = 9013650;
      GoldColor         = 1880792;
      MithrilColor      = 7491150;
      AdamantColor      = 5400146;
      RuniteColor       = 8023891;

    procedure Time;
    Var
       Hour, Mins, Sec, MSec: Word;
    begin
      if (time2=true) then
      repeat
        DecodeTime(Now, Hour, Mins, Sec, MSec);
        wait(1000);
      until Hour>(stime-1);
      wait(1000);
      if (time2=false) then exit;
    end;

    Procedure AfterLogin;
    begin
      MakeCompass('w');
      FTWait(3+ random(2));
      MakeCompass('w');
      SetChat('on',1);
      SetChat('on',1);
      SetChat('on',2);
      SetChat('on',2);
      SetChat('off',3);
      SetChat('off',3);
      HighestAngle;
    end;

    Procedure AutoRespond;//Credits to Charmz for this
    Var Responce: String;
        RandomReply: Integer;
    begin
    If(InChat('smithing')) or (InChat('smith')) or (InChat('s')) and (InChat('lvl')) or (InChat('lev')) or (InChat('level'))then
      Begin
       Responce:= IntToStr(GetSkillLevel('smithing'));
       TypeSend(Responce);
       GameTab(4);
      End;
    If(InChat('hi')) or (InChat('hello')) or (InChat('hey'))then
      Begin
       RandomReply:= random(7)+1;
        Case RandomReply of
          1 : Responce:= ('sup');
          2 : Responce:= ('yo');
          3 : Responce:= ('whats up everyone');
          4 : Responce:= ('whats up');
          5 : Responce:= ('allo allo');
          6 : Responce:= ('wat up');
          7 : Responce:= ('y0o');
          8 : Responce:= ('what is up');
        End;
       TypeSend(Responce);
      End;
    If(InChat(Players[CurrentPlayer].Name)) or (InChat(Players[CurrentPlayer].Nick))then
       Begin
        RandomReply:= Random(7)+1;
        Case RandomReply of
          1 : Responce:= ('what');
          2 : Responce:= ('yes');
          3 : Responce:= ('what do you want');
          4 : Responce:= ('me?');
          5 : Responce:= ('Yah?');
          6 : Responce:= ('who?');
          7 : Responce:= ('wha?');
          8 : Responce:= ('?');
        End;
       TypeSend(Responce);
      End;
    End;

    Procedure BarAmount;
    Begin
    Case LowerCase(Players[CurrentPlayer].String1) Of
        'bronze' : BAmount:=14;
        'iron'   : BAmount:=28;
        'steel'  : BAmount:=9;
        'silver' : BAmount:=28;
        'gold'   : BAmount:=28;
        'mith'   : BAmount:=5;
        'addy'   : BAmount:=4;
        'rune'   : BAmount:=3;
     End;
    End;

    Procedure SetColor;
    Begin
      Case LowerCase(Players[CurrentPlayer].String1) Of
        'bronze' :  BarColor:=BronzeColor;
        'iron'   :  BarColor:=IronColor;
        'steel'  :  BarColor:=SteelColor;
        'silver' :  BarColor:=SilverColor;
        'gold'   :  BarColor:=GoldColor;
        'mith'   :  BarColor:=MithrilColor;
        'addy'   :  BarColor:=AdamantColor;
        'rune'   :  BarColor:=RuniteColor;
     End;
    End;


    Procedure Bitmaps;
    Begin
      Case LowerCase(Players[CurrentPlayer].String1) Of
        'bronze' :  Bar:=BronzeBar;
        'iron'   :  Bar:=IronBar;
        'steel'  :  Bar:=SteelBar;
        'silver' :  Bar:=SilverBar;
        'gold'   :  Bar:=GoldBar;
        'mith'   :  Bar:=MithrilBar;
        'addy'   :  Bar:=AdamantBar;
        'rune'   :  Bar:=RuniteBar;
     End;
    End;

    Procedure AutoGetBarColors;

    Begin
      WriteLn('AutoColor:');

      If FindColor(X, Y, BarColor, MCX1, MCY1, MCX2, MCY2) Then
        BarColor := GetColor(X, Y);

      WriteLn(Players[CurrentPlayer].String1+' color = '+IntToStr(BarColor));

    End;


    Function FindT:boolean;
    Begin
      repeat
        if not LoggedIn then Exit;
        wait(100+random(200));
      Until (FindText(x, y, 'Enter amount:', UpChars, MCX1, MCY1, MCX2, MCY2)=true);
      result:=true
    End;

    Function BarCount:boolean;
    Begin
      if (CountItemBmpTol(Bar,10)=BAmount) then
       result:= true
    end;

    Function Door:boolean;
    begin
      if (FindColorTolerance(x,y,1394524,5,263,515,338,5) or
          FindColorTolerance(x,y,603212,5,263,515,338,5) or
          FindColorTolerance(x,y,2256012,5,263,515,338,5))then
          MMouse(x,y,2,2);
      if (IsUpTextMulti('lose','los','ose')) then
      Result := True;
    end;

    procedure OpenDoor;
    var cx,cy:integer;
    begin
      Status('finding door...');
      MarkTime(mark);
      Lowestangle;
      Wait(100+random(50));
        begin
        if (Door) then
         Writeln('door is open');
        end;
        if not (Door) then
         repeat
         if (IsUpText('Door')) then
         FTWait(1);
         if (IsUpText('Open')) then
         Mouse(cx,cy,2,2,false);
         ChooseOption(x,y,'Open');
           begin
             Flag;
             repeat
               Wait(100);
             until (Door) or (TimeFromMark(mark)> 5000);
           end;
         Until (Door) or (TimeFromMark(mark)> 5000);
    end;

    procedure MyOpenBank;
    begin
      Status('Opening bank...');
      if not (BankScreen) then
       Lowestangle;
        MarkTime(mark);
        repeat
          if (FindColorTolerance(x,y,8618883,2,70,515,178,5) or
              FindColorTolerance(x,y,9079691,2,70,515,178,5))then
              Wait(250);
              MMouse(x,y,2,2);
                Wait(250);
                if (IsUpText('Bank booth')=true) then
                Wait(250);
                Mouse(x,y,2,2,false);
                if (ChooseOption(x,y,'quickly')) then
                begin
                  Flag;
                  wait(250);
                  InPin('5034'); //put your pin between ''
                    repeat
                      Wait(100);
                    until (BankScreen);
                end;
        until (BankScreen) or (TimeFromMark(mark)> 60000);
      if TimeFromMark(Mark)> 60000 then Logout;
    end;

    Procedure WBronze;
    begin
      BankMouse(1, false);
      ClickOption('X', 1);
      Findt;
      TypeSend('14');
      BankMouse(2,false);
      ClickOption('X', 1);
      Findt;
      TypeSend('14');
    end;

    Procedure WAll;
    begin
      BankMouse(1,false);
      ClickOption('All',1);
    end;

    Procedure WSteel;
    begin
      BankMouse(1,false);
      ClickOption('X',1);
      Findt;
      TypeSend('9');
      BankMouse(2,false);
      ClickOption('All',1);
    end;

    Procedure WMith;
    begin
      BankMouse(1,false);
      ClickOption('X',1);
      Findt;
      TypeSend('5');
      BankMouse(2,false);
      ClickOption('All',1);
    end;

    Procedure WAddy;
    begin
      BankMouse(1,false);
      ClickOption('X',1);
      Findt;
      TypeSend('4');
      BankMouse(2,false);
      ClickOption('All',1);
    end;

    Procedure WRune;
    begin
      BankMouse(1,false);
      ClickOption('X',1);
      Findt;
      TypeSend('3');
      BankMouse(2,false);
      ClickOption('All',1);
    end;

    Procedure WithdrawOres;
    var act:integer;
    begin
      Status('Withdrawing ores...');
      Case LowerCase(Players[CurrentPlayer].String1) Of
        'bronze' : act:=1;
        'iron'  : act:=2;
        'steel' : act:=3;
        'silver' : act:=2;
        'gold' : act:=2;
        'mith' : act:=4;
        'addy' : act:=5;
        'rune' : act:=6;
     End;
       Begin
         If act=2 then WAll;
         If act=1 then WBronze;
         If act=3 then WSteel;
         If act=4 then WMith;
         If act=5 then WAddy;
         If act=6 then WRune;
       End;
    End;

    Procedure Antirandoms2;
    begin
      Findnormalrandoms;
      FindTalk;
      DwarfItem;
    end;

    Procedure ToBank;
    begin
      status('Going to bank...');
      Antirandoms2;
      keydown(17);
      Mouse(600,95,2,2,true);
      keyup(17);
      Antirandoms2;
      FFlag(5);
      FindSymbol(x,y,'bank');
      keydown(17);
      Mouse(x,y,2,2,true);
      keyup(17);
      LowestAngle;
      Antirandoms2;
      Flag;
      Loads:=Loads+1
      ReportVars[0] := ReportVars[0]+ 1;
      Players[CurrentPlayer].Integer1:=Players[CurrentPlayer].Integer1+1
      Players[currentplayer].Loc:='bank'
    end;

    Procedure Antirandoms;
    Begin
      Findnormalrandoms;
      FindTalk;
      DwarfItem;
      if(FindFight)then
      begin
        RunAwayDirection('S');
        wait(8000+random(500));
        runback;
      end;
      AutoRespond;
    end;

    Function Amount:boolean;
    begin
      if (FindText(x,y,'Enter amount:',UpChars,MCX1,MCY1,MCX2,MCY2)=true) then
      result:=true
    end;

    Procedure Furn;
    begin
      Repeat
      antirandoms;
      if (FindColorRightTol(x,y,BarColor,15, 378, 494, 437,8)) then
        MMouse(x-10,y,2,2);
        wait(250);
        if (IsUpText('melt 1')=true) then
          Wait(250);
          Mouse(x-10,y,2,2,false);
          if (ChooseOption(x,y,'melt X')) then
          begin
            Flag;
            FTWait(1);
              repeat
                Wait(100);
              until (Amount);
          end;
      until (Amount);
      TypeSend(inttostr(BAmount+1));
        repeat
        if not LoggedIn then Exit;
          wait(1000+random(500));
          antirandoms;
        until (BarCount=true) or FindText(x, y, 'You have run out of',+
        smallchars, MCX1, MCY1, MCX2, MCY2);
        if (BarCount=true) then writeln('Found Bars');
        If (FindText(x, y, 'You have run out of', smallchars, MCX1, MCY1, MCX2,+
        MCY2)) then Writeln('Found Text')
    end;

    Procedure FindFurnace;
    begin
      antirandoms;
      Status('Finding furnace...');
      if (invfull=false) then
      begin
        writeln('Can''t Find Ores');
      end
        else
        begin
          Antirandoms;
            repeat
            if not LoggedIn then Exit;
              FindMSColorTol(x,y,furnace,5);
              wait(50+random(10));
              MMouse(x,y,0,0);
              wait(20+random(10));
            until IsUpTextMulti('melt','me','lt');
              begin
                Mouse(x,y,0,0,true);
                writeln('Found Furnace');
                FTWait(2+random(1));
                AntiRandoms;
              end;
        end;
    end;

    procedure whereami;
    begin
      quest := BitmapFromString(15, 5, 'z78DA9D90510A80201005AFB4' +
           'A6D6FAB9E6DEFF4A060FEAC5524408F3213A3C46921CC7BC4B37E' +
           '696347B5535DBBDF85A8781B85F4A1EE71B6FD26E7F255D273A41' +
           'D8D8CF4EE6BB99B7FDE3F7CDB1093673196E023E9963672E139BB' +
           '093374F7355666D');
           Color:= 14312782;
      if(FindMMSymbol(quest)=true) then
        Players[currentplayer].Loc:='bank'
        else
        Players[currentplayer].Loc:='furn'
    end;

    procedure BankOrFurn;
    begin
      if ((Players[currentplayer].Loc)='bank') then
        writeln('In Bank')
        else
        writeln('In Furnace')
    end;

    Procedure Bankbars;
    begin
      BankOrFurn;
      antirandoms2;
      invCount;
      if (not (invcount=28)) then
        begin
          Status('Banking...');
          MyOpenBank;
          depositall;
          fixbank;
          Withdrawores;
        end;
      Players[CurrentPlayer].Banked:=Players[CurrentPlayer].Banked+1;
    end;

    Procedure ToFurn1;
    begin
      Mouse(686, 110, 2, 2, true);
      FFlag(2);
      FindSymbol(x, y, 'furnace');
      Mouse(x, y + 10, 1, 1, true);
    end;

    Procedure ToFurn2;
    begin
      Mouse(674, 112, 2, 2, true);
      FFlag(2);
      Mouse(695, 99, 2 , 2, true);
      FFlag(2);
      FindSymbol(x, y, 'furnace');
      Mouse(x, y + 10, 1, 1, true);
    end;

    Procedure ToFurnace;
    begin
      Status('Going to furnace...');
      HighestAngle;
      begin
        case random(2) of
        0: tofurn1;
        1: tofurn2;
      end;
      antirandoms2;
      FFlag(3);
      writeln('In Furnace');
      Players[currentplayer].Loc:='furn'
    end;
    end;

    Procedure Rand;
    begin
    if (FindNormalRandoms=true) then
      begin
        findfurnace;
        Status('Smelting...');
        Furn;
            begin
              MakeCompass('w');
              opendoor;
            end;
          end;
    end;

    Procedure Report;
    Begin
     Case LowerCase(Players[CurrentPlayer].String1) Of
        'bronze'  :  ReportVars[10]:= ReportVars[10]+ 14;
        'iron'    :  ReportVars[11]:= ReportVars[11]+ CountItemBmpTol(Bar,10);
        'silver'  :  ReportVars[12]:= ReportVars[12]+ 28;
        'steel'   :  ReportVars[13]:= ReportVars[13]+ 9;
        'gold'    :  ReportVars[14]:= ReportVars[14]+ 28;
        'mith' :  ReportVars[15]:= ReportVars[15]+ 5;
        'addy' :  ReportVars[16]:= ReportVars[16]+ 4;
        'rune'  :  ReportVars[17]:= ReportVars[17]+ 3;
     End;
    End;

    Function Exp:integer;
    Begin
      Case LowerCase(Players[CurrentPlayer].String1) Of
        'bronze' :  xp:=91;
        'iron'   :  xp:=12 * CountItemBmpTol(Bar,10);
        'steel'  :  xp:=157;
        'silver' :  xp:=387;
        'gold'   :  xp:=630;
        'mith'   :  xp:=150;
        'addy'   :  xp:=280;
        'rune'   :  xp:=255;
     End;
     Begin
       Result := xp;
       Players[CurrentPlayer].Integer3:=Players[CurrentPlayer].Integer3 + xp;
         Begin
           ReportVars[3]:= ReportVars[3] + xp;
         End;
     End;
    End;

    procedure InFurnace;
    begin
    if (invfull=false) then
      begin
        Status('going to bank...');
        opendoor;
      end
      else
        begin
          Status('Smelting...');
           wait(200 + random (200));
           Furn;
           Rand;
           Exp;
           Report;
         end;
         MakeCompass('w');
         Opendoor;
    end;

    procedure PlayerStats;
    var Active: string;
    var i: Integer;
    begin
    for i := 0 to HowManyPlayers-1 do
       begin
       if Players[i].Active=True then Active:='True' else Active:='False';
          writeln( (inttostr(i+1))+' : '+Players[i].name+ '= '+Active+
          '- Lvl: '+inttostr(Players[i].level[16])+' Loads done: '+
          inttostr(Players[i].integer1)+ ' Loc: '+Players[i].loc);
        end
    end;

    Function totalbars:integer;
    begin
      Case LowerCase(Players[CurrentPlayer].String1) Of
        'bronze' :  barsmade:=14;
        'iron'   :  barsmade:=CountItemBmpTol(Bar,10);
        'steel'  :  barsmade:=9;
        'silver' :  barsmade:=28;
        'gold'   :  barsmade:=28;
        'mith'   :  barsmade:=5;
        'addy'   :  barsmade:=4
        'rune'   :  barsmade:=3;
       End;
       Begin
       Result := barsmade;
       end;
         begin
           ReportVars[1] := ReportVars[1] + CountItemBmpTol(Bar,10);
           BarMade:= Players[CurrentPlayer].Integer1 * BarsMade;
         end;
    end;

    procedure ProgressReport;
    begin
      ClearDebug;
      begin
        WriteLn('<=========Progress for Smelter-'+VersionNumber+'-=========>');
        Writeln(' ');
        writeln('**********************************************');
        writeln('Name : '+ Players[CurrentPlayer].Name);
        writeln('Number : '+ inttostr(CurrentPlayer+1));
        writeln('Smithing Level : '+ inttostr(Players[CurrentPlayer].Level[16]));
        writeln('Done : ' + inttostr(Players[CurrentPlayer].Integer1)+' loads');
        writeln('Made : ' +inttostr(barmade)+' '+(Players[CurrentPlayer].String1)+' bars');
        writeln('Worked for : '+ TimeRunning);
        writeln('Banked : '+ inttostr(Players[CurrentPlayer].Banked) + ' times.');
        writeln('Gained Approx : '+inttostr(Players[CurrentPlayer].Integer3)+ ' exp.')
        writeln('Location : '+ Players[CurrentPlayer].loc);
        writeln('**********************************************');
      end;
      PlayerStats;
      SRLRandomsReport;
    end;

    Procedure ClearVars;
    Var
      I : Integer;
    Begin
      For I := 1 To 19 Do
      ReportVars[I] := 0;
    End;

    Procedure Intro;
    begin
      WriteLn('                    __ ');
      WriteLn(' __  __            (_ \');
      WriteLn(' \ \/ /___ __ _ _ __ \/  ___  ');
      WriteLn('  \  // __/ _` | `_ \   / __| ');
      WriteLn('  /  \ (_| (_| | | | |  \__ \');
      WriteLn(' /_/\_\___\__,_|_| |_|  |___/');
      Wait(1000);
      WriteLn('  __           _       _  ');
      WriteLn(' / _\ ___ _ __(_)_ __ | |_ ___ ');
      WriteLn(' \ \ / __| ''__| | ''_ \| __/ __|');
      WriteLn(' _\ \ (__| |  | | |_) | |_\__ \ ');
      WriteLn(' \__/\___|_|  |_| .__/ \__|___/');
      WriteLn('                |_|         ');
      Wait(1000);
      WriteLn('      Brings You:');
      Wait(1000);
      WriteLn('      AK Smelter '+versionnumber+'');
      WriteLn('')
      Wait(1000);
      WriteLn('Please post all Progress reports at');
      WriteLn('http://www.villu-reborn.com/showthread.php?t=4915')
    end;

    Procedure EndReport;
    begin
      cleardebug;
      begin
        WriteLn('<=====End Progress for Smelter '+VersionNumber+'=====>');
        WriteLn('Ran For: '+ timerunning)
        WriteLn('Finished: '+inttostr(Loads)+' loads')
        WriteLn('Made a total of: '+inttostr(barsmade)+' '+Players[CurrentPlayer].String1+' bars')
        WriteLn(inttostr(HowManyPlayers)+' players played')
      end;
      PlayerStats;
    end;


    procedure Setup;
    begin
      SetupSRL;
      ScriptID := '30';
      SRLID := MySRLID;
      SRLPassword := MySRLPassword;
      SetUpSRLReport;
      ClearDebug;
      Intro;
      LoadSmithingBitMaps;
      ClearVars;
      ReportVars[2] := 1;
      MouseSpeed := (MSpeed);
      BenMouse   := (BMouse);
      Time;
      DeclarePlayers;
      LoginPlayer;
      Bitmaps;
      SetColor;
      BarAmount;
      AfterLogin;
      WhereAmI;
    end;

    ////////////////////////////////Main Loop\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

    begin
      Setup;
        repeat
        if Players[CurrentPlayer].loc='furn' then
        begin
          MakeCompass('w')
          FindFurnace;
          If AutoColor Then AutoGetBarColors;
          InFurnace;
          ToBank;
          TotalBars;
          ProgressReport;
        end;
        if Players[CurrentPlayer].Loc='bank' then
        begin
          MakeCompass('w')
          BankBars;
          ToFurnace;
          GetSkillLevel('smithing');
          Players[CurrentPlayer].Level[16] :=GetSkillLevel('smithing');
          TotalBars;
          ProgressReport;
        end;
        if ((LoggedIn) and (Players[CurrentPlayer].Integer1=(Players[CurrentPlayer].Integer2))) then
        begin
          repeat
            Wait(1000);
          until(not(LoggedIn));
          NextPlayer(False);
          Players[CurrentPlayer].Integer1:=0
          MakeCompass('w')
          Whereami;
        end;
        If Not LoggedIn Then
        Begin
          NextPlayer(False);
          MakeCompass('w');
          SetColor;
          BarAmount;
        End;
          until(False);
        TotalBars;
        EndReport;
    end.



    If that doesn't work for you (no smelters ever worked for me), you can use an old smelter that I edited-

    SCAR Code:
    //(<>)(<>)(<>)(<>)(<>)(<>)(<>)(<>)//
    //(<>)        Bentrims        (<>)//
    //(<>)       Al-Kharid        (<>)//
    //(<>)        Smelter         (<>)//
    //(<>)          V2            (<>)//
    //(<>)(with additions by      (<>)//
    //(<>)     yesiammanu)        (<>)//
    //(<>)Version Log             (<>)//
    //(<>)V1.0-Working Well       (<>)//
    //(<>)V1.5-Lots of Bugs Fixed (<>)//
    //(<>)V2-Just a Few Updates   (<>)//
    //(<>)(<>)(<>)(<>)(<>)(<>)(<>)(<>)//
    //(<>)(<>)(<>)(<>)(<>)(<>)(<>)(<>)//
    //(<>)        Setup           (<>)//
    //(<>) 1.Start in Bank        (<>)//
    //(<>) 2.Iron in 1st Bank Slot(<>)//
    //(<>) 3.Coal in Second Slot  (<>)//
    //(<>) 4.Have ores in inv.    (<>)//
    //(<>) 5.Map facing near West (<>)//
    //(<>) 6.Go Make a Sandwich   (<>)//
    //(<>) 7.Hit Play             (<>)//
    //(<>) 8.Go Watch Tv. :)      (<>)//
    //(<>)(<>)(<>)(<>)(<>)(<>)(<>)(<>)//
    program AlKararidSmelter;
    {.include Si.scar}

    var x,y:integer;barcount:integer;cx,cy:Integer;

    const
    //(<>)(<>)(<>)(<>)(<>)(<>)(<>)//
    //   (<>)(<>)Setup(<>)(<>)    //
    //   All colors are minimap   //
    primeore=500;  //All Your Iron in Bank
    agilityicon=2854145;  //Agility Icon (green arrow)
    banksymbol=4507112;  //Bank Symbol....
    furnacesymbol=1468156;  //Furnace Symbol (orange)...

    //    (<>)(<>)End(<>)(<>)     //
    //(<>)(<>)(<>)(<>)(<>)(<>)(<>)//

    Procedure ToTheFurnace;
    begin
    Status('Going to Furnace')
    FindColorSpiral(x,y,agilityicon,566,5,717,122)
    MouseFlag(x+ random(10),y+70+ random(15),1,1)
    Checkrandoms(1,'ranged','NA',false,false,[rtBox, rtLamp, rtLeveled,rtText]);
    FindColorSpiral(x,y,furnacesymbol,564,9,719,156)
    MouseFlag(x,y+2+ random(8),1,1)
    wait(500+ random(1500));
    end;

    Procedure Smelting;
    begin
    status('Smelting...');
    Checkrandoms(1,'ranged','NA',false,false,[rtBox, rtLamp, rtLeveled,rtText]);
    findobj(cx,cy,'Smelt Furnace',2368550,5)
    mouseflag(cx,cy,2,2);
    mouse(268,401,2,2,false);
    mouse(240,414,1,1,true);
    repeat
    wait(3000);
    until(IsChatMessage('You don'))or(BeingAttacked)or (IsChatMessage ('You have run out'));
    end;

    Procedure Back2Bank;
    begin
    Status('Walking back to Bank');
    FindColorSpiral(x,y,agilityicon,560,5,724,158)
    MouseFlag(x- random(10),y+70+ random(15),1,1)
    Checkrandoms(1,'ranged','NA',false,false,[rtBox, rtLamp, rtLeveled,rtText]);
    FindColorSpiral(x,y,banksymbol,560,5,724,158)
    MouseFlag(x,y,1,1);
    Checkrandoms(1,'ranged','NA',false,false,[rtBox, rtLamp, rtLeveled,rtText]);
    end;

    Procedure Banking;
    begin
    status('Banking...');
    Checkrandoms(1,'ranged','NA',false,false,[rtBox, rtLamp, rtLeveled,rtText]);
    OpenBank;
    FixBank;
    DepositAll;
    Withdraw(1,1,9);
    Withdraw(1,2,18);
    closewindow;
    end;

    Procedure ProgessReport;
    Begin
    Writeln('(<>)(<>)(<>)(<>)(<>)(<>)(<>)');
    Writeln('     BentRims Al-Kharid Smelter                    ');
    Writeln('       Smelted '+inttostr(barcount)+'Steel Bars');
    Writeln('      Have Fun Lazy Kids...                        ');
    Writeln('(<>)(<>)(<>)(<>)(<>)(<>)(<>)');
    end;

    begin
    LoadInclude('Mozilla FireFox',False)
    Checkrandoms(1,'ranged','NA',false,false,[rtBox, rtLamp, rtLeveled,rtText]);
    repeat
    gametab(2);
    ToTheFurnace;
    gametab(4);
    Smelting;
    Back2Bank;
    Banking;
    barcount:=barcount+9;
    until(primeore=barcount)or(barcount>primeore);
    end.

    It's not great, but (for me) its the only thing I can use.

    ~~~~Yesiammanu

  3. #3
    Join Date
    Jan 2007
    Posts
    6
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    is there a miner/banker that isnt for guild mine but for somwhere else?

  4. #4
    Join Date
    Jan 2007
    Posts
    9
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Wow thank you. those look like some good acripts. i tried the first smelter once but it diddnt work whatsoever. But i tried the Guild miner and it worked perfectly! thank you allot. this one must be edited because i have tried that same one before and the script was full of errors. im going to go and try the script you edited to see if that could help me out. thanx allot. i cant wait to finaly learn how to create and alter scripts. i read over all the ones i use to see what i cal learn. thank you allot yesiammanu!!!!

  5. #5
    Join Date
    Jan 2007
    Posts
    9
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by nut$y View Post
    is there a miner/banker that isnt for guild mine but for somwhere else?
    I dont know about a different miner/banker but heres a script that is a miner dropper (anywhere) you could use this till you can get into the miners guild : )

    keep in mind its not the best script. its somewhat buggy. in mines perfectly fine, you just have to monitor it because it dosnt run from attackers or Randoms. it tries to solve the mysterious guys boxes.... but it always gets it wrong lol.

    {.Script Info:
    # Author:Rencuz,creds Nashi whos box and fight procedures i used,
    ty for bullzeye95 who fixed my nooby mistake
    #Ver.01.//My 1st script ready :%)
    #Ver.0.2.//Added pick head color finder and run set true and chats off!
    # Ver 0.4//Added antirandoms but dont know r they work,.
    #ver 0.5 //Mad Cow made script nicer tyvm :P
    Start anywhere!
    /Script Info}
    program Minerl33t;
    {.include SRL\SRL.scar}
    {.include SRL/SRL/Skill/Mining.Scar}

    const LoadsToDo =354; //How many loads do you want it to do?
    rockwait= 3400; //How many miliseconds do you want it to wait before clicking another rock?
    rockcolor=21745392174539; //The color of the rock.Atm Tin

    procedure FFight; forward;

    procedure DeclarePlayers;
    begin
    HowManyPlayers :=2;
    NumberOfPlayers(HowManyPlayers);
    CurrentPlayer:=0;

    Players[0].Name :=''
    Players[0].Pass :='';
    Players[0].Nick :='';
    Players[0].Active:=True;

    Players[1].Name :='';
    Players[1].Pass :='';
    Players[1].Nick :='';
    Players[1].Active:=False;
    end;



    var
    Loads:Integer;

    //Mining procedure

    procedure miner;
    begin
    repeat
    findcolorspiral(x,y,rockcolor,3,3,515,336)
    mmouse(x,y,3,3)
    istextat2(9,9,'Mine',20)
    mouse(x,y,2,2,true)
    wait(rockwait+random(300))
    until(invfull)
    if (invfull = true) then
    loads := loads + 1;
    end;

    procedure LogIn;
    begin
    if (FindColor(x, y, 8353396, 262, 208, 262, 208)) then
    begin
    LogInPlayer;
    end;
    end;

    //Randoms

    procedure FFight;
    begin
    if (FindFight) then
    begin
    Writeln('Found Fight');
    RunAwayDirection('N');
    Wait(8000 + random(3000));
    RunBack;
    end;
    if (FindNewBox) then
    begin
    OpenBox;
    SolveBox;
    wait(1000);
    end;
    if (FindNewBox) then
    begin
    GambleNewBox;
    end;
    if (FindNewBox) then
    begin
    LogOut;
    Writeln('Unable To Solve Box....Terminating');
    TerminateScript;
    end;
    end;

    //Droping

    procedure DropOre;
    begin
    MouseSpeed:= 13+random(7);
    DropTo(2, 14);
    DropTo(15, 28);
    end;

    //ProgressReport

    procedure ProgressReport;
    begin
    WriteLn(' ...............................................');
    WriteLn('Mined and Dropped ' + inttostr(loads) + ' loads.');
    WriteLn(' ...............................................');
    end;

    begin
    SetupSRL;
    SetupSrlMining;
    DeclarePlayers;
    FindNormalRandoms;
    LogIn;
    SRLRandomsReport;
    FindPickHeadColor;
    FindPick;
    ChatsOff;
    SetRun(true);
    repeat
    FindNormalRandoms;
    FFight;
    Miner;
    DropOre;
    until(loads=loadstodo)
    end.

  6. #6
    Join Date
    Sep 2006
    Posts
    5,219
    Mentioned
    4 Post(s)
    Quoted
    1 Post(s)

    Default

    I'll say it again.

    Using 1 player (your p2p main) for more than 2 hours is suicide.

    Use at least 5 players for ANY overnight script, no matter how good.

    With all the auto fighters and powerminers in the free scripts section, getting 5 players ready is not that hard.

  7. #7
    Join Date
    Dec 2006
    Posts
    374
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    yo man ur guys pw's are posted! delete them ASAP!
    Another awsome scripting forum! Check it out: www.Uberbroproductions.net/forums
    TRY MY VARROCK ZAMMY MAGE CURSER/CONFUSER/WEAKENER! THE LINK IS BELOW
    http://www.srl-forums.com/forum/varr...56.html?t=6356
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~


  8. #8
    Join Date
    Jan 2007
    Posts
    9
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    woops thank you man. there both lvl 3's and all they have done is gone through toutorial Island but still lol. thank you.

  9. #9
    Join Date
    Dec 2006
    Posts
    49
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by surfdiver2005 View Post
    Wow thank you. those look like some good acripts. i tried the first smelter once but it diddnt work whatsoever. But i tried the Guild miner and it worked perfectly! thank you allot. this one must be edited because i have tried that same one before and the script was full of errors. im going to go and try the script you edited to see if that could help me out. thanx allot. i cant wait to finaly learn how to create and alter scripts. i read over all the ones i use to see what i cal learn. thank you allot yesiammanu!!!!
    Acually you don't really need any training for the editing I did. I just changed a few things around and whatnot and just made it work (for myself, atleast)

    Heres the old script-

    SCAR Code:
    //(<>)(<>)(<>)(<>)(<>)(<>)(<>)(<>)//
    //(<>)        Bentrims        (<>)//
    //(<>)       Al-Kharid        (<>)//
    //(<>)        Smelter         (<>)//
    //(<>)          V2            (<>)//
    //(<>)                        (<>)//
    //(<>)Version Log             (<>)//
    //(<>)V1.0-Working Well       (<>)//
    //(<>)V1.5-Lots of Bugs Fixed (<>)//
    //(<>)V2-Just a Few Updates   (<>)//
    //(<>)(<>)(<>)(<>)(<>)(<>)(<>)(<>)//
    //(<>)(<>)(<>)(<>)(<>)(<>)(<>)(<>)//
    //(<>)        Setup           (<>)//
    //(<>) 1.Start in Bank        (<>)//
    //(<>) 2.Iron in 1st Bank Slot(<>)//
    //(<>) 3.Coal in Second Slot  (<>)//
    //(<>) 4.Go Make a Sandwich   (<>)//
    //(<>) 5.Hit Play             (<>)//
    //(<>) 6.Go Watch Tv. :)      (<>)//
    //(<>)(<>)(<>)(<>)(<>)(<>)(<>)(<>)//
    program AlKararidSmelter;
    {.include Si.scar}

    var x,y:integer;barcount:integer;cx,cy:Integer;

    const
    //(<>)(<>)(<>)(<>)(<>)(<>)(<>)//
    //   (<>)(<>)Setup(<>)(<>)    //
    primeore=583;  //All Your Iron in Bank
    rockcolor=2705526;  //rock outside of Bank
    banksymbol=4310235;  //Bank Symbol....
    furnacesymbol=1271279;  //Furnace Symbol...
    //    (<>)(<>)End(<>)(<>)     //
    //(<>)(<>)(<>)(<>)(<>)(<>)(<>)//

    Procedure ToTheFurnace;
    begin
    Status('Going to Furnace')
    FindColorSpiral(x,y,RockColor,566,5,717,122)
    MouseFlag(x,y,1,1)
    Checkrandoms(1,'ranged','NA',false,false,[rtBox, rtLamp, rtLeveled,rtText]);
    FindColorSpiral(x,y,furnacesymbol,564,9,719,156)
    MouseFlag(x,y+10,1,1)
    wait(1500);
    end;

    Procedure Smelting;
    begin
    status('Smelting...');
    Checkrandoms(1,'ranged','NA',false,false,[rtBox, rtLamp, rtLeveled,rtText]);
    findobj(cx,cy,'Smelt Furnace',2368550,5)
    mouseflag(cx,cy,2,2);
    mouse(228,401,2,2,false);
    mouse(210,414,1,1,true);
    repeat
    wait(3000);
    until(IsChatMessage('You have run out of'))or(BeingAttacked);
    end;

    Procedure Back2Bank;
    begin
    Status('Walking back to Bank');
    FindColorSpiral(x,y,RockColor,560,5,724,158)
    MouseFlag(x,y+10,1,1)
    Checkrandoms(1,'ranged','NA',false,false,[rtBox, rtLamp, rtLeveled,rtText]);
    FindColorSpiral(x,y,banksymbol,560,5,724,158)
    MouseFlag(x,y,1,1);
    Checkrandoms(1,'ranged','NA',false,false,[rtBox, rtLamp, rtLeveled,rtText]);
    end;

    Procedure Banking;
    begin
    status('Banking...');
    Checkrandoms(1,'ranged','NA',false,false,[rtBox, rtLamp, rtLeveled,rtText]);
    OpenBank;
    FixBank;
    DepositAll;
    Withdraw(1,1,9);
    Withdraw(1,2,18);
    closewindow;
    end;

    Procedure ProgessReport;
    Begin
    Writeln('(<>)(<>)(<>)(<>)(<>)(<>)(<>)');
    Writeln('     BentRims Al-Kharid Smelter  ');
    Writeln('       Smelted '+inttostr(barcount)+'Steel Bars');
    Writeln('      Have Fun Lazy Kids...                        ');
    Writeln('(<>)(<>)(<>)(<>)(<>)(<>)(<>)');
    end;

    begin
    LoadInclude('Mozilla FireFox',False)
    Checkrandoms(1,'ranged','NA',false,false,[rtBox, rtLamp, rtLeveled,rtText]);
    repeat
    gametab(2);
    ToTheFurnace;
    gametab(4);
    Smelting;
    Back2Bank;
    Banking;
    barcount:=barcount+9;
    until(primeore=barcount)or(barcount>primeore);
    end.

    The only big edit I did was change the rock to the agility icon becuase occasionally it got confnused with the rocks at the fishing spot. Also was outdated with the chat message for running out of ore.

    ~~~~Yesiammanu

  10. #10
    Join Date
    Oct 2006
    Location
    Ontario,Canada
    Posts
    1,718
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    ok you say my smelter does not work whatsoever
    i tried the first smelter once but it diddnt work whatsoever.
    can you post in my thread(in my sig) what it does...or doesnt do...so i can fix it thanks. and look around in the free scripts there are lots of miner bankers there.

  11. #11
    Join Date
    Dec 2006
    Posts
    49
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by xcanadamanx View Post
    ok you say my smelter does not work whatsoever can you post in my thread(in my sig) what it does...or doesnt do...so i can fix it thanks. and look around in the free scripts there are lots of miner bankers there.
    For me, everything went well but it tried to click the "Steel bar" and missed by an inch. All smelters I have ever used do this, so I think it's a problem with my resolution or something.

    ~~~~Yesiammanu

  12. #12
    Join Date
    Dec 2006
    Posts
    249
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by yesiammanu View Post
    For me, everything went well but it tried to click the "Steel bar" and missed by an inch. All smelters I have ever used do this, so I think it's a problem with my resolution or something.

    ~~~~Yesiammanu
    Hope you posted your reply in Xcans thread as he asked. Give as much detail as you can. If you think it is your pc, state the highest res. you have (32 bit has been the standard for about 10years or more) If you cannot set to this res. I suggest you buy a new graphics card, you can pick up old cards for about $10.


    p.s. Look at the sticky in the free script section to see a list of all free scripts.
    pps There are no free non guild miner banker scripts - I know I want one

    ScarPreRelease 3.23 rev 80, Includes - Dev Rev 457

  13. #13
    Join Date
    Feb 2007
    Posts
    2
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default Why is it suicide?

    Quote Originally Posted by Boreas View Post
    I'll say it again.

    Using 1 player (your p2p main) for more than 2 hours is suicide.

    Use at least 5 players for ANY overnight script, no matter how good.

    With all the auto fighters and powerminers in the free scripts section, getting 5 players ready is not that hard.
    Why is using any powerminer for more then two hours suicide dont the anti-bans work?

  14. #14
    Join Date
    Sep 2006
    Posts
    5,219
    Mentioned
    4 Post(s)
    Quoted
    1 Post(s)

    Default

    When is the last time you heard of someone powermining legit* on their main for more than 2 hours per day?

    (* Legit means a human playing, obviously a human plays humanly. Anti bans means playing humanly. So all antibans do, is make it look more humanlike, but no matter how good the antibans are, and how humanly like it looks, humans don't play all night. Which is why you need multiple players, that each play for a fraction of the total time.)

  15. #15
    Join Date
    Jan 2007
    Posts
    51
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by Boreas View Post
    When is the last time you heard of someone powermining legit* on their main for more than 2 hours per day?

    (* Legit means a human playing, obviously a human plays humanly. Anti bans means playing humanly. So all antibans do, is make it look more humanlike, but no matter how good the antibans are, and how humanly like it looks, humans don't play all night. Which is why you need multiple players, that each play for a fraction of the total time.)

    This is a little off topic but i once played all night

  16. #16
    Join Date
    Feb 2007
    Posts
    2
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default alright i guess i wont

    Quote Originally Posted by Boreas View Post
    When is the last time you heard of someone powermining legit* on their main for more than 2 hours per day?

    (* Legit means a human playing, obviously a human plays humanly. Anti bans means playing humanly. So all antibans do, is make it look more humanlike, but no matter how good the antibans are, and how humanly like it looks, humans don't play all night. Which is why you need multiple players, that each play for a fraction of the total time.)
    Nice thanx for that i was just about to put my autominer on all night tonight but i guess its a good idea i shouldn't

  17. #17
    Join Date
    Sep 2006
    Posts
    5,219
    Mentioned
    4 Post(s)
    Quoted
    1 Post(s)

    Default

    For all night, figure 12 hours. And the average human plays maybe 2 hours. So that makes 6 players. Add a couple because a couple may go false, and the others will pick up the slack, playing for longer each. So 8-10 players for overniters is good, definitely over 5.

  18. #18
    Join Date
    Feb 2007
    Location
    Toronto, Ontario, Canada
    Posts
    586
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Lol, once I autoed Rune essence for 7 hours with two players...oops!
    I also autoed coal for 4 hours with 1 guy. Thanks for the tips, I'll be sure to avoid doing THAT again.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. LSM miner and banker
    By niceman9 in forum RS3 Outdated / Broken Scripts
    Replies: 6
    Last Post: 08-29-2008, 12:21 AM
  2. qazwsx's smelter smither and banker(first script)
    By qazwsx in forum First Scripts
    Replies: 2
    Last Post: 11-15-2007, 05:56 AM
  3. guild miner AND smither
    By 99percent in forum RS3 Outdated / Broken Scripts
    Replies: 0
    Last Post: 07-03-2007, 12:19 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •