вырвано из своего сурса, много может быть лишнимСалам, мне нужен простенький исходник скинченджера.
for ( int i = 0; i < 8; i++ ) {
const auto& myWeapon = mem.Read<std::int32_t>( localPlayer + m_hMyWeapons + i * 0x4 ) & 0xFFF; // получаем оружие в руках ( инвентаре тоже )
const auto& enemyWeapon = mem.Read<std::int32_t>( enemyTeam + m_hMyWeapons );
const auto& entityWeapon = mem.Read<std::int32_t>( clientBase + dwEntityList + ( myWeapon - 1 ) * 0x10 ); // получаем оружие сущностей
if ( !entityWeapon )
continue;
const auto& weaponId = mem.Read<short>( entityWeapon + m_iItemDefinitionIndex ); // получаем definition index
// проверяем weaponId на доступные id оружий у игрока
if ( const auto& skin = std.GetWeaponPaint( weaponId ) ) {
const bool& needUpdate = mem.Read<std::int32_t>( entityWeapon + m_nFallbackPaintKit ) != skin; // переменная, позволяющая автоматически определить обновился ли скин на оружии
/*MemoryWrite<std::string>( entityWeapon + m_szCustomName, *customName );*/
mem.Write<std::int32_t>( entityWeapon + m_iItemIDHigh, -1 ); // записываем в память значение m_iItemIDHigh
// проверяем weaponId на AWP ( что бы не поставить на DLore StatTrak)
if ( weaponId != std.Weapons::AWP && weaponId != std.Weapons::M4A4 ) {
mem.Write<std::int32_t>( entityWeapon + m_nFallbackStatTrak, 999 ); // записываем в память значение m_nFallbackStatTrak
mem.Write<std::int32_t>( entityWeapon + m_iEntityQuality, 5 );
}
mem.Write<std::int32_t>( entityWeapon + m_nFallbackPaintKit, skin ); // записываем в память значение m_nFallbackPaintKit
mem.Write<float>( entityWeapon + m_flFallbackWear, 0.000001f ); // записываем в память значение m_flFallbackWear
if ( needUpdate == true ) {
mem.Write<std::int32_t>( clientState + 0x174, -1 ); // если скин не установлен ( needUpdate ) обновляем клиент игры
}
}
}
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz