Закинул в вики смещения, +кинул туда находки из-за бугра (гтафорумс)
http://gtamodding.ru/wiki/Адреса_Памяти_ (SA)#CVehicle_.28.D0.A2.D1.80.D0.B0.D0.BD.D1.81.D0.BF.D0.BE.D1.80.D1.82.29Добавлено (04.01.2014, 06:17)
---------------------------------------------
Сверил все функции из первого поста с оригинальными названиями:
0x6B4800 CAutomobile::ProcessAI(unsigned int &outFlags)
0x6BC930 CBike::ProcessAI(unsigned int &outFlags)
0x6C1470 CBmx::ProcessAI(unsigned int &outFlags)
0x436540 CCarCtrl::UpdateCarOnRails(CVehicle *car)
0x422590 CCarCtrl::StopCarIfNodesAreInvalid(CVehicle *car)
0x41B980 CAutoPilot::ModifySpeed(float speed) // (структура внутри CVehicle называется CAutoPilot, а CCarCtrl только содержит статические функции)
0x430050 CCarCtrl::GenerateOneRandomCar()
0x49D420 CTrafficLights::ShouldCarStopForBridge(CVehicle *car) // проверка
0x41C050 CCarAI::CarHasReasonToStop(CVehicle *car) // заставляет авто остановиться?
0x49D610 CTrafficLights::ShouldCarStopForLight(CVehicle *car, bool arg2) // проверка
Вот ещё что нашёл:
0x421FE0 CCarCtrl::ThisVehicleShouldTryNotToTurn(CVehicle *car) // проверка, что авто не должно разворачиваться на дороге?
0x422090 CCarCtrl::FindPathDirection(CNodeAddress node1, CNodeAddress node2, CNodeAddress node3, bool *resultDir) // получить направление пути (вперёд/назад)?
0x423FC0 CCarCtrl::SwitchVehicleToRealPhysics(CVehicle *car) // "включает" "правдивый" расчёт физики движения?
0x425B30 CCarCtrl::TestCollisionBetween2MovingRects(CVehicle *car1, CVehicle *car2, float angle1, float angle2, CVector *vec1, CVector *vec2) // проверка на наличие преград?
0x427740 CCarCtrl::PickNextNodeToFollowPath(CVehicle *car) // просчитать маршрут для авто, которое едет в точку назначения (GOTO_COORDS)
0x42C250 CCarCtrl::IsAnyoneParking() // проверка, есть ли авто, которых "паркуют"?
0x42CD10 CCarCtrl::RemoveDistantCars() // удалить авто, которые слишком далеко
0x42DE80 CCarCtrl::PickNextNodeRandomly(CVehicle *car) // рассчитать случайную точку маршрута
0x42EC90 CCarCtrl::DragCarToPoint(CVehicle *car, CVector *point) // перетаскиваем авто в точку
0x432B10 CCarCtrl::PickNextNodeAccordingStrategy(CVehicle *car) // получить маршрут для авто
0x4341C0 CCarCtrl::GenerateRandomCars() // генерация рандомных авто
0x434400 CCarCtrl::FindMaximumSpeedForThisCarInTraffic(CVehicle *car) // найти макс. скорость для авто на этой дороге?
0x426EF0 CCarCtrl::PickNextNodeToChaseCar(CVehicle *car, float targetX, float targetY, float targetZ, CVehicle *targetCar) // получить маршрут для авто, которое преследует другое авто
0x434790 CCarCtrl::SlowCarOnRailsDownForTrafficAndLights(CVehicle *car) // "тормознуть" авто в условиях трафика и светофоров?
0x44DB00 CCarPathLink::OneWayLaneOffset() // Получить ширину дороги?
Следующие функции названы, но мне сложно сказать, за что именно они отвечают, т.к. особо не смотрел в них:
0x425F70 CCarCtrl::TestCollisionBetween2MovingRects_OnlyFrontBumper(CVehicle *, CVehicle *, float, float, CVector *, CVector *)
0x428990 CCarCtrl::SteerAICarWithPhysicsTryingToBlockTarget_Stop(CVehicle *, float, float, float, float, float *, float *, float *, bool *)
0x428DE0 CCarCtrl::SteerAIBoatWithPhysicsAttackingPlayer(CVehicle *, float *, float *, float *, bool *)
0x42DAB0 CCarCtrl::IsThisAnAppropriateNode(CVehicle *, CNodeAddress, CNodeAddress, CNodeAddress, bool, bool)
0x42D0E0 CCarCtrl::SlowCarDownForOtherCar(CEntity *, CVehicle *, float *, float)
0x432420 CCarCtrl::SlowCarDownForCarsSectorList(CPtrList &, CVehicle *, float, float, float, float, float *, float)
0x42D4F0 CCarCtrl::SlowCarDownForObjectsSectorList(CPtrList &, CVehicle *, float, float, float, float, float *, float)
0x425440 CCarCtrl::SlowCarDownForPedsSectorList(CPtrList &, CVehicle *, float, float, float, float, float *, float)
0x436A90 CCarCtrl::SteerAICarWithPhysics_OnlyMission(CVehicle *, float *, float *, float *, bool *)
0x437C20 CCarCtrl::SteerAICarWithPhysics(CVehicle *)
0x41B950 CAutoPilot::RemoveOnePathNode()
Добавлено (04.01.2014, 06:29)
---------------------------------------------
Некоторые ID стратегий движения (смещение 0x2A в CAutoPilot):
Код
; enum eCarMission
MISSION_NONE = 0
MISSION_CRUISE = 1
MISSION_RAMPLAYER_FARAWAY = 2
MISSION_RAMPLAYER_CLOSE = 3
MISSION_BLOCKPLAYER_FARAWAY = 4
MISSION_BLOCKPLAYER_CLOSE = 5
MISSION_BLOCKPLAYER_HANDBRAKESTOP = 6
MISSION_WAITFORDELETION = 7
MISSION_GOTOCOORDS = 8
MISSION_GOTOCOORDS_STRAIGHT = 9
MISSION_EMERGENCYVEHICLE_STOP = 10
MISSION_STOP_FOREVER = 11
MISSION_GOTOCOORDS_ACCURATE = 12
MISSION_GOTOCOORDS_STRAIGHT_ACCURATE = 13
MISSION_GOTOCOORDS_ASTHECROWSWIMS = 14
MISSION_RAMCAR_FARAWAY = 15
MISSION_RAMCAR_CLOSE = 16
MISSION_BLOCKCAR_FARAWAY = 17
MISSION_BLOCKCAR_CLOSE = 18
MISSION_BLOCKCAR_HANDBRAKESTOP = 19
MISSION_HELI_FLYTOCOORS = 20
MISSION_ATTACKPLAYER = 21
MISSION_PLANE_FLYTOCOORS = 22
MISSION_HELI_LAND = 23
MISSION_SLOWLY_DRIVE_TOWARDS_PLAYER_1 = 24
MISSION_SLOWLY_DRIVE_TOWARDS_PLAYER_2 = 25
MISSION_BLOCKPLAYER_FORWARDANDBACK = 26
MISSION_PARKING_2D = 45
MISSION_PARKING_2E = 46
MISSION_PARKING_31 = 49
MISSION_PARKING_32 = 50