Как найти в дампе нужные смещения классов.

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
26 Ноя 2018
Сообщения
57
Реакции
18
Всем привет нужные эти смещения классов что бы менять там дамаг,затвор,скорость ножа и тд и тп.
IWeaponSpecific* GetIWeaponSpecific() { return (IWeaponSpecific*)*(DWORD64*)((DWORD64)this + 0x8); }
IWeaponExtraTwo* GetIWeaponParamsTwo() { return (IWeaponExtraTwo*)*(DWORD64*)((DWORD64)this + 0x60); }
CWeaponParamThree* GetIWeaponParamThree() { return (CWeaponParamThree*)*(DWORD64*)((DWORD64)this + 0x0068); }

Пробывал искать эти классы в sdk cryengine но нечего не нашел годного. И не представляю по каким данным искать смещения в IDA, что бы обновить.
Хелп please.)
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Всем привет нужные эти смещения классов что бы менять там дамаг,затвор,скорость ножа и тд и тп.
IWeaponSpecific* GetIWeaponSpecific() { return (IWeaponSpecific*)*(DWORD64*)((DWORD64)this + 0x8); }
IWeaponExtraTwo* GetIWeaponParamsTwo() { return (IWeaponExtraTwo*)*(DWORD64*)((DWORD64)this + 0x60); }
CWeaponParamThree* GetIWeaponParamThree() { return (CWeaponParamThree*)*(DWORD64*)((DWORD64)this + 0x0068); }

Пробывал искать эти классы в sdk cryengine но нечего не нашел годного. И не представляю по каким данным искать смещения в IDA, что бы обновить.
Хелп please.)

Не нужна тебе эта информация. Смещения у тебя есть, а большего тебе не надо. Игра быстрее закроется, чем они поменяются.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Последнее редактирование:
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
тогда все верно.
class IWeaponExtraTwo
{
public:
char pad_0x00[0x68];
TWeaponMap m_stats; // 0x68 "needIcon"
BOOL GetStat(uint32_t id, FLOAT* value)
{
if (uint32_t* stat = FindStat(id))
{
*(uint32_t*)value = stat[0] ^ stat[1];
return TRUE;
}
return FALSE;
}
BOOL SetStat(uint32_t id, FLOAT value)
{
if (uint32_t* stat = FindStat(id))
{
stat[0] = *(uint32_t*)&value ^ stat[1];
return TRUE;
}
return FALSE;
}
void FastKnife(FLOAT value)
{
SetStat(56, value);
SetStat(57, 0.1f);
SetStat(61, value);
SetStat(83, value);
SetStat(84, 0.01f);
SetStat(85, value);
}
void GetIScatter(FLOAT value)
{
SetStat(95, value);
SetStat(96, value);
}
private:
uint32_t* FindStat(uint32_t id)
{
TWeaponMap::iterator it = m_stats.find(id);
if (it != m_stats.end())
{
return it->second;
}
return 0;
}
};
Когда вызываю из этого класса метод SetStat то крашит
Вопрос как получить разные поля класса CPlayer
 
Последнее редактирование:
class IWeaponExtraTwo
{
public:
char pad_0x00[0x68];
TWeaponMap m_stats; // 0x68 "needIcon"
BOOL GetStat(uint32_t id, FLOAT* value)
{
if (uint32_t* stat = FindStat(id))
{
*(uint32_t*)value = stat[0] ^ stat[1];
return TRUE;
}
return FALSE;
}
BOOL SetStat(uint32_t id, FLOAT value)
{
if (uint32_t* stat = FindStat(id))
{
stat[0] = *(uint32_t*)&value ^ stat[1];
return TRUE;
}
return FALSE;
}
void FastKnife(FLOAT value)
{
SetStat(56, value);
SetStat(57, 0.1f);
SetStat(61, value);
SetStat(83, value);
SetStat(84, 0.01f);
SetStat(85, value);
}
void GetIScatter(FLOAT value)
{
SetStat(95, value);
SetStat(96, value);
}
private:
uint32_t* FindStat(uint32_t id)
{
TWeaponMap::iterator it = m_stats.find(id);
if (it != m_stats.end())
{
return it->second;
}
return 0;
}
};
Когда вызываю из этого класса метод SetStat то крашит
Вопрос как получить разные поля класса CPlayer
В каком хуке вызываешь?
 
Назад
Сверху Снизу