Snowydell Posted January 25, 2015 Share Posted January 25, 2015 When I try to run it nothing happens and the screen is still clickable too Link to comment Share on other sites More sharing options...
Mysteryy Posted January 25, 2015 Share Posted January 25, 2015 When I try to run it nothing happens and the screen is still clickable too Try to be more specific? Maybe post your code? Im guessing you didn't add a manifest or something of that nature. 1 Link to comment Share on other sites More sharing options...
Snowydell Posted January 25, 2015 Author Share Posted January 25, 2015 Try to be more specific? Maybe post your code? Im guessing you didn't add a manifest or something of that nature. import org.osbot.rs07.api.map.Position; import org.osbot.rs07.api.model.NPC; import org.osbot.rs07.script.Script; import org.osbot.rs07.script.ScriptManifest; import org.osbot.rs07.utility.Area; import java.awt.*; @ScriptManifest(author = "Tyler", info = "Start in Lumbridg Cow Pen", name = "Cow Killer", version = 0, logo = "") public class CowKiller extends Script { //Declare Variables Area COW_AREA = new Area(3265, 3298, 3253, 3255); Area BANK_AREA = new Area(3207, 3222, 3210, 3216); Area STAIRS_AREA = new Area(3203, 3206, 3207, 3210); NPC cow = npcs.closest("Cow","Cow calf"); //WALK FROM COW PEN TO STAIRS private Position[] PATH_PEN_TO_STAIRS = { new Position(3255, 3267, 0), new Position(3250, 3260, 0), new Position(3252, 3253, 0), new Position(3256, 3247, 0), new Position(3259, 3241, 0), new Position(3259, 3233, 0), new Position(3255, 3227, 0), new Position(3249, 3226, 0), new Position(3243, 3225, 0), new Position(3235, 3220, 0), new Position(3225, 3218, 0), new Position(3218, 3218, 0), new Position(3215, 3213, 0), new Position(3206, 3209, 0) }; //WALK FROM STAIRS TO BANK private Position[] PATH_STAIRS_TO_BANK = { new Position(3206, 3215, 2), new Position(3208, 3220, 2), }; //WALK FROM BANK TO STAIRS private Position[] PATH_BANK_TO_STAIRS = { new Position(3205, 3216, 2), new Position(3205, 3209, 2), }; //WALK FROM STAIRS TO PEN private Position[] PATH_STAIRS_TO_PEN = { new Position(3206, 3209, 0), new Position(3215, 3213, 0), new Position(3218, 3218, 0), new Position(3225, 3218, 0), new Position(3235, 3220, 0), new Position(3243, 3225, 0), new Position(3249, 3226, 0), new Position(3255, 3227, 0), new Position(3259, 3233, 0), new Position(3259, 3241, 0), new Position(3256, 3247, 0), new Position(3252, 3253, 0), new Position(3250, 3260, 0), new Position(3255, 3267, 0), }; //OnStart public void onStart() { log("Welcome to my Cow Killer!"); log("Enjoy the script!"); } //Declare State private enum State { ATTACK, WALK_TO_STAIRS_FROM_PEN, GO_UPSTAIRS1, GO_UPSTAIRS2, WALK_TO_BANK, WALK_TO_STAIRS_FROM_BANK, GO_DOWNSTAIRS1, GO_DOWNSTAIRS2, WALK_TO_PEN, BANK, WAIT, } //Finds State private State getState() { //ATTACKS if(!inventory.isFull() && COW_AREA.contains(myPlayer()) && !myPlayer().isUnderAttack() && !cow.isUnderAttack() && cow != null) { return State.ATTACK; } //WALK FROM COW PEN TO STAIRS if(inventory.isFull() && COW_AREA.contains(myPlayer())) { return State.WALK_TO_STAIRS_FROM_PEN; } //GOES UP FIRST SET OF STAIRS if(myPosition().getZ() == 0 && STAIRS_AREA.contains(myPlayer()) && inventory.isFull()) { return State.GO_UPSTAIRS1; } //GOES UP SECOND SET OF STAIRS if(myPosition().getZ() == 1 && STAIRS_AREA.contains(myPlayer()) && inventory.isFull()) { return State.GO_UPSTAIRS2; } //WALKS FROM STAIRS TO BANK if(myPosition().getZ() == 2 && STAIRS_AREA.contains(myPlayer()) && inventory.isFull()) { return State.WALK_TO_BANK; } //BANKS ITEMS if(myPosition().getZ() == 2 && BANK_AREA.contains(myPlayer()) && inventory.isFull()) { return State.BANK; } //WALKS FROM BANK BACK TO STAIRS if(myPosition().getZ() == 2 && BANK_AREA.contains(myPlayer()) && inventory.isEmpty()) { return State.WALK_TO_STAIRS_FROM_BANK; } //GOES DOWN STAIRS TO REACH SECOND FLOOR if(myPosition().getZ() == 2 && STAIRS_AREA.contains(myPlayer()) && inventory.isEmpty()) { return State.GO_DOWNSTAIRS1; } //GOES DOWN STAIRS TO REACH FIRST FLOOR if(myPosition().getZ() == 1 && STAIRS_AREA.contains(myPlayer()) && inventory.isEmpty()) { return State.GO_DOWNSTAIRS2; } //WALKS FROM LUMBRIDGE CASTLE TO COW PEN if(myPosition().getZ() == 0 && STAIRS_AREA.contains(myPlayer()) && inventory.isEmpty()) { return State.WALK_TO_PEN; } return State.WAIT; } //Executes State public int onLoop() throws InterruptedException { switch (getState()) { //ATTACKING case ATTACK: cow = npcs.closest("Cow","Cow calf"); cow.interact("Attack"); break; //WALKS FROM COW PEN TO STAIRS case WALK_TO_STAIRS_FROM_PEN: localWalker.walkPath(PATH_PEN_TO_STAIRS); break; //GOES UP FIRST SET OF STAIRS case GO_UPSTAIRS1: objects.closest("Staircase").interact("Climb-up"); sleep(random(300, 500)); break; //GOES UP SECOND SET OF STAIRS case GO_UPSTAIRS2: objects.closest("Staircase").interact("Climb-up"); sleep(random(300, 500)); break; //WALKS FROM STAIRS TO BANK case WALK_TO_BANK: localWalker.walkPath(PATH_STAIRS_TO_BANK); sleep(random(300, 500)); break; //BANKS ITEMS case BANK: bank.open(); sleep(random(450, 500)); bank.depositAll(); sleep(random(300, 500)); bank.close(); break; //WALKS FROM BANK BACK TO STAIRS case WALK_TO_STAIRS_FROM_BANK: localWalker.walkPath(PATH_BANK_TO_STAIRS); sleep(random(300, 500)); break; //GOES DOWN STAIRS TO REACH SECOND FLOOR case GO_DOWNSTAIRS1: objects.closest("Staircase").interact("Climb-down"); sleep(random(300, 500)); break; //GOES DOWN STAIRS TO REACH FIRST FLOOR case GO_DOWNSTAIRS2: objects.closest("Staircase").interact("Climb-down"); sleep(random(300, 500)); break; //WALKS FROM LUMBRIDGE CASTLE TO COW PEN case WALK_TO_PEN: localWalker.walkPath(PATH_STAIRS_TO_PEN); sleep(random(300, 500)); break; //WAIT case WAIT: sleep(random(500, 700)); break; } return random(200, 300); } //On Exit public void onExit() { log("Thanks for running Oak Cutter!"); } public void onPaint(Graphics2D g) { } } Link to comment Share on other sites More sharing options...
Novak Posted January 25, 2015 Share Posted January 25, 2015 Is there an onloop? 1 Link to comment Share on other sites More sharing options...
Snowydell Posted January 25, 2015 Author Share Posted January 25, 2015 Is there an onloop? Yeah Heres a pastbin: http://pastebin.com/F3rcag4Z Much easier to read sorry about that. Link to comment Share on other sites More sharing options...
Czar Posted January 25, 2015 Share Posted January 25, 2015 (edited) NPC cow = npcs.closest("Cow","Cow calf"); That shouldn't be declared outside a method, remove that and remove if(!inventory.isFull() && COW_AREA.contains(myPlayer()) && !myPlayer().isUnderAttack() && !cow.isUnderAttack() && cow != null) { return State.ATTACK; } the red part along with it EDIT: Also, try to debug this in onPaint(Graphics2D g) g.drawString(getState().toString(), 15, 15); Just to know which state you are in, it helps alot. Edited January 25, 2015 by Czar 2 Link to comment Share on other sites More sharing options...
Snowydell Posted January 25, 2015 Author Share Posted January 25, 2015 NPC cow = npcs.closest("Cow","Cow calf"); That shouldn't be declared outside a method, remove that and remove if(!inventory.isFull() && COW_AREA.contains(myPlayer()) && !myPlayer().isUnderAttack() && !cow.isUnderAttack() && cow != null) { return State.ATTACK; } the red part along with it EDIT: Also, try to debug this in onPaint(Graphics2D g) g.drawString(getState().toString(), 15, 15); Just to know which state you are in, it helps alot. Thank you so much it's working now Link to comment Share on other sites More sharing options...