[DOC] Документация по адресам gta_sa.exe 1.0US - Страница 5 - Форум
Вторник, 06.12.2016, 11:09
Качественные скрипты, моды и дополнения для GTA без регистрации
Главная Регистрация Вход
Приветствую Вас, Гость · RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 5 из 5«12345
Форум » Игры серии ГТА » Справочная информация » [DOC] Документация по адресам gta_sa.exe 1.0US
[DOC] Документация по адресам gta_sa.exe 1.0US
DK22PacДата: Четверг, 14.06.2012, 15:26 | Сообщение # 61
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
0x8A6214 BYTE[4] traflight_colorRedTable
0x8A6218 BYTE[4] traflight_colorGreenTable
0xA9AD94 BYTE[4] traflight_colorBlueTable


Сообщение отредактировал DK22Pac - Четверг, 14.06.2012, 15:26
 
Den_spbДата: Пятница, 15.06.2012, 03:57 | Сообщение # 62
Создатель сайта
Группа: Администраторы
Сообщений: 1536
Статус: Offline
Цвета шестиугольников только не меняются - видимо записаны в другом месте.
 
DK22PacДата: Суббота, 15.09.2012, 20:59 | Сообщение # 63
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
0x6C6520 ; CHeli *__cdecl createHeliToFollowPed(CPed *ped, char bFlagHeliModel)
Если не ошибаюсь, то можно только 2 таких верта создать (если больше, то могут возникнуть глюки).
Code
0AA5: call 0x6C6520 2 2 bHeliType 0 ped 0@

bHeliType:
Code
0 - POLMAV (497)
1 - VCNMAV (488)

Модели нужно самостоятельно загрузить.

Добавлено (14.08.2012, 02:15)
---------------------------------------------
ox6A45C0 ; void __thiscall CAutomobile::ProcessOnWater(CAutomobile *this)
Чё-то типо того. Вызывается в ::preRender, если включен чит CarsOnWater.
В самой функции какие-то рассчёты с коллизией (а именно - suspension lines)

Добавлено (19.08.2012, 02:45)
---------------------------------------------
Разобрал кое-какие процедуры CVehicle\CAutomobile\CDamageManager, позже выложу.

Добавлено (15.09.2012, 20:59)
---------------------------------------------
0x8D31A4 someGun RwV3D <0.0, 0.5, 0.2>
Офсет выстрела для модели RcTiger
0x8D316C gunShotInterval_ms dd 60
Интервал выстрела


Сообщение отредактировал DK22Pac - Суббота, 15.09.2012, 21:01
 
muvДата: Вторник, 08.01.2013, 07:35 | Сообщение # 64
Группа: Пользователи
Сообщений: 6
Статус: Offline
Как вычислить фпс игры в клео?
 
Den_spbДата: Вторник, 08.01.2013, 23:16 | Сообщение # 65
Создатель сайта
Группа: Администраторы
Сообщений: 1536
Статус: Offline
Можно так:
Код
{$CLEO}
wait 0
while true
     32@ = 0
     wait 0
     0093: 32@ = integer 32@ to_float
     0@ = 1000.0  
     0073: 0@ /= 32@ // (float)  
     0092: 0@ = float 0@ to_integer  
     03F0: enable_text_draw 1
     045A: draw_text_1number 200.0 200.0 GXT 'NUMBER' number 0@  // ~1~
end
 
muvДата: Среда, 09.01.2013, 09:36 | Сообщение # 66
Группа: Пользователи
Сообщений: 6
Статус: Offline
а как ещё можно?
хотя не надо, так всё хорошо работает
и спасибо большое!


Сообщение отредактировал muv - Среда, 09.01.2013, 09:55
 
DK22PacДата: Пятница, 03.01.2014, 15:12 | Сообщение # 67
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
0x432B10 CCarCtrl::PickNextNodeAccordingStrategy(CVehicle *car)
Фактически, в этой функции происходит выбор следующей точки маршрута для автомобиля.
Для разных видов т.н. "Стратегии" (преследование, движения к пункту назначения, рандомная езда) - разный метод выбора. 
Код
switch ( car->m_autoPilot.m_nCarMission )
   {
     case MISSION_RAMPLAYER_FARAWAY:
     case MISSION_BLOCKPLAYER_FARAWAY:
     case MISSION_2B:
       result = CCarCtrl::PickNextNodeToChaseCar(car, *v3, v6->y, v5, v4);
       break;
     case MISSION_RAMCAR_FARAWAY:
     case MISSION_BLOCKCAR_FARAWAY:
     case MISSION_34:
     case MISSION_36:
     case MISSION_3D:
     case MISSION_41:
     case MISSION_42:
     case MISSION_43:
     case MISSION_44:
       result = CCarCtrl::PickNextNodeToChaseCar(car, v14->x, v12->y, v10->z, car->m_autoPilot.m_pTargetCar);
       break;
     case MISSION_GOTOCOORDS:
     case MISSION_GOTOCOORDS_ACCURATE:
       result = CCarCtrl::PickNextNodeToFollowPath(car);
       break;
     default:
       CCarCtrl::PickNextNodeRandomly(car);

0x436540 CCarCtrl::UpdateCarOnRails(CVehicle *car)
Это функция, которая обновляет положение автомобиля на дороге.
Код
CCurves::CalcCurvePoint(&v31, &v30, &in, &v28, v26, speedScaleFactor, &outPoint, &moveForce);
LODWORD(outPoint.z) = 0x41700000u;
CCarCtrl::DragCarToPoint(v1, &outPoint);
 
Den_spbДата: Пятница, 03.01.2014, 20:18 | Сообщение # 68
Создатель сайта
Группа: Администраторы
Сообщений: 1536
Статус: Offline
Цитата DK22Pac ()
0x432B10 CCarCtrl::PickNextNodeAccordingStrategy(CVehicle *car)

Спасибо за информацию.
Цитата DK22Pac ()
0x436540 CCarCtrl::UpdateCarOnRails(CVehicle *car)

Про эту функцию я знаю, у меня в базе она отмечена как "MovingCarsAndBikesByRoutes_cdecl proc near".
Если обратить внимание на начало функции, то там есть проверка текущей анимации автомобиля:
Код
.text:00436560 06C                 movsx   eax, byte ptr [esi+3BBh] ; AutomobileEvent

При записи по адресу CCarCtrl+0x3BB значения 24 (это значение игра записывает в структуру в тот момент, когда автомобиль или мотоцикл соприкасается с препятствием), перемещение транспортного средства бота по пути мгновенно прекращается. Так работает скрипт AutoTrafFix, опубликованный на данном сайте. Недостаток данного метода в том, что транспортное средство бота резко останавливается перед препятствием.
Тема на форуме, посвященная траффику автомобилей: http://modsforgta.ucoz.ru/forum/10-75-1
 
Den_spbДата: Воскресенье, 05.01.2014, 18:23 | Сообщение # 69
Создатель сайта
Группа: Администраторы
Сообщений: 1536
Статус: Offline
Существует опкод, предназначенный для включения и отключения стандартного траффика поездов (в т.ч. и трамваев)
Код
06D7: enable_train_traffic 0

Однако в некоторых условиях отключенный данным способом траффик может быть снова включен игрой.
Есть другой, радикальный способ отключения траффика - через игровую память:
Код
{$CLEO}
0A8C: write_memory 0x6F7AE8 size 2 value 0x01B0 virtual_protect 1          // mov al, 1
0A8C: write_memory 0x6F7AEA size 1 value 0x90 virtual_protect 1            // NOP
0A8C: write_memory 0x6F7AEB size 2 value 0x9090 virtual_protect 1          // NOP
0A93:
Эта информация может быть полезна разработчикам, создающим модификации на тему ж/д транспорта.
 
Форум » Игры серии ГТА » Справочная информация » [DOC] Документация по адресам gta_sa.exe 1.0US
Страница 5 из 5«12345
Поиск: