Управление транспортными средствами
В этой статье я расскажу о том, что можно делать с машинами. Как создать машину или актера, я объяснять не буду. Почитайте статью, которую написал Igorok.
1. Начинаем с самого простого.
10175: set_car $car z_angle_to 90.0 - присвоить машине $car угол поворота 90 градусов (отсчитывается против часовой стрелки из положения «лицом к букве N»).
0224: set_car $car health_to 5000 – «здоровье» машины
Машине можно выставить иммунитеты (остались от Vice City):
02AC: set_car $car immunities 0 0 0 0 0
Поставив 5 единиц, вы получите бронированный автомобиль.
0186: $marker = create_marker_above_car $car – создать маркер над машиной
07E0: $marker 1 – цвет маркера
Он может быть:
0 (или любое четное число) - красный
1 (или любое нечетное число) - синий
0164: disable_marker $marker – убрать маркер
0229: set_car $car color_to 0 0 – выбрать цвет машины (здесь – чёрный)
Все цвета находятся в /data/carcols.dat
020A: set_car $car door_status_to 0 – статус дверей
0 - открыты
2 - закрыты
2. Теперь о дополнительных компонентах.
Вот полная схема их загрузки и применения:
06E9: request_car_component [компонент] – загружаете компонент
038B: load_requested_models
:Test
0001: wait 0 ms
00D6: if 0
06EA: car_component_available [компонент] – проверка, загрузился или нет
004D: jump_if_false ££Test – если нет, переход в начало
06E7: $1 = add_car_component [компонент] to_car $car – добавляем компонент в машину $car
Вместо [компонент] пишите название нужного Вам. ДлПример:
#NTO_B_S – азотник
Полный список всех доступных компонентов находится в /data/carmods.dat
Эти компоненты применяются только для машин. Не пытайтесь создать PCJ600 с нитро-ускорителем: игра скорее вылетит.
Следующая команда сделает вашу машину намного красивее (не для всех машин):
06ED: $car 0
Попробуйте сами и посмотрите результат.
3. Движения
02C2: car $car drive_to_point x y z – ехать в заданные координаты
00AD: set_car $car max_speed_to 80.0 – значение максимальной скорости машины. Не действует на машину игрока.
04BA: set_car $car speed_instantly 50.0 – скорость машины во время езды.
Обычно применяется в сочетании с предыдущей командой.
Параметры, влияющие на езду машины:
00AF: set_car $car driver_behaviour_to 1 - вид езды (остались от Vice City)
00A9: set_car $car to_normal_driver и противоположная 00A8: set_car $car to_psycho_driver – нормальный водитель и ненормальный (псих).
00AE: unknown_set_car $car to_ignore_traffic_lights 2 – поведение машины относительно светофоров. Если поставить 2, она будет их игнорировать и обгонять другие машины.
4. Актеры
Чтобы создать актера на месте водителя, используйте команду
0129: $actor = create_actor 25 290 in_car $car driverseat
А если на месте пассажира, то
01C8: $actor = create_actor 25 290 in_car $car passenger_seat 0
Эти команды заставят актера пойти и сесть в машину (нашёл eXPeriMeNTatOR)
05CB: unknown_action_sequence $actor $car 10000 - как водителя
05CA: unknown_action_sequence $actor $car 10000 0 - как пассажира
Последняя цифра – место в машине (0, 1 или 2).
Другие действия с актерами смотрите в статье "Поведение актеров в SA".
Это было самое основное и нужное, хотя можно встретить и другие интересные команды. Например, вы можете использовать команду
01EB: set_car_density_to 0.0, если хотите убрать машины с дорог городов.