From cdc8c8c1e36af8b20167bb7c01349debf0d0d05e Mon Sep 17 00:00:00 2001 From: hyy2400 <62869308+hydy100@users.noreply.github.com> Date: Sun, 16 Jun 2024 17:51:30 +0800 Subject: [PATCH 01/54] Update SkinDatabase.cpp 14.12 data Structure Update --- R3nzSkin/SkinDatabase.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/R3nzSkin/SkinDatabase.cpp b/R3nzSkin/SkinDatabase.cpp index c6461b5d..2eb708f1 100644 --- a/R3nzSkin/SkinDatabase.cpp +++ b/R3nzSkin/SkinDatabase.cpp @@ -11,7 +11,8 @@ void SkinDatabase::load() noexcept { - for (const auto& champion : cheatManager.memory->championManager->champions) { + for (auto j{ 0 }; j < cheatManager.memory->championManager->champions.size;++j) { + const auto& champion = cheatManager.memory->championManager->champions.list[j]; std::vector skins_ids; for (auto i{ 0 }; i < champion->skins.size; ++i) From 7feebb9557d8f62ce722c64885e21382975863d9 Mon Sep 17 00:00:00 2001 From: hyy2400 <62869308+hydy100@users.noreply.github.com> Date: Sun, 16 Jun 2024 17:52:30 +0800 Subject: [PATCH 02/54] Update ChampionManager.hpp 14.12 Data Structure Update --- R3nzSkin/SDK/ChampionManager.hpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/R3nzSkin/SDK/ChampionManager.hpp b/R3nzSkin/SDK/ChampionManager.hpp index 29064322..3d430099 100644 --- a/R3nzSkin/SDK/ChampionManager.hpp +++ b/R3nzSkin/SDK/ChampionManager.hpp @@ -4,8 +4,9 @@ #include "Champion.hpp" #include "Pad.hpp" +#include "RiotArray.hpp" class ChampionManager { PAD(0x18) - std::vector champions; + RiotArray champions; }; From b479fdff5267cd1ff7f00e73534fc575159742cb Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Wed, 19 Jun 2024 18:49:48 +0800 Subject: [PATCH 03/54] update offsets --- R3nzSkin/memory.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/R3nzSkin/memory.hpp b/R3nzSkin/memory.hpp index 3fb464b7..bb650f8d 100644 --- a/R3nzSkin/memory.hpp +++ b/R3nzSkin/memory.hpp @@ -60,12 +60,12 @@ class Memory { { { { - "48 8B 3D ? ? ? ? 48 3B CF" + "48 8B 05 ? ? ? ? 4C 8B D2 4C 8B C1" }, true, false, true, 0, &offsets::global::Player }, { { - "48 8B 05 ? ? ? ? 48 8B 78 08 8B 40 10 4C 8D 3C C7 49 3B FF" + "48 8B 1D ? ? ? ? E8 ? ? ? ? 48 8B 7B" }, true, false, true, 0, &offsets::global::ManagerTemplate_AIHero_ }, { From dd9a1bad04a8c2d5a808a29b613864ad9b297bb8 Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Mon, 24 Jun 2024 03:01:12 +0800 Subject: [PATCH 04/54] Update Hall of Fame Ahri mode --- R3nzSkin/SkinDatabase.hpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/R3nzSkin/SkinDatabase.hpp b/R3nzSkin/SkinDatabase.hpp index 83984dcd..98ada1cc 100644 --- a/R3nzSkin/SkinDatabase.hpp +++ b/R3nzSkin/SkinDatabase.hpp @@ -93,6 +93,7 @@ class SkinDatabase { { FNV("Katarina"), 29, 36, { "Dagger 1", "Dagger 2", "Dagger 3", "Dagger 4", "Dagger 5", "Dagger 6" }}, { FNV("Renekton"), 26, 32, { "Head off", "Head on", "Fins", "Ultimate" } }, { FNV("MissFortune"), 16, 16, { "Scarlet fair", "Zero hour", "Royal arms", "Starswarm" } }, - { FNV("Ezreal"), 5, 5, { "Level 1", "Level 2", "Level 3" } } + { FNV("Ezreal"), 5, 5, { "Level 1", "Level 2", "Level 3" } }, + { FNV("Ahri"), 86, 86, { "Level 1", "Level 2", "Level 3" } } }; }; From 509216ab2e4d4bcefb93465431f95fc3ad159fd1 Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Wed, 26 Jun 2024 13:55:45 +0800 Subject: [PATCH 05/54] 14.13 offsets Update --- R3nzSkin/memory.hpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/R3nzSkin/memory.hpp b/R3nzSkin/memory.hpp index bb650f8d..6b519df9 100644 --- a/R3nzSkin/memory.hpp +++ b/R3nzSkin/memory.hpp @@ -60,12 +60,12 @@ class Memory { { { { - "48 8B 05 ? ? ? ? 4C 8B D2 4C 8B C1" + "48 8B 1D ? ? ? ? 48 85 DB 74 15 48 81 C3" }, true, false, true, 0, &offsets::global::Player }, { { - "48 8B 1D ? ? ? ? E8 ? ? ? ? 48 8B 7B" + "48 8B 05 ? ? ? ? 45 33 E4 41 8B EC 48 8B 78 ? 8B 40 ?" }, true, false, true, 0, &offsets::global::ManagerTemplate_AIHero_ }, { @@ -95,7 +95,7 @@ class Memory { }, { { - "40 38 BB ? ? 00 00 0F 85 ? ? 00 00 66 C7 83 ? ? ? ? ? ? 0F 31 48 C1 E2 20 4C 8D 83 ? ? 00 00 48 0B C2 44 8B CF 48 89 44 24 38 8B D7" + "38 9F ? ? 00 00 75 47 66 C7 87 ? ? ? ? ? ? 0F 31 48 C1 E2 20 48 0B C2 88 87 ? ? 00 00 48 89 45 87 0F B6 45 88" }, false, true, false, 0, &offsets::AIBaseCommon::SkinId }, { From 967d2f687b58c7471f55b473913b59dc6b20bd02 Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Fri, 28 Jun 2024 02:08:13 +0800 Subject: [PATCH 06/54] Update memory.hpp Update MinionList --- R3nzSkin/memory.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R3nzSkin/memory.hpp b/R3nzSkin/memory.hpp index 6b519df9..5696f4c9 100644 --- a/R3nzSkin/memory.hpp +++ b/R3nzSkin/memory.hpp @@ -75,7 +75,7 @@ class Memory { }, { { - "48 8B 0D ? ? ? ? E8 ? ? ? ? E8 ? ? ? ? E8 ? ? ? ? 48 8B C8 48 8B 10" + "48 8B 0D ? ? ? ? E8 ? ? ? ? 48 8B 0D ? ? ? ? E8 ? ? ? ? E8 ? ? ? ? E8 ? ? ? ? 48 8B C8" }, true, false, true, 0, &offsets::global::ManagerTemplate_AIMinionClient_ }, { From e910d59a64d7bf3703e23ed6bf495cb6cb7a6f32 Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Wed, 17 Jul 2024 15:38:33 +0800 Subject: [PATCH 07/54] Update 14.13 SkinId --- R3nzSkin/memory.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R3nzSkin/memory.hpp b/R3nzSkin/memory.hpp index 5696f4c9..f9b17577 100644 --- a/R3nzSkin/memory.hpp +++ b/R3nzSkin/memory.hpp @@ -95,7 +95,7 @@ class Memory { }, { { - "38 9F ? ? 00 00 75 47 66 C7 87 ? ? ? ? ? ? 0F 31 48 C1 E2 20 48 0B C2 88 87 ? ? 00 00 48 89 45 87 0F B6 45 88" + "40 38 BB ? ? 00 00 0F 85 ? ? 00 00 66 C7 83 ? ? ? ? ? ? 0F 31 48 C1 E2 20 4C 8D 83 ? ? 00 00 48 0B C2 44 8B CF 48 89 44 24 38 8B D7" }, false, true, false, 0, &offsets::AIBaseCommon::SkinId }, { From 010de1f18dddf4fbcf0954b5367fca1b03a66880 Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Wed, 17 Jul 2024 15:39:05 +0800 Subject: [PATCH 08/54] Update 14.14 SkinId --- R3nzSkin/memory.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R3nzSkin/memory.hpp b/R3nzSkin/memory.hpp index f9b17577..5696f4c9 100644 --- a/R3nzSkin/memory.hpp +++ b/R3nzSkin/memory.hpp @@ -95,7 +95,7 @@ class Memory { }, { { - "40 38 BB ? ? 00 00 0F 85 ? ? 00 00 66 C7 83 ? ? ? ? ? ? 0F 31 48 C1 E2 20 4C 8D 83 ? ? 00 00 48 0B C2 44 8B CF 48 89 44 24 38 8B D7" + "38 9F ? ? 00 00 75 47 66 C7 87 ? ? ? ? ? ? 0F 31 48 C1 E2 20 48 0B C2 88 87 ? ? 00 00 48 89 45 87 0F B6 45 88" }, false, true, false, 0, &offsets::AIBaseCommon::SkinId }, { From c9cfdcfe04e2635d46ea34194d3907249cc2ceab Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Mon, 5 Aug 2024 23:30:54 +0800 Subject: [PATCH 09/54] 14.16_PBE_GetGoldRedirectTarget_Update --- R3nzSkin/memory.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R3nzSkin/memory.hpp b/R3nzSkin/memory.hpp index 5696f4c9..e07de2d2 100644 --- a/R3nzSkin/memory.hpp +++ b/R3nzSkin/memory.hpp @@ -125,7 +125,7 @@ class Memory { }, { { - "E8 ? ? ? ? 4C 3B F8 0F 94 C0" + "E8 ? ? ? ? 4C 3B F0 0F 94 C0" }, true, false, false, 0, &offsets::functions::GetGoldRedirectTarget } }; From afffe7d510301754523d87b1a5b064a0066d554d Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Wed, 7 Aug 2024 14:01:36 +0800 Subject: [PATCH 10/54] 14.16_PBE_SkinId_Update --- R3nzSkin/memory.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R3nzSkin/memory.hpp b/R3nzSkin/memory.hpp index e07de2d2..55a823d8 100644 --- a/R3nzSkin/memory.hpp +++ b/R3nzSkin/memory.hpp @@ -95,7 +95,7 @@ class Memory { }, { { - "38 9F ? ? 00 00 75 47 66 C7 87 ? ? ? ? ? ? 0F 31 48 C1 E2 20 48 0B C2 88 87 ? ? 00 00 48 89 45 87 0F B6 45 88" + "38 9F ? ? 00 00 75 4B 66 C7 87 ? ? ? ? 00 04 0F 31 48 C1 E2 20 48 0B C2 88 87 ? ? 00 00 48 89 44 24 38 0F B6 44 24 39 88 87 1D 13" }, false, true, false, 0, &offsets::AIBaseCommon::SkinId }, { From 227e13eaa30f60f21c994eadf5df9da5be93e3f5 Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Thu, 8 Aug 2024 17:51:34 +0800 Subject: [PATCH 11/54] 14.16_PBE_HeroList_Update --- R3nzSkin/memory.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R3nzSkin/memory.hpp b/R3nzSkin/memory.hpp index 55a823d8..aca6ac28 100644 --- a/R3nzSkin/memory.hpp +++ b/R3nzSkin/memory.hpp @@ -65,7 +65,7 @@ class Memory { }, { { - "48 8B 05 ? ? ? ? 45 33 E4 41 8B EC 48 8B 78 ? 8B 40 ?" + "48 8B 05 ? ? ? ? 48 8B 58 08 8B 40 10 48 8D 34 C3 48 3B DE 74 49" }, true, false, true, 0, &offsets::global::ManagerTemplate_AIHero_ }, { From e7982b67f9140d700bea8356a13a19ef7e66255b Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Wed, 14 Aug 2024 15:36:27 +0800 Subject: [PATCH 12/54] Update offsets.hpp --- R3nzSkin/offsets.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R3nzSkin/offsets.hpp b/R3nzSkin/offsets.hpp index 7d049ddd..69662077 100644 --- a/R3nzSkin/offsets.hpp +++ b/R3nzSkin/offsets.hpp @@ -15,7 +15,7 @@ namespace offsets { }; enum { Team = 0x3C, - Name = 0x60 + Name = 0x58 }; }; From e0a61a81e41271ac7eb6d625a390b6c0bd9c62b1 Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Wed, 14 Aug 2024 22:42:30 +0800 Subject: [PATCH 13/54] Update GUI.cpp Ensure that the configuration file is synchronized with the in-game settings. --- R3nzSkin/GUI.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/R3nzSkin/GUI.cpp b/R3nzSkin/GUI.cpp index 9233f880..bec05ca1 100644 --- a/R3nzSkin/GUI.cpp +++ b/R3nzSkin/GUI.cpp @@ -94,9 +94,10 @@ void GUI::render() noexcept ImGui::Text("Player Skins Settings:"); if (ImGui::Combo("Current Skin", &cheatManager.config->current_combo_skin_index, vector_getter_skin, static_cast(&values), values.size() + 1)) - if (cheatManager.config->current_combo_skin_index > 0) + if (cheatManager.config->current_combo_skin_index > 0) { player->change_skin(values[cheatManager.config->current_combo_skin_index - 1].model_name, values[cheatManager.config->current_combo_skin_index - 1].skin_id); - + cheatManager.config->save(); + } const auto playerHash{ fnv::hash_runtime(player->get_character_data_stack()->base_skin.model.str) }; if (const auto it{ std::ranges::find_if(cheatManager.database->specialSkins, [&skin = player->get_character_data_stack()->base_skin.skin, &ph = playerHash](const SkinDatabase::specialSkin& x) noexcept -> bool @@ -164,8 +165,10 @@ void GUI::render() noexcept auto& values{ cheatManager.database->champions_skins[champion_name_hash] }; if (ImGui::Combo(str_buffer, &fst->second, vector_getter_skin, static_cast(&values), values.size() + 1)) - if (fst->second > 0) + if (fst->second > 0) { hero->change_skin(values[fst->second - 1].model_name, values[fst->second - 1].skin_id); + cheatManager.config->save(); + } } footer(); ImGui::EndTabItem(); @@ -227,6 +230,7 @@ void GUI::render() noexcept if (const auto hero{ heroes->list[i] }; hero != player) hero->change_skin(hero->get_character_data_stack()->base_skin.model.str, 0); } + cheatManager.config->save(); } ImGui::hoverInfo("Sets the skins of all champions except the local player to the default skin."); if (ImGui::Button("Random Skins")) { @@ -249,6 +253,7 @@ void GUI::render() noexcept data = random(1ull, skinCount); hero->change_skin(skinDatabase[data - 1].model_name, skinDatabase[data - 1].skin_id); } + cheatManager.config->save(); } } ImGui::hoverInfo("Randomly changes the skin of all champions."); From 0e65e87a63a53d7bd8d0fab9b9e3f8c1af6fa361 Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Wed, 14 Aug 2024 22:49:02 +0800 Subject: [PATCH 14/54] Synchronize skins --- R3nzSkin/Hooks.cpp | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/R3nzSkin/Hooks.cpp b/R3nzSkin/Hooks.cpp index fd79ad51..571ee4c3 100644 --- a/R3nzSkin/Hooks.cpp +++ b/R3nzSkin/Hooks.cpp @@ -241,11 +241,45 @@ namespace d3d_vtable { cheatManager.logger->addLog("WndProc hooked!\n\tOriginal: 0x%X\n\tNew: 0x%X\n", &originalWndProc, &wndProc); } + static void updateAllHeroSkin() { + const auto player{ cheatManager.memory->localPlayer }; + const auto heroes{ cheatManager.memory->heroList }; + static const auto my_team{ player ? player->get_team() : 100 }; + auto& values{ cheatManager.database->champions_skins[fnv::hash_runtime(player->get_character_data_stack()->base_skin.model.str)] }; + + if (const auto stack{ player->get_character_data_stack() }; stack->base_skin.skin != values[cheatManager.config->current_combo_skin_index - 1].skin_id) { + player->change_skin(values[cheatManager.config->current_combo_skin_index - 1].model_name, values[cheatManager.config->current_combo_skin_index - 1].skin_id); + } + + for (auto i{ 0u }; i < heroes->length; ++i) { + const auto hero{ heroes->list[i] }; + + if (hero == player) + continue; + + const auto champion_name_hash{ fnv::hash_runtime(hero->get_character_data_stack()->base_skin.model.str) }; + + if (champion_name_hash == FNV("PracticeTool_TargetDummy")) + continue; + + const auto hero_team{ hero->get_team() }; + const auto is_enemy{ hero_team != my_team }; + auto& config_array{ is_enemy ? cheatManager.config->current_combo_enemy_skin_index : cheatManager.config->current_combo_ally_skin_index }; + const auto [fst, snd] { config_array.insert({ champion_name_hash, 0 }) }; + auto& values{ cheatManager.database->champions_skins[champion_name_hash] }; + + if (const auto stack{ hero->get_character_data_stack() }; stack->base_skin.skin != values[fst->second - 1].skin_id) { + hero->change_skin(values[fst->second - 1].model_name, values[fst->second - 1].skin_id); + } + } + } + static void render() noexcept { const auto client{ cheatManager.memory->client }; if (client && client->game_state == GGameState_s::Running) { cheatManager.hooks->init(); + updateAllHeroSkin(); if (cheatManager.gui->is_open) { ::ImGui_ImplDX11_NewFrame(); ::ImGui_ImplWin32_NewFrame(); @@ -259,6 +293,7 @@ namespace d3d_vtable { } } + struct dxgi_present { static long WINAPI hooked(IDXGISwapChain* p_swap_chain, UINT sync_interval, UINT flags) noexcept { From 5194b4896a9d7f4df1fd492e5f0016e6313776e0 Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Fri, 16 Aug 2024 01:23:11 +0800 Subject: [PATCH 15/54] Fixed an issue where other champions' skins would revert. --- R3nzSkin/Hooks.cpp | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/R3nzSkin/Hooks.cpp b/R3nzSkin/Hooks.cpp index 571ee4c3..b37df5a2 100644 --- a/R3nzSkin/Hooks.cpp +++ b/R3nzSkin/Hooks.cpp @@ -241,35 +241,34 @@ namespace d3d_vtable { cheatManager.logger->addLog("WndProc hooked!\n\tOriginal: 0x%X\n\tNew: 0x%X\n", &originalWndProc, &wndProc); } - static void updateAllHeroSkin() { +static void updateAllHeroSkin() { const auto player{ cheatManager.memory->localPlayer }; const auto heroes{ cheatManager.memory->heroList }; static const auto my_team{ player ? player->get_team() : 100 }; auto& values{ cheatManager.database->champions_skins[fnv::hash_runtime(player->get_character_data_stack()->base_skin.model.str)] }; - - if (const auto stack{ player->get_character_data_stack() }; stack->base_skin.skin != values[cheatManager.config->current_combo_skin_index - 1].skin_id) { + static const auto playerHash{ player ? fnv::hash_runtime(player->get_character_data_stack()->base_skin.model.str) : 0u }; + if (const auto stack{ player->get_character_data_stack() }; stack->base_skin.skin != values[cheatManager.config->current_combo_skin_index - 1].skin_id && playerHash != FNV("Kaisa")) { player->change_skin(values[cheatManager.config->current_combo_skin_index - 1].model_name, values[cheatManager.config->current_combo_skin_index - 1].skin_id); } for (auto i{ 0u }; i < heroes->length; ++i) { const auto hero{ heroes->list[i] }; - if (hero == player) continue; const auto champion_name_hash{ fnv::hash_runtime(hero->get_character_data_stack()->base_skin.model.str) }; - - if (champion_name_hash == FNV("PracticeTool_TargetDummy")) + if (champion_name_hash == FNV("PracticeTool_TargetDummy") && playerHash == FNV("Kaisa")) continue; - const auto hero_team{ hero->get_team() }; - const auto is_enemy{ hero_team != my_team }; - auto& config_array{ is_enemy ? cheatManager.config->current_combo_enemy_skin_index : cheatManager.config->current_combo_ally_skin_index }; - const auto [fst, snd] { config_array.insert({ champion_name_hash, 0 }) }; - auto& values{ cheatManager.database->champions_skins[champion_name_hash] }; + const auto is_enemy{ my_team != hero->get_team() }; + const auto& config_array{ is_enemy ? cheatManager.config->current_combo_enemy_skin_index : cheatManager.config->current_combo_ally_skin_index }; + const auto config_entry{ config_array.find(champion_name_hash) }; + if (config_entry == config_array.end()) + continue; - if (const auto stack{ hero->get_character_data_stack() }; stack->base_skin.skin != values[fst->second - 1].skin_id) { - hero->change_skin(values[fst->second - 1].model_name, values[fst->second - 1].skin_id); + if (config_entry->second > 0) { + const auto& values = cheatManager.database->champions_skins[champion_name_hash]; + hero->change_skin(values[config_entry->second - 1].model_name, values[config_entry->second - 1].skin_id); } } } From 2e6d3336264fdecfac3b37615de7103ce3699b6a Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Sun, 18 Aug 2024 14:37:56 +0800 Subject: [PATCH 16/54] Update README.md --- README.md | 55 ++++++++++++++++++++++------------------------------ README_zh.md | 38 ++++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+), 32 deletions(-) create mode 100644 README_zh.md diff --git a/README.md b/README.md index efb33fe2..dfb5a8cc 100644 --- a/README.md +++ b/README.md @@ -1,47 +1,38 @@ 
- [![C++](https://img.shields.io/badge/Language-C%2B%2B-%23f34b7d.svg?style=plastic)](https://en.wikipedia.org/wiki/C%2B%2B) - [![LOL](https://img.shields.io/badge/Game-League%20of%20Legends-445fa5.svg?style=plastic)](https://na.leagueoflegends.com) - [![Windows](https://img.shields.io/badge/Platform-Windows-0078d7.svg?style=plastic)](https://en.wikipedia.org/wiki/Microsoft_Windows) - [![x64](https://img.shields.io/badge/Arch-x64-red.svg?style=plastic)](https://en.wikipedia.org/wiki/X86-64) - [![License](https://img.shields.io/github/license/R3nzTheCodeGOD/R3nzSkin.svg?style=plastic)](LICENSE) - [![Issues](https://img.shields.io/github/issues/R3nzTheCodeGOD/R3nzSkin.svg?style=plastic)](https://github.com/R3nzTheCodeGOD/R3nzSkin/issues) - ![Windows](https://github.com/R3nzTheCodeGOD/R3nzSkin/workflows/Windows/badge.svg?branch=main&event=push) +# R3nzSkin - # **R3nzSkin** +**> English <** | [简体中文](README_zh.md) - ## Announcement - R3nzSkin is **no longer supported** due to Riot Games implementing Valorant's Vanguard anti-cheat to League of Legends +
- +# Building - `R3nzSkin` is an internal skin changer for League of Legends. +1. Clone the source with `git clone --recursive https://github.com/hydy100/R3nzSkin.git` - + - **If you don't modify this source code, compiling and using it on Chinese servers will definitely result in a ban. The functionality is fine, but if you know how to modify it, you can make it as safe as the version I released.** -- Change the skin of your champion, your ward, other champions, towers, minions, and jungle monsters in the game. -- Automatic skin database update. -- Support for spectator mode. -- Change skins anytime and unlimited times in a single game. -- Supports all popular languages ​​in the world. -- In-game configuration with ImGui. -- JSON based configuration saving & loading +2. Build in Visual Studio 2019/2022 with configuration "Your Region - x64" -# Building - 1. Clone the source with `git clone --recursive https://github.com/R3nzTheCodeGOD/R3nzSkin.git` - 2. Build in Visual Studio 2019/2022 with configuration "Your Region - x64" + > Quick tip: RiotServers uses `SetWindowsHookEx` for injection. That's all there is to it, so please don't ask me about it anymore. # Usage - 1. Compile source or download a compiled version. - 2. Use `R3nzSkin_Injector.exe` or inject the built DLL into the game yourself. - - *Administrator* privilege may be needed if the injector failed to inject the DLL. - - League client can crash if `R3nzSkin` is injected before being in the game. - - A workaround is to not inject until you are in the game (you will need to be fast to not disrupt the game). - 3. Press Insert to bring up the menu. - 4. Select the skin for you, your teammates, enemies, and wards. + +1. Compile source or [download](https://github.com/hydy100/R3nzSkin/releases/latest) a compiled version. +2. Then check: [Instructions for use](https://hydy100.top/) ,I've written the detailed instructions inside. + +# About the project + +- I include some explanations for each release in the description of [Releases](https://github.com/hydy100/R3nzSkin/releases/latest). +- **I've hardly posted this project on any other platform, so if you share it, please help solve some issues rather than redirecting everything to me. Alternatively, provide [R3nzSkin](https://github.com/hydy100/R3nzSkin) so they can submit issues there.** +- **There is no paid version or any other versions, and there is no requirement to join any groups. I've released all the files, I just left a contact method.** +- The project is currently purely non-profit, just like the original [R3nzSkin](https://github.com/R3nzTheCodeGOD/R3nzSkin). I haven't made any money from it +- There are some issues I can't solve very well, so I welcome anyone with the ability to help resolve them, if you're willing. # Further optimizations - If your CPU supports AVX / AVX2 / AVX-512 instruction set, you can enable it in project settings. This should result in more performant code, optimized for your CPU. Currently SSE2 instructions are selected in project settings. + +If your CPU supports AVX / AVX2 / AVX-512 instruction set, you can enable it in project settings. This should result in more performant code, optimized for your CPU. Currently SSE2 instructions are selected in project settings. # Credits - This program is an improved and updated version of the B3akers/LeagueSkinChanger project. + +This program is an improved and updated version of the [R3nzTheCodeGOD](https://github.com/R3nzTheCodeGOD)/[R3nzSkin](https://github.com/R3nzTheCodeGOD/R3nzSkin) project. diff --git a/README_zh.md b/README_zh.md new file mode 100644 index 00000000..2c2f1e91 --- /dev/null +++ b/README_zh.md @@ -0,0 +1,38 @@ +
+ + # Re换肤 + +[English](README.md)|**> 简体中文 <** + +
+ +# 编译 + +1. 通过输入命令: `git clone --recursive https://github.com/hydy100/R3nzSkin.git`或者直接下载下载 [R3nzSkin](https://github.com/hydy100/R3nzSkin/archive/refs/heads/main.zip)到本地 + + - **如果你不修改这个源代码,在中国服务器上编译和使用它肯定会导致禁令。但如果你知道如何修改它,你可以让它和我发布的版本一样安全。** + +2. 在Visual Studio 2019/2022中构建,配置为 "你所在的地区 x64"。 + + > 小提示: 外服的注入方式是`SetWindowsHookEx`, 不需要说更多了,也别在问我了。 + +# 使用 + +1. 编译源代码或下载 [编译版本](https://github.com/hydy100/R3nzSkin/releases/latest)。 +2. 然后查看: [使用说明](https://hydy100.top/zh/) ,我在里面写了详细的说明。 + +# 关于这个项目 + +- 每次发布的一些说明我都写在[Releases](https://github.com/hydy100/R3nzSkin/releases/latest)的描述里。 +- **我几乎没在其他任何平台发过此项目,所以如果你转发了,请同时帮忙解决一些问题,而不是让他们都找到我,或者提供[此项目的地址](https://github.com/hydy100/R3nzSkin),让他提issues**。 +- **没有付费版或者其他版本,没有强制加群,只不过是留了个联系方式,所有的文件我都发布了**。 +- 项目目前纯公益,像原来的[R3](https://github.com/R3nzTheCodeGOD/R3nzSkin)一样,我没有通过这个项目赚过钱。 +- 有些问题我无法很好地解决,所以如果你愿意,我欢迎任何有能力帮助解决这些问题的人。 + +# 进一步优化 + +如果您的CPU支持AVX / AVX2 / AVX-512指令集,您可以在项目设置中启用它。这应该会产生性能更高的代码,并针对您的 CPU 进行了优化。目前在项目设置中选择了SSE2指令。 + +# 制作人员 + +该程序是 [R3nzTheCodeGOD](https://github.com/R3nzTheCodeGOD)/[R3nzSkin](https://github.com/R3nzTheCodeGOD/R3nzSkin) 项目的改进和更新版本。 \ No newline at end of file From aa2f91dcc6e8c8f34435d79752ad8162873a4d85 Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Sun, 18 Aug 2024 14:48:13 +0800 Subject: [PATCH 17/54] 14.17_PBE_Memory_Update --- R3nzSkin/memory.hpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/R3nzSkin/memory.hpp b/R3nzSkin/memory.hpp index aca6ac28..0984d788 100644 --- a/R3nzSkin/memory.hpp +++ b/R3nzSkin/memory.hpp @@ -95,7 +95,7 @@ class Memory { }, { { - "38 9F ? ? 00 00 75 4B 66 C7 87 ? ? ? ? 00 04 0F 31 48 C1 E2 20 48 0B C2 88 87 ? ? 00 00 48 89 44 24 38 0F B6 44 24 39 88 87 1D 13" + "38 9F ? ? 00 00 75 4B 66 C7 87 ? ? ? ? 00 04 0F 31 48 C1 E2 20 48 0B C2 88 87 ? ? 00 00 48 89 44 24 38 0F B6 44 24 39 88 87 ? 13" }, false, true, false, 0, &offsets::AIBaseCommon::SkinId }, { @@ -115,7 +115,7 @@ class Memory { }, { { - "E8 ? ? ? ? 8B 57 44" + "E8 ? ? ? ? 8B 57 34" }, true, false, false, 0, &offsets::functions::Riot__Renderer__MaterialRegistry__GetSingletonPtr }, { @@ -125,7 +125,7 @@ class Memory { }, { { - "E8 ? ? ? ? 4C 3B F0 0F 94 C0" + "E8 ? ? ? ? 4C 3B ? 0F 94 C0" }, true, false, false, 0, &offsets::functions::GetGoldRedirectTarget } }; From a9863bc35e2b1173bb5c46c98ff2b028024eb670 Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Sun, 18 Aug 2024 14:51:53 +0800 Subject: [PATCH 18/54] 14.17_PBE_Ward_Skin_Update Fixed the infinite loop caused by failing to terminate WardSkin. --- R3nzSkin/SkinDatabase.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R3nzSkin/SkinDatabase.cpp b/R3nzSkin/SkinDatabase.cpp index 2eb708f1..25416e54 100644 --- a/R3nzSkin/SkinDatabase.cpp +++ b/R3nzSkin/SkinDatabase.cpp @@ -59,7 +59,7 @@ void SkinDatabase::load() noexcept const auto ward_display_name{ "game_character_skin_displayname_SightWard_" + std::to_string(ward_skin_id) }; const auto ward_display_name_translated{ cheatManager.memory->translateString(ward_display_name.c_str()) }; - if (ward_display_name == ward_display_name_translated) + if (ward_display_name_translated == nullptr || ward_display_name_translated[0] == '\0') break; this->wards_skins.emplace_back(ward_skin_id, ward_display_name_translated); From 0a998bd669bdcc4e5a38e5f1de9fa9b50da00827 Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Sun, 18 Aug 2024 14:53:02 +0800 Subject: [PATCH 19/54] Update offsets.hpp --- R3nzSkin/offsets.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R3nzSkin/offsets.hpp b/R3nzSkin/offsets.hpp index 7d049ddd..69662077 100644 --- a/R3nzSkin/offsets.hpp +++ b/R3nzSkin/offsets.hpp @@ -15,7 +15,7 @@ namespace offsets { }; enum { Team = 0x3C, - Name = 0x60 + Name = 0x58 }; }; From f6b3256116f185f2697db0ab834d09680c3f074e Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Sun, 25 Aug 2024 14:24:20 +0800 Subject: [PATCH 20/54] Update encryption.hpp --- R3nzSkin/encryption.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/R3nzSkin/encryption.hpp b/R3nzSkin/encryption.hpp index 3a31a2a6..ce216809 100644 --- a/R3nzSkin/encryption.hpp +++ b/R3nzSkin/encryption.hpp @@ -6,12 +6,12 @@ #pragma pack(push, 4) template class xor_value { + T xor_key; + T values_table[4]; bool xor_key_was_init{ 0 }; std::uint8_t bytes_xor_count; std::uint8_t bytes_xor_count_8; - T xor_key; std::uint8_t value_index{ 0 }; - T values_table[4]; public: T decrypt() noexcept { From fc69e8360e9eef1c44b204e47e1f92f4fa0bda63 Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Sun, 25 Aug 2024 14:25:23 +0800 Subject: [PATCH 21/54] Update SkinId --- R3nzSkin/memory.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R3nzSkin/memory.hpp b/R3nzSkin/memory.hpp index 0984d788..ac803718 100644 --- a/R3nzSkin/memory.hpp +++ b/R3nzSkin/memory.hpp @@ -95,7 +95,7 @@ class Memory { }, { { - "38 9F ? ? 00 00 75 4B 66 C7 87 ? ? ? ? 00 04 0F 31 48 C1 E2 20 48 0B C2 88 87 ? ? 00 00 48 89 44 24 38 0F B6 44 24 39 88 87 ? 13" + "88 87 ? ? 00 00 48 89 44 24 38 0F B6 44 24 39 88 87 ? 13" }, false, true, false, 0, &offsets::AIBaseCommon::SkinId }, { From 5abd2552d0037cb2964cd6d56747d581f1d526ca Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Sun, 25 Aug 2024 14:27:00 +0800 Subject: [PATCH 22/54] Update Hooks.cpp --- R3nzSkin/Hooks.cpp | 33 --------------------------------- 1 file changed, 33 deletions(-) diff --git a/R3nzSkin/Hooks.cpp b/R3nzSkin/Hooks.cpp index b37df5a2..f83961de 100644 --- a/R3nzSkin/Hooks.cpp +++ b/R3nzSkin/Hooks.cpp @@ -241,44 +241,11 @@ namespace d3d_vtable { cheatManager.logger->addLog("WndProc hooked!\n\tOriginal: 0x%X\n\tNew: 0x%X\n", &originalWndProc, &wndProc); } -static void updateAllHeroSkin() { - const auto player{ cheatManager.memory->localPlayer }; - const auto heroes{ cheatManager.memory->heroList }; - static const auto my_team{ player ? player->get_team() : 100 }; - auto& values{ cheatManager.database->champions_skins[fnv::hash_runtime(player->get_character_data_stack()->base_skin.model.str)] }; - static const auto playerHash{ player ? fnv::hash_runtime(player->get_character_data_stack()->base_skin.model.str) : 0u }; - if (const auto stack{ player->get_character_data_stack() }; stack->base_skin.skin != values[cheatManager.config->current_combo_skin_index - 1].skin_id && playerHash != FNV("Kaisa")) { - player->change_skin(values[cheatManager.config->current_combo_skin_index - 1].model_name, values[cheatManager.config->current_combo_skin_index - 1].skin_id); - } - - for (auto i{ 0u }; i < heroes->length; ++i) { - const auto hero{ heroes->list[i] }; - if (hero == player) - continue; - - const auto champion_name_hash{ fnv::hash_runtime(hero->get_character_data_stack()->base_skin.model.str) }; - if (champion_name_hash == FNV("PracticeTool_TargetDummy") && playerHash == FNV("Kaisa")) - continue; - - const auto is_enemy{ my_team != hero->get_team() }; - const auto& config_array{ is_enemy ? cheatManager.config->current_combo_enemy_skin_index : cheatManager.config->current_combo_ally_skin_index }; - const auto config_entry{ config_array.find(champion_name_hash) }; - if (config_entry == config_array.end()) - continue; - - if (config_entry->second > 0) { - const auto& values = cheatManager.database->champions_skins[champion_name_hash]; - hero->change_skin(values[config_entry->second - 1].model_name, values[config_entry->second - 1].skin_id); - } - } - } - static void render() noexcept { const auto client{ cheatManager.memory->client }; if (client && client->game_state == GGameState_s::Running) { cheatManager.hooks->init(); - updateAllHeroSkin(); if (cheatManager.gui->is_open) { ::ImGui_ImplDX11_NewFrame(); ::ImGui_ImplWin32_NewFrame(); From 2e3ebf43379391870e29fd849393ebc658993df3 Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Sun, 25 Aug 2024 14:28:09 +0800 Subject: [PATCH 23/54] Update encryption.hpp --- R3nzSkin/encryption.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/R3nzSkin/encryption.hpp b/R3nzSkin/encryption.hpp index 3a31a2a6..ce216809 100644 --- a/R3nzSkin/encryption.hpp +++ b/R3nzSkin/encryption.hpp @@ -6,12 +6,12 @@ #pragma pack(push, 4) template class xor_value { + T xor_key; + T values_table[4]; bool xor_key_was_init{ 0 }; std::uint8_t bytes_xor_count; std::uint8_t bytes_xor_count_8; - T xor_key; std::uint8_t value_index{ 0 }; - T values_table[4]; public: T decrypt() noexcept { From 01b025fc52514e2e17ac7cb465591ce12bc4ea09 Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Sun, 25 Aug 2024 14:29:14 +0800 Subject: [PATCH 24/54] Update SkinId --- R3nzSkin/memory.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R3nzSkin/memory.hpp b/R3nzSkin/memory.hpp index aca6ac28..00d4d74b 100644 --- a/R3nzSkin/memory.hpp +++ b/R3nzSkin/memory.hpp @@ -95,7 +95,7 @@ class Memory { }, { { - "38 9F ? ? 00 00 75 4B 66 C7 87 ? ? ? ? 00 04 0F 31 48 C1 E2 20 48 0B C2 88 87 ? ? 00 00 48 89 44 24 38 0F B6 44 24 39 88 87 1D 13" + "88 87 ? ? 00 00 48 89 44 24 38 0F B6 44 24 39 88 87 ? 13" }, false, true, false, 0, &offsets::AIBaseCommon::SkinId }, { From 8b8df6ede04ed8f50b18ea82dd34ee10634ec65b Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Wed, 11 Sep 2024 21:17:44 +0800 Subject: [PATCH 25/54] 14.19_PBE_Update CharacterDataStack CharacterDataStack__Push --- R3nzSkin/memory.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/R3nzSkin/memory.hpp b/R3nzSkin/memory.hpp index ac803718..1d43c6b0 100644 --- a/R3nzSkin/memory.hpp +++ b/R3nzSkin/memory.hpp @@ -90,7 +90,7 @@ class Memory { }, { { - "48 8D 8D ? ? 00 00 44 8B 8C 24 ? ? 00 00" + "49 8D 8D ? ? 00 00 44 8B 8C 24 ? ? 00 00" }, false, true, false, 0, &offsets::AIBaseCommon::CharacterDataStack }, { @@ -105,7 +105,7 @@ class Memory { }, { { - "E8 ? ? ? ? 48 8D 8D ? ? 00 00 E8 ? ? ? ? 48 85 C0 74 ? 48 85 ED" + "E8 ? ? ? ? 49 8D 8D ? ? 00 00 E8 ? ? ? ? 48 85 C0 74 ? 4D 85 ED" }, true, false, false, 0, &offsets::functions::CharacterDataStack__Push }, { From 89b984844111add97340a439ed32323f52fb7811 Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Thu, 19 Sep 2024 13:34:07 +0800 Subject: [PATCH 26/54] 14.19_PBE_Update --- R3nzSkin/memory.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/R3nzSkin/memory.hpp b/R3nzSkin/memory.hpp index 1d43c6b0..ac803718 100644 --- a/R3nzSkin/memory.hpp +++ b/R3nzSkin/memory.hpp @@ -90,7 +90,7 @@ class Memory { }, { { - "49 8D 8D ? ? 00 00 44 8B 8C 24 ? ? 00 00" + "48 8D 8D ? ? 00 00 44 8B 8C 24 ? ? 00 00" }, false, true, false, 0, &offsets::AIBaseCommon::CharacterDataStack }, { @@ -105,7 +105,7 @@ class Memory { }, { { - "E8 ? ? ? ? 49 8D 8D ? ? 00 00 E8 ? ? ? ? 48 85 C0 74 ? 4D 85 ED" + "E8 ? ? ? ? 48 8D 8D ? ? 00 00 E8 ? ? ? ? 48 85 C0 74 ? 48 85 ED" }, true, false, false, 0, &offsets::functions::CharacterDataStack__Push }, { From 69468e7876e4483283a90c58db45f4fbd639fae8 Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Wed, 16 Oct 2024 21:25:33 +0800 Subject: [PATCH 27/54] Update offsets.hpp --- R3nzSkin/offsets.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R3nzSkin/offsets.hpp b/R3nzSkin/offsets.hpp index 69662077..09ced1b3 100644 --- a/R3nzSkin/offsets.hpp +++ b/R3nzSkin/offsets.hpp @@ -6,7 +6,7 @@ namespace offsets { namespace GameObject { namespace VTable { enum { - IsLaneMinion = 0xEB, // E8 ? ? ? ? 84 C0 0F 84 ? ? ? ? 39 1F + IsLaneMinion = 0xED, // E8 ? ? ? ? 84 C0 0F 84 ? ? ? ? 39 1F IsEliteMinion = IsLaneMinion + 0x1, IsEpicMinion = IsEliteMinion + 0x1, IsMinion = IsEpicMinion + 0x4, From 01ff4837496dfcf768d4e3e81e070253cab28392 Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Wed, 16 Oct 2024 21:27:07 +0800 Subject: [PATCH 28/54] 14.21_PBE_Update --- R3nzSkin/memory.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R3nzSkin/memory.hpp b/R3nzSkin/memory.hpp index ac803718..d3de759c 100644 --- a/R3nzSkin/memory.hpp +++ b/R3nzSkin/memory.hpp @@ -115,7 +115,7 @@ class Memory { }, { { - "E8 ? ? ? ? 8B 57 34" + "E8 ? ? ? ? 8B 57 34 45 33 C9" }, true, false, false, 0, &offsets::functions::Riot__Renderer__MaterialRegistry__GetSingletonPtr }, { From 45e0ebfd58a19ec8a8999d5107670bb8bb46d972 Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Mon, 4 Nov 2024 17:12:08 +0800 Subject: [PATCH 29/54] Update offsets.hpp --- R3nzSkin/offsets.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R3nzSkin/offsets.hpp b/R3nzSkin/offsets.hpp index 09ced1b3..381d84c1 100644 --- a/R3nzSkin/offsets.hpp +++ b/R3nzSkin/offsets.hpp @@ -6,7 +6,7 @@ namespace offsets { namespace GameObject { namespace VTable { enum { - IsLaneMinion = 0xED, // E8 ? ? ? ? 84 C0 0F 84 ? ? ? ? 39 1F + IsLaneMinion = 0xEE, // E8 ? ? ? ? 84 C0 0F 84 ? ? ? ? 39 1F IsEliteMinion = IsLaneMinion + 0x1, IsEpicMinion = IsEliteMinion + 0x1, IsMinion = IsEpicMinion + 0x4, From d84ad57a61aafded8cc0d1f0927715bf066ae09a Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Mon, 4 Nov 2024 17:14:40 +0800 Subject: [PATCH 30/54] Update memory.hpp --- R3nzSkin/memory.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/R3nzSkin/memory.hpp b/R3nzSkin/memory.hpp index d3de759c..4c800087 100644 --- a/R3nzSkin/memory.hpp +++ b/R3nzSkin/memory.hpp @@ -60,12 +60,12 @@ class Memory { { { { - "48 8B 1D ? ? ? ? 48 85 DB 74 15 48 81 C3" + "48 8B 3D ? ? ? ? 48 85 FF 74 15 48 81 C7" }, true, false, true, 0, &offsets::global::Player }, { { - "48 8B 05 ? ? ? ? 48 8B 58 08 8B 40 10 48 8D 34 C3 48 3B DE 74 49" + "48 8B 05 ? ? ? ? 48 8B 58 08 8B 40 10 48 8D 34 C3 48 3B DE 74 52" }, true, false, true, 0, &offsets::global::ManagerTemplate_AIHero_ }, { From 45b5af11564f62e8e6151fe9b1f9f153ef634d61 Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Thu, 7 Nov 2024 14:00:34 +0800 Subject: [PATCH 31/54] Update offsets.hpp --- R3nzSkin/offsets.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R3nzSkin/offsets.hpp b/R3nzSkin/offsets.hpp index 381d84c1..5b593e47 100644 --- a/R3nzSkin/offsets.hpp +++ b/R3nzSkin/offsets.hpp @@ -14,7 +14,7 @@ namespace offsets { }; }; enum { - Team = 0x3C, + Team = 0x24C, Name = 0x58 }; }; From 865471f1df3b776b4e1d314a2cc9805fee28b516 Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Thu, 7 Nov 2024 14:03:58 +0800 Subject: [PATCH 32/54] Update Hooks.cpp Fixed the issue where the default minion skin was set to the 'Arcane' skin, but after injection, it would revert to the original skin. --- R3nzSkin/Hooks.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R3nzSkin/Hooks.cpp b/R3nzSkin/Hooks.cpp index f83961de..1bd2619c 100644 --- a/R3nzSkin/Hooks.cpp +++ b/R3nzSkin/Hooks.cpp @@ -361,7 +361,7 @@ void Hooks::init() noexcept for (auto i{ 0u }; i < minions->length; ++i) { const auto minion{ minions->list[i] }; - if (minion->isLaneMinion()) { + if (minion->isLaneMinion() && cheatManager.config->current_minion_skin_index != -1) { if (player && player->get_team() == 200) changeSkinForObject(minion, cheatManager.config->current_minion_skin_index * 2 + 1); else From 0fbb8b7de5be240734d08777c5e53ab1033cea9a Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Thu, 7 Nov 2024 14:35:05 +0800 Subject: [PATCH 33/54] Update offsets.hpp --- R3nzSkin/offsets.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R3nzSkin/offsets.hpp b/R3nzSkin/offsets.hpp index 381d84c1..5b593e47 100644 --- a/R3nzSkin/offsets.hpp +++ b/R3nzSkin/offsets.hpp @@ -14,7 +14,7 @@ namespace offsets { }; }; enum { - Team = 0x3C, + Team = 0x24C, Name = 0x58 }; }; From 2b96ae590fc79f4a83f4fe549c2c92d0497157e4 Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Thu, 7 Nov 2024 14:36:21 +0800 Subject: [PATCH 34/54] Update Hooks.cpp --- R3nzSkin/Hooks.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R3nzSkin/Hooks.cpp b/R3nzSkin/Hooks.cpp index fd79ad51..624b8775 100644 --- a/R3nzSkin/Hooks.cpp +++ b/R3nzSkin/Hooks.cpp @@ -360,7 +360,7 @@ void Hooks::init() noexcept for (auto i{ 0u }; i < minions->length; ++i) { const auto minion{ minions->list[i] }; - if (minion->isLaneMinion()) { + if (minion->isLaneMinion() && cheatManager.config->current_minion_skin_index != -1) { if (player && player->get_team() == 200) changeSkinForObject(minion, cheatManager.config->current_minion_skin_index * 2 + 1); else From a291c07e63ae5cefb97660d5cfe8a54f9641a559 Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Sun, 17 Nov 2024 16:21:14 +0800 Subject: [PATCH 35/54] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index dfb5a8cc..34ee8852 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ - I include some explanations for each release in the description of [Releases](https://github.com/hydy100/R3nzSkin/releases/latest). - **I've hardly posted this project on any other platform, so if you share it, please help solve some issues rather than redirecting everything to me. Alternatively, provide [R3nzSkin](https://github.com/hydy100/R3nzSkin) so they can submit issues there.** - **There is no paid version or any other versions, and there is no requirement to join any groups. I've released all the files, I just left a contact method.** -- The project is currently purely non-profit, just like the original [R3nzSkin](https://github.com/R3nzTheCodeGOD/R3nzSkin). I haven't made any money from it +- The project is currently purely non-profit, just like the original [R3nzSkin](https://github.com/R3nzTheCodeGOD/R3nzSkin). - There are some issues I can't solve very well, so I welcome anyone with the ability to help resolve them, if you're willing. # Further optimizations From ee64bdba9e2a41312bced3eb9a14204d4b524bf9 Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Sun, 17 Nov 2024 16:21:31 +0800 Subject: [PATCH 36/54] Update README_zh.md --- README_zh.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README_zh.md b/README_zh.md index 2c2f1e91..b4f07cdc 100644 --- a/README_zh.md +++ b/README_zh.md @@ -26,7 +26,7 @@ - 每次发布的一些说明我都写在[Releases](https://github.com/hydy100/R3nzSkin/releases/latest)的描述里。 - **我几乎没在其他任何平台发过此项目,所以如果你转发了,请同时帮忙解决一些问题,而不是让他们都找到我,或者提供[此项目的地址](https://github.com/hydy100/R3nzSkin),让他提issues**。 - **没有付费版或者其他版本,没有强制加群,只不过是留了个联系方式,所有的文件我都发布了**。 -- 项目目前纯公益,像原来的[R3](https://github.com/R3nzTheCodeGOD/R3nzSkin)一样,我没有通过这个项目赚过钱。 +- 项目目前纯公益,像原来的[R3](https://github.com/R3nzTheCodeGOD/R3nzSkin)一样。 - 有些问题我无法很好地解决,所以如果你愿意,我欢迎任何有能力帮助解决这些问题的人。 # 进一步优化 @@ -35,4 +35,4 @@ # 制作人员 -该程序是 [R3nzTheCodeGOD](https://github.com/R3nzTheCodeGOD)/[R3nzSkin](https://github.com/R3nzTheCodeGOD/R3nzSkin) 项目的改进和更新版本。 \ No newline at end of file +该程序是 [R3nzTheCodeGOD](https://github.com/R3nzTheCodeGOD)/[R3nzSkin](https://github.com/R3nzTheCodeGOD/R3nzSkin) 项目的改进和更新版本。 From bbe0d1d0c35d2f29d278c4e4b2dea2ff4b18522e Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Mon, 25 Nov 2024 15:00:20 +0800 Subject: [PATCH 37/54] Update README.md --- README.md | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 34ee8852..d1d94444 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ 2. Build in Visual Studio 2019/2022 with configuration "Your Region - x64" - > Quick tip: RiotServers uses `SetWindowsHookEx` for injection. That's all there is to it, so please don't ask me about it anymore. + > Quick tip: RiotServers uses `SetWindowsHookEx` for injection, the original method cannot be injected,but it should be possible with a little effort. That's all there is to it, so please don't ask me about it anymore. # Usage @@ -29,6 +29,25 @@ - The project is currently purely non-profit, just like the original [R3nzSkin](https://github.com/R3nzTheCodeGOD/R3nzSkin). - There are some issues I can't solve very well, so I welcome anyone with the ability to help resolve them, if you're willing. +# About the releases +- Regarding the issue of dll size in releases, I just added some anti-cracking shells or compressed shells, and the dll function source code has been completely open source. +- Regarding the injector part in releases, it is not open source, but the previous tip also mentioned how to update it to make it available. It was not made clear before that the original version cannot be used, but the fact that I have never submitted any updates for the injector also indicates this issue. +- The releases and source codes of many open source projects are also different. I don't want anyone to kidnap me in the name of open source and ask me to do something meaningless. This goes against the original intention of open source. + +# About the open-source(ChatGPT said it well) +If someone tries to "hijack" you through the open-source spirit, demanding that you justify the rationale behind parts of the code that are not open-source, this actually contradicts the core values of the open-source spirit. The essence of open source is to encourage sharing and collaboration, but this doesn't mean every line of code has to be open. Open-source licenses allow developers to decide whether or not to make their code public, and in some cases, certain parts of the code may not be suitable for open-source due to commercial, privacy, or security reasons. + +Here are a few points to understand this: + +1. Balance between open-source and private code: Open-source does not require all code to be open. In many open-source projects, the core functionality or sensitive parts might remain private, while other parts are made public. Developers have the right to decide which parts to share and which to keep private. + +2. Respecting the developer's choice: If a developer chooses not to open-source a part of their code, that decision should be respected. It does not mean that the developer is not adhering to the open-source spirit; they may have other reasons, such as protecting commercial interests, maintaining security, or preventing abuse. + +3. Avoiding "hijacking" behavior: The open-source community's spirit is based on freedom, collaboration, and respect. If someone uses the "open-source spirit" as a pretext to force you to explain or change your code-sharing strategy, this behavior itself deviates from the true meaning of open source. Open-source is voluntary, and any form of coercion is not to be encouraged. + +In summary, the open-source spirit advocates freedom, sharing, and collaboration, but it does not mean that all code must be open. Every developer should have the right to decide the level of openness for their own code. + + # Further optimizations If your CPU supports AVX / AVX2 / AVX-512 instruction set, you can enable it in project settings. This should result in more performant code, optimized for your CPU. Currently SSE2 instructions are selected in project settings. From f0a301756ccc8480544c2cf586e5774d9b06498b Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Mon, 25 Nov 2024 15:10:44 +0800 Subject: [PATCH 38/54] Update README_zh.md --- README_zh.md | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/README_zh.md b/README_zh.md index b4f07cdc..9763bbc0 100644 --- a/README_zh.md +++ b/README_zh.md @@ -14,7 +14,7 @@ 2. 在Visual Studio 2019/2022中构建,配置为 "你所在的地区 x64"。 - > 小提示: 外服的注入方式是`SetWindowsHookEx`, 不需要说更多了,也别在问我了。 + > 小提示: 外服原来的方法无法注入,我目前用的注入方式是`SetWindowsHookEx`,花点心思应该能实现注入,不需要说更多了,也别在问我了。 # 使用 @@ -28,6 +28,23 @@ - **没有付费版或者其他版本,没有强制加群,只不过是留了个联系方式,所有的文件我都发布了**。 - 项目目前纯公益,像原来的[R3](https://github.com/R3nzTheCodeGOD/R3nzSkin)一样。 - 有些问题我无法很好地解决,所以如果你愿意,我欢迎任何有能力帮助解决这些问题的人。 +# 关于发布的文件 +- 关于releases里dll大小的问题,我只是加了一些防破解的壳或者压缩壳,dll已经完全开源了。 +- 关于注入器,它不是开源的,但小提示也提到了如何更新它让其可用,之前可能并没有说清楚原版不能用,但是从我根本没有提交过注入器的更新记录来看也说明了这个问题。 +- 很多开源项目的Releases和源码也都有差异,我并不希望有人拿开源的名义绑架我,让我做一些毫无意义的事情,这也违背了开源的初衷。 + +# 关于开源的看法(引用ChatGPT的话) +如果有人试图通过开源精神绑架你,要求你为没有开源的部分代码提供“合理性”或解释,实际上是违背了开源精神的核心价值。开源的本质是鼓励共享与合作,但这并不意味着每一行代码都必须开源。开源许可允许开发者决定是否公开代码,并且在某些情况下,有些部分的代码可能因为商业、隐私或安全等原因不适合开源。 + +以下几点可以帮助理解这一点: + +1. 开源与私有代码的平衡:开源并不要求所有代码都必须开源。许多开源项目中,核心功能或敏感部分可能是私有的,而其他部分则公开。开发者有权决定哪些部分共享,哪些部分保密。 + +2. 尊重开发者的选择:如果某个开发者选择不开源某部分代码,应该尊重其决定。这并不意味着该开发者不遵循开源精神,而是他可能有其他原因(如保护商业利益、维护安全性或避免滥用等)。 + +3. 避免“绑架”行为:开源社区的精神是基于自由、协作和尊重。如果有人以“开源精神”为名,试图强迫你交代或改变你的代码开放策略,这种行为本身就偏离了开源精神的真正意义。开源是自愿的,任何强制行为都是不应提倡的。 + +总结来说,开源精神倡导的是自由、分享和合作,但并不意味着所有代码都必须开源。每个开发者都应有权决定自己代码的开放程度。 # 进一步优化 From 5cd19f6146e48f91a6fd74d234430ffc097028e7 Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Mon, 25 Nov 2024 15:15:09 +0800 Subject: [PATCH 39/54] Update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index d1d94444..b635e455 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ 2. Build in Visual Studio 2019/2022 with configuration "Your Region - x64" - > Quick tip: RiotServers uses `SetWindowsHookEx` for injection, the original method cannot be injected,but it should be possible with a little effort. That's all there is to it, so please don't ask me about it anymore. + > Quick tip: The original method of RiotServers cannot be injected. The injection method I currently use is SetWindowsHookEx. With a little effort, the injection should be possible. There is no need to say more, and don’t ask me. # Usage @@ -31,10 +31,10 @@ # About the releases - Regarding the issue of dll size in releases, I just added some anti-cracking shells or compressed shells, and the dll function source code has been completely open source. -- Regarding the injector part in releases, it is not open source, but the previous tip also mentioned how to update it to make it available. It was not made clear before that the original version cannot be used, but the fact that I have never submitted any updates for the injector also indicates this issue. +- Regarding the injector part in releases, it is not open source, but the quick tip also mentioned how to update it to make it available. It was not made clear before that the original version cannot be used, but the fact that I have never submitted any updates for the injector also indicates this issue. - The releases and source codes of many open source projects are also different. I don't want anyone to kidnap me in the name of open source and ask me to do something meaningless. This goes against the original intention of open source. -# About the open-source(ChatGPT said it well) +# Regarding views on open source (quoting ChatGPT) If someone tries to "hijack" you through the open-source spirit, demanding that you justify the rationale behind parts of the code that are not open-source, this actually contradicts the core values of the open-source spirit. The essence of open source is to encourage sharing and collaboration, but this doesn't mean every line of code has to be open. Open-source licenses allow developers to decide whether or not to make their code public, and in some cases, certain parts of the code may not be suitable for open-source due to commercial, privacy, or security reasons. Here are a few points to understand this: From c5c281ca0fadfe91f186678fc82df6b01ea79acd Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Mon, 25 Nov 2024 15:21:22 +0800 Subject: [PATCH 40/54] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b635e455..20ed6d3b 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ 2. Build in Visual Studio 2019/2022 with configuration "Your Region - x64" - > Quick tip: The original method of RiotServers cannot be injected. The injection method I currently use is SetWindowsHookEx. With a little effort, the injection should be possible. There is no need to say more, and don’t ask me. + > Quick tip: The original method of RiotServers cannot be injected. The injection method I currently use is `SetWindowsHookEx`. With a little effort, the injection should be possible. There is no need to say more, and don’t ask me. # Usage From 8a162d57ae79b88c9aa098f7f615d0de80670337 Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Sat, 30 Nov 2024 13:37:31 +0800 Subject: [PATCH 41/54] Update memory.hpp --- R3nzSkin/memory.hpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/R3nzSkin/memory.hpp b/R3nzSkin/memory.hpp index 4c800087..1c96f8cd 100644 --- a/R3nzSkin/memory.hpp +++ b/R3nzSkin/memory.hpp @@ -65,17 +65,17 @@ class Memory { }, { { - "48 8B 05 ? ? ? ? 48 8B 58 08 8B 40 10 48 8D 34 C3 48 3B DE 74 52" + "48 8B 05 ? ? ? ? 48 8B ? 08 8B 40 ? ? 8D ? ? ? 3B ? 74" }, true, false, true, 0, &offsets::global::ManagerTemplate_AIHero_ }, { { - "48 8B 0D ? ? ? ? 48 69 D0 ? ? 00 00 48 8B 05" + "48 8B 0D ? ? ? ? 48 8D ? ? 48 8B 05" }, true, false, true, 0, &offsets::global::ChampionManager }, { { - "48 8B 0D ? ? ? ? E8 ? ? ? ? 48 8B 0D ? ? ? ? E8 ? ? ? ? E8 ? ? ? ? E8 ? ? ? ? 48 8B C8" + "48 8B 0D ? ? ? ? E8 ? ? ? ? 48 8B 0D ? ? ? ? E8 ? ? ? ? 48 8B 0D ? ? ? ? E8 ? ? ? ? E8 ? ? ? ? E8" }, true, false, true, 0, &offsets::global::ManagerTemplate_AIMinionClient_ }, { From 4b2d0650eaeced8847162314470d41b5b76969e3 Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Sat, 30 Nov 2024 13:38:12 +0800 Subject: [PATCH 42/54] Update offsets.hpp --- R3nzSkin/offsets.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R3nzSkin/offsets.hpp b/R3nzSkin/offsets.hpp index 5b593e47..c05a1971 100644 --- a/R3nzSkin/offsets.hpp +++ b/R3nzSkin/offsets.hpp @@ -14,7 +14,7 @@ namespace offsets { }; }; enum { - Team = 0x24C, + Team = 0x249, Name = 0x58 }; }; From dee5f4a41f89eb96d64d0de1de8c05ec121fb1aa Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Sat, 30 Nov 2024 13:43:44 +0800 Subject: [PATCH 43/54] Update GUI.cpp --- R3nzSkin/GUI.cpp | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/R3nzSkin/GUI.cpp b/R3nzSkin/GUI.cpp index 9233f880..0ab5dc4a 100644 --- a/R3nzSkin/GUI.cpp +++ b/R3nzSkin/GUI.cpp @@ -53,7 +53,7 @@ void GUI::render() noexcept const auto player{ cheatManager.memory->localPlayer }; const auto heroes{ cheatManager.memory->heroList }; - static const auto my_team{ player ? player->get_team() : 100 }; + static const auto my_team{ player ? player->get_team() : 1 }; static int gear{ player ? player->get_character_data_stack()->base_skin.gear : 0 }; static const auto vector_getter_skin = [](void* vec, const std::int32_t idx, const char** out_text) noexcept { @@ -177,10 +177,20 @@ void GUI::render() noexcept if (ImGui::Combo("Minion Skins:", &cheatManager.config->current_combo_minion_index, vector_getter_default, static_cast(&cheatManager.database->minions_skins), cheatManager.database->minions_skins.size() + 1)) cheatManager.config->current_minion_skin_index = cheatManager.config->current_combo_minion_index - 1; ImGui::Separator(); - if (ImGui::Combo("Order Turret Skins:", &cheatManager.config->current_combo_order_turret_index, vector_getter_default, static_cast(&cheatManager.database->turret_skins), cheatManager.database->turret_skins.size() + 1)) - changeTurretSkin(cheatManager.config->current_combo_order_turret_index - 1, 100); - if (ImGui::Combo("Chaos Turret Skins:", &cheatManager.config->current_combo_chaos_turret_index, vector_getter_default, static_cast(&cheatManager.database->turret_skins), cheatManager.database->turret_skins.size() + 1)) - changeTurretSkin(cheatManager.config->current_combo_chaos_turret_index - 1, 200); + if (ImGui::Combo("Order Turret Skins:", &cheatManager.config->current_combo_order_turret_index, vector_getter_default, static_cast(&cheatManager.database->turret_skins), cheatManager.database->turret_skins.size() + 1)) + { + if (cheatManager.config->current_combo_order_turret_index >= 17) + changeTurretSkin(cheatManager.config->current_combo_order_turret_index + 1, 1); + else + changeTurretSkin(cheatManager.config->current_combo_order_turret_index - 1, 1); + } + if (ImGui::Combo("Chaos Turret Skins:", &cheatManager.config->current_combo_chaos_turret_index, vector_getter_default, static_cast(&cheatManager.database->turret_skins), cheatManager.database->turret_skins.size() + 1)) + { + if (cheatManager.config->current_combo_order_turret_index >= 17) + changeTurretSkin(cheatManager.config->current_combo_order_turret_index + 1, 2); + else + changeTurretSkin(cheatManager.config->current_combo_order_turret_index - 1, 2); + } ImGui::Separator(); ImGui::Text("Jungle Mobs Skins Settings:"); for (auto& [name, name_hashes, skins] : cheatManager.database->jungle_mobs_skins) { From 2fb8fc0eb514b7ed0dc14e17272f2dad70d67d5d Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Sat, 30 Nov 2024 13:44:39 +0800 Subject: [PATCH 44/54] Update SkinDatabase.hpp --- R3nzSkin/SkinDatabase.hpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/R3nzSkin/SkinDatabase.hpp b/R3nzSkin/SkinDatabase.hpp index 98ada1cc..2a6a63f6 100644 --- a/R3nzSkin/SkinDatabase.hpp +++ b/R3nzSkin/SkinDatabase.hpp @@ -53,7 +53,8 @@ class SkinDatabase { "Temple of Lily and Lotus Turret", "Arcane Order Turret", "Arcane Chaos Turret", "Butcher's Bridge Order Turret", "Butcher's Bridge Chaos Turret", - "Howling Abyss Order Turret", "Howling Abyss Chaos Turret" + "Howling Abyss Order Turret", "Howling Abyss Chaos Turret", + "Zaun Order Turret","Piltover Chaos Turret","Powerful Turret" }; std::vector jungle_mobs_skins{ From 41577f0814d52288790738eaa13af52277108497 Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Sat, 30 Nov 2024 13:45:27 +0800 Subject: [PATCH 45/54] Update Hooks.cpp --- R3nzSkin/Hooks.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/R3nzSkin/Hooks.cpp b/R3nzSkin/Hooks.cpp index 624b8775..0702e08b 100644 --- a/R3nzSkin/Hooks.cpp +++ b/R3nzSkin/Hooks.cpp @@ -321,7 +321,7 @@ void Hooks::init() noexcept } } - const auto my_team{ player ? player->get_team() : 100 }; + const auto my_team{ player ? player->get_team() : 1 }; for (auto i{ 0u }; i < heroes->length; ++i) { const auto hero{ heroes->list[i] }; if (hero == player) @@ -361,7 +361,7 @@ void Hooks::init() noexcept const auto minion{ minions->list[i] }; if (minion->isLaneMinion() && cheatManager.config->current_minion_skin_index != -1) { - if (player && player->get_team() == 200) + if (player && player->get_team() == 2) changeSkinForObject(minion, cheatManager.config->current_minion_skin_index * 2 + 1); else changeSkinForObject(minion, cheatManager.config->current_minion_skin_index * 2); From d818d1331b4f2189ed04f3721bba90b48713e950 Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Sat, 30 Nov 2024 13:46:15 +0800 Subject: [PATCH 46/54] Update GameObject.hpp --- R3nzSkin/SDK/GameObject.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R3nzSkin/SDK/GameObject.hpp b/R3nzSkin/SDK/GameObject.hpp index 63c6694d..57751c8f 100644 --- a/R3nzSkin/SDK/GameObject.hpp +++ b/R3nzSkin/SDK/GameObject.hpp @@ -9,7 +9,7 @@ class GameObject { public: CLASS_GETTER_P(std::string, get_name, offsets::GameObject::Name) - CLASS_GETTER(std::int32_t, get_team, offsets::GameObject::Team) + CLASS_GETTER(std::int8_t, get_team, offsets::GameObject::Team) // Returns true for lane minions. [[nodiscard]] bool isLaneMinion() const noexcept { return CallVirtual(std::uintptr_t(this)); } From 243c226845456690fbc15fe72bb2cf9922e91b17 Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Wed, 4 Dec 2024 16:45:54 +0800 Subject: [PATCH 47/54] Update SkinDatabase.hpp --- R3nzSkin/SkinDatabase.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R3nzSkin/SkinDatabase.hpp b/R3nzSkin/SkinDatabase.hpp index 2a6a63f6..b3bbbba1 100644 --- a/R3nzSkin/SkinDatabase.hpp +++ b/R3nzSkin/SkinDatabase.hpp @@ -54,7 +54,7 @@ class SkinDatabase { "Arcane Order Turret", "Arcane Chaos Turret", "Butcher's Bridge Order Turret", "Butcher's Bridge Chaos Turret", "Howling Abyss Order Turret", "Howling Abyss Chaos Turret", - "Zaun Order Turret","Piltover Chaos Turret","Powerful Turret" + "Zaun Order Turret","Piltover Chaos Turret","Noxus Turret" }; std::vector jungle_mobs_skins{ From 08e0afef0d16d5187e39c896c01650c81f4ec659 Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Wed, 4 Dec 2024 16:46:33 +0800 Subject: [PATCH 48/54] Update memory.hpp --- R3nzSkin/memory.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R3nzSkin/memory.hpp b/R3nzSkin/memory.hpp index 1c96f8cd..56f9a804 100644 --- a/R3nzSkin/memory.hpp +++ b/R3nzSkin/memory.hpp @@ -110,7 +110,7 @@ class Memory { }, { { - "88 54 24 10 53 55 56 57 41 54 41 55 41 56 41" + "4C 8B DC 53 56 57 48 83 EC ? 49" }, true, false, false, 0, &offsets::functions::CharacterDataStack__Update }, { From 04cc9ae59f2ca4da6d73aea8f0524fb7b6a96990 Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Wed, 11 Dec 2024 14:35:11 +0800 Subject: [PATCH 49/54] Update SkinDatabase.hpp --- R3nzSkin/SkinDatabase.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R3nzSkin/SkinDatabase.hpp b/R3nzSkin/SkinDatabase.hpp index b3bbbba1..9ca8f5c5 100644 --- a/R3nzSkin/SkinDatabase.hpp +++ b/R3nzSkin/SkinDatabase.hpp @@ -54,7 +54,7 @@ class SkinDatabase { "Arcane Order Turret", "Arcane Chaos Turret", "Butcher's Bridge Order Turret", "Butcher's Bridge Chaos Turret", "Howling Abyss Order Turret", "Howling Abyss Chaos Turret", - "Zaun Order Turret","Piltover Chaos Turret","Noxus Turret" + "Zaun Order Turret","Piltover Chaos Turret" }; std::vector jungle_mobs_skins{ From 55850f1bb4380c20f915f854a800d730dc8cdaf4 Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Wed, 11 Dec 2024 17:59:02 +0800 Subject: [PATCH 50/54] Update Jinx_skin --- R3nzSkin/SkinDatabase.hpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/R3nzSkin/SkinDatabase.hpp b/R3nzSkin/SkinDatabase.hpp index 9ca8f5c5..7d927783 100644 --- a/R3nzSkin/SkinDatabase.hpp +++ b/R3nzSkin/SkinDatabase.hpp @@ -95,6 +95,7 @@ class SkinDatabase { { FNV("Renekton"), 26, 32, { "Head off", "Head on", "Fins", "Ultimate" } }, { FNV("MissFortune"), 16, 16, { "Scarlet fair", "Zero hour", "Royal arms", "Starswarm" } }, { FNV("Ezreal"), 5, 5, { "Level 1", "Level 2", "Level 3" } }, - { FNV("Ahri"), 86, 86, { "Level 1", "Level 2", "Level 3" } } + { FNV("Ahri"), 86, 86, { "Level 1", "Level 2", "Level 3" } }, + { FNV("Jinx"), 60, 60, { "With hood", "Without hood", "Parallel world" } } }; }; From c0138065f1fe01b6ee4c1d23f1b22086e0a29b38 Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Thu, 9 Jan 2025 13:58:11 +0800 Subject: [PATCH 51/54] Update SkinDatabase.hpp MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added three forms of Sett’s new skin Adjust the description of Jinx skin --- R3nzSkin/SkinDatabase.hpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/R3nzSkin/SkinDatabase.hpp b/R3nzSkin/SkinDatabase.hpp index 7d927783..ae97d68a 100644 --- a/R3nzSkin/SkinDatabase.hpp +++ b/R3nzSkin/SkinDatabase.hpp @@ -96,6 +96,7 @@ class SkinDatabase { { FNV("MissFortune"), 16, 16, { "Scarlet fair", "Zero hour", "Royal arms", "Starswarm" } }, { FNV("Ezreal"), 5, 5, { "Level 1", "Level 2", "Level 3" } }, { FNV("Ahri"), 86, 86, { "Level 1", "Level 2", "Level 3" } }, - { FNV("Jinx"), 60, 60, { "With hood", "Without hood", "Parallel world" } } + { FNV("Jinx"), 60, 60, { "With hood", "Parallel world", "Without hood" } }, + { FNV("Sett"), 66, 66, { "Blue", "Gold", "Red" } } }; }; From d41a35e44d21f840784de7395b944a9f5ecf34ce Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Thu, 9 Jan 2025 13:59:57 +0800 Subject: [PATCH 52/54] Update GUI.cpp bug fix --- R3nzSkin/GUI.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/R3nzSkin/GUI.cpp b/R3nzSkin/GUI.cpp index 363f6c90..b88b50fb 100644 --- a/R3nzSkin/GUI.cpp +++ b/R3nzSkin/GUI.cpp @@ -189,10 +189,10 @@ void GUI::render() noexcept } if (ImGui::Combo("Chaos Turret Skins:", &cheatManager.config->current_combo_chaos_turret_index, vector_getter_default, static_cast(&cheatManager.database->turret_skins), cheatManager.database->turret_skins.size() + 1)) { - if (cheatManager.config->current_combo_order_turret_index >= 17) - changeTurretSkin(cheatManager.config->current_combo_order_turret_index + 1, 2); + if (cheatManager.config->current_combo_chaos_turret_index >= 17) + changeTurretSkin(cheatManager.config->current_combo_chaos_turret_index + 1, 2); else - changeTurretSkin(cheatManager.config->current_combo_order_turret_index - 1, 2); + changeTurretSkin(cheatManager.config->current_combo_chaos_turret_index - 1, 2); } ImGui::Separator(); ImGui::Text("Jungle Mobs Skins Settings:"); From 063bd777b83eb16658e60155942ce64c66c32442 Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Sun, 12 Jan 2025 03:04:51 +0800 Subject: [PATCH 53/54] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 20ed6d3b..0d348297 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ 1. Clone the source with `git clone --recursive https://github.com/hydy100/R3nzSkin.git` - - **If you don't modify this source code, compiling and using it on Chinese servers will definitely result in a ban. The functionality is fine, but if you know how to modify it, you can make it as safe as the version I released.** + - **If you don't modify this source code, compiling and using it on Chinese servers will definitely result in a ban. The functionality is fine.** 2. Build in Visual Studio 2019/2022 with configuration "Your Region - x64" From d02a606ed309b16f79ce8cd99394dfe3a7e8a29b Mon Sep 17 00:00:00 2001 From: hydy100 <62869308+hydy100@users.noreply.github.com> Date: Sun, 12 Jan 2025 03:05:16 +0800 Subject: [PATCH 54/54] Update README_zh.md --- README_zh.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README_zh.md b/README_zh.md index 9763bbc0..3f7f2296 100644 --- a/README_zh.md +++ b/README_zh.md @@ -10,7 +10,7 @@ 1. 通过输入命令: `git clone --recursive https://github.com/hydy100/R3nzSkin.git`或者直接下载下载 [R3nzSkin](https://github.com/hydy100/R3nzSkin/archive/refs/heads/main.zip)到本地 - - **如果你不修改这个源代码,在中国服务器上编译和使用它肯定会导致禁令。但如果你知道如何修改它,你可以让它和我发布的版本一样安全。** + - **如果你不修改这个源代码,在中国服务器上编译和使用它肯定会导致禁令。** 2. 在Visual Studio 2019/2022中构建,配置为 "你所在的地区 x64"。