GithubHelp home page GithubHelp logo

rockydliang / leaguepybot Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dorskfr/leaguepybot

0.0 0.0 0.0 56.53 MB

A Python computer vision bot for League Of Legends

License: MIT License

Python 100.00%

leaguepybot's Introduction

LeaguePyBot [Currently not functional]

Working on v2

Alpha footage: https://youtu.be/cwilX5sMFpA

Main goal features:

  • Client API to deal with the League Client using LCU API

    • Create lobby (custom, coop, normal, ranked)
    • Start Matchmaking and accept Ready Check
    • Champ select show intent
    • Champ select list of ban targets according to role
    • Champ select list of pick targets according to role
    • Command random player
    • Command all players (probably does not really work)
    • Report all players
    • Auto accept / dismiss all notifications (level up, missions, honor, etc.)
    • Auto accept rewards
    • Chain games
    • Retrieve basic account information such as level
    • Login and rotation over multiple accounts
  • Game API to use the in-game API to retrieve live game info

    • PlayerInfo: level, HP, gold, etc.
    • PlayerStats: AttackDamage, AttackSpeed, etc.
    • PlayerScore: CS, etc. (although not used for anything yet)
    • Members of the current game
    • Items, consumables and their slots
    • Game events, game timer
  • Vision

    • Mapping of the main zones (towers, shop, nexus) for both sides
    • Mapping of neutral units
    • Mapping of neutral locations (middle of lanes, rivers, etc.)
    • Computer Vision on the minimap to localize all 10 players on the map and remember close to which zone they were last seen
    • Computer Vision on 80% of the screen to identify units (minions, champions, buildings) and their team.
  • Bot Logic

    • Different conditions required to attack minions, champions or buildings
    • Watches health and can use healing items and spells
    • Watches health and can recall if low life
    • Watches gold and can recall if rich enough
  • Actions

    • Added basic movements: fall_back, go_to_lane, follow_allies, recall
    • Added basic combat: attack [safest, average, riskiest] position of [minion, champion, building]
    • Use of abilities based on target and mana / resource level
    • Use of consumable items, summoner spells
    • Actually understands what summoner spells do
    • Cross platform control of keyboard and mouse
    • Buy from shop a recommended build
  • Controller

    • Cross platform control of keyboard and mouse
    • Global killswitch to stop the program
    • Load hotkeys and settings from the game config files
  • NetInterface

    • Allow remote control
    • Allow deferring the template matching on the screenshots to a server

Other ideas :

  • headless client
  • helper tools for loot
  • load builds from online resources depending on champion
  • retrieve data dragon info per champ and load spell cooldowns
  • load item builds from online resources
  • retrieve data dragon item info

Notes

Personal project that I use to learn developing in Python. Initially using only Computer Vision with OpenCV, I am now trying to use the existing APIs to communicate with the client and the game.

Some potential use cases:

  • Level up an account to a certain level with coop games.
  • Track where the enemy jungler is and remember last position.
  • Never miss a ready check no matter how many times people dodge.
  • Report everyone in a game without clicking 45 times.
  • Get perma banned for using an unauthorized 3rd party tool.
  • Ideally one day, play against the bot to practice specific scenarii.

Disclaimer

LeaguePyBot isn’t endorsed by Riot Games and doesn’t reflect the views or opinions of Riot Games or anyone officially involved in producing or managing League of Legends. League of Legends and Riot Games are trademarks or registered trademarks of Riot Games, Inc. League of Legends © Riot Games, Inc.

leaguepybot's People

Contributors

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