Свои изобретения в Railworks
Re: Свои изобретения в Railworks
мда, так всё же непонятно. Нужно весь код посмотреть. Где-то либо ошибка, либо стоит через ещё какую-нибудь переменную провести команду.
Я ещё и сути команды не понял, что она должна делать и для чего? Вдруг это всё каким-то более простым способом можно сделать
Я ещё и сути команды не понял, что она должна делать и для чего? Вдруг это всё каким-то более простым способом можно сделать
*Train Simulator 2018*
Re: Свои изобретения в Railworks
Всем доброго дня
Уважаемые разработчики, предлагаю вашему вниманию небольшую зарисовку, а именно функцию скрипта, которая, являясь по сути универсальной заготовкой, на данный момент заточена под управление свистком/тифоном. Вот сам код: Особенность функции - для подачи или свистка, или тифона достаточно написать в коде скрипта вызов этой функции Signal ( 111 ). И не нужно заботиться о том, чтобы позже отключить то, что активировано.
Число, передаваемое в функцию - код, определяющий режим исполнения. Первая цифра - режим (1 - тифон, 2 - свисток, 3 - случайно ), вторая - количество подаваемых сигналов (от 1 до 9), и третья - продолжительность сигналов в секундах. Если первая цифра 3, то остальные значения не имеют, так как сигналы, их количество и продолжительность будут случайны.
Для использования код надо вставить в скрипт. Обязательно нужно в Update ( time ) вставить вызов функции Signal ().
Примером использования этого кода может быть вот такой вариант: Здесь происходит вызов этой функции при получении сообщения от путевого объекта (в данном случае это знак "С") Число "311" предписывает подачу сигнала случайной. К сожалению, мне не удалось добиться работы функции OnCustomSignalMessage под управлением бота, поэтому на этом этапе принято решение автоматизировать подачу свистка локомотивом игрока, если управление ведется не из кабины.
На практике это выглядит так:
Знак, инициирующий подачу сигнала, можно скачать здесь. За любезно предоставленный исходник модельки знака и помощь в экспортировании объекта в игру выражаю искреннюю благодарность Косте ака радиомастер. Для того, чтобы знак был доступен в редакторе, в фильтре активов нужно подключить пакет FSA/Addon. Знак расположен во вкладке "инфраструктура".
Надеюсь, мои старания пригодятся не только мне Приветствуются рекомендации по оптимизации и применению этой функции, расширении её функционала
Уважаемые разработчики, предлагаю вашему вниманию небольшую зарисовку, а именно функцию скрипта, которая, являясь по сути универсальной заготовкой, на данный момент заточена под управление свистком/тифоном. Вот сам код:
Спойлер
Код: Выделить всё
function Signal (value)
value = value or 0
if ( HornAktiv == 4 ) or ( value ~= 0 ) then
if value ~= 0 and value >= 111 then
Property = tonumber(string.sub(value,1,1));
if Property < 3 then
SignMode= Property;
QuaSign = tonumber(string.sub(value,2,2));
DurSign = tonumber(string.sub(value,3,3));
else
SignMode = 1;
QuaSign = ( math.random (1, 3) );
DurSign = 1;
end
HornAktiv, Timer = 4, 0;
end
if ( Timer + DurSign ) <= Call( "*:GetSimulationTime") then
if HornAktiv == 4 then
Timer = Call( "*:GetSimulationTime");
if Call( "*:GetControlValue", Mode[SignMode], 0 ) == 1 then
Call( "*:SetControlValue", Mode[SignMode], 0, 0 );
if QuaSign > 0 then
else
HornAktiv = 0
SignMode, DurSign = 0, 0;
end
else
QuaSign = QuaSign - 1
if Property == 3 then
SignMode = ( math.random (1, 2) );
DurSign = ( math.random (1, 3) );
end
Call( "*:SetControlValue", Mode[SignMode], 0, 1 );
end
end
end
end
Mode = {"Horn", "Whistle"}
end
Число, передаваемое в функцию - код, определяющий режим исполнения. Первая цифра - режим (1 - тифон, 2 - свисток, 3 - случайно ), вторая - количество подаваемых сигналов (от 1 до 9), и третья - продолжительность сигналов в секундах. Если первая цифра 3, то остальные значения не имеют, так как сигналы, их количество и продолжительность будут случайны.
Для использования код надо вставить в скрипт. Обязательно нужно в Update ( time ) вставить вызов функции Signal ().
Примером использования этого кода может быть вот такой вариант:
Спойлер
Код: Выделить всё
function OnCustomSignalMessage (ConsistMessage)
-- Signal on mark 'C'
if ( ConsistMessage == "0619010301" ) then
if gPlayerInCab ~= 1 then
Signal ( 311 )
end
end
end
На практике это выглядит так:
Знак, инициирующий подачу сигнала, можно скачать здесь. За любезно предоставленный исходник модельки знака и помощь в экспортировании объекта в игру выражаю искреннюю благодарность Косте ака радиомастер. Для того, чтобы знак был доступен в редакторе, в фильтре активов нужно подключить пакет FSA/Addon. Знак расположен во вкладке "инфраструктура".
Надеюсь, мои старания пригодятся не только мне Приветствуются рекомендации по оптимизации и применению этой функции, расширении её функционала
Спойлер
Как вариант, я планирую подточить этот код таким образом, чтобы продолжительность и количество свистков при проезде знака "С" при своей случайности, зависели от текущей скорости, для исключения длинных и частых гудков на станции, где они не уместны . Сейчас это не реализовано из-за того, что это требует привязки к конкретному локомотиву, а мне хотелось сохранить максимальную гибкость кода.
Последний раз редактировалось Света 12 янв 2016, 10:35, всего редактировалось 1 раз.
Сильные люди - это не те, у которых всё хорошо, а те, у которых всё хорошо несмотря ни на что.
Re: Свои изобретения в Railworks
Да, функция ретрансляции прописана.
Сильные люди - это не те, у которых всё хорошо, а те, у которых всё хорошо несмотря ни на что.
-
- Ветеран
- Сообщения: 2824
- Зарегистрирован: 20 сен 2012
- Откуда: Королёв (МО)
- Репутация: 4290
- Контактная информация:
Re: Свои изобретения в Railworks
Света,
Спойлер
Не уверен, что вам пригодится, но мало ли. Steam Sounds Supreme (разработчик озвучки паровозов и не только) как-то выкладывали видео, где показывали, что им удалось сделать скрипт так, что боты при отправлении включали продувные клапаны. В последних версиях их саунд-паков это должно присутствовать. Возможно вам пригодятся их наработки. Я правда не в курсе, последние ли версии их дополнений у нас на форуме.
Re: Свои изобретения в Railworks
Спойлер
Полезной может быть любая информация о "нестандартном" поведении ботов, определяемом скриптами.
Я ищу пути, чтобы "научить" АИ вести себя "как положенно", и если, например, заставить их свистеть при подцепке/отцепке вагонов реализуемо, то пока я не представляю, как заставить АИ подать сигнал перед началом движения, так, чтобы он сначала свистел, а только потом начинал движение. Поэтому даже информация о том, что какое-то действие бота перед отправкой реально реализовать через скрипт (я даже не упоминаю о самом исходнике скрипта), не будет лишняя, по крайней мере будет видно, что это перспективное направление, и что есть смысл искать такое решение
Я ищу пути, чтобы "научить" АИ вести себя "как положенно", и если, например, заставить их свистеть при подцепке/отцепке вагонов реализуемо, то пока я не представляю, как заставить АИ подать сигнал перед началом движения, так, чтобы он сначала свистел, а только потом начинал движение. Поэтому даже информация о том, что какое-то действие бота перед отправкой реально реализовать через скрипт (я даже не упоминаю о самом исходнике скрипта), не будет лишняя, по крайней мере будет видно, что это перспективное направление, и что есть смысл искать такое решение
Сильные люди - это не те, у которых всё хорошо, а те, у которых всё хорошо несмотря ни на что.
Re: Свои изобретения в Railworks
Света, да хоть бы свистели одновременно с отправлением. Не раз видел, как электрички так делают, а иногда даже и после отправления.
Re: Свои изобретения в Railworks
Вот пока что-та такое получается,кабину делаем для 2ТЭ10М,2ТЭ10У,2ТЭ10МР
Re: Свои изобретения в Railworks
RussianRW, а не затруднит ли Вас опубликовать скриншоты большего разрешения, ведь здесь же почти ничего не видно?
- animalkosmik
- Ветеран
- Сообщения: 3678
- Зарегистрирован: 05 окт 2011
- Репутация: 8717
Re: Свои изобретения в Railworks
pROssO, та запросто
каждый может установить 3ds Max и скачать эту кабину http://model.trainzup.com/?p=867
и не обращать внимание на эти бредни
каждый может установить 3ds Max и скачать эту кабину http://model.trainzup.com/?p=867
и не обращать внимание на эти бредни
RussianRW писал(а):Вот пока что-та такое получается,кабину делаем для 2ТЭ10М,2ТЭ10У,2ТЭ10МР
Re: Свои изобретения в Railworks
Спойлер
Уважаемые разработчики, я вас очень прошу, если кто-то будет моделить кабину именно по этим материалам (я не знаю, как это правильно называется), умоляю, уберите эту колбасу . Согласитесь, ну ведь ни один уважающий свое здоровье человек не будет катать в распечатанном виде продукты в пыльной, а летом ещё и жаркой кабине, а положит в холодильник, специально для этого устроенный. Ну честно, ещё только кильки в "Известиях" не хватает. Пожалуйста, не превращайте мою любимую машину в столовую
Сильные люди - это не те, у которых всё хорошо, а те, у которых всё хорошо несмотря ни на что.
Re: Свои изобретения в Railworks
И так вы машинисты вас направили в Владивосток едите вы уже 1 день а жирать та хочется не будете постоянно есть Дошираки от них у вас в 99.9% будет язва а ведь мяса та хочется !! а тут помощник сидит ))))) ну или как говорится с голодухи всё будут жирать хоть и пропадут за то какой эффект будет
Re: Свои изобретения в Railworks
RussianRW
Спойлер
какой язык применяешь при общении? Гугльпереводчик задымился, переводя твою писанину
- Sergey1507
- Мастер
- Сообщения: 360
- Зарегистрирован: 06 янв 2012
- Откуда: Калининград (МО)
- Репутация: 224
Re: Свои изобретения в Railworks
О колбасе.
Вспомните BR Class 35. Там пирожок из печки доставался и обратно в печку убирался. Можно при желании и для кабины 2ТЭ10 какую нибудь "сумку" придумать, тогда при поездке во Владивосток будет чем червячка заморить.
Света
На счет того, чтобы гудок подать. Странно, что то как у тебя прописано не срабатывает у бота при проезде мимо знака. Может в коде имеет место предписание, что сначала надо проверить, это поезд игрока или нет?
Знаю точно, что на данный момент в игре невозможно реализовать подачу сигнала при "встрече" поездов. Даже нет смысла пытаться, так как таких триггеров пока в игре не предусмотрено. (В Trainz есть). Намек на такой триггер - это анимированный переезд. Но триггер перезда не прикрепить к поезду.
Вспомните BR Class 35. Там пирожок из печки доставался и обратно в печку убирался. Можно при желании и для кабины 2ТЭ10 какую нибудь "сумку" придумать, тогда при поездке во Владивосток будет чем червячка заморить.
Света
На счет того, чтобы гудок подать. Странно, что то как у тебя прописано не срабатывает у бота при проезде мимо знака. Может в коде имеет место предписание, что сначала надо проверить, это поезд игрока или нет?
Знаю точно, что на данный момент в игре невозможно реализовать подачу сигнала при "встрече" поездов. Даже нет смысла пытаться, так как таких триггеров пока в игре не предусмотрено. (В Trainz есть). Намек на такой триггер - это анимированный переезд. Но триггер перезда не прикрепить к поезду.
Re: Свои изобретения в Railworks
Sergey1507
Почему странно? Само имя функции "OnCustomSignalMessage" - "Входящее пользовательское сообщение от сигнала" - убеждает меня в том, что это функция, работающая только для игрока. Так же, как и код сообщения "15", который используется только для игрока.
Предписание поначалу было запланировано, чтобы поезд игрока не реагировал на это сообщение. Но ни с предписанием, ни без него добиться работы функции мне не удалось. Последним тестировался такой код: То есть, при любом сообщении, переданном через "SendConsistMessage" как минимум 1 окно должно высвечивать, что показало бы запуск самой функции. А это происходит только когда локомотив под моим управлением
Почему странно? Само имя функции "OnCustomSignalMessage" - "Входящее пользовательское сообщение от сигнала" - убеждает меня в том, что это функция, работающая только для игрока. Так же, как и код сообщения "15", который используется только для игрока.
Предписание поначалу было запланировано, чтобы поезд игрока не реагировал на это сообщение. Но ни с предписанием, ни без него добиться работы функции мне не удалось. Последним тестировался такой код:
Код: Выделить всё
function OnCustomSignalMessage (ConsistMessage)
SysCall("ScenarioManager:ShowAlertMessageExt","receive messages","",1,0)
if ConsistMessage == "0619010301" then
-- signal (311)
SysCall("ScenarioManager:ShowAlertMessageExt","match code","",5,0)
else
SysCall("ScenarioManager:ShowAlertMessageExt","mismatching code","",5,0)
--
-- Sector ALSN
end
end -- OnCustomSignalMessage( message )
Последний раз редактировалось Света 20 янв 2016, 21:48, всего редактировалось 1 раз.
Сильные люди - это не те, у которых всё хорошо, а те, у которых всё хорошо несмотря ни на что.
Re: Свои изобретения в Railworks
Да ладно с этой колбасой это вобще колбаса с ИРП Военного так что там повод отравится толком нету,по скоку срок хранения продуктов 2-4 года лучше посмотрите на эту колбасу
Re: Свои изобретения в Railworks
Мне удалось научить поезда "видеть" друг друга при встрече . Более того, мой локомотив свистит при этом . Дело за малым - научить ботов ловить код светофора. Или заставить локомотив свистеть от кодов AWS, TWPS. Пока мне это не удалось. Кто-нибудь хочет подключиться?Sergey1507 писал(а):Знаю точно, что на данный момент в игре невозможно реализовать подачу сигнала при "встрече" поездов. Даже нет смысла пытаться, так как таких триггеров пока в игре не предусмотрено.
Сильные люди - это не те, у которых всё хорошо, а те, у которых всё хорошо несмотря ни на что.
Re: Свои изобретения в Railworks
Поезд под управлением АИ рад нас видеть
Всё-таки, нет ничего невозможного .
Естественно, все наработки пока очень сырые, требуют адаптации к существующей сигналке, добавления защитных условий и т.п..
Но главное - возможность встречных сигналов - реальность
Особую благодарность выражаю пользователю Sergey1507 - именно его идея использована как основа решения задачи
Самое главное сделано - найдено решение. Теперь для дальнейшего продвижения в этом направлении мне нужна помощь. Направления в разработке - изготовление 3D-модельки для путевого объекта, помощь со скриптом, тестирование на полигоне, оборудованном нашей сигналкой. Если кто-то хочет помочь в разработке - добро пожаловать в ЛС.
Всё-таки, нет ничего невозможного .
Естественно, все наработки пока очень сырые, требуют адаптации к существующей сигналке, добавления защитных условий и т.п..
Но главное - возможность встречных сигналов - реальность
Особую благодарность выражаю пользователю Sergey1507 - именно его идея использована как основа решения задачи
Самое главное сделано - найдено решение. Теперь для дальнейшего продвижения в этом направлении мне нужна помощь. Направления в разработке - изготовление 3D-модельки для путевого объекта, помощь со скриптом, тестирование на полигоне, оборудованном нашей сигналкой. Если кто-то хочет помочь в разработке - добро пожаловать в ЛС.
Сильные люди - это не те, у которых всё хорошо, а те, у которых всё хорошо несмотря ни на что.