Форум Trainsim

Форум Trainsim (http://www.trainsim.ru/forum/index.php)
-   TrainZ - Маршруты и сценарии (http://www.trainsim.ru/forum/forumdisplay.php?f=24)
-   -   Светофоры sU и маршрутизация zxPath (http://www.trainsim.ru/forum/showthread.php?t=15268)

TRam_ 11.07.2013 13:16

Ну, вручную ты и так будешь знать, что послал до этого светофора другой локомотив, потому я и не сделал переключателя в браузере.

OldFox 17.11.2013 01:53

Подниму темку....

Кратко
Маршрут - Бам
Сигналка sU
Маршрутизация - zxpatch
станция Северобайкальск.
Выдает ошибку

[QUOTE]Thread Exception: ER_NullReference, line 989, file zx_signal.gs

Stack dump:

function $bool@zxSignal_main::Switch_span(), line -1
function $bool@zxMainJunctionControllerBase::ChangeSpanDirectionFor(string,int,int), line 1102
function $bool@zxMainJunctionControllerBase::CheckPath(int), line 724
function $void@zxMainJunctionControllerBase::SetUsualPath(string,int,int,bool), line 1618
function $void@TU_AI_ZXPathCreateForClosedSignalCustomCommand::ChoseAndMakePath(Train,TUDrivingWithSpeed,zxMainJunctionControllerBase,zxSignal,string,Soup,int,int), line 82
function $bool@TU_AI_ZXPathCreateForClosedSignalCustomCommand::Execute(Train,int,int,int), line 210
function $void@Train::RunSchedule(Schedule,bool,float), line 1955[/QUOTE]

при просчете стрелок и маршрутов ошибок нет.
В какую сторону "копать" ? :confused:

TRam_ 17.11.2013 02:02

ошибка вызвана тем, что перегон, на который строится маршрут, не инициализирован (это в свойствах входного светофора любого из концов его пути) либо у этого перегона нет входного светофора обратного направления (если это двухпутный перегон). Если светофора нет, можно поставить "невидимый карликовый", сделать ему розжиг жзк, убрать галочку "автооткрытие" и поставить галочку "входной" (ну и после отнести к его станции и инициалзировать перегон).

После добавления светофора придётся проинициализировать светофоры в будке (потеряются построенные маршруты).

OldFox 17.11.2013 03:14

Перегон проинициализирован, перед возникновением ошибки прошел состав в четную сторону, потом встречный в нечетную. Вот следующий в четную сторону уже не проходит. При попытке собрать маршрут командой светофор Ч1А не открывается, перегон в четную сторону не переключается, игра выводит эту ошибку. Перегон Северобайкальск - Блок-пост 1084 км. Заметил только что эта ошибка выскакивает на тех перегонах, на которых стоят невидимые сбрасывающие стрелки...
В частности между выходным Ч1А Северобайкальска и входным Н приходится ставить такую.
ЗЫ : Сейчас еще попробую посносить весь подвижной состав и проехаться одним локомотивом туда-сюда....

TRam_ 17.11.2013 03:57

Можно было бы сделать ещё проще - попереключать направление перегона в "свойствах" любого из входных этого перегона.


Если на перегоне остался заградительный от z7, он тоже может влиять.

OldFox 17.11.2013 04:21

В свойствах светофора перегон переключается неограниченное количество раз. Заградительные от z7 убрал, (пройдусь еще раз на всякий пожарный). А вот при прохождении маршрута именно на третьем маршруте все останавливается.
Взял вот Волдовский СО17-4377 - Проехал в четную сторону, в нечетную а вот снова в четную - опять та же ошибка :confused:
А может быть такое что светофоры z7 мешают ? Я убрал на карте станционные контроллеры и главный контроллер, но светофоры еще не до конца заменил. Стоп-тригер я конечно поставил, чтоб маршрутизация дальше не лезла, но светофоры z7 еще на карте есть...
На 12 станциях светофоры заменены, местами даже стрелки перелопатил :crazy:
Дальше стоп-тригер стоит, маршруты не просчитываются.

TRam_ 17.11.2013 04:25

Ну и последние две идеи, что может быть - глюк из-за слоёв прогрузки свойств входного светофора или неуникальность имени входного светофора. В обоих случаях нужно входные с обоих сторон перегона удалить, и поставить новые. Но это только в том случае, если ошибка повторится при переключении направления перегона вручную (из свойств входного - в редакторе или машинисте).

Если переключение вручную работает нормально, а команда глючит, тогда без понятия что происходит.

Ошибка звучит так: "при изменении направления перегона не удалось получить ссылку на светофор с противоположного конца перегона, исходя из его имени (которое этот входной запомнил в своей базе)". То, что ссылка не нашлсь, определилось при вызове его функции "выключить перегоны моего направления"

OldFox 17.11.2013 04:28

Спасибо, буду копать дальше... :)
Ну не может так быть чтоб решения не нашлось... :drinks:

Накрайняк - игру переставлю :D

ЗЫ: Что еще заметил - после этой ошибки все скриптованые локомотивы перестают управляться, приходится перезапускать игру и заново переинициализировать стрелки, светофоры и маршруты.

TRam_ 17.11.2013 04:51

ещё идеи - проверить этот паерегон не командами автопоиска маршрутов, а ручным заданием маршрутов и их ручным удалением, через браузер (группы маршрутов с обоих сторон перегона).

Ещё вариант - переименовать входные, чтоб у них более простое уникальное имя было (чем trigger 3533234).



Смысла переустанавливать игру никакого. Дело в карте(т.е. маршруте) и движке скриптов.

[size="1"][color="Silver"]Добавлено через 5 минут[/color][/size]
Да, ещё кое-что уточню - попробуй переключить перегон вначале из светофора Н, потом из светофора Ч, потом снова из Н.

OldFox 17.11.2013 05:00

Все светофоры обзываю именем станции или перегона и номером светофора, никаких trigger. Иначе потом фиг найдешь... :)
Нашел тут стрелки с таким же именем, переименовал. При сохранении карты выдало
[QUOTE]Thread Exception: ER_NativeCallError, line -1, file junctionlibrary controler.gs

Stack dump:

<kuid2:400260:98888231:6>

function $string@GameObject::GetName(), line -1
function $Soup@zxMainJunctionController::ToSoupJL(), line 662
function $Soup@zxMainJunctionController::GetProperties(), line 1710[/QUOTE]
И игра повесилась намертво...
А, я забыл еще саму стрелку переименовать, только леверы переименовал...
Сори, эт я протупил, уже наверное спать пора.. :D

Щаз еще твои идеи попробую...

TRam_ 17.11.2013 05:15

[QUOTE]При сохранении карты выдало [/QUOTE]перед сохранением надо было их проинициализировать. И всё б нормально было.

[QUOTE]Нашел тут стрелки с таким же именем, переименовал[/QUOTE]в них и было дело. У тебя светофор "искал приятеля а нашёл стрелочку", имена-то одинаковые :)

OldFox 17.11.2013 06:19

Спасибо за направление мысли. :)
Ошибка найдена и исправлена. Имена противошерстной стрелки и входного светофора были одинаковы. Для z7 наверное это было некритично, для sU оказалось неприемлемо. И я даже понял почему именно на второй проход по четному перегону срабатывало...
Что меня несколько сбивало с мысли.
Одна голова - хорошо, а две по любому лучше :drinks:
ЗЫ: Жаль на трайзапе я только читателем числюсь...:(
Все, спать, спать, спать....

Эрендир 18.11.2013 08:51

[QUOTE=TRam_;432048]что может быть - глюк из-за слоёв прогрузки свойств входного светофора[/QUOTE]

При сохранении сессии все настройки всех объектов сохраняются в слой сессии, не зависимо то того слоя, где эти объекты стоят. И именно от туда они и загружаются при старте сессии. Доказано опытным путём.

TRam_ 18.11.2013 13:41

Доказано в билде 3.7 . Для билда 3.6 не доказано, точнее, доказано обратное (у некоторых светофоров, которые ставили в слой сессии, а потом указывали им слой карты, появляется двойной вызов SetProperties, один от слоя карты, второй от слоя сессии).

Эрендир 19.11.2013 09:01

Он и в 3.7 точно так же для объектов в слое карты. Они сначала вызывают SetProperties при загрузке карты, а потом и при загрузке сессии... Это надо учитывать при разработке.


Текущее время: 02:48. Часовой пояс GMT +4.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
© 2001-2019, Администраторы и разработчики Клуба Trainsim