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