Управление трансп. средствами
by ScrewBoy
Tuesday 23 March 2004 - 18:24:28
Итак, начнем. Я постараюсь в общих чертах рассказать об управлении различными транспортными средствами(машинами, лодками, вертолетами) и некоторых командах, заставляющих актеров сесть в транспортное средство или вылезти из него. Но договоримся, что вы владеете билдером на уровне продвинутого новичка, и объяснять вам как создавать актера, машину, поток я не буду. Почитайте учебник ScrewBoy'я.
Первое, с чего нужно начать, это с того, что создать необходимых транспортных средств и персонажей, которые будут принимать в передвижени непосредственное участие.
Вот схема загрузки любой модели(взято из учебника ScrewBoy'я).
0247: request model #модель1
0247: request model #модель2
038B: load requested models
:TestLoad
0001: wait 0 ms
00D6: if 1
0248: model #модель1 available
0248: model #модель2 available
004D: jump_if_false ЈTestLoad
Надеюсь вы уже загрузили для миссии нужные вам модели(машин и людей).
Теперь создадим актера и машину на игровой карте. Чтобы узнать координаты местоположения любой вашей модели, используйте CodeCreatorom, который входит в комплект с самим Билдером.
009A: $my_act = create_actor 4 #модель1 at [x] [y] [z]
Далее вы можете установить уровень жизни актера, дать ему оружие и так далее (подробнее смотрите 2-ую главу учебника ScrewBoy'я).
Воспользуемся следующей командой для создания транспортного средства на карте:
00A5: $my_car = create_car #модель at [x] [y] [z]
Естественно #модель должна быть загружена ранее. Для перечня все моделей смотри файл default.ide
Далее используйте следущую команду, которая заставит вашего персонажа (включая самого игрока, который ВСЕГДА явсляется актером $PLAYER_ACTOR) сесть в машину как пассажиром:
01D4: actor $my_act go_to_car $my_car and_enter_it_as_a_passenger
или как водителем:
01D5: actor $my_act go_to_and_drive_car $my_car
Чтобы создать персонажей уже в транспортном средстве, используйте вот эту команду:
0129: $vodila = create_actor 4 #модель1 in_car $my_car driverseat
Эта команда означает, что актер появится в машине $my_car на месте водителя. Актера можно создать и на месте пассажира:
01C8: $my_act = create_actor 10 #модель1 in_car $my_car passenger_seat 0
где последняя цифра обозначает какое именно сиденье. Может быть 0, 1, 2.
Это еще не все: для машин есть дополнительные параметры, влияющие на ее езду:
1. 00AF: set car $my_car driver behaviour to [вид езды]
Вот виды езды:
0 - никуда не ехать
1 - следовать дороге, ехать назад, если дорога закрыта
2 - убить игрока
4 - ехать к игроку и остановится
8 - игнорировать дорожные пути
Эти параметры можно комбинировать в одной команде, просто сложив их. Например, 00AF: set car $my_car driver behaviour to 10 значит что машина будет пытаться задавить игрока и будет игнорировать дорожные пути (2+8). Тут, думаю, ясно.
2. Команды 00A8: set car $my_car to psycho driver и 00A9: set car $my_car to normal driver Думаю пояснять не надо, переведите и поймете.
3. 00AD: set car $my_car max speed to 15.0 Устанавливает значение максимальной скорости машины (максимум 50.0)
4. 00AE: unknown set car $my_car to ignore traffic lights 2
Указывает, будет ли машина останавливаться на светофоры и будет ли обгонять другие машины. Чтобы машина не обращала внимания на светофоры и обгоняла другие машины, ставьте цифру 2.
А вот теперь используйте команду для передвижения транспортного средства:
00A7: car $my_car drive_to [x] [y] [z]
Эта команда заставляет машину ехать в указанную точку. А вот для вертолетов и лодок отдельные команды:
04A2: heli $my_heli fly_to to [x] [y] [z] speed 30 - вертолет, тут, как видно, задается еще и скорость полета
02D3: boat $my_boat drive_to to [x] [y] [z] - лодка
В следущей статье я расскажу, как создать простенькую миссию с использованием различного транспорта и игровых персонажей. Ну, а пока вроде всё.