Code Monkey home page Code Monkey logo

explvs-aio's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

explvs-aio's Issues

Fishing Pike

Bot just stands around when trying to use it to fish pike.

Loop Task - Fails verification for saving

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

Romeo & Juliet - Death on Wizards

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.

Script does not start when run for second time

How to reproduce:

  1. Start the script
  2. Stop the script
  3. Start the script (without refreshing in script list) - script will crash

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)

Fix item dropping when misclick

"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."

Questing areas and talking

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.

Files not generated and file access denied

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)

Cloud based analytics and storage

  • It would be nice to be able to read/save configs from the cloud (on a per-user basis, backed by AWS)
  • It would be nice to be able to have helpers to persist analytics and events to the cloud

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.

Agility interactions sometimes get stuck

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.

Grand Exchange Tasks should have the option to be idempotent

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.

@realpoke @Explv @Azn2000

Webwalk bugging out when trying to click through rooftops

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...

Setting this up on Intellij

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:
capture
I don't have this issue when I use the jars releases, so I am not sure what I am doing wrong? Thanks!

Force bot to walk to closest rune ess

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.

Loop task can be set to a timestamp

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.

Quest config updates before quest is fully done, when quest ends with cut scene

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

Runecrafting - opens bank, deposits runes, closes bank then re-opens bank to withdraw essence.

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

Tutorial Island, failed to open settings

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.

Save/Load buttons don't do anything?

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.

Create generic `DialogueCompleter` class

Complete dialogue functionality is duplicated in a lot of places.

Requirements of the class:

  • Should extend Executable
  • Should have two constructors:
DialogueCompleter(final String npcName, final Area area, final String... dialogueOptions)

DialogueCompleter(final String npcName, final String... dialogueOptions)
  • Should only walk to area if area is not null and NPC is null
  • Should setFailed() with log message if NPC is null and player is in area

Trade task

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.