Page 1 of 3 123 LastLast
Results 1 to 25 of 65

Thread: AntiRandoms and AntiBan Guide

  1. #1
    Join Date
    Mar 2007
    Posts
    3,042
    Mentioned
    1 Post(s)
    Quoted
    14 Post(s)

    Default AntiRandoms and AntiBan Guide

    AntiRandoms and AntiBan - A Guide
    by Method

    Table of Contents:
    • Overview
    • Nicknames and Their Uses
    • AntiRandom Procedures
    • Using AntiRandoms Effectively
    • What about FindFastRandoms?
    • A Summary of AntiBan Procedures
    • Using AntiBan Effectively
    • Closing



    Overview -

    Antiban and, more importantly, antirandoms are an integral part of almost any script, save ones that cannot receive random events like some Duel Arena Alchers. The purpose of random events are to stop players like you and I from macroing for long periods of time. However, with SRL's Player Switching system, we drastically reduce the amount of random events that are encountered by our players. However, there will always be random events there to stop us, and that is where antirandoms come in. Similarly, antiban helps keep our characters safe by reducing repetitive movement. Both of these features of SRL help make our characters look like legitimate players while they happily hack away at the tree, mine the rocks, or carry away whatever task you have set them to do.


    Nicknames and Their Uses -

    I'll start off by showing you an excerpt from a sample script.
    SCAR Code:
    procedure DeclarePlayers;
    begin
      HowManyPlayers := 1;
      NumberOfPlayers(HowManyPlayers);
      CurrentPlayer := 0;

      Players[0].Name := 'Username';
      Players[0].Pass := 'Password';
      Players[0].Nick := 'ser';
      Players[0].Active := True;
    end;
    I'm sure all of you who have used a script before have seen a procedure like DeclarePlayers in the script. What we're going to look at here is the Players[0].Nick line. This line is very important if you're going to be using antirandoms in your script. The input for the nickname is very simple. Choose three or four consecutive characters from your player's name, excluding the first character, and put it in there. For example, if my username was Method, my nickname could be 'etho', 'thod', etc. NickNameBMP is no longer necessary, but in order to successfully find randoms, you need to start logged out and use SRL's LoginPlayer to set the NickName correctly.


    AntiRandom Procedures -

    There are quite a few files in the AntiRandoms.scar file, but there's only a few that are very important. You should include these in an antirandoms procedure that you call yourself in every script that can get a random event. These two functions are:
    • FindNormalRandoms - Your generic procedure that will handle every random event, though not necessarily solve it. It's essential that you include this or else your autoing time will be severely limited.
    • FindFight - This will see if you're in a fight with one of the fighting random events (troll, swarm, golem, etc.). However, this will not run away from the fights. You need to do this yourself, which I'll show you in a bit.



    Using AntiRandoms Effectively -

    While making your script, it's important to add antirandom protection wherever you could encounter a random event. Examples of actions you could receive a random event in include: interacting with an object such as a rock or tree, walking to a new location, talking to an NPC, and more. It's important to call for randoms as often as you can in order to ensure your script runs correctly.

    Good places to add antirandoms are in a loop where you're waiting for something to happen, such as a rock to be mined or tree to be cut down. Here is an example of a good antirandoms procedure that you can call in a loop or whenever else you feel you need some protection against random events:

    SCAR Code:
    procedure AntiRandoms;
    begin
      if not LoggedIn then Exit;
      FindNormalRandoms; // find random events
      if FindFight then
        RunAway('N', True, 1, 5000); // if a fight is found, runs to the north, runs far, waits 5000 seconds, then performs action 1 (which is run back)
    end;




    What about FindFastRandoms? -

    FindFastRandoms was a function created by WT-Fakawi in order to cover the random events missed by FindNormalRandoms in versions of SRL lower than version 4 revision 6. As of now, it's obsolete because FindNormalRandoms covers all of the possible randoms that SRL catches. Here is what FindFastRandoms looked like, for historical, purposes.

    SCAR Code:
    function FindFastRandoms: Boolean;
    var
      i: Integer;
    begin
      for i:=1 to 10 do
      begin
        case I of
         1:  If FindDead then
               Result := True;
         2:  If FindMod then
               Result := True;
         3:  If FindMime then
               Result := True;
         4:  If FindMaze then
               Result := True;
         5:  If FindQuiz then
               Result := True;
         6:  If FindDemon then
               Result := True;
         7: begin
               if NoGameTab then
               begin
                 Result := True;
                 Players[CurrentPlayer].loc := 'No GameTab';
               end;
             end;
         8: begin
               if InBlack then
               begin
                 Result := True;
                 Players[CurrentPlayer].loc := 'InBlack';
               end;
             end;
           9: RC;
           10: Respond;
        end;
        wait(1);
      end;
    end;




    A Summary of AntiBan Procedures -

    The antiban file is also located inside the core folder within SRL. It looks relatively small, but the functions inside will help keep your characters unbanned and autoing for long periods at a time. The important functions in the antiban file are: RandomRClick, HoverSkill, AlmostLogout, and BoredHuman. Let's see what each does:
    1. RandomRClick - This function does what its name implies: does a random right-click on the screen somewhere. It doesn't do much other than that, really, but is useful for doing random stuff.
    2. HoverSkill - Like RandomRClick, and most of the files within AntiBan.scar, HoverSkill does what you think it would. You can set which skill to hover over, as well as whether to click it or not. It will then navigate to the skills tab and hover/click on the skill you chose.
    3. AlmostLogout - AlmostLogout goes to the logout tab and hovers over the logout button multiple times, simulating a player thinking about logging out after playing for a bit.
    4. BoredHuman - BoredHuman does quite a few things. It moves the mouse around randomly, examining things if it can. Next it searches for randoms (always a plus!) and then moves the screen around using the arrow keys. It finally sets the compass to north and raises the angle to the highest point. It's useful for simulating what someone who was bored would do, but can be quite time consuming because it does the steps quite a few times.
    5. AutoTalking - Some scripts have functions that randomly type in the chatbox as a form of antiban. This can work, to some extent, but is probably more likely to attract attention to your autoing character than not chatting. If someone else tries to start up a conversation with you and you start saying random things, you could be instantly flagged by that person as a macroer, who could then report you. Nevertheless, this is an option you can use if you see fit. Check out Tutorial Island and various scripts for ones with autotalkers or tutorials about them.

    There are also other types of antiban that you can create yourself. Ideas you could incorporate could be an auto-responder, random gametab switching, random key sending, and more.


    Using AntiBan Effectively -

    Like antirandoms, antiban is particularly useful in loops where you're waiting for something to happen. You can easily insert your antiban procedure into a function like the ones mentioned above. You can also make some antiban functions if you want, like some autotalking, random mouse movement, etc. I recommend that your antiban function look somewhat like this, though you can always change it to fit your needs:
    SCAR Code:
    procedure AntiBan;
    begin
      case random(100) of //do a random number so it won't always perform the antiban
        0: RandomRClick;
        1: BoredHuman;
        2: HoverSkill('Mining', False);
        3: AlmostLogout;
      end;
    end;
    You can place this function anywhere you'd like to have some antiban, including and especially procedures that wait for something to happen like a tree to fall or rock to be mined.


    Closing -

    Overall, including antirandoms and (less importantly, but still useful) antiban into your script is a great option that isn't difficult at all. Using the details provided above you should be able to successfully create a script that covers all the random events you might receive as well as include some antiban measures to keep your characters, well, unbanned! Hopefully after reading this tutorial you've learned something and will be able to apply it to your scripts. If you have any questions or comments, feel free to post here and I'll do my best to answer them and fix problems as soon as possible.
    :-)

  2. #2
    Join Date
    Oct 2006
    Posts
    6,752
    Mentioned
    95 Post(s)
    Quoted
    532 Post(s)

    Default

    SCAR Code:
    procedure AntiBan;
    begin
      case random(100) of //do a random number so it won't always perform the antiban
        0: RandomRClick;
        1: BoredHuman;
        2: HoverSkill('Mining', False);
        3: RandomSpam; //made up procedure to say random stuff
        4: AlmostLogout;
      end;
    end;

    ok after you do this, were in the main loop do you put anti ban? Great tut thought mabey a sticky...
    “The long-lived and those who will die soonest lose the same thing. The present is all that they can give up, since that is all you have, and what you do not have, you cannot lose.” - Marcus Aurelius

  3. #3
    Join Date
    Mar 2007
    Posts
    3,042
    Mentioned
    1 Post(s)
    Quoted
    14 Post(s)

    Default

    You can put that procedure anywhere you want to use it. For example, if you want to use it while chopping down a tree, put it in your chopping / waiting for the tree to fall procedure.

    Thanks for the comment, by the way.
    :-)

  4. #4
    Join Date
    Dec 2007
    Posts
    51
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    You have a good flow to your very good tutorial.

    When I'm playing RS I very seldom move my mouse around to other places on the map other than where I'm going and only when I'm going there. When I'm mining I (knock on wood) have not had a random event happen in the last three days. Why would I want to add these "strange" movements to a simple process? Wouldn't that look suspicious and "un-human" like?

  5. #5
    Join Date
    Mar 2007
    Posts
    3,042
    Mentioned
    1 Post(s)
    Quoted
    14 Post(s)

    Default

    They're just an option for you to use to help keep your characters looking legit. From what I've heard and seen, most people don't keep the mouse right over the rock the entire time they're mining or chopping a tree, so moving it around some (keep in mind antiban doesn't ALWAYS occur if you use a random number) can't hurt. If you don't need it, you're free to not use it, but the option is always there.

    Anyways, thanks for your comments, I've edited the tutorial a bit stating that antiban isn't always a necessity.
    :-)

  6. #6
    Join Date
    Apr 2007
    Location
    Michigan -.-
    Posts
    1,357
    Mentioned
    2 Post(s)
    Quoted
    4 Post(s)

    Default

    Very nice tut, well explained.

    But i would take out the part of the antiban with the RandomSpam. Although sending messages in antiban is randomized...it still will look very suspicious if for some reason you say the exact same thing 2 or 3 times in a row.

    Other than that nice work
    METAL HEAD FOR LIFE!!!

  7. #7
    Join Date
    Mar 2007
    Posts
    3,042
    Mentioned
    1 Post(s)
    Quoted
    14 Post(s)

    Default

    All right, I've edited that out. You're probably right - saying the same thing twice in a row would definitely be some anti-antiban (haha ) and would probably lead players to report you.
    :-)

  8. #8
    Join Date
    Nov 2007
    Posts
    437
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    First you might want to mention you need knowledge of arrays for the procedure DeclarePlayers because I didn't know arrays so this tut didn't really help me lol. Sry.

  9. #9
    Join Date
    Mar 2007
    Posts
    3,042
    Mentioned
    1 Post(s)
    Quoted
    14 Post(s)

    Default

    Quote Originally Posted by Dusk412 View Post
    First you might want to mention you need knowledge of arrays for the procedure DeclarePlayers because I didn't know arrays so this tut didn't really help me lol. Sry.
    You don't really need any knowledge of arrays. It's very easy to copy and paste one of the player's information, then change the number to one higher. It takes no knowledge other than how to count. Anyways, there's plenty of tutorials that are easily accessible if you'd like to learn about the Player array and DeclarePlayers.
    :-)

  10. #10
    Join Date
    Aug 2007
    Location
    Emo-land
    Posts
    1,109
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Very nice work I'm sure it will help the new people to SRL a lot.

    Yes gerauchert is right, so in my scripts I use this: (along with autoresponding and autotalking every 8-12 minutes);
    SCAR Code:
    case Random(16) of
                 0: SendKeysWait('hi...', 150, 75);
                 1: SendKeysWait('yo...', 150, 75);
                 2: SendKeysWait('sup...', 150, 75);
                 3: SendKeysWait('wc lv', 150, 75);
                 4: SendKeysWait('whats ', 150, 75);
                 5: SendKeysWait('bore..', 150, 75);
                 6: SendKeysWait(Tree, 150, 75);
                 7: SendKeysWait('man i', 150, 75);
                 8: SendKeysWait('lol...', 150, 75);
                 9: SendKeysWait('soo...', 150, 75);
                 10: SendKeysWait('weathr', 150, 75);
                 11: SendKeysWait('well..', 150, 75);
                 12: SendKeysWait('ths is', 150, 75);
                 13: SendKeysWait('ugh..', 150, 75);
                 14: SendKeysWait('i cbf', 150, 75);
                 15: SendKeysWait('na...', 150, 75);
               end;
               Wait(Random(250));
               SendKeysWait(#8 + #8 + #8 + #8 + #8 + #8, 150, 75);
    This means that it types something in slowly, as if you are going to say some thing, but then decides not to and deletes it means people won't notice that you are repeating anything, and you won't get loggedout/banned by jagex!

  11. #11
    Join Date
    Feb 2007
    Location
    PA, USA
    Posts
    5,240
    Mentioned
    36 Post(s)
    Quoted
    496 Post(s)

    Default

    nice tut, but a question, if i have the pass and stoof in there but start logged in, do i need the:NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);?

  12. #12
    Join Date
    Mar 2007
    Posts
    3,042
    Mentioned
    1 Post(s)
    Quoted
    14 Post(s)

    Default

    Yes, you do. Unless you start logged out and use LoginPlayer, you need to have the NickNameBMP line.
    :-)

  13. #13
    Join Date
    Dec 2007
    Posts
    22
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Thank you mate!! This helped me alot.

  14. #14
    Join Date
    Mar 2007
    Posts
    3,042
    Mentioned
    1 Post(s)
    Quoted
    14 Post(s)

    Default

    Thanks, I'm glad to hear that. It's nice to know at least some people are getting something out of this.
    :-)

  15. #15
    Join Date
    Jul 2007
    Location
    St. Louis, Missouri, USA.
    Posts
    575
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Could you possibly put in big red letters: "Don't use FindFastRandoms!" ?

    That would be great as a lot of members apps still contain FindFastRandoms even though that hasn't been needed since SRL 4 came out.

    Also, NickNameBMP isn't need for Revision 9 but you must use SRL's LoginProcedure for findtalk to work successfully.

    Here is a good example of an AntiRandoms procedure you could include:
    SCAR Code:
    procedure AntiRandoms;
    begin
      if not LoggedIn then Exit;
      FindNormalRandoms;
      if FindFight then RunTo('N',True);
    end;
    Covers all the basics.


    You left out FindFight in your tut.
    -You can call me Mick-



  16. #16
    Join Date
    Mar 2007
    Posts
    3,042
    Mentioned
    1 Post(s)
    Quoted
    14 Post(s)

    Default

    I added a section about FindFastRandoms and also added FindFight too. I guess I forgot about FindFight when I was writing this up - thanks for reminding me. Also, thank you for the example antirandoms procedure. I also forgot to add one and have added it to the guide as well.
    :-)

  17. #17
    Join Date
    Jan 2008
    Location
    Houston, Texas, USA
    Posts
    770
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Nice tutorial, I was searching for a Antirandom and Antiban tutorial. I was gonna use it on my script but didnt know what to put or where to put. Now I know thanks to you

    ~~ FEAR ~~

  18. #18
    Join Date
    Jan 2008
    Location
    Frankfurt, Germany
    Posts
    742
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    SCAR Code:
    program RatingForMethodsTut;
    {.include SRL/SRL.scar}
    begin
      Writeln(' Method"s Tutorial is:');
      repeat
        Writeln(' Perfect!!!!! :) ');
        wait(100);
        Writeln('5 Star Rating'!!!);
        wait(100);
        c := c + 1;
      until (c=1000);
    end.
    I think that says it all. Really nice!
    There is nothing right in my left brain and there is nothing left in my right brain.

  19. #19
    Join Date
    Jan 2008
    Posts
    89
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Awesome tut, taught me a lot, the nickname bmp isnt working for me so how would i use the loginplayer procedure? exuse me for being a lazy ass and not using the search button

    thanks,
    prince

  20. #20
    Join Date
    Sep 2006
    Location
    My Computer
    Posts
    149
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Thanks for the guide, it got me one step closer to making a nice script

  21. #21
    Join Date
    Mar 2007
    Location
    Ohio
    Posts
    138
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    really nice tutorial, knew most of it but it is very helpful, and i didnt know that about the NickNames, thanks

  22. #22
    Join Date
    Feb 2008
    Posts
    11
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Nice tut pretty informative, can the scar actually solve mimes, prison petes, mazes and evil bobs?

  23. #23
    Join Date
    Mar 2007
    Posts
    3,042
    Mentioned
    1 Post(s)
    Quoted
    14 Post(s)

    Default

    Quote Originally Posted by kaslim View Post
    Nice tut pretty informative, can the scar actually solve mimes, prison petes, mazes and evil bobs?
    SRL has a solver for the Evil Bob random (I believe), but none of the others yet.
    :-)

  24. #24
    Join Date
    Feb 2008
    Location
    NSW, Australia
    Posts
    149
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    wow thanks, didnt know you could do that.

  25. #25
    Join Date
    Aug 2007
    Posts
    30
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    wow, a little overwhelming.. but I'll see if I can do it! thanks a lot!

Page 1 of 3 123 LastLast

Thread Information

Users Browsing this Thread

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

Similar Threads

  1. Updated AntiBan & AntiRandoms Guide!
    By Torrent of Flame in forum Outdated Tutorials
    Replies: 22
    Last Post: 03-29-2008, 11:08 AM
  2. properly using Antirandoms/AntiBan
    By Jacobdm0 in forum OSR Help
    Replies: 6
    Last Post: 12-11-2007, 10:12 PM
  3. Need help with AntiBan and AntiRandoms
    By pallooo in forum OSR Help
    Replies: 3
    Last Post: 10-18-2007, 12:11 PM
  4. antirandoms/antiban
    By invisible in forum OSR Help
    Replies: 5
    Last Post: 10-17-2006, 07:06 AM

Posting Permissions

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