Skip to content
View in the app

A better way to browse. Learn more.

OSBot :: 2007 OSRS Botting

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Leaderboard

  1. Anne

    Java Lifetime Sponsor
    45
    Points
    6983
    Posts
  2. BawsZ

    Trade With Caution
    26
    Points
    2479
    Posts
  3. Mysteryy

    Members
    24
    Points
    2568
    Posts
  4. Maxi

    Developer
    21
    Points
    1430
    Posts

Popular Content

Showing content with the highest reputation on 10/17/13 in Posts

  1. Dear community, The hooks have been updated to support the latest released client revision #26. Please close your OSBot application and restart it. I have not been around for the last week as I have been busy working out the financial administration of OSBot for the tax agency. I hope to finish this soon. Sincerely, OSBot.org
  2. OSBot 2 will update automatically, in both cases of our client or their client being updated. Until then, just wait out the minutes for a moderator or developer to notice the update and push the updated hooks: http://osbot.org/forum/topic/21079-runescape-revision-update-26/
  3. This is kind of dumb.... Jagex MAIN detection method is in this order (In my opinion and the logic behind it) 1. First they confirm that you are a bot. Kind of like playing for 24 hours they put you on a list. 2. Then when a update comes to the game they implement something that knows they will break the bots 3. THEY KNOW WHEN THE BOTS COMES BACK UP. So lets say for osbot you were botting for 5 hours straight and an update happens. If you don't login right after the update but login when Osbot gets back up they will check their list and then ban you for begin a bot. This is my opinion of how jagex detects that you are a bot. Don't you see that you get banned after an update? not right before but after. There is truly no "detection" of bots in general. This is my opinion guys so yeah but this is how i think jagex detects that you are a bot.
  4. Only Mod on now and the clients down lol hope you can survive
  5. Plz Can you make something like this: When runescape have ben updated. This should or maybe stop stupid topics made by LEECHERS only come on forum for post ( cant load client, help client don't work, etc...). Well, Raflesia say me when Osbot2 come out this don't happen anymore because client can update automatically but while waiting for Osbot2 this should be nice Maybe forum can automatically detect rs update or a Mod can edit it himself when rs as been updated. What you guys think? Thanks
  6. 2 points
    i liked like 10 of your things last night so return the favor ill give u as many as i can when i get home
  7. I understand there's already a topic on this, I find it somewhat difficult to understand. Please understand that using breaks is an important part in keeping your account unbanned. More information on how to bot smart -> http://osbot.org/forum/topic/6894-bot-smart-what-it-is-how-to-do-it/ Defining the parts of a "break" [Average Interval] - The "average interval" is the average time between breaks. It's an "average" because of interval deviations, which i'll be getting to in a moment. This is how much time will be in between your breaks on average. [interval Deviation] - This is a very important part of making sure jagex doesn't notice a precise pattern in our breaks. Lets say your "average interval" is 75 minutes, and your "interval deviation" is 10 minutes. This means that the time between your breaks can be anywhere from 65 - 85 minutes. [Average Break Time] - The "average break time" is the average length of the breaks your account will be taking. It is an average, because there are also break deviations, which I will get to in a moment. Your "average break time" should be how long you want your account to stay logged off per break on average. [break Time Deviation] - Break time deviation is very similar to "interval deviation". Your "break time deviation" is how much the length of your accounts break can deviate from the average time. Lets say your "average break time" is 20 minutes and your "break time deviation" is 5 minutes. This means your accounts breaks will be anywhere from 15-25 minutes long. Here is a picture of my break setup Please be sure that you have the "enable breaks" box selected. Now, let me explain how breaks work going off of my break setup. My "average interval" is 75 minutes. my "interval deviation" is 25 minutes. This means that the time in between my accounts breaks can be anywhere from 50 - 100 minutes. my "average break time" is 25 minutes. My "break time deviation" is 10 minutes. This means that the length of my accounts breaks can be anywhere from 15 - 35 minutes. If you have any more questions, please feel free to ask below. Drop a like on the post if this helped you!
  8. OSBot Gilded Altar I wrote this for myself and wanted to share it as I wrote to be ready enough to be shared with others. Usually I don't make paints and add several variations to a script picked by a GUI, but I did it this time as I might be using it more often. I'm releasing this script open source, some of you might find it interesting to look through it and learn from it. For anyone else, hopefully you put it to good use and grind some bones with it. Features: Use a host or your own house Walking from Yanille bank to Yanille house and vica versa Instead of walking, use House teleport tabs or House teleport combined with a mounted Amulet of Glory in your house Choice between offering Dragon bones, Big Bones and normal bones Never ever offers bones when there are no 2 lit Incense burners Automatic door support, will work with every house setup Begin anywhere in your house, near a bank or near your portal (depending on setup) without supplies GUI: Progress report: Download JAR: http://up.ht/11Y7WUi Code: package osbot.maxi.script.gildedaltar; import org.osbot.script.Script; import org.osbot.script.ScriptManifest; import org.osbot.script.rs2.model.Item; import org.osbot.script.rs2.model.RS2Object; import org.osbot.script.rs2.skill.Skill; import org.osbot.script.rs2.ui.Spell; import org.osbot.script.rs2.utility.Area; import org.osbot.script.rs2.utility.ConditionalSleep; import java.awt.*; import java.util.List; import java.util.concurrent.TimeUnit; /** * Created with IntelliJ IDEA. * User: Maxi */ @ScriptManifest(name = "GildedAltar", author = "Maxi", version = 1.0D, info = "Offers Dragon bones, Big bones and normal bones on a Gilded Altar located in your or a friend's " + "with various transportation options.") public class GildedAltar extends Script { private DoorHandler doorHandler = null; private long startTime = 0; private int startXp = 0; private GildedAltarGUI gui = new GildedAltarGUI(); private boolean configured = false; private State state; private String host = null; private ToHouseMethod toHouseMethod; private ToBankMethod toBankMethod; private String bonesName; private static final Area WALK_AREA = new Area(2586, 3096, 2589, 3098); private static enum State { ENTER_HOUSE, TO_ALTAR, LIGHT_BURNERS, OFFER_BONES, TO_BANK, RESTOCK, TO_HOUSE, QUIT } private static enum ToHouseMethod { WALK(0, new String[] { "Tinderbox", "Marrentill" }, 25, 15), TELEPORT(1, new String[] { "Law rune", "Earth rune", "Tinderbox", "Marrentill" }, 23, 60), TELETAB(2, new String[] { "Teleport to house", "Tinderbox", "Marrentill" }, 24, 252); public int index; public String[] validItems; public int noBones; public int xp; private ToHouseMethod(int index, String[] validItems, int noBones, int xp) { this.index = index; this.validItems = validItems; this.noBones = noBones; this.xp = xp; } public static ToHouseMethod forIndex(int index) { for (ToHouseMethod method : ToHouseMethod.values()) { if (index == method.index) return method; } return null; } } private static enum ToBankMethod { WALK(0), GLORY(1); public int index; private ToBankMethod(int index) { this.index = index; } public static ToBankMethod forIndex(int index) { for (ToBankMethod method : ToBankMethod.values()) { if (index == method.index) return method; } return null; } } @Override public void onStart() { doorHandler = new DoorHandler(); doorHandler.provideBot(bot); gui.setVisible(true); } @Override public int onLoop() throws InterruptedException { if (!gui.started) return 10; if (!configured) { configure(); } scan(); log("State = " + state.toString()); switch (state) { case ENTER_HOUSE: return enterHouse(); case TO_ALTAR: return toAltar(); case LIGHT_BURNERS: return lightBurners(); case OFFER_BONES: return offerBones(); case TO_BANK: return toBank(); case RESTOCK: return restock(); case TO_HOUSE: return toHouse(); case QUIT: log("Something went wrong, shutting down script"); return -1; } return -1; } private void configure() { if (gui.useHostCheckbox.isSelected()) { host = gui.hostNameTextField.getText(); } else { host = null; } toHouseMethod = ToHouseMethod.forIndex(gui.toHouseMethodComboBox.getSelectedIndex()); toBankMethod = ToBankMethod.forIndex(gui.toBankMethodComboBox.getSelectedIndex()); bonesName = (String) gui.boneTypeComboBox.getSelectedItem(); startTime = System.currentTimeMillis(); startXp = client.getSkills().getExperience(Skill.PRAYER); configured = true; } private int toHouse() throws InterruptedException { switch (toHouseMethod) { case WALK: return enterHouse(); case TELEPORT: return teleportToHouse(); case TELETAB: return teleportToHouseTab(); default: log("No proper to house method found, shutting down..."); return -1; } } private int toBank() throws InterruptedException { switch (toBankMethod) { case WALK: return exitHouse(); case GLORY: return useMountedGlory(); default: log("No proper to bank method found, shutting down..."); return -1; } } private int exitHouse() throws InterruptedException { setRunning(true); if (isInHouse()) { RS2Object portal = closestObjectForName("portal"); if (portal != null) { if (!doorHandler.handleNextObstacle(portal)) { portal.interact("enter"); } } else { warn("Could not find entry portal!"); } } else { return 10 + gRandom(10, 10); } return 10 + gRandom(10, 10); } private int teleportToHouse() throws InterruptedException { closeOpenInterface(); if (magicTab.castSpell(Spell.HOUSE_TELEPORT)) { waitForHouse(); return 10 + gRandom(10, 10); } else { return 10 + gRandom(10, 10); } } private int teleportToHouseTab() throws InterruptedException { closeOpenInterface(); if (client.getInventory().interactWithName("Teleport to house", "Break")) { waitForHouse(); return 10 + gRandom(10, 10); } else { return 10 + gRandom(10, 10); } } private void waitForHouse() throws InterruptedException { new ConditionalSleep(5000) { @Override public boolean condition() { return client.getValidInterfaces()[399]; } }.sleep(); new ConditionalSleep(10000) { @Override public boolean condition() { return !client.getValidInterfaces()[399]; } }.sleep(); } private boolean restockLawRunes() throws InterruptedException { Item lawRune = client.getBank().getItemForName("Law rune"); if (lawRune != null) { return client.getBank().withdrawX(lawRune.getId(), 100); } else { log("You have no law runes left in your bank or inventory, shutting down..."); return false; } } private boolean restockEarthRunes() throws InterruptedException { Item earthRune = client.getBank().getItemForName("Earth rune"); if (earthRune != null) { return client.getBank().withdrawX(earthRune.getId(), 100); } else { log("You have no earth runes left in your bank or inventory, shutting down..."); return false; } } private boolean restockTabs() throws InterruptedException { Item tab = client.getBank().getItemForName("Teleport to house"); if (tab != null) { return client.getBank().withdrawX(tab.getId(), 100); } else { log("You have no law runes left in your bank or inventory, shutting down..."); return false; } } private boolean restockTeleportSupplies() throws InterruptedException { switch (toHouseMethod) { case TELEPORT: if (!client.getInventory().contains("Law rune") && !restockLawRunes()) { return false; } if (!client.getInventory().contains("Earth rune") && !restockEarthRunes()) { return false; } break; case TELETAB: if (!client.getInventory().contains("Teleport to house") && !restockTabs()) { return false; } break; } return true; } private boolean hashAllRequiredSupplies() { if (client.getInventory().getAmount("Tinderbox") != 1) { log("Too little or too many tinderboxes in inventory..."); return false; } switch (toHouseMethod) { case TELEPORT: if (!client.getInventory().contains("Law rune")) return false; if (!client.getInventory().contains("Earth rune")) return false; break; case TELETAB: if (!client.getInventory().contains("Teleport to house")) return false; break; } if (client.getInventory().getAmount("Marrentill") != 2) { return false; } if (client.getInventory().getAmount(bonesName) < toHouseMethod.noBones) { return false; } return true; } private boolean restockMarrentills() throws InterruptedException { int curAmount = (int) client.getInventory().getAmount("Marrentill"); int needed = 2 - curAmount; if (needed < 0) { int toStore = curAmount - 2; for (; toStore > 0; ) { client.getBank().deposit1(client.getInventory().getItemForName("Marrentill").getId()); sleep(5 + gRandom(10, 5)); } } else { Item marrentil = client.getBank().getItemForName("Marrentill"); if (marrentil != null) { for (; needed > 0;) { if (client.getBank().withdraw1(marrentil.getId())) { needed--; sleep(5 + gRandom(10, 5)); } } } else { log ("We ran out of marrentills, shutting down..."); return false; } } return true; } private boolean restockTinderbox() throws InterruptedException { if (!client.getInventory().contains("Tinderbox")) { Item tinderBox = client.getBank().getItemForName("Tinderbox"); if (tinderBox != null) { client.getBank().withdraw1(tinderBox.getId()); } else { log("You have no tinderbox in your bank or inventory, shutting down..."); return false; } } else if (client.getInventory().getAmount("Tinderbox") > 1) { Item tinderBox = client.getInventory().getItemForName("Tinderbox"); int toStore = (int) client.getInventory().getAmount("Tinderbox") - 1; if (tinderBox != null) { client.getBank().depositX(tinderBox.getId(), toStore); } } return true; } private boolean restockBones() throws InterruptedException { if (client.getInventory().getAmount(bonesName) < toHouseMethod.noBones) { Item bones = client.getBank().getItemForName(bonesName); if (bones != null) { client.getBank().withdrawAll(bones.getId()); } else { log("We ran out of " + bonesName + ", shutting down..."); return false; } } return true; } private int restock() throws InterruptedException { if (client.getBank().isOpen()) { client.getBank().depositAllExcept(toHouseMethod.validItems); if (hashAllRequiredSupplies()) return 10 + gRandom(10, 10); if (!restockTeleportSupplies()) return -1; if (!restockTinderbox()) return -1; if (!restockMarrentills()) return -1; if (!restockBones()) return -1; if (client.getInventory().contains(toHouseMethod.validItems)) return 10 + gRandom(10, 10); else return 10 + gRandom(10, 10); } else { if (hashAllRequiredSupplies()) return 10 + gRandom(10, 10); else { RS2Object bank = closestObjectForName("Bank booth"); if (bank != null) { if (bank.interact("Bank")) { new ConditionalSleep(2000) { @Override public boolean condition() { return client.getBank().isOpen(); } }.sleep(); } return 100 + gRandom(20, 50); } else { walk(WALK_AREA, 1); return 10 + gRandom(10, 10); } } } } private int useMountedGlory() throws InterruptedException { RS2Object glory = closestObjectForName("Amulet of Glory"); if (glory != null && !doorHandler.handleNextObstacle(glory)) { this.walk(glory, false, 6, true, false); client.moveCameraToEntity(glory); client.rotateCameraPitch(20); new ConditionalSleep(5000) { @Override public boolean condition() { return !myPlayer().isMoving(); } }.sleep(); if (glory.interact("Rub")) { if (!new ConditionalSleep(7000) { @Override public boolean condition() { return client.getValidInterfaces()[234]; } }.sleep()) { log("Glory interface did not show up within 7 seconds.. retrying"); return 5 + gRandom(5, 5); } else { if (client.getInterface(234).getChild(1).interact()) { new ConditionalSleep(5000) { @Override public boolean condition() { return !isInHouse(); } }.sleep(); return 5 + gRandom(5, 5); } else { return 50 + gRandom(50, 50); } } } else { if (client.getValidInterfaces()[234]) { if (client.getInterface(234).getChild(1).interact()) { new ConditionalSleep(5000) { @Override public boolean condition() { return !isInHouse(); } }.sleep(); return 5 + gRandom(5, 5); } else { return 50 + gRandom(50, 50); } } return 50 + gRandom(50, 50); } } else { log("Error with finding/walking glory"); return 100 + gRandom(100, 100); } } private int offerBones() throws InterruptedException { client.rotateCameraPitch(67); new ConditionalSleep(5000) { @Override public boolean condition() { return !myPlayer().isMoving(); } }.sleep(); RS2Object altar = closestObjectForName("Altar"); if (altar != null) { final int slot = client.getInventory().getSlotForName(bonesName); if (slot < 0) return 10 + gRandom(10, 10); client.getInventory().interactWithName(bonesName, "Use"); sleep(30 + gRandom(20, 20)); altar.interact("Use", true); new ConditionalSleep(1200) { @Override public boolean condition() { return client.getInventory().getItems()[slot] == null; } }.sleep(); return 10 + gRandom(20, 20); } else { log("Couldn't find altar, shutting down..."); return -1; } } private int lightBurners() throws InterruptedException { client.rotateCameraPitch(67); List<RS2Object> burners = closestObjectListForName("Incense burner"); for (final RS2Object burner : burners) { for (String s : burner.getDefinition().getActions()) { if (s != null && s.toLowerCase().contains("light")) { if (burner.interact("Light", 9, false)) { new ConditionalSleep(1000) { @Override public boolean condition() { return !burner.exists(); } }.sleep(); return 100 + gRandom(100, 100); } else return 10 + gRandom(10, 10); } } } return 10 + gRandom(10, 10); } private int toAltar() throws InterruptedException { final RS2Object altar = closestObjectForName("Altar"); if (altar != null && distance(altar) > 2) { if (!doorHandler.handleNextObstacle(altar)) { this.walk(altar, false, 2, true, false); new ConditionalSleep(2000) { @Override public boolean condition() { return distance(altar) <= 2; } }.sleep(); } else { return 400 + gRandom(100, 100); } } return 100 + gRandom(100, 100); } private int enterHouse() throws InterruptedException { if (client.getInterface(232) != null && client.getInterface(232).getChild(1).isVisible() && client.getInterface(232).getChild(1).getMessage().equalsIgnoreCase("go to your house")) { if (host == null) { if (client.getInterface(232).getChild(1).interact()) { waitForHouse(); } } else { client.getInterface(232).getChild(3).interact(); if (new ConditionalSleep(5000) { @Override public boolean condition() { return client.getInterface(137) == null || !client.getInterface(137).isVisible(); } }.sleep()) { type(host); waitForHouse(); } else { return 200 + gRandom(50, 50); } } return 3000 + gRandom(600, 200); } setRunning(true); RS2Object portal = closestObjectForName("portal"); if (portal != null) { if (!doorHandler.handleNextObstacle(portal)) { portal.interact("enter"); } } else { warn("Could not find entry portal!"); } return 600 + gRandom(300, 100); } private void scan() { if (state == State.OFFER_BONES) { if (client.getInventory().contains(bonesName) && isInHouse()) { List<RS2Object> burners = closestObjectListForName("Incense burner"); if (!burners.isEmpty()) { for (RS2Object burner : burners) { for (String s : burner.getDefinition().getActions()) { if (s != null && s.toLowerCase().contains("light")) { if (client.getInventory().getAmount("Marrentill") >= 0) { state = State.LIGHT_BURNERS; return; } else { state = State.TO_BANK; return; } } } } } } } if (isInHouse()) { if (!client.getInventory().contains(bonesName)) { state = State.TO_BANK; return; } RS2Object altar = closestObjectForName("Altar"); if (altar != null && distance(altar) > 3) { state = State.TO_ALTAR; return; } else { List<RS2Object> burners = closestObjectListForName("Incense burner"); if (!burners.isEmpty()) { for (RS2Object burner : burners) { for (String s : burner.getDefinition().getActions()) { if (s != null && s.toLowerCase().contains("light")) { if (client.getInventory().getAmount("Marrentill") >= 0) { state = State.LIGHT_BURNERS; return; } else { state = State.TO_BANK; return; } } } } } if (client.getInventory().contains(bonesName)) { state = State.OFFER_BONES; return; } } } else { if (hashAllRequiredSupplies()) { RS2Object portal = closestObjectForName("Portal"); if (portal != null && distance(portal) < 10) { state = State.ENTER_HOUSE; return; } state = State.TO_HOUSE; return; } else { state = State.RESTOCK; return; } } } private int getBonesPerHour() { if (gui.started && configured) { int exp = client.getSkills().getExperience(Skill.PRAYER) - startXp; int noBones = exp / toHouseMethod.xp; long time = System.currentTimeMillis() - startTime; if (time == 0) return 0; return (int) (((double) noBones / (double) time) * 3600000D); } return 0; } @Override public void onPaint(Graphics g) { g.setColor(new Color(0, 0, 0, 120)); g.fillRect(10, 300, 500, 35); g.setColor(Color.green); if (gui.started && configured) { long time = System.currentTimeMillis() - startTime; g.drawString("Bones/hour : " + getBonesPerHour(), 15, 315); int exp = client.getSkills().getExperience(Skill.PRAYER) - startXp; g.drawString("Exp/hour : " + (int) (exp == 0 ? 0 : (3600000D / (((double) time) / ((double) exp)))), 15, 330); g.drawString("Bones: " + exp / toHouseMethod.xp, 190, 315); g.drawString("Exp: " + exp, 190, 330); g.drawString("State : " + state, 352, 315); g.drawString("Time running : " + formatTime(time), 352, 330); } else { g.drawString("Bones/hour : 0", 15, 315); g.drawString("Exp/hour : 0", 15, 330); g.drawString("Bones: 0", 190, 315); g.drawString("Exp: 0", 190, 330); g.drawString("State : Unstarted" + state, 352, 315); g.drawString("Time running : 00:00:00:00", 352, 330); } } private String formatTime(final long l) { final long day = TimeUnit.MILLISECONDS.toDays(l); final long hr = TimeUnit.MILLISECONDS.toHours(l - TimeUnit.DAYS.toMillis(day)); final long min = TimeUnit.MILLISECONDS.toMinutes(l - TimeUnit.DAYS.toMillis(day) - TimeUnit.HOURS.toMillis(hr)); final long sec = TimeUnit.MILLISECONDS.toSeconds(l - TimeUnit.DAYS.toMillis(day) - TimeUnit.HOURS.toMillis(hr) - TimeUnit.MINUTES.toMillis(min)); final long ms = TimeUnit.MILLISECONDS.toMillis(l - TimeUnit.DAYS.toMillis(day) - TimeUnit.HOURS.toMillis(hr) - TimeUnit.MINUTES.toMillis(min) - TimeUnit.SECONDS.toMillis(sec)); return String.format("%02d:%02d:%02d:%02d", day, hr, min, sec); } } Enjoy!
  9. View My Signatures View My Avatars View My FREE Signatures
  10. Hello everyone, Jagex has just updated their client to a new revision: 22 I will be running the updater and quickly test all major hooks and supply the server with the new hooks. This will hopefully take no longer than 30 minutes. Edit: The hooks have been updated. Please restart your bot client and we wish you happy botting. Edit 2: Id's for different entities have been switched up, so for example for Ande's autofigther you will have to change your setup to match the correct npc id's again. Sincerely, OSBot.org
  11. I need some experience back in Photoshop and will be offering a short period of free avatars. Got a good idea? I'll do my best to make it look good. I will be handing you a PNG file at 200 x 200 once done. Requests Completed : Myself : Masterbrain : LolBot69 : 313Wizzy : Hades Crew : Alerion : Dalgleesh : Incendiax : Stu :
  12. 1 point
    Hello everyone, In this release Strange plant should be working 100% again. In the previous version a small bug was left in the handler and I verified and tested it with my own eyes this time. v1.7.52 was lost due to a crash of my programming environment. Download can be found here: http://osbot.org Sincerely, OSBot.org P.S. Beehive will come tomorrow.
  13. Do Crossfit. I'm 14 and super buff
  14. YOU SHOULD HAVE WON WITH THIS ONE! LOOKS DOPE MAN
  15. Purchase a real VPS, that hasn't been used for Botting ever IP's are fresh out the block unlike others which have been used for many months and have had the ip range/host flagged by Jägex. This is a real VPS no bullshit trials the real deal, automated VPS provisioning and billing,
  16. Don't take him seriously. There's a reason this is in the spam section ;)
  17. sell now when its more expensive then buy back in 2 weeks
  18. This has already been suggested many times.
  19. Full support, this is a great idea.
  20. so basically your not willing to pay in any method? no paypal no western union etc hmm so what methods are you willing to pay?
  21. Vouch, his prices are cheaper then mine vouch buy them
  22. ya but hes an Admin now. The only admin really ever on lmfao!
  23. DFgisn it's the end of the whole entire universe as we know it! We need the Doctor!
  24. You're a waste of your fathers sperm.
  25. Mod Markdonalds****
  26. 1 point
    It's down please be patient.
  27. 1 point
    Or, you can earn them legit by actually posting stuff that people will like. ._.
  28. 1 point
    plz dont use my name as public advertisement, thnx violent next time i will sue you
  29. 1 point
    Welcome to the Forums ;)
  30. This time on a different botting site.. spent $200 usd on sponsor there aswell lolol LEDgend!
  31. 1 point
    he is the one who hacked kati perm ban plz
  32. Hey

    1 point
    Edit your thread and add : I am a postcount whore Welcome Mikasa, don't spam and make sure to read the rules.
  33. Goodluck with school.
  34. Looks promising. Pretty sure half of the community jizzed while reading the thread.
  35. Simple Giveaway for the #1 Selling Script on OSBot right now. WHEN I SAY #1 I MEAN #0 THERES NOTHING BETTER THEN IT! ITS ALMOST LIKE AN AIO JAVA GUIDE! All you need to do is write a paragraph MAX 8 Sentences describing what Superscript Factory does. TRY AND GUESS WHAT GMC ACTUALLY STANDS FOR WINNING PARAGRAPH GETS A LIFETIME COPY OF THE FULLY FUNCTIONAL GMC SUPERSCRIPT. NOT ONLY DO YOU GET THAT -YOU GET A COUNTLESS NUMBER OF UPDATES -YOU GET TO JOIN THE GMC FAN CLUB -YOU GET TO CODE YOUR OWN SCRIPT WITHOUT ACTUALLY CODING YOUR OWN SCRIPT!!!! AND WAIT IT DOESNT END THERE -YOU GET A BOT THAT IS technically BAN FREE!!!! BUT WAIT WERE NOT DONE YET! ITS #1! POST DEM PARAGRAPHS! GLGLGL @Dashboard will be picking the winner of this competition Winner will be chosen on 26/09/2013 THATS 1 WEEK TO WRITE UP YOUR PARAGRAPHS GL!
  36. looool that might be it cheap cunts only $10 -_-
  37. yolo it and sell some weed
  38. 1 point
    Welcome to the gang ;)
  39. Pm me your skype Accepted fk u Is there anything else you have to offer us? the two you have picked are pretty much full. Can you quest? On Hold - Waiting for Response You can quest for us also you would have to take down your service thread Accepted Would really like to see some of your firecape work. Interested We'll bring you in the group chat on skype On Hold till we are sure you are good for firecapes. Accepted - Deposit already received Accepted - Torso and Questing Accepted Accepted - Love the Hand Done Manual Jobs On Hold - We currently dont require powerlevellers, anything else you have to offer? Accepted Already Accepted - Questing Only Accepted - Questing and Torso Services Needed
  40. Brown hair, normal teeth, bieber hair. Q'tie

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.