April 13, 20169 yr PORT SARIM BEER BUYER my first script METHOD: ~40k gp/hr [/img]https://gyazo.com/e0f24339802686bf8256b32b12e7af86[/img] script does not have a high ban rate atm, i ran it on two accounts throughout the night as of 4/13/16 does not have high banrate, but it may after tons of ppl start using it IMPORTANT: script will log out if you have less than 200gp in inventory the script will deposit everything except your coins when it makes its trips **please post any problems or suggestions because i want to be able to improve my scripting post proggies if you want, would be very well appreciated download link: http://www.mediafire.com/download/i4wn9n9lnfi1gs7/beerbuyer.jar also would love any criticism of the script, i couldn't figure out a way to count beer correctly import java.awt.Color;import java.awt.Font;import java.awt.Graphics2D;import org.osbot.rs07.api.map.Area;import org.osbot.rs07.api.map.Position;import org.osbot.rs07.api.model.NPC;import org.osbot.rs07.api.model.RS2Object;import org.osbot.rs07.script.Script;import org.osbot.rs07.script.ScriptManifest;@ScriptManifest(author = "justanotherkid", info = "", name = "Beer Buyer", version = 1.0, logo = "")public class main extends Script {Area BArea = new Area( new Position(3044,3236,0), new Position(3046,3235,0));Area SArea = new Area( new Position(3045,3255,0), new Position(3048,3258,0));long beercount;long startTime;String state;long coincount1;long coincount2;Position dbox = new Position(3045,3235,0);@Overridepublic void onStart(){startTime = System.currentTimeMillis();coincount1 = getInventory().getItem("Coins").getAmount();}private enum State{BUY,WALK2BOX,DEPOSIT,WALK2SHOP,IDLE,LOGOUT}private State getState(){if(inventory.getItem("Coins").getAmount() < 200){state = "LOGGING OUT";return State.LOGOUT;}if(!getInventory().isFull() && SArea.contains(myPlayer())){state = "BUYING";return State.BUY;}if(getInventory().isFull() && !BArea.contains(myPlayer())){state = "WALK2BOX";return State.WALK2BOX;}if(getInventory().isFull() && BArea.contains(myPlayer())){state = "DEPOSIT";return State.DEPOSIT;}if(!getInventory().isFull() && !SArea.contains(myPlayer())){state = "WALK2SHOP";return State.WALK2SHOP;}return State.BUY;}@Overridepublic int onLoop() throws InterruptedException{switch(getState()){case LOGOUT:getLogoutTab().open();getLogoutTab().logOut();stop();case IDLE:break;case BUY:NPC shop = npcs.closest("Bartender");if(!getDialogues().inDialogue() && shop != null){shop.interact("Talk-to");sleep(random(300,400));}getDialogues().selectOption(1);sleep(random(200,400));getDialogues().completeDialogue("Click here to continue");coincount2 = getInventory().getItem("Coins").getAmount();beercount = (coincount1 - coincount2)/2;break;case WALK2BOX:getWalking().webWalk(new Position[] {dbox});while(myPlayer().isMoving()){sleep(200);}break;case DEPOSIT:RS2Object bank = objects.closest("Bank deposit box");if (bank != null && bank.isVisible()){bank.interact("Deposit");}sleep(random(400,800));if(getDepositBox().isOpen()){sleep(random(200,300));getDepositBox().depositAllExcept("Coins");sleep(random(200,300));getDepositBox().close();}break;case WALK2SHOP:getWalking().webWalk(SArea);while(myPlayer().isMoving()){sleep(200);}break;}return random(300,600);}@Overridepublic void onExit() {}@Overridepublic void onPaint(Graphics2D g){long ss = (System.currentTimeMillis() - startTime) / 1000;long mm = ss / 60;long hh = mm / 60;long beercounthr = 3600 / ((hh * 3600) + ss) * beercount;Font font = new Font("Times New Roman", Font.BOLD, 16);g.setColor(Color.YELLOW);g.setFont(font);g.drawString("ALCHOLIC BEER BUYER", 15, 220);g.drawString("Time(hh:mm:ss): " + hh + ":" + mm%60 + ":" + ss%60 , 15, 240);g.drawString("Beers bought: " + beercount + "(" + beercounthr + ")", 15, 260);g.drawString(state, 15, 280);}} Edited April 13, 20169 yr by justanotherkid