Свои изобретения в Railworks

Обсуждение вопросов и решение проблем, связанных с внутриигровым редактором, а также процессом разработки самостоятельных дополнений или игровых модификаций.
Linx
Специалист
Специалист
Сообщения: 213
Зарегистрирован: 07 дек 2014
Откуда: Россия
Репутация: 539

Re: Свои изобретения в Railworks

Сообщение Linx »

Кусочек видео, с работой над рельефом у полотна и черновой рассадкой деревьев.

Аватара пользователя
dison202
Разработчик
Сообщения: 226
Зарегистрирован: 12 апр 2013
Откуда: Украина
Репутация: 664

Набор ЖД знаков.

Сообщение dison202 »

Изображение

Приветствую всех друзья! Итак, хочу представить всем свой набор ЖД знаков. На данный момент пак не финальный, по мере возможности планирую добавить еще несколько знаков. Все объекты в пакете максимально оптимизированы, все элементы имеют LOD-ы. В зимнее время на всех знаках есть снег.
Спойлер
* Пикетные столбики, два варианта - "Острый" и "Фигурный".
* Предельные столбики, два варианта - Круглая труба и бетонный столбик на квадратной основе.
* Километровые столбы, 9 вариантов.
* Бетонный "Блинчик", для опциональной установки по желанию на столбы.
* Габаритные ворота для ЖД переездов, двух вариантов. Ширина 9 метров, для установки на дорогу шириной 7 метров.
* Сигнальные знаки для снегоочистительных работ на путях.
* Знаки предупреждающие, таблички на столбе.
* Знаки для нейтральных вставок, навесные.
Спойлер
Изображение
Изображение
Изображение
Изображение

Спойлер
Для определения пакета в редакторе, необходимо выбрать автора DSM в списке доступного контента.

...Пикетные столбики...
Все пикетные столбы собраны в один общий элемент - "RU Километровый знак. Пикетные столбики". По клику на этот обьект, справа всплывет список всех столбиков, первые два варианта трогать не нужно, это маркера расстановки столбов с интервалом 100 метров.

Для начала установки, достаточно кликнуть по вышеуказанному элементу, и ничего не трогая проставить маркера. После в списке уже выбрать нужный столбик и ставить их напротив маркеров. После всех расстановок, маркера можно удалить. К сведению, выпадающий список имеет полосу прокрутки.

...Километровые столбы...
Ориентируясь на проставленные маркера, устанавливаем километровый столб после каждого 9-того пикета. Для ввода значения столба, кликните на нем два раза, справа в выпадающем списке вводите требуемые значения. Например, если вам надо установить на столбе значения первого километра с переходом на второй, вводим значение 12, для перехода с 9-ого на 10-ый - 910, и дальше по такому-же принципу - 2324, 99100, 223224, 9991000, 44454446.


...

Anton_07RUS
Разработчик
Сообщения: 1317
Зарегистрирован: 06 ноя 2011
Откуда: Кабардино-Балкарская Республика.г.о.Нальчик
Репутация: 1865

Re: Свои изобретения в Railworks

Сообщение Anton_07RUS »

Ну Артём, ну ОГРОМНОЕ СПАСИБО тебе мил человек.Давно о знаках таких мечтал.
Аватара пользователя
Sergey1507
Мастер
Мастер
Сообщения: 360
Зарегистрирован: 06 янв 2012
Откуда: Калининград (МО)
Репутация: 224

Re: Свои изобретения в Railworks

Сообщение Sergey1507 »

Итак! Скрины моего вагонного творчества

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

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

На очереди трубопроводы тормозной и разгрузочной магистралей, элементы системы разгрузки и концевые краны.
Мой старенький комп двенадцать моделей вагонов протягивает. По весу модель с лодами похожа на модель class47 которая появилась в Railworks3 (3,5 MB).
le Sandro
Разработчик
Сообщения: 708
Зарегистрирован: 15 фев 2012
Откуда: Пенза
Репутация: 462

Re: Свои изобретения в Railworks

Сообщение le Sandro »

Думаю, на колеса можно побольше граней сделать, чтобы "квадратными" не были.
Мы с PNZ.
Linx
Специалист
Специалист
Сообщения: 213
Зарегистрирован: 07 дек 2014
Откуда: Россия
Репутация: 539

Re: Свои изобретения в Railworks

Сообщение Linx »

Продолжение работы над зеленкой. Готов перегон Мценск-Думчино. Надо доточить, наделать недостающих объектов и выезжать дальше. В остатке 24 километра... делаю по видео в меру возможностей, которые дает игра

Аватара пользователя
радиомастер
Разработчик
Сообщения: 522
Зарегистрирован: 16 дек 2010
Откуда: Макеевка,Донбасс
Репутация: 1641

Re: Свои изобретения в Railworks

Сообщение радиомастер »

Кто знает как пользоваться функциями по скрипту
GetWiperValue(pairIndex, aOrB)
SetWiperValue(pairIndex, aOrB, value)
GetWiperPairCount() ? Нужно для дворников для тэ10 , чтобы регулировать скорость работы дворников , но и капли чтобы не отставали . Короче как в бр155 .
Объекты от радиомастера для RailWorks бесплатно Способ поддержки ПСБ 2200 0303 3116 4229 Save DONBASS People from Kiev Agression
Аватара пользователя
Света
Разработчик
Сообщения: 752
Зарегистрирован: 13 мар 2015
Репутация: 1470

Re: Свои изобретения в Railworks

Сообщение Света »

радиомастер, а можно сам оригинальный скрипт, где эти функции используются? А то у меня нет бр155.
Сильные люди - это не те, у которых всё хорошо, а те, у которых всё хорошо несмотря ни на что.
Аватара пользователя
радиомастер
Разработчик
Сообщения: 522
Зарегистрирован: 16 дек 2010
Откуда: Макеевка,Донбасс
Репутация: 1641

Re: Свои изобретения в Railworks

Сообщение радиомастер »

Он там зашифрован (скомпилирован) , только и видно имена контролов и названия функций .
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Объекты от радиомастера для RailWorks бесплатно Способ поддержки ПСБ 2200 0303 3116 4229 Save DONBASS People from Kiev Agression
Аватара пользователя
Света
Разработчик
Сообщения: 752
Зарегистрирован: 13 мар 2015
Репутация: 1470

Re: Свои изобретения в Railworks

Сообщение Света »

Кто нибудь знает, существует какой-то аналог функции OnCustomSignalMessage, только чтобы работала и на поезде, управляемом ботом?
Сильные люди - это не те, у которых всё хорошо, а те, у которых всё хорошо несмотря ни на что.
Аватара пользователя
pROssO
Ветеран
Сообщения: 3517
Зарегистрирован: 21 май 2012
Откуда: Минск
Репутация: 4858

Re: Свои изобретения в Railworks

Сообщение pROssO »

Света, в первый раз слышу, что OnCustomSignalMessage не работает с AI. Есть обратная ей по смыслу OnConsistApproach (frontDistance, endDistance, speed), применяемая, в частности, для переездов, которая регулирует поведение объекта при приближении поезда, но вряд ли это по делу.
Аватара пользователя
Света
Разработчик
Сообщения: 752
Зарегистрирован: 13 мар 2015
Репутация: 1470

Re: Свои изобретения в Railworks

Сообщение Света »

pROssO, тем не менее, это так :unknown: . Самый простой способ контроля - установить команду вывода окошка с сообщением внутри этой функции. Если состав управляется ботом, окошко не выводится, а часть скрипта внутри этой функции не исполняется. У меня половина дня ушла на поиски ошибок в коде, пока не стало очевидным, что часть его (внутри этой функции) просто игнорируется. Думаю, что как сообщения с кодом "15", так и функция OnCustomSignalMessage, инициируемая этими сообщениями, являются чисто пользовательскими.
pROssO писал(а):Есть обратная ей по смыслу OnConsistApproach (frontDistance, endDistance, speed), применяемая, в частности, для переездов, которая регулирует поведение объекта при приближении поезда, но вряд ли это по делу.
Нет, мне нужно именно передать на исполнение команду составу.
Сильные люди - это не те, у которых всё хорошо, а те, у которых всё хорошо несмотря ни на что.
Аватара пользователя
pROssO
Ветеран
Сообщения: 3517
Зарегистрирован: 21 май 2012
Откуда: Минск
Репутация: 4858

Re: Свои изобретения в Railworks

Сообщение pROssO »

Света, Signal Message с ID 15 (Custom Message) в отличие от остальных, обрабатывается в Engine-скрипте (остальные - ядром сима). Несмотря на то, что сам я прежде этой функцией не пользовался, уверен, что AI должен его принимать.
Аватара пользователя
Света
Разработчик
Сообщения: 752
Зарегистрирован: 13 мар 2015
Репутация: 1470

Re: Свои изобретения в Railworks

Сообщение Света »

pROssO писал(а):...Signal Message с ID 15 (Custom Message) в отличие от остальных, обрабатывается в Engine-скрипте...
Да, именно поэтому я его применяю.
Вот код передатчика:

Код: Выделить всё

--------------------------------------------------------------------------------------

CUSTOM_MESSAGE = 15
CALL_HORN = "0619010301"
--------------------------------------------------------------------------------------
-- INITIALISE
--
function Initialise ()
end

--------------------------------------------------------------------------------------
-- ON SIGNAL MESSAGE
function OnSignalMessage( message, parameter, direction, linkIndex )
	Call( "SendSignalMessage", message, parameter, -direction, 1, linkIndex )
end

-- ON CONSIST PASS
function OnConsistPass ( prevFrontDist, prevBackDist, frontDist, backDist, linkIndex )
	if ( frontDist > 0 and backDist < 0 ) or ( frontDist < 0 and backDist > 0 ) then
		if ( prevFrontDist > 0 and prevBackDist > 0 ) then
			Call( "SendConsistMessage", CUSTOM_MESSAGE, CALL_HORN )
		end
	end
end		
--------------------------------------------------------------------------------------
Работает четко, здесь нет диагностических сообщений, потому что у них уже нет необходимости и они удалены. А вот приемник:

Код: Выделить всё

function  OnCustomSignalMessage (ConsistMessage) 
		SysCall("ScenarioManager:ShowAlertMessageExt","","Signal",5,0)
	if ( ConsistMessage == "0619010301" ) then
		SysCall("ScenarioManager:ShowAlertMessageExt","","Zahvat",5,0)
	end
end -- OnCustomSignalMessage( message )
Даже если предположить, что при передаче сообщения есть ошибка, текст "Signal" всё равно должен выводится. На практике когда состав ведёт бот, сообщений нет; стоит захватить его мне и заново проехать по линкам передатчика, всё начинает работать.
Сильные люди - это не те, у которых всё хорошо, а те, у которых всё хорошо несмотря ни на что.
Аватара пользователя
Cross
Разработчик
Сообщения: 6330
Зарегистрирован: 14 дек 2011
Откуда: Москва
Репутация: 2985

Re: Свои изобретения в Railworks

Сообщение Cross »

Света
к чему именно скрипт относится - к локомотиву, или к сигнализации? Есть кое-какие мысли, почему оно не работает. Только мне бы весь код увидеть. А точнее весь код на то, что именно нужно сделать
*Train Simulator 2018*
Изображение
Аватара пользователя
Света
Разработчик
Сообщения: 752
Зарегистрирован: 13 мар 2015
Репутация: 1470

Re: Свои изобретения в Railworks

Сообщение Света »

Cross, это практически весь код и есть. Остальное к нему не относится. Передатчик - это линковый объект на путях, а приемник - пока что многострадальный ТЭМ2, в котором временно установлен приведенный код. Строка

Код: Выделить всё

SysCall("ScenarioManager:ShowAlertMessageExt","","Zahvat",5,0)
должна была после отладки замениться на команду, но увы...
Сильные люди - это не те, у которых всё хорошо, а те, у которых всё хорошо несмотря ни на что.
Аватара пользователя
Cross
Разработчик
Сообщения: 6330
Зарегистрирован: 14 дек 2011
Откуда: Москва
Репутация: 2985

Re: Свои изобретения в Railworks

Сообщение Cross »

Света
если речь об объекте на путях, то вот код на примере нейтральной вставки:
Здесь видно, что при пересечении, когда расстояние 0, происходит передача сигнала.

Код: Выделить всё

CUSTOM_MESSAGE = 15
function Initialise ()
--
end

function OnConsistPass ( prevFrontDist, prevBackDist, frontDist, backDist, linkIndex )
	if ( prevFrontDist * frontDist < 0 ) then
		Call( "SendConsistMessage", CUSTOM_MESSAGE, "NeutralSection" )
	end
end

function OnSignalMessage( message, parameter, direction, linkIndex )
	Call( "SendSignalMessage", message, parameter, -direction, 1, linkIndex )
end
Это полностью рабочий код, без глюков. Теперь мне нужен кусок кода из функции OnCustomSignalMessage локомотива. Полностью.
*Train Simulator 2018*
Изображение
Аватара пользователя
Света
Разработчик
Сообщения: 752
Зарегистрирован: 13 мар 2015
Репутация: 1470

Re: Свои изобретения в Railworks

Сообщение Света »

Cross, это практически тоже самое, что и у меня, с небольшим непринципиальным отличием. Проблем с передачей нет, там все четко, проблема именно в приеме, то есть когда бот управляет локомотивом, функция OnCustomSignalMessage локомотива не работает. Сейчас я ищу другие пути, но пока безуспешно.
Сильные люди - это не те, у которых всё хорошо, а те, у которых всё хорошо несмотря ни на что.
Аватара пользователя
Cross
Разработчик
Сообщения: 6330
Зарегистрирован: 14 дек 2011
Откуда: Москва
Репутация: 2985

Re: Свои изобретения в Railworks

Сообщение Cross »

Света
не работать может ещё и по той причине, если кусок кода, который связан с приёмом сигнала, находится в условии "если дать управление игроку" или if Call( "GetIsPlayer" ) == 1 then
Тогда, если в функции OnCustomSignalMessage есть условие if Call( "GetIsPlayer" ) == 0 then, может ничего не сработать. Проверь этот момент
*Train Simulator 2018*
Изображение
Аватара пользователя
Света
Разработчик
Сообщения: 752
Зарегистрирован: 13 мар 2015
Репутация: 1470

Re: Свои изобретения в Railworks

Сообщение Света »

Cross, нет, такого условия нету. Всё именно так, как я привожу - функция начинается выводом диагностического сообщения, без условий. Это полный код по этой функции, без купюр:

Код: Выделить всё

function  OnCustomSignalMessage (ConsistMessage) 
      SysCall("ScenarioManager:ShowAlertMessageExt","","Signal",5,0)
   if ( ConsistMessage == "0619010301" ) then
      SysCall("ScenarioManager:ShowAlertMessageExt","","Zahvat",5,0)
   end
end -- OnCustomSignalMessage( message )
Это уже вынуждено, поначалу код был посложнее. Но из-за его отказа работать пришлось понемногу убирать условия, пока не стало очевидным, что дело не в ошибке. Поэтому это уже просто код отладки. При проследовании линка первое сообщение должно сразу выводиться. А потом, при выполнении условия, должно вывестись второе сообщение. Вернее, одно сразу за другим. На практике этого нет. Как я не пробую, эта функция мертва при АИ. Да и название её на это указывает.
Последний раз редактировалось Света 29 янв 2016, 00:41, всего редактировалось 1 раз.
Сильные люди - это не те, у которых всё хорошо, а те, у которых всё хорошо несмотря ни на что.
Ответить