Jump to content

Fanny

Members
  • Posts

    85
  • Joined

  • Last visited

  • Feedback

    0%

Everything posted by Fanny

  1. Updates happen quite regularly... Sometimes every week... Probably safest not to bot
  2. If you have enough utility classes etc to produce scripts really fast on the fly for virtually any skill / activity... You could quite easily do what big youtubers like Settled do, might be more profitable for you? "But Settled doesn't bot! He plays legit!" Doubtful, he just writes pretty good scripts imo and plays legit sometimes If you look closely at some of the videos, the button clicks and mouse movements are bot-like - for example, he can double click without moving the mouse even slightly (doubt hes on a touchpad if he plays 24/7), but he has convincingly emulated some runelite paint and stuff
  3. Probably best thing to do is think about making a new account
  4. That is way simplier than I expected it to be
  5. I think that might lead to bot-like behaviour of checking loot that obviously isn't your own though, thats all I imagine you can just check if the helmet icon exists in the chatbox somehow? Even after searching though I can't determine how this would be done Cryptography sounds fun, what are you learning about?
  6. @zomeguy Up to you, but might not want to include your full name in a screenshot
  7. Yeah makes sense, did a similar thing for mining script where it takes the rock location, then repeatedly checks the for the same rock object at that location to determine if it is mined I imagine this might cause some difficulty if the NPC is moving at time of death In a separate thread you could: Update list of area loot within 14 tiles of player repeatedly, with (timeFirstSeen, location, lootID) Update the location of the NPC repeatedly on loop, as soon as there is no NPC to check, record that as the final death location + 2 tile radius Filter the correct loot out of the area loot using time and location Still going to need the ironman check though The part I don't get is stuff like bones. 2 bones drop ontop of eachother, how do you separate them? Do they have like a groundItemID? or just itemID? Wow that's for some serious botting! I'm just a casual lol
  8. Yeah this one has puzzled me a bit, how you would actually determine whether it is your loot or not For the gear thing, you've got the setup already, so I guess you have an instance of a Gear class for each task? In which case you can just modify the interface to allow setting gear on a per task basis (or just selecting the melee/magic/ranged which will use the default melee/magic/ranged gear Maybe I missed something, CLI osbot?
  9. Damn, you really thought of everything! I am expecting a masterpiece of a script here Perhaps a way to individually manipulate the gear for each task? So you can set a "blanket" gear layout, but high level stuff you might want rune arrows, whereas low level you might want iron or something? Also, dunno if wildy slayer has any of those annoying tasks like where you have to "salt" slugs and stuff to kill them? Might need handling
  10. Talk about diving in at the deep end! Slayer, wow! Curious why there is a list of tasks, that is all but interface looks good
  11. Just a collection of utility classes within org.fanny.utils Hopefully this helps somebody get started, these make writing scripts super easy - see this example script: Example Script (FannyGoldDigger) - Uses the generic utils methods and very short to write Utils (for initialisation) UtilsConfig & Utils.java Sleep Sleep.java Constants (for constants I use) Const.java Tracker (easy paint) Tracker.java Banking BankLocation.java BankWalk.java Mining specific Rock.java Miner.java Walking Walk.java Worlds / Hopping World.java WorldManager.java WorldFilter.java Hopper.java
  12. Well, when I say inside a while, I mean the other way around (contents of onloop inside while) So you have public class FightScript extends Script { private volatile boolean isHealthOK = true; private volatile boolean isPvPDetected = false; @Override public int onLoop() throws InterruptedException { while (isHealthOK && !isPvPDetected) { // While health is okay, perform main script logic } if (!isHealthOK) { // Eat logic } if (isPvPDetected) { // PvP logic } } } Should work I think? (untested) It is good learning for me to be honest, I'd have just extended my sleep class to include a health check by default and auto-eat, but I like this multithreaded approach, plus it's more learning
  13. Just a thought... You could put the whole onloop method inside a while loop on a volatile marked boolean private volatile boolean isHealthOK = true; while(isHealthOK){ //logic } This would break it for food logic, which could mark it true again after eating Should be able to control this boolean from the other thread too because volatile I'm trying to collect data like this food healing amounts etc, to make scripts more dynamic with less GUI/setup generally I'm not a 1337 programmer either We are all learning, even the best still learn!
  14. Yeah exactly that! You could filter the inventory based on the list too, so you know what foods you have available, and how much each one heals public class FoodHealingAmount { private static final Map<String, Integer> FOOD_HEALING_MAP; static { Map<String, Integer> foodMap = new HashMap<>(); foodMap.put("Lobster", 12); foodMap.put("Swordfish", 14); foodMap.put("Shark", 20); foodMap.put("Monkfish", 16); foodMap.put("Trout", 7); foodMap.put("Salmon", 9); FOOD_HEALING_MAP = Collections.unmodifiableMap(foodMap); } public static Set<String> getAllFoodNames() { return FOOD_HEALING_MAP.keySet(); } //etc } // Get all food names Set<String> foodNames = FoodHealingAmount.getAllFoodNames(); // Filter inventory items that are food Item[] foodItems = getInventory().filter(item -> foodNames.contains(item.getName())); Regards locking logic, I'd personally be tempted to contain eating logic to the main script (or any actual actions) to keep things consistent and error-free, but I can see why you would want it in a separate thread - and where is the challenge of doing it in a single thread??!
  15. Really interesting, nice job I haven't really toyed with performing actions in a multi-threaded scenario and locking them out so I'm trying to interpret how the locking mechanism works! Looks well handled, error-wise I would be tempted to expand with an AvailableFood class which stores a list of foods and their healing values, so that you don't have to input what food type, can also dynamically eat mob dropped food that way I would also be tempted to take a range of values for eatBelowHP, so for 99HP you might say 75-40, each time you eat a food, you can set the eatBelowHP to a random value in that range until it next eats, then set the value again etc. You could combine both of these to check where your HP is within the range (higher or lower end of the range) and have AvailableFood.eatBestFood() or something if you are nearer 40hp, or AvailableFood.eatWorstFood() if you are near to 75hp in the example Alternatively, you could instead of taking eatBelowHP, take mobMaxHit, then you can dynamically leave a safety margin and create a range in which to eat using players max hp, and this would be more scalable for all levels and mobs
  16. Looks good, nice work!
  17. It depends a lot on what the onLoop() function does. if you just have simple logic such as if/else or switch then it is not going to make too much difference If you have more complex logic, or lots of variable instanciation on each loop then it will be more demanding if it loops quicker Generally, it is not going to make much difference for most people but it depends how many bots you plan to run and your system specs I guess Dunno about webwalking memory usage though, I don't have any issues with memory usage personally
  18. Quick update: Spent a lot of time fleshing out my utility scripts Writing scripts is a breeze now, with all the complex logic handled in the utilities, no need for writing extensive checks on every action etc, Thanks for this, 10X developer overnight I just have a quick question; regards paid scripts, the guide says requires Scripter II, but it makes no indication of what that means or how to get it (but I see you have that badge) I seem to recall someone mentioning a test or something, but IDK, would be interested to know?
  19. That is a great idea It is also a good idea to keep track of this information when depositing, as it can misclick deposit equipment instead of deposit all I noticed
  20. IMHO, flawless functionality is key Should perform is required task with every possible unusual scenario handled (like mis-clicking etc) and no excessive waiting if something unusual happens Also, human-like profiling is a bonus I reckon - sleep timing perfect and the patterns associated with sleeps... Sometimes people just tab out for a minute or whatever, so script should too on occasion. I really think sleep timing is the biggest thing to stop bans once the functionality is flawless Bonus points for little extra thoughtfulness - competing with someone for a resource? Double down the timing to try and snag them first with some different logic for competitiveness to get rid of the person, or become aware of it and hop worlds
  21. This is a good idea actually, it would allow full control of the run energy It could be programmed to be impatient sometimes and run with only 3% or 5% energy, or other times patiently walk, sometimes notice it has 60% run and switch run on shortly after starting the walk, etc. A separate thread would allow repeatedly checking distance to target also, allowing further refinement to when run is switched on or not I did consider this, but I think the webwalking is pretty well written, don't want to reinvent the wheel too much - but this would be less resource intensive. Would be a lot more programming though to handle obstacles like the webwalk does If all of my async checks into a single additional thread, it shouldn't be too resource intensive hopefully, but would love to know if there is an easier way or even an existing method that we don't know about!
  22. I haven't been able to find anything about this, and I am struggling to find a way to do this other than to manually start walking in the rough direction and then toggle run energy. Is there a built in way to toggle run after a short duration of walking randomly? (like a player would realise they are only walking then turn run on)
  23. Yeah it can really imagine some stupid methods sometimes, or completely misunderstand what you asked... I find it saves time to outline the function manually and have it flesh it out with the boring bits
  24. YES! So satisfying when your script just runs first time with only minor issues!
  25. This is what I was looking for, thanks so much! Working on my utils now, hopefully better and less effort scripts result I had my environment set up so that each script is a project, when there should be one project with multiple modules for scripts - seems to work now, not tested it extensively yet
×
×
  • Create New...