You are not logged in.
Теперь между тремя мегаполисами San An курсируют самолеты, взлетают, садятся, их можно увидеть в небе
Всего 7 направлений, из LS самолеты взлетают с двух полос.
Пока это первая версия, пока не добавлены самолеты в аэропорт. Также скрипт поддерживает paintjob'ы самолетов, так что в финальной версии взлетающие и припарованные самолеты будут разных авиакомпаний.
КОД ОБНОВЛЕН
:PLANEZ0 thread 'PLANEZ' :PLANEINIT_298 wait 0 0209: 3@ = random_int 0 7 0871: init_jump_table 3@ total_jumps 7 0 @PLANEINIT_299 jumps 0 @PLANEINIT_299 1 @PLANEINIT_320 2 @PLANEINIT_341 3 @PLANEINIT_363 4 @PLANEINIT_385 5 @PLANEINIT_407 6 @PLANEINIT_429 :PLANEINIT_299 4@ = 1473.33 // integer values 5@ = -2600.0 // integer values 6@ = 13.5895 7@ = 270 8@ = 41 10@ = 100000 12@ = 1994.5245 13@ = -2487.4561 14@ = 13.0822 jump @PLANEZ1 :PLANEINIT_320 4@ = 1577.298 // integer values 5@ = -2493.749 // integer values 6@ = 13.5895 7@ = 270 8@ = 42 10@ = 120000 12@ = 1994.5245 13@ = -2487.4561 14@ = 13.0822 jump @PLANEZ1 :PLANEINIT_341 4@ = 1577.298 // integer values 5@ = -2493.749 // integer values 6@ = 13.5895 7@ = 270 8@ = 46 10@ = 80000 12@ = 1994.5245 13@ = -2487.4561 14@ = 13.0822 jump @PLANEZ1 :PLANEINIT_363 4@ = 1479.46 // integer values 5@ = 1641.41 // integer values 6@ = 10.4851 7@ = 180 8@ = 43 10@ = 50000 12@ = 1479.9421 13@ = 1697.2932 14@ = 10.3581 jump @PLANEZ1 :PLANEINIT_385 4@ = 1479.46 // integer values 5@ = 1641.41 // integer values 6@ = 10.4851 7@ = 180 8@ = 48 10@ = 90000 12@ = 1479.9421 13@ = 1697.2932 14@ = 10.3581 jump @PLANEZ1 :PLANEINIT_407 4@ = -1586.67 // integer values 5@ = -93.33 // integer values 6@ = 44.0 7@ = 314 8@ = 44 10@ = 120000 12@ = -1541.494 13@ = -47.5275 14@ = 13.6904 jump @PLANEZ1 :PLANEINIT_429 4@ = -1626.0 // integer values 5@ = -137.3 // integer values 6@ = 13.0 7@ = 314 8@ = 49 10@ = 70000 12@ = -1541.494 13@ = -47.5275 14@ = 13.6904 :PLANEZ1 wait 0 Model.Load(#AT400) Model.Load(#WMYPLT) 038B: load_requested_models :PLANEZ1_38 wait 0 if and Model.Available(#AT400) Model.Available(#WMYPLT) else_jump @PLANEZ1_38 0395: clear_area 1 at 4@ 5@ 6@ range 40.0 0@ = Car.Create(#AT400, 4@, 5@, 6@) Car.Angle(0@) = 7@ 0209: 1@ = random_int 0 3 06ED: set_car 0@ paintjob 1@ 0129: 11@ = create_actor_pedtype 4 model #WMYPLT in_car 0@ driverseat 01C8: 12@ = create_actor 4 #WMYPLT in_car 0@ passenger_seat 0 Model.Destroy(#WMYPLT) Model.Destroy(#AT400) 07C0: load_path 8@ :PLANEZ1_139 wait 0 if 07C1: path 8@ available else_jump @PLANEZ1_139 if not Car.Wrecked(0@) else_jump @PLANEZ1_324 05EB: assign_vehicle 0@ to_path 8@ 32@ = 0 // integer values :PLANEZ1_195 wait 500 if not Car.Wrecked(0@) else_jump @PLANEZ1_324 if 32@ > 30000 // integer values else_jump @PLANEZ1_195 if 060E: not 0@ else_jump @PLANEZ1_324 08E6: set_plane 0@ landing_gear 1 32@ = 0 :PLANEZZ_305B wait 500 ms if not Car.Wrecked(0@) else_jump @PLANEZ1_324 if 001D: 32@ > 10@ // integer values else_jump @PLANEZZ_305B if 060E: not 0@ else_jump @PLANEZ1_324 08E6: set_plane 0@ landing_gear 0 32@ = 0 :PLANEZZ_305C wait 500 ms if not Car.Wrecked(0@) else_jump @PLANEZ1_324 0395: clear_area 1 at 12@ 13@ 14@ range 40.0 if 32@ > 60000 else_jump @PLANEZZ_305C :PLANEZ1_324 wait 100 Car.RemoveReferences(0@) Actor.RemoveReferences(11@) 06C5: release_car 0@ from_path 0873: release_path 8@ jump @PLANEINIT_298
Last edited by jayrocc (23-06-2007 19:01)
Offline
0209: 3@ = random_int 0 6
0209 обладает такой особенностью, что выборка числа происходит из диапазона на 1 меньше, чем верхняя граница. Т.е. 6 никогда не возвратится, максимум 5. Поэтому чтобы сделать возможность выборки PLANEINIT_429, нужно изменить на 0209: 3@ = random_int 0 7.
if
Model.Available(#AT400)
Model.Available(#WMYPLT)
2 условия - нужно if and.
P.S. Ты и altman - одно лицо?
Offline
спасиб за советы,
да, я двуличен как никогда
Offline
2jayrocc:
Неплохой скрипт.
Минимум ошибок:
1. Пилоты, IMHO, вообще не нужны - меньше проблем с моделями и проверками, тем более их не видно.
2. Пропущенна команда
05EC: release_car @0 from_path
- "снять" самолёт с пути, а уж потом удалять сам путь.
3. Убрать
00A6: destroy_car @0
, достаточно
01C3: remove_references_to_car @0
, потому, как находясь рядом с приземлившимся самолётом - видно его исчезновение.
4. После посадки желательно отключать звук двигателя.
5. Зачем самолётам летать там, где нет игрока в данный момент, либо он в интерьере, либо полёты вообще запрещены в данный момент командой
096A: set_flying_helicopters_enabled 0
, иначе могут быть глюки.
Не совсем понятно назначение трёх циклов с разными задержками...
Не проще ли проверять в воздухе/на земле, двигается/остановился ???
Как узнал номера/направление путей?
Вообщем идея интересная - надо бы довести её до совершенства.
да, я двуличен как никогда
Не хорошо дважды регистрироваться... Выбери кого из вас двоих оставить, второго видимо придётся кильнуть...
Сначала ты надежда и гордость,
Потом о спину ломают аршин. (c)БГ
Offline
2jayrocc:
Неплохой скрипт.
Минимум ошибок:
1. Пилоты, IMHO, вообще не нужны - меньше проблем с моделями и проверками, тем более их не видно.
еще как видно! даже если пешком рядом с самолетом бегать, а можно на лету заглянуть в испуганные глаза пилотов
2. Пропущенна команда
05EC: release_car @0 from_path- "снять" самолёт с пути, а уж потом удалять сам путь.
надо поправить
3. Убрать
00A6: destroy_car @0, достаточно
01C3: remove_references_to_car @0, потому, как находясь рядом с приземлившимся самолётом - видно его исчезновение.
4. После посадки желательно отключать звук двигателя.
Нужно уничтожать модель потому что следующий приземляющийся самолет проторанит стоящий на посадочной полосе, пока не знаю как сделать, чтобы самолет пропал не на глазах игрока и чтобы в него никто не врезался
5. Зачем самолётам летать там, где нет игрока в данный момент, либо он в интерьере, либо полёты вообще запрещены в данный момент командой
096A: set_flying_helicopters_enabled 0, иначе могут быть глюки.
В этом одна из фишек кода, если привязать самолеты к игроку, то получится, что нельзя застать самолеты в определенный момент их цикла. Идея мода, чтобы сделать рэндомные полеты самолетов вне зависимости от игрока. А насчет глюков я проверял, все должно работать корректно.
Не совсем понятно назначение трёх циклов с разными задержками...
Не проще ли проверять в воздухе/на земле, двигается/остановился ???
Как узнал номера/направление путей?
Первая задержка это время отсчета взлета с выпущенными шасси, второй полет без шасси, а третий выпуск шасси и посадка.
Не хорошо дважды регистрироваться... Выбери кого из вас двоих оставить, второго видимо придётся кильнуть...
ты не понял, altman я только на GTAF.
Last edited by jayrocc (17-06-2007 00:19)
Offline
Кстати, раз уж под рукой есть скрипт с путями, протестируйте опкод 06C5: release_car 0@ from_path, который вроде тоже самое, что 05EC. Отпишитесь потом о результатах наблюдений.
Offline
2jayrocc:
Нужно уничтожать модель потому что следующий приземляющийся самолет проторанит стоящий на посадочной полосе, пока не знаю как сделать, чтобы самолет пропал не на глазах игрока и чтобы в него никто не врезался
Да элементарно - прибытие и отправление делать с разных полос.
В этом одна из фишек кода, если привязать самолеты к игроку, то получится, что нельзя застать самолеты в определенный момент их цикла. Идея мода, чтобы сделать рэндомные полеты самолетов вне зависимости от игрока.
В таком случае, делай полный перелёт (как это было в VC) из одного аэропорта в другой, а не имитацию отлёта с пропадением самолёта в воздуе.
2Seemann:
Кстати, раз уж под рукой есть скрипт с путями, протестируйте опкод 06C5: release_car 0@ from_path, который вроде тоже самое, что 05EC. Отпишитесь потом о результатах наблюдений.
Ok.
Сначала ты надежда и гордость,
Потом о спину ломают аршин. (c)БГ
Offline
Да элементарно - прибытие и отправление делать с разных полос.
э-э-э, я не могу этого сделать, т.к. я использую существующие пути самолетов из потока 'planes', которые лежат в файле carrec.img, как открыть такие файлы и добавить что-нить или заменить непонятно - ясно только одно, пути экспортируются из 3ds Max'a
В таком случае, делай полный перелёт (как это было в VC) из одного аэропорта в другой, а не имитацию отлёта с пропадением самолёта в воздуе.
Ты, я смотрю, в мод не врубился , самолеты взлетают, пролетают полный путь до другого аэропорта и садятся. Пропадают они из-за distance view, который, увы, невозможно исправить кроме как в stream.ini выставить максимальные значения дальности прорисовки.
Кстати, обновил скрипт, теперь самолеты не пропадают после посадки, а стоят на месте (по крайней мере до тех пор, пока не начнет садится или взлетать другой самолет)
@Seemann
пока так и не удалось найти отличия между 06C5 и 05EC. В обоих случаях самолет снимается с пути и падает на землю.
Offline
2jayrocc:
э-э-э, я не могу этого сделать, т.к. я использую существующие пути самолетов из потока 'planes', которые лежат в файле carrec.img, как открыть такие файлы и добавить что-нить или заменить непонятно
Хех... Заюзай редактор путей: http://ape.aschratt.com
увы, невозможно исправить кроме как в stream.ini выставить максимальные значения дальности прорисовки.
Там нет такого значения.
Сначала ты надежда и гордость,
Потом о спину ломают аршин. (c)БГ
Offline
Хех... Заюзай редактор путей: http://ape.aschratt.com
он не берет rrr файлы
есть ощущение, что эти настройки как-то влияют на дальность прорисовки, хотя дымка и дальность ее появления задается в timecyc.dat
pe_leftx 15
pe_topy 15
pe_rightx 15
pe_bottomy 15
во всяком случае при изменении этих настроек возрастает нагрузка на видеокарту.
Offline
Вообще я дико завален работой, но код отлажен, поиграл на выходных - проблем не обнаружил, скрипт то простой.
Чтобы не лагало и не было аварий, постоянно небе не более одного самолета.
Есть только проблема at400 не хочет перекрашиваться через скрипт загрузки разных винилов. Может это связано с тем, что в конце его названия стоит цифра. Тот же самый скрипт я пробовал на Beagle и он прекрасно грузил рэндомные винилы.
0@ = Car.Create(#AT400, 4@, 5@, 6@) Car.Angle(0@) = 7@ 0209: 1@ = random_int 0 3 06ED: set_car 0@ paintjob 1@
Last edited by jayrocc (29-11-2007 16:00)
Offline
Да, наверное из-за цифры.. Нормальные динамические "фичи" нельзя было поставить и на zr350 (авто), приходилось изменять имена в vehicles.ide, carcols.dat, veh_mods.ide и т.п.
Все свои авиа-проекты я снабжаю именем remap_ как ты и просил Должны работать
Offline
Ловите update мода. В архив сложил скрипт, самолет Dimazzza (надеюсь, что он не обидится) и 2 комплекта скинов.
http://westcoast-4-life.msk.ru/Air_Traffic_Mod_20.rar
Offline
Скрипт интересный. Работает нормально, если бы не одно но...
Об этом уже упоминалось в этой теме (пост 11).
Суть проблемы :
не всегда, но тем не менее довольно часто, вылетевшие заряды
изчезают прямо в воздхе
Причем подобное происходит не только с гидрой, но и при использовании оружия
ROCKETLA, MOLOTOV, GRENADE ну и подобных
Таким образом, выполнение некоторых миссий (например, 60, 62) довольно проблематично, да и вообще, порой напрягает такая ситуация.
Было бы здорово, если подобной проблемы не было
Offline
Да ХЗ что с этим, я думаю, это издержки того, что самолет на путь поставлен. Как он с пути снят, так разрушается без проблем. Может Seemann подскажет, он, я помню, пути изучал...
Кстати еще такой баг непонятный нашел: когда самолет приземляется, он останавливается, а потом продолжает ехать дальше, врезается в забор или взлаетает и падает. Получается, что самолет в конце пути останавливается, а потом как будто путь и вовсе не заканчивается... требуется разбирательство..
Offline
Вот я тоже об этом думаю, если время будет - займусь, пока просто хочется понять, что с ним случилось
Offline
Я не обижусь. Еще смотря какой самолет А зачем ты его вообще туда положил?
PS - и почему мой ник все время пишут неправильно...
Last edited by DimazzzZ (30-01-2008 02:06)
Offline
я конешно извиняюсь за оф топ но:
у меня есть код.. я его копирую в программу Sanny Builder, затем нажимаю компилировать, сохранившийся файл .scm переименовую в .cs и копирую полученный скрипт в \GTASA\cleo
но при загрузке игры ошибка..
подскажите как правильно работать с кодами !!
Offline
сохранившийся файл .scm переименовую в .cs
если в начале файла стоит директива $CLEO, то программа сама будет переименовывать в .cs. Если у тебя такой директивы нет - значит ты неправильно оформляешь скрипт. В справке SB (F12) есть соответствующий раздел, рекомендую ознакомиться. Еще посмотри примеры уже готовых CLEO-скриптов, благо их тут много.
Автор мода, кстати, уже выкладывал скрипт для CLEO, см. пост #15.
Offline
Люди, тут столько изменений! Так напишите финальный скрипт, самый правильный!
Offline
заметил ещё одно: в скрипте написано, чтобы шасси убирались и выпускались, а в реальности (в итоге, в игре) они всё время выпущены
но идея супер!
ещё бы и самолёты типа shamal подцепить бы....
Last edited by AlphaOmega (02-06-2008 07:50)
Offline