Ден,привет.Увидев,что ты сайт еще не забросил-решил написать.Помоги отредактировать скрипт.Какие строчки нужно изменить,чтоб поезда появлялись не так часто?И еще,прикрепи исходник,чтоб мне не декомпилировать готовый.В архиве его нет.
Старый профиль MumiyTroll,к сожалению,я не смог восстановить.Пришлось регистрироваться заново.
Сообщение отредактировал Вячеслав - Суббота, 12.11.2016, 00:57
Что такое 1, 300.0, 2130052 в строке ide : 18633, machta01_red, svetofor_1, 1, 300.0, 2130052
Добавлено (12.07.2020, 09:42) --------------------------------------------- У меня установлен новый алгоритм с траксами 2 и 4 ,а тракс 1 - находится на Ring Railway-e c 6 остановками.Так вот там поезда не ходят. Сделал скрипт с командой enable train traffic 800,но поезда всёравно не ходят.Как запустить поезда по траксу 1 с новым алгоритмом? Измените пожалуста свой скрипт,чтобы ходили поезда по траксу 1( он у меня не на основной линии).
Сообщение отредактировал laggth - Пятница, 11.08.2017, 22:37
В команде enable train traffic могут использоваться только 2 значения - 1 (трафик включен) и 0 (трафик выключен). Поэтому правильно будет написать enable train traffic 1.
Проверь, чтобы номером модели 16 вагона (включая локомотив) был 0. Или номер модели третьего вагона следующего типа должен быть 0. При создании поезда движок создает вагоны до тех пор, пока не наткнется на модель с номером 0. Если номера моделей всех вагонов в создаваемом типе не равны нулю, то движок переходит на следующий тип и продолжает создавать вагоны из него. Но если движок попытается создать больше 19 вагонов в одном поезде, то игра вылетит. Подробная информация тут: https://sannybuilder.com/forums/viewtopic.php?id=18
# Author: fastman92 # fastman92 limit adjuster required to apply the carriage types # # Type 0 to 7 is used by NPC train on track 0 # Type 8 to 9 is used by NPC tram on track 1
но новые вагоны игра не видит(cabobox(из первого архива - видит)(hopper666 ,burlbox -из второго- не видит)(не видит мой второй новый имдж архив(в первом архиве у меня установлено около 250 новых вагонов на новые ид)). Попробую вписать в конфиг те,которые видит. Но хочется знать,как заставить игру видеть новый имдж архив
# # Load IDEs first, then the models and after that the IPLs #
Тут отключил radar.img и cutscene.img ,иначе игра не грузится. Увеличение лимита на кол-во имдж архивов не помогает(ну можт я не провильно использую fl и imglist...).
Сообщение отредактировал laggth - Среда, 29.09.2021, 15:16
Попытался немного доработать скрипт "Новый алгоритм". Что сделано:
1. На станции Йеллоубелл и участке от Йеллоубелл до Линден теперь может появляться как внутренний, так и внешний поезд (раньше внешний поезд там вообще никогда не появлялся). Причем когда игрок на самой станции, могут появляться оба поезда одновременно (когда между станциями - только по очереди). В теории, можно сделать, чтобы появлялись и между этими станциями одновременно, но тогда надо будет ставить еще одну пару светофоров на разъезде, таким образом, в поле зрения игрока там будет сразу 2 пары светофоров, их надо будет настраивать, а поезда заставлять тормозить на красный свет и ехать медленно на желтый. Причем, красный будет включаться в том числе и внезапно перед поездом. Короче, слишком мудрено.
2. Светофор внутреннего пути на станции Йеллоубелл, светофоры возле туннеля и светофор внешнего пути на станции Линден теперь включаются красным также при появлении встречных поездов и обратно зеленым (или желтым) при их проезде мимо или заезде на 2-путный участок. Впрочем, на станции Линден на практике почти не актуально, но пусть будет. Если ехать на поезде машинистом или пассажиром и проезжать мимо тех светофоров, тоже все правильно будут светить.
3. Поезда появляются и исчезают за 700 метров, 600 при хорошей дальности прорисовки было маловато. И ездят со скоростью 120 км/ч (как в оригинале), тормозят на станциях в правильном месте (глюк был замечен только 1 раз, когда Карл был в таком месте, что поезд появился перед самой станцией и остановился чуть дальше, чем надо было).
4. Когда внутренний поезд собирается отправляться с Йеллоубелл, а встречный поезд уже появился и горит красный светофор, внутренний поезд будет его ждать и поедет уже на зеленый светофор, когда внешний уедет на 2-путку. На станции Линден для встречного поезда аналогично, но на практике обычно ждать не приходится.
Минусы:
1. Если в случае, описанном в пункте 4, угнать поезд и поехать на красный, поезда проедут друг через друга, но такое было и в оригинальном скрипте, если поехать на однопутку задним ходом. Как в таких случаях вызывать сход обоих поездов с рельсов, я не знаю.
2. При миссии машиниста на внутреннем кольце, если придется ждать на Йеллоубелл зеленого светофора, не знаю, реально ли будет потом успеть по расписанию. Но ждать там поезду обычно долго не приходится.
В остальном, глюков больше не замечал, тестировал практически по всей территории возле однопутных участков. Делал главным образом для себя, так что не знаю как быть с авторскими правами. Навыки программирования у меня никакие, но очень хотелось добавить еще больше реализма по ЖД.
Добавлено (21.05.2022, 11:41) --------------------------------------------- Также сделал скрипт, с которым можно заходить в вагоны поезда пассажиром, при "новом алгоритме". Вход и выход в вагоны только с правой по ходу движения стороны! Если есть пассажирские вагоны на дополнительных ID, их туда тоже можно вписать (аналогичные строчки после Car.Model(0@) == 570 с указанием ID, а после if строчкой выше надо дописать or).
// This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013 {$CLEO .cs}
:PASSASHIR_1 wait 0 if Player.Defined($PLAYER_CHAR) else_jump @PASSASHIR_1
:PASSASHIR_2 0AB5: store_actor $PLAYER_ACTOR closest_vehicle_to 0@ closest_ped_to 1@ wait 0 if and 056E: car 0@ defined not actor.InCar($PLAYER_ACTOR,0@) 0AB0: key_pressed 13 else_jump @PASSASHIR_2 wait 0 if Car.Model(0@) == 570 else_jump @PASSASHIR_2 wait 0 if or 0431: car 0@ passenger_seat_free 0 0431: car 0@ passenger_seat_free 1 0431: car 0@ passenger_seat_free 2 else_jump @PASSASHIR_2 05CA: AS_actor $PLAYER_ACTOR enter_car 0@ passenger_seat -1 time 10000 jump @PASSASHIR_2
А также скрипт, который рандомно ставит в грузовые поезда (типы 0, 3, 6) вагоны freiflat и freibox. Если есть еще грузовые вагоны на дополнительных ID, можно и их туда вписать, тоже будут появляться случайным образом. Можно даже сделать так, чтобы было рандомное количество вагонов. С пассажирскими поездами аналогично. Код выложу позже, он на другом компьютере.
Добавлено (21.05.2022, 11:52) --------------------------------------------- Что еще хотелось бы видеть: 1. Сдвижная дверь для пассажирских вагонов на дополнительных ID. Я так понимаю, это что-то из разряда Vehicle Dpecial Abilities, просто не взломанная функция. 2. Проекция фар локомотива, когда игрок ведет поезд, чтобы была не по времени суток, а по факту включения или выключения фар клавишами. 3. Светофоры с 2dfx, как в версии 4 скрипта, но чтобы короны не светили в обратную сторону. 4. Скрипт с маневровыми светофорами имеет глюк: когда приезжаешь на поезде на станцию хоть пассажиром, хоть машинистом, иногда светофоры светят белым, хотя такого быть не должно. Пытался сам разобраться в коде, но пока не понял как доработать.
if 1@ <> 0 then 0@ = -382134 :NONAME_64 0099: 1@ = random_int_in_ranges_0_to_1023 if or 1@ == 0 1@ == 569 1@ == 590 else_jump @NONAME_64 008A: &0(0@,1i) = 1@ // (int)} end
//тип поезда 7 0@ = -382119 :NONAME_73 0099: 1@ = random_int_in_ranges_0_to_1023 if or 1@ == 0 1@ == 570 else_jump @NONAME_73 008A: &0(0@,1i) = 1@ // (int)
//тип поезда 11 0@ = -382055 :NONAME_113 0099: 1@ = random_int_in_ranges_0_to_1023 if or 1@ == 0 1@ == 570 else_jump @NONAME_113 008A: &0(0@,1i) = 1@ // (int)
//тип поезда 15 0@ = -381994 :NONAME_150 0099: 1@ = random_int_in_ranges_0_to_1023 if or 1@ == 537 1@ == 538 else_jump @NONAME_150 008A: &0(0@,1i) = 1@ // (int)
wait 60000 jump @NONAME_0
Добавлено (22.05.2022, 10:12) --------------------------------------------- Это версия с использованием только основных ID. Тип 0: грузовой 4-вагонный, каждый из 4-х вагонов рандомно freiflat или freibox, в хвосте рандомно возможен еще один локомотив (как в типе 12 из миссии Snail Trail). Тип 1: пассажирский 2-х или 3-вагонный рандомно. Тип 2: то же что тип 1. Тип 3: грузовой 3-вагонный, каждый из 3-х вагонов рандомно freiflat или freibox, в хвосте рандомно возможен еще один локомотив (как в типе 12 из миссии Snail Trail). Тип 4: то же что тип 1. Тип 5: пассажирский 3-х или 4-вагонный рандомно. Тип 6: грузовой, рандомно 2-х, 3-х или 4-вагонный, каждый вагон рандомно freiflat или freibox. Тип 7: то же что тип 1. Тип 11: пассажирский 2-х или 3-вагонный рандомно. Миссии Wrong Side Of The Tracks и Snail Trail с 3-вагонным поездом проходимы без глюков абсолютно! Тип 15: пассажирский или грузовой локомотив без вагонов рандомно. Миссии, где он встречается, все проходимы, когда появляется грузовой.
В скрипт можно добавлять любые вагоны и на доп. ID, но желательно только для типов 0 - 7. Если в типы 10-15 ставить доп. ID, будут вылеты. Типы 10 и 13 лучше не изменять вообще, миссии будут непроходимы.
Сообщение отредактировал andrew6503 - Суббота, 21.05.2022, 13:11
Дата: Понедельник, 23.05.2022, 22:00 | Сообщение # 71
Создатель сайта
Группа: Администраторы
Сообщений: 1603
Статус: Offline
andrew6503, отличная работа! Добавил скрипт на сайт.
Цитатаandrew6503 ()
Как в таких случаях вызывать сход обоих поездов с рельсов, я не знаю.
Код для схода с рельсов используется в моем скрипте "Отцепка вагонов", там его можно посмотреть.
Цитатаandrew6503 ()
1. Сдвижная дверь для пассажирских вагонов на дополнительных ID.
Если просто нужны раздвижные двери, то можно использовать мой скрипт "Оживление ходовой поездов". На каких ИД стоит вагон - не важно, но модель нужно специальным образом отредактировать (инструкция по редактированию моделей есть в ReadMe к модификации). Если же двери при открытии должны сначала сдвигаться вбок наружу, а потом вдоль вагона, то надо писать отдельный скрипт.
Цитатаandrew6503 ()
2. Проекция фар локомотива, когда игрок ведет поезд, чтобы была не по времени суток, а по факту включения или выключения фар клавишами.
Можно взять за основу мой скрипт фар для поездов и отредактировать, проверки нажатия кнопок добавить несложно.
Цитатаandrew6503 ()
3. Светофоры с 2dfx, как в версии 4 скрипта, но чтобы короны не светили в обратную сторону.
Тогда короны надо делать не через 2dfx, а создавать скриптом, постоянно проверяя текущее положение игрока относительно светофора. Если игрок находится перед светофором, то чем ближе он к центру светового луча, то тем больше и ярче надо делать корону.
Цитатаandrew6503 ()
4. Скрипт с маневровыми светофорами имеет глюк: когда приезжаешь на поезде на станцию хоть пассажиром, хоть машинистом, иногда светофоры светят белым, хотя такого быть не должно. Пытался сам разобраться в коде, но пока не понял как доработать
Этот скрипт довольно старый и принцип работы светофоров там очень простой, но не совсем правильный. Через общедоступную ячейку памяти скрипт маневровых светофоров получает хэндлы (имена) поездов. Далее он проверяет - если поезда существуют, то светофоры горят синим. Если не существуют, то белым (типа путь свободен).
ОК, я только за! Делал эту доработку еще года 2 назад, выкладывал код на форуме gta.com.ua. И только недавно вспомнил, что надо бы и сюда выложить. Пытался даже разобраться, как сделать, чтобы пассажиры заходили в вагоны и выходили из них (где-то скачал довольно "сырые" скрипты на эту тему и надеялся доработать), пока получались только сплошные глюки, но как ни странно, хотя бы без вылетов. Но в случае внешнего поезда на станции Маркет нормально организовать этот процесс вряд-ли получится. Да и на станции Линден если и выйдут из внешнего поезда нормально, то встречный поезд их явно задавит.
Цитатаandrew6503 ()
Этот скрипт довольно старый и принцип работы светофоров там очень простой, но не совсем правильный.
Если речь о том, чтобы включать белый не только по факту "исчезновения" поезда, но и по проследованию им разъездов или светофоров, то это лишнее. Все-таки это сугубо декорация, да и не знаю я, так ли работают маневровые ЖД-светофоры в США или нет.
Цитатаandrew6503 ()
Далее он проверяет - если поезда существуют, то светофоры горят синим. Если не существуют, то белым (типа путь свободен).
Так в том-то и дело, что поезд существует, а светофор может быть белым, если игрок в поезде!
Да, модификация маневровых светофоров создавалась больше для украшения, чем для отображения реальной ситуации на ж/д. Посмотрел код - светофоры переключаются при появлении или исчезновении поездов, проверок нахождения игрока в поезде там нет.
Что касается выхода и входа пассажиров - такой скрипт теоретически можно сделать для стандартных пассажирских вагонов, но для нестандартных моделей (например, метро) он не подойдет - там и анимация должна быть другая, и место расположения дверей будет отличаться. Кроме того, в метровагонах прозрачные стекла и пассажиры не могут создаваться внезапно - они должны сидеть на диванах, пока поезд не приедет на станцию, а потом встать и пойти к выходу.
Ну надо же...Этот сайт,до сих пор,функционирует. Ден,привет. Ознакомившись,с последним обновлением данного мода,хочу написать пару идей,исходя из своих наблюдений.Возможно,будет интересно,добавить их в скрипт.Хотя и не факт,что это вообще реализуемо. 1.Шлагбаумы. Шлагбаумы опускаются,когда поезд находится,в считанных метрах от переезда.Это неправильно,конечно.Создаются аварийные ситуации.Педы,не успевают сразу отреагировать и притормозить. -в некоторых местах,вообще отсутствуют шлагбаумы на переездах.Возможно ли добавить в игру,несколько дополнительных шлагбаумов?Разработчики,судя по всему,не стали особо париться.Оставили как есть -при длинном составе,шлагбаумы поднимаются раньше времени.Поезд еще едет,а шлагбаумы уже подняты.Педы пытаются проехать,начинают тупо таранить вагоны. -не хватает,конечно,звуковых оповещений на переездах,а так же гудков локомотива,когда подъезжает к станции,переезду или препятствию.
2.Второстепенные пути. Было бы реалистично,если грузовые поезда,изредка,заезжали в доки,а не катались постоянно по всему кругу(штату)
3.Станции. С этим скриптом,на станциях стало совсем пусто.Поезд подъезжает-никого нет.В стандартной игре,педы выходили и заходили в вагоны.Если использовать плацкартные или купейные вагоны,необязательно использовать сложную анимацию(исходя из твоего последнего сообщения)Достаточно будет того,чтоб педы заходили в вагон(пусть даже текстуру двери)А дальше,будет незаметно,как там они сидят и встают,готовясь к выходу.
Сейчас как раз работаю над новой версией алгоритма. Самое главное, что уже сделано - скрипт автоматически читает координаты точек путей из памяти игры (раньше они были прописаны в самом скрипте). Что это даёт? Скрипт можно будет использовать не только на стандартной карте, но и на модифицированных. Потребуется только небольшая адаптация - прописать новые координаты светофоров и станций. Второе изменение - одновременно смогут существовать 4 поезда, а не 2. Игра станет интереснее - один из поездов иногда будет догонять впереди идущий, что заставит его останавливаться перед красным светофором или сбавлять скорость на желтом.
Что касается шлагбаумов и анимации пассажиров, возможно позже это будет сделано, надо будет изучить соответствующие функции игрового движка. Сейчас задача выполнить тот план, который уже есть. Про вагоны и локомотивы на второстепенных путях - это можно сделать, есть понимание - как. Вагон можно создать в любом месте как автомобиль (команда car.create) и перемещать его по нужной траектории, используя в цикле команду car.PutAt. Возможно это лучше сделать отдельным скриптом, чтобы не перегружать основной скрипт.