-
Posts
140 -
Joined
-
Last visited
-
Feedback
100%
Everything posted by ikk
-
There aren't any cheat providers that I know of which support osx. If you really want to cheat, I'd say you'd be better off bootcamping windows to your mac / dual booting.
-
Precisely what Token said above. you're defining your groundItem by doing getObjects() which is returning an RS2Object. You should instead, do getGroundItems().closest(gI -> gI != null && gI.getName().equals("Bones")) Something I also do to avoid the issue with isVisible() not returning the expected value is to do both isVisible() && isOnScreen()
-
If you want to lose weight, or at least stop gaining additional pounds while still sticking to your inactive lifestyle, it's not so difficult. I did this myself 2 years ago and went from 210 lbs to 170 in about a year and a half, but with a small amount of exercise here and there. First: Only drink water from now on. It's cheaper and way better. Second: Try to only eat two meals a day, but a good amount each meal. Not sure exactly how "healthy" that is, but I did that 3-5/7 days a week during that year and a half and it worked out fine for me. Third (Optional): Smoke weed pretty regularly (I smoked 1-4 times a day 90% of days). Not 100% proven yet, but recent research has continually been showing that smoking weed helps your metabolism, which I'm pretty sure allows you to burn calories / fat faster.
-
Boxing was so much more bad ass back in the day
-
I've never even heard of such an ambitious idea being pulled off. Really impressive how dedicated you are to this. Good luck with your goals! You've come a long way!
-
[Free] ikk's Al-Kharid Warriors [Food] [Potions] [Looting]
ikk replied to ikk's topic in Combat & Prayer
I appreciate the critiques and positive feedback, I'll be sure to put your suggestions into the next version of the script -
This is how I do it: S.mouse.click(new MiniMapTileDestination(S.bot, area.getRandomPosition(), false)); //sleep
-
As stated above, luckily many premium scripters offer trials for their scripts to make it easy to find the answer to your question. Give them a try and let us know which one you prefer!
-
[Free] ikk's Al-Kharid Warriors [Food] [Potions] [Looting]
ikk replied to ikk's topic in Combat & Prayer
I'ved done a fair amount of updating and uploaded the new .jar - Let me know how it goes -
[Free] ikk's Al-Kharid Warriors [Food] [Potions] [Looting]
ikk replied to ikk's topic in Combat & Prayer
Glad to hear it, thanks! If you do get around to using it, let me know what you think of it -
[Free] ikk's Al-Kharid Warriors [Food] [Potions] [Looting]
ikk replied to ikk's topic in Combat & Prayer
Script has been re-written and the code should be A LOT cleaner and hopefully more optimized. If you have some time on your hands I'd really appreciate if you could critique it at all. If not, I understand For the users: -Version updated to 1.00 (calling it 1.00 now because I'm releasing this to SDN soon since it's been re-written) -New GUI -Paint now includes gold per hour -Should be much more optimized If any bugs found, please let me know Enjoy! The download link still is the same, but the .jar has been updated. Script goes in: C:/<username>/OSBot/Scripts -
Don't let them keep you down, man. Your work is beautiful and so are you. Keep your head up, good things are coming your way soon, trust
-
ill buy 25m I messaged you
-
Decided I would share my solutions for Banking to help beginners as well as to receive critiques to improve my code. Firstly, I typically do two things before I start banking. I generate a list of items that I DON'T want to be deposited (Banking Exceptions) & a list of items that my character will need to withdraw from the bank (Needed Supplies). Here is my method to generate the Deposit Exceptions: public LinkedList<String> getDepositExceptions() { LinkedList<String> neededItems = new LinkedList<String>(); if (Config.enableAttPot){ neededItems.add("Attack potion(4)"); } if (Config.enableStrPot){ neededItems.add("Strength potion(4)"); } if (Config.enableSupAttPot){ neededItems.add("Super attack(4)"); } if (Config.enableSupStrPot){ neededItems.add("Super strength(4)"); } if (Config.enableCombatPot){ neededItems.add("Combat potion(4)"); } neededItems.add("Lobster"); return neededItems; } Explained: So I'm creating a list of items which I do not want to deposit into my bank. This list will be used later when I want to deposit all of the items in my inventory (except for those found in this list). I'm using if statements for some items because the items may not be relevant for all users. This is handy if you have a GUI for your script where not everyone will have the same banking exceptions. Then for items which will be universal for your script (in this example, Lobster) you can simply add them to the list. My method to Deposit All items (with the exception of those found in the getDepositExceptions() method above): public void depositUnwanted() throws InterruptedException{ for (Item i : S.getInventory().getItems()) { if (i != null && !getDepositExceptions().contains(i.getName())) { S.log("Banking: " + i.getName()); i.interact("Deposit-All"); Script.sleep(Script.random(350,500)); } } } Explained: This will simply create a for loop which will look through all the items found in your inventory. If the item isn't an item found in the list generated by getDepositExceptions, it will deposit all of that item. May be beneficial to use a conditional sleep after the deposit instead of my way. My method to generate a list of Needed Supplies: public Entry<String, Integer> getNeededSupplies() { LinkedHashMap<String, Integer> neededItems = new LinkedHashMap<String, Integer>(); if (Config.enableAttPot && (!S.inventory.contains("Attack potion(4)") || (S.getInventory().getAmount("Attack potion(4)") < Config.attAmt) )){ neededItems.put(Constants.ATTACK_B[0], (Config.attAmt - (int) S.getInventory().getAmount("Attack potion(4)"))); } if (Config.enableStrPot && (!S.inventory.contains("Strength potion(4)") || (S.getInventory().getAmount("Strength potion(4)") < Config.strAmt))){ neededItems.put(Constants.STRENGTH_B[0], (Config.strAmt - (int) S.getInventory().getAmount("Strength potion(4)"))); } if (Config.enableSupAttPot && (!S.inventory.contains("Super attack(4)") || (S.getInventory().getAmount("Super attack(4)") < Config.supAttAmt))){ neededItems.put(Constants.SUPER_ATTACK_B[0], (Config.supAttAmt - (int) S.getInventory().getAmount("Super attack(4)"))); } if (Config.enableSupStrPot && (!S.inventory.contains("Super strength(4)") || (S.getInventory().getAmount("Super strength(4)") < Config.supStrAmt))){ neededItems.put(Constants.SUPER_STRENGTH_B[0], (Config.supStrAmt - (int) S.getInventory().getAmount("Super strength(4)"))); } if (Config.enableCombatPot && (!S.inventory.contains("Combat potion(4)") || (S.getInventory().getAmount("Combat potion(4)") < Config.combatAmt))){ neededItems.put(Constants.COMBAT_B[0], (Config.combatAmt - (int) S.getInventory().getAmount("Combat potion(4)"))); } if (S.getInventory().getAmount("Lobster") < Config.foodAmt){ neededItems.put(Config.foodName, (Config.foodAmt - (int) S.getInventory().getAmount("Lobster"))); } final Set<Entry<String, Integer>> values = neededItems.entrySet(); final int maplength = values.size(); final Entry<String, Integer>[] test = new Entry[maplength]; values.toArray(test); if (test.length > 0){ return test[0]; } else return null; } Explained: So here I am creating a Linked Hash Map (From my understanding, this is similar to a List). I've done this so that I can store the Item name & the amount that should be withdrawn in the same grouping to be used for later. This time, it is best to use an if statement for EVERY item because we need to check if your inventory doesn't already contain the item. We're also doing some math to determine the correct amount to withdraw by subtracting the current amount in inventory from the maximum amount you should have. For me, I store the maximum in a Config class which grabs the data from my GUI (IE. config.attAmt) My method for withdrawing item(s): private void withdraw(String itemName, int amt) throws InterruptedException { Item item = this.S.bank.getItem(itemName); if (S.getBank().contains(itemName)) { S.getBank().withdraw(item.getName(), amt); Script.sleep(Script.random(350, 600)); } else { S.log("Ran out of " + itemName + ", stopping."); S.stop(); } } Explained: A simple method with 2 parameters, the name of the item, and the amount to be withdrawn. If the bank contains your item, it will withdraw the amount given. If the bank does not contain your item, it will print into the Logger that you have run out of the item name, and will end your script. Again, it may be useful to add a conditional sleep instead of this random integer sleep. My method to open the nearest bank: private void openBank() throws InterruptedException { S.getBank().open(); new ConditionalSleep(5000) { @Override public boolean condition() throws InterruptedException { return S.getBank().isOpen(); } }.sleep(); S.log("Banking"); } Explained: Will simply open the nearest bank, and have a 5-second conditional sleep which will wait 5 seconds if the bank is not open, or will cut the sleep off short when it sees that the bank is, in fact, open. Putting it all together: if (S.getBank() != null) { if (!S.getBank().isOpen()) openBank(); else { //Deposits all items except bank exceptions for (Item i : S.getInventory().getItems()) { if (i != null && !getDepositExceptions().contains(i.getName())) { S.log("Banking: " + i.getName()); i.interact("Deposit-All"); Script.sleep(Script.random(350,500)); } } if (getNeededSupplies() != null){ S.log("Need to withdraw: " + getNeededSupplies().getKey() + ", " + getNeededSupplies().getValue() ); //.getKey() will return our LinkedHashMap String / itemName //& .getValue() will return our Integer / Amount to withdraw withdraw(getNeededSupplies().getKey(), getNeededSupplies().getValue()); } } } Explained: This is essentially a fully working Banking Class now. It will open the nearest bank if it's not already open. Then it will deposit all the items found in the inventory which aren't needed / desired. Then it will withdraw all of the items / supplies which will be needed for the task. Hopefully, this is useful to you guys. I'm looking to improve my knowledge as well so if you see anything in this thread that can be optimized / improved, I would love to hear it!
-
If the method he was using had lower requirements then I'm sure he'd have a little bit to worry about. But since the requirements to efficiently kill Corp are so high, he doesn't really have a huge risk of competition with prices on this one.
-
Jesus man, that's an intense story. Glad to see you're out of it alive and with a positive attitude. As always, I love your signature.
-
Would love to be a tester for this script
-
Also, if you're trying to do everything in separate classes, I suggest that you take a look at Booch's thread on Node frameworks. This is the way that I write my scripts and it's a very organized way of doing things. Link: http://osbot.org/forum/topic/48284-javatutorial-how-to-get-a-single-stage-node-framework-intermediate/
-
OSBot doesn't even store your account info on their servers. No offense, but your "don't tell me I'm infected" comment is full of over confidence. If you don't have a bank pin, how can you say that you've taken all the necessary precautions to not getting your account stolen? Realistically, you must have downloaded something in the past week or two which was infected. It's quite easy to make a virus undetected by most antiviruses. Either that, or you must have used an infected script in the "Local Scripts" section of the forums. Chances are you weren't as careful as you're claiming. There are far too many people who use OSBot for you to be the only person claiming to have their account hijacked.
-
This script looks like a complete beast. Buying required items from GE too? Honestly cannot wait to try this!
-
Mirror Mode is an option that is presented upon launching the OSBot client. By default you will use "Stealth Injection". Next to that bubble is "Mirror Mode". However, Mirror Mode is only available to VIP users or higher.
-
I'm not sure why, but like 25% of the time when I start my script, it will freeze the OSBot window, forcing the user to close the task. The Logger shows no issues, it simply freezes.. I built the GUI using JFormDesigner with the evaluation version (doubt this could matter, but who knows?) Would someone mind looking through the code to see if you can spot any possible reason for such an issue? I've looked through this countless times but it's been rattling my mind lol GUI.class Source: Screenshot (if relevant): How I'm initializing the GUI: GUI g; log("Loading GUI"); this.g = new GUI(); Any help would be greatly appreciated
-
It would help if you also mentioned what you are expecting this piece of code to do for you. From me looking at it, it looks like it probably will activate the "Start" state, but it doesnt seem that you've defined what the start state does yet, only the conditions which initiate it. So because you haven't really made the start state anywhere the script technically won't do anything yet. I recommend that you download some scripts in the downloadable section, decompile the .jar with JD GUI (http://jd.benow.ca/) and see how other people write their scripts. I personally write my scripts using nodes instead of states, I'm still new at java so I'm not so sure of the difference, other than it being a little bit more optimized because you're doing things in actual object oriented programming instead of having most of your lines of code in one .java. If you want an example of a node based script you could compile and learn from, click my signature for ikkWarriors, that's decompilable
-
Area Bank = new Area(x,y, x,y): If (Bank.contains(S.myPlayer()){ //do stuff } This is how I do it, sorry if syntax is off, I'm on my phone
-
I don't think that Eclipse inherently has the ability to decompile .jars without additional plugins. JD GUI is a nice little program which does this for you though. Here's a link if you need: http://jd.benow.ca/