Chat box condition
Evaluate if the chatbox contains a line matching the selecting string since last time it checked.
(Option to use partial matching)
Summoning condition
Conditions
-
Summoning points (<): Use a number variable to test against
-
Minutes remaining (<): Use a number variable to test against
-
Is familiar active: Evaluates both the presence of the familiar and also the UI icon (for when it despawns). This is the most accurate approximation I can provide
-
Can we summon (any) familiar: Takes into account, currently active, time remaining and available points
Familiar
-
Select the desired familiar to check if you can summon it
Npc condition
This node allows you to determine logic based on various Npc conditions. The basic condition node allows you to input Values (which are the names of the objects - Npc variables) and Actions (The action name itself - Action variable).
You can simplify your input by selecting the 'partial name matching checkbox'.
Note: You are (currently) obligated to assign an object name (due to caching reasons), but not an action value.
The GameObject conditions can be very powerful when combined with the query builder. A query builder is available in the inspector tab when selecting a node. With the query builder you can further specify attributes of the required GameObject. Current supported attributes:
-
Npc ID: if you want to specify an item by id for some reason
-
Anims: Animation id(s) the Npc can have
-
On coo: select coordinates for the Npc to be on
-
Off coo: select coordinates for the Npc to NOT be on
-
Within: Accepts a Number variable and determines within what distance an Npc has to be
-
Targeting me: The npc you want to query is targeting me
-
My target:The npc you want to query is my target
-
No target: The npc you want to query has no target
-
Has target: The npc you want to query has a target
-
Animating:IS essentially the same as any animation id !=-1
-
Visible
-
Reachable: Be very carefull with reachable in RS3, it is ill advised
Timer condition
This node has 2 possible conditions to evaluate, both based on the current runtime of the bot.The second dropdown box accepts a Number variable
-
After X seconds runtime: Once the current runtime passes a certain amount of seconds this node will always return true
-
Every X seconds: This node will return true once after every X seconds.
Bank condition
A simple condition node to evaluate some bank conditions
-
Is open:
-
Contains all of: Accepts Sprite Item
-
Contains none of:Accepts Sprite Item
-
Is full:
NOTE: Most of the banking interaction is done automatically by the bank withdraw and deposit actions (running to bank, opening bank and closing bank)
Shop condition
This condition node can help you with buying items from store.
Is open: Accepts Boolean
Is selling: Accepts Sprite Item
Has in stock: Accepts Sprite Item, Use quantity field to specify the amount of stock it should have above off.
Is full: Accepts Number for Quantity. This user specified number is used to test the amount of items in the shop against. there is no built in way to determine if shop is full.
Ground item condition
This node allows you to determine logic based on various GroundItem conditions. Ground Items are interactable objects taht you can pick up from the ground. The basic condition node allows you to input Values (which are the names of the GroundItems - Ground item variables) and Actions (The action name itself - Action variable).
You can simplify your input by selecting the 'partial name matching checkbox'.
The GroundItem condition can be very powerful when combined with the query builder. A query builder is available in the inspector tab when selecting a node. With the query builder you can further specify attributes of the required GroundItem. Current supported attributes:
-
Object ID: if you want to specify an item by id for some reason
-
On coo: select coordinates for the gameobject to be on
-
Off coo: select coordinates for the gameobject to NOT be on
-
Within: Accepts a Number variable and determines within what distance an object has to be
-
Value >=: Only consider items with a G.E. value >= your input
-
Value <=
-
Quantity >= Only consider if there are >= then [input] of the item in the inventory
-
Quantity<=
-
Noted:
-
Unnoted:
-
Stacks:
-
Visible:
-
Reachable: Be very carefull with reachable in RS3, it is ill advised
-
Surroundings reachable:
Crafting window condition
Use this node to work with The MakeXInterface in RS3 or the MakeAllInterface in OSRS.
Available conditions are:
-
Is Open: Checks if the interface is open
-
Is Crafting:
-
RS3: checks if the progression interface is open
-
OSRS: checks if is animating
-
-
Selected Item: RS3Only checks the selected item
-
Selected Category: RS3Only checks the selected category (no regex)
-
Selected Amount =:Checks the selected amount
Game object condition
This node allows you to determine logic based on various GameObject conditions. The basic condition node allows you to input Values (which are the names of the objects - GameObject variables) and Actions (The action name itself - Action variable).
You can simplify your input by selecting the 'partial name matching checkbox'.
Note: You are (currently) obligated to assign an object name (due to caching reasons), but not an action value.
The GameObject conditions can be very powerful when combined with the query builder. A query builder is available in the inspector tab when selecting a node. With the query builder you can further specify attributes of the required GameObject. Current supported attributes:
-
Object ID: if you want to specify an item by id for some reason
-
Types: Important to optimize performance. You'll probably only ever need primary and sometimes wall decoration (e.g. a POH Glory (not sure))
-
On coo: select coordinates for the gameobject to be on
-
Off coo: select coordinates for the gameobject to NOT be on
-
Within: Accepts a Number variable and determines within what distance an object has to be
-
Rock: Used for mining bots in OSRS and uses color substitutions.
-
Visible
-
Reachable: Be very carefull with reachable in RS3, it is ill advised
-
Surroundings reachable:
Chat dialog condition
This nodes accept variable of type String. The node will return true if any chatdialog with a continue button is open or if a chatdialog with several options is open and at least one of the options matches one of the input values. Values are evaluated with Regex by default (partial name matching)
Equipment condition
This node allows you to determine logic based on various equipment conditions. The value box accepts SpriteItem variables. The basic conditions include:
-
Contains all of: Select all variables the equipment has to contain
-
Contains any of: Returns true if one of the selected items is equiped
-
Contains none of: Returns true if none of the selected items is equiped
-
Is empty:
-
Is full:
Interface condition
This node allows you to determine logic based on the availability of certain interface components.
What is an interface component (IC)? An interface component is essentially everything that is not an ingame object like GameObject, Npc, GroundItem, SpriteItem. An IC can be a piece of text (called a label), it can be a button, it can be a slider, it can be a checkbox , it can be everything you would call integrated in the UI. InterfaceComponents can even hold SpriteItems (like you can see in the crafting interface in OSRS). It is essential to know that every IC you would need is contained within a parent object called a Container. To be able to efficiently/accurately use this node it is advised to acquire the ID of the Container. By using the "Cache container" checkbox you allow the bot to find this container ID and cache it to the Interface object variable you assign it too. This will only work accordingly if there is only one IC ingame matches your filters in the node and query. If there are multiple objects matching your filters, you need to manually assign the container(s) to the container query filter or assign the container ID to the Interface object variable in VisualRM.
Fields in the interface condition node
-
Text: Fill in the text if text is visible, leave blank if your IC does not have any text. This field accepts a String variable
-
!!!Make sure to check if you IC has a text parameter by looking at the parameters in any dev tool. (Visual Developer, Dev Kit, ...). Common mistakes is just to put text there when in reality the Runescape engine has several different IC for visualizing the same thing.
-
-
Action: Fill in only if the IC has an action (you can confirm this by right clicking the IC ingame). Not necessary to fill this in. This field accepts an Action variable.
-
!!!Make sure to check if you IC has an action by looking at the Action array in any dev tool. (Visual Developer, Dev Kit, ...). Common mistakes is just to put the action there when in reality the Runescape engine has several different IC for visualizing the same thing.
-
-
Interface object: an obligated field that accepts an Interface object variable. It is used for caching. The value of the assigned variable van be either empty or the container ID.
You can simplify your input by selecting the 'partial name matching checkbox'.
As mentioned before the node can be very powerful when combined with the query builder. A query builder is available in the inspector tab when selecting the node. With the query builder you can further specify attributes of the required IC. Current supported attributes:
-
Container: The ID of the container object of your IC. One way of finding this is with Visual Developer (though RS3 is hard), if you are a developer you can use OIE.
-
Child: The child ID of the IC: e.g. [1234, 22]. Container = 1234, Child = 22
-
Grand child: Th grandchild ID of the IC: e.g. [1234, 22, 4]. Container = 1234, Child = 22, Grand child = 4
-
Types: Assigning a type can improve speed and performance. Use it when you know what it does. (Often you can select label if it is only text you seek)
-
Sprite id: The ID of a certain sprite. Use this for non text IC that are represented by an icon/image/...
-
Tooltip: Filter for the tooltip of an object. (Might be RS3Only), this uses regex by default. Very few usages.
-
Content name: Filter for the name of a contained item. A contained item is a certain object, mostly a SpriteItem or a Skill/Spell in RS3. By assigning a variable to this filter you look for for the name of that item. You should probably only use it if you know what you are doing
-
Projected buffer: Advanced filter type. If you use it, you know what it i.
-
Visible: Always check this if you only want to consider visible items!
-
Invisible: can be used to drive your logic tree if an item is invisible
-
GrandChild: enable this if you know the IC is a grandchild. When keeping this disabled it improves speed.
Inventory item selected condition
A node mostly used for failsafes. Like the name says it checks if there is a selected item in the inventory
Inventory condition
This node allows you to determine logic based on various inventory conditions. The basic conditions include:
-
Contains all of: Select all variables the inventory has to contain
-
Contains any of: Returns true if one of the selected items is in the inventory
-
Contains none of: Returns true if none of the selected items is in the inventory
-
Is empty:
-
Is full:
-
Has # empty slots:
-
Has > then # empty slots:
You can simplify your input by selecting the 'partial name matching checkbox'. e.g. Variable with value "Rune " with the checkbox enabled will find all items with Rune in its name.
The 'Contains' conditions can be very powerful when combined with the query builder. A query builder is available in the inspector tab when selecting a node. With the query builder you can further specify attributes of the required item. Current supported attributes:
-
Item ID: if you want to specify an item by id for some reason
-
Value >=: Only consider items with a G.E. value >= your input
-
Value <=
-
Quantity >= Only consider if there are >= then [input] of the item in the inventory
-
Quantity<=
-
Noted:
-
Unnoted
-
Stacks
Player condition
This nodes controls the flow based on the status of the player.
Supported states are in form of Condition (valueType):
-
Is moving (bool)
-
Is skilling (bool)
-
Is skilling(2s) (bool)
-
Current animation id: (Number)
-
Has target (bool)
-
Is being attacked (bool)
-
on coordinate (Coordinate)
Varbit condition
This node allows you to use the powerfull runescape varbits to control your logic. Varbits are nameless values that represent a certain state of the game. Often they have value 0 or 1 to represent an enabled/disabled state of the player. This could be a menu setting or a certain potion that is on. They can represent a lot more tho, like the score or checkpoint in a minigame, if you are stunned, performing an action etc etc. To acquire these varbits you currently have to use the Development toolkit on the botstore. Or you can ask around on the various forums.
Skill condition
This nodes controls the flow based on the skill level of the player.
All skills are supported and can be compared to by either =, < or >
Calculation condition
This node allows to control the flow by determining the outcome of several calculations. For the types: Npc, GameObject, GroundItem and Coordinate you can calculate if:
-
Distance is equal to (number)
-
Distance is less then (number)
-
Distance is greater then (number)
-
Visible
-
Reachable
Status condition
This node allows the flow to be directed according to the current status of the player. Each condition can be compared to a number (by being equal, greater or smaller) or to a bool.
Supported statuses are:
-
Prayer points
-
Health (%)
-
Health (amount)
-
Adrenalin
-
Poisoned (bool)
-
Anti-Fire enabled (bool)
-
Overload enabled (bool)