Jump to content
Sign in to follow this  
TRiLeZ

Guide to Implementing ABC2

Recommended Posts

Just now, FALSkills said:

Are you gaining xp?  That is an important factor. I also notice that it doesn't check XP very often, although I'm not watching my bots all of the time. I have definitely seen it in the debug, as my scripts print the abc2 action they are doing in the client debug.

Yes i am gaining xp. Smithing cannonballs to be exact. I also have mine print out what it's doing aswell.

 

Maybe if i have a startingExp variable inside my script would help?

Share this post


Link to post
Share on other sites
Just now, montreal176 said:

Yes i am gaining xp. Smithing cannonballs to be exact. I also have mine print out what it's doing aswell.

 

Maybe if i have a startingExp variable inside my script would help?

It is supposed to be tracking XP in a separate thread, so having something like that wouldn't do anything (although it's nice to have in terms of tracking xp on the paint)

Share this post


Link to post
Share on other sites

Returning from a long absence, looks great. My only concern is with the shouldExamineEntity() and examineEntity() methods. How often do experienced players REALLY examine random objects? I've noticed I'll right click on objects randomly and close the interface fairly frequently when bored, but almost never actually "Examine" an item/object. 

Is the frequency of this method determined by your previous player behavior analysis and the frequency that actual players examined items/objects?

Considering leaving this one out in favor of only using the shouldRightClick() and rightClick() methods if it seems too frequent.

Edited by diy

Share this post


Link to post
Share on other sites

Is the checking xp functionality still necessary for OSRS? I'm not sure how long OSBuddy had had this feature but it can display xp tracking in a sidebar to the right, showing xp left to level, actions left to level based on most recent xp gain for that skill, as well as xp/hr. I would think most players of OSRS use OSBuddy, and therefore would probably have this tab open if they are skilling and care about their gains.

If this is a reasonable assumption, then I would argue that checking xp through the in game menu as probably not very typical for a human player when heavily skilling in OSRS (since OSBuddy is only available for OSRS).

Share this post


Link to post
Share on other sites

Isn't it counterproductive to make people add up to 100 to make people feel safe when you literally need everything to get 100? If this is a task that does not require some of these things putting them in can make the bot more visible/slower and it's not helpful to the script. People will throw stuff in just to get their points to 100 and it wont be implemented well. 

Edited by BoredPanda29

Share this post


Link to post
Share on other sites
8 hours ago, BoredPanda29 said:

Isn't it counterproductive to make people add up to 100 to make people feel safe when you literally need everything to get 100? If this is a task that does not require some of these things putting them in can make the bot more visible/slower and it's not helpful to the script. People will throw stuff in just to get their points to 100 and it wont be implemented well. 

I was under the impression that if the script doesn't need it then don't add it and you can still have abc2 lvl10 if it implements everything required but now I'm not sure after reading this:
"Refer to the first list. Beside each element is an amount of points (Pts). If your script successfully implements the element, then add those points to your score. Scores are out of 100, which determine the ABCL:"
Might have read it from abc1. Maybe if the script doesn't need it then just add the points I can't remember. Hopefully a mod can clarify

Share this post


Link to post
Share on other sites
13 minutes ago, lets be friends said:

I was under the impression that if the script doesn't need it then don't add it and you can still have abc2 lvl10 if it implements everything required but now I'm not sure after reading this:
"Refer to the first list. Beside each element is an amount of points (Pts). If your script successfully implements the element, then add those points to your score. Scores are out of 100, which determine the ABCL:"
Might have read it from abc1. Maybe if the script doesn't need it then just add the points I can't remember. Hopefully a mod can clarify

That is indeed how it works. If it doesn't apply to the script then don't count it.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Similar Content

    • By Fluffee
      Fluffee's Tutorial Island v2
      TRiBot's best Tutorial Island Script
      • Completes Tutorial Island
      • Supports loading of bulk accounts
      • Script Argument/Queue/Client Starter support
      • JavaFX Material Design user interface
      • Tons of customization options
      • Random account profiling
      • Full ABC2 support
      • Post tutorial island tasks
      • Account Creation
      • Task based, chose the options for every account
      Get it here!
      GUI

      Instructions
      Script Arguments
      Script arguments must be entered as follows (with the following keys):
      file:saved_settings_file_name.json; The only argument required now is the name of the settings file to load. If the file specified does not exist, an error will be printed in the debug, and the script will show the GUI instead.
      Source
    • By Final Calibur
      FC Questing
       
      FC Questing is here for all to enjoy! This script is built on a framework which allows for easy chaining of quests, as well as new quests to be added with minimal effort. I will consistently add new quests to the script.
      Suicide Farm Edition:
      In addition to the full FC Questing script, I'm also offering a cheaper edition specifically for suicide farmers. The suicide farm edition will include the following:
      Tutorial Island Cook's Assistant Romeo & Juliet Sheep Shearer Pricing options are below.

      Features:
      Start anywhere Grand exchange support for quests that should utilize it Quest chaining Clean and detailed paint 15 quests supported and counting (GE indicates grand exchange support, GA indicates manual gathering support, SR indicates that the script will achieve skill requirements on it's own, QR indicates that the script will achieve quest point requirements on it's own)  Tutorial Island Doric's Quest GE GA Sheep Shearer GA Cook's Assistant GA Romeo & Juliet GA Rune Mysteries GA Imp Catcher GE Goblin Diplomacy GE Druidic Ritual GE Witch's Potion GE Prince Ali Rescue GE The Knight's Sword GE SR Ernest the Chicken GA The Restless Ghost GA Black Knight's Fortress GE QR Script Arguments:
      profile_name Simply type in the name of a previously saved profile, and it will be used! 7qp Romeo & Juliet Sheep Shearer Cook's Assistant all All supported quests, random order tut-ge Tutorial island Walks to GE after tutorial island tut Tutorial island Account Queue:
      FC Questing supports an account queue, meaning you can run many accounts through the script with ease. Simply create a file in the directory which is opened by the "load accts" button, and format it like so:
      username:password
      Each account must be on it's own line. The accounts will all be ran with the same settings that you have selected. If a banned / locked / invalid account is provided, it will skip over it.
      GE Support / Gathering:
      The script currently features Grand Exchange support for quests that should utilize it. Also, the script supports gathering items manually as well. Check the quest list above to see what each quest supports. Here are some things you should know:
      If supported, the script will attempt to purchase items from the GE first before gathering manually If the player doesn't have enough gold for all of the items, it will then resort to manually gathering the rest of the materials (if gathering is supported for the quest) The script will attempt to purchase items < 2,000 GP for double their market price, to try and avoid waiting. >= 2000 GP will be bought at 1.3 times their market price (this can be changed if you have suggestions) If the quest does not support manual gathering, and the GE process fails, the script will end The script will abort & resubmit any offers that don't sell instantly, for 15% higher (if the character has enough gp to do so). This helps avoid waiting around for items to sell. General Notes:
      As this is a quest script, there are a lot of moving parts. This almost ensures that bugs will pop up now and then. Please report them when they arise, provide a detailed description, and I will fix it as fast as possible.
      The script generally should be able to start in the middle of a quest, however please be aware that this may result in questionable script behavior and / or the quest not completing properly.
      Bug Reports / Suggestions / Questions:
      Please see the thread here on how to report an issue or suggestion. Direct posts on the thread or private messages will be redirected to here.
      Please join my discord channel here for other miscellaneous inquiries. This is the fastest way to contact me.
      Pricing for FC Questing (FULL):
      1 hour free trial (resets on the first of every month) $3.99 per month, 10 instances (great for the casual user) $9.99 per month, 30 instances (great for the large bot farmer) $14.99 per 6 months ($2.50 per month), 10 instances (great for the long term user) $39.99 per 6 months ($6.67 per month), 30 instances (great for the long term large bot farmer) Pricing for FC Questing Lite (TUTORIAL + 7QP):
      1 hour free trial (resets on the first of every month) $0.99 per month, 10 instances $2.49 per 3 months ($.83 cents per month), 10 instances $3.99 per 6 months ($.67 per month), 10 instances $9.99 per 6 months ($1.67 per month), 30 instances
      Images:
       


      Time Lapse:
       
       

       
    • By Tri
      This script is an all in one combat script that can fight every monster in Runescape safely with extensive features
      Combined with a premium all in one magic trainer that can train your magic up using nearly every magic training method available! 
      The script is now capable of training on all monster within this map! And additional monsters in dungeons such as the stronghold of security, slayer dungeon, taverly dungeon and many more places!

      Features Overview:
      AIO Combat Features:
       VIP is not required!
        10 Hour free trial on the repository 
      Complete all in one combat system that can fight every single monster in Runescape including but not limited too:
       Brutal black dragons! *NEW*
       Wyverns! *NEW*
       Everything in the stronghold of security *NEW*
       Slayer dungeons *NEW*
       Sand crabs (automatically resets aggressiveness) *NEW*
       Rock crabs (automatically resets aggressiveness) 
       Dragons
       Giants
       Goblins
       Ghouls
       Dagganoths
       Druids
       And hundreds more different monsters!
        Can bank at every bank in Runescape
        Can use all teleports
        Supports all food types
        Guthans healing
      Dwarf multicannon support
        Supports all weapons and special attacks
        Re-equips ammo and can withdraw more from the bank
        Supports all potions
        Automatically uses the Looting bag and Herb sack
        Customisable looting
      Full prayer support
      Resets Rock crabs and Sand crabs aggro
        Safe spotting optional
      Full worldhopping system that can worldhop when many different conditions are met
      Bones to peaches support
      Herb cleaning and dropping
        ABC2 antiban with a 10/10 rating
        Telekinetic grab support
      Progressive training (Upgrade gear, switch training spots & more)
        Can bury bones
        Load & save GUI settings
        Profit calculations and xp tracking 
        Start the script from anywhere
      AND MORE!
      AIO Magic Features:
      This script isn't just an AIO combat script, it's also an All In One Magic script!
      The script can train magic using the following methods:
       
        Every single combat spell available, from air strike to ice barrage; It's all supported
        Every single curse spell available
        Stun/combo alching!
      This is the best magic xp in the game, you cast a regular combat spell or curse, quickly followed by a high level alchemy spell.
      This can earn you up to 180k magic xp/hour!
        Splashing!
        All alchemy spells
        All enchantment spells
        Superheat item
        All teleport spells
      The script can also train with the following lunar spells!
        Humidify
        Plank make
        Superglass make
        Tan leather
        Spin flax
        and More!
       
      Purchase info and script trial info:

      Packages:
      ~Free Trial~
      Price: $FREE
       Every month you're allowed a free 10 hour trial with the script, enjoy
       Complete access to all features

       ~1 Month Package~ 
      Price: $10 
       VIP is not required to run the script
       The ability to train all of combat and magic effortlessly and safely for 1 month
       Complete customer support via skype and the TRiBot forums

      To purchase the script or activate your free trial, click the image below:
      https://tribot.org/repository/script/id/651-tri-aio-combat-magic/

      Gallery
      Click show on the spoiler to view images of the script running
       
      FAQs
    • By Laniax
      Need help?
      Add me on Discord (fastest response): Laniax#2980
      Or PM me the forums
    • By wastedbro
      Elite Chopper FREE - AIO Woodcutter
      Hello Everyone!
      I'm here to bring you an exciting new script. As some of you know, I've been working on a project that I call ABCv3, which is a new form of antiban that improves upon the principles set forth by ABCv2.
      Here is the first script that implements my new experimental antiban.
       
      Repository Link: https://tribot.org/repository/script/id/2611
       
      Features:
      Best Antiban possible. ABCL 10 plus new antiban not seen in ANY OTHER SCRIPT. Yes, I'm talking about ABCv3 Task System for completely automated 1-99 [*] 20+ locations Customer location support! Fast and efficient chopping Start from ANYWHERE Auto axe upgrading (bronze to dragon) Completely Customizable Antiban Control Mouse Speed, Reaction Times, and even play around with Tribot's built-in antiban! Features in Red belong to the Premium Version of this script.
      * Task system is limited to 2 tasks for the Free Version.
      * Some preset locations such as Catherby, Gnome Stronghold, etc are only available in the Premium Version.
       
      Click Here to see the Premium Version!
       
      GUI:
       
      Happy Botting!
       
       
    • By wastedbro
      Summary
      Hello everyone, I've started a project that I hope can benefit our antiban technology. Since ABCv2, there really hasn't been much improvement in antiban. I think the concepts behind Trilez's creation are the key to staying under the heuristic radar of Jagex and prolong bot life.
      This project is an extension of the current implementation of ABCUtil, and serves to replace some functionality, and also add some.
      Since my class extends ABCUtil, you still have access to everything ABC has to offer. I'm not replacing all of it!
       
      Why?
      There are three main reasons behind this project:
      Put simply, ABCv2 is cumbersome. It's annoying to implement in most cases, and very difficult to implement correctly in a lot of cases. This mainly applies to the new addition of Reactions, which requires a lot of unnecessary input from the script. Some of the human data behind the new Reactions of ABCv2 isn't ideal. Bots should not emulate the average player, because the average player plays RS like an AFK game. That's how these reactions were recorded. We want our bot to be very efficient, but not abnormally efficient. We want our bot to be a no-life, caffeine-driven player, but still human. (Though we still want each bot to be heuristically different than other bots, but we'll get to that). There are more things to add!  
      Replacements
      Reactions
      I've already pointed out the problems with the current Reactions System. Anyone who's watched their bot wait 13 seconds between killing seagulls are likely also frustrated. 
      Not to mention, ABCv2 does not cover reactions for predictable events. 
      ABCv3 will offer a set of Reaction Types that allow the scripter to replace nearly all arbitrary sleep times with something that looks human, and takes into account RS username, mouse position, and a dynamic sleep.
      Here are some examples of Reactions that you can use in your script. Each one will use an equation that produces data that matches human data that I will collect:
      SHORT (generally around 200-600 milliseconds) MEDIUM (500-1000) LONG (1000,3000) BANK_APPEARS (used after bank screen opens. Based solely off of human data collected from people opening the bank) BANK_CLOSES (used after bank is closed) INTERFACE_APPEARS (used for non-bank interfaces) INTERFACE_CLOSES (used for non-bank interfaces)  
      Now, we must also account for AFK Reactions, which are performed after long, idling tasks, such as chopping a tree. The current implementation takes into account 9 factors. My system will take into account the majority of those factors, and some of them will be auto-detected.
      For example, ABCv2 forces you to tell it whether or not you're in combat. My reactions will determine that for you.
      Also, the Abc3Util class will now provide helper classes for keeping track of idle events so that it can take into account average idle time. It will also make it easy to keep tasks separate. ABCv2 is really only meant for generating reaction times based off of a single Idle Task. But let's say your bot chops oaks AND Willows. Those each require separate reaction generating variables. Abc3Util will allow you to easily track data for any number of events at the same time, and generate reactions based on them, with only a few lines of code.
      All of the old Reaction Methods will be Overriden and marked "Deprecated" (they will still function normally, however).
       
      Preferred Target
      ABC preferred target is annoying to implement, and sometimes doesn't make sense.
      For example, it requires you to call it for hovering the next Target, then you must store that target for when you decide to actually click something. The problem, however, is that in order for this to make sense, you must make sure that not only is the Target valid, but also that it hasn't moved or anything else has spawned or even if your mouse isn't on it.
      Also, this method only takes into account distance, which isn't a good metric, because it ignores any and all obstacles.
       
      In effect, the ABCLv2 Preferred target system is useless.
      .... but it's a good idea.
      I'm going to replace this by calculating many of the above variables I mentioned inside the API. Therefore, instead of calling the method when going to hover and storing the result, you can just call it whenever. It will be a more expensive call, but it will take into account Mouse Position, Weighted Distance to targets, Competition, and it will be adjusted to allow for human-like decisions, which include not always picking the absolute most optimal targets.
       
      New Features
      Timed Action - Accidental Input
      Performing actions in a human way is important, but our input in general must also look human. Even though our actions are performed at human times, they still all have a purpose. Hell, even most of the times actions have specific purposes. How many times have we accidentally pressed a key on the keyboard while playing a video game? A lot.
      This action in meant to be performed while the game screen is focused, and it simply presses 1 or more keys on the keyboard. It works the same as all timed actions, except the "should" method will rarely return true when the mouse is on screen (though it's possible, to avoid heuristic detection).
      The method will also return different results (over time) based on the RS account username (like normal ABC). This method will also be affected by fatigue. Basically speaking, the longer the script running, the more likely these accidents (although they will still be rare). 
      Predictive Inputs
      Now that we have human reactions, we must explore how humans have compensated for our slow nervous system! The answer is predicting the future. It's not hard. When we click the banker, we expect the bank screen to appear. Our reaction may be slow, but we compensate by moving our mouse near where we think the deposit button will appear.
      My API will simply provide a "shouldPredict()" method, which will return true most of the time, but the actual calculation will be complex. The implementation will be up to the scripter, except for APIs that I package with this project (for example, I might offer a Banking extension that uses this).
      The method will also return different results (over time) based on the RS account username (like normal ABC). This method will also be affected by fatigue. Simply put, the longer the script time, the fewer predictions (although it will normally still be true). 
       
       
      Improvements
      Easier Implementation
      Singleton
      In ABCv2, you must get a new instance of the class and use it in all of your code, until a new RS account logs in. That's not necessary, and really annoying if you have a lot of source files.
      My implementation stores an instance of itself in a thread-local variable (works with tabs, but can only be retrieved on the main thread).
      Here's how you use it now:
      Abc3Util.instance().shouldHover(); You're of course welcome to store the result of "instance()" in your script for easier use, but now you don't have to pass it to all of your objects if you don't want to.
       
      Timed Actions
      In ABCv2, you must do something like "if(shouldDoX) { doX(); }" for each action. You probably have a method that goes through each action and performs it if needed. My implementation has a built in method for that. As a bonus, it randomizes the order in which it checks and performs the actions. By doing so avoids certain behavioral patterns. Even though checking your stats and moving the mouse are humanized behaviors, always performing them in the same order can be dangerous, even if it doesn't happen often.
      Abc3Util.instance().performTimedActions();  
      Release Schedule
      I have not yet decided if I will release this publicly. If it ends up truly helping with banrates, it will be a very valuable tool. I don't want to sound greedy, but I might have to charge for this (maybe offer it to Patreon subscribers?).
       
      How You Can Help?
      I will be asking for private Beta Testers eventually. I will need human data. But the human data I collect will be much more controlled than what Trilez collected in order to produce the results I want. Remember, we want to be human, but an efficient human.
      If I had enough developer support, I would consider allowing this to be open-sourced for contributions.
       
      Other than that, I have no way you can help other that be loyal to Tribot and spread the word. I may eventually have a Patreon where you can subscribe for certain benefits and I will put the money towards things that will speed this development along. Let me know if you'd be behind that.
       
      Credits
      Shotdox - For providing a base set of calculation methods for generating distributions (jogged my statistics memories) TRiLez - For inventing ABC and showing that human data is important. If we want to fight against heuristics, we need to implement heuristics of our own!  
      If you have any question, feel free to post below, or contact me on Discord (wastedbro#9955).
    • By sgt p0wned
      Hey Guys, 
      I am wondering what the difference between all the different types of anti ban (pretend i know nothing about any of them).
      -ABCL 10 [ABC2]
      -ABCv2 Level 10
      -ABCL 10
      is there a abc1, or is that abcl 10 ? which came first and what one is the latest? 
      thanks guys! ty for heloing a noobie
    • By victoremidio
      HI, I've scripted a method of attack, but I do not know how to use ABC2 in it.
      Could someone help me please? I already read the guide but I did not understand it very well.
      public static void attackMen() { RSNPC[] monsters = NPCs.find("Man"); if (monsters.length > 0) { RSNPC target = Antiban.selectNextTarget(monsters); if (!target.isOnScreen()) { Camera.turnToTile(target); } if (!PathFinding.canReach(target, true)) { if (WebWalking.walkTo(target)) { Timing.waitCondition(new Condition() { @Override public boolean active() { General.sleep(300); return PathFinding.canReach(target, true); } }, 3000); } } if (!target.isInCombat() && !Util.isInCombat()) { if ((Clicking.click("Attack man", target))) { Timing.waitCondition(new Condition() { @Override public boolean active() { return Util.isInCombat(); } }, 20000); } } } }  
  • Our picks

    • This update will:

      Fix GE inventory item positioning bug


      Fix broken object hooks
        • Like
      • 23 replies
    • This release will:

      Fix some ClosedChannelException bug


      Fix bug in RSObject#getAllTiles


      Add game tab support for "Kourend Favour"
        • Like
      • 15 replies
    • This release will:

      Fix Settings UI placement bug


      Fix game object location bug


      Fix small layout bug making the client shift up and down


      Fix client crashing bug where loading the client with a small display area will cause the client to crash


      Fix annoying Linux bug relating to painting events and peers


      Fix settings saving bug where settings are saved to disk more often than they should


      Fix RSInterface#isBeingDrawn bug affecting a limited amount of people


      Drop Java 1.7 bytecode version for 1.8


      Important: Since the downloadable RS client uses Java 7, it will no longer be compatible with Looking Glass. To make up for this, we will add support for using other clients such as RuneLite (at a later date).


      This change was necessary to allow us to use Java 8 syntax. It also paves the way for Java 9/10/11 support.
        • Like
      • 40 replies
    • This update will:

      Fix the RSMenuNode bug which also fixes the bug with bank opening


      Fix the incorrect object positions bug


      Fix and re-enable the LG Objects API Accelerator


      Fix the RSObject#getAllTiles bug
        • Like
      • 22 replies
    • Try our development release by checking "Development Release" on the TRiBot Loader. Note that these new features are currently in beta.

      This release features:

      Re-sizable mode support for both LG and the regular client


      Slightly improved login bot


      Removed final access modifiers from API classes


      Added RSServer hook wrapper to get the client's cached list of server/world info


      [NEW] Bug fix for intelligent banking


      [NEW] Improvement to the stability of LG over time


      [NEW] Vastly improved the reliability and speed of Screen#getColorAt on both LG and the regular client


      [NEW] Fix LG login problems


      [NEW] Fixed re-sizable mode container bug


      [NEW] Fixed re-sizable mode mouse bug


      [NEW] Use of public constants in the Banking API


      [NEW] Use of other various constants such as Projection#NULL_PT and Screen#EMPTY_COLOR



      More features to come very soon!

      Please test it and let us know here if there are any new bugs introduced in this release.
        • Thanks
        • Like
      • 12 replies
  • Recently Browsing   0 members

    No registered users viewing this page.

×