Giter VIP home page Giter VIP logo

ngu-scripts's People

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar

ngu-scripts's Issues

Improve inventory logic

I added some rudimentary logic to detect how many inventory pages were unlocked in the glop script, in hindsight this should be added to the Inventory class instead, because it can be used in the questing logic to avoid only using page 1.

Navigation.menu("inventory")
for btn in coords.INVENTORY_PAGE:
    res = Inputs.check_pixel_color(*btn, coords.COLOR_INVENTORY_BG)
    if not res:
        Glop.inv_pages_unlocked += 1

Improve sniping methods for low respawn

Currently when you have sub 1s respawn the overhead and subsequent delay from check_pixel_color is causing performance issues. At 0.69s respawn and 0.71s move CD I saw an xp/h increase of ~25% when I removed the checks entirely and spam clicked via Inputs.click(fast=True).

While there might be ways to improve the performance of the get_pixel_color() method, I think it would be easier to just add an option to remove the checks for now.

This might also not be an issue on modern systems.

Add sanity checks

Currently the script is running "blind", it doesn't know if the actions succeed or not, this is one of the most common issues you run into with too low sleep values. If the game doesn't redraw fast enough when swapping between menus, actions will start failing.

I think one of the easiest ways to achieve this is to just add pixel checks to ensure you're actually where you want to be, if not, retry the action.

Move guffin settings

Since the guffin class now resides in classes/guffin.py it's unintuitive to have the settings stored in there instead of the start script guffin.py (should probably rename this) in the root directory.

Anotate API functions with types

Make parameter and return annotations on the functions on the classes/ directory
Ex.:
def ygg(eat_all=False, equip=0):
would become
def ygg(eat_all :bool =False, equip :int =0) -> None:

Misclicks when menu is scrolled

I just ran into an issue where I accidentally scrolled my menu down some while working on NGU and it messed up all the hit-boxes. It might be good to write an initial feature check for scrolling the menu all the way back up at the start of a run.

Can't seem to run this

Sorry if this is such a noob question but I followed everything listed but I can't seem to run this? tried running all .py files but the command prompt just closes after few seconds

any help will be appreciated

Add support for new spells

.409 added 2 new spells that needs to be implemented similar to iron pill and added to usersettings.py

Add transformation support for inventory

In case an item is transformable, transform it. It's probably for the best that this method will only check the supplied slots and not the entire inventory.

check_transform(3)

This will check slot 3 only if it's transformable.

Crash when getting PP stats

  File "main.py", line 100, in <module>
    tracker.progress()
  File "C:\Users\Johannes\Downloads\NGU-scripts\Python\Scripts\classes\stats.py"
, line 154, in progress
    self.__estimaterate.stop_watch()
  File "C:\Users\Johannes\Downloads\NGU-scripts\Python\Scripts\classes\stats.py"
, line 101, in stop_watch
    dpp = cpp - self.last_pp
TypeError: unsupported operand type(s) for -: 'NoneType' and 'int'```

Occurs when OCR fails to get a correct reading in the PP menu.

Add init class

We need to be able to see if autocast is enabled or not for each spell.

Improve window detection

Currently the window that is last in the top_windows list is chosen, if there are multiple values in that list, it's likely we will crash out.

Either we find a new, better method than the current implementation, or we check all eligible windows in the list for the game, instead of just the last.

.409 support

The .409 update changed a lot of graphical elements, it will take some time to iron out all the issues.

boost_equipment always boosts cube

Currently boost_equipment() has following code:

image

The code above will always boost infinity cube. It will avoid double boosting infinity cube by returning but nothing stops it from boosting cube if boost_cube = False.

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.