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.

Leaderboard

Popular Content

Showing content with the highest reputation on 04/20/13 in all areas

  1. 2 points
    In regards to Kingdom, he has been demoted and banned. I've received hard evidence that he has scammed a member of our community, portraying his glowing name as a sign of trust. This is unacceptable. OSBot does not condone any time of scamming, especially from the group who is supposed to support the community. I have promised to give the guy what he lost when I come across it: a large amount of OS gp. Please do not perform large trades without a trusted middleman, and be very careful when you use the market. On another note, congratulations to Peter on global moderator. Thanks, Kati
  2. The script is currently not working! The first Auto Miner with banking support for multiple locations! GUI: Locations: Varrock east Varrock west Falador Yannile Ores: Copper Tin Clay Iron Silver Coal Mithril Bugs -Varrock east banking is not working correctly TODO list: -adding new paint; -adding more locations; Script: Download link: Click Here Code: import org.osbot.script.Script;import org.osbot.script.ScriptManifest;import org.osbot.script.rs2.map.Position;import org.osbot.script.rs2.model.GroundItemimport org.osbot.script.rs2.model.Player;import org.osbot.script.rs2.model.RS2Object;import org.osbot.script.rs2.model.RS2Object;import org.osbot.script.rs2.ui.Bank;import org.osbot.script.rs2.ui.Tab;import org.osbot.script.rs2.utility.Area;import javax.swing.GroupLayout;import javax.swing.JComboBox;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.GroupLayout.Alignment;import javax.swing.LayoutStyle.ComponentPlacement;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.util.ArrayList;import javax.swing.JFrame;import javax.swing.border.EmptyBorder;import javax.swing.SwingConstants;import javax.swing.JSeparator;import javax.swing.JRadioButton;import javax.swing.JButton;import javax.swing.ButtonGroup;import java.awt.event.ActionEvent;import java.awt.event.ActionListener; @ScriptManifest(name = "AutoMiner", author="Xerion", version = 1.1D, info = "The first AIOMiner!")class AutoMinerGS extends Script { enum State { INPUT, IDLE, MINING, DROP, BANK, BANKING,TOMINE } //Areas private final Area Varrock_east = new Area([new Position(3291, 3361,0), new Position(3291, 3371,0),new Position(3280, 3371,0),new Position(3280, 3361,0)] as Position[]); private final Area Varrock_west = new Area([new Position(3171, 3364,0), new Position(3171, 3377,0),new Position(3183, 3364,0),new Position(3183, 3377,0)] as Position[]); private final Area Falador_west = new Area([new Position(2903, 3352,0), new Position(2903, 3367,0),new Position(2911, 3367,0),new Position(2911, 3352,0)] as Position[]); private final Area Yannile = new Area([new Position(2624, 3139, 0), new Position(2633, 3139, 0),new Position(2624, 3152, 0),new Position(2633, 3152, 0)] as Position[]); //end private final int Mining_emote = 624; private final int[] Banks = [2553] as int[] private final int[] Pickaxes = [1265,1267,1269,1271,1273,1275] as int[] private final int[] pickhandle = [480,482,484,486,488,490]; public Ores[] ores = [new Ores("Copper",[11960,11961,11962,2091] as int[],436), new Ores("Tin",[11957,11958,11959,2095,2094] as int[],438), new Ores("Clay",[15505,15503,15504,2108,2109] as int[],434), new Ores("Iron",[11954,11955,11956,2093,2092] as int[],440), new Ores("Silver",[11950,11949,11948] as int[],442), new Ores("Coal",[11964,11963] as int[],453), new Ores("Mithril",[2102,2103] as int[],447)] as Ores[]; Locations[] locations = [new Locations("Varrock east",[11960,11961,11962,11957,11958,11959,11954,11955,11956] as int[], Varrock_east), new Locations("Varrock west",[11959, 11957, 11955, 11956, 11950, 11949, 11948, 15505, 15503, 11954, 11958] as int[], Varrock_west), new Locations("Falador west",[11956,11954,11957,11958,11959,11960,11692,11963,11694] as int[], Falador_west), new Locations("Yanille",[2108,2091,2095,2094,2092,2093,2102,2103] as int[], Yannile)] as Locations[]; public Ores ore = null; public Locations location = null; public boolean banking; private long startTime; private long Newantiban; private long timeoutTime; private State state = State.INPUT; private RS2Object currentRock = null; private int MinedOre = 0; private boolean ActiveAntibans = true; @Override public void onStart() { startTime = System.currentTimeMillis(); Newantiban = System.currentTimeMillis() + random(40000,120000); Input frame = new Input(locations,ores); frame.setVisible(true); while(location == null || ore == null){ if(frame.selectedlocation != null && frame.ore != null){ location = frame.selectedlocation; ore = frame.ore; banking = frame.banking; frame.dispose(); if(client.getInventory().isFull()){ if (banking == true){ state = State.BANK; } else { state = State.DROP; } } else { if(location.getArea().contains(client.getMyPlayer().getPosition())){ state = State.IDLE; } else { state = State.TOMINE; } } } sleep(1000) } } @Override public int onLoop() throws InterruptedException { if(!randoms() && location != null && ore != null){ switch(state) { case State.IDLE: return mine(); case State.MINING: return check(); case State.DROP: return drop(); case State.BANK: return bank(); case State.BANKING: return banking(); case State.TOMINE: return tomine(); case State.INPUT: return 3000 + gRandom(400, 800); } } return 100 + gRandom(400, 800); } int mine() throws InterruptedException{ currentRock = closestObject(ore.getRockIds()); if(canReach(currentRock) && currentRock != null && location.getArea().contains(currentRock.getPosition())){ if (selectEntityOption(currentRock,false,"Mine")) { timeoutTime = System.currentTimeMillis() + 15000; state = State.MINING; } } else if (!canReach(currentRock) && currentRock != null && location.getArea().contains(currentRock.getPosition())){ if (selectEntityOption(currentRock,"Mine")) { timeoutTime = System.currentTimeMillis() + 15000; state = State.MINING; } } return 100; } int check(){ checkCurrentRock(currentRock); if (!currentRock.exists() || timeoutTime < System.currentTimeMillis()){ if (!client.getInventory().isFull()){ state = State.IDLE; return 500 + random(100, 1000); } else { if (banking == true){ state = State.BANK; setRunning(true); } else { state = State.DROP; } return 500 + random(100, 1000); } } else if (state == State.MINING && Newantiban < System.currentTimeMillis()){ antiban(); } return 100; } int drop() throws InterruptedException{ if (currentTab() != Tab.INVENTORY){ openTab(Tab.INVENTORY); } else { client.getInventory().dropAllExcept(Pickaxes) state = State.IDLE; } return 100; } int bank() throws InterruptedException{ if (!isRunning()){ setRunning(true); } else{ switch(location.getName()) { case "Varrock east": if (myY() <= 3409){ walk(new Position(3289 + random(3),3410 + random(3),0)) } else if(myY() > 3409 && myY() < 3424){ walk(new Position(3279 + random(4),3427 + random(3),0)) }else if(myY() >= 3424){ walk(new Position(3254 + random(3),3422 + random(3),0)) state = State.BANKING; } return 1000 + random(500,2000); case "Falador west": if(myX() < 2935 && !canReach(closestObject(11844))){ walk(new Position(2931 + random(3),3354 + random(3),0)) } else if(myX() < 2935 && canReach(closestObject(11844))){ selectEntityOption(closestObject(11844),"Climb-over") } else if(myX() > 2935 && !client.getMyPlayer().isAnimating()){ walk(new Position(2944 + random(3),3369 + random(3),0)) state = State.BANKING; } return 1000 + random(500,2000) case "Varrock west": if(myY() < 3390){ walk(new Position(3168 + random(4),3395 + random(4),0)) }else if(myY() < 3409 && myY() >= 3390){ walk(new Position(3170 + random(2),3411 + random(2),0)) }else { if(walk(new Position(3181 + random(3),3434 + random(3),0))) state = State.BANKING; } return 1000 + random(500,2000) case "Yanille": if(walk(new Position(2610 + random(3),3093 + random(1),0))) state = State.BANKING; return 1000 + random(500,2000) default: log("Banking is not supported on this location!") state = state.DROP; return 100 } } return 1000 + random(500,2000); } int banking() throws InterruptedException{ Bank bank = client.getBank(); if(bank.isOpen() && client.getInventory().isFull()){ bank.depositAllExcept(Pickaxes) sleep(1500) bank.close() sleep(500) state = State.TOMINE; } else if(client.getInventory().isFull() && !bank.isOpen()) { selectEntityOption(closestObjectForName("Bank booth"), "Bank") } return 1000 + random(500,2000); } int tomine() throws InterruptedException{ switch(location.getName()) { case "Varrock east": if(myY() >= 3417 && myX() <= 3279) walk(new Position(3286 + random(3),3424 + random(3),0)) else if(myY() >= 3417 && myX() >= 3279) walk(new Position(3290 + random(3),3395 + random(3),0)) else if(myY() < 3417 && myY() >= 3384 && myX() >= 3279) walk(new Position(3290 + random(3),3381 + random(3),0)) else { walk(new Position(3283 + random(3),3365 + random(3),0)) state = State.IDLE;} return 1000 + random(500,2000); case "Falador west": if(myX() < 2935 && !client.getMyPlayer().isAnimating()){ walk(new Position(2905 + random(4),3354 + random(4),0)) state = State.IDLE; } else if(myX() > 2935 && canReach(closestObject(11844))){ selectEntityOption(closestObject(11844),"Climb-over") //sleep(random(2000,4000)) } else if(myX() > 2935 && !canReach(closestObject(11844))){ walk(new Position(2938 + random(3),3355 + random(3),0)) } return 1000 + random(500,2000) case "Varrock west": if(myY() > 3424){ walk(new Position(3170 + random(3),3422 + random(3),0)) }else if(myY() <= 3424 && myY() >= 3400){ walk(new Position(3169 + random(4),3394 + random(4),0)) } else { if(walk(new Position(3178 + random(3),3368 + random(3),0))) state = State.IDLE; } return 1000 + random(500,2000) case "Yanille": if(walk(new Position(2626 + random(3),3146 + random(3),0))) state = State.IDLE; return 1000 + random(500,2000) default: if (walk(location.getArea())) state = State.IDLE; return 1000 + random(500,2000); } return 1000 + random(500,2000); } boolean randoms(){ //Losing Pickhandle if (closestGroundItem(pickhandle) != null){ selectEntityOption(closestGroundItem(pickhandle),"Take") return true } else if(client.getMyPlayer().isUnderAttack()){ switch(location.getName()) { case "Varrock east": walk(new Position(3289 + random(3),3410 + random(3),0)) sleep(random(5000,10000)) state = State.TOMINE; return true; } } return false; } @Override public void onPaint(Graphics g) { if (location != null && ore != null){ g.setColor(new Color(0.1f, 0.1f, 0.1f, 0.7f)); g.fillRect(1, 51, 175, 104); g.setFont(new Font("Calisto MT", 0, 16)); g.setColor(new Color(255, 0, 0)); g.drawString("AutoMiner", 7, 76); g.setFont(new Font("Calisto MT", 0, 11)); g.drawString("Time: " + format(System.currentTimeMillis() - startTime), 7, 100); g.drawString("Location: ${location.getName()}", 7, 115); g.drawString("Ore: ${ore.getName()}(${MinedOre})", 7, 130); g.drawString("State: ${state}", 7, 145); } } @Override void onMessage(String message){ if ("You manage to mine some ${ore.getName().toLowerCase()}." == message){ MinedOre++ } else if (message == "This rock contains ${ore.getName().toLowerCase()}." || message == "There is no ore currently available in this rock."){ state = State.IDLE; } } @Override void onExit(){ ActiveAntibans = false } void antiban(){ if (state == State.MINING && Newantiban < System.currentTimeMillis()){ int Anti = random(0 , 3) switch(Anti){ case 0: log("Antiban: Move mouse") moveMouseOutsideScreen() Newantiban = System.currentTimeMillis() + random(40000, 120000) break; case 1: log("Antiban: Move camera") client.moveCameraToEntity(currentRock) Newantiban = System.currentTimeMillis() + random(40000, 120000) break; case 2: log("Antiban: Open Skills tab") if (currentTab() != Tab.SKILLS){ openTab(Tab.SKILLS); } else{openTab(Tab.INVENTORY);} Newantiban = System.currentTimeMillis() + random(40000, 120000) break; case 3: log("Antiban: Open Friends tab") if (currentTab() != Tab.FRIENDS){ openTab(Tab.FRIENDS); sleep(random(500,1000)) } else{openTab(Tab.INVENTORY);} Newantiban = System.currentTimeMillis() + random(40000, 120000) break; } } } void checkCurrentRock(RS2Object currentRock2) { Player p = client.getMyPlayer(); if(p.getAnimation() == Mining_emote){ switch (p.getRotation()){ case 0: //facing south if(currentRock2.getPosition() != new Position(p.getX(),p.getY() - 1, p.getZ())){ for(RS2Object o : client.getCurrentRegion().getObjects()){ if(o.getPosition() == new Position(p.getX(),p.getY() - 1, p.getZ())){ currentRock = (RS2Object) o; log("AutoMiner: Changed currentRock"); } } } break; case 1023: //facing north if(currentRock2.getPosition() != new Position(p.getX(),p.getY() + 1, p.getZ())){ for(RS2Object o : client.getCurrentRegion().getObjects()){ if(o.getPosition() == new Position(p.getX(),p.getY() + 1, p.getZ())){ currentRock = (RS2Object) o; log("AutoMiner: Changed currentRock"); } } } break; case 1537: //facing east if(currentRock2.getPosition() != new Position(p.getX() + 1,p.getY(), p.getZ())){ for(RS2Object o : client.getCurrentRegion().getObjects()){ if(o.getPosition() == new Position(p.getX() + 1,p.getY(), p.getZ())){ currentRock = (RS2Object) o; log("AutoMiner: Changed currentRock"); } } } break; case 511: //facing west if(currentRock2.getPosition() != new Position(p.getX() - 1,p.getY(), p.getZ())){ for(RS2Object o : client.getCurrentRegion().getObjects()){ if(o.getPosition() == new Position(p.getX() - 1,p.getY(), p.getZ())){ currentRock = (RS2Object) o; log("AutoMiner: Changed currentRock"); } } } break; } } } String format(final long time) { final StringBuilder t = new StringBuilder(); final long total_secs = time / 1000; final long total_mins = total_secs / 60; final long total_hrs = total_mins / 60; final int secs = (int) total_secs % 60; final int mins = (int) total_mins % 60; final int hrs = (int) total_hrs % 24; if (hrs < 10) { t.append("0"); } t.append(hrs); t.append(":"); if (mins < 10) { t.append("0"); } t.append(mins); t.append(":"); if (secs < 10) { t.append("0"); } if (secs < 0){ t.append("0"); } else{ t.append(secs); } return t.toString(); }}class Input extends JFrame { private JPanel contentPane; private final ButtonGroup buttonGroup = new ButtonGroup(); public Ores ore = null; public Locations selectedlocation = null; public Ores[] ores; public boolean banking; public Input(final Locations[] locations, final Ores[] ores) { this.ores = ores; String[] loc = new String[locations.length]; for(int i = 0; i < locations.length; i++) { loc[i] = locations[i].getName(); } setResizable(false); setTitle("Setup"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 326, 203); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); JLabel lblNewLabel = new JLabel("AutoMiner"); lblNewLabel.setFont(new Font("Vivaldi", Font.PLAIN, 24)); lblNewLabel.setHorizontalAlignment(SwingConstants.CENTER); JSeparator separator = new JSeparator(); JLabel lblNewLabel_1 = new JLabel("Select Location:"); final JComboBox comboBox = new JComboBox(loc); JLabel lblSelectOre = new JLabel("Select Ore:"); final JComboBox comboBox_1 = new JComboBox(CheckRocks(locations[comboBox.getSelectedIndex()])); comboBox.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { comboBox_1.removeAllItems(); ArrayList<String> Rocks = new ArrayList<String>(); int[] r = locations[comboBox.getSelectedIndex()].getrocks(); for(Ores y : ores){ for(int i : y.getRockIds()){ if(r.contains(i)){ if (!Rocks.contains(y.getName())) Rocks.add(y.getName()); } } } for (String s : Rocks){ comboBox_1.addItem(s); } }}); JRadioButton rdbtnDrop = new JRadioButton("Drop items"); buttonGroup.add(rdbtnDrop); rdbtnDrop.setSelected(true); JSeparator separator_1 = new JSeparator(); ; final JRadioButton rdbtnBankItems = new JRadioButton("Bank items"); buttonGroup.add(rdbtnBankItems); JButton btnNewButton = new JButton("Start!"); btnNewButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { banking = rdbtnBankItems.isSelected(); selectedlocation = locations[comboBox.getSelectedIndex()]; for(Ores o : ores){ if(o.getName() == comboBox_1.getSelectedItem()) ore = o } }}); GroupLayout gl_contentPane = new GroupLayout(contentPane); gl_contentPane.setHorizontalGroup( gl_contentPane.createParallelGroup(Alignment.LEADING) .addGroup(gl_contentPane.createSequentialGroup() .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING) .addGroup(gl_contentPane.createSequentialGroup() .addContainerGap() .addComponent(separator, GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)) .addComponent(lblNewLabel, GroupLayout.DEFAULT_SIZE, 279, Short.MAX_VALUE) .addGroup(Alignment.TRAILING, gl_contentPane.createSequentialGroup() .addContainerGap() .addGroup(gl_contentPane.createParallelGroup(Alignment.TRAILING) .addComponent(comboBox_1, GroupLayout.PREFERRED_SIZE, 185, GroupLayout.PREFERRED_SIZE) .addGroup(gl_contentPane.createSequentialGroup() .addComponent(lblNewLabel_1) .addPreferredGap(ComponentPlacement.RELATED, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(comboBox, GroupLayout.PREFERRED_SIZE, 185, GroupLayout.PREFERRED_SIZE))) .addPreferredGap(ComponentPlacement.RELATED))) .addGap(6)) .addGroup(gl_contentPane.createSequentialGroup() .addContainerGap() .addComponent(lblSelectOre, GroupLayout.PREFERRED_SIZE, 76, GroupLayout.PREFERRED_SIZE) .addContainerGap(468, Short.MAX_VALUE)) .addGroup(gl_contentPane.createSequentialGroup() .addContainerGap() .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING) .addGroup(gl_contentPane.createSequentialGroup() .addComponent(btnNewButton, GroupLayout.DEFAULT_SIZE, 265, Short.MAX_VALUE) .addContainerGap()) .addComponent(separator_1, GroupLayout.DEFAULT_SIZE, 538, Short.MAX_VALUE) .addGroup(gl_contentPane.createSequentialGroup() .addComponent(rdbtnDrop) .addGap(18) .addComponent(rdbtnBankItems, GroupLayout.PREFERRED_SIZE, 118, GroupLayout.PREFERRED_SIZE) .addContainerGap()))) ); gl_contentPane.setVerticalGroup( gl_contentPane.createParallelGroup(Alignment.LEADING) .addGroup(gl_contentPane.createSequentialGroup() .addComponent(lblNewLabel) .addPreferredGap(ComponentPlacement.RELATED) .addComponent(separator, GroupLayout.PREFERRED_SIZE, 4, GroupLayout.PREFERRED_SIZE) .addPreferredGap(ComponentPlacement.RELATED) .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING) .addComponent(lblNewLabel_1) .addComponent(comboBox, GroupLayout.DEFAULT_SIZE, 20, Short.MAX_VALUE)) .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING) .addGroup(gl_contentPane.createSequentialGroup() .addGap(8) .addComponent(lblSelectOre)) .addGroup(gl_contentPane.createSequentialGroup() .addPreferredGap(ComponentPlacement.RELATED) .addComponent(comboBox_1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))) .addPreferredGap(ComponentPlacement.RELATED) .addComponent(separator_1, GroupLayout.PREFERRED_SIZE, 4, GroupLayout.PREFERRED_SIZE) .addPreferredGap(ComponentPlacement.RELATED) .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE) .addComponent(rdbtnDrop) .addComponent(rdbtnBankItems)) .addPreferredGap(ComponentPlacement.RELATED) .addComponent(btnNewButton, GroupLayout.DEFAULT_SIZE, 322, Short.MAX_VALUE)) ); contentPane.setLayout(gl_contentPane); } public String[] CheckRocks(Locations l){ ArrayList<String> Rocks = new ArrayList<String>(); int[] r = l.getrocks(); for(Ores y : ores){ for(int i : y.getRockIds()){ if(contains(r,i)){ if (!Rocks.contains(y.getName())) Rocks.add(y.getName()); } } } return (String[]) Rocks.toArray(); } public boolean contains(final int[] array, final int key) { for (final int i : array) { if (i == key) { return true; } } return false; } } class Locations { private final String name; private final int[] rocks; private final Area area; public Locations(String name, int[] rocks, Area area) { this.name = name; this.rocks = rocks; this.area = area; } public String getName() { return name; } public int[] getrocks() { return rocks; } public Area getArea() { return area; } } class Ores{ private final String name; private final int[] rockids; private final int oreid; public Ores(String name, int[] rockids, int oreid) { this.name = name; this.rockids = rockids; this.oreid = oreid; } public String getName() { return name; } public int[] getRockIds() { return rockids; } public int getOreId() { return oreid; } }
  3. 1 point
    Hello, this is my official development and improvements thread for 'AIOFisher'. What fish does this currently support? Shrimp Sardine Herring Anchovies Trout Cod Salmon Tuna Lobster Bass Swordfish Shark What fishing methods does this script currently support? Net Big Net Bait & Rod Feathers & Rod Harpoon Lobster Pot What type of Ban-Reducing software does this script have? The reason I say ban-reducing is because there is always a slight chance of you getting banned. This script in the near future will contain random tab-opening, camera rotation, and a few others. I also will try and implement random events. What fishing locations does this script support? This script currently supports Draynor, Barbarian Village, and Catherby/Camelot. Images Coming soon. Note: I will freely take any suggestions.
  4. Hello everyone, i love to help out our community and as such i am willing to teach all users on the forum if they want, how to use java. I will be starting with the most basic form of java you could imagine and day by day progress to more and more advanced techniques. Below find a list of the tutorials so far: Lesson 1 - Getting Started - Post 1 Lesson 2 - Introduction - Post 2 Lesson 3 - Variables - Post 3 Lesson 1 Getting Started. In this tutorial we will be downloading the java development kit and a program called netbeans.These two things are going to allow you to jump right in and start learning Java.So the first thing you want to do is use a search engine such as google. Search for JDK the first result should be something along the lines of Java SE Downloads @ oracle.com click on that link. You will see the below: You want to click on the one that says NetBeans. ( JDK + Netbeans ) After clicking on that image/sqaure box you will come to a download page. Cick on the radio circle button that read "Accept License Agreement " then click on the appropriate installer for your operating system. Once its finished downloading its the usual installer, choose the location and accept the terms an conditions. So once you have that installed and you know it set up correctly you can move onto the next step. We will need to set up something called Environment Variables. The way were going to do this is by clicking on Start then right click on computer to bring up a menu and then click on Properties. Once a new window opens up your going to click on 'Advanced System Settings' on the left side of your new window usually the bottom option in a list of 4 or 5. Another window around half the size of the last one will open and be called System Properties. If you on windows XP you will be on the first Tab called computer name and will need to click on the tab named Advanced. Anyone on xp or above should already be on the advanced tab. So click on a button near the bottom of the advanced tab called ' environment variables ' This will open an even smaller new window. What were doing here is providing java with the path to where it was installed, this basically means that when you run a java program it knows where to find the compiler and other nice things java can do. So now leaving what we just opened aside for a moment dont close any of the windows. Click on start and click computer again. and go to the location i specify now: Computer >local disk > program files > Java > JDK 1.7? > bin. now make sure you click on program files not the x86 one and make sure if you have multiple jdk installs that you click on the latest version. If you have windows 7 you can right click on the address bar at the top and click ' copy address as text ' if you don't have windows 7 right click on any file in the bin folder and click on properties. In the general tab you will see the location of the file. You want to highlight this and copy it by either highlighting it then right clicking and selecting copy or use the short cut after highlighting it Ctrl+C Once you do that you will want to go back to your Environment variables window we opened just a moment ago and click on the New button. ( the top one ). In the variable name box type PATH in capitals. Then right click in the box called Variable Name and select paste to put in the location of the bin folder. You can then hit ok, ok, ok to close all three windows. So now that's all done we are going to test the installation of java and your Environment variables. Click on start once more and open up notepad (can be found under the Accessories folder ) Once its opened copy and paste the code below directly into notepad. Don't worry about whats going on in the code at all you will learn all this in the tutorials to come. public class Test { public static void main (String [] args) { System.out.println("Hello World!"); }} So now you should have this in your notepad file? great. Click on File at the top and select Save As. In the file name box type "Test.java" Yes do include the " " the parentheses are to make sure that the file is saved as a .java file and not as a .txt file. Just save it to your desktop for now so you can find it easily. So now you should have a little rectangle on your desktop with Test.java below it. Excellent! Now on to the next part, Press on the keyboard the windows key + R this will being up the run. Type into the open box 'cmd' without the single ' ' ' ' ' on each end. Now a big black box will come up named the command prompt. The last line in the box should say C:UsersYourUserName where YourUserName is your... you got it. We need to change the directory from your name to the desktop so type ' cd desktop ' you will see the directory change to your desktop. Now type ' javac Test.java ' the cursor will flash for a few seconds and then just show the directory once more if it has compiled correctly. What the compiler does is turn our code into a language the computer can understand and use. You will notice you have two files on your desktop now one called Test.java and now another called Test.class if you want you can open that in notepad and you will see all the weird symbols the computer uses. So now we have our .class file we can now run our program by click back onto the black cmd window and typing in ' java Test ' don't forget the capital T. We can see it now prints out Hello World! if you don't see this either because you changed the text or you get any errors or something like java does not recognized i recommend you go back and make sure you path variable is correct and your JDK is fully installed and if you get error messages such as cannot find symbol you should make sure you copied the code above exactly as i typed it with capital letters in the right place and symbols in the correct place. Thats it for this tutorial, in the next lesson we will be doing an introduction to netbeans and going over the very basics of java. Like this post if you followed it fine or liked what you read so far. i will post the next one tomorrow
  5. sorry centipede coming through! .....╚⊙ ⊙╝ ..╚═(███)═╝ .╚═(███)═╝ ╚═(███)═╝ .╚═(███)═╝ ..╚═(███)═╝ ...╚═(███)═╝ ...╚═(███)═╝ ..╚═(███)═╝ .╚═(███)═╝ ╚═(███)═╝ .╚═(███)═╝ ..╚═(███)═╝ ...╚═(███)═╝ ...╚═(███)═╝ ..╚═(███)═╝ .╚═(███)═╝ ╚═(███)═╝ ╚═(███)═╝ .╚═(███)═╝ ..╚═(███)═╝ ...╚═(███)═╝ ...╚═(███)═╝ ..╚═(███)═╝ .╚═(███)═╝ ╚═(███)═╝ ╚═(███)═╝ .╚═(███)═╝ ..╚═(███)═╝ ...╚═(███)═╝ ...╚═(███)═╝ ..╚═(███)═╝ .╚═(███)═╝ ╚═(███)═╝ ╚═(███)═╝ .╚═(███)═╝ ..╚═(███)═╝ ...╚═(███)═╝ ...╚═(███)═╝ ..╚═(███)═╝ .╚═(███)═╝ ╚═(███)═╝ ╚═(███)═╝ .╚═(███)═╝ ..╚═(███)═╝ ...╚═(███)═╝ ...╚═(███)═╝ ..╚═(███)═╝ .╚═(███)═╝ ╚═(███)═╝ ╚═(███)═╝ .╚═(███)═╝ ..╚═(███)═╝ ...╚═(███)═╝ ...╚═(███)═╝ ..╚═(███)═╝ .╚═(███)═╝ ╚═(███)═╝ ╚═(███)═╝ .╚═(███)═╝ ..╚═(███)═╝ ...╚═(███)═╝ ...╚═(███)═╝ ..╚═(███)═╝ .╚═(███)═╝ ╚═(███)═╝ ╚═(███)═╝ .╚═(███)═╝ ..╚═(███)═╝ ...╚═(███)═╝ ...╚═(███)═╝ ..╚═(███)═╝ .╚═(███)═╝ ╚═(███)═╝ ╚═(███)═╝ .╚═(███)═╝ ..╚═(███)═╝ ...╚═(███)═╝ ...╚═(███)═╝ ..╚═(███)═╝ .╚═(███)═╝ ╚═(███)═╝ ╚═(███)═╝ .╚═(███)═╝ ..╚═(███)═╝ ...╚═(███)═╝ ...╚═(███)═╝ ..╚═(███)═╝ .╚═(███)═╝ ╚═(███)═╝ ╚═(███)═╝ .╚═(███)═╝ ..╚═(███)═╝ ...╚═(███)═╝ ...╚═(███)═╝ ..╚═(███)═╝ .╚═(███)═╝ ╚═(███)═╝ ╚═(███)═╝ .╚═(███)═╝ ..╚═(███)═╝ ...╚═(███)═╝ ...╚═(███)═╝ ..╚═(███)═╝ .╚═(███)═╝ ╚═(███)═╝ ╚═(███)═╝ .╚═(███)═╝ ..╚═(███)═╝ ...╚═(███)═╝ ...╚═(███)═╝ ..╚═(███)═╝ .╚═(███)═╝ ╚═(███)═╝ ╚═(███)═╝ .╚═(███)═╝ ..╚═(███)═╝ ...╚═(███)═╝ ...╚═(███)═╝ ..╚═(███)═╝ .╚═(███)═╝ ╚═(███)═╝ ╚═(███)═╝ .╚═(███)═╝ ..╚═(███)═╝ ...╚═(███)═╝ ...╚═(███)═╝ ..╚═(███)═╝ .╚═(███)═╝ ╚═(███)═╝ .╚═(███)═╝ ..╚═(███)═╝ ...╚═(███)═╝ ...╚═(███)═╝ ..╚═(███)═╝ .╚═(███)═╝ ╚═(███)═╝ ╚═(███)═╝ .╚═(███)═╝ ..╚═(███)═╝ ...╚═(███)═╝ ...╚═(███)═╝ ..╚═(███)═╝ .╚═(███)═╝ ╚═(███)═╝ ╚═(███)═╝ .╚═(███)═╝ ..╚═(███)═╝ ...╚═(███)═╝ ...╚═(███)═╝ ..╚═(███)═╝ .╚═(███)═╝ ╚═(███)═╝ ╚═(███)═╝ .╚═(███)═╝ ..╚═(███)═╝ ...╚═(███)═╝ ...╚═(███)═╝ ..╚═(███)═╝ .╚═(███)═╝ ╚═(███)═╝ ╚═(███)═╝ .╚═(███)═╝
  6. What you all think?
  7. 1 point
    Thanks everyone who congratulated me, will not let you down.
  8. My java skills are pretty good, so if you give me time I'll work on a pest control bot.
  9. Tom's one is broken since the new client update has happened, also a lot off people have been requesting pest control bot so I think you should work on it.
  10. 1 point
    Wow...actually a bit surprised.
  11. You should release it today.
  12. Looks nice. Great job. I need to look into buying one of these from you.
  13. Lesson 2 Introduction In this tutorial i will be explaining the basics of netbeans and its directory structure which it creates when we compile java applications. We will also be briefly touching on some concepts about java that you need to know. So first open up netbeans. Once its opened were going to make a new project. We can do this by pressing either the new project button which is orange in colour and found under the Edit tab at the top left of the window. Or you can press File then select new project. Once the new window opens we can select from the left column Java, and from the right window Java Application. Press next to move on, we now need to give the project a name and a location, i would recommend something memorable and a location such as my documents or your desktop. You will want to un-check the bottom check-box which says Create Main Class we don't need this as i will be explaining this at a later date. Then hit finish to make up your first project folder. once your window has closed back to the main window you will see you project has been created in the column on the left with the name you gave it. You can see it is in bold. if you have multiple projects you main one will be in bold so when you press compile that is the one that will be used. Next to your project name you will see a little box with a + in a square box if you click that it will show all the files inside your project. In the source files folder you wont see anything as we haven't made any yet. In the other folder called libraries will be the JDK you installed earlier, this contains all the various different files java needs that have already been made by the creators of java themselves. So to begin you want to click on the default package which is in grey and select other near the bottom of the menu. A new window will open. From the categories column select java and in the right File Type column select Java Main Class. This will hold the main method which i will explain in just a moment. Hit next to go to the next page where you need to name your Main class. I would name it Tutorial. Note it is important to use good java conventions whilst naming classes. What i mean by this is to Start each word with a Capital letter and no spaces between so 'Tutorial' or 'ThisIsMyTutorial' you can have letter, number or underscore in the name but no spaces and the classes cannoy begin with a number; letters or underscores to start is fine. Now if you open up your default package on the left you will see that your main class has been created for you and if you click on it you will see it open on the right side in the main window. Now you should abit of generated code which netbeans has kindly already pre-made for you, you can highlight all this and delete it. So now i am quickly going to go over the files that netbeans will generate for you when you create a new package, project, classes etc. If you go to the place where you created your project folder for example i saved mine on my desktop for easy access you will see in the main folder 3 other folders and 2 files. Now these hold all the different folders that your project needs to run. If you open up the src folder you will see the java main class we just created. So if you ever need to find your source files in the folder outside of netbeans you now know where they are. So now we shall begin to learn some java! the very first thing you should now is that all our code goes inside of classes. A simple analogy of this would be to look at a class as a folder. All the code must be stored within this folder so that it knows where to find it. Well how do we make a class. Type the word class into the main window and you will see it changes to a blue colour this is because class is a keyword in java , next we need to give it a name this is always the thing java will look for after you type class. A very important thing to know right now is that the name you give must be the same EXACTLY to the file name you gave your class. So from above it would be ' class Tutorial ' note the capital T. These rules regarding class names will change slightly as we learn more but for now just remember it must be the same as the file name. You will see that we have a red circle next to what we have typed so far and that's because we need to open and close our class. We do this by using pointy brackets: { When you see them being used it will be like this: class Tutorial {} When you hover over one of them in in netbeans it will highlight its partner if there is one. So now we have made a main class and named it Tutorial and we have opened and closed brackets. We refer to the area between brackets as inside of a certain area or method. Next we need to give the program a starting point else it could start anywhere. This starting point is represented by something called the main method. You might recognize it from the last tutorial and we will go over it in more detail very soon. Every single main class will have a main method with a few exceptions, it will look something like this: class Tutorial { public static void main(String [] args) { }} now when you look at the line of code i added you may think it looks really confusing and you want to quit java and thats that. Well don't it really isn't that hard at all. All's you need to know for now is that the code inside the public static void main is the code that will be executed first. Now were just going to make the most basic program possible by printing something out to the screen. Go ahead and type out the code below by yourself and make sure everything is in the right place. It's very important you learn to type it out yourself and not copy and paste. class Tutorial { public static void main(String [] args) { System.out.println("Hello World!"); }} by now i hope you have had a go at typing out the code in the box above. Lets just take a look at some of the key things you should of put in that a lot of people miss out. Make sure there is a capital S for System, make sure to use a semi colon ; after the closing bracket. A short note on semi colons. Every line of code in java that is in between those spikey brackets should have a semi colon at the end of it ( that means if your not declaring a class or method with spikey brackets ) Also make sure your using double quotes either side of Hello World. Most new java users will find remembering public static void main... and the rest of that line the hardest part. So now you have your first and very basic java program. You should be very proud of yourself! For now you don't need to know how any of the above works. I would recommend that you memorize that second line public static void main into your head, everything about it. If you can crack that as soon as possible you will be all good. I will end the tutorial by getting you to run your first program and to do that you click on the green arrow shape at the top of the screen underneath profile and team tabs. You can also press on the keyboard Shirt+F6. To see the output click on the word output at the bottom left of your window. That's it for now in the next tutorial tomorrow i will be teaching you about the basics of variables. If you liked this post please Like it using the green button to the right of this sentence
  14. Hey guys, Since the release of this won't be for another week, I am taking it under my own development to make a low memory, quick and easy paint editor for bots that will automatically update and display usable code, for now in Java and in Groovy, as that is what the scripting API is apparently based around, I will work further into user settings into it to hide/display certain programming languages, as well as add more to the list! Updates will come: (Starter thread) Media:

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.