Jump to content
Frequently Asked Questions
  • Are you not able to open the client? Try following our getting started guide
  • Still not working? Try downloading and running JarFix
  • Help! My bot doesn't do anything! Enable fresh start in client settings and restart the client
  • How to purchase with PayPal/OSRS/Crypto gold? You can purchase vouchers from other users
  • [ F2P ] [ FREE ] [SOURCE ] [ NO REQUIREMENTS EXCEPT GOLD ] Jug Filler | 20k - 40k/h


    Et43

    Recommended Posts

    Lamba Jug Filler

     

    Im pretty new to scripting was looking for Jug filling scripts to use to make some starting money, but all of them where paid scripts so i decided to make a free one.

     

    I ran this on a account for 8hours  (5 min brakes every 30min ) and did not get banned.

    Im pretty crap at java so there is little anti ban, all anti ban i have is a sleep function between clicks/actions.

    If you think i could have done something better, comment it please. 

     

    Fetures:

    - Fills Jugs for profit.

    - Paint ( kinda ugly but it is what it is. )

    - Good money making method for new accounts.

    1680 jugs an hour ( depends on if you have run on or off )

    - 20k - 40k an hour / 480k - 1mil a day

     

    Requirements:

    - Jugs in your bank.

    - Access to GE to sell them when done.

     

    Instructions:

    - Start at the Varrock bank closest to the training building . ( Adding the feature where it automatically goes to starting location as im making the post )

    - Start the script with nothing in your inv.

     

    [ SOURCE ]

    Spoiler

    Source:

    
    
    import org.dreambot.api.methods.container.impl.Inventory;
    import org.dreambot.api.methods.interactive.GameObjects;
    import org.dreambot.api.methods.map.Area;
    import org.dreambot.api.methods.map.Tile;
    import org.dreambot.api.script.AbstractScript;
    import org.dreambot.api.script.Category;
    import org.dreambot.api.script.ScriptManifest;
    import org.dreambot.api.wrappers.interactive.Entity;
    import org.dreambot.api.wrappers.interactive.GameObject;
    import org.dreambot.api.wrappers.interactive.NPC;
    import org.dreambot.api.wrappers.items.Item;
    import org.dreambot.api.wrappers.items.ItemLayer;
    
    import javax.swing.plaf.basic.BasicComboBoxUI;
    
    import java.awt.*;
    
    @ScriptManifest(author = "Et43", description = "yes", name = "Filler", category = Category.MONEYMAKING, version = 1)
    public class filler extends AbstractScript{
    
        State state;
        NPC npc;
        final Tile bankTile = new Tile(3254, 3420);
        Tile[] path = {new Tile(3248, 3430), new Tile(3239, 3433)};
        final int jugId = 1935;
        final int jugofwaterId = 1937;
        Item item;
    
        private long startTime;
        private long currentTime;
    
        private final Color color1 = new Color(102, 102, 102);
        private final Color color2 = new Color(204, 51, 255);
        private final Color color3 = new Color(153, 51, 255);
        private final Color color4 = new Color(255, 0, 255);
    
        private final Font font1 = new Font("Dialog", 1, 15);
    
        public int jugsFilled = 0;
    
        @Override //Infinite loop
        public int onLoop() {
    
            this.currentTime = System.currentTimeMillis() - this.startTime;
            //Determined by which state gets returned by getState() then do that case.
            switch(getState()) {
    
                case WITHDRAW:
                    if(!getInventory().contains(jugId) && (!getInventory().contains(1937) || !getInventory().contains("Jug of water"))){
                        getBank().openClosest();
                        legit();
                        log("Whithdrawing items");
                        getBank().withdrawAll(jugId);
                        legit();
                        getBank().close();
                    }else if(getInventory().contains(jugId)){
                        state = State.GOTOFOUNTAIN;
                    }else if(getInventory().contains("Jug of water") || getInventory().contains(1937)){
                        log("THe other deposit func");
                        getBank().openClosest();
                        legit();
                        log("Deposoting items");
                        getBank().depositAllItems();
                        legit();
                        state = State.WITHDRAW;
                    }else if(!getBank().contains("Jug")){
                        
                    }
                    break;
    
                case GOTOFOUNTAIN:
                    log("Walking");
                    for(int i= 0;i < path.length; i++){
                        while(!getLocalPlayer().getTile().equals(path[i])){
                            if(!getLocalPlayer().isMoving()){
                                getWalking().walk(path[i]);
                                legit();
    
                            }
                        }
                    }
                    state = State.FILL;
                    break;
    
                case FILL:
                    Item jugOfWater = Inventory.get("Jug");
                    if (jugOfWater != null) { // do we have it in our inv?
                        GameObject fountain = GameObjects.closest("Fountain");
                        if (fountain != null) {
                            if (jugOfWater.useOn(fountain)) {
                                sleep(17000);
                                state = State.DEPOSIT;
                            }
    
                        }
                    }
                    break;
    
                case DEPOSIT:
                    jugsFilled = jugsFilled + 28;
                    if(getInventory().contains("Jug of water")){
                        getBank().openClosest();
                        legit();
                        log("Deposoting items");
                        getBank().depositAllItems();
                        legit();
                    }else if(getInventory().contains(jugId)){
                        state = State.GOTOFOUNTAIN;
                    }
                    state = State.WITHDRAW;
            }
            return 0;
        }
    
        //State names
        private enum State{
            DEPOSIT, WITHDRAW, GOTOFOUNTAIN, GOTOBANK, FILL, BUYJUG
        }
    
        //Checks if a certain condition is met, then return that state.
        private State getState() {
            if(!getInventory().contains(jugId) && (!getInventory().contains(1937) || !getInventory().contains("Jug of water"))){
                state = State.WITHDRAW;
            }
            return state;
        }
    
        //When script start load this.
        public void onStart() {
    
            log("Bot Started");
            this.startTime = System.currentTimeMillis();
        }
    
        //When script ends do this.
        public void onExit() {
            log("Bot Ended");
        }
    
        public void goArea(Area area) {
            if (!area.contains(getLocalPlayer())) {
                getWalking().walk(area.getNearestTile(getLocalPlayer()));
            }
        }
    
        public void go(Tile tile){
            getWalking().walk(tile);
        }
    
        public int randomNum(int i, int k) {
            int num = (int)(Math.random() * (k - i + 1)) + i;
            return num;
        }
    
        public void legit(){
            sleep(randomNum(1000, 2000));
        }
    
        @Override
        public void onPaint(Graphics g1){
            Graphics2D g = (Graphics2D) g1;
    
            int hours = (int) ((this.currentTime / 1000) / 3600);
            int minutes = (int) ((this.currentTime / 1000) / 60) - (hours * 60);
            int seconds = (int) ((this.currentTime / 1000)) - (hours * 3600) - (minutes * 60);
    
            g.setColor(color1);
            g.fillRect(8, 346, 504, 128);
            g.setColor(color2);
            g.fillRect(506, 362, 6, 108);
            g.fillRect(8, 356, 6, 108);
            g.fillRect(25, 464, 475, 8);
            g.fillRect(8, 345, 16, 17);
            g.fillRect(496, 346, 16, 17);
            g.fillRect(495, 454, 16, 17);
            g.fillRect(9, 454, 16, 17);
            g.fillRect(23, 347, 472, 7);
            g.setFont(font1);
            g.setColor(color3);
            g.drawString("Lamba Jug Filler.", 29, 382);
            g.setColor(color4);
            g.drawString("Lamba Jug Filler.", 26, 379);
            g.drawString("Jugs Filled: " + jugsFilled, 24, 410);
            g.drawString("Time Run: " + hours + ":" + minutes + ":" + seconds, 22, 436);
    
    
        }
    
    
    }

    Compiled Version:

    https://anonfiles.com/p3M6ubpfp2/JugFiller_jar

     

    To - Do:

    - Make it sell jugs automatically at GE

    - If you don't have jugs will buy at GE

    - Different locations 

    - Automatically go to spawn area.

     

    Leave a comment on things i could have done better. And if there is a free and effective anti ban source somewhere you can also link it.

    Edited by Et43
    Added tags lmao
    Link to comment
    Share on other sites

    • 4 weeks later...
    • 2 years later...

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now
    ×
    ×
    • Create New...

    Important Information

    We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.