Нормальная камера поезда
Вот всё с объяснениями. Юзайте...
[EDIT] ТУТ ТОЖЕ БЫЛ НЕ ТОТ ID - ВСЁ ИСПРАВЛЕНО! Не пойму вот чего я был уверен что Фрахт это 539? Это же 537!
004F: create_thread ££Cam
--------------------------------------
:Cam
0001: wait 0 ms
00D6: if 0
0256: player $PLAYER_CHAR defined ;; проверка существует ли игрок.
004D: jump if false ££Cam
00D6: if 21
00DD: actor $PLAYER_ACTOR driving_vehicle_type 538 ;; если актер сидит в Коричневой полосе...
00DD: actor $PLAYER_ACTOR driving_vehicle_type 537 ;; ...или в Фрахте
004D: jump if false ££Cam
00D6: if 0
00E1: key_pressed 0 13 ;; если нажата кнопка смены камеры
004D: jump_if_false ££Cam
03C0: $poezd = actor $PLAYER_ACTOR car ;; сохраняем поезд игрока в переменную $poezd
078A: $vag1 = create_carriage_on_train $poezd position 1 ;; сохраняем первый вагон в переменную $vag1
078A: $vag2 = create_carriage_on_train $poezd position 2 ;; ...второй вагон
078A: $vag3 = create_carriage_on_train $poezd position 3 ;; ...третий вагон
078A: $vag4 = create_carriage_on_train $poezd position 4 ;; ...четвёртый
078A: $vag5 = create_carriage_on_train $poezd position 5 ;; ...пятый (т.к. можно вручную делать пять вагонов максимум)
0002: jump ££C6
:C6
00D6: if 0
8038: NOT $vag5 == -1 ;; integer values ;; если пятый вагон существует
004D: jump_if_false ££C5 ;; а если нет то прыгаем на следующую проверку
0407: create coordinate $GQ $HQ $JQ from car $vag5 offset 0.0 0.0 0.0 ;; создаём координаты X, Y, Z относительно вагона
015F: set_camera_position $GQ $HQ $JQ 0.0 0.0 0.0 ;; ставим камеру в координаты (не влияет ни на что, нужно для работы следующей команды)
0158: camera_on_vehicle $vag5 18 2 ;; направляем камеру на вагон чтоб следила за ним. (параметр 18 означает что камера полетит за вагоном как за простой машиной при этом можно мышкой крутить камеру, а если будет 15 то тогда камера будет в координатах и следить за машиной с места)
0002: jump ££Cam2
:C5
00D6: if 0
8038: NOT $vag4 == -1 ;; integer values ;; ну тут то же самое только для остальных вагонов...
004D: jump_if_false ££C1
0407: create coordinate $GQ $HQ $JQ from car $vag4 offset 0.0 0.0 0.0
015F: set_camera_position $GQ $HQ $JQ 0.0 0.0 0.0
0158: camera_on_vehicle $vag4 18 2
0002: jump ££Cam2
:C4
00D6: if 0
0038: $vag1 == -1 ;; integer values ;; если вагонов вообще нет (можно создать такой STREAK)
004D: jump_if_false ££C4
0407: create coordinate $GQ $HQ $JQ from car $poezd offset 0.0 0.0 0.0
015F: set_camera_position $GQ $HQ $JQ 0.0 0.0 0.0
0158: camera_on_vehicle $poezd 18 2 ;; то направляем камеру, непосредственно на сам паровоз.
0002: jump ££Cam2
:Cam2
0001: wait 0 ms
00D6: if 0
80DF: NOT actor $PLAYER_ACTOR driving ;; если игрок не водит (можно было конкретней проверку написать, но эта первая подвернулась)
004D: jump if false ££Cam2
02EB: restore_camera_with_jumpcut ;; сделать камеру нормальной
01C3: remove_references_to_car $poezd ;; Like turning a car into any random car ;; удаляем из памяти переменную $poezd и отпускаем на произвол судьбы поезд
01C3: remove references to car $vag1 ;; то же самое с вагонами
01C3: remove references to car $vag2
01C3: remove references to car $vag3
01C3: remove references to car $vag4
01C3: remove references to car $vag5
0002: jump ££Cam ;; прыгаем в начало для повторного использования возможности.
Вот такой код. Т.к. всё это будет в моих модах, то если используете в своём моде этот код, напишите что его придумал я. Обязательно!