Code Monkey home page Code Monkey logo

awayfromblox's Introduction

Away From Blox (AFB)

AutoHotkey scripts to specifically to help you when you're Away From (Ro)Blox

How to use (.exe file)

  1. Download latest release
  2. Double-click to run
    • Optionally, run as Administrator for input-blocking
  3. Press F1 to activate

How to use (.ah2 file)

  1. Install AutoHotkey v2 Beta or higher
  2. Download latest release
  3. Double-click to run
    • You may need to set file extension association to AHK v2 exe
    • Optionally, run as Administrator for input-blocking
  4. Press F1 to activate

TODO

See Issues

Contributing

See CONTRIBUTING.md

awayfromblox's People

Contributors

itznxthaniel avatar jaredkotoff avatar

Stargazers

 avatar

Watchers

 avatar

awayfromblox's Issues

Persistent status icon

Investigate if it is possible to add some kind of overlay or floating icon of the scripts running or paused status

Test Reconnection on more displays

Test the clicking reconnection button on different resolutions or DPIs
ImageSearch() is very brittle in the sense that resolution need to match what it's searching.

We may need to add additional images for ImageSearch() to work on a variety of devices

Node 12 deprecation warning

Node.js 12 actions are deprecated. For more information see: https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/. Please update the following actions to use Node.js 16: vimtor/action-zip, softprops/action-gh-release

This one may go away on its own since it's really: vimtor/action-zip and softprops/action-gh-release in the build.yml workflow causing these, but we should check back later to see if theres anything we need to do

Delay based on activity

Reduce interruptions to the user by trying to wait for gaps in usage

  1. try to determine if the user is currently doing something (kb and/or mouse movement)
    1. try to determine if the user is already playing roblox
    2. don't do anything, until next anti-kick interval
  2. delay automation using a separate timer that periodically rechecks for usage activity in very short intervals
  3. maximum wait time, that totals under the 20min max, eventually activates if needed to prevent being kicked even if the user is still doing something
    • this should guarantee at least one action per 20 mins

Possible incorrect window activating.

There is a possibility that another window contains 'Roblox' and AHK will activate that window instead.

I noticed this when debugging that I had Chrome opened with a Roblox tab and it activated Chrome instead.

Rejoin on failed Reconnection

If reconnection fails. The UI is left in a state where the only solution is to leave and restart the game.

We should handle this for them if we detect this state.

OCR

Implement OCR so we can get better information about state of the game.

First, we can replace Reconnection logic to use OCR instead of ImageSearch this will make it much more robust across various systems and resolutions. This would pretty much close this issue: #15

Second, we can handle more advanced issues of state or know when we need to wait for something to load. We can hopefully navigate the menus better. One example would be to navigate users to join back into a game after Reconnection has failed: #28

Reconnection doesn't always work

Quite often, it seems that the auto-click on the Reconnction button doesn't work. The mouse moves to the location, but the UI doesn't register the button being clicked.

I've observed the click working after manually moving or resizing the window

ahk2exe set-output deprecated warning

The 'set-output' command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/

Startup Config

We'll want something that allows a user to quickly setup how they want AFB to behave.

Some ideas:

  • Which plugin(s) to load
  • Overwrite default AFK break action (default: space key)
    • Additional basic level settings: repeat action, time between actions
  • Run as admin/don't run as admin (for BlockInput() support or for other situations that need this)
  • Disable/Enable persistent status icon (running or paused)

Fix toggling

Probably need to replace sleep()s with a timer that we can interrupt.

After, ensure that only 1 instance of the hotkey is running no matter how many times we toggle.
We also probably won't need the Reload() function anymore.

Plugins

We will probably want to build some kind of modularity or plugin system to create custom actions for different games or unique use-cases.

Keeping the core file "generic", fast acting, lightweight, mainly a method to startup and load different plugins

Remove custom ahk2exe action

I heavily modified [GitHub-Action-Ahk2Exe](https://github.com/nekocodeX/GitHub-Action-Ahk2Exe) action to support our AHK v2 script and to produce both 32 and 64 bit binaries.

Check back to see if there's any action that will natively support AHK v2 scripts

[CAP] Walk forward after reconnect

Custom module for CAP.
Should walk the user forward for some time to try to get to Forest. This is an improvement over sitting at spawn.

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.