If you follow this Tutorial you’ll have an working InventoryChanger + Medal Changer + Rank Changer + Recommendation Changer.
WARNING: You could get some VAC authentication errors. In worst case untrusted. Nobody has been banned until now.
Please watch the tutorial video first and make sure that you have really followed all the steps exactly before posting your errors here.
Update: Step by Step Youtube Video Tutorial – How to add Inventory Changer + Rank Changer etc: https://www.youtube.com/watch?v=AXN5CiM5QlA&feature=youtu.be
here is the Link for my tutorial. If something won’t work please write it here so i can try to fix it.
Tutorial by Baseult
I know it looks like a mess but its actually really easy to add. You wont need more than 15 Minutes to C&P that even if your slow or new to C++.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dont Copy the _________ and ————- it is only there to make everything a little clearer!
———- = Source Code
__________ = next Step
Watch my Step by Step Tutorial – How to add the entire Inventory Changer + Rank Changer if you need help:
I used Indigo 3.6.2 Idk if you get errors with higher versions or other cheats like frosty, phook etc.
Ik my english sucks lmao.
Note: There i no GUI for changing the Medals / Rank / Items. Im to busy right now and i will add it when i have time for it.
Meanwhile you have to change everything manually in the inventoryChanger.cpp and Settings.cpp file but its also easy af.
You can also download the finished default Version of Indigo 3.6.2 + Inventory Changer and Rank Changer here. You dont need that if you want to add it in your own Paste: https://mega.nz/#!xHQ1lTAY!YxtcdBwmSwgVv3B2FrHcLRH2mIxryTwXiDbE8vyZ-ZM
4. Go to SDK.CPP and C&P this Code into “namespace SDK”
—————————————————————————————————————————————
ISteamGameCoordinator* Interfaces::g_pSteamGameCoordinator = nullptr;
ISteamUser* Interfaces::g_pSteamUser = nullptr;
—————————————————————————————————————————————
SS: https://ibb.co/musin7
5. Also in SDK.CPP C&P this Code below “return g_pConVar; }” at the bottom
—————————————————————————————————————————————
ISteamUser* Interfaces::SteamUser()
{
if (!g_pSteamUser) {
SteamGameCoordinator();
}
8. Go to CLIENT.CPP and C&P this in “namsepace Client”:
—————————————————————————————————————————————
CInventoryChanger* g_pInventoryChanger = nullptr;
CInventoryChanger1* g_pInventoryChanger1 = nullptr;
—————————————————————————————————————————————
SS: https://ibb.co/i4i0Zn
12. Go to CLIENT.H and C&P this:
—————————————————————————————————————————————
#include “InventoryChanger/InventoryChanger.h”
—————————————————————————————————————————————
ant this below “class CMisc;”
—————————————————————————————————————————————
class CInventoryChanger;
class CInventoryChanger1;
—————————————————————————————————————————————
SS: https://ibb.co/ce83LS
15. Go to SETTINGS.H and C&P this in “namespace Settings”:
————————————————————————————————————————————–namespace InventoryChanger {
extern bool enabled;
extern std::vector medals;
}
—————————————————————————————————————————————
SS: https://ibb.co/n4tnfS
_______________________________________________________________________________________________________________________________________
16. Go to HOOK.CPP and C&P this below “CSX::HOOK::VTable SurfaceTable”:
—————————————————————————————————————————————
CSX::Hook::VTable SteamGameCoordinatorTable;
—————————————————————————————————————————————
SS: https://ibb.co/eaxin7
_______________________________________________________________________________________________________________________________________
17. Stay in HOOK.CPP and C&P this above “bool WINAPI Hook_FireEventClientSideThink(IGameEvent* pEvent)”
((uint32_t*)ptr)[0] = k_EMsgGCClientHello | ((DWORD)1 << 31);
((uint32_t*)ptr)[1] = 0;
Message.SerializeToArray((void*)((DWORD)ptr + 8), Message.ByteSize());
bool result = Interfaces::SteamGameCoordinator()->SendMessage(k_EMsgGCClientHello | ((DWORD)1 << 31), ptr, Message.ByteSize() + 8) == k_EGCResultOK;
free(ptr);
return result;
}
---------------------------------------------------------------------------------------------------------------------------------------
SS: https://ibb.co/nEnG77
_______________________________________________________________________________________________________________________________________
19. Stay in HOOK.CPP and C&P this above "if (!GameEventTable.InitTable(Interfaces::GameEvent()))"
---------------------------------------------------------------------------------------------------------------------------------------
if (!SteamGameCoordinatorTable.InitTable(Interfaces::SteamGameCoordinator()))
return false;
SteamGameCoordinatorTable.HookIndex(0, Hook_SendMessage);
SteamGameCoordinatorTable.HookIndex(2, Hook_RetrieveMessage);
---------------------------------------------------------------------------------------------------------------------------------------
SS: https://ibb.co/bGPk0S
_______________________________________________________________________________________________________________________________________
20. Last Step: Stay in HOOK.CPP and C&P this below "if (Client::Initialize(g_pDevice))"
---------------------------------------------------------------------------------------------------------------------------------------
SendClientHello();
---------------------------------------------------------------------------------------------------------------------------------------
Also C&P this below ClientTable.UnHook();
---------------------------------------------------------------------------------------------------------------------------------------
SteamGameCoordinatorTable.UnHook();
---------------------------------------------------------------------------------------------------------------------------------------
SS: https://ibb.co/n8tdLS
_______________________________________________________________________________________________________________________________________
Just Compile the Project and your good to go. You can Change your Matchmaking Wins / Rank / recommendations in the InventoryChanger.cpp File
Message.set_player_level(42); // PLAYER LEVEL
Message.set_player_cur_xp(0); // PLAYER XP
PlayerRankingInfo* Ranking = Message.mutable_ranking();
Ranking->set_account_id(Interfaces::SteamUser()->GetSteamID().GetAccountID());
Ranking->set_rank_id(18); // PLAYER RANK 1-18 (18 = Global Elite)
Ranking->set_wins(1842); // PLAYER WINS IN MATCHMAKING
Note: There i no GUI for changing the Medals / Rank / Items. Im to busy right now and i will add it when i have time for it.
Meanwhile you have to change everything manually in the inventoryChanger.cpp and Settings.cpp file.
You can also download the finished default Version of Indigo 3.6.2 + Inventory Changer and Rank Changer here. You dont need that if you want to add it in your own Paste: https://mega.nz/#!xHQ1lTAY!YxtcdBwmSwgVv3B2FrHcLRH2mIxryTwXiDbE8vyZ-ZM
You can add a menu / gui for the Inventory Changer now. : https://pasters.cc/showthread.php?tid=2775
NOTICE: Make sure you add/change what I said in parts 1 & 2 to get the Rank Box Working
//Added int for Rank Box
1. *NEW* Go into Settings.cpp and add these under float hitmarkerAlpha; in namespace Misc
int misc_Rank = 0; //Go back here and change this from 1 to 0 so it starts off.
int misc_Level = 1;
int misc_XP = 1;
int misc_Wins = 1;
int misc_Friendly = 1;
int misc_Leader = 1;
int misc_Teacher = 1;
int misc_Rank_Combo; //Add this for Rank Box
2. Go into Settings.h and add these under extern float hitmarkerAlpha; in namespace Misc
extern int misc_Rank;
extern int misc_XP;
extern int misc_Wins;
extern int misc_Level;
extern int misc_Friendly;
extern int misc_Leader;
extern int misc_Teacher;
extern int misc_Rank_Combo; //Add this for Rank Box
3. Still in Settings.h under extern std::vector medals; add
8. Still in InventoryChanger.cpp add this under if (Item.equipped_state_size() <= 0)
continue;
Screenshot for reference: http://prntscr.com/iyvil6
if (Settings::InventoryChanger::equipped_medal_override)
{
CSOEconItemEquipped* EquippedState = Item.mutable_equipped_state(0);
if (EquippedState->new_class() == 0 && EquippedState->new_slot() == 55)
{
Item.clear_equipped_state();
10. Also in InventoryChanger.cpp paste this under bool CInventoryChanger1::PreSendMessage(uint32_t &unMsgType, void* pubData, uint32_t &cubData)
Screenshot for reference: http://prntscr.com/iyvewi
void CInventoryChanger::ApplySkins(CMsgSOCacheSubscribed::SubscribedType* pInventoryCacheObject)
{
if (!Settings::InventoryChanger::enabled) {
return;
}
int c = 20001;
for (auto weapon : Settings::InventoryChanger::weapons) {
CSOEconItem Skin;
13. *NEW* Also in Settings.cpp paste this under Misc::misc_FovModelView = CSX::Cvar::LoadCvar( MISC_TEXT , CVAR_MISC_FOV_MDL_VIEW , Misc::misc_FovModelView );
15. In InventoryChanger.cpp replace lines 106-119 with this: It should look like this afterwards: https://prnt.sc/ixyuny
Message.set_player_level(Settings::Misc::misc_Level); // PLAYER LEVEL
Message.set_player_cur_xp(Settings::Misc::misc_XP); // PLAYER XP
// TournamentPlayer
PlayerRankingInfo* Ranking = Message.mutable_ranking();
Ranking->set_account_id(Interfaces::SteamUser()->GetSteamID().GetAccountID());
Ranking->set_rank_id(Settings::Misc::misc_Rank); // PLAYER RANK 1-18 (18 = Global Elite)
Ranking->set_wins(Settings::Misc::misc_Wins); // PLAYER WINS IN MATCHMAKING