Page 1 of 2 12 LastLast
Results 1 to 25 of 34

Thread: Soulsplit gem stall theiver

  1. #1
    Join Date
    Sep 2010
    Posts
    5,762
    Mentioned
    136 Post(s)
    Quoted
    2739 Post(s)

    Default Soulsplit gem stall theiver

    Soulsplit gem stall theiver



    Features


    - Hovers over stall for maximum XP
    - Solves interface random
    - baker , spice , gem , fur , silk , silver stall support
    - Auto login
    - Logs out if a certain text appears in the chatbox (optional)
    - Timeout failsafe


    Instructions


    - Download srlRSPS include from https://github.com/officerBarbrady/srlRSPS
    - Extract to c:simba/includes and rename to 'RSPS'
    - Change script interpreter to lape
    - Fill out the script info
    - Start near preferred stall, clear your inventory of any valuables
    - If the script stops please post the screenshot on this thread
    - Set your brightness to max
    Attached Files Attached Files

  2. #2
    Join Date
    Jun 2007
    Location
    The land of the long white cloud.
    Posts
    3,702
    Mentioned
    261 Post(s)
    Quoted
    2006 Post(s)

  3. #3
    Join Date
    Nov 2011
    Location
    England
    Posts
    3,072
    Mentioned
    296 Post(s)
    Quoted
    1094 Post(s)

    Default

    Quote Originally Posted by The Mayor View Post
    Don't you need a program name?

    nop

  4. #4
    Join Date
    Mar 2006
    Location
    Belgium
    Posts
    3,564
    Mentioned
    111 Post(s)
    Quoted
    1475 Post(s)

    Default

    please do some rs3 scripting.

    Creds to DannyRS for this wonderful sig!

  5. #5
    Join Date
    Sep 2010
    Posts
    5,762
    Mentioned
    136 Post(s)
    Quoted
    2739 Post(s)

    Default

    Quote Originally Posted by Sjoe View Post
    please do some rs3 scripting.
    Waiting for the minmap to be fixed

  6. #6
    Join Date
    Sep 2012
    Location
    Netherlands
    Posts
    2,752
    Mentioned
    193 Post(s)
    Quoted
    1468 Post(s)

    Default

    Quote Originally Posted by Officer Barbrady View Post
    Waiting for the minmap to be fixed
    what do you mean with that?

  7. #7
    Join Date
    Sep 2010
    Posts
    5,762
    Mentioned
    136 Post(s)
    Quoted
    2739 Post(s)

    Default

    Quote Originally Posted by hoodz View Post
    what do you mean with that?
    The minimap goes completely blank it's an openGL glitch, Might just use Brandons directX plugin

  8. #8
    Join Date
    Sep 2012
    Location
    Netherlands
    Posts
    2,752
    Mentioned
    193 Post(s)
    Quoted
    1468 Post(s)

    Default

    Quote Originally Posted by Officer Barbrady View Post
    The minimap goes completely blank it's an openGL glitch, Might just use Brandons directX plugin
    Just teleport a few times/walk in other area's and try going into the lobby. That will fix it

  9. #9
    Join Date
    Sep 2010
    Posts
    5,762
    Mentioned
    136 Post(s)
    Quoted
    2739 Post(s)

    Default

    Quote Originally Posted by hoodz View Post
    Just teleport a few times/walk in other area's and try going into the lobby. That will fix it
    Yea, that's if you're playing legit. But if your botting that's annoying to do

  10. #10
    Join Date
    Mar 2006
    Location
    Belgium
    Posts
    3,564
    Mentioned
    111 Post(s)
    Quoted
    1475 Post(s)

    Default

    Quote Originally Posted by Officer Barbrady View Post
    Yea, that's if you're playing legit. But if your botting that's annoying to do
    Yeh u got a point there

    Creds to DannyRS for this wonderful sig!

  11. #11
    Join Date
    Jan 2014
    Posts
    7
    Mentioned
    0 Post(s)
    Quoted
    5 Post(s)

    Default

    Unknown declaration "waitOption" at line 77, column 14

  12. #12
    Join Date
    Sep 2010
    Posts
    5,762
    Mentioned
    136 Post(s)
    Quoted
    2739 Post(s)

    Default

    Quote Originally Posted by trashcan View Post
    Unknown declaration "waitOption" at line 77, column 14
    Compiles fine for me, you must have installed it wrong show me your includes folder (C:simba/includes)

  13. #13
    Join Date
    Dec 2011
    Posts
    10
    Mentioned
    2 Post(s)
    Quoted
    5 Post(s)

    Default

    Got the script working, but it doesn't click.
    Last edited by hazlloyd; 02-17-2014 at 10:53 PM.

  14. #14
    Join Date
    Sep 2010
    Posts
    5,762
    Mentioned
    136 Post(s)
    Quoted
    2739 Post(s)

    Default

    Quote Originally Posted by hazlloyd View Post
    Got the script working, but it doesn't click.
    Is your brightness on max?

  15. #15
    Join Date
    Dec 2011
    Posts
    10
    Mentioned
    2 Post(s)
    Quoted
    5 Post(s)

    Default

    Quote Originally Posted by Officer Barbrady View Post
    Is your brightness on max?
    Hi Brady.
    I am playing on SS2, 'oldschool' detail, 317 gameframe with 562 hitsplats.
    Brightness is on maximum, and the zoom feature is set to default. (point in the middle)

  16. #16
    Join Date
    Sep 2010
    Posts
    5,762
    Mentioned
    136 Post(s)
    Quoted
    2739 Post(s)

    Default

    Quote Originally Posted by hazlloyd View Post
    Hi Brady.
    I am playing on SS2, 'oldschool' detail, 317 gameframe with 562 hitsplats.
    Brightness is on maximum, and the zoom feature is set to default. (point in the middle)
    Did you drag the green arrow to the client?

  17. #17
    Join Date
    Dec 2011
    Posts
    10
    Mentioned
    2 Post(s)
    Quoted
    5 Post(s)

    Default

    Quote Originally Posted by Officer Barbrady View Post
    Did you drag the green arrow to the client?
    Thank you sir.
    Have only really started using vilavu, but know basic pascal. You may be my motivation to make me script :P
    Brilliant script.

  18. #18
    Join Date
    Dec 2011
    Posts
    10
    Mentioned
    2 Post(s)
    Quoted
    5 Post(s)

    Default

    In regards to the script.

    interface,
    Select an option
    Destroy this high valued item
    Keep this item

    when thieving 'Gems' works almost perfectly.
    Would it be possible to code the interface above so that it drops the 'high valued items'?

    Such items are:

    Super Defence(4)
    Morchella Mushroom
    Coins


    Edit: A different interface is shown for coins.

  19. #19
    Join Date
    Sep 2010
    Posts
    5,762
    Mentioned
    136 Post(s)
    Quoted
    2739 Post(s)

    Default

    Quote Originally Posted by hazlloyd View Post
    In regards to the script.

    interface,

    when thieving 'Gems' works almost perfectly.
    Would it be possible to code the interface above so that it drops the 'high valued items'?

    Such items are:

    Super Defence(4)
    Morchella Mushroom
    Coins


    Edit: A different interface is shown for coins.
    Yes, what thieving level is needed for gems?

  20. #20
    Join Date
    Dec 2011
    Posts
    10
    Mentioned
    2 Post(s)
    Quoted
    5 Post(s)

    Default

    Level 80 for gems stall.
    Finally, script is failing a lot, so have turned fails = 10 to fails = 100.

  21. #21
    Join Date
    Sep 2010
    Posts
    5,762
    Mentioned
    136 Post(s)
    Quoted
    2739 Post(s)

    Default

    Quote Originally Posted by hazlloyd View Post
    Level 80 for gems stall.
    Finally, script is failing a lot, so have turned fails = 10 to fails = 100.
    If or when I get 80 thieving I might add that

  22. #22
    Join Date
    Dec 2011
    Posts
    10
    Mentioned
    2 Post(s)
    Quoted
    5 Post(s)

    Default

    Quote Originally Posted by Officer Barbrady View Post
    If or when I get 80 thieving I might add that
    If you would like an account with 80 thieving, let me know.

  23. #23
    Join Date
    Sep 2010
    Posts
    5,762
    Mentioned
    136 Post(s)
    Quoted
    2739 Post(s)

    Default

    @hazlloyd;

    Do you think you could post a picture of all the items that are considered 'valuable'

    currently, I have a drop that will drop all valuables, but I also made a function that will drop all items but the values, and then come back and drop them.

    Reasoning:

    If I wait for the 'are you sure you want to drop?' interface to show up, then it will take an extra 400-600 ms per item.. assuming 80% of the items aren't valuable that means 11 seconds are wasted each time it drops an inventory. It's better to just drop all the other items, and then go back to the items that you know are valuable. This is made even faster by not even right clicking and attempting to drop items that are known to have the interface pop up (again moving the mouse, right clicking, waiting for the ption another 500 ms)

    So ultimately this will speed up the script significantly

  24. #24
    Join Date
    Sep 2010
    Posts
    5,762
    Mentioned
    136 Post(s)
    Quoted
    2739 Post(s)

    Default

    @hazlloyd;

    Updated script, just need more bitmaps. Be sure to update RSPS include:

    Simba Code:
    {$I RSPS/srlRSPS.Simba}

    // VERSION 1.00

    const
      timeout = 30000;
      fails = 30;
      stall = 'spice';
      {*baker * spice * gem * fur * silk * silver*}
      logOutChatMessage = [''];
      {Logout if text appears in chat, Leave blank if you don't want to use}
      {

      Example form:

        timeout = 10000;
        fails = 10;
        stall = 'Fur';
        logOutChatMessage = ['r u botting','bot?'];
      }


     var
      e:_rsps_server;
      uptexts:TStringArray;
      failSafeTimer, failCount, steals, randoms:integer;
      startXP:integer;
      bmpArray:TIntegerArray;

    procedure loadUptext(stallType:string);
    begin
      case lowerCase(stallType) of
        'baker' : uptexts := ['aker','Bake','Bak'];
        'spice' : uptexts := ['pice','Spice','Spi'];
        'gem'   : uptexts := ['Gem','em'];
        'fur'   : uptexts := ['Fur'];
        'silk'  : uptexts := ['Silk','ilk'];
        'silver': uptexts := ['ilver','lver','Silver'];
      end;
      setLength(bmpArray, 3);
      bmpArray[0] := BitmapFromString(20, 10, 'meJyTO/xebt8Lma33ZNZfk1xyUmzmbkYGBgUFAyApd+iN3NGPcqe+aZz7LbPrMUh20iZkBFQgs+MBRKPk7H1iE9YDdUGQ3PEvQF1yB14BZcW6V6JpBCKoxuVn+NLrMGXRFW++DVK/6zHQqSBLYU7Fr0uoeQFfSpXM7qcQBNK77wW6smk7QOYDFQDNB9oCNHn1RZCrCjr5ovNBgmB7IQhkNUTlphsya68IVU+TnHcAJAIMPbAIUCNQBCjOF1sEsQ4ktfUe0ExQUIA1gsxfclKobQlQPUgv0FK4xrYlfLltnP5JoLA98ApiAtQcWHCJ9a4BBqzi2d9yp39AbUdzeUoVyEcQNwOlwFZIrjwnueAwUBwaO0c/AlXCXQ7RCFQA9DWe8IToBRkOcTlEL9DkRccgXgY6DIKAsgAufCLU');
      bmpArray[1] := BitmapFromString(11, 9, 'meJzz3XzZYcMls3UXTVacNll+Qnfyeq2OJXCk0TjLd/Nl6w2XTFadgSjQm7ZFd8JaiKx29zKt1gVAWbM150AKwGoMZm4HGgKUgiCgAqDhQAVwNQZz9upN3gRV0LNCq32h+XqQA+DKDBceANoClIIgiAJkNcaLj4AMgajpWw10CdANyGqA7jSct09vxjagLFwBXA0QAZ1hvPAw0KlAWaB3gC4BBoIDWA1EGdAQkC2zdwFlIQoAwPqZxQ==');
      bmpArray[2] := BitmapFromString(18, 8, 'meJyTO/BK7vgXmd1PZdZfk9n1WGbTDcmV5yQXHOZLr2NkYFBQMACSIKlNN2Q235ZcfkZy9j6x3jVyh9/Lnf4hs+OB5JKTyLqEqqdBdBk7uEE1br0HkoLoOvoRpGv9Ncl5B/hy20Aa114B6gJKCZVNAKo3tHaG6tp8G2T46otAlWKTNkEQSGXHcpBT4Y4s6EQ4EujCHQ9A1i0/IzZtB0QLp38SUAqI5Pa9QDiyeQFCF9giiNfEZu4GqVlwmDM8GyS19orcoTcg2bVXxKZuRbFr6z2orkXHQA5bfRFoI19sEciiw+9BLgRKAR2/5CREC1QX0L9AjUArlpwEqod4jS+lCqTr6Eeof2fvE6qbBXEzBEF1AQMNGIYT1gMA6TCvBQ==');
    end;

    function findStall:boolean;
    var
      tentTPA:TPointArray;
      tentATPA:T2DPointArray;
      i:integer;
      move:TPoint;
    begin
      SetColorToleranceSpeed(2);
      SetToleranceSpeed2Modifiers(0.13, 0.69);
      FindColorsTolerance(tentTPA, 9150895, mainscreen.bounds, 6);
      SetToleranceSpeed2Modifiers(0.2, 0.2);
      SetColorToleranceSpeed(1);
      if length(tentTPA) > 0 then
      begin
        tentATPA := clusterTPA(tentTPA, 2);
        filterTpasBetween(tentATPA, 0, 50);
        sortATPAFromFirstpoint(tentATPA, point(258, 219));
        for i := 0 to high(tentATPA) do
        begin
          move := middleTPA(tentATPA[i]);
          mmouse(move.x, move.y, 0, 0);
          if e.waitUpTextMulti(uptexts, 300) then
            exit(true);
        end;
      end;
    end;

    function checkMarkExists:boolean;
    begin
      result := (countColorTolerance(3051090, 238, 434, 280, 471, 61) > 90)
    end;

    function selectOptionExists:boolean;
    var
      text:string;
    begin
      text := getSimpleText([128], 202, 410, 327, 433, 'charsnpc07');
      result := text.contains(['elect','ption','Opti']);
    end;

    function valDrop:boolean;
    begin
      result := checkMarkExists or selectOptionExists;
    end;

    procedure clickYes;
    begin
      if checkMarkExists then
        mouse(296, 454, 0, 0, mouse_left)
      else if selectOptionExists then
        mouse(258, 454, 0, 0, mouse_left)
      else
    end;

    function _rsps_server.dropValauble:boolean;
    var
      i, c, k:integer;
    begin
      c := inventory.count();
      if (c = 0) then
        exit(true);
      for i := 0 to 27 do
        if inventory.slotFull(i) then
        begin
          inventory.interactItem(i, mouse_right);
          if self.waitOption('rop', 200) then
            if waitFunc(@valDrop, 50, 700) then
              clickYes;
        end;
      exit(k = c);
    end;

    function getInterfaceText:string;
    var
      textTPA:TPointArray;
      textATPA:T2DPointArray;
    begin
      findColorsTolerance(textTPA, 65535, 430, 69, 504, 82, 1);
      textATPA := splitTPAEx(textTPA, 1, 10);
      filtertpasbetween(textatpa, 0, 1);
      SortATPAFromFirstPointX(textATPA, Point(0, 0));
      result := getTextATPA(textATPA, 3, 'smallchars07');
    end;

    function interfaceEvent:boolean;
    begin
      result := getInterfaceText = 'close window';
    end;

    procedure findRandoms;
    begin
      if interfaceEvent then
      begin
        mmouse(455, 76, 0, 0);
        if e.waitUpTextMulti(['Close','lose'], 300) then
        begin
          clickMouse2(mouse_left);
          randoms := randoms + 1;
        end;
      end;
    end;

    function ss_loggedin:boolean;
    begin
      result := (getColor(426, 543) = 16777215);
    end;

    procedure ss_login;
    begin
      if not ss_loggedin then
      begin
        mouse(480, 469);
        waitFunc(@ss_loggedin, 40, 5000);
        wait(1200);
      end;
    end;

    procedure ss_logout;
    begin
      mouse(753, 64);
      wait(1200);
      mouse(643, 429);
    end;

    procedure terminate(message:String;screenshot:boolean);
    var
      bmp, i:integer;
    begin
      if screenshot then
      begin
        bmp := bitmapFromClient(1, 54, 762, 554);
        DisplayDebugImgWindow(762, 500);
        DrawBitmapDebugImg(Bmp);
      end;
      writeln('=======================================');
      writeln('Script stopped, error message : ' );
      writeln(message);
      writeln('=======================================');
      ss_logout;
      for i := 0 to high(bmpArray) do
        freeBitmap(bmpArray[i]);
      terminateScript();
    end;

    function perHour(what:integer):integer;
    begin
      result := Round(what * (3600.0 / (GetTimeRunning / 1000.0)));
    end;

    function progress:boolean;
    var
      steals_PH:integer;
    begin
      steals_PH := Round(steals * (3600.0 / (GetTimeRunning / 1000.0)));
      clearDebug;
      writeln('=======================================');
      writeln('Time running ' , timeRunning);
      Writeln('Steals : ',  steals, ' Per hour ', steals_PH);
      writeln('XP : ' , (ss_GetXPBarTotal - startXP) , ' Per hour ', perHour(ss_GetXpBarTotal - startXP));
      writeln('Randoms : ' , randoms );
      if steals > 0 then
        writeln('Random :: steals ratio : ' , (randoms / steals));
      writeln('=======================================');
      result := not isKeyDown(113);
    end;
         // didClick <> mine

    procedure loop;
    begin
      if (timeFromMark(failSafeTimer) > timeout) then
        terminate('Ran out of time , last action : ' + toStr(TimeFromMark(failSafeTimer)), true);
      if (failCount > fails) then
        terminate('Too many fails , show the debug screeny on the script thread, fails: ' + toStr(failCount), true);
      ss_login;
      findRandoms;
      if (inventory.full) then
      begin
        e.dropAllExcept(inventory.bitmapPositionMulti(bmpArray, [50, 50, 50]));
       // e.dropValauble;
      end;
      if e.isUpTextMulti(uptexts) then
      begin
        clickMouse2(mouse_left);
        if DidClick(true, 200) then
        begin
          steals := steals + 1;
          wait(1900);
        end;
      end
      else
      if not (e.IsUpTextMulti(['1 more'])) then
      begin
        if not findStall() then
          failCount := failCount + 1
        else
        begin
          if DidClick(true, 200) then
          begin
            steals := steals + 1;
            failCount := 0;
            markTime(failSafeTimer);
            wait(1900);
          end;
        end;
      end;
      if (logOutChatMessage[0] <> '') then
        if e.chatTextExists(logOutChatMessage) then
          terminate('Found chat text , chatlog ' + toStr(e.getChat), true);
    end;

    begin
      e.init('soulsplit');
      mainscreen.bounds := intToBox(2, 57, 514, 392);
      loadUptext(stall);
      inventory.setUp(intToBox(563, 266, 721, 513));
      startXP := ss_getXpBarTotal();
      while progress() do
        loop;
    end.

  25. #25
    Join Date
    Sep 2013
    Posts
    3
    Mentioned
    0 Post(s)
    Quoted
    1 Post(s)

    Default

    I keep getting a Unknown compiler directives at 13:3
    any ideas?

Page 1 of 2 12 LastLast

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
  •