Donate with PayPal button New New

+ Ответить в теме
Страница 138 из 253 ПерваяПервая ... 38 88 128 136 137 138 139 140 148 188 238 ... ПоследняяПоследняя
Показано с 1,371 по 1,380 из 2529

Тема: Создание сессий. Идеи, проблемы, решения.

  1. #1
    Администратор Аватар для OlegKhim
    Регистрация
    19.09.2009
    Страна
    Адрес
    Киев
    Возраст
    55
    Сообщений
    4,407

    Rule Создание сессий. Идеи, проблемы, решения.

    Правило перевода стрелок в определенное время (работает с правилом UZ Timecheck)
    Вложения

  2. Сказали спасибо: (7)


  3. #Trainz
    Реклама
    Регистрация
    Постоянная
    Адрес
    Весь мир
    Возраст
    2010
    Сообщений
    Много

    Donate with PayPal button N3v New New

     

  4. #1371
    Пользователь Аватар для NickLon
    Регистрация
    23.09.2009
    Страна
    Адрес
    Москва
    Возраст
    50
    Сообщений
    2,427

    По умолчанию

    Ага, то есть эта ошибка ни на что не влияет и можно её просто игнорировать в дальнейшем, сказав ему: "Не умничай, редиска!"
    Иногда мы принимаем такие решения, которым тараканы в голове аплодируют стоя.

  5. #1372
    Пользователь Аватар для TRam_
    Регистрация
    22.09.2009
    Возраст
    33
    Сообщений
    16,432

    По умолчанию

    Не, в принципе может управление в кабине перестать работать. Но вообще хз, это проблема у аурановского кода, а не у наших скриптов.

  6. #1373
    Пользователь Аватар для NickLon
    Регистрация
    23.09.2009
    Страна
    Адрес
    Москва
    Возраст
    50
    Сообщений
    2,427

    По умолчанию

    Ну и ещё одна проблема. Как заставить локомотив под ботом "шуметь" хоть чем-то, когда кабина изменена на дефолтную, чтоб он ездил по карте?
    Иногда мы принимаем такие решения, которым тараканы в голове аплодируют стоя.

  7. #1374
    Пользователь Аватар для Serega_82
    Регистрация
    11.11.2010
    Страна
    Возраст
    42
    Сообщений
    981

    По умолчанию

    NickLon, "прикрути" скрипты от локомотивов, которые расположены в этой теме Дело 10 минут максимум.

    ---------- Сообщение добавлено в 18:57 ---------- Предыдущее сообщение размещено в 18:26 ----------

    У меня тоже вопрос. Есть веерное депо. Как локомотиву дать знать какой путь свободен, чтобы туда повернуть круг, и в памяти оставить его положение (путь), чтобы потом опять себе повернуть круг и выехать на контрольный?

  8. #1375
    Пользователь Аватар для NickLon
    Регистрация
    23.09.2009
    Страна
    Адрес
    Москва
    Возраст
    50
    Сообщений
    2,427

    По умолчанию

    Ну вот, наткнулся я на естественное ограничение в Trainz. Сессия "БАМ: Олекма - Северобайкальск" в том виде, в котором я её изначально задумывал оказалась не жизнеспособна - слишком много подвижного состава не то, чтобы даже в зоне видимости, а вообще, на карте. Тормоза просто неприемлемые, даже на моём, довольно таки не слабом компьютере. Ну оно и не мудрено. Карта без малого 1000 км. и на всём этом расстоянии надо сделать так, чтобы хотя бы парочка поездов встречалась в течение получаса хотя бы. Когда расставил три пары пассажирских поездов, курсирующих по расписанию, всё было нормально, а вот когда начал пичкать карту грузовыми, тут и началось.
    На данный момент на карте присутствуют:
    31 магистральный машинист с поездами
    2 диспетчера;
    8 толкачей
    6 маневровых
    Это, оказывается, многовато для Trainz. А это ещё только процентов 65 от задуманного. И вот как быть в этой ситуации? Забрасывать не хочется, т.к. списки команд в библиотеке команд и в библиотеке очередей ожидания команд практически все уже составлены. Логика движения уже тоже практически настроена, включая движение с толкачами.
    Я вижу такой выход из создавшейся ситуации. Не строить одну гигантскую сессию для всей карты, тем более, что за один присест вряд ли кто-то доедет от Северобайкальска до Олекмы - там пассажирский только идет 16 часов, грузовые вообще, могут более суток идти от края до края. А создать несколько сессий, каждая последующая из которых будет продолжением предыдущей. Муторно, конечно. Это в любом случае одну гигантскую сессию всё равно придется делать и наблюдать за конвульсиями подвижного состава, чтобы выяснить и записать какой поезд в какой момент времени где находится. Точнее, в так называемое, "пограничное" между сессиями время. А потом, в каждой сессии использовать только тот состав, который будет виден игроком во время прохождения сессии. Остальные в списке машинистов будут подсвечены красным, кстати, при этом ничего плохого не произойдет?
    А кто-нибудь сталкивался с такой проблемой? И если да, то как решали?
    P.S. В варианте дробления сессии уже увидел недостаток один. На дальних станциях относительно игрока не будет формирования отцепов на индустриях, которые впоследствии забирает игрок, если успеет, конечно, перед ботом. Получается, либо "лысые" покатушки, либо кошмарные тормоза. Думаю, второй вариант сам собой отпадает.
    Иногда мы принимаем такие решения, которым тараканы в голове аплодируют стоя.

  9. #1376
    Пользователь Аватар для Ant.taranish
    Регистрация
    21.03.2011
    Страна
    Возраст
    33
    Сообщений
    582

    По умолчанию

    NickLon,
    Я полагаю, что сессия может быть очень длинной по времени и протяжённой по расстоянию, но разумеется при условии ограничения нагрузки на комп. Скорее всего это выразится в поддержании активности ботов и различных правил/скриптов в пределах некоторой зоны впереди и позади игрока. По мере продвижения игрока, зона активности перемещается вместе с ним. Всё, что произойдёт нескоро или давно произошло, не должно влиять на производительность, в том числе расставленные на карте составы. В том числе нужно:
    - отключать физику у всех не двигающихся составов
    - ограничивать количество движущихся составов
    - делить сессию на несколько микросценариев с "точками сохранения" между ними. Точка сохранения - момент когда все ранее запущенные логические конструкции уже отработали, и если после загрузки сохранения какое-то правило или набор команд не восстановится, это ни на что не повлияет. После сохранения игрок проезжает триггер, который запускает новые наборы правил на следующем участке. Помимо решения проблемы с сохранениями, такой подход позволяет отдельно тестировать каждый новый участок.

  10. Сказали спасибо: (3)


  11. #1377
    Пользователь Аватар для NickLon
    Регистрация
    23.09.2009
    Страна
    Адрес
    Москва
    Возраст
    50
    Сообщений
    2,427

    По умолчанию

    Ant.taranish,
    Давай разберём по полочкам. Сначала насчет длины сессии. Лет шесть уже лелею мысль сделать "бесконечную сессию", здесь я только "За!" А вот о каком ограничении нагрузки на комп ты говоришь? Когда запускается сессия, в ней есть определенное количество составов: вагонов, локомотивов, машинистов. И это количество никак в течение всей сессии, сколь долгой она ни была, не уменьшится и не увеличится. Как в течение сессии можно что-то ограничить?
    Скорее всего это выразится в поддержании активности ботов и различных правил/скриптов в пределах некоторой зоны впереди и позади игрока.
    Как боты могут быть не активны "где-то там"? Они же тоже должны что-то делать, чтобы когда они окажутся "где-то здесь" результатами их труда можно было бы воспользоваться. Например, задача для двух маневровых на угольной шахте наполнять поступившие полувагоны углём, чтобы прибывший игрок, в том числе, смог их забрать к перевозке из пункта А в пункт Б, как дополнительные к составу вагоны.
    Далее. "- отключать физику у всех не двигающихся составов". А это как? Когда я поставил правило, отключающее физику у составов без машинистов, у меня ВЛ80с-2223 даже пантографы не поднял. А машинист там был. Может быть я чего-то не умею, чего ты умеешь?
    "- ограничивать количество движущихся составов". Ну, так к этому выводу я и прихожу. Хотя из слона сделать кучу мух и заставить их жужжать у меня вряд ли получится. Нужно пересматривать саму концепцию построения сессий, переходящих одна в другую.
    Точки сохранения. Мысль то конечно очень здравая! Но как ты эту точку определишь? (между прочим, к этому вопросу - как определить правильно точку сохранения сессии ещё предстоит вернуться отдельно, т.к. это весьма важный момент) В этой точке не должно быть совмещенных команд, которые помимо движения бота перед этим ещё осуществляют сборку маршрута, например, "Маневрировать за М4, собрать маршрут на свободный путь". Хотя, здесь я могу ошибаться, Эрендир, вроде, этот ньюанс как-то пофиксил. То есть, если я восстанавливаю сохраненную сессию и там работает команда эта, она "понимает", что маршрут то уже собран маневровый и теперь надо только ехать, а не пытаться его опять собрать. Но это можно потестить. Вот этим вечером это и посмотрю. А помимо таких команд, есть ещё куча других. Не приведи Господи сохранить сессию, когда кто-то выполняет команду Load/UnLoad на индустрии! После сохранения сессии на этом месте, она восстановлению вообще не подлежит, т.к. достаточно одного "бешеного" маневрового, чтобы испортить всю сессию дальше.
    И всё-таки, твой ответ на мой пост меня подталкивает к тому, что действительно, нужно делить весь сценарий на 3-4 микросценария.
    P.S. А может, я чего-то не понимаю или не знаю?
    Иногда мы принимаем такие решения, которым тараканы в голове аплодируют стоя.

  12. #1378
    Пользователь Аватар для Ant.taranish
    Регистрация
    21.03.2011
    Страна
    Возраст
    33
    Сообщений
    582

    По умолчанию

    Цитата Сообщение от NickLon Посмотреть сообщение
    Когда запускается сессия, в ней есть определенное количество составов: вагонов, локомотивов, машинистов
    Пока они находятся вне видимости, пока для них не считается физика и не выполняются скриптовые расчёты, можно считать, что они не нагружают комп. То есть ограничивать надо не количество ПС на карте, а количество одновременно активного ПС.
    Цитата Сообщение от NickLon Посмотреть сообщение
    Когда я поставил правило, отключающее физику у составов без машинистов, у меня ВЛ80с-2223 даже пантографы не поднял. А машинист там был.
    Вряд ли это связано. Если машинист был, значит физика не отключалась. Надо тестировать. У некоторых локов машинист ничего не может сделать, пока этот лок выбран игроком. Кстати, правило при выполнении пишет в окно сообщений, сколько составов найдено, и у скольких отключена физика.
    Цитата Сообщение от NickLon Посмотреть сообщение
    Как боты могут быть не активны "где-то там"? Они же тоже должны что-то делать, чтобы когда они окажутся "где-то здесь" результатами их труда можно было бы воспользоваться
    Далее будет много букв.
    Открыть
    Последний раз редактировалось Ant.taranish; 19.12.2015 в 16:11.

  13. Сказали спасибо: (3)


  14. #1379
    Пользователь Аватар для NickLon
    Регистрация
    23.09.2009
    Страна
    Адрес
    Москва
    Возраст
    50
    Сообщений
    2,427

    По умолчанию

    Всем привет и с Новым годом!
    Ant.taranish, внимательно прочитал, что ты написал. Спасибо. Сейчас с учетом вышеизложенного пытаюсь что-то реализовать. Но возникла другая непредвиденная ситуация. О чем и вопрос.
    Настройка порталов по триггеру генерирует поезда с интервалом, которым там указал. Но мне это не нужно. Указано 2 поезда, вот их сгенерировать и больше не надо. Это возможно?
    Иногда мы принимаем такие решения, которым тараканы в голове аплодируют стоя.

  15. #1380
    Пользователь Аватар для RZD29RUS
    Регистрация
    30.11.2014
    Страна
    Адрес
    Ст. Плесецкая, Сев ЖД.
    Возраст
    30
    Сообщений
    903

    По умолчанию

    Всех приветствую. Задался вот каким вопросом: когда маршрут реальный, например, Печорка, то сценарий можно построить исходя из реального расписания РЖД на этом участке. А вот как быть с картами, которые полностью вымышлены, например Степная Даль? Конкретно интересует момент со стоянкой вашего поезда строго определённое время. Например, чтобы по моему приходу на станцию Хани выходной закрывался ровно на три минуты, а потом по команде диспетчера в HTML окне либо без оной открывался. Можно конечно построить весь трафик на карте чисто на связках Timecheck + Addpath, но это муторно и долго.
    Последний раз редактировалось RZD29RUS; 24.01.2016 в 22:03. Причина: опечатка

+ Ответить в теме

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения