I have been developing an EXTERNAL skin changer. I have set up the gui and everything but can't set up the skin changer part. I've been looking for a solution in several threads but can't really find any help. I'm sure that my offsets are up-to-date.
Code:
int main()
{
val.process = mem.getProcess("csgo.exe");
val.gameModule = mem.getModule(val.process, "client_panorama.dll");
val.engine = mem.getModule(val.process, "engine.dll");
val.localPlayer = mem.readMem<DWORD>(val.gameModule + offset.dwLocalPlayer);
if (val.localPlayer == NULL)
while (val.localPlayer == NULL)
val.localPlayer = mem.readMem<DWORD>(val.gameModule + offset.dwLocalPlayer);
int PaintKit = 0;
int Seed = 0;
const int entityQuality = 3;
const float fallbackWear = 0.0001f;
const int StatTrack = 1337;
for (int i = 0; i < 8; i++) {
int Weapon = mem.readMem<int>(val.localPlayer + netvar.m_hMyWeapons + i * 0x4) & 0xFFF;
Weapon = mem.readMem<int>(val.gameModule + offset.dwEntityList + (Weapon - 1) * 0x10);
short WeaponID = mem.readMem<short>(Weapon + netvar.m_iItemDefinitionIndex);
if (WeaponID == 0) { continue; }
std::cout << WeaponID << std::endl;
switch (WeaponID)
{
case 1: //Deagle
std::cout << "Deagle";
PaintKit = 37;
break;
case 4: //Glock
std::cout << "Glock";
PaintKit = 48;
break;
case 7: //AK47
std::cout << "AK";
PaintKit = 180;
Seed = 321;
break;
case 9: //AWP
std::cout << "AWP";
PaintKit = 446;
break;
case 16: //M4A4
std::cout << "M4A4";
PaintKit = 449;
break;
}
if (mem.readMem<int>(netvar.m_iItemIDHigh) == -1) { continue; }
mem.writeMem<int>(netvar.m_iItemIDHigh, -1);
mem.writeMem<int>(Weapon + netvar.m_nFallbackPaintKit, PaintKit);
mem.writeMem<int>(Weapon + netvar.m_nFallbackSeed, Seed);
mem.writeMem<int>(Weapon + netvar.m_nFallbackStatTrak, StatTrack);
mem.writeMem<float>(Weapon + netvar.m_flFallbackWear, fallbackWear);
if (StatTrack >= 0) {
mem.writeMem<int>(Weapon + netvar.m_iEntityQuality, 9);
}
else {
mem.writeMem<int>(Weapon + netvar.m_iEntityQuality, 0);
}
int ClientState = mem.readMem<int>(val.engine + offset.dwClientState);
mem.writeMem<int>(ClientState + offset.clientstate_delta_ticks, -1);
}
return 0;
}