Leaderboard
Popular Content
Showing content with the highest reputation on 01/08/16 in all areas
-
Firstly - DO NOT LOCK SPAM THREADS UNLESS THEY'RE AGAINST MAJOR OSBOT RULES, IN WHICH CASE MOVE THE THREAD TO ARCHIVE (OR DELETE IT?) This currently happens a lot, I go onto a thread and I WANT to post on it, but it's fucking locked and I don't know why? FUCKING DELETE OR REMOVE IT Secondly - ALLOW RELEVANT OLD THREADS TO BE 'GRAVEDUG' BY ORIGINAL POSTER If like me, you're an old member with a lot of AMAZING historic spam section threads - WHY NOT BUMP OLD RELEVANT SPAM THREADS? (both of these rules are to applied in the spam section only)6 points
-
edit: seriously though, osbot private server would be a sick idea, and i proposed it long time ago, because a) the community needs something to do while they are botting.. on this botting forum.. and b.) scripters can test scripts, no we don't need a replica of the game we just need a map, a player and npcs/objects, which is included in the server readily downloadable The only challenge is moving to newer rs versions, you would have to get all the xtea, client interfaces, access masks , refactor client etc. each time you move rs versions, but it isn't really an issue5 points
-
This year has been pretty exciting for all the development on OSBot. As new bots emerge and fade away, we have retained our position as a leader in the old school botting community. Although most of the team has obligations outside of this project, we love our product and jump to the chance to work on it. I really think this shows and it instills confidence in our customers, scripters, and s. As always, we work on security first, performance and stability second, followed by innovations and improved design. Highlights of 2015 Mirror Mode Released WebWalking Released InteractionEvent and MoveMouseEvent re-written and improved Improved security of scripts, connections, and local data Replaced interfaces with widgets, proper handling of grandchildren Added LoginCallback and LoginResponseCodeListener Added new Worlds class, replacing the outdated WorldHopper Added new Walking class, replacing LocalWalker Added Grand Exchange API Updated to Java 8 Consolidated area classes into one class Re-wrote all OSBot interfaces from scratch Added login to the booter Added proxy manager Various performance improvements and API cleanup We hope that you've enjoyed watching OSBot develop since 2013 and you're anticipating the next series of updates over 2016. I'd like to especially thank our VIP/Sponsors that support us with the funding to make all of this happen, we have a few cool new features to make it worthwhile in the future. Have a happy and safe new year -The OSBot Staff4 points
-
Scripters need to test their script in order to get a functional script. in order to test a script, the scripter needs: An account Stats required for the script the requirements of a script can be quite high, so if a scripter needs an account to test it on, the account will be at risk since it's logged into a bot client + running a script Now here's my idea. Tell me if it's impossible, not likely, or just stupid. OSbot private server An exact copy from OSRS, without modifications. You can test your scripts all you want without getting banned You can set your own stats (example: 63 hunter for a red chin script) Not only will this reduce the bans, throwing away a potentially good account, it will also not require time to train the skills. 63 hunter can take a while to train, and if you bot it, you will have a chance of getting banned along the way Adding to the benefits, a scripter can design a script that he otherwise couldn't make. a script with high requirements, example: Zulrah. There are a lot of other scripts that can be made with high requirements. You could also test your script and go for a 100-hour proggy, without any chance of getting banned server only accesable by scripters / staff obviously4 points
-
4 points
-
Hey, I needed to use the GE in one of my scripts so I came up with this. It's pretty basic but allows you to buy and sell different items at different prices and amounts, as well as collect Items. Currently it's only set up to use the first box but you could easily modify to suit your needs. GrandExchange.java: Lemon Version: Example Usage: public class Script extends org.osbot.rs07.script.Script{ private final String itemName = "Blue partyhat"; private final int itemPrice = 2147137627; private final int itemAmount = 500; @Override public int onLoop() throws InterruptedException { GrandExchange GE = new GrandExchange(this); //new GrandExchange instance with our script if (!getGrandExchange().isOpen()) { //Checks if ge is open GE.openGE(); //open ge randomly using booth or npc } else { GE.collectItems(false); //collect items (boolean true -> to bank, false -> inventory) GE.createBuyOffer(itemName, itemPrice, itemAmount); //creates a buy offer with specified params GE.createSellOffer(itemName, itemPrice, 0); //Sells all of the specified items in inventory at specified price ( 0 = all, int = specified amount) } return 150; } }3 points
-
Yeah but only americans risk because they have good ping.3 points
-
Having only played around 3-4 hours in the new great kourend, i'm far from an expert. I was wondering if any of you guys had any ideas which could be added to the premium / free script market? Moneymaking, combat training, skilling... anything really. Just feel free to drop your ideas down in this thread No guarentees i'll make any of them by the way! apa2 points
-
Spoken via Skype, accounts are to be ready tomorrow. A note to everyone else who ordered and still waiting, sorry about the delay, had a few workers quit on me, but have found stable reliable workers who are working round the clock to complete current orders. Previous workers started services and just vanished, without speaking to myself or my other workers, so a couple days past and then I was already behind, luckily my new workers are working as hard as they can and getting your orders complete. I apologise and will make sure they're done as soon as possible.2 points
-
2 points
-
2 points
-
how on earth are you going to get a replica of osrs server? solution #1 bribe one of the Mods soultion #2 physically go in jagex studio and steal the source codE?2 points
-
Your logic is flawed that's why. You have nested if(random == 2) inside if(random == 1). So the code inside if(random == 2) will never be executed, because it can only be reached if random = 1... It should look more like: public void antiBan2() throws InterruptedException { int random = random(1,3); switch(random){ case 1: sleep(random(1000, 2000)); mouse.moveRandomly(random(1000, 2000)); break; case 2: sleep(random(1000, 2000)); mouse.moveRandomly(random(300, 1000)); mouse.moveRandomly(random(1000, 2000)); break; } } That is because the walker in OSBot walks to a position within (i think) 2 tile accuracy. If you want it to walk to the exact tile, you will need to create your own WalkingEvents.2 points
-
2 points
-
2 points
-
2 points
-
Click here to go to the SDN page to add the script. Display: Note: the additional controls are no longer working. I intend to re-create this script, but as two separate scripts to make it easier to update and maintain.1 point
-
Cook's assistant quest completer By RandQm Features: Completes whole the quest on it's own Handles obstacles as doors/gates/... Toggles running when energy is available Uses webwalking Reasons to use this: Because why not Only takes 5 minutes Because it is believed having completed quests makes your account more legit (less chance on ban) Instructions: Do not have the supplies ready in your inventory, just start empty. Stand in the Lumbridge kitchen when starting the bot Do not interrupt the bot, it won't be able to pick up progress if you logged out in the middle of something Click here to download the JAR Code for geeks: package rqcooksassistant; import java.awt.Color; import java.awt.Graphics2D; import java.awt.RenderingHints; import org.osbot.rs07.api.map.Position; import org.osbot.rs07.api.model.GroundItem; import org.osbot.rs07.api.model.NPC; import org.osbot.rs07.api.model.RS2Object; import org.osbot.rs07.api.ui.Message; import org.osbot.rs07.script.Script; import org.osbot.rs07.script.ScriptManifest; /** * * @author randqm * */ @ScriptManifest(author = "RandQm", info = "Cooks Assistant", name = "RQ Cooks assistant", version = 1.0, logo = "") public class Main extends Script { private String status = "Starting..."; private int stage = -1; private long startTime; private void updateStage(int stage, String status) { this.stage = stage; this.status = status; } @Override public void onMessage(Message message) { switch (message.getMessage()) { case "You put the grain in the hopper.": updateStage(13, "Operating hopper controls."); break; case "You operate the hopper. The grain slides down the chute.": updateStage(14, "Going to the flour bin."); break; } } @Override public int onLoop() { log("stage: " + stage); switch (stage) { case -1: startTime = System.currentTimeMillis(); updateStage(stage + 1, "Talking to cook."); break; case 0: NPC npc = npcs.closest("Cook"); if (npc != null) { npc.interact("Talk-to"); updateStage(stage + 1, "Handling conversation with cook."); } break; case 1: case 2: if (getDialogues().isPendingContinuation()) { getDialogues().clickContinue(); } else if (getDialogues().isPendingOption()) { getDialogues().selectOption(1); updateStage(stage + 1, "Handling conversation with cook."); } break; case 3: if (getDialogues().isPendingContinuation()) { getDialogues().clickContinue(); } else if (getDialogues().isPendingOption()) { getDialogues().selectOption(4); updateStage(stage + 1, "Handling conversation with cook."); } break; case 4: if (!getDialogues().isPendingContinuation()) { break; } getDialogues().clickContinue(); updateStage(stage + 1, "Take pot."); break; case 5: GroundItem pot = getGroundItems().closest("Pot"); if (pot != null) { pot.interact("Take"); updateStage(stage + 1, "Head to wheat field."); } break; case 6: if (walkTo(new Position(3163, 3289, 0))) { if (checkDoor()) { updateStage(stage + 1, "Pick wheat."); } } break; case 7: RS2Object wheat = getObjects().closest("Wheat"); if (wheat != null) { wheat.interact("Pick"); updateStage(stage + 1, "Head to mill."); } break; case 8: if (!inventory.contains("Grain")) { break; } if (walkTo(new Position(3162, 3290, 0))) { if (checkDoor()) { updateStage(stage + 1, "Head to mill."); } } break; case 9: if (walkTo(new Position(3166, 3302, 0))) { if (checkDoor()) { updateStage(stage + 1, "Going to the hopper."); } } break; case 10: updateStage(stage + (climbLadder(true) ? 1 : -1), "Going to the hopper."); break; case 11: if (myPosition().getZ() != 1) { break; } updateStage(stage + (climbLadder(true) ? 1 : -1), "Putting grain into hopper."); break; case 12: if (myPosition().getZ() != 2) { break; } RS2Object hopper = getObjects().closest("Hopper"); if (hopper != null) { getInventory().interact("Use", "Grain"); if (!getInventory().isItemSelected()) { break; } hopper.interact("use"); } break; case 13: RS2Object controls = getObjects().closest("Hopper controls"); if (controls != null) { controls.interact("Operate"); } break; case 14: updateStage(stage + (climbLadder(false) ? 1 : -1), "Going to the flour bin."); break; case 15: if (myPosition().getZ() != 1) { break; } updateStage(stage + (climbLadder(false) ? 1 : -1), "Putting flour into pot."); break; case 16: if (myPosition().getZ() != 0) { break; } RS2Object flourBin = getObjects().closest("Flour bin"); if (flourBin != null) { getInventory().interact("Use", "Pot"); if (!getInventory().isItemSelected()) { break; } flourBin.interact("use"); updateStage(stage + 1, "Heading to chickens."); } break; case 17: if (!inventory.contains("Pot of flour")) { break; } if (checkDoor()) { updateStage(stage + 1, "Heading to chickens."); } break; case 18: if (walkTo(new Position(3238, 3295, 0))) { if (checkDoor()) { updateStage(stage + 1, "Heading to chickens."); } } break; case 19: if (walkTo(new Position(3230, 3298, 0))) { updateStage(stage + 1, "Taking an egg."); } break; case 20: GroundItem egg = getGroundItems().closest("Egg"); if (egg == null || !egg.exists()) { break; } egg.interact("Take"); updateStage(stage + 1, "Heading to bucket."); break; case 21: if (!getInventory().contains("Egg")) { break; } if (walkTo(new Position(3231, 3291, 0))) { if (checkDoor()) { updateStage(stage + 1, "Taking bucket."); } } break; case 22: GroundItem bucket = getGroundItems().closest("Bucket"); if (bucket == null || !bucket.exists()) { break; } bucket.interact("Take"); updateStage(stage + 1, "Heading to diary cow."); break; case 23: if (!getInventory().contains("Bucket")) { break; } if (walkTo(new Position(3236, 3295, 0))) { if (checkDoor()) { updateStage(stage + 1, "Heading to diary cow."); } } break; case 24: if (walkTo(new Position(3252, 3267, 0))) { if (checkDoor()) { updateStage(stage + 1, "Milking diary cow."); } } break; case 25: if (walkTo(new Position(3255, 3274, 0))) { RS2Object cow = getObjects().closest("Dairy cow"); if (cow != null) { cow.interact("Milk"); updateStage(stage + 1, "Heading back to cook."); } } break; case 26: if (!getInventory().contains("Bucket of milk")) { break; } if (walkTo(new Position(3253, 3267, 0))) { if (checkDoor()) { updateStage(stage + 1, "Talking to cook."); } } break; case 27: if (walkTo(new Position(3208, 3213, 0))) { NPC cook = getNpcs().closest("Cook"); if (cook != null) { cook.interact("Talk-to"); updateStage(stage + 1, "Finishing quest."); } } break; case 28: if (getDialogues().isPendingContinuation()) { getDialogues().clickContinue(); } else { getWidgets().closeOpenInterface(); updateStage(stage + 1, "Finished quest. Thanks for using my script."); stop(); } break; } return 600; } @Override public void onPaint(Graphics2D graphics) { Graphics2D g = (Graphics2D) graphics; g.setRenderingHints(new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF)); g.setColor(Color.CYAN); g.drawString("Status: " + status, 10, 310); g.drawString("Running: " + formatTime(System.currentTimeMillis() - startTime), 10, 330); } private boolean checkDoor() { boolean opened = false; for (RS2Object obj : objects.getAll()) { if (obj.getPosition().distance(myPosition()) < 2) { if (obj.hasAction("Open")) { obj.interact("Open"); opened = true; } } } if (opened) { log("Opened closable"); return false; } return true; } private String formatTime(long ms){ long s = ms / 1000, m = s / 60, h = m / 60; s %= 60; m %= 60; h %= 24; return String.format("%02d:%02d:%02d", h, m, s); } private boolean climbLadder(boolean up) { RS2Object ladder = getObjects().closest("Ladder"); if (ladder != null) { ladder.interact(up ? "Climb-up" : "Climb-down"); return true; } return false; } private boolean walkTo(Position pos) { if (!myPlayer().isMoving()) { boolean opened = false; for (RS2Object obj : objects.getAll()) { if (obj.getPosition().distance(myPosition()) < 3) { if (obj.hasAction("Open")) { obj.interact("Open"); opened = true; } } } if (opened) { log("Opened closable"); return false; } if (pos.distance(myPosition()) > 2) { getWalking().webWalk(pos); return false; } log("Finished walking"); return true; } if (!getSettings().isRunning()) { if (getSettings().getRunEnergy() > 10) { getSettings().setRunning(true); } } return false; } }1 point
-
1 point
-
1 point
-
it only walks to a random position in the area, if it's already in the area That is because the walker uses default WalkingEvent which walks with a minthreshold of 2 tiles. You should either wait for WalkingEvent to be fixed (if its broken) or just walk to a position deep in the area rather than a random one?1 point
-
1 point
-
1 point
-
You're missing the entire point of the server. the only purpose of the server is to test scripts, not to play on. if you make it accesable for thousands of people you need better servers, and you might also need mods and other stuff that comes with a public private rs server1 point
-
1 point
-
1 point
-
Bulk pricing will be as follows: <5 = $3.00/mo each 5+ = $2.50/mo each 10+ = $2.00/mo each Contact me if placing a large order. The site currently does not handle these discounts, will add in that functionality soon.1 point
-
1 point
-
1 point
-
Try again, I have updated the walking system it should no longer be stuck anywhere, if it ever gets stuck just copy + paste the console log and it will be fixed within 5 minutes This new update is a much better walking system1 point
-
Hi, from the 0.52 update it continues to stop scripting in a costom area in duel arena in magic and edgeville yew too. In the console it says "successfully stopped double click" and script just stays the same doing nothing. I cannot leave the script at night because im afraid it will stop again. Thank you...1 point
-
No proggie but been running the script for everything including moneymaking alchs and stun-alchs for a couple of weeks, excellent script. Only hiccup was when using mirror mode and the bot misclicked the stairs at the Monk of Zamorak after about 6 hours of run time which is pretty much unavoidable with the mirror-mode lag. Solid script.1 point
-
There is a problem with enchanting Jewlery. For some reason it clicks outside of the edgeville bank and then it becomes stuck because it doesn't know to reenter the bank. Could you take a look into this? It has ran flawlessly until this bug.1 point
-
1 point
-
hey czar the perfect miner script works great but after it banks and runs back it just chills there for a good 15min moving the camera sometimes logging me out it keeps saying 1 1 2 2 1 2 11 2 2 2 and then like 0.1261 point
-
Randomly logs out and script overaly dissapears after 10 - 30 min of running. Not sure if it's the script or OSBot that's breaking. For some reason OSBot Break Manager doesn't work for me, not your fault! Ignore the above Bought the script and highly reccommend to anyone! Worked flawlessly overnight.1 point
-
Just a little prblem i have been having Czar, sometimes when the inventory is not even full the charactor will go up and down the ladder reapetedly then eventually when the rock spawns infront of ladder it will continue as normal appreciate you looking into this for me1 point
-
1 point
-
Yes it does loot and bank herbs, and it makes 120k xp/hr in deadman mode (from the 5x boost thing)1 point