LView is a python based scripting platform for League of Legends. The engine is external that means it is not injected into leagues process. The engine is running in a separate process and reads the games state using ReadProcessMemory.
Key features of LView:
- Ability to create overlays and automatize gameplay using python scripts
- Performant ingame overlays/menus using a combination of directx, direct composition and dear imgui
- Static game data available at runtime. Data is unpacked directly from the game files. Taken from https://www.communitydragon.org/ .
- Undetectability. Since LView reads the game state externally the ban probability is close to 0. Currently since the start of the development there is no recorded case of a ban.
- A rich set of premade scripts. There are a lot of already implemented and tested gameplay scripts by default in LView and more are to come. Some of these scripts: orbwalker, spell tracker, champion tracker, map awareness, minimap drawings, skillshot drawings... etc
You need Visual Studio 2017 to compile this. Dependencies:
- python39: dlls and includes are already in project. You need to install python 3.9 for 32bits (Make sure you check the Add to PATH checkbox in the installer: https://www.python.org/ftp/python/3.9.0/python-3.9.0.exe)
- aws-lambda: dlls and includes are already in project (was used for authentication)
- directx 11: Must install directx end user runtimes: https://www.microsoft.com/en-us/download/details.aspx?id=35 .Extract this and run dxsetup
- boost::python. Due to the size of the boost libraries you must compile boost::python yourself:
- Download boost 1.75.0
- Unarchive it in LView/boost
- Go into LView/boost
- Run
bootstrap.bat
- Run
b2 --with-python link=shared toolset=msvc-14.1 address-model=32 variant=release
- You are done now compile the app on Release x86 (you need to compile boost::python on debug to compile on debug, which I didn't).
All LView & LView python scripts configurations reside in config.ini file. First you must set the path to the scripts folder with the following config (you can find the config.ini in LView folder):
::scriptsFolder=\<folder\>