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

Bronze auto smelter

crapkiller

Forum Addict
Joined
Jul 19, 2006
Sythe Gold
0
Messages
426
It smelts bronze bars in al kharid. Start with tin and copper in your first 2 bank slots. Fill in your username, pass, nick etc. Stand in the bank and start the script. it is all autocolor so it should pick the color of everything itself.

Here is the best progress report i could get because i ran out of tin while autoing...

Code:
//~~~~~~~~~~Auto Smelter~~~~~~~~~~//
Worked for 20 Minutes and 16 Seconds
Banked about 8 times
Smelted about 112 bars
Gained about 672 Xp
Used about 224 ores

Code:
{.Script Info:
# ScriptName  = Bronze Smelter
# Author      = Crapkiller
# Description = Smelts tin and copper into bronze at al kharid
# Version     = 1.0
# Date        = -
# Comments    = Put the copper and tin in the first 2 inventory slots,
then start the script in the bank
/Script Info}

program Smelter;

{.include SRL\SRL.scar}
{.include SRL\SRL\Skill\Smithing.scar}

var
  Banked, Exp, Bars, Ores, Cactus: Integer;

procedure DeclarePlayers;
begin
  HowManyPlayers := 1; //Number of players
  NumberOfPlayers(HowManyPlayers);
  CurrentPlayer := 0;

  Players[0].Name := ''; //Your RS username
  Players[0].Pass := ''; //Your RS password
  Players[0].Nick := ''; //3 - 4 Letters of your RS username
  Players[0].Active := True; //Dont touch this
  Players[0].Skill := 'Smithing' // The skill you want to use lamp on
  Players[0].Integer1 := 100; // The amount of loads to do
end;

procedure Sig;
begin
  ClearDebug;
  Writeln('Script Made by:                 ');
  Writeln('_________                       ');
  Writeln('\_   ___ \____________  ______  ');
  Writeln('/    \  \/\_  __ \__  \ \____ \ ');
  Writeln('\     \____|  | \// __ \|  |_> >');
  Writeln(' \______  /|__|  (____  /   __/ ');
  Writeln('        \/            \/|__|    ');
end;

procedure Setup;
begin
  SetupSRL;
  ActivateClient;
  Wait(3000);
  DeclarePlayers;
  NickNameBMP := CreateBitmapMaskFromText(Players[0].Nick, UpChars);
  Sig;
  LoginPlayer;
  Cactus := 3702085;
  SetChat('hide', 1);
  SetChat('off', 2);
  SetChat('off', 3);
  PerfectNorth;
  SetRun(True);
  GameTab(4);
end;

procedure AntiBanz;
var
  Ban: Integer;
begin
  if (not (LoggedIn)) then
  begin
    LogOut;
    Exit;
  end;

  Ban := Random(200);
  case Ban of
    1: HoverSkill('Smithing', False);
    2: HoverSkill('Random', False);
    3: RandomRClickEvery(1 + Random(10));
    4: PickUpMouse;
    5: LeaveScreenEvery(3 + Random(7));
    6: TypeSend('Man Smithing is boooooooooring');
    7: RandomChatEvery(8 + Random(6));
    8: DoEmote(1 + Random(20));
    9: TypeSend('=/ Sigh, this is booring');
    10: TypeSend('Sigh');
    11: HoverEvery(3 + Random(5), 'Smithing');
    12: AlmostLogout;
    13: TypeSend('Smithing levels?');
    14: begin
        TypeSend('sihg');
        Wait(100 + Random(300));
        TypeSend('sigh*');
      end;
    15: begin
        TypeSend('simthing levels?');
        Wait(100 + Random(300));
        TypeSend('smithing levels*');
      end;
  end;
end;

procedure Withdrawz;
begin
  if(not(LoggedIn)) then Exit;
  OpenBankGlass('db', True, True);
  Fixbank;
  Withdraw(1, 1, 14);
  Withdraw(2, 1, 14);
  CloseBank;
  FindNormalRandoms;
  MakeCompass('N');
end;

procedure Walk2Furnace;
var
  Color, Sand: integer;
begin
  if(not(LoggedIn)) then Exit;
  Color := GetColor(713, 445);
  Sand := GetColor(693, 48);
  AntiBanz;
  FindNormalRandoms;
  if (not (RadialWalk(Sand, 45, 0, 50, -5, -5))) then
  begin
    if(FindColorTolerance(x, y, Cactus, MMX1, MMY1, MMX2, MMY2, 30)) then
    begin
      Cactus := GetColor(x, y);
      RadialWalk(Cactus, 0, 135, 60, -5, 5);
      RadialWalk(Cactus, 0, 135, 60, -5, 5);
    end else
    begin
      Mouse(MMCX + 30, MMCY - 50, 20, 20, True);
      Flag;
    end;
  end;
  AntiBanz;
  FindNormalRandoms;
  if (not (FindSymbol(x, y, 'furnace'))) then
  begin
    FindColorTolerance(x, y, 2326269, MMX1, MMY1, MMX2, MMY2, 30);
  end;
  Mouse(x + 5 + random(5), y, 5, 5, True);
  Flag;
  AntiBanz;
  FindNormalRandoms;
  AntiBanz;
  MakeCompass('S');
  OpenFurnace;
  Mouse(50, 405, 10, 10, False);
  Wait(100 + random(200));
  ChooseOption(x, y, 'melt X');
  repeat
    Wait(500);
    FindNormalRandoms;
    if(not(LoggedIn)) then Exit;
  until (FindText(x, y, 'nter', UpChars, 12, 345, 497, 459));
  TypeSend('14');
  MakeCompass('N');
  repeat
    wait(500);
    FindNormalRandoms;
    if (ClickToContinue) then
    begin
      MakeCompass('S');
      OpenFurnace;
      Mouse(50, 405, 10, 10, False);
      Wait(100 + Random(200));
      ChooseOption(x, y, 'melt X');
      repeat
        Wait(500);
        FindNormalRandoms;
      until (FindText(x, y, 'nter', UpChars, 12, 345, 497, 459));
      Wait(100 + Random(200));
      TypeSend('14');
      MakeCompass('N');
    end;
    if(not(LoggedIn)) then Exit;
  until (CountItemColor(Color) = 0);
  AntiBanz;
  FindNormalRandoms;
end;

procedure Walk2Bank;
var
  Sand, Floor: integer;
begin
  if(not(LoggedIn)) then Exit;
  Floor := GetColor(MMCX + 39, MMCY + 39);
  Sand := GetColor(MMCX - 7, MMCY + 50);
  AntiBanz;
  if (not (RadialWalk(Sand, 180, 120, 50, -5, -5))) then
  begin
    if(FindColorTolerance(x, y, Cactus, MMX1, MMY1, MMX2, MMY2, 30)) then
    begin
      Cactus := GetColor(x, y);
      RadialWalk(Cactus, 90, 180, 60, -5, 5);
      RadialWalk(Cactus, 90, 180, 60, -5, 5);
    end else
    begin
      Mouse(MMCX + 30, MMCY - 50, 20, 20, True);
      Flag;
    end;
  end;
  AntiBanz;
  FindNormalRandoms;
  if (not (FindSymbol(x, y, 'bank'))) then
  begin
    RadialWalk(Floor, 270, 180, 50, 5, 5);
    FindSymbol(x, y, 'bank');
  end;
  Mouse(x, y, 10, 10, True);
  Flag;
  AntiBanz;
  FindNormalRandoms;
  AntiBanz;
  repeat
    if (not (OpenBankGlass('db', True, True))) then
    begin
      Mouse(MMCX, MMCY + 10, 10, 10, True);
      Flag;
    end;
    if(not(LoggedIn)) then Exit;
  until (BankScreen);
  DepositAll;
  Fixbank;
  Withdraw(1, 1, 14);
  Withdraw(2, 1, 14);
  CloseBank;
  FindNormalRandoms;
  MakeCompass('N');
  AntiBanz;
end;

procedure Progress;
begin
  Banked := Banked + 1;
  Bars := Banked * 14;
  Exp := Bars * 6;
  Ores := Banked * 28;
  Writeln('//~~~~~~~~~~Auto Smelter~~~~~~~~~~//');
  Writeln('Worked for ' + TimeRunning);
  Writeln('Banked about ' + IntToStr(Banked) + ' times');
  Writeln('Smelted about ' + IntToStr(Bars) + ' bars');
  Writeln('Gained about ' + IntToStr(Exp) + ' Xp');
  Writeln('Used about ' + IntToStr(Ores) + ' ores');
end;


begin
  Setup;
  Withdrawz;
  repeat
    if(not(LoggedIn)) then Exit;
    Walk2Furnace;
    Walk2Bank;
    Progress;
  until (Banked >= Players[0].Integer1);
end.
 
Back
Top