You are not logged in.
Offline
0A97: 0@ = car 0@ struct 0@ += 0x22 0A8D: 0@ = read_memory 0@ size 2 virtual_protect 0 //model index 0@ *= 4 0@ += 0xA9B0C8 // 0x92D4C8 CBaseModelInfo 0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0 //CModel 0@ += 0x5C 0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0 //vehicle struct 0@ += OFFSET 0A8D: 1@ = read_memory 0@ size 4 virtual_protect 0 //x offset 0@ += 4 0A8D: 2@ = read_memory 0@ size 4 virtual_protect 0 //y offset 0@ += 4 0A8D: 3@ = read_memory 0@ size 4 virtual_protect 0 //z offset
Помогите пожалуйста перенести всё это дело в VC. Я имею ввиду соответствующие адреса. Нашёл только CBaseModelInfo
Ну ещё model index, как я понимаю, могу получить опкодом 0441: 1@ = car 0@ model
0@ *= 4 - здесь также будет?
0x5C - ??
vehicle struct - я не нашёл в базе
Offline
http://www.gtamodding.com/wiki/Memory_A … eModelInfo
Это взято из моей апдейтнутой базы, там есть всё.
Last edited by DK22Pac (26-09-2014 13:57)
Plugin-SDK https://github.com/DK22Pac/plugin-sdk
Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv
Offline
Это взято из моей апдейтнутой базы, там есть всё.
Спасибо. Эту структуру я находил в базе. Что-то я запутался. По базе для SA это CModelCars. Так? А на vehicleStruct как потом выйти? Кого не затруднит - напишите полностью код для VC аналогичный выше написанному SA
EDIT:
разобрался
Last edited by kenking (28-10-2014 08:12)
Offline
Для 0AA5-0AA8 параметры всегда передаются в обратном порядке.
Ясно. Спасибо.
Ну и сразу ещё есть вопросы:
1) В некоторых функциях один из передаваемых параметров - componentID - это что?
2) doorNumber - это значения из диапазона 0-5 (0=капот, 1=багажник и т.д.) или я ошибаюсь?
3) Как всё же организовать поиск компонента по имени? Код, что выкладывал DK22Pac у меня не работает
С первым и вторым вопросами разобрался сам.
1) componentID
1 wheel_rf_dummy 2 wheel_rm_dummy 3 wheel_rb_dummy 4 wheel_lf_dummy 5 wheel_lm_dummy 6 wheel_lb_dummy 7 bump_front_dummy 8 bump_rear_dummy 9 wing_rf_dummy 10 wing_rr_dummy 11 door_rf_dummy 12 door_rr_dummy 13 wing_lf_dummy 14 wing_lr_dummy 15 door_lf_dummy 16 door_lr_dummy 17 bonnet_dummy 18 boot_dummy 19 windscreen_dummy
2) doorNumber
0 bonnet_dummy 1 boot_dummy 2 door_lf_dummy 3 door_rf_dummy 4 door_lr_dummy 5 door_rr_dummy
Вот с поиском компонента по имени всё та же засада
Offline
05E7: 1@ = car 0@ struct 1@ += 0x2A0 05E3: call_method 0x5A9820 struct 1@ num_params 2 pop 0 0 1 // SetComponentStatus
Почему-то состояние компонента не меняется. Точнее меняется, но после того, как этот компонент перейдёт в следующее состояние. Ну, например, компонент повреждён до степени отделения от авто (состояние 3). Вызываю SetComponentStatus, устанавливаю компоненту статус целого (состояние 0). При этом на авто компонент не появляется. Если авто столкнётся с чем-либо этим компонентом, то компонент появляется, но в повреждённом виде (состояние 1). Видимо после вызова SetComponentStatus нужны ещё, какие-то действия. Просьба прояснить этот момент.
Offline
Может функция работает только с дверьми?
5A9820 ; CDamageManager::SetDoorStatus(int, unsigned int)
Offline
Капот и багажник в эту группу компонентов входят
componentsStatus db 6 dup(?)
Попробовал на двери - тоже самое.
Offline
Капот и багажник относятся к doors (двери). CDamageManager::SetDoorStatus.
Plugin-SDK https://github.com/DK22Pac/plugin-sdk
Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv
Offline
Капот и багажник относятся к doors (двери). CDamageManager::SetDoorStatus.
Так и я про это же. У меня просто отмечена эта функция 5A9820 SetComponentStatus. Но
Почему-то состояние компонента не меняется. Точнее меняется, но после того, как этот компонент перейдёт в следующее состояние. Ну, например, компонент повреждён до степени отделения от авто (состояние 3). Вызываю SetComponentStatus, устанавливаю компоненту статус целого (состояние 0). При этом на авто компонент не появляется. Если авто столкнётся с чем-либо этим компонентом, то компонент появляется, но в повреждённом виде (состояние 1). Видимо после вызова SetComponentStatus нужны ещё, какие-то действия. Просьба прояснить этот момент.
Offline
Я тут попробовал ошибку 'database is corrupt' убрать тем же способом, что и про pirated version, а оно оказывается работает. Теперь все базы от 6.1 конвертируются без проблем в 6.5. Всем кто в пм спрашивал ссылку выслал снова.
Offline
Просьба подсказать адрес глобального таймера (аналогичному 0xB7CB84 - [dword] Глобальный таймер в ms в SA)
Last edited by kenking (11-12-2014 10:24)
Offline
Offline
Спасибо.
Offline
Кто-нибудь находил адрес CMatrix__rotateAroundY ? Вроде уже всё просмотрел, но не могу найти. В SA есть в VC тоже должен быть аналогичный адрес или его нет? Но CMatrix__rotateAroundX и CMatrix__rotateAroundZ есть. Разве могут два из трёх подобных адресов быть, а третьего нет?
Offline
kenking, вполне возможно.
Это в СА только остался весь "мусор" в ексе. В 3/вс есть только функции, которые реально используются в игре.
Plugin-SDK https://github.com/DK22Pac/plugin-sdk
Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv
Offline
DK, а нет желания выложить обновленные базы для III/VC, если таковые имеются?
Offline
Это в СА только остался весь "мусор" в ексе. В 3/вс есть только функции, которые реально используются в игре.
В GTA3 есть все три такие функции так же, как в SA. В вайсе нашёл только две из них. Либо плохо искал, либо их действительно только две из трёх, но это довольно странно.
Offline
Немного обновил, базу и затронул разные методы классов CMatrix, CCam, CCamera, CPad, CTxdStore, CFont, CSprite2d и прочие...
Offline
Круто, спасибо!
Единственное, сразу бросилось в глаза, опечатка в классе CPlacable
Offline
Единственное, сразу бросилось в глаза, опечатка в классе CPlacable
Это не моя работа))). Я строго писал имена методов в таком порядке CClass::Method. Кстати вот сейчас что еще нашел, буквально с под курсора:
text:0047BE8F CCam::Process_FollowPedWithMouse(CVector const&, float, float, float)
Судя по всему, это контроль мышки над камерой. А и забыл выше написать еще CRadar затронут в базе.
Last edited by VintProg_Pro (17-04-2015 00:42)
Offline