XenonH Опубликовано 4 июля, 2017 Поделиться Опубликовано 4 июля, 2017 (изменено) Как узнать какое оружие в руках? C#. CS:GO И какой оффсет за это отвечает? Изменено 4 июля, 2017 пользователем XenonH Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 4 июля, 2017 Поделиться Опубликовано 4 июля, 2017 Привет! У игрока есть несколько "слотов" под то, что можно выбрать. Для простоты я буду считать, что это винтовка, пистолет и нож. Одновременно выбрать можно только что-то одно. Исходя из того, что выбрано, будет рисоваться та или иная модель оружия (т.е. может быть несколько разных ножей/пистолетов/винтовок). Как это искать? Самое простое - поиском цифры слота. Предполагаешь, что винтовка - это 1, пистолет - это 2, а нож - это 3. Ищешь целое число при помощи Cheat Engine или другого сканера памяти. Если ничего не нашлось, то можно пробовать неизвестное изначально значение и "увеличилось/уменьшилось". Если и это не дало результатов, то неизвестное и "изменилось/не изменилось". В результате найдется адрес, который будет изменяться в зависимости от выбранного типа оружия. Второй вариант - найти структуру игрока, который это самое оружие держит, и изучить ее содержимое, выбирая при этом разные виды оружия. Удобнее всего при этом вообще больше ничего в игре не изменять, т.к. в структуре игрока содержится много всего и трудно будет найти нужное значение, если изменяться будет одновременно половина. Собственно, про оффсет от начала этой структуры ты (скорее всего) и говоришь в первом посте. Дальше уже - дело техники, что с этим делать. Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 4 июля, 2017 Поделиться Опубликовано 4 июля, 2017 (изменено) DT_BaseCombatWeapon -> m_iWeaponID DT_BasePlayer -> m_hActiveWeapon Изменено 4 июля, 2017 пользователем partoftheworlD Ссылка на комментарий Поделиться на другие сайты Поделиться
XenonH Опубликовано 4 июля, 2017 Автор Поделиться Опубликовано 4 июля, 2017 21 минуту назад, partoftheworlD сказал: DT_BaseCombatWeapon -> m_iWeaponID DT_BasePlayer -> m_hActiveWeapon А как сделать чтобы выводило в string. Допустим awp. Как высчитать? Мне нужно узнать какое оружие в руках у себя, чтобы проверять - Если в руках авп или ссг рисуем прицел. Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 4 июля, 2017 Поделиться Опубликовано 4 июля, 2017 (изменено) 8 минут назад, XenonH сказал: Допустим awp. Как высчитать? После получения id, сравниваешь их со списком ID оружия, рисуешь и пишешь что хочешь. Скрытый текст enum CSGO_Weapon_ID { weapon_none, weapon_deagle, weapon_elite, weapon_fiveseven, weapon_glock, weapon_p228, weapon_usp, weapon_ak47, weapon_aug, weapon_awp, weapon_famas, weapon_g3sg1, weapon_galil, weapon_galilar, weapon_m249, weapon_m3, weapon_m4a1, weapon_mac10, weapon_mp5navy, weapon_p90, weapon_scout, weapon_sg550, weapon_sg552, weapon_tmp, weapon_ump45, weapon_xm1014, weapon_bizon, weapon_mag7, weapon_negev, weapon_sawedoff, weapon_tec9, weapon_taser, weapon_hkp2000, weapon_mp7, weapon_mp9, weapon_nova, weapon_p250, weapon_scar17, weapon_scar20, weapon_sg556, weapon_ssg08, weapon_knifegg, weapon_knife, weapon_flashbang, weapon_hegrenade, weapon_smokegrenade, weapon_molotov, weapon_decoy, weapon_incgrenade, weapon_c4 }; Изменено 4 июля, 2017 пользователем partoftheworlD Ссылка на комментарий Поделиться на другие сайты Поделиться
XenonH Опубликовано 4 июля, 2017 Автор Поделиться Опубликовано 4 июля, 2017 Смотри как я высчитал. bClient + iweaponid и playerbase + activeweapon В weaponid одно и то же число а в activeweapon меняется но там примерно такое 19857986 Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 4 июля, 2017 Поделиться Опубликовано 4 июля, 2017 1 минуту назад, XenonH сказал: Смотри как я высчитал. bClient + iweaponid и playerbase + activeweapon В weaponid одно и то же число а в activeweapon меняется но там примерно такое 19857986 bClient это не DT_BaseCombatWeapon Ссылка на комментарий Поделиться на другие сайты Поделиться
XenonH Опубликовано 4 июля, 2017 Автор Поделиться Опубликовано 4 июля, 2017 Только что, partoftheworlD сказал: bClient это не DT_BaseCombatWeapon А что это? Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 4 июля, 2017 Поделиться Опубликовано 4 июля, 2017 Только что, XenonH сказал: А что это? Класс работающий с оружием и только с ним. Ссылка на комментарий Поделиться на другие сайты Поделиться
XenonH Опубликовано 4 июля, 2017 Автор Поделиться Опубликовано 4 июля, 2017 2 минуты назад, partoftheworlD сказал: Класс работающий с оружием и только с ним. Как его высчитать? Я не работал с таким классом. Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 4 июля, 2017 Поделиться Опубликовано 4 июля, 2017 (изменено) 2 минуты назад, XenonH сказал: Как его высчитать? Я не работал с таким классом. точно так же как и любой другой, выйти на него можешь на прямую через id(список я кинул выше), находишь значение, сканер указателей 1 уровень, найдешь указатель на weapon id. Который будет выглядеть как указатель на структуру(DT_BaseCombatWeapon) + смещение до id Изменено 4 июля, 2017 пользователем partoftheworlD Ссылка на комментарий Поделиться на другие сайты Поделиться
XenonH Опубликовано 4 июля, 2017 Автор Поделиться Опубликовано 4 июля, 2017 2 минуты назад, partoftheworlD сказал: точно так же как и любой другой, выйти на него можешь на прямую через id(список я кинул выше), находишь значение, сканер указателей 1 уровень, найдешь указатель на weapon id. Который будет выглядеть как указатель на структуру(DT_BaseCombatWeapon) + смещение до id А программно как? Вот bClient это Client.dll. Playerbase это bClient + dwPlayerBase Ссылка на комментарий Поделиться на другие сайты Поделиться
partoftheworlD Опубликовано 4 июля, 2017 Поделиться Опубликовано 4 июля, 2017 bClient + dwBaseCombatWeapon, найти dwBaseCombatWeapon 4 минуты назад, partoftheworlD сказал: выйти на него можешь на прямую через id(список я кинул выше), находишь значение, сканер указателей 1 уровень, найдешь указатель на weapon id. Который будет выглядеть как указатель на структуру(DT_BaseCombatWeapon) + смещение до id Ссылка на комментарий Поделиться на другие сайты Поделиться
XenonH Опубликовано 4 июля, 2017 Автор Поделиться Опубликовано 4 июля, 2017 2 часа назад, partoftheworlD сказал: bClient + dwBaseCombatWeapon, найти dwBaseCombatWeapon А как его найти? Не догоняю. Ссылка на комментарий Поделиться на другие сайты Поделиться
XenonH Опубликовано 4 июля, 2017 Автор Поделиться Опубликовано 4 июля, 2017 Что я делаю не так? Нашел нужный адрес. Он динамический. Нашел указатель. Вот скрин. Значение переменной m_WeaponID = 0x04FD76B8 Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 4 июля, 2017 Поделиться Опубликовано 4 июля, 2017 15 minutes ago, XenonH said: Что я делаю не так? Нашел нужный адрес. Он динамический. Нашел указатель. Вот скрин. Значение переменной m_WeaponID = 0x04FD76B8 Ты после смещения 0x2AC забыл прочитать полученный адрес. Ссылка на комментарий Поделиться на другие сайты Поделиться
XenonH Опубликовано 4 июля, 2017 Автор Поделиться Опубликовано 4 июля, 2017 4 минуты назад, keng сказал: Ты после смещения 0x2AC забыл прочитать полученный адрес. Спасибо за помощь Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения