Code Monkey home page Code Monkey logo

pynxreader's Introduction

PyNXReader

Python Lib for reading information from Pokemon Sword and Shield and LGPE

This library is more focused on reading information for hunting/overlays/just knowing the info as opposed to botting.

This is a fork of PyNXBot by wwwwwwzx so credit to them and other who worked on the original project!

Warning

I won't be liable if your Switch get damaged or banned. Use at your own risk.

Images

PyNXReader OverworldReader DenReader LGPEReader

Features

  • Check Den info
  • Check Wild Pokémon info
  • Check Legendary Pokémon info
  • Check Calyrex Fusion Pokémon info
  • Check Party Pokémon info
  • Check Box Pokémon info
  • Check Save info
  • Check Overworld Pokémon info
  • Check LGPE Battle/Trade/Gift/Legendary/Active (Summary Screen, etc.) Pokémon info

Requirements

  • Python
    • Install z3-solver, pyserial, pyusb, pillow, pokebase, numpy, and discord via pip if ImportError happens. pip install z3-solver pip install pyserial pip install pyusb pip install pillow pip install pokebase pip install numpy pip install discord
  • CFW
  • Internet Connection
  • sys-botbase
  • joycon-sys-botbase For LGPE (you can only use one sys-botbase at a time)
  • ldn_mitm

Usage

  • The scripts to run are contained in the ./tests/ folder
  • Use CaptureSight/CheckDen script to check your Den id for the Den scripts
  • Scripts labeled "Check'name'.py" will display info on that type of encounter in the console
  • "GUIReader.py" Is the script you need to run if you want GUI reading of Wild/Legendary/Fusion Pokémon for SWSH or Battle/Trade/Gift/Legendary/Active Pokémon for LGPE.
  • "GUIOverworld.py" Is the script you need to run if you want GUI reading of Overworld Pokémon
  • The other scripts are for dumping info and can be mostly ignored for the average person

Usage: Overworld Scanner Discord Bot

Prerequisite of a discord bot account and a discord server.

In order to run the bot do the following:

  1. Copy config.template.json to config.json
  2. Fill out config.json with appropriate values.
  3. Execute tests/OverworldDiscordBot.py
  4. From the discord server, run the $download_emoji command, download the marks zip, and add them to your server.
  5. After the marks are added, you can run the $start command to start the bots scanner thread.
  • $start is used to start the scanner thread
  • $stop is used to close the scanner thread
  • $restart is used to close then re open the scanner thread
  • $shutdown is used to close the scanner thread and the discord bot

Credits:

  • olliz0r for his great sys-botbase which let open sockets on the Nintendo Switch
  • spacemeowx2 for his livesafer sys-module. It avoids Switch to disconnect from wifi once game is opened
  • Admiral-Fish for his great app RaidFinder always up to date
  • zaksabeast for his great SwSh Switch tool CaptureSight (many addresses/checks are taken from there)
  • Leanny for his great plugin PKHeX_Raid_Plugin (many addresses/checks are taken from there)
  • Kurt for his great app SysBot.NET (many addresses/checks are taken from there)
  • wwwwwwzx for creating and working on the original project
  • Real96 for working on the original project
  • Manu098 for Sys-EncounterBot (many addresses/checks are taken from there)
  • JSB for a lot of work on the discord bot!

Possible Future Improvements

PRs and help with these is always appreciated

Discord

  • Cleanup: Set embed_color via config file.
  • Cleanup: Set bot_prefix via config file.
  • Cleanup: Migrate non-class utility functions to a utility class.
  • Cleanup: Have shutdown/start commands edit the same message to avoid spamming chat
  • Documentation: Expand discord bot readme section to include a comprehensive guide
  • Feature: Discord help command
  • Feature: Update the configuration and reload it via discord command
  • Feature: Bot command to install emoji pack in a discord server
  • Feature: Add a filtering class to enable complex filters instead of a set of flags
  • Feature: Save statistics and display aggregate stats. Examples include: pokemon encounters, mark #s, shiny #s, etc.
  • Feature: Use the bot "activity" to update how many overworld pokemon have been scanned
  • Feature: include watchers to ping alongside filters. Is this useful for a bot attached to a single switch?
  • Feature: Make changing the formatting on the event cards easy for non-technical users.
  • Feature: Discord bot/mode for eggs
  • Feature: Discord bot/mode for lgpe
  • Feature: Discord bot/mode for other read things
  • Feature: Command to combine all .encounters files for statistics

SysDVR

  • Feature: Introduce SysDVR Support
  • Feature: Screenshot and Video Functionality
  • Feature: Overlay that can read various things
  • Feature: Make overlay fancy (pcalc inspiration?)
  • Feature: Keyboard and input support?

Other

  • Documentation: Full detailed guides on using tools
  • Feature: Dynamax Adventure reading
  • Feature: Gift Pokemon reading
  • Feature: Egg reading
  • Feature: GUI for Egg reading
  • Feature: Dex Rec Reading
  • Feature: (not likely) On the fly catch rate calculator
  • Feature: (minor) KO Counter Reading
  • Upgrade: Change GUI to something like PyQT

pynxreader's People

Contributors

lincoln-lm avatar real96 avatar wwwwwwzx avatar capitalism-sudo avatar jsb-pokemon avatar stevecooktu avatar leanny avatar richardpaulastley avatar

Stargazers

 avatar  avatar

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.