Utility nodes
Constants, arithmetic, booleans, strings, vectors and window helpers.
Number
Float constant.
In: Value:Float
Out: Out:Float
Number(0.8) → Threshold.
Integer
Int constant.
In: Value:Int
Out: Out:Int
Integer(3) → Count.
Boolean
Bool constant.
In: Value:Bool
Out: Out:Bool
Boolean(true) → Reset.
Text
String constant.
In: Value:String
Out: Out:String
Text("hello") → Keyboard Type Text.Text.
Add
A + B.
In: A:Float, B:Float
Out: Result:Float
Add(X, 10).
Subtract
A − B.
In: A, B
Out: Result
Subtract(PosX, 5).
Multiply
A × B.
In: A, B
Out: Result
Multiply(score, 2).
Divide
A ÷ B, returns 0 if B=0.
In: A, B
Out: Result
Divide(width, 2).
Min
The smaller of A and B.
In: A, B
Out: Result
Min(hp, cap).
Max
The larger of A and B.
In: A, B
Out: Result
Max(hp, 0).
Abs
Absolute value.
In: Value
Out: Result
Abs(delta).
Modulo
A modulo B.
In: A, B
Out: Result
Modulo(index, 4).
Clamp
Clamps Value between Min and Max.
In: Value, Min, Max
Out: Result
Clamp(confidence, 0, 1).
Random Float
Random float in [Min, Max].
In: Min:Float, Max:Float
Out: Result:Float
Random Float(0.1, 0.5) → Wait.Seconds.
Random Int
Random int in [Min, Max].
In: Min:Int, Max:Int
Out: Result:Int
Random Int(100, 300) → Delay.ms.
All Bool
True if every bool input is true.
In: A:Bool, B:Bool, additional bool inputs
Out: True:Bool, False:Bool
Found AND Is Window Active → If.
Any Bool
True if at least one bool input is true.
In: A, B, additional bool inputs
Out: True, False
ButtonFound OR DialogFound → If.
Not
Boolean NOT.
In: Value:Bool
Out: Result:Bool
Not(Found) → If.
Concat Text
Concatenates two strings.
In: A:String, B:String
Out: Result:String
Concat("HP:", hp).
Text Contains
Checks whether Text contains Query.
In: Text:String, Query:String
Out: Result:Bool
Contains(response, "ok").
Text Equals
Compares two strings.
In: A:String, B:String
Out: Result:Bool
Equals(status, "ready").
Make Vec2
Builds a Vec2 from X and Y.
In: X:Float, Y:Float
Out: Result:Vec2
Make Vec2(100, 200) → Mouse Pos.
Add Vec2
A + B for coordinates.
In: A:Vec2, B:Vec2
Out: Result:Vec2
targetPos + offset.
Subtract Vec2
A − B for coordinates.
In: A, B
Out: Result
objectPos − center.
Vec2 Distance
Distance between two points.
In: A:Vec2, B:Vec2
Out: Result:Float
Distance(player, target).
Vec2 Distance Less Than
Checks whether A and B are closer than Max Distance.
In: A, B, Max Distance:Float
Out: Result:Bool, Distance:Float
If target closer than 100.
In Range
Checks if Value is between Min and Max.
In: Value:Float, Min:Float, Max:Float
Out: Result:Bool
Confidence in range 0.8..1.0.
String Match
Matches via contains / equals / starts / ends.
In: Text:String, Query:String, Mode:String
Out: Result:Bool
Mode=starts, Text="error:42", Query="error".
Regex Extract
Pull matches out of a string with a regex pattern.
In: Text:String, Pattern:String, Group:Int
Out: Match:String, Found:Bool
Regex Extract(response, "id:(\\d+)", 1).
Text To Number
Parses a number out of text.
In: Text:String
Out: Value:Float, Ok:Bool
Text To Number("42") → Value=42.
OCR Text Match
Compares text with typo tolerance. Target can list options separated by commas.
In: Text:String, Target:String, Tolerance:Float
Out: Match:Bool, Best Target:String, Score:Float
OCR Text Match(read, "hello,good morning,hi").
OCR Number Match
Takes a number out of recognised text and compares it with a value.
In: Text:String, Operator:String, Value:Float
Out: Match:Bool, Number:Float
OCR Number Match("HP: 42", <, 50) → Match=true.
JSON Get
Pull a field out of a JSON blob (used with HTTP responses).
In: Json:String, Path:String
Out: Value:String, Found:Bool
JSON Get(response, "data.id").
Random Point In Rect
A random point inside a rectangle.
In: Rect X/Y/W/H:Int
Out: Point:Vec2
Random Point In Rect → Mouse Move Smooth for humanised clicks.
Timer
A named timer with start / stop / reset.
In: Name:String, Action:String
Out: Elapsed:Float
Timer(fight, start) → later Timer(fight, read).
Runtime Time
Seconds since the runtime started.
In: —
Out: Seconds:Float
Runtime Time → Log / Compare.
Elapsed Time
Loop-friendly timer with Continue / Elapsed outputs.
In: Duration Seconds:Float, Reset:Bool
Out: Elapsed:Bool, Seconds:Float, Elapsed ms:Float (and exec Continue / Elapsed)
In a loop, send Continue back into the loop and Elapsed out to the next stage.
Image Detection → If True → Delay → Elapsed Time; Continue → Image Detection, Elapsed → Break / next stage.
Window Size
Returns the client size of the window.
In: Window:HWND
Out: Size:Vec2, Width:Int, Height:Int
Window Size → Make center point.
Is Window Active
Checks whether the GameWindow is foreground.
In: Window:HWND
Out: Active:Bool
Is Window Active → If.
Ensure Window Active
Brings the GameWindow to the foreground.
In: Window:HWND
Out: Success:Bool
Ensure Window Active → Mouse Event.