Results 1 to 14 of 14

Thread: (OS-Scape) Simple Auto-Buyer

  1. #1
    Join Date
    Nov 2015
    Location
    Oregon
    Posts
    51
    Mentioned
    0 Post(s)
    Quoted
    18 Post(s)

    Cool (OS-Scape) Simple Auto-Buyer


    Simple Auto-Buyer
    I made this because as you know, if you play OS-Scape, you cannot simply buy an "x" amount.
    You have to buy 10 each time.

    ||

    So this being said, here is the code:
    Code:
    program OS_Scape_Auto_Buyer;
      {$I srl-6/srl.simba}
    //srl-6 override function
    function waitClientReady(): boolean;override;begin result:= true;end
    
    //!--EDIT-HERE--!//
    var
      BuyX:= 422; //Item X-coord
      BuyY:= 82; //Item Y-coord
      D:= 15; //Buy timer
    //!-------------!//
    
    const
      Buy10:= BuyY+70;
    
    procedure AutoBuy;
    begin
      Wait(D);
      MoveMouse(BuyX, BuyY);
      ClickMouse(BuyX, BuyY, 0);
      Wait(11);
      MoveMouse(BuyX, Buy10);
      ClickMouse(BuyX, Buy10, 1);
    end;
    
    begin
      SetupSRL();
      repeat
        AutoBuy;
      until(iskeydown(vk_f1));
    end.
    
    //Coded by Mustakrakish @ https://villavu.com/forum/member.php?u=158858
    http://scriptingsrl.atspace.cc/scrip...uto_Buyer.html

    Functions:

    -State your items X & Y coordinate
    -Edit your buy timer
    -Repeats until you press "f1" (can be changed easily)
    -Easy modified to buy more than one item


    Prerequisites:
    -SRL-6
    -Lape interpreter (Script > Interpreter > Lape)


    I mean, this REALLY only took like 5 minutes to code, but this is 5 minutes saved, or 5 minutes learned.

    Enjoy!
    - Mustakrakish
    Starfox
    My Scripts:
    TizenX Damage Token Collector
    OS-Scape Auto Buyer
    Check out an index of all my scripts here: ScriptingSRL

  2. #2
    Join Date
    Jun 2014
    Posts
    144
    Mentioned
    0 Post(s)
    Quoted
    61 Post(s)

    Default

    Nice release

    To make it EVEN simpler, you don't need any sort of randomness in waits or clicks on private servers. Also you can speed up efficiency by eliminating waits altogether by creating a function that waits for the buy menu to open, here's a little example.
    Simba Code:
    Function IsBuyOpen: Boolean;
    var
      x, y:Integer;

    Begin
      if FindColorTolerance(x, y, WhiteText, msx1, msy1, msx2, msy2, 0) then  //Find the white of the text of "Buy 10 xxx"
        Result := true;                                                       //Could easily make this even better by making a bmp
    End;

    Then to get rid of the wait altogether just do
    Simba Code:
    WaitFunc(@IsBuyOpen, 50, 5000);

  3. #3
    Join Date
    Jun 2013
    Location
    Scranton
    Posts
    496
    Mentioned
    5 Post(s)
    Quoted
    220 Post(s)

    Default

    If you start making more complex scripts for this server, I recommend using aerolib, because almost everything is compatible

  4. #4
    Join Date
    Nov 2015
    Location
    Oregon
    Posts
    51
    Mentioned
    0 Post(s)
    Quoted
    18 Post(s)

    Default

    Quote Originally Posted by jstemper View Post
    If you start making more complex scripts for this server, I recommend using aerolib, because almost everything is compatible
    Thanks for this one!
    I do plan on making very nice scripts for this server.

    If you know any other useful information, or want to collaborate, PM me!
    My Scripts:
    TizenX Damage Token Collector
    OS-Scape Auto Buyer
    Check out an index of all my scripts here: ScriptingSRL

  5. #5
    Join Date
    Nov 2015
    Location
    Oregon
    Posts
    51
    Mentioned
    0 Post(s)
    Quoted
    18 Post(s)

    Default

    Quote Originally Posted by Spotify View Post
    Nice release

    To make it EVEN simpler, you don't need any sort of randomness in waits or clicks on private servers. Also you can speed up efficiency by eliminating waits altogether by creating a function that waits for the buy menu to open, here's a little example.
    Simba Code:
    Function IsBuyOpen: Boolean;
    var
      x, y:Integer;

    Begin
      if FindColorTolerance(x, y, WhiteText, msx1, msy1, msx2, msy2, 0) then  //Find the white of the text of "Buy 10 xxx"
        Result := true;                                                       //Could easily make this even better by making a bmp
    End;

    Then to get rid of the wait altogether just do
    Simba Code:
    WaitFunc(@IsBuyOpen, 50, 5000);
    Thanks for the tips!
    I just thought OS-Scape probably had good enough coders to record my packets and might track botters, I didn't want to take the chance.
    Would implementing the bitmap just make it slower? I know it would be safer by reassuring no overclicks, but would it affect the timing harshly?
    My Scripts:
    TizenX Damage Token Collector
    OS-Scape Auto Buyer
    Check out an index of all my scripts here: ScriptingSRL

  6. #6
    Join Date
    Mar 2014
    Posts
    195
    Mentioned
    4 Post(s)
    Quoted
    92 Post(s)

    Default

    Quote Originally Posted by Mustakrakish View Post
    Thanks for the tips!
    I just thought OS-Scape probably had good enough coders to record my packets and might track botters, I didn't want to take the chance.
    Would implementing the bitmap just make it slower? I know it would be safer by reassuring no overclicks, but would it affect the timing harshly?
    the bitmap shouldn't slow your script ,if you load it at the beginning of the script then freeing it on terminate.

    you could always try it on a tester account but i doubt a rsps would have that tbh.

  7. #7
    Join Date
    Jun 2013
    Location
    Scranton
    Posts
    496
    Mentioned
    5 Post(s)
    Quoted
    220 Post(s)

    Default

    Quote Originally Posted by Mustakrakish View Post
    Thanks for the tips!
    I just thought OS-Scape probably had good enough coders to record my packets and might track botters, I didn't want to take the chance.
    Would implementing the bitmap just make it slower? I know it would be safer by reassuring no overclicks, but would it affect the timing harshly?
    Simba doesn't send false packets compared to something like runeagent. And even if it did, I don't think admins would bother looking at your logs. The only bans on a rsps are usually manual. Unless parabot supports the server, then they might look at your client.

  8. #8
    Join Date
    Nov 2015
    Location
    Oregon
    Posts
    51
    Mentioned
    0 Post(s)
    Quoted
    18 Post(s)

    Default

    Quote Originally Posted by jstemper View Post
    Simba doesn't send false packets compared to something like runeagent. And even if it did, I don't think admins would bother looking at your logs. The only bans on a rsps are usually manual. Unless parabot supports the server, then they might look at your client.
    Well, I know that.
    But when you do anything to interact with the server (clicking emotes, trading a player, attacking a npc) you send packets to the server no mater what, and the server sends a packet back.
    If the packets are being sent constantly and do not change in time, they are clearly not human.

    But yeah, I'm pretty sure they don't have anything like this, but you can always be safe.
    My Scripts:
    TizenX Damage Token Collector
    OS-Scape Auto Buyer
    Check out an index of all my scripts here: ScriptingSRL

  9. #9
    Join Date
    Jun 2013
    Location
    Scranton
    Posts
    496
    Mentioned
    5 Post(s)
    Quoted
    220 Post(s)

    Default

    Quote Originally Posted by Mustakrakish View Post
    Well, I know that.
    But when you do anything to interact with the server (clicking emotes, trading a player, attacking a npc) you send packets to the server, and the server sends a packet back.
    If the packets are being sent constantly and do not change in time, they are clearly not human.

    But yeah, I'm pretty sure they don't have anything like this, but you can always be safe.
    oh you meant like clicking on the same pixel everytime, and waiting the same everytime. Well shit, all the more reason to use aerolib on this server then (human mouse movements)

  10. #10
    Join Date
    Jun 2014
    Posts
    144
    Mentioned
    0 Post(s)
    Quoted
    61 Post(s)

    Default

    Quote Originally Posted by Mustakrakish View Post
    Thanks for the tips!
    I just thought OS-Scape probably had good enough coders to record my packets and might track botters, I didn't want to take the chance.
    Would implementing the bitmap just make it slower? I know it would be safer by reassuring no overclicks, but would it affect the timing harshly?
    Nope, if you load the bmp at the very start of the script and not every time the function is called it should work as fast as anything else. I don't think there is a single rsps with bot detection

  11. #11
    Join Date
    Mar 2014
    Posts
    195
    Mentioned
    4 Post(s)
    Quoted
    92 Post(s)

    Default

    Here is an example of how to do it with out bitmaps. so full color/tboxes. Add still have randomness =p

    Simba Code:
    program default;
    {$i srl-6/srl.simba}
    var
    BackgroundOFOptionMenu:TPointArray;

    function IsOptionMenuOpen:boolean;
    var
    ShopBounds:Tbox;
    begin
      ShopBounds:= intToBox(20, 24,502, 322);
     if FindColorsTolerance(BackgroundOFOptionMenu, 4674653,ShopBounds, 0, colorSetting(0, 0, 0)) then result:= true;
    end;

    procedure SelectOption(Option:integer);
    var
    FullOptionMenu:Tbox;
    Options:TboxArray;
    begin
      FullOptionMenu:= BackgroundOFOptionMenu.getBounds;
      Options:= FullOptionMenu.split(FullOptionMenu.getwidth,round(FullOptionMenu.getHeight/5)-1);
      mousebox(Options[Option],MOUSE_LEFT);//mouse moves in box randomly
      wait(RandomRange(400,600));//wait to buy
      //options0 = vale 1= buy 1 2= buy 5 3= buy 10 4= examine 5=  cancel

    end;

    procedure Buyitem(PointTobuy:Tpoint; HowManyTimesToBuy:integer);
    var
    i:integer;
    begin
      for i:= 1 to HowManyTimesToBuy do
      begin
      mouse(PointTobuy,MOUSE_RIGHT,MOUSE_ACCURATE);
      waitfunc(@IsOptionMenuOpen,50,5000);
      SelectOption(3);
      end;
    end;


    begin
    activateClient();
    Buyitem(point(96, 81).rand(-5,5),3);

    end.

  12. #12
    Join Date
    Apr 2017
    Posts
    12
    Mentioned
    0 Post(s)
    Quoted
    2 Post(s)

    Default

    Great script it works fantastic.

  13. #13
    Join Date
    Apr 2017
    Posts
    5
    Mentioned
    0 Post(s)
    Quoted
    3 Post(s)

    Default

    looks good!

  14. #14
    Join Date
    Apr 2017
    Posts
    5
    Mentioned
    0 Post(s)
    Quoted
    1 Post(s)

    Default

    Nice! check out my Auto Voter.

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
  •