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

Обсуждение вопросов и решение проблем, связанных с внутриигровым редактором, а также процессом разработки самостоятельных дополнений или игровых модификаций.
Аватара пользователя
fav39
Магистр
Магистр
Сообщения: 865
Зарегистрирован: 27 авг 2014
Откуда: Рязань
Репутация: 3292

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

Сообщение fav39 »

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

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

Сообщение Cross »

fav39
с телефона даже не пытайтесь, микрофон там очень очень хреновый для подобных затей. Нужен или профессиональный диктофон или что-то получше. Очень много решает качество самой записи, потом легче будет редактировать образцы, в противном случае придётся изгаляться над выводом финального звука в редакторах и не всегда это будет получаться
*Train Simulator 2018*
Изображение
Аватара пользователя
Sergey1507
Мастер
Мастер
Сообщения: 360
Зарегистрирован: 06 янв 2012
Откуда: Калининград (МО)
Репутация: 224

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

Сообщение Sergey1507 »

Здравствуйте, уважаемые собеседники!

Я продолжаю потихоньку своё творчество. Вашему внимаю представляю скриншоты упряжи узкоколейного ПС

Изображение
Изображение
Изображение
Изображение
Изображение
Изображение


P.S.
Еще вот что. Пользователь Name name11 предлагает взяться за конвертирование электровоза (не знаю, что за модель, Name name11 не написал). Я за конверт браться не буду, так как для меня чужие модели - потёмки, и своих бытовых дел хватает. Может быть кто другой захочет взяться, вероятно что Name name11 стоящую штуку хочет предложить.
Аватара пользователя
Света
Разработчик
Сообщения: 752
Зарегистрирован: 13 мар 2015
Репутация: 1470

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

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

Всем доброго дня!
Вопрос к нашим "скриптерам": подскажите, пожалуйста, какую переменную можно использовать для определения местонахождения камеры игрока (в кабине или вне) и какое значение должно быть, если игрок находится в кабине? Для проверки условия:
Спойлер
function имя функции
if переменная == "значение" then
SysCall ( "реакция функции");
return TRUE;
end
Спасибо :) .
Сильные люди - это не те, у которых всё хорошо, а те, у которых всё хорошо несмотря ни на что.
Аватара пользователя
Sergey1507
Мастер
Мастер
Сообщения: 360
Зарегистрирован: 06 янв 2012
Откуда: Калининград (МО)
Репутация: 224

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

Сообщение Sergey1507 »

Света

Полагаю, что вот это тебе подойдёт

OnCameraEnter ( cabEndWithCamera, carriageCam )
Called when the camera enters the cabview or carriage view.
cabEndWithCamera: 0 = none, 1 = front, 2 = back.
carriageCam: 0 if cab cam, 1 if carriage cam

OnCameraLeave ()Called when the camera leaves to an external cam
Аватара пользователя
Света
Разработчик
Сообщения: 752
Зарегистрирован: 13 мар 2015
Репутация: 1470

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

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

Спасибо, но... немножко не понятно, а это фрагмент кода, проверяющего местоположение камеры, или набор нескольких альтернативных переменных? А то я не очень пока в скриптовании, так, простые конструкции /если-то/, /если-то-иначе/, :oops: . Пока выше головы не прыгну...
Очень уж мне эта часть понравилась:

cabEndWithCamera: 0 = none, 1 = front, 2 = back

Если cabEndWithCamera - это переменная, а 0,1,2 - принимаемые значения, то это именно то, что нужно :) .
Сильные люди - это не те, у которых всё хорошо, а те, у которых всё хорошо несмотря ни на что.
Аватара пользователя
pROssO
Ветеран
Сообщения: 3519
Зарегистрирован: 21 май 2012
Откуда: Минск
Репутация: 4859

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

Сообщение pROssO »

Света, это функция engine-скрипта, которая регистрирует включение камеры кабины/пассажирского салона и её параметры.
Параметр cabEndWithCamera указывает, которая из кабин сейчас показывается, если в локомотиве их 2, 0 - никакая (?, немного не понял сам), 1 - первая, 2 - вторая
carriageCam говорит, камера кабины (0) или пассажирского салона (1)
Если тебе нужно знать в любой момент времени, в кабине игрок или нет, то возьми такой код:

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

 -- Игрок в начале сценария всегда не в кабине, gPlayerInCab - переменная, которую ты будешь брать
function Initialise()
     gPlayerInCab = 0
end
function OnCameraEnter ( cabEndWithCamera, carriageCam )
     if carriageCam == 0 then
         gPlayerInCab = 1
     end
end
function OnCameraLeave ()
     gPlayerInCab = 0
end
Если тебе нужно, чтобы что-то активировалось, когда игрок заходит в кабину (после наружных камер), напиши это в теле функции OnCameraEnter (и не забудь деактивировать это в OnCameraLeave). Например, этот фрагмент скрипта включает в кабине 2 источника света, если игрок заходит в неё, и выключает их, если выходит:

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

function OnCameraEnter (cabEndWithCamera, carriageCam)
   if carriageCam == 0 then
      Call( "CabLightL:Activate", 1)
      Call( "CabLightR:Activate", 1)
   end   
end

function OnCameraLeave ()
   Call( "CabLightL:Activate", 0)
   Call( "CabLightR:Activate", 0)
end
З.Ы. Я сам далеко не гений в скриптовании, так что лучше проверь лишний раз, может, где ошибся. :blush:
Аватара пользователя
Света
Разработчик
Сообщения: 752
Зарегистрирован: 13 мар 2015
Репутация: 1470

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

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

pROssO, спасибо за образец, попробую разобраться.
pROssO писал(а): Если тебе нужно, чтобы что-то активировалось, когда игрок заходит в кабину
Нет, я хочу, чтобы голосовые сообщения диспетчера озвучивались только в том случае, если игрок "находиться в кабине". Я могу заставить воспроизводиться звук тогда, когда мне это надо по времени или событиях, и хочу добавить ещё одно условие в скрипт, поэтому и спрашиваю :) .
Сильные люди - это не те, у которых всё хорошо, а те, у которых всё хорошо несмотря ни на что.
Аватара пользователя
pROssO
Ветеран
Сообщения: 3519
Зарегистрирован: 21 май 2012
Откуда: Минск
Репутация: 4859

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

Сообщение pROssO »

Света, тогда можно было просто настроить звук как Inside (<PlayState d:type="cDeltaString">INSIDE</PlayState>) в аудио-прокси. :)
Аватара пользователя
Света
Разработчик
Сообщения: 752
Зарегистрирован: 13 мар 2015
Репутация: 1470

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

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

pROssO писал(а):Света, тогда можно было просто настроить звук как Inside (<PlayState d:type="cDeltaString">INSIDE</PlayState>) в аудио-прокси. :)
Ой, нет, это для меня вообще недоступно :shock: . Пока хотя бы с простого начать. Собственно, глобальная переменная gPlayerInCab похоже то, что мне нужно, попробую поэкспериментировать с ней =) . Если это то, что я думаю, мне для начала этого будет более, чем достаточно.
Сильные люди - это не те, у которых всё хорошо, а те, у которых всё хорошо несмотря ни на что.
Аватара пользователя
pROssO
Ветеран
Сообщения: 3519
Зарегистрирован: 21 май 2012
Откуда: Минск
Репутация: 4859

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

Сообщение pROssO »

Света, спроси об редактировании Audio proxy у Влада (Cross), наверняка он объяснит доступнее. Просто путь, которым ты хочешь идти... кхм... не слишком рациональный.
Аватара пользователя
Света
Разработчик
Сообщения: 752
Зарегистрирован: 13 мар 2015
Репутация: 1470

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

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

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

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

Сообщение Cross »

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

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

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

Cross писал(а):Света
Так какова задача? Из выше сказанного я понял, что вам нужны звуки оповещателя внутри кабины локомотива, но они не должны звучать снаружи. Тогда только через proxy это и делать
Вот фрагмент кода :

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

-- true/false is
FALSE = 0
TRUE = 1

function OnEvent ( event )
   if event == "sound" then
      SysCall ( "ScenarioManager:PlayDialogueSound","MESSAGE");
      return TRUE;
   end
end
Это не мое изобретение, автора сейчас не укажу, т.к. нэт паршивый, не могу посмотреть. Запускается "MESSAGE" после срабатывания триггера "sound". Это в простом случае. А я хочу добавить ещё одно условие, а именно, проверку местонахождения игрока. Тогда можно будет сделать, допустим, такую комбинацию: локомотив игрока стоит перед закрытым выходным светофором, пропускает пассажирский; по прохождению пассажирского через входной маркер срабатывает триггер, и проверяется условие - если игрок в кабине, воспроизводится текст дежурного, адресованный именно игроку (машинисту); а если игрок "на улице" или в вагоне, воспроизводится текст, имитирующий станционное оповещение (пасс. поезд №... прибывает... будьте осторожны).
Именно проверку местонахождения игрока я и хочу прописать (для начала).
Сильные люди - это не те, у которых всё хорошо, а те, у которых всё хорошо несмотря ни на что.
Аватара пользователя
Cross
Разработчик
Сообщения: 6330
Зарегистрирован: 14 дек 2011
Откуда: Москва
Репутация: 2985

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

Сообщение Cross »

Света
пока что ни одна светлая мысль не приходит в голову как реализовать разные сообщения в один и тот же момент времени по разным условиям.
это кусок кода из патча для Class 86/87

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

function OnCameraEnter(cabcam, passcam)
	Print("OnCameraChange")
	if cabcam > 0 then
		свой код
	end
end

function OnCameraLeave()
	Print("OnCameraLeave")
	свой код
end
Если честно, я не знаю зачем он здесь, но суть отражает немного. Функция "если камера в кабине" и "если камера в пассажирском салоне" отсюда и нужно плясать
*Train Simulator 2018*
Изображение
Аватара пользователя
Света
Разработчик
Сообщения: 752
Зарегистрирован: 13 мар 2015
Репутация: 1470

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

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

Cross
Ну, я хочу реализовать такой алгоритм:
1.Если триггер сработал
и машинист в кабине (да)
то проиграть "MESSAGE-1"
иначе ничего не делать
2.Если триггер сработал
и машинист в кабине (нет)
то проиграть "MESSAGE-2"
иначе ничего не делать
3.Выход


Ну или попроще:

1.Если триггер сработал
---------------и машинист в кабине (да)
---------------то проиграть "MESSAGE-1"
---------------иначе проиграть "MESSAGE-2"
иначе ничего не делать
3.Выход


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

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

Сообщение Cross »

всё сводится к логике действий, лишь бы синтаксис знать и понимать, к чему приведёт то или иное действие. Мне самому пока что непросто, я экспериментирую по большей части. Сейчас по вашей теме ничего конкретного не могу подсказать. Был у нас на форуме пользователь supermax, если ник правильно написал, вот он бы точнее подсказал, но его давно тут нет
*Train Simulator 2018*
Изображение
Аватара пользователя
Света
Разработчик
Сообщения: 752
Зарегистрирован: 13 мар 2015
Репутация: 1470

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

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

Cross
Буду и я экспериментировать =) . Пока есть над чем поработать, попробую, может чего-то и добьюсь. Спасибо за пример :) , попробую и с ним поиграться.
Сильные люди - это не те, у которых всё хорошо, а те, у которых всё хорошо несмотря ни на что.
Аватара пользователя
Sergey1507
Мастер
Мастер
Сообщения: 360
Зарегистрирован: 06 янв 2012
Откуда: Калининград (МО)
Репутация: 224

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

Сообщение Sergey1507 »

Итак, я потихоньку продвигаюсь вперед в своем "вагоностроении". Добавил воздухозамедлители со шлангами. Нанес номер на борт (пока Kuju-шным шрифтом).

Изображение

По идее, следующие элементы на очереди - тормозной цилиндр и распределитель воздуха. Не удалось по имеющимся фотографиям УВС-22 точно опознать распределитель воздуха. Пока выбрал 320-й распределитель (в книжке говорится, что на самосвалы такой ставился, и моделить его, на мой взгляд, проще).

А вот если посмотреть на распределитель воздуха здесь
Изображение
и сравнить его очертания с этим
Изображение,
то создается впечатление, что на УВС-22 стоит распределитель №292. А №292, как в литературе пишут, ставится на пассажирских вагонах.
Может кто знает, какой распределитель на самом деле на УВС-22 ставили (но это так, для справки)


А этот скриншот для сравнения габаритов всем известного британского вагона грузоподъемностью 16 тонн и моего творчества.
Изображение
RussianRW
Знаток
Знаток
Сообщения: 167
Зарегистрирован: 11 сен 2014
Откуда: ТЧ-12
Репутация: 42

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

Сообщение RussianRW »

Всем доброе время суток,тут был такой вопрос то что,кто скачал персонажей с этого сайта http://railroadsim.net/ru/downloads жаловались на то что,отсутствуют текстуры на девушках вобщем ближе к теме необходимо позаимствовать текстуры у женщин с платформ а именно найти наименование ( UA_Female дальше следует номер 1_1,1_2,1_3 и т.д ) нам нужно взять вот этот скрипт ( UA_Female_? УКАЗЫВАЕМ НОМЕР_textures. ) всё прописываем их для девушек которые ставятся как объекты и воля персонажи обрастают текстурами ( Для того чтоб доказать что я вас не обманываю персонажи подняты ) Изображение
Ответить