TorRS Posted August 17, 2020 Share Posted August 17, 2020 (edited) Today I was testing some stuff and tried to make a new script that basically makes flour in the cooking guild. But my problem is that the script wont even start, I tried out to see if onStart will function but not even that works. Looked at some of my other scripts and I don't see why it wont start. And when i run the script I cant control the player anymore My code (A mess ik): package flourMaker; import org.osbot.rs07.api.Bank; import org.osbot.rs07.api.Inventory; import org.osbot.rs07.api.map.Area; import org.osbot.rs07.api.model.Entity; import org.osbot.rs07.api.model.Player; import org.osbot.rs07.script.Script; import org.osbot.rs07.script.ScriptManifest; @ScriptManifest(author = "TorRS", info = "Makes Flour", name = "Flour Maker", version = 0, logo = "") public class Main extends Script { boolean tray = false; boolean con = false; boolean shouldGrain; boolean finishedGrain; final Area BANK_AREA = new Area(3167, 3490, 3169, 3489); final Area GUILD_TRAY = new Area(3142, 3449, 3146, 3446); final Area GUILD_HOPPER = new Area(3140, 3452, 3143, 3450).setPlane(2); final int BANK_BOTH_ID = 10060; final int GRAIN_ID = 1947; final String HOPPER_NAME = "Hopper"; final String CONTROLS_NAME = "Hopper controls"; Inventory inventory = getInventory(); Player player = myPlayer(); Bank bank = getBank(); @Override public void onStart() throws InterruptedException { log("We are off"); super.onStart(); } @Override public int onLoop() throws InterruptedException { if (inventory.isFull() && inventory.contains(GRAIN_ID)) { shouldGrain = true; } if (tray == false) { if (shouldGrain == true) { if (GUILD_HOPPER.contains(player)) { if (inventory.contains(GRAIN_ID)) { Entity hopper = getObjects().closest(HOPPER_NAME); Entity controller = getObjects().closest(CONTROLS_NAME); if (con == false) { if (hopper != null) { if (hopper.isVisible()) { if (!player.isAnimating()) { if (!player.isMoving()) { hopper.interact("Fill"); sleep(random(1500, 2000)); con = true; } } } else { getCamera().toEntity(hopper); } } } else { if (controller != null) { if (controller.isVisible()) { if (!player.isAnimating()) { if (!player.isMoving()) { controller.interact("Operate"); sleep(random(1500, 2000)); con = false; } } } } } } else { tray = true; shouldGrain = false; } } else { getWalking().webWalk(GUILD_HOPPER); } } else { if (BANK_AREA.contains(player)) { Entity bankbooth = getObjects().closest(BANK_BOTH_ID); if (bank.isOpen()) { bank.withdrawAll(GRAIN_ID); } else { if (bankbooth != null) { if (bankbooth.isVisible()) { bankbooth.interact("Bank"); sleep(random(2000, 3000)); } else { getCamera().toEntity(bankbooth); } } } } else { getWalking().webWalk(BANK_AREA); } } } else { // Get pots and empty tray } return random(400, 600); } @Override public void onExit() throws InterruptedException { log("WE out"); super.onExit(); } } Edited August 17, 2020 by TorRS Quote Link to comment Share on other sites More sharing options...
Nbacon Posted August 17, 2020 Share Posted August 17, 2020 These have not been "made" yet. Best pratice is to use getters and setters. But this will fix it. Inventory inventory ; Player player ; Bank bank; @Override public void onStart() throws InterruptedException { log("We are off"); inventory = getInventory(); player = myPlayer(); bank = getBank(); } Other Things I see. you dont need to say if ( bool == true) it is alreday true so you just if(bool) and you dont to say if(bool == false ) just say if( !bool) Also look into varbits and piotion oriented acctions. if 2 bots are on the same world this will break. 1 Quote Link to comment Share on other sites More sharing options...
Khaleesi Posted August 17, 2020 Share Posted August 17, 2020 inventory = getInventory(); player = myPlayer(); bank = getBank(); Has to be done in onStart or in Onloop. 1 Quote Link to comment Share on other sites More sharing options...
TorRS Posted August 18, 2020 Author Share Posted August 18, 2020 Thanks a lot guys, it works now Quote Link to comment Share on other sites More sharing options...
TorRS Posted August 18, 2020 Author Share Posted August 18, 2020 9 hours ago, Nbacon said: Also look into varbits and piotion oriented acctions. if 2 bots are on the same world this will break. Got any link where i can read into this, if u dont mind Quote Link to comment Share on other sites More sharing options...