00042. Всё о поездах

Всё о поездах|В этом уроке Вы узнаете о том, как создать поезд и какие команды существуют для поездов.|wmysterio|wmysterio||||С вами wmysterio, и это очередной урок. Прежде чем рассмотреть опкоды, связанных с поездами, хотелось сказать, что создать их можно только на рельсах. В других местах поезда не появляются. Обычно игра ищет ближайшие рельсы и там уже создаёт поезд. Также поезд можно создать только в тех местах, где поезда обычно ездят ( прописаны пути для них ). Для начала рассмотрим типы поездов. Тип указывает количество вагонов и их модели. Все типы и их описание доступны в базе данных - номера поездов.

Сначала определим тип поезда. Пусть это будет 5. Смотрим БД, и загружаем необходимые модели:

:TRAIN
wait 0
model.Load(#STREAK)
model.Load(#STREAKC) 
038B: load_requested_models
 
:TRAIN_1
wait 0 
if AND
model.available(#STREAK)
model.available(#STREAKC)
jf @TRAIN_1

Дальше находим место в игре, где будет создавать поезд. Вот я нашел координаты: "2018.9946 -1953.9517 13.5469". Создаём этой командой:

06D8: $TRAIN = create_train_at 2018.9946 -1953.9517 13.5469 type 5 direction 1

Здесь: $TRAIN - имя перменной нашего поезда 2018.9946 -1953.9517 13.5469 - координаты, где должен появится поезд 5 - тип поезда 1 - определяет в какую торону будет ездить поезд. 1 - будет ездить за часовой стрелкой, 0 - против часовой стрелки

Теперь поезд будет стоять в нужном месте:

Рассмотрим команды, которые связаны с поездами:

06D7: enable_train_traffic 0 // устанавливает трафик поездов: 0 - выключить трафик, 1 - включить трафик
07BD: destroy_train $TRAIN // уничтожает созданный поезд
06DB: destroy_all_trains // уничтожает все созданные поезда
06DC: set_train $TRAIN acc 20.0 // задаёт поезду $TRAIN ускорение 20.0
06DD: set_train $TRAIN speed 10.0 // задаёт поезду $TRAIN скорость 10.0
07C7: put_train $TRAIN at 1880.06 -1953.67 12.44 // перемещает поезд в нужные координаты
0981: train $TRAIN wrecked // проверка: "поезд $TRAIN уничтожен?"
09AE: actor $ACTOR driving_train // проверка: "Актёр едет в поезде?"

Есть также и другие проверки, но рассматривать пока мы их не будем. Давайте напишем скрипт, что бы когда игрок вставал на сферу, появлялся поезд. Поток будет одноразовым и добавим его в мейн: посмотреть.

Результат:

Last updated