Custom skins have become an integral part of the League of Legends community, allowing players to personalize their gaming experience.
RitoSkin aims to address these issues by providing an open-source solution for creating and managing custom skins. Our goal is to make skin customization accessible to all players.
We hold that gaming culture should be inclusive and accessible, not just a privilege for those who can afford it.
RitoSkin offers a comprehensive set of tools for skin customization. At its core, the project utilizes advanced methods to retrieve skin data from the game files. This data can then be modified, allowing users to create unique skins or alter existing ones.
A key feature of RitoSkin is its ability to convert these custom skins into a format compatible with the default game skins, ensuring seamless integration. To make the process user-friendly, we've developed a graphical interface that simplifies skin management tasks.
Additionally, RitoSkin includes an automated skin processing system. This feature organizes champion skins into a structured folder system, streamlining the management and application of skin modifications.
To get started with RitoSkin, follow these steps:
[!IMPORTANT]
RitoSkin requires Ritobin to function correctly. After downloading Ritobin, place it in theresources
folder of your RitoSkin installation.
RitoSkin relies on up-to-date hash lists to function optimally. To keep these hashes current, we recommend using the CommunityDragon Toolbox. Here's how to use it:
First, install the toolbox using pip:
pip3 install cdtb
Once installed, you can fetch the latest hashes with this command:
cdtb fetch-hashes
By default, the hashes will be downloaded to ~/.local/share/cdragon
on Unix systems or %LOCALAPPDATA%/cdragon
on Windows. If you prefer a custom location, you can specify it using the CDTB_HASHES_DIR
or CDRAGON_DATA
environment variables.
Using RitoSkin involves few steps:
RitoBin
and update the hashes.data/characters/
src/ritoskin_extractor/
After preparing the files, execute ritoskin_extractor.exe
.
Using RitoBin, this program goes inside each skin, convert it to
.py
, apply the necessary changes, convert it to.bin
again and store insideskins_extracted
inside of the champion folder. That's it. You'll have all fles needed inside of each skin folder. If you want to change the IDs to the skin name and compress to .fantome, you can runindex_output_names.py
. All compressed files will be available inside theoutput/
folder[!NOTE]
To ensure smooth execution of the Python script, you may need to install some external libraries usingpip install <requirement name>
Finally, use a custom skin loader to apply your newly created or modified skin in-game.
The RitoSkin project is organized as follows:
ritoskin/
├── src/
│ ├── ritoskin.cpp
│ └── ritoskin_gui.cpp
├── resources/
│ ├── bin/
│ └── scripts/
├── dev/
└── README.md
The src
directory contains the main application source code, including both the core functionality (ritoskin.cpp
) and the graphical user interface (ritoskin_gui.cpp
).
In the resources
folder, you'll find necessary files and scripts that support the project's functionality. This is also where you should place the Ritobin executable.
The dev
directory houses development-related files and partial source code, which may be of interest to contributors or advanced users looking to extend RitoSkin's capabilities.
[!WARNING]
Always ensure you're using the latest hash lists to avoid compatibility issues with recent game updates.
For those interested in diving deeper into League of Legends modding, we recommend exploring these related projects:
These resources have been invaluable in the development of RitoSkin and offer powerful tools for League of Legends modding.
If you have questions, suggestions, or concerns about RitoSkin, we're here to help. You can reach out to us on Discord: nylish.me
Disclaimer: RitoSkin is an unofficial tool and is not endorsed by Riot Games. Use it responsibly and always respect the terms of service of League of Legends.