Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

Sign up now!

VisualRM [DEV]

Niche bots at your disposal
Joined
Dec 23, 2015
Messages
1,099
what is Regex?
 
hey, cannot load saved bots. Says nullpointexception thrown.

I've seen some NPE's appear in my error log, which I (hope to) have dealt with. The fixes for this will be released in the next version

How would you make a cave nightshade picking bot? I've tried but I'm a bit stuck with the traversal.

Walking from castle wars to point A
Walking from A to B
Entering cave
picking cave nightshade

But I seem to have trouble... any help would be much appreciated

  • Check if nightshade is available.
    • Yes ->Pick NightShade
    • No ->Check if Cave entrance (?) is available
      • Yes -> Interact with Cave entrance
      • No ->Walk to cave entrance location


Okay i've managed to make a working Barbarian Flyfishing scripts bot with some help.

What it does:
1. Checks if person is in area, if not it walks there.
2. Checks if inventory contains: Fly fishign rod & Feather
3. Checks boolean if fishing = true or false
4. If true, and fishing spot available it starts fishing.
5 If false & inventory full starts dropping fish.

Might need some adjustments and finetuning.

Improvements:
- Faster dropping of fish (shift-drop maybe).

Great I'll add it to the front page list of bots! The Shift-drop is on my toDo list. This won't require any update on your end but will just start working when I implement it
 
@Christuff I've removed the trello link. Fo now We'll just use the issue page on bitbucket. Makes it a bit easier to keep track. But I saw your suggestions added
 
Last edited:
Joined
Nov 13, 2017
Messages
13
I've seen some NPE's appear in my error log, which I (hope to) have dealt with. The fixes for this will be released in the next version



  • Check if nightshade is available.
    • Yes ->Pick NightShade
    • No ->Check if Cave entrance (?) is available
      • Yes -> Interact with Cave entrance
      • No ->Walk to cave entrance location




Great I'll add it to the front page list of bots! The Shift-drop is on my toDo list. This won't require any update on your end but will just start working when I implement it
 

@Christuff I've removed the trello link. Fo now We'll just use the issue page on bitbucket. Makes it a bit easier to keep track. But I saw your suggestions added

Thanks for the reply :) I'm still a bit stuck but ill show you what ive got so far, problem is as soon as i use a traversal action, i cant take it further since theres no "out". I know its a big ask but any help would be greatly appreciated, love the bot btw!
 

Attachments

  • Screenshot_1.png
    Screenshot_1.png
    90.2 KB · Views: 23
  • Screenshot_2.png
    Screenshot_2.png
    97.7 KB · Views: 19
Joined
Nov 30, 2017
Messages
15
PS: one thing i have noticed on the fisher i've put together (been running it for a few hours). sometimes it might get stuck. instead of rightclicking and selecting "drop" it would misclick and "use" the fish and then it would stop doing anything (might be fixable quick with an "
if fish is selected > unselect" statement or anything like that i think).
 
Last edited:
Joined
May 22, 2017
Messages
33
Bot has been crashing every 10-30 mins at Canifis agi course giving this error

Edit: sometimes happens when I just open the bot as well


java.lang.IllegalStateException: This operation is permitted on the event thread only; currentThread = Bot-VisualRM [Beta]
at com.sun.glass.ui.Application.checkEventThread(Application.java:443)
at com.sun.glass.ui.View.getNativeView(View.java:449)
at com.sun.glass.ui.win.WinAccessible.get_HostRawElementProvider(WinAccessible.java:672)
at com.sun.glass.ui.win.WinAccessible.UiaRaiseAutomationPropertyChangedEvent(Native Method)
at com.sun.glass.ui.win.WinAccessible.notifyToggleState(WinAccessible.java:406)
at com.sun.glass.ui.win.WinAccessible.sendNotification(WinAccessible.java:300)
at javafx.scene.Node.notifyAccessibleAttributeChanged(Node.java:9604)
at javafx.scene.control.ToggleButton$1.invalidated(ToggleButton.java:165)
at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:109)
at javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:144)
at javafx.scene.control.ToggleButton.setSelected(ToggleButton.java:149)
at nul.IIiiiiiIiiiII.null(pkb:24131)
at nul.IiiiIIiiIIIiI.null(ukc:152)
at com.runemate.game.api.script.framework.AbstractBot.pause(hxb:201)
at robot.IiiiiiIIiI.byte(va:107)
at robot.IiiIIIiIii.onLoop(ie:87)
at com.runemate.game.api.script.framework.LoopingBot.run(ubc:135)
at com.runemate.game.api.script.framework.AbstractBot.start(hxb:2519)
at nul.IiIiIIiiiiiiI.run(clc:52)
 
Last edited:
Joined
May 27, 2017
Messages
61
PS: one thing i have noticed on the fisher i've put together (been running it for a few hours). sometimes it might get stuck. instead of rightclicking and selecting "drop" it would misclick and "use" the fish and then it would stop doing anything (might be fixable quick with an "
if fish is selected > unselect" statement or anything like that i think).

qM7rw46.jpg
 
Joined
May 22, 2017
Messages
33
Does anyone mind giving a quick explanation of how booleans work on this? I'm looking at bots like the sand crab one and it has booleans like "has clicked around" and "has re-agroed". I'm not sure what the bot is actually checking for since where does it know how to define what aggro or clicking around is? Is this just for pseudo-code purposes?
 
Joined
Oct 26, 2016
Messages
147
WfRXHfs.png


Any idea why this won't work?
Calculation condition comparator is Duel Arena coordinates, equipment is an equipped ring of dueling and I want to use it to teleport to the Duel Arena, but it is not doing anything. I took a look through your RS3 Slime bot that had the same logic. Perhaps not thoroughly tested with OSRS yet I assume, or maybe a wrongdoing on my end?

(without partial name match I have to type the amount of teleports left on the ring for it to successfully work, I've already submitted a request for that on your trello board).
 
Joined
May 22, 2017
Messages
33
Keep on getting a error of "use interface condition node to cache interface object before clicking" but I'm already doing that I'm pretty sure.
Happens on the very last node in the top right when the bot gets to there then errors out.

Anyone have an idea of how to fix this? Trying to make a smithing bot


NAbH1lT.png
 
Joined
May 27, 2017
Messages
61
Does anyone mind giving a quick explanation of how booleans work on this? I'm looking at bots like the sand crab one and it has booleans like "has clicked around" and "has re-agroed". I'm not sure what the bot is actually checking for since where does it know how to define what aggro or clicking around is? Is this just for pseudo-code purposes?


A boolean can be true or false.

You initialize a boolean to a value normally, e.g. "Has_banked = False".
When you go to the bank and are finished it can be set to "Has_banked = True".

So if "has clicked around" is false, then there can be some logic that goes clicking around while "has clicked around" is false. When some condition is met then it can be set to true.
 
Niche bots at your disposal
Joined
Dec 23, 2015
Messages
1,099
Thanks for the reply :) I'm still a bit stuck but ill show you what ive got so far, problem is as soon as i use a traversal action, i cant take it further since theres no "out". I know its a big ask but any help would be greatly appreciated, love the bot btw!

Read again the flow I've recommended. Also you shouldn't use the calculation node to see if an item is there, especially Reachable is a computation heavy call you should avoid. Look at the Ground item condition node (the lootsack icon) to check if an item is there or not.
Same thing for the cave exit. Use a Game Object condition node (the block icon) to check if it exists. If yes, interact. If no walk there.
The general rule of thumb is to always check if an Npc/object/sprite/... exists before deciding to interact with it.
It's a bit of an adventure to know how to use the bot without a good tutorial. But hope this advise helps in advance of tutorials.

PS: one thing i have noticed on the fisher i've put together (been running it for a few hours). sometimes it might get stuck. instead of rightclicking and selecting "drop" it would misclick and "use" the fish and then it would stop doing anything (might be fixable quick with an "
if fish is selected > unselect" statement or anything like that i think).
what @segfault says :p. I could implement some internal failsafe, but it would remove some versatility.

Bot has been crashing every 10-30 mins at Canifis agi course giving this error

Edit: sometimes happens when I just open the bot as well

Might be 2 different errors. Keep sending the crashes to me. I look at them and try to fix the errors.

Does anyone mind giving a quick explanation of how booleans work on this? I'm looking at bots like the sand crab one and it has booleans like "has clicked around" and "has re-agroed". I'm not sure what the bot is actually checking for since where does it know how to define what aggro or clicking around is? Is this just for pseudo-code purposes?

A boolean is just a variable that can have 2 states. True or false. VisualRM has 2 types of nodes to make use of it located in the modulator category. First is boolean condition to check if a certain boolean variable is true or false. The other is a node to assign a value to the boolean.
In the sand crab bot I use the booleans to make a re-agro logc as the crabs settle down after a certain amount of time. There are however 2 types of re-agro. Either first walk on a stone and see if it wakes up or walk away. What we do is if no npcs are available, first walk on a stone and set the boolean "has walked on stone" to true. If this causes a crab to spawn it will try to attack it. And when attacking we set the boolean "has walked on stone" to false to reset the logic for the next time we can't find a crab.
If no crab spawned we want to reagro again and check if the "has walked on stone" boolean is true. It is because we already stepped it. When true we do the second agro by walking far away. In the bot in specific I als enable the boolean "has re-agrod" if the distance to the far away location is less then 5 or so. In the second reagro logic I check if "has re-aggro'd" is true. If true I want to walk back to the original location.
Again when we start attacking again, we put "has re-aggro'd" to false to reset the logic.

WfRXHfs.png


Any idea why this won't work?
Calculation condition comparator is Duel Arena coordinates, equipment is an equipped ring of dueling and I want to use it to teleport to the Duel Arena, but it is not doing anything. I took a look through your RS3 Slime bot that had the same logic. Perhaps not thoroughly tested with OSRS yet I assume, or maybe a wrongdoing on my end?

(without partial name match I have to type the amount of teleports left on the ring for it to successfully work, I've already submitted a request for that on your trello board).

Have you tried adding a space between the word an the bracket for ring of dueling. In any case, I have to switch it to have a partial name matcher. I will also test the equipment node in osrs. (Btw have you added to trello or the issues and request page on bitbucket?)

Keep on getting a error of "use interface condition node to cache interface object before clicking" but I'm already doing that I'm pretty sure.
Happens on the very last node in the top right when the bot gets to there then errors out.

Anyone have an idea of how to fix this? Trying to make a smithing bot


NAbH1lT.png

I can't say for sure why it says that. I'd have to check myself. You should maybe add the action you want to interact with also in the interface condition node. Also, are you sure that the action is correct? Maybe you should use "Smith All" and you can still use partial name matcher to be sure.[/QUOTE]
 
Last edited:
Joined
May 27, 2017
Messages
61
I can't say for sure why it says that. I'd have to check myself. You should maybe add the action you want to interact with also in the interface condition node. Also, are you sure that the action is correct? Maybe you should use "Smith All" and you can still use partial name matcher to be sure.


Yes, you have to use "Smith All" for the second condition checker, that will cache it correctly. That works for all scripts I've made.
 
Joined
Nov 30, 2017
Messages
15
You can add a runecrafting bot :(

i would try this once i understand more aboutteleporting using dueling rings and such, would like one for myself to cratf lava runes on my skiller.

PS: is there a delay option possible to set? i've started on a Woodcutting guild Yew chopper And it clicks 3-4 times on the bank chest while running to it. (perhaps i could do a "If coordinate < 2" use bank). Also to be honest i dont understand the "Inspector" tab at all.. i see delay multiplier there but not sure what to do with that tab.

Edit: Yep that fixed it. i had a calculation condition set to: [Visable] [Coordinate] [Bank] instead i've now set it to [Distance to (<)] [Coordinate] [Bank] [3]
 
Last edited:
Joined
May 27, 2017
Messages
61
i would try this once i understand more aboutteleporting using dueling rings and such, would like one for myself to cratf lava runes on my skiller.

PS: is there a delay option possible to set? i've started on a Woodcutting guild Yew chopper And it clicks 3-4 times on the bank chest while running to it. (perhaps i could do a "If coordinate < 2" use bank). Also to be honest i dont understand the "Inspector" tab at all.. i see delay multiplier there but not sure what to do with that tab.

Use player condition is moving.
If false do something. If true do nothing.


Rune_Mate_2018-05-04_17-01-44.png

^This actually does all the banking you need. Just have a preset set.
If you need an empty bag then add that as a preset. Or have one item in the bag just so it will work. Idk if it works with empty bag.
 
Joined
Oct 26, 2016
Messages
147
Have you tried adding a space between the word an the bracket for ring of dueling. In any case, I have to switch it to have a partial name matcher. I will also test the equipment node in osrs. (Btw have you added to trello or the issues and request page on bitbucket?)

Yeah, tried multiple different combinations. Theres no space inbetween the "Ring of dueling()" in-game, if that is what you mean. I tried "Ring of dueling", "Ring of dueling ", "Ring of Dueling(", "Ring of dueling()", but the only one that will be successful is the "Ring of dueling(4)" (or how many charges there is left).

When it then proceeds to the interaction node, it'll just sit there and not use the ring of dueling to teleport. Not entirely sure why that is.

Edit: oh yeah, and I meant your BitBucket.

Another thing I had issues with was using rune pouches. I got it to use a large pouch just fine, but if it has multiple pouches it'll just continue to use only one of the pouches. Maybe because it recognizes them all as the same ones?
 
Niche bots at your disposal
Joined
Dec 23, 2015
Messages
1,099
i would try this once i understand more aboutteleporting using dueling rings and such, would like one for myself to cratf lava runes on my skiller.

PS: is there a delay option possible to set? i've started on a Woodcutting guild Yew chopper And it clicks 3-4 times on the bank chest while running to it. (perhaps i could do a "If coordinate < 2" use bank). Also to be honest i dont understand the "Inspector" tab at all.. i see delay multiplier there but not sure what to do with that tab.

Edit: Yep that fixed it. i had a calculation condition set to: [Visable] [Coordinate] [Bank] instead i've now set it to [Distance to (<)] [Coordinate] [Bank] [3]

You can use a pause node and set it to random delay ( in stead on indefinite). For your problem the delay multplier is excellent. Every action has a build in player sensed delay build in. You can multiply that delay to have it wait longer. This way you can do both fast actions or actions which require more time.
Further more the inspector provides a field to add a description to your node (but I don't think I have made that functional as of yet) and show you query options when the node allows this. Query options provide more specified filters to find the object you need

Yeah, tried multiple different combinations. Theres no space inbetween the "Ring of dueling()" in-game, if that is what you mean. I tried "Ring of dueling", "Ring of dueling ", "Ring of Dueling(", "Ring of dueling()", but the only one that will be successful is the "Ring of dueling(4)" (or how many charges there is left).

When it then proceeds to the interaction node, it'll just sit there and not use the ring of dueling to teleport. Not entirely sure why that is.

Edit: oh yeah, and I meant your BitBucket.

Another thing I had issues with was using rune pouches. I got it to use a large pouch just fine, but if it has multiple pouches it'll just continue to use only one of the pouches. Maybe because it recognizes them all as the same ones?

I guess you put all the runepouches into one interaction node. Then it will indeed always try to fill the same one. For your usecase, you'll have to use a varbit condition to check which are filled. You'll have to find them yourelves until I will implement a help popup that contains a bunch of them I collected. And what you say about the equipment shows me it works correctly. I just do not have partial name matching there. (its one of the earliest nodes, back when I did not have that option)
 
Joined
Oct 26, 2016
Messages
147
I guess you put all the runepouches into one interaction node. Then it will indeed always try to fill the same one. For your usecase, you'll have to use a varbit condition to check which are filled. You'll have to find them yourelves until I will implement a help popup that contains a bunch of them I collected. And what you say about the equipment shows me it works correctly. I just do not have partial name matching there. (its one of the earliest nodes, back when I did not have that option)

Okay thank you for the quick answer! :D
 
Made a simple Hosidius Cooker for all your cooking needs. Simply change Lobster to any food you wish to cook and start it.
Simple Hosidius Cooker — Bitbucket

Could make it much faster but as VisualRM turns the camera randomly, I can't make it use the food instantly on the oven without walking there first. Well I can, but it'll eventually rotate the camera so the oven is out of the FOV and thus break it.

Perhaps theres a way to solve this already that I'm overlooking. I don't want to use any travel/walk nodes because that'll just make it slower, though currently it seems that I have to like explained above.

The version I made that breaks when camera is moved is actually the fastest Hosidius cooker I've ever tried if I somehow could disable camera.
VisualRM = such responsiveness, much wow. I made a request on your BitBucket page if it is something you wish to implement (pls do, I will love you forever <3 :D).
 
Last edited:
Joined
Apr 22, 2018
Messages
20
i would try this once i understand more aboutteleporting using dueling rings and such, would like one for myself to cratf lava runes on my skiller.

PS: is there a delay option possible to set? i've started on a Woodcutting guild Yew chopper And it clicks 3-4 times on the bank chest while running to it. (perhaps i could do a "If coordinate < 2" use bank). Also to be honest i dont understand the "Inspector" tab at all.. i see delay multiplier there but not sure what to do with that tab.

Edit: Yep that fixed it. i had a calculation condition set to: [Visable] [Coordinate] [Bank] instead i've now set it to [Distance to (<)] [Coordinate] [Bank] [3]
try to do it with earth talismans pls
 
Top