Results 1 to 5 of 5

Thread: Ore Superheater

  1. #1
    Join Date
    Oct 2008
    Posts
    29
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default Ore Superheater

    It would be great if someone could make a script to use the "Superheat" magic spell to smelt ores into bars.

    I have already tried looking around the forums, but the only one I came across is highly outdated.

    Thanks in advance!

  2. #2
    Join Date
    Jun 2008
    Location
    India
    Posts
    35
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    If u are not looking for magic xp then this 'munk's shmelta' works fine, its flawless........ and if for magic xp then high alch is always faster option. :-)

  3. #3
    Join Date
    Oct 2006
    Posts
    1,190
    Mentioned
    0 Post(s)
    Quoted
    2 Post(s)

    Default

    yea but im pretty sure that with superheat u can make bars and actually make a bit of a profit, at least when i created my superheater you could lol that was a long time ago haha like srl 3.6



  4. #4
    Join Date
    Oct 2008
    Posts
    29
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Quote Originally Posted by shadeslayer View Post
    If u are not looking for magic xp then this 'munk's shmelta' works fine, its flawless........ and if for magic xp then high alch is always faster option. :-)
    Erm... to my knowledge Munk's Shemlta is outdated and is therefore no longer functional?

  5. #5
    Join Date
    Oct 2006
    Posts
    1,190
    Mentioned
    0 Post(s)
    Quoted
    2 Post(s)

    Default

    here is the script i made a loooong time ago, looking through it i was pretty noob and i would do a few things in a different way, there is even stuff in there that i dont even know why did some procedures like i did eg counting spells but if somone wants to update it then
    they are welcome

    SCAR Code:
    program SuperHeat;
      {.include SRL/SRL.scar}
      {.include SRL/SRL/skill/magic.scar}

    {
    ==========================================================================
                    This script superheats any Ore to Bars
    ==========================================================================
                   Created for scar 3.12 and SRL 4 Rev 14

     1. USE Runescape with Low Detail, Very Bright.
     2. Set your Screen to 32 bit TRUE color.
     3. Set Playernames and Passwords in DeclarePlayers.
     4. Set NumberOfPlayers.
     5. Position Players at Falador East Bank with fire staff equiped
        and Nature runes in bank with nothing in your inventory
     6. Make sure your Players has ores and nature runes

     Credits to Rasta Magican and Cutem2it for all the help that
     they both gave me with casting superheat

      Version 1- Original release
    ==========================================================================
    }

    var
      l, loads, x, y, c, nat: integer;

    const
      StartPlayer = 0;          // Determines who will play first
      MSpeed = 10;              //speed of the mouse...higher number slower speed, lower number higher speed
      MySRLID = 'ID';           // Must be a string!
      MySRLPassword = 'Pass';   // Must be a string!
      VersionNumber = 1;        // No need to change

    procedure DeclarePlayers;
    begin
      HowManyPlayers := 1;  // Set Number of Players here.
      NumberOfPlayers(HowManyPlayers);;
      CurrentPlayer := StartPlayer;

      Players[0].Name := 'name';         //username
      Players[0].Pass := 'pass';         //password
      Players[0].Nick := 'nick';         //3-4 consecutive letters of your user name(NOT First letter)
      Players[0].Strings[0] := 'steel';  //type of bar bronze,iron,steel,mithril,adamantite,runite,gold,silver,
      Players[0].integers[0] := 100;     //how many times to cast superheat
      Players[0].Active := True;         //are you going to use this player
    end;

    procedure AntiRandoms;
    begin
      if not LoggedIn then
        Exit;
      FindNormalRandoms;
      if FindFight then
        RunTo('N', True);
      case Random(100) of
        0: RandomRClick;
        1: PickupMouse;
        2: randommovement;
      end;
    end;

    procedure WithdrawNats;
    begin
      if (not (Loggedin)) then
        exit;
      if (not (bankscreen)) then
        exit;
      nat := DTMFromString('78DA638C61606028634001825DA20C5C409A1' +
           '188FF0301631A9091C18006189148209D83690E869A4420D14840' +
           '4D1890A827A026004894105013042472F0AB01004CF40A86');
      if FindDTM(nat, x, y, MSX1, MSY1, MSX2, MSY2) then
        else
        begin
          writeln('no nats') nextplayer(false);
        end;
      begin
        Mouse(x, y, 3, 3, false) wait(100 + random(50))
        begin
          ChooseOption('Withdraw X');
          Wait(1000 + Random(100));
          TypeSend(IntToStr(players[currentplayer].Integers[0]) + Chr(13));
          FreeDTM(nat);
        end;
      end;
    end;

    function FindOre(oreType: string; var rx, ry: integer; x1, y1, x2, y2: integer): boolean;
    var
      ore, oreColor: integer;
      oreMP: TDTMPointDef;
      oreSP: array of TDTMPointDef;
      oreSkel: TDTM;
    begin
      case lowercase(oreType) of
        'copper': oreColor := 3834079;
        'tin': oreColor := 8553356;
        'iron': oreColor := 2305869;
        'silver': oreColor := 11971499;
        'coal': oreColor := 2702653;
        'gold': oreColor := 1815515;
        'mithril': oreColor := 7425357;
        'adamantite': oreColor := 5268302;
        'runite': oreColor := 7958098;
        else
        begin
          writeln('ore type not found');
          Logout;
        end;
      end;
      setarraylength(oreSP, 4);
      oreMP.x := 580;
      oreMP.y := 229;
      oreMP.areasize := 1;
      oreMP.areashape := 0;
      oreMP.color := oreColor;
      oreMP.tolerance := 15;
      oreSP[0].x := 576;
      oreSP[0].y := 227;
      oreSP[0].areasize := 0;
      oreSP[0].areashape := 0;
      oreSP[0].color := 65536;
      oreSP[0].tolerance := 0;
      oreSP[1].x := 574;
      oreSP[1].y := 229;
      oreSP[1].areasize := 0;
      oreSP[1].areashape := 0;
      oreSP[1].color := 65536;
      oreSP[1].tolerance := 0;
      oreSP[2].x := 563;
      oreSP[2].y := 230;
      oreSP[2].areasize := 0;
      oreSP[2].areashape := 0;
      oreSP[2].color := 65536;
      oreSP[2].tolerance := 0;
      oreSP[3].x := 592;
      oreSP[3].y := 227;
      oreSP[3].areasize := 0;
      oreSP[3].areashape := 0;
      oreSP[3].color := 65536;
      oreSP[3].tolerance := 0;
      oreSkel.MainPoint := oreMP;
      oreSkel.SubPoints := oreSP;
      ore := AddDTM(oreSkel);
      result := findDTM(ore, rx, ry, x1, y1, x2, y2);
      freeDTM(ore);
    end;

    procedure WithdrawOres;
    begin
      l := 0 if (not (Loggedin)) then
        exit;
      if (not (bankscreen)) then
        exit;
      case lowercase(players[currentplayer].Strings[0]) of
        'bronze':
          begin
            if findOre('copper', x, y, msx1, msy1, msx2, msy2) then
              else
              begin
                writeln('Can not find copper');
                Logout;
              end;
            begin
              mouse(x, y, 3, 3, false);
              Wait(1000 + Random(100));
              if chooseOption('X') then
              begin
                wait(100 + random(100));
                typesend('13');
              end;
            end;
            wait(500 + random(500));
            if findOre('tin', x, y, msx1, msy1, msx2, msy2) then
              else
              begin
                writeln('Can not find tin');
                Logout;
              end;
            begin
              mouse(x, y, 3, 3, false);
              wait(100 + random(100));
              if chooseOption('X') then
              begin
                Wait(1000 + Random(100));
                typesend('13');
              end;
              closebank;
            end;
          end;
        'iron':
          begin
            if findOre('iron', x, y, msx1, msy1, msx2, msy2) then
              else
              begin
                writeln('Can not find iron');
                Logout;
              end;
            begin
              mouse(x, y, 3, 3, false);
              wait(100 + random(100));
              chooseOption('All');
            end;
            closebank;
          end;
        'silver':
          begin
            if findOre('silver', x, y, msx1, msy1, msx2, msy2) then
              else
              begin
                writeln('Can not find silver');
                Logout;
              end;
            begin
              mouse(x, y, 3, 3, false);
              wait(100 + random(100));
              chooseOption('All');
            end;
            closebank;
          end;
        'steel':
          begin
            if findOre('iron', x, y, msx1, msy1, msx2, msy2) then
              else
              begin
                writeln('Can not find iron');
                Logout;
              end;
            begin
              mouse(x, y, 3, 3, false);
              wait(100 + random(100));
              if chooseOption('X') then
              begin
                Wait(1000 + Random(100));
                typesend('9');
              end;
            end;
            wait(500 + random(500));
            if findOre('coal', x, y, msx1, msy1, msx2, msy2) then
              else
              begin
                writeln('Can not find coal');
                Logout;
              end;
            begin
              mouse(x, y, 3, 3, false);
              wait(100 + random(100));
              if chooseOption('X') then
              begin
                Wait(1000 + Random(100));
                typesend('18');
              end;
              closebank;
            end;
          end;
        'gold':
          begin
            if findOre('gold', x, y, msx1, msy1, msx2, msy2) then
              else
              begin
                writeln('Can not find gold');
                Logout;
              end;
            begin
              mouse(x, y, 3, 3, false);
              wait(100 + random(100));
              chooseOption('All');
            end;
            closebank;
          end;
        'mithril':
          begin
            if findOre('mithril', x, y, msx1, msy1, msx2, msy2) then
              else
              begin
                writeln('Can not find mirhril');
                Logout;
              end;
            begin
              mouse(x, y, 3, 3, false);
              wait(100 + random(100));
              chooseOption('5');
            end;
            wait(500 + random(500));
            if findOre('coal', x, y, msx1, msy1, msx2, msy2) then
              else
              begin
                writeln('Can not find coal');
                Logout;
              end;
            begin
              mouse(x, y, 3, 3, false);
              wait(100 + random(100));
              if chooseOption('X') then
              begin
                Wait(1000 + Random(100));
                typesend('20');
              end;
              closebank;
            end;
          end;
        'adamantite':
          begin
            if findOre('adamantite', x, y, msx1, msy1, msx2, msy2) then
              else
              begin
                writeln('Can not find adamantite');
                Logout;
              end;
            begin
              mouse(x, y, 3, 3, false);
              Wait(1000 + Random(100));
              if chooseOption('X') then
              begin
                Wait(1000 + Random(100));
                typesend('3');
              end;
            end;
            wait(500 + random(500));
            if findOre('coal', x, y, msx1, msy1, msx2, msy2) then
              else
              begin
                writeln('Can not find coal');
                Logout;
              end;
            begin
              mouse(x, y, 3, 3, false);
              wait(100 + random(100));
              if chooseOption('X') then
              begin
                Wait(1000 + Random(100));
                typesend('18');
              end;
              closebank;
            end;
          end;
        'runite':
          begin
            if findOre('runite', x, y, msx1, msy1, msx2, msy2) then
              else
              begin
                writeln('Can not find runite');
                Logout;
              end;
            begin
              mouse(x, y, 3, 3, false);
              wait(100 + random(100));
              if chooseOption('X') then
              begin
                Wait(1000 + Random(100));
                typesend('3');
              end;
            end;
            wait(500 + random(500));
            if findOre('coal', x, y, msx1, msy1, msx2, msy2) then
              else
              begin
                writeln('Can not find coal');
                Logout;
              end;
            begin
              mouse(x, y, 3, 3, false);
              wait(100 + random(100));
              if chooseOption('X') then
              begin
                Wait(1000 + Random(100));
                typesend('24');
              end;
              closebank;
            end;
          end;
      end;
    end;

    procedure CastSuperheats;
    var
      i, randomClick: integer;
    begin
      c := 0;
      if (not (Loggedin)) then
        exit;
      if players[currentplayer].Strings[0] = 'bronze' then
        c := 27;
      if players[currentplayer].Strings[0] = 'iron' then
        c := 27;
      if players[currentplayer].Strings[0] = 'steel' then
        c := 9;
      if players[currentplayer].Strings[0] = 'mithril' then
        c := 5;
      if players[currentplayer].Strings[0] = 'adamantite' then
        c := 3;
      if players[currentplayer].Strings[0] = 'runite' then
        c := 3;
      if players[currentplayer].Strings[0] = 'gold' then
        c := 27;
      if players[currentplayer].Strings[0] = 'silver' then
        c := 27;
      Gametab(7);
      repeat
        wait(200) if not CastSpell(26) then
          break;
        Wait(450 + random(150));
        if players[currentplayer].Strings[0] = 'bronze' then
          if not findOre('copper', x, y, MIX1, MIY1, MIX2, MiY2) then
          begin
            writeln('didnt find copper');
            break;
          end;
        if players[currentplayer].Strings[0] = 'iron' then
          if not findOre('iron', x, y, MIX1, MIY1, MIX2, MiY2) then
          begin
            writeln('didnt find iron');
            break;
          end;
        if players[currentplayer].Strings[0] = 'steel' then
          if not findOre('iron', x, y, MIX1, MIY1, MIX2, MiY2) then
          begin
            writeln('didnt find steel');
            break;
          end;
        if players[currentplayer].Strings[0] = 'mithril' then
          if not findOre('mithril', x, y, MIX1, MIY1, MIX2, MiY2) then
          begin
            writeln('didnt find mith');
            break;
          end;
        if players[currentplayer].Strings[0] = 'adamantite' then
          if not findOre('adamantite', x, y, MIX1, MIY1, MIX2, MiY2) then
          begin
            writeln('didnt find addy');
            break;
          end;
        if players[currentplayer].Strings[0] = 'runite' then
          if not findOre('runite', x, y, MIX1, MIY1, MIX2, MiY2) then
          begin
            writeln('didnt find rune');
            break;
          end;
        if players[currentplayer].Strings[0] = 'gold' then
          if not findOre('gold', x, y, MIX1, MIY1, MIX2, MiY2) then
          begin
            writeln('didnt find gold');
            break;
          end;
        if players[currentplayer].Strings[0] = 'silver' then
          if not findOre('silver', x, y, MIX1, MIY1, MIX2, MiY2) then
          begin
            writeln('didnt find silver');
            break;
          end;
        begin
          MMouse(x, y, 2, 2);
          wait(250 + random(150));
          if IsUpText('ore') then
          begin
            Mouse(x, y, 5, 5, True);
            Wait(450 + random(150));
            AntiRandoms;
            c := c + 1;
          end
          else
          begin
            writeln('Can not find ore');
            break;
            WithdrawOres;
            c := c + 1;
            MarkTime(randomClick);
            repeat
              i := Random(27) + 1;
              if (not (ExistsItem(i))) then
              begin
                MouseItem(i, True);
                Break;
              end;
            until (TimeFromMark(randomClick) >= 10000)
          end;
        end;
      until (false)
    end;

    procedure BankBars;
    var
      Bar, time: Integer;
    begin
      Bar := DTMFromString('78DA63946660601062400113DBDB19B880342' +
        '310FF0702460520839B010D302291401A648E0C01353C40429880' +
        '1A652021825F0D00B24D0699');
      MarkTime(time);
      repeat
        if (not (Loggedin)) then
          break;
        OpenBankQuiet('feb')
      until (BankScreen or (TimeFromMark(time) > 120000));
      if Bankscreen then
        else exit;
      begin
        IsUpText('Bar') Deposit(2, 3, 2);
        CloseBank;
        loads := l + 1;
        AntiRandoms;
        ReportVars[0] := ReportVars[0] + 1;
        SRLRandomsReport;
      end;
      FreeDTM(Bar);
    end;

    procedure ProgressReport;
    begin
      ClearDebug;
      Writeln('<|----------------------------------------------|>');
      Writeln(' SuperHeater version 1 by Bonfield ');
      Writeln('                                                  ');
      Writeln(' Worked for ' + TimeRunning);
      Writeln('                                                  ');
      Writeln(' Cast Superheat ' + inttostr(c) + ' times');
      Writeln('<|----------------------------------------------|>');
    end;

    procedure Setup;
    begin;
      SetupSRL;
      ScriptID := '692';
      SRLID := MySRLID;
      SRLPassword := MySRLPassword;                                                                                                                                 ActivateClient;
      Mousespeed := Mspeed;
      DeclarePlayers;
      LoginPlayer;
      SetAngle(true);
      OpenBankQuiet('feb');
      DepositAll;
      WithdrawNats
      AntiRandoms;
    end;

    begin
      setup;
      repeat
        OpenBankQuiet('feb');
        WithdrawOres;
        CastSuperheats;
        AntiRandoms;
        BankBars;
        ProgressReport;
      until (c = Players[currentplayer].integers[0]);
      if (LoggedIn) then
        LogOut;
      if (PlayersActive = 0) then
        LogOut;
    end.



Thread Information

Users Browsing this Thread

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

Similar Threads

  1. Help Superheater?
    By joshdabest01 in forum OSR Help
    Replies: 10
    Last Post: 11-29-2008, 11:22 PM
  2. Superheater
    By G-man in forum RS3 Outdated / Broken Scripts
    Replies: 0
    Last Post: 10-04-2008, 06:11 PM
  3. Need Help With an Auto Superheater
    By Bonfield in forum OSR Help
    Replies: 20
    Last Post: 11-12-2007, 01:19 AM
  4. Ore Superheater
    By Parkey in forum RS3 Outdated / Broken Scripts
    Replies: 3
    Last Post: 05-22-2007, 07:11 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
  •