Jump to content

marceluxd

Members
  • Posts

    43
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by marceluxd

  1. 9 hours ago, Malcolm said:
    9 hours ago, Malcolm said:

    You're supposed to break; in your switch statements so that would be why for that.

     

    A couple things I want to point out though,

    First thing is that imo you're creating your local variables a lot earlier than you need to be. Also for the weed imo you should declare what the loot is.

    
    
        private final String[] loot = { "Loop half of key", "Tooth half of key", "Rune spear", "Dragon spear", "Shield left half", "Ensouled chaos druid head", "Grimy ranarr weed", "Grimy lantadyme", "Grimy dwarf weed", "Grimy cadantine",
                "Grimy avantoe", "Grimy kwuarm" };

     

     

     

    Thanks for the reply. Where should i declare the variable loot?

  2. This script is supposed to kill the closest Chaos druid that is not fighting and collect the drops. The problem is that it just clicks on the drop and very shortly after it tries to attack another druid, i mean, it cancels the collecting action and start to attack. Please help!

    Obs: Is it possible to use the glory amulet teleport to edgeville?

    @ScriptManifest(author = "Marcelo", info = "Kill druids and collect herbs", name = "DruidMassacre", version = 0, logo = "")
    public class DruidKiller extends Script {
    
    	@Override
    	public void onStart() {
    		log("Let's get started!");
    	}
    	private enum State{
    		ATTACK, COLLECT, TELEPORT, EAT, NOTHING;
    	}
    	
    	private State getState() {
    		GroundItem weed = getGroundItems().closest("Loop half of key", "Tooth half of key", "Rune spear","Dragon spear", "Shield left half", "Ensouled chaos druid head", "Grimy ranarr weed", "Grimy lantadyme", "Grimy dwarf weed", "Grimy cadantine", "Grimy avantoe", "Grimy kwuarm");	
    		NPC druid = getNpcs().closest(npc -> npc.getName().startsWith("Chaos druid") && npc.isAttackable());
    
    		if(myPlayer().getHealthPercent() <= 70) {
    			if (getInventory().contains("Swordfish")){
    				return State.EAT;
    			}
    			else {
    				return State.TELEPORT;
    			}
    		}
    		
    		if(weed != null) {
    			return State.COLLECT;
    		}
    		
    		if(!getCombat().isFighting() && myPlayer().isAttackable() && !myPlayer().isAnimating() && !myPlayer().isMoving() && druid != null) {
    			return State.ATTACK;
    		}
    
    		return State.NOTHING;
    	}
    	@Override
    	public int onLoop() throws InterruptedException {
    		GroundItem weed = getGroundItems().closest("Nature rune", "Loop half of key", "Tooth half of key", "Rune spear","Dragon spear", "Shield left half", "Ensouled chaos druid head", "Grimy ranarr weed", "Grimy lantadyme", "Grimy dwarf weed", "Grimy cadantine", "Grimy avantoe", "Grimy kwuarm");	
    		NPC druid = getNpcs().closest(npc -> npc.getName().startsWith("Chaos druid") && npc.isAttackable());
    	
    		switch(getState()) {
    		case EAT:
    			log("Eat");
    			getInventory().interact("Eat", "Swordfish");
    		
    		case TELEPORT:
    			log("Teleport!");
    		
    		case COLLECT:
    			log("Collecting weed");
    			if(!myPlayer().isMoving() && !myPlayer().isAnimating()) {
    				weed.interact("Take");
    			}
    		
    		case ATTACK:
    			log("Attacking");
    			druid.interact("Attack");
    			sleep(random(1497, 4923));
    		
    		case NOTHING:
    			log("Nothing");
    		}
    		
    		return random(300, 700);
    	}
    
    	@Override
    	public void onExit() {
    		log("terminou porra");
    	}
    
    	@Override
    	public void onPaint(Graphics2D g) {
    
    	}
    
    }

     

  3. This is my first post, im  sorry if i did something wrong. 

    I am trying to write a script that makes Uncooked pizza (pizza base, cheese and tomato), and i dont know why it doesn't work. I really need some tips to make better code and make it works

     

    My script:

    import java.awt.Graphics2D;
    
    import org.osbot.rs07.api.ui.RS2Widget;
    import org.osbot.rs07.script.Script;
    import org.osbot.rs07.script.ScriptManifest;
    
    @ScriptManifest(author = "Marcelo", info = "makes cheese and tomatoes pizzas", name = "PizzaHut", version = 0, logo = "")
    public class PizzaMaker extends Script {
    
    	@Override
    	public void onStart() {
    		log("Let's make pizza!");
    	}
    	
    	private enum State {
    		WITHDRAW, DEPOSIT, TOMATO, CHEESE, WIDGET, NOTHING;
    	}
    	
    	private State getState() {
    		RS2Widget cooking_interface = widgets.get(270, 14);
    		if(cooking_interface != null && cooking_interface.isVisible()) {
    			return State.WIDGET;
    		}
    
    		if(getInventory().contains("Tomato") && getInventory().contains("Pizza base") && !bank.isOpen()) {
    			return State.TOMATO;
    		}
    		if(getInventory().contains("Incomplete pizza") && getInventory().contains("Cheese") && !bank.isOpen()) {
    			return State.CHEESE;
    		}
    		if(getInventory().onlyContains("Uncooked pizza")) {
    			return State.DEPOSIT;
    		}
    		if(!getInventory().contains("Pizza base", "Cheese", "Tomato")) {
    			return State.WITHDRAW;
    		}
    		
    		return State.NOTHING;
    	}
    	@Override
    	public int onLoop() throws InterruptedException {
    		RS2Widget cooking_interface = widgets.get(270, 14);
    
    		switch(getState()) {
    		case WIDGET:
    			cooking_interface.interact("Make");
    	
    		case TOMATO:
    			if(!myPlayer().isAnimating()) {
    				getInventory().interact(random(4, 7));
    				sleep(random(200,400));
    				getInventory().interact(random(9, 11));
    				sleep(random(200, 400));
    			}
    	
    		case CHEESE:
    			if(!myPlayer().isAnimating()) {
    				getInventory().interact(8);
    				sleep(random(200,400));
    				getInventory().interact(random(18, 20));
    				sleep(random(200, 400));
    			}
    		
    		case DEPOSIT:
    			if(!bank.isOpen()) {
    				bank.open();
    			}
    			bank.depositAll();
    		
    		case WITHDRAW:
    			if(!bank.isOpen()) {
    				bank.open();
    			}
    			else if(!getInventory().contains("Pizza base")) {
    				bank.withdraw("Pizza base", 9);
    			}
    			else if(!getInventory().contains("Tomato")) {
    				bank.withdraw("Tomato", 9);
    			}
    			else if(!getInventory().contains("Cheese")) {
    				bank.withdraw("Cheese", 9);
    			}
    			else {
    				bank.close();
    			}
    		case NOTHING:
    			log("I DONT KNOW!");
    			sleep(100);
    		
    			
    		}
    		return random(300, 700);
    	}
    
    	@Override
    	public void onExit() {
    		log("Done.");
    	}
    
    	@Override
    	public void onPaint(Graphics2D g) {
    
    	}

     

×
×
  • Create New...