Jump 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.

TTScripts

Trade With Caution
  • Joined

  • Last visited

Everything posted by TTScripts

  1. TTScripts replied to Chef Sk1llz's topic in Requests
    Are you paying for a bond? I'll do it for 10M because I don't have feedback but want to start earning it. (Also because you are asking for a botted skill and I think it's crazy to ask 20m+ for almost no effort.) Also can the account have some other low stats to help avoid a ban? Name some acceptable skills to level slightly. If you're interested you can PM me on here.
  2. Hey guys, so I don't mean to be a pest, but how long does it usually take @Alek to respond to Git account requests? He's been on countless times since I posted the request almost three weeks ago, but it seems to be getting ignored and I'm not sure why. Alek if you see this i'd really like to start scripting on the SDN if you'll allow me. Hopefully my eagerness is not mistaken for rude impatience.
  3. This makes me want to write a Tut Island script that's actually randomized. Look how they all have the same clothing configs.
  4. TTScripts replied to GPSwap's topic in Others
    I don't know why but you're coming off as very snide. I was only trying to be helpful because the post was commented on recently and I just saw the topic. I was only offering advice and a hide paint option is smart, You should really consider one for your scripts. Best of luck, friend.
  5. TTScripts replied to GPSwap's topic in Others
    Grats on release bro. A few tips: Set a font and color for the paint using g.setFont(new Font("[NAME OF FONT]", Font.PLAIN, [FONT SIZE]); g.setColor(Color.WHITE); if you use Eclipse it will give you the import options. An efficient way to get paint to hide is using a clickable rectangle. Here's a method below: (Place it in your onStart void) this.bot.addMouseListener(new BotMouseListener() { public void mouseClicked(java.awt.event.MouseEvent e) { Point point = e.getPoint(); Rectangle hideButton = new Rectangle(452,326,62,11); if (hideButton.contains(point)) { showPaint = !showPaint; } } @Override public void mousePressed(java.awt.event.MouseEvent e) { // TODO Auto-generated method stub } @Override public void mouseReleased(java.awt.event.MouseEvent e) { // TODO Auto-generated method stub } @Override public void mouseEntered(java.awt.event.MouseEvent e) { // TODO Auto-generated method stub } @Override public void mouseExited(java.awt.event.MouseEvent e) { // TODO Auto-generated method stub } @Override public boolean blockInput(Point arg0) { // TODO Auto-generated method stub return false; } }); } Make sure you change the rectangle to your coordinates and add something like if (!showPaint) { g.drawString("[Show Paint]", 457, 332); return; } to your paint method.
  6. the switch is being called in onLoop and the conditions are being met for case 2: case 2: is the ONLY place in the entire code that calls for withdrawing item from bank and as mentioned in the post, the script IS performing that function, but nothing else inside of case 2: is being called
  7. So I have this in my script: case 2: if (getBank().open()) { waitTicks = 0; sleep(random(900, 1200)); log("Bank is open check"); for (int i = 0; i < 27; i++) { if (getInventory().getItemInSlot(i) != null) { if (getInventory().getItemInSlot(i).getName().equalsIgnoreCase(item1) && getInventory().getItemInSlot(i).getName().equalsIgnoreCase(item2) && getInventory().getItemInSlot(i).getName().equalsIgnoreCase(tool)) { getInventory().interact(i, "Deposit-All"); } } } //getBank().depositAllExcept(item1, item2, tool); sleep(random(800, 1000)); getBank().withdraw(item2, withdrawAmount); sleep(random(800, 1100)); getBank().close(); sleep(random(600, 800)); } break; I know case 2 is being called because it opens the bank and withdraws the item, but getBank().depositAll(String); was not working, getBank().depositAllExcept(String); was not working, and when I tried adding log(String);'s to make sure blocks were being reached, nothing happened and it was not showing in the log. The script STILL tries to withdraw the item, and i know the script is getting these changes because i changed the paint and that updated fine. Why is the ONLY thing in this entire snippet that's actually getting called the withdraw items?
  8. I think someone would probably sell an acc with 80 ranged only for about 30m-40m depending on if it was done by hand? I saw people asking for 70 ranged only accounts and everyone was saying 25m for that
  9. TTScripts replied to TTScripts's topic in Requests
    yeah man i wanna see a screenshot of 40 requests made today....for real. I don't need to add you or pm you anything, just take a screenie of whatever medium you use to log your requests showing 40 requests for today the 8th of october. shit i'll even settle for 20 requests?
  10. TTScripts replied to TTScripts's topic in Requests
    Well have fun charging all those people twice what a jad cave run is worth, i'm not interested in paying 11m for a firecape. I just need one firecape. I don't see how you'd get banned for botting caves as scripts for jad mini seem very few in number, and if it's only one run. Does it always succeed in getting a fc?
  11. TTScripts replied to TTScripts's topic in Requests
    Even so, with his math over the course of the three years he's been registered here...? 280 capes a week * 3 years = 43,680 capes among him and his team (not accounting for the fact that his team's size was clearly different three years ago, NOR the fact that if this wasn't his main site that probability is his fc legacy goes back further than 3 years?) That is unless he just started doing firecapes 0.8x(team size) weeks ago...
  12. TTScripts replied to TTScripts's topic in Requests
    There are scripts for a firecape? lol Not that I don't believe you but I was raised a skeptic, may I see a screenshot of these supposed 30-40 fire cape requests for today?
  13. TTScripts replied to TTScripts's topic in Requests
    That expensive? I clearly have the stats, am buying the gear, and fight caves doesn't take more than an hour.
  14. TTScripts posted a topic in Requests
    How much would it cost for one of you guys to go on and get a firecape for me? I would buy the set, and you'd just go on and do all 63 waves and get the fc. I suck shit at switching and can never seem to kill jad. Only trusted users, please.
  15. lol gg noob @Chris I wanna see that Visages go to 1. lol
  16. Hey i'm about to update it. I sorted out a few errors and also just added a feature where you can save a config (The GUI set up)
  17. Hey guys, I coded this because I was too bored to make swamp tars myself. It might be a bit buggy, but shouldn't be. It's just a script that you can use near a bank when you need to craft items on one another. I added in a GUI to make it a bit easier for those who don't really know programming. It's pretty fuggin' ugly but it works decently. only 2k of those marrentill tars are from this proggy iteration I'll add a longer proggy in a bit, i'm using it as i make this post. but here's the .jar if you want it: https://www.mediafire.com/file/92d93klwx01c9rg/TT SimpleItemer.jar For those skeptical few out there, here's the sloppy, nasty source code: Main.java package pkg; import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; import java.text.DecimalFormat; import java.util.concurrent.TimeUnit; import org.osbot.rs07.api.model.NPC; import org.osbot.rs07.api.ui.Skill; import org.osbot.rs07.script.Script; import org.osbot.rs07.script.ScriptManifest; import org.osbot.rs07.utility.ConditionalSleep; @ScriptManifest(author = "TTScripts", info = "TT Itemer", name = "TT Itemer", version = 1.0, logo = "") public class Main extends Script { public static String makeType = "Make All"; public static int withdrawAmount = 24; public static double expPerAction = 42.5; public static boolean depositProduct = false; public static int[] widgetID = {309, 6, -1}; public static String item1 = "Swamp tar";//stays in inv public static String item2 = "Marrentill";//gets withdrawn public static String product = "Marrentill tar"; public static Skill training = Skill.DEFENCE; public boolean waiting = false; public int getState() { if (!getInventory().contains(item2) || !getInventory().contains(item1)) { return 1; } if (getInventory().contains(item2) && getInventory().contains(item1)) { return 0; } if (!getInventory().contains(item2) && getInventory().contains(product) && getInventory().contains(item1)) { return 2; } return -1; } public static Skill setTrainingSkill(String s) { switch (s.toUpperCase()) { case "PRAYER": return Skill.PRAYER; case "MAGIC": return Skill.MAGIC; case "HERBLORE": return Skill.HERBLORE; case "CRAFTING": return Skill.CRAFTING; case "FLETCHING": return Skill.FLETCHING; case "FIREMAKING": return Skill.FIREMAKING; } return Skill.DEFENCE; } public long startTime; public void onStart() throws InterruptedException { gui GUI = new gui(); GUI.setVisible(true); while (GUI.isVisible()) { sleep(200); } getExperienceTracker().start(training); startTime = System.currentTimeMillis(); } public int state = -1; public int waitTicks = 0; public int currAmount = 0; @Override public int onLoop() throws InterruptedException { state = getState(); switch (state) { case 0: if (getInventory().getItem(item2).interact("Use")) { sleep(random(500, 700)); if (getInventory().getItem(item1).interact()) { sleep(random(600, 800)); if (widgetID[2] < 0) { if (getWidgets().get(widgetID[0], widgetID[1]) != null && getWidgets().get(widgetID[0], widgetID[1]).isVisible()) { if (getWidgets().get(widgetID[0], widgetID[1]).interact(makeType)) { sleep(random(800, 1100)); if (makeType == "Make X") { int iA = random(28, 200); getKeyboard().typeString("" + iA); } new ConditionalSleep(55000){ @ Override public boolean condition() throws InterruptedException { return (!getInventory().contains(item2) || getDialogues().isPendingContinuation() || getDialogues().inDialogue()); } }.sleep(); } } } else { if (getWidgets().get(widgetID[0], widgetID[1], widgetID[2]) != null && getWidgets().get(widgetID[0], widgetID[1], widgetID[2]).isVisible()) { if (getWidgets().get(widgetID[0], widgetID[1], widgetID[2]).interact(makeType)) { sleep(random(800, 1100)); if (makeType == "Make X") { int iA = random(28, 200); getKeyboard().typeString("" + iA); } } } } } } break; case 1: while (!getBank().isOpen()) { getBank().open(); sleep(random(1200, 1500)); } sleep(random(300, 600)); if (!getInventory().contains(item1)) { getBank().withdraw(item1, 1); sleep(random(900, 1100)); } getBank().withdraw(item2, withdrawAmount); sleep(random(900, 1200)); getBank().close(); sleep(random(500, 800)); break; case 2: NPC banker = getNpcs().closest("Banker"); if (banker != null) { if (banker.interact("Bank")) { waitTicks = 0; sleep(random(900, 1200)); if (getBank().isOpen()) { if (depositProduct) { getBank().depositAll(product); sleep(random(800, 1000)); } getBank().withdraw(item2, withdrawAmount); sleep(random(800, 1100)); getBank().close(); sleep(random(600, 800)); } } } break; } return random(500, 700); } public void onPaint(Graphics2D g) { int orbsDone = (int)(getExperienceTracker().getGainedXP(training) / expPerAction); g.setColor(Color.WHITE); long millis = System.currentTimeMillis() - startTime; String timeStr = String.format("%02d min, %02d sec", TimeUnit.MILLISECONDS.toMinutes(millis), TimeUnit.MILLISECONDS.toSeconds(millis) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis)) ); DecimalFormat dc = new DecimalFormat("#,###"); g.setFont(new Font("Trebuchet MS", Font.PLAIN, 14)); g.drawString("Iterations completed: " + dc.format(orbsDone) , 10, 250); g.drawString("Time running: " + timeStr, 10, 265); if (training != Skill.DEFENCE) { g.drawString("Exp gained: " + dc.format(getExperienceTracker().getGainedXP(training)), 10, 280); } } } GUI.java package pkg; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.io.PrintWriter; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Paths; import javax.swing.*; import javax.swing.GroupLayout; import javax.swing.LayoutStyle; public class gui extends JFrame { private static final long serialVersionUID = -3448595482246700623L; public gui() { initComponents(); } private static String readFile(String path, Charset encoding) throws IOException { byte[] encoded = Files.readAllBytes(Paths.get(path)); return new String(encoded, encoding); } private void initComponents() { lblTool = new JLabel(); txtTool = new JTextField(); btnStart = new JButton(); txtUse = new JTextField(); lblUse = new JLabel(); txtProduct = new JTextField(); lblProduct = new JLabel(); txtExp = new JTextField(); lblExp = new JLabel(); txtSkill = new JTextField(); lblSkill = new JLabel(); txtAmount = new JTextField(); lblAmount = new JLabel(); chkDeposit = new JCheckBox(); txtAmount2 = new JTextField(); lblAmount2 = new JLabel(); txtAmount3 = new JTextField(); txtAmount4 = new JTextField(); label1 = new JLabel(); label2 = new JLabel(); comboBox1 = new JComboBox<>(); label3 = new JLabel(); button1 = new JButton(); button2 = new JButton(); //======== this ======== setTitle("TT Simple Itemer"); Container contentPane = getContentPane(); //---- lblTool ---- lblTool.setText("Tool To Use"); //---- txtTool ---- txtTool.setText("Chisel"); //---- btnStart ---- btnStart.setText("Start Script"); btnStart.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { if (txtTool.getText() != "") { Main.item1 = txtTool.getText(); } if (txtUse.getText() != "") { Main.item2 = txtUse.getText(); } if (txtProduct.getText() != "") { Main.product = txtProduct.getText(); } if (txtExp.getText() != "") { try { Main.expPerAction = Double.parseDouble(txtExp.getText()); } catch(NumberFormatException d) { } } if (txtAmount.getText() != "") { try { Main.withdrawAmount = Integer.parseInt(txtAmount.getText()); } catch(NumberFormatException d) { } } if (txtAmount2.getText() != "") { try { Main.widgetID[0] = Integer.parseInt(txtAmount2.getText()); } catch(NumberFormatException d) { } } if (txtAmount3.getText() != "") { try { Main.widgetID[1] = Integer.parseInt(txtAmount3.getText()); } catch(NumberFormatException d) { } } if (txtAmount4.getText() != "") { try { Main.widgetID[2] = Integer.parseInt(txtAmount4.getText()); } catch(NumberFormatException d) { } } Main.makeType = comboBox1.getSelectedItem().toString(); Main.depositProduct = chkDeposit.isSelected(); Main.training = Main.setTrainingSkill(txtSkill.getText()); setVisible(false); } }); //---- txtUse ---- txtUse.setText("Uncut Sapphire"); //---- lblUse ---- lblUse.setText("Item to use on"); //---- txtProduct ---- txtProduct.setText("Sapphire"); //---- lblProduct ---- lblProduct.setText("Product"); //---- lblExp ---- lblExp.setText("EXP per iteration"); //---- lblSkill ---- lblSkill.setText("Skill being trained"); //---- lblAmount ---- lblAmount.setText("Withdraw amount"); //---- chkDeposit ---- chkDeposit.setText("Deposit products"); //---- txtAmount2 ---- txtAmount2.setText("309"); //---- lblAmount2 ---- lblAmount2.setText("Widget IDs"); //---- txtAmount3 ---- txtAmount3.setText("6"); //---- txtAmount4 ---- txtAmount4.setText("-1"); //---- label1 ---- label1.setText("Set to -1 for no"); //---- label2 ---- label2.setText("subChildId"); //---- comboBox1 ---- comboBox1.setModel(new DefaultComboBoxModel<>(new String[] { "Make All", "Make X" })); //---- label3 ---- label3.setText("Make X or Make All?"); //---- button1 ---- button1.setText("Save Config"); button1.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { File dir = new File(System.getProperty("user.home") + "/AppData/Local/Temp/TT Scripts"); dir.setExecutable(true); dir.setReadable(true); dir.setWritable(true); if (!dir.exists()) { System.out.println("Creating TT Scripts directory in Documents"); try { dir.mkdir(); } catch (SecurityException se) { System.out.println("Security exception"); } } try { File saveFile = new File(System.getProperty("user.home") + "/AppData/Local/Temp/TT Scripts/TT Items Script.txt"); saveFile.setExecutable(true); saveFile.setReadable(true); saveFile.setWritable(true); saveFile.createNewFile(); PrintWriter writer = new PrintWriter(saveFile); writer.write(txtTool.getText() + "~" + txtUse.getText() + "~" + txtProduct.getText() + "~" + txtExp.getText() + "~" + txtSkill.getText() + "~" + txtAmount.getText() + "~" + txtAmount2.getText() + "~" + txtAmount3.getText() + "~" + txtAmount4.getText() + "~" + comboBox1.getSelectedIndex() + "~" + (chkDeposit.isSelected() ? "yes" : "no")); writer.close(); } catch (FileNotFoundException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } }); //---- button2 ---- button2.setText("Load Config"); button2.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { File dir = new File(System.getProperty("user.home") + "/AppData/Local/Temp/TT Scripts"); dir.setExecutable(true); dir.setReadable(true); dir.setWritable(true); if (!dir.exists()) { System.out.println("Creating TT Scripts directory in Documents"); try { dir.mkdir(); } catch (SecurityException se) { System.out.println("Security exception"); } } try { File saveFile = new File(System.getProperty("user.home") + "/AppData/Local/Temp/TT Scripts/TT Items Script.txt"); saveFile.setExecutable(true); saveFile.setReadable(true); saveFile.setWritable(true); saveFile.createNewFile(); String content = readFile(saveFile.toString(), StandardCharsets.UTF_8); String parsed[] = content.split("~"); try { txtTool.setText(parsed[0]); txtUse.setText(parsed[1]); txtProduct.setText(parsed[2]); txtExp.setText(parsed[3]); txtSkill.setText(parsed[4]); txtAmount.setText(parsed[5]); txtAmount2.setText(parsed[6]); txtAmount3.setText(parsed[7]); txtAmount4.setText(parsed[8]); comboBox1.setSelectedIndex(Integer.parseInt(parsed[9])); if (parsed[10] == "yes") { chkDeposit.setSelected(true); } else { chkDeposit.setSelected(false); } } catch (Exception e2) { } } catch (FileNotFoundException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } }); GroupLayout contentPaneLayout = new GroupLayout(contentPane); contentPane.setLayout(contentPaneLayout); contentPaneLayout.setHorizontalGroup( contentPaneLayout.createParallelGroup() .addGroup(contentPaneLayout.createSequentialGroup() .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.LEADING, false) .addGroup(contentPaneLayout.createSequentialGroup() .addGap(153, 153, 153) .addComponent(txtAmount2, GroupLayout.PREFERRED_SIZE, 34, GroupLayout.PREFERRED_SIZE) .addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(txtAmount3, GroupLayout.PREFERRED_SIZE, 34, GroupLayout.PREFERRED_SIZE) .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) .addComponent(txtAmount4, GroupLayout.PREFERRED_SIZE, 34, GroupLayout.PREFERRED_SIZE) .addGroup(contentPaneLayout.createParallelGroup() .addComponent(label2) .addComponent(label1))) .addGroup(contentPaneLayout.createSequentialGroup() .addGap(18, 18, 18) .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.TRAILING) .addComponent(lblTool) .addComponent(lblUse) .addComponent(lblProduct) .addComponent(lblExp) .addComponent(lblSkill) .addComponent(lblAmount2) .addGroup(contentPaneLayout.createParallelGroup() .addComponent(label3) .addComponent(lblAmount))) .addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(contentPaneLayout.createParallelGroup() .addComponent(txtUse, GroupLayout.PREFERRED_SIZE, 191, GroupLayout.PREFERRED_SIZE) .addComponent(txtTool, GroupLayout.PREFERRED_SIZE, 191, GroupLayout.PREFERRED_SIZE) .addComponent(txtProduct, GroupLayout.PREFERRED_SIZE, 191, GroupLayout.PREFERRED_SIZE) .addComponent(txtExp, GroupLayout.PREFERRED_SIZE, 191, GroupLayout.PREFERRED_SIZE) .addComponent(txtAmount, GroupLayout.PREFERRED_SIZE, 191, GroupLayout.PREFERRED_SIZE) .addComponent(txtSkill, GroupLayout.PREFERRED_SIZE, 191, GroupLayout.PREFERRED_SIZE) .addComponent(chkDeposit) .addComponent(comboBox1, GroupLayout.PREFERRED_SIZE, 142, GroupLayout.PREFERRED_SIZE))) .addGroup(GroupLayout.Alignment.TRAILING, contentPaneLayout.createSequentialGroup() .addContainerGap() .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.LEADING, false) .addComponent(button1, GroupLayout.DEFAULT_SIZE, 108, Short.MAX_VALUE) .addComponent(button2, GroupLayout.DEFAULT_SIZE, 108, Short.MAX_VALUE)) .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(btnStart, GroupLayout.PREFERRED_SIZE, 130, GroupLayout.PREFERRED_SIZE))) .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); contentPaneLayout.setVerticalGroup( contentPaneLayout.createParallelGroup() .addGroup(contentPaneLayout.createSequentialGroup() .addContainerGap() .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.BASELINE) .addComponent(txtTool, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) .addComponent(lblTool)) .addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.BASELINE) .addComponent(txtUse, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) .addComponent(lblUse)) .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.BASELINE) .addComponent(txtProduct, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) .addComponent(lblProduct)) .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.BASELINE) .addComponent(txtExp, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) .addComponent(lblExp)) .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.BASELINE) .addComponent(txtSkill, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) .addComponent(lblSkill)) .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.BASELINE) .addComponent(txtAmount, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) .addComponent(lblAmount)) .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.BASELINE) .addComponent(lblAmount2) .addComponent(txtAmount2, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) .addComponent(txtAmount3, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) .addComponent(txtAmount4, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) .addComponent(label1)) .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) .addComponent(label2) .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(contentPaneLayout.createParallelGroup(GroupLayout.Alignment.BASELINE) .addComponent(label3) .addComponent(comboBox1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) .addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(chkDeposit) .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) .addGroup(contentPaneLayout.createParallelGroup() .addComponent(btnStart, GroupLayout.PREFERRED_SIZE, 62, GroupLayout.PREFERRED_SIZE) .addGroup(contentPaneLayout.createSequentialGroup() .addComponent(button1) .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) .addComponent(button2))) .addGap(5, 5, 5)) ); pack(); setLocationRelativeTo(getOwner()); // JFormDesigner - End of component initialization //GEN-END:initComponents } private JLabel lblTool; private JTextField txtTool; private JButton btnStart; private JTextField txtUse; private JLabel lblUse; private JTextField txtProduct; private JLabel lblProduct; private JTextField txtExp; private JLabel lblExp; private JTextField txtSkill; private JLabel lblSkill; private JTextField txtAmount; private JLabel lblAmount; private JCheckBox chkDeposit; private JTextField txtAmount2; private JLabel lblAmount2; private JTextField txtAmount3; private JTextField txtAmount4; private JLabel label1; private JLabel label2; private JComboBox<String> comboBox1; private JLabel label3; private JButton button1; private JButton button2; // JFormDesigner - End of variables declaration //GEN-END:variables }
  18. you caught me. lol
  19. import org.osbot.rs07.api.model.GroundItem; import org.osbot.rs07.api.model.NPC; import org.osbot.rs07.script.Script; import org.osbot.rs07.script.ScriptManifest; import org.osbot.rs07.utility.ConditionalSleep; import javax.swing.*; import java.awt.*; @ScriptManifest(name = "Animator by RickyD", author = "RickyD", version = 1.0, info = "Animates your armour to farm warrior guild tokens", logo = "") public class Animated extends Script { String[] foodName = {"Lobster"}; NPC anim; GroundItem lootables; private String armorType = "Mithril" String[] lootNames; @Override public void onStart() { startTime = System.currentTimeMillis(); lootNames = {armortType & "platebody", "Warrior guild token", armorType & " full helm", armorType & " platelegs"}; } @Override public void onExit() { log("Script has exited successfully"); } private long startTime; public boolean hasArmour(){ if(getInventory().contains(armorType & " platebody") && getInventory().contains(armortType & " platelegs") && getInventory().contains(armorType & " full helm")){ return true; } return false; } @Override public int onLoop() throws InterruptedException{ anim = getNpcs().closest(2454);//you should change this to a static method that gets the animated armor npc id //maybe anim = getNpcs().closest("Animated " & armorType & " armour"); //or something like that lootables = getGroundItems().closest(lootNames); if(getInventory().contains(foodName) && getInventory().getAmount("Warrior guild token") < 1000){ if(anim != null && anim.isInteracting(myPlayer())){ if(myPlayer().getHealthPercent() < 50){ getInventory().interact("Eat", foodName); //DTiming.waitCondition(() -> myPlayer().getAnimation() == 829, 2000); new ConditionalSleep(2000){ @ Override public boolean condition() throws InterruptedException { return myPlayer().getAnimation() == 829; } }.sleep(); sleep(random(400, 650); }else{ if(myPlayer().getInteracting() == null){ anim.interact("Attack"); sleep(random(800, 1100); } } }else{ if(lootables != null){ if (lootables.interact("Take")) { sleep(random(1200, 1500); } }else{ if(hasArmour()){ if (getObjects().closest("Magical Animator").interact("Animate armour")) { sleep(random(1200, 2000); } } } } }else{ stop(false); JOptionPane.showMessageDialog(null, "NO FOOD or 1k Tokens", "Alert", JOptionPane.WARNING_MESSAGE); } return random(400, 700); //The amount of time in milliseconds before the loop starts over } @Override public void onPaint(Graphics2D g) { long millis = System.currentTimeMillis() - startTime; String timeStr = String.format("%02d min, %02d sec", TimeUnit.MILLISECONDS.toMinutes(millis), TimeUnit.MILLISECONDS.toSeconds(millis) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis)) ); g.setFont(new Font("Trebuchet MS", Font.PLAIN, 14); g.setColor(Color.WHITE); g.drawString("Time running: " + timeStr, 10, 250); } }
  20. You shouldn't have return 100; at the end. That's a really low return time (1/10th of a second) that speed will get you banned quickly. You should do return random(400, 700); Or something similar, but those return times have always worked for me. It's good to see you're learning though. Good luck
  21. You typically regen a health point every 60 seconds. if you set up a timer for anywhere between 52-59 seconds to click quick-pray button, flicking resets the timer to 0.
  22. romeo and juliet, and pirate's treasure. I'd probably charge like 150k for them if i had to guess
  23. lol it would take you 37 days to buy 2 million tars on the g e. edit: whoops i thought it auto merged with my old post when i do quick reply...didnt mean to double post
  24. Wouldnt you need a few million tars? lol i mean unless you're already at like 95 or something

Account

Navigation

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.