Страница 20 из 31
Re: Свои изобретения в Railworks
Добавлено: 20 июн 2015, 16:33
fav39
Я попробую заснять а там уже как получится,но это будет только если в июле.
Re: Свои изобретения в Railworks
Добавлено: 20 июн 2015, 18:10
Cross
fav39
с телефона даже не пытайтесь, микрофон там очень очень хреновый для подобных затей. Нужен или профессиональный диктофон или что-то получше. Очень много решает качество самой записи, потом легче будет редактировать образцы, в противном случае придётся изгаляться над выводом финального звука в редакторах и не всегда это будет получаться
Re: Свои изобретения в Railworks
Добавлено: 07 июл 2015, 20:44
Sergey1507
Re: Свои изобретения в Railworks
Добавлено: 08 июл 2015, 07:28
Света
Всем доброго дня!
Вопрос к нашим "скриптерам": подскажите, пожалуйста, какую переменную можно использовать для определения местонахождения камеры игрока (в кабине или вне) и какое значение должно быть, если игрок находится в кабине? Для проверки условия:
function имя функции
if переменная == "значение" then
SysCall ( "реакция функции");
return TRUE;
end
Спасибо

.
Re: Свои изобретения в Railworks
Добавлено: 08 июл 2015, 21:43
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
Re: Свои изобретения в Railworks
Добавлено: 08 июл 2015, 23:09
Света
Спасибо, но... немножко не понятно, а это фрагмент кода, проверяющего местоположение камеры, или набор нескольких альтернативных переменных? А то я не очень пока в скриптовании, так, простые конструкции /если-то/, /если-то-иначе/,

. Пока выше головы не прыгну...
Очень уж мне эта часть понравилась:
cabEndWithCamera: 0 = none, 1 = front, 2 = back
Если
cabEndWithCamera - это переменная, а 0,1,2 - принимаемые значения, то это именно то, что нужно

.
Re: Свои изобретения в Railworks
Добавлено: 09 июл 2015, 00:29
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
З.Ы. Я сам далеко не гений в скриптовании, так что лучше проверь лишний раз, может, где ошибся.

Re: Свои изобретения в Railworks
Добавлено: 09 июл 2015, 00:51
Света
pROssO, спасибо за образец, попробую разобраться.
pROssO писал(а): Если тебе нужно, чтобы что-то активировалось, когда игрок заходит в кабину
Нет, я хочу, чтобы голосовые сообщения диспетчера озвучивались только в том случае, если игрок "находиться в кабине". Я могу заставить воспроизводиться звук тогда, когда мне это надо по времени или событиях, и хочу добавить ещё одно условие в скрипт, поэтому и спрашиваю

.
Re: Свои изобретения в Railworks
Добавлено: 09 июл 2015, 01:26
pROssO
Света, тогда можно было просто настроить звук как Inside (<PlayState d:type="cDeltaString">INSIDE</PlayState>) в аудио-прокси.

Re: Свои изобретения в Railworks
Добавлено: 09 июл 2015, 06:37
Света
pROssO писал(а):Света, тогда можно было просто настроить звук как Inside (<PlayState d:type="cDeltaString">INSIDE</PlayState>) в аудио-прокси.

Ой, нет, это для меня вообще недоступно

. Пока хотя бы с простого начать. Собственно, глобальная переменная
gPlayerInCab похоже то, что мне нужно, попробую поэкспериментировать с ней

. Если это то, что я думаю, мне для начала этого будет более, чем достаточно.
Re: Свои изобретения в Railworks
Добавлено: 09 июл 2015, 12:24
pROssO
Света, спроси об редактировании Audio proxy у Влада (Cross), наверняка он объяснит доступнее. Просто путь, которым ты хочешь идти... кхм... не слишком рациональный.
Re: Свои изобретения в Railworks
Добавлено: 09 июл 2015, 20:07
Света
pROssO
А он нерациональный по трудозатратах или в исполнении движком? Потому что если в трудозатратах, то это не страшно, я работы не боюсь

. Тогда мне этот путь предпочтительнее, так как в таком формате я хоть немного понимаю, а когда добьюсь более существенного результата, тогда можно будет что-то говорить, а то не хочется спрашивать и не понимать ответ

. Если же проблема в оптимизации кода, тогда действительно, буду искать информацию по этому направлению.
Re: Свои изобретения в Railworks
Добавлено: 09 июл 2015, 20:24
Cross
Света
слишком сложная схема, когда можно сделать проще. Так какова задача? Из выше сказанного я понял, что вам нужны звуки оповещателя внутри кабины локомотива, но они не должны звучать снаружи. Тогда только через proxy это и делать
Re: Свои изобретения в Railworks
Добавлено: 09 июл 2015, 21:33
Света
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". Это в простом случае. А я хочу добавить ещё одно условие, а именно, проверку местонахождения игрока. Тогда можно будет сделать, допустим, такую комбинацию: локомотив игрока стоит перед закрытым выходным светофором, пропускает пассажирский; по прохождению пассажирского через входной маркер срабатывает триггер, и проверяется условие - если игрок в кабине, воспроизводится текст дежурного, адресованный именно игроку (машинисту); а если игрок "на улице" или в вагоне, воспроизводится текст, имитирующий станционное оповещение (пасс. поезд №... прибывает... будьте осторожны).
Именно проверку местонахождения игрока я и хочу прописать (для начала).
Re: Свои изобретения в Railworks
Добавлено: 09 июл 2015, 21:59
Cross
Света
пока что ни одна светлая мысль не приходит в голову как реализовать разные сообщения в один и тот же момент времени по разным условиям.
это кусок кода из патча для Class 86/87
Код: Выделить всё
function OnCameraEnter(cabcam, passcam)
Print("OnCameraChange")
if cabcam > 0 then
свой код
end
end
function OnCameraLeave()
Print("OnCameraLeave")
свой код
end
Если честно, я не знаю зачем он здесь, но суть отражает немного. Функция "если камера в кабине" и "если камера в пассажирском салоне" отсюда и нужно плясать
Свои изобретения в Railworks
Добавлено: 09 июл 2015, 22:16
Света
Cross
Ну, я хочу реализовать такой алгоритм:
1.Если триггер сработал
и машинист в кабине (да)
то проиграть "MESSAGE-1"
иначе ничего не делать
2.Если триггер сработал
и машинист в кабине (нет)
то проиграть "MESSAGE-2"
иначе ничего не делать
3.Выход
Ну или попроще:
1.Если триггер сработал
---------------и машинист в кабине (да)
---------------то проиграть "MESSAGE-1"
---------------иначе проиграть "MESSAGE-2"
иначе ничего не делать
3.Выход
Я вообще-то программирую в ассемблере, а языки программирования высокого уровня - новое для меня

. Поэтому и подход у меня "ассемблерный"

.
Re: Свои изобретения в Railworks
Добавлено: 09 июл 2015, 22:46
Cross
всё сводится к логике действий, лишь бы синтаксис знать и понимать, к чему приведёт то или иное действие. Мне самому пока что непросто, я экспериментирую по большей части. Сейчас по вашей теме ничего конкретного не могу подсказать. Был у нас на форуме пользователь supermax, если ник правильно написал, вот он бы точнее подсказал, но его давно тут нет
Re: Свои изобретения в Railworks
Добавлено: 09 июл 2015, 22:53
Света
Cross
Буду и я экспериментировать

. Пока есть над чем поработать, попробую, может чего-то и добьюсь. Спасибо за пример

, попробую и с ним поиграться.
Re: Свои изобретения в Railworks
Добавлено: 30 июл 2015, 20:41
Sergey1507
Итак, я потихоньку продвигаюсь вперед в своем "вагоностроении". Добавил воздухозамедлители со шлангами. Нанес номер на борт (пока Kuju-шным шрифтом).
По идее, следующие элементы на очереди - тормозной цилиндр и распределитель воздуха. Не удалось по имеющимся фотографиям УВС-22 точно опознать распределитель воздуха. Пока выбрал 320-й распределитель (в книжке говорится, что на самосвалы такой ставился, и моделить его, на мой взгляд, проще).
А вот если посмотреть на распределитель воздуха здесь

и сравнить его очертания с этим

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

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