Jump to content

Fanny

Members
  • Posts

    85
  • Joined

  • Last visited

  • Feedback

    0%

3 Followers

Profile Information

  • Gender
    Female

Recent Profile Visitors

1056 profile views

Fanny's Achievements

Iron Poster

Iron Poster (3/10)

15

Reputation

  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
×
×
  • Create New...