Skip to content

Hosfad/Scripting-Behaviour-Tree

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

Scripting-Behaviour-Tree

Behaviour tree to better structure your scripts

I have included an example at src/Example

This is a Behaviour , This is where youre gonna write youre code for interacting with the game

public class InteractWithBank extends RSBehavior {
    public InteractWithBank(String name) {
        super(name);
    }

    @Override
    public void go(Object agent, Macro parent) {
    if (Bank.isOpen()){
        Bank.withdrawAll("Coins");
        MethodProvider.sleep(600);
        Bank.close();
    }else {
        Bank.open();
    }

    }
}

This is a Macro , This is what controls your different behaviours 

NOTE : Macros can be nested , meaning a macro can also be a behaviour inside another macro 

public class Banking extends RSMacro {
    Area closestBank = org.dreambot.api.methods.container.impl.bank.Bank.getClosestBankLocation().getArea(8);

    public Banking(String name) {
        super(name);
        // These are the current behaviors in our Banking Macro
        this.behaviors = new Behavior[]{
                new WalkToArea("walkToBank" ,closestBank),
                new InteractWithBank("withdrawCoins")
        };
    }
    @Override
    public String getTransition(Object agent, Macro parent) {
        // You call the different behaviours in the macro by returning their super String
        // eg: to call the InteractWithBank behaviour return "withdrawCoins";
        if (closestBank.contains(Players.localPlayer())){
            return "withdrawCoins";
        }else {
            return "walkToBank";
        }

    }
}

Calling the beviour tree

RSMacro macro = new MainBranch("super name");
@Override
public int onLoop() {
    // The arguments are null because this behaviour has no parent
    macro.behaviourGo(null,null);
    return 100;
}

About

Behaviour tree to better structure your scripts

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages