Open AlmP-RUS opened 2 years ago
Плюсую и даже умножаю. У себя на локалке пытался реализовать подобное, сделав "Autostop" отдельным SignalType'ом. Однако все, что я понаписал в коде - огромнейшего размера костыль, ибо уровень моего знания луа и кода метростроя - "потыкай че-нибудь, поменяй циферки в коде и допиши пару if else, авось оно заработает". Поэтому хотелось бы видеть нормальную реализацию этой задумки в метрострое.
ну, будто бы могло быть иначе)))
В пул реквесте все описал
В пул реквесте все описал
Чекнул эту штуку у себя на локалке, столкнулся с такой вещью: в случае, если состав заспавнен так, что более 1 промежуточного вагона смотрят по направлению движения, происходит следующее: головной вагон проезжает автостоп и светофор нормально, после светофор перекрывается на запрещающее показание, однако далее на вышеупомянутые промежуточные вагоны, направленные головой по ходу движения, при проезде ими автостопа, который после проезда головы уже оказался в поднятом положении, также срабатывает Train.Pneumatic:TriggerInput("Autostop",nomsg and 0 or 1). Если же все промежуточные вагоны направлены головой против хода движения поезда, то такого не происходит, однако после оборота поезда на конечной эти вагоны в любом случае окажутся по направлению хода, и в итоге эта же штука со сработкой автостопов начнется уже на другом пути.
Понел, спасибо. Надо будет добавить "фильтр" только на головные вагоны или что-нибудь эдакое.
Еще там скорее всего есть баг: если автостоп будет стоять прямо на краю трека, и паравоз будет ехать очень быстро, то автостоп не сработает, так как там каждые полсекунды сопоставляется "предыдущий передний" и "нынешний задний" автостопы, а если паравоз будет уже не на треке или перейдет на другой трек, то "задний" автостоп не определится. И по аналогичной причине будет непредсказуемое поведение, если два автостопа в одном направлении стоят рядом, и паравоз проедет их оба быстрее чем за полсекунды. Это я уже не знаю как решить. Только если определять "передний" и "задний" автостопы каждый тик, но я не хочу.
И по аналогичной причине будет непредсказуемое поведение, если два автостопа в одном направлении стоят рядом, и паравоз проедет их оба быстрее чем за полсекунды. Это я уже не знаю как решить. Только если определять "передний" и "задний" автостопы каждый тик, но я не хочу.
Про эту штуку в курсе уже, код изучил, посмотрел (правда из-за своего уровня знания луа понял от силы половину). Такая же штука происходит и с sys_alscoil.lua, где прописано автостопное торможение от обычных signal - там может пройти аж секунда с момента проезда автостопа до момента его срабатывания, из-за чего и так не совпадающие с ПТЭ тормозные пути при автостопном торможении увеличиваются еще сильнее. Так, с 60 км/ч на ровном участке у меня Е тормозила 165 метров при норме в 125. Но это так, к слову.
Так, ну проверку вагонам на то, что у них может в принципе триггериться автостоп добавил. И уменьшил вероятность того, что не сработает автостоп, если за полсекунды было проехано 2+ автостопа (на скорости примерно 140км/ч эта фигня вернется, но в метрострое таких скоростей нет, так что можно считать, что полностью избавился от этой проблемы).
Осталась только одна проблема - если установить автостоп в самый конец трека, то он скорее всего проигнорируется. Но в метрострое с сигналами аналогичная фигня, так что можно оставить, думаю).
Добавьте возможность выносить автостопы у светофоров. ~При создании АБ это немного облегчит жизнь)~ Можно либо сделать отдельный ползунок в меню натройки светофора, на сколько будет автостоп вынесен вперед, но тогда будут беды в поворотах; либо сделать возможность ставить светофор сигнал тулом как отдельный самостоятельный entity (Ну например нужно нам вынести автостоп на 15 метров у светофора, мы ставим светофор, снимаем у него галочку autostop и после за 15 метров до него ставим сам автостоп, почему бы и нет собсна) Так же второй способ позволит при необходимости ставить дублирующий автостоп в тупиках, когда это будет нужно. Еще можно будет его как-то разнообразить и добавить возможность ставить например просто скобу перед тупиком или инерционник (на минске же как-то их сделали, не думаю что это прям так сложно)
~А вы тоже слышите звуки прикрепляющегося лэйбла "Прокрастинатион" и закрытия иссуе?~