Results 1 to 11 of 11

Thread: Fire Rune Runner

  1. #1
    Join Date
    Dec 2015
    Posts
    35
    Mentioned
    0 Post(s)
    Quoted
    14 Post(s)

    Default Fire Rune Runner

    I'd like a Fire rune runner starting from dual arena bank to the fire altar and back in a loop. It can use bank presets. I tried looking into the tutorial section and I want to get into scripting myself. I just don't know what scripting language this is in. I think it would be cool for this to be my first script and I hope someone could point me in the right direction of where to start, or if you make the script thats fine to.


    EDIT: This is my progress so far on the script. I've had so much fun learning and making it I stayed up too long so I will finish tomorrow. If anyone has any ideas for me to make it better please tell me. Its not flawless yet. It gets caught up at the altar itself trying to find the craft option.

    Code:
    program FireRunner;
    {$DEFINE SMART}
    {$i srl-6/srl.simba}
    {$i sps/lib/sps-rs3.simba}
    {$i srl-6/lib/misc/srlplayerform.simba}
    procedure bank();
    begin
      bankScreen.open(BANK_CHEST_DUEL);
    end;
    procedure preset();
    begin
       if bankScreen.open(BANK_CHEST_DUEL) then
        bankScreen.clickButton(BANK_BUTTON_PRESET_1) // Grabs Rune Ess
      else
        writeLn('Couldn''t find the bank for some reason!');
    
    end;
    procedure compass();
    var
      compassBox: TBox;
    begin
      compassBox := intToBox(590, 25, 602, 42);
      wait(randomRange(1000, 2000));
      mouseBox(compassBox, MOUSE_LEFT);
      mainScreen.setAngle(MS_ANGLE_HIGH);
    end;
    procedure runToAltar();
    var
       pathToAltar: TPointArray;
    begin
      if not isLoggedIn() then
        exit;
    
      pathToAltar := [Point(137, 167), Point(106, 150), Point(82, 113), Point(78, 84)];
    
      if SPS.walkPath(pathToAltar) then
        minimap.waitPlayerMoving()
      else
        writeLn('We failed to walk to the Altar');
    
    end;
    procedure clickRuins();
    var
      x, y: integer;
    begin
      if mainscreen.findObject(x, y, 7716601, 11, ['sterio'], MOUSE_RIGHT) then
      begin
        chooseOption.select(['nter']); // Enters Ruin
        wait(randomRange(3000, 5000));
      end;
    end;
    procedure craft();
    var
      x, y: integer;
    begin
      if mainscreen.findObject(x, y, 6779249, 110, ['Altar'], MOUSE_RIGHT) then
      begin
        chooseOption.select(['raft']); // Crafts runes
      end;
    end;
    procedure exitPortal();
    var
      x, y: integer;
    begin
      if mainscreen.findObject(x, y, 1718167, 110, ['orta'], MOUSE_RIGHT) then
      begin
        chooseOption.select(['nter']); // Leaves Ruins
      end;
    end;
    procedure goto();    // Stands by altar
    var
      Square: TBox;
    begin
      Square := intToBox(463, 335, 519, 379);
      wait(randomRange(1000, 3000));
      mouseBox(Square, MOUSE_LEFT);
    end;
    
    
    
    begin
      clearDebug();
      setupSRL();
    
      SPS.setup('FIRE_RUNE', RUNESCAPE_OTHER);
    
      compass();
      bank();
      preset();
      runToAltar();
      clickRuins();
      goto();
      craft();
      exitPortal();
    end.
    Last edited by Trash; 12-18-2015 at 08:08 AM.

  2. #2
    Join Date
    Jun 2012
    Posts
    4,867
    Mentioned
    74 Post(s)
    Quoted
    1663 Post(s)

    Default

    Quote Originally Posted by rickyretardo View Post
    I just don't know what scripting language this is in. I think it would be cool for this to be my first script and I hope someone could point me in the right direction of where to start, or if you make the script thats fine to.
    The language we use is called Lape. It's similar to PascalScript. That's not important really though, because all the resources you need are right on this site in the RS3 Scripting Tutorials sections. This is a really good place to start: https://villavu.com/forum/showthread.php?t=107757

    Let us know if you have questions, people are usually pretty fast to help people who have scripting questions

  3. #3
    Join Date
    Jun 2015
    Location
    New Zealand
    Posts
    322
    Mentioned
    2 Post(s)
    Quoted
    131 Post(s)

    Default

    I'll make it for you. What's your runecrafting level and are you f2p or p2p

  4. #4
    Join Date
    Dec 2015
    Posts
    35
    Mentioned
    0 Post(s)
    Quoted
    14 Post(s)

    Default

    Quote Originally Posted by BMWxi View Post
    The language we use is called Lape. It's similar to PascalScript. Let us know if you have questions, people are usually pretty fast to help people who have scripting questions
    Thanks a lot! Been reading this and it seems pretty easy. I'm already to work on my script I hope to have it out soon!
    Last edited by Trash; 12-18-2015 at 02:28 AM.

  5. #5
    Join Date
    Dec 2015
    Posts
    35
    Mentioned
    0 Post(s)
    Quoted
    14 Post(s)

    Default

    Quote Originally Posted by kiwikiwi View Post
    I'll make it for you. What's your runecrafting level and are you f2p or p2p
    I'm 73 rcing and I am f2p.

  6. #6
    Join Date
    Dec 2015
    Posts
    22
    Mentioned
    0 Post(s)
    Quoted
    1 Post(s)

    Default

    nice script so far!

  7. #7
    Join Date
    Dec 2015
    Posts
    35
    Mentioned
    0 Post(s)
    Quoted
    14 Post(s)

    Default

    Can anyone give me any tips on this? Sometimes it runs fine and sometimes it wont find the portal out, when it leaves the portal sometimes it clicks on the wrong spot on the minimap. Its weird.

    You start it infront of the duel arena bank chest, and you need to have a fire tiara on.

    Code:
    program FireRunner;
    {$DEFINE SMART}
    {$i srl-6/srl.simba}
    {$i sps/lib/sps-rs3.simba}
    {$i srl-6/lib/misc/srlplayerform.simba}
    const
      ColorAltar = 7169129;
      ColorPortal = 1519277;
      ColorRuins = 7387385;
      ColorTolAltar = 10;
      ColorTolPortal = 10;
      ColorTolRuins = 10;
    procedure bank();
    begin
      bankScreen.open(BANK_CHEST_DUEL);
    end;
    procedure preset();
    begin
       if bankScreen.open(BANK_CHEST_DUEL) then
        bankScreen.clickButton(BANK_BUTTON_PRESET_1) // Grabs Rune Ess
      else
        writeLn('Couldn''t find the bank for some reason!');
    
    end;
    procedure compass();
    var
      compassBox: TBox;
    begin
      compassBox := intToBox(590, 25, 602, 42);
      wait(randomRange(1000, 2000));
      mouseBox(compassBox, MOUSE_LEFT);
      mainScreen.setAngle(MS_ANGLE_HIGH);
    end;
    procedure runToAltar();
    var
       pathToAltar: TPointArray;
    begin
      if not isLoggedIn() then
        exit;
    
      pathToAltar := [Point(137, 167), Point(106, 150), Point(82, 113), Point(78, 84)];
    
      if SPS.walkPath(pathToAltar) then
        minimap.waitPlayerMoving()
      else
        writeLn('We failed to walk to the Altar');
    
    end;
    procedure ClickRuins(WaitLonger: Boolean); //finds ruin colors, and click it.
    var
      ColorsFound: TPointArray;
      MidPoint: TPoint;
      begin
        if FindColorsTolerance(ColorsFound, ColorRuins, MainScreen.GetBounds, ColorTolRuins) then
        begin
          writeLn('==============Entering Ruins!===============');
          MidPoint := MedianTpa(ColorsFound);
          Mouse(MidPoint, MOUSE_LEFT);
         writeLn('==============Entered Ruins!===============');
         wait(1500 + randomrange(100,150));
        end else
        MiniMap.WaitFlag;
        if (WaitLonger) then
        begin
          wait(1500 + randomrange(100,150));
        end
    
      end;
    procedure CraftRunes(WaitLonger: Boolean); //finds altar colors, if found it clicks altar.
    var
      ColorsFound: TPointArray;
      MidPoint: TPoint;
      begin
        if FindColorsTolerance(ColorsFound, ColorAltar, MainScreen.GetBounds, ColorTolAltar) then
        begin
          writeLn('==============Crafting runes!===============');
          MidPoint := MedianTpa(ColorsFound);
          Mouse(MidPoint, MOUSE_LEFT);
         writeLn('==============Done crafting runes!===============');
         wait(1500 + randomrange(100,150));
        end else
        MiniMap.WaitFlag;
        if (WaitLonger) then
        begin
          wait(2500 + randomrange(100,150));
        end
    
      end;
      procedure ExitPortal(WaitLonger: Boolean); //finds portal colors, if found it clicks portal.
    var
      ColorsFound: TPointArray;
      MidPoint: TPoint;
      begin
        if FindColorsTolerance(ColorsFound, ColorPortal, MainScreen.GetBounds, ColorTolPortal) then
        begin
          writeLn('==============Exiting Portal!===============');
          MidPoint := MedianTpa(ColorsFound);
          Mouse(MidPoint, MOUSE_LEFT);
         wait(1500 + randomrange(100,150));
        end else
        MiniMap.WaitFlag;
        if (WaitLonger) then
        begin
          wait(1300 + randomrange(100,150));
          minimap.waitPlayerMoving()
        end
    
      end;
    procedure goto();    // Stands by altar
    var
      Square: TBox;
    begin
      Square := intToBox(463, 335, 519, 379);
      wait(randomRange(500, 1500));
      mouseBox(Square, MOUSE_LEFT);
       minimap.waitPlayerMoving()
    end;
    procedure runToBank();
    var
       pathToBank: TPointArray;
    begin
      if not isLoggedIn() then
        exit;
    
      pathToBank := [Point(81, 115), Point(129, 162), Point(192, 153), Point(206, 143)];
    
      if SPS.walkPath(pathToBank) then
        minimap.waitPlayerMoving()
      else
        writeLn('We failed to walk to the Bank');
    
    end;
    procedure WaitRandom(MsecToWait: Integer); //Random wait times
      begin
        Wait(MsecToWait + Random(Round(MsecToWait / 5.0)));
      end;
    procedure loop();
    begin
      compass;
      waitRandom(200);
      bank;
      preset;
      waitRandom(30);
      runToAltar;
      ClickRuins(True);
      goto;
      CraftRunes(True);
      ExitPortal(True);
      waitRandom(40);
      runToBank;
    end;
    
    
    
    begin
      clearDebug();
      setupSRL();
    
      SPS.setup('FIRE_RUNE', RUNESCAPE_OTHER);
    
      repeat
      loop();
      until false;
    end.
    Using this
    FIRE_RUNE.PNG
    Last edited by Trash; 12-18-2015 at 09:43 PM.

  8. #8
    Join Date
    May 2012
    Location
    Glorious Nippon
    Posts
    1,011
    Mentioned
    50 Post(s)
    Quoted
    505 Post(s)

    Default

    That SPS map could be better. Try standing midway between the bank and altar.

  9. #9
    Join Date
    Dec 2015
    Posts
    35
    Mentioned
    0 Post(s)
    Quoted
    14 Post(s)

    Default

    Quote Originally Posted by Citrus View Post
    That SPS map could be better. Try standing midway between the bank and altar.
    Do you think I should so SPS map for fire altar?

  10. #10
    Join Date
    May 2012
    Location
    Glorious Nippon
    Posts
    1,011
    Mentioned
    50 Post(s)
    Quoted
    505 Post(s)

    Default

    Quote Originally Posted by rickyretardo View Post
    Do you think I should so SPS map for fire altar?
    I wouldn't use SPS at all in this script. MM symbols are better IME.

  11. #11
    Join Date
    Dec 2015
    Posts
    35
    Mentioned
    0 Post(s)
    Quoted
    14 Post(s)

    Default

    I would just use mini-game, bank, and rune-crafting symbols?

Thread Information

Users Browsing this Thread

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

Posting Permissions

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