explv / explvs-aio Goto Github PK
View Code? Open in Web Editor NEWExplv's AIO
License: MIT License
Explv's AIO
License: MIT License
Bot just stands around when trying to use it to fish pike.
So when using the loop task it would be great to be able to set it to a level for it's break condition.
Note: These are all fixes I have in the works. I'll be opening PRs this weekend with the fixes.
Loop Task will be checked for all fields.
Even the ones not visible. So you can not save the task if you haven't opened the other fields and inserted a value there
If you start your bot on Tutorial Island it will not do the SetupEvents even when it has left the Tutorial Island, could get you stuck in quests and stuff
Note: These are all fixes I have in the works. I'll be opening PRs this weekend with the fixes.
The quest Romeo & Juliet should implement a Path that avoids the Wizards or in the best case any enemy when you try to pick the Berry.
When selling an item that does not note to GE it keeps putting it back into the bank.
How to reproduce:
Bug:
It seems that for some reason when the script is run for the second time, without a refresh, image loading using Class.getResourceAsStream()
returns null (No idea why)
Tutorial Island code needs updating to match https://github.com/Explv/Tutorial-Island and any more Tutorial Island fixes that are required
"When my bot was fishing Salmon in Barbarian Village, powerlevelling (drop) it somehow managed to click use on the last fish. Then, it got stuck trying to click on the fishing spots, it went back and forth between two of these for some time until i stepped in and solved it for it."
So, if a quest has an area where the bot is supposed to go and talk to someone, it will go the area and try to find the person. If the person is out of the specified area it, then it will go and talk to the npc but then realize it's not in the area anymore and try to go to the area specified, therefore getting stuck in a look of going back and forth, should be a simple check if the bot is already talking to the npc.
How can we create new icons to match the existing theme? I have additional Task types but don't have a matching icon set to create the buttons.
Just as in #28 it would be great to have the ability to set a timestamp for when the break task should end.
I am having a similar problem now, it's pretty much the same error. But I can't use the Recourse button nor the GE button, and it gives me permissions denied in console.
The thing is that the summery file doesn't even exist. The script has not created any files or folders at all.
When I compile with Intellij the artifact is about 100MB less then when I compile with Eclipse and it crashes on start with the error that no tasks are found and the UI can't be loaded.
So I am compiling with Eclipse for now.
Might be related to #19 ?
OS: Arch Linux
Kernal: x86_64 Linux 4.20.0-arch1-1-ARCH
UPDATE: I don't think it has anything to do with permissions, but more so that it never generates the files. Since I can save/load just fine.
Log:
[ERROR][01/11 02:57:16 AM]: Uncaught exception! java.security.AccessControlException: access denied ("java.io.FilePermission" "/home/martin/osbot/data/explv_aio_rsbuddy_summary.json" "read") at java.security.AccessControlContext.checkPermission(AccessControlContext.java:472) at java.security.AccessController.checkPermission(AccessController.java:884) at java.lang.SecurityManager.checkPermission(SecurityManager.java:549) at org.osbot.bB.checkPermission(im:19) at java.lang.SecurityManager.checkRead(SecurityManager.java:888) at java.io.File.exists(File.java:814) at org.aio.activities.grand_exchange.GrandExchangeHelper.getAllGEItems(GrandExchangeHelper.java:38) at org.aio.gui.task_panels.ResourceTaskPanel.<init>(ResourceTaskPanel.java:33) at org.aio.gui.task_panels.TaskPanelFactory.createTaskPanel(TaskPanelFactory.java:9) at org.aio.gui.Gui.addTask(Gui.java:245) at org.aio.gui.Gui.lambda$3(Gui.java:97) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289) at java.awt.Component.processMouseEvent(Component.java:6539) at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) at java.awt.Component.processEvent(Component.java:6304) at java.awt.Container.processEvent(Container.java:2239) at java.awt.Component.dispatchEventImpl(Component.java:4889) at java.awt.Container.dispatchEventImpl(Container.java:2297) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476) at java.awt.Container.dispatchEventImpl(Container.java:2283) at java.awt.Window.dispatchEventImpl(Window.java:2746) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84) at java.awt.EventQueue$4.run(EventQueue.java:733) at java.awt.EventQueue$4.run(EventQueue.java:731) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) at java.awt.EventQueue.dispatchEvent(EventQueue.java:730) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109) at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190) at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235) at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233) at java.security.AccessController.doPrivileged(Native Method) at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233) at java.awt.Dialog.show(Dialog.java:1084) at java.awt.Component.show(Component.java:1671) at java.awt.Component.setVisible(Component.java:1623) at java.awt.Window.setVisible(Window.java:1014) at java.awt.Dialog.setVisible(Dialog.java:1005) at org.aio.gui.Gui.open(Gui.java:232) at org.aio.script.AIO.lambda$2(AIO.java:125) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:301) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
I have these both implemented but am not sure how widely they should be shared or if they're worth PRing. Without setting up your own DynamoDB instance you'd have to share my table for cloud config saves.
I also have a lot of bot analytics built into API Gateway -> Lambda -> Dynamo but unless I want to segment them by user and offer free cloud storage to folks, I'd have to offer the ability to config to your own instance.
@Explv what do you think? Do you want these added? I could make them generic but users would have to implement their own instances to consume them.
Users should be able to input a custom Area for certain activities e.g. Woodcutting
Sometimes the bot will get stuck trying to interact with the next obstacle.
The obstacle is on screen, and if you pause the script you are able to click it manually, but for some reason OSBot is unable to click it.
Due to low CPU mode and script break inconsistencies, a GE buy task can end up occurring twice. It would be nice to have a check box to ensure idempotency (make sure this buy task only occurs once / if we don't already have that item/quantity in our inventory or bank)
I have this added locally and am happy to contribute it, if it is something we want. The default value will be False.
So when I create quests I have noticed that sometimes if the bot stands outside a house, the door is open or it's clear to walk inside. And the rooftops are showing, it then keeps trying to hover over where it wants to click but it never clicks.
Fix proposal:
Turn off rooftops when a quest task starts, just to make sure the bot never gets stuck like this...
How do I set this up on intellij? I imported it into intellij, added osbot as a global library, marked the resource folder as the resource root and then built the artifact with the module output. But I get the following error when I run it on osbot:
I don't have this issue when I use the jars releases, so I am not sure what I am doing wrong? Thanks!
Currently after entering the rune essence mine, the bot will try to interact without walking. This can cause issues where the interaction gets stuck, as the rune ess is only partially on screen. We can resolve this by forcing the bot to walk to the ess, before trying to interact.
It would be great if the loop task had an option to set a timestamp, so that it would keep looping until that specific time.
Could either be with a specific date or just a time of the day.
This actually seems to not matter at all, it still tries to do things in the cut scene, like spam walking or attempt to logout and get stuck.
Seems like the completedConfigVal
is making it continue before the actual quest is done since the last config value is 5 but it changes to 5 even before the quest is fully complete.
Originally posted by @realpoke in https://github.com/_render_node/MDIzOlB1bGxSZXF1ZXN0UmV2aWV3VGhyZWFkMTQ5ODU0OTA0OnYy/pull_request_review_threads/discussion
9743d37#diff-db0627e4a7f2a8208a66c4edee1e0cd8
Could you do this commit please. Even if its manually and on your branch
On f2p, mirror mode (with delay set to 50ms), using pure essence, when returning from a run (have tested with air/mind/body runes), the script will Open the bank, deposit the runes, close the bank window, then reopen the bank window to withdraw the essence. The essence and runes are in the same bank tab. All settings default except F hotkeys.
[INFO][Bot #1][xx/xx xx:xx:01 PM]: WebWalkingEvent; Terminated because of break condition!
[INFO][Bot #1][xx/xx xx:xx::01 PM]: WebWalkingEvent; We have reached the final destination!
[INFO][Bot #1][xx/xx xx:xx:02 PM]: Mind tiara: 1
[INFO][Bot #1][xx/xx xx:xx:02 PM]: Pure essence: 28
[INFO][Bot #1][xx/xx xx:xx:09 PM]: Mind tiara: 1
[INFO][Bot #1][xx/xx xx:xx:09 PM]: Pure essence: 28
[INFO][Bot #1][xx/xx xx:xx:38 PM]: WebWalkingEvent; Terminated because of break condition!
[INFO][Bot #1][xx/xx xx:xx:35 PM]: WebWalkingEvent; We have reached the final destination!
[INFO][Bot #1][xx/xx xx:xx:37 PM]: Mind tiara: 1
[INFO][Bot #1][xx/xx xx:xx:37 PM]: Pure essence: 28
[INFO][Bot #1][xx/xx xx:xx:42 PM]: Mind tiara: 1
[INFO][Bot #1][xx/xx xx:xx:42 PM]: Pure essence: 28
[INFO][Bot #1][xx/xx xx:xx:31 PM]: WebWalkingEvent; Terminated because of break condition!
[INFO][Bot #1][xx/xx xx:xx:24 PM]: WebWalkingEvent; We have reached the final destination!
[INFO][Bot #1][xx/xx xx:xx:25 PM]: Mind tiara: 1
[INFO][Bot #1][xx/xx xx:xx:25 PM]: Pure essence: 28
[INFO][Bot #1][xx/xx xx:xx:30 PM]: Mind tiara: 1
[INFO][Bot #1][xx/xx xx:xx::30 PM]: Pure essence: 28
[INFO][Bot #1][xx/xx xx:xx:02 PM]: WebWalkingEvent; Terminated because of break condition!
[INFO][Bot #1][xx/xx xx:xx:54 PM]: WebWalkingEvent; We have reached the final destination!
[INFO][Bot #1][xx/xx xx:xx:55 PM]: Mind tiara: 1
[INFO][Bot #1][xx/xx xx:xx:55 PM]: Pure essence: 28
[INFO][Bot #1][xx/xx xx:xx:00 PM]: Mind tiara: 1
[INFO][Bot #1][xx/xx xx:xx::00 PM]: Pure essence: 28
Because of the change in the Event EnabledFixedModeEvent to Line 26
} else if (Tab.SETTINGS.isDisabled(getBot())) {
It can not execute probably in the Tutorial Settings section, because the Game says its disabled.
But it isn't, did a really messy workaround to fix it for me at least.
} else if (Tab.SETTINGS.isDisabled(getBot()) && getConfigs().get(281) == 1000) {
Better solution needs to be found.
Running the latest version, the version checker assumes the property file exists and throws FileNotFound
exception instead of creating it.
Have the user able to set their PathPreferenceProfile in the UI and have it applied to all/most webwalking events throughout the script.
If you try to do the Sell Task, without having any of the items, the Task will crash the complete script, GrandExchangeHelper line 225
I.e,
Note: These are all fixes I have in the works. I'll be opening PRs this weekend with the fixes.
What is your basis for versioning? We should try and respect Semantic Versioning
Not sure about this one. I haven't started looking into it, but it doesn't seem to work for me once I actually create a JAR and load it into the client.
Running the GUI code locally seems to work. Is there a permissions issue? Any help here would be appreciated.
Complete dialogue functionality is duplicated in a lot of places.
Requirements of the class:
Executable
DialogueCompleter(final String npcName, final Area area, final String... dialogueOptions)
DialogueCompleter(final String npcName, final String... dialogueOptions)
null
and NPC is null
setFailed()
with log message if NPC is null
and player is in area
For me it looked like the Task sometimes will open the GE instead of the Bank,
also sometimes the Task is to fast with withdrawing items, so they will not be in the inventory
Loop tasks don't properly repeat the first item, specifically when there are 7 items.
I've tried updating the java.policy to grant permissions but no dice. Is there anything you've had to do to get that working locally?
Having the ability to add a task where the bot goes to a location with specific item(s) and either waits for a specific person to trade it or goes and sends a trade request itself.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.