Donate with PayPal button New New

+ Ответить в теме
Страница 6 из 106 ПерваяПервая ... 4 5 6 7 8 16 56 ... ПоследняяПоследняя
Показано с 51 по 60 из 1059

Тема: Поиск адаптированных дополнений для Trainz 12

  1. #51
    Пользователь Аватар для Эрендир
    Регистрация
    13.01.2010
    Страна
    Адрес
    Я Бот, живу в сети :)
    Возраст
    39
    Сообщений
    6,303

    По умолчанию

    tramwayz, Sleep надо писать с большой буквы. Скриптовый движок ТРС различает регистры, потому Sleep и sleep разные вещи. А вообще, я сейчас с телефона, так что не могу нормально запостить по делу. Если потерпишь до завтра, или кто не опередит, скину более подробную инфу, как и что.

  2. #Trainz
    Реклама
    Регистрация
    Постоянная
    Адрес
    Весь мир
    Возраст
    2010
    Сообщений
    Много

    Donate with PayPal button N3v New New

     

  3. #52
    Пользователь Аватар для tramwayz
    Регистрация
    20.09.2009
    Страна
    Адрес
    Colorado
    Сообщений
    6,553

    По умолчанию

    Обязательно скинь подробнейшую инфу.

    -- Добавлено пользователем30.01.2012 в 01:53 -- Предыдущее сообщение было 29.01.2012 в 22:12 --

    Где-то тут была ещё прога по обработке звуков, вернее, по поиску их длины, чтобы массово их обработать, так сказать, вот лазил по форуму и нифига не нашел, но помню, что было. Где оно есть все это?
    Аффтару на пряники
    Сбербанк МастерКард 5228600551333356
    Сбербанк МИР 2202202428950178

  4. #53
    Пользователь Аватар для TRam_
    Регистрация
    22.09.2009
    Возраст
    33
    Сообщений
    16,432

    По умолчанию

    есть у Михи в мусорке - http://ifile.it/_591tq3s/Public

  5. #54
    Пользователь Аватар для Эрендир
    Регистрация
    13.01.2010
    Страна
    Адрес
    Я Бот, живу в сети :)
    Возраст
    39
    Сообщений
    6,303

    По умолчанию Ликбез по адаптации звуков

    Как и обещал.

    Во-первых, в скрипт кабины или локомотива необходимо добавить следующую функцию:

    [PHP]public final void PlaySoundAndSleep(Asset srcAsset, string soundFile, float volume, float minDistance, float maxDistance, GameObject srcObject, string att, float subtime)
    {
    World.PlaySound(srcAsset, soundFile, volume, minDistance, maxDistance, srcObject, att);
    Soup wavdb = srcAsset.GetConfigSoup().GetNamedSoup("extensions" ).GetNamedSoup("sound-length-base");
    Sleep(wavdb.GetNamedTagAsFloat(soundFile, 10.0) - subtime);
    }[/PHP]


    srcAsset - ассет со звуками.
    soundFile - файл со звуком. Примечательно, что для указания вложенности используется "/" а не "\" как в винде. Например: sounds/horn.wav
    volume - громкость звука. 1 - оригинальная громкость, как задано в файле. Всё что ниже 1 - тише, больше - громче.
    minDistance - расстояние в метрах, в пределах которого звук будет слышан без затухания.
    maxDistance - расстояние в метрах, при котором звук вообще будет слышан.
    srcObject - объект, в котором расположена точка. Локомотив или кабина соответственно.
    att - собственно имя точки
    subtime - дополнительный параметр, указывающий сдвиг задержки. Был вопрос, куда писать 0.02, вот именно сюда.



    Теперь как сделать библиотеку длин. Чаще всего, её делают в скрипте. Лично мне такой метода не нравится, потому я делаю в конфиге. Та функция, что я привёл выше, как раз ориентирована на библиотеку в конфиге.
    Что бы сделать библиотеку, добавляем в конфиг того ассета, где у нас звуки, следующий контейнер:

    [PHP]extensions
    {
    sound-length-base
    {
    sound/compressor_run.wav "1.435"
    sound/compressor_start.wav "0.992"
    sound/compressor_stop.wav "0.627"

    .......

    sound/cabin/svistok.wav "1.72"
    sound/cabin/time.wav "2.183"
    }
    }[/PHP]
    Тут имя файла должно быть с путём в точности таким, каким будет передаваться функции. Время указывается в секундах.

    Программу от agmike для массового определения длин звуков

    Внимание! Программа консольная, и параметры задаются ключами. Тут расписывать не буду, вся документация в самой программе, при запуске без параметров.


    Теперь как вызывать функцию звука. Для начала нужно определиться, где будут звуки. В том же ассете, что и скрипт (локомотив / кабина) или же вынесенные в отдельную библиотеку.

    Если у нас в том же ассете, что и скрипт (локомотив / кабина):
    [PHP]me.PlaySoundAndSleep(me.GetAsset(), "sound/compressor.wav", 1.0, 5.0, 10.0, me, "a.compr", 0.05);[/PHP]
    Заполнять, конечно же, нужно всё своё, кроме me.GetAsset(). Этот так и останется так.

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

    Для начала, необходимо в конфиге в kuid-table прописать нужный нам ассет со звуками. Как такового kind'а для библиотеки звуков не существует. Можно использовать любой ассет, но лучше уж что-то схожее, например kind "hornsound". В kuid-table лока или кабины, где у нас скрипт, пишем
    [PHP] sounds <kuid:xxxxxx:yyyyyyy>[/PHP]
    Теперь в скрипте, нам надо его получить. Для начала, в самое начало, где происходит определения класса кабины или лока в скрипте, и идёт декларирование переменных, добавляем ещё одну
    [PHP]Asset SoundsLibrary;[/PHP]
    Далее ищем у скрипта функцию инициализации Init. И в неё вписываем следующую строчку
    [PHP] SoundsLibrary = GetAsset().FindAsset("sounds");[/PHP]
    Теперь можно проигрывать звуки. Как и в предыдущем варианте
    [PHP]me.PlaySoundAndSleep(SoundsLibrary, "sound/compressor.wav", 1.0, 5.0, 10.0, me, "a.compr", 0.05);[/PHP]
    Только вместо me.GetAsset() тут нужно уже писать библиотеку SoundsLibrary.


    В принципе, можно комбинировать эти два способа.


    Если будут вопросы, разъясню.
    Последний раз редактировалось Эрендир; 22.03.2012 в 06:49.


  6. #55
    Пользователь Аватар для tramwayz
    Регистрация
    20.09.2009
    Страна
    Адрес
    Colorado
    Сообщений
    6,553

    По умолчанию

    Вопрос у меня по звукам позиций тепловоза. Там какие-то странные "+qw+" и тому подобное.
    Аффтару на пряники
    Сбербанк МастерКард 5228600551333356
    Сбербанк МИР 2202202428950178

  7. #56
    Пользователь Аватар для Эрендир
    Регистрация
    13.01.2010
    Страна
    Адрес
    Я Бот, живу в сети :)
    Возраст
    39
    Сообщений
    6,303

    По умолчанию

    tramwayz, покажи целиком, а то не понятно что к чему.

  8. #57
    Пользователь Аватар для tramwayz
    Регистрация
    20.09.2009
    Страна
    Адрес
    Colorado
    Сообщений
    6,553

    По умолчанию

    Цитата Сообщение от Эрендир Посмотреть сообщение
    me.PlaySoundAndSleep(SoundsLibrary, "sound/compressor.wav", 1.0, 5.0, 10.0, me, "a.compr", 0.05);
    Что есть что здесь, что значат цифры, и почему вместо world.playsound стоит me.playsoundandsleep, и что за цифра 0.05 в конце?

    Насчет теловозов позже напишу.
    Аффтару на пряники
    Сбербанк МастерКард 5228600551333356
    Сбербанк МИР 2202202428950178

  9. #58
    Пользователь Аватар для Эрендир
    Регистрация
    13.01.2010
    Страна
    Адрес
    Я Бот, живу в сети :)
    Возраст
    39
    Сообщений
    6,303

    По умолчанию

    Цитата Сообщение от tramwayz Посмотреть сообщение
    Что есть что здесь
    SoundsLibrary - это ссылка на ассет, в котором лежат звуки
    "sound/compressor.wav" - путь к файлу
    1.0 - громкость 100%
    5.0 - звук будет слышан в радиусе 5 метров без затухания
    10.0 - звук будет слышан в радиусе 10 метров.
    me - это объект, в котором находится точка. В данном случае me указывает, что этот объект для которого скрипт (лок или кабина, из которой вызывается функция)
    0.05 - указывает, что поток будет спать на 0.05 секунд меньше, чем длина звука. Что бы не было пустых промежутков при кольцевом проигрывании

    Цитата Сообщение от tramwayz Посмотреть сообщение
    почему вместо world.playsound стоит me.playsoundandsleep
    Потому что me.PlaySoundAndSleep функция реализующая как проигрывание звука, так и усыпление потока на время заданое в библиотеке. Саму функцию, и куда её писать я написал в самом начале своего сообщения
    World.PlaySound только проигрывает звук и не умеет усыплять поток. Потому им нельзя реализовать непрерывное проигрывание. Точнее можно, но остановить такое проигрывание уже будет нельзя.

  10. Сказали спасибо: (5)


  11. #59
    Пользователь Аватар для Alex
    Регистрация
    12.08.2010
    Страна
    Адрес
    г.Коряжма (ст.Низовка)
    Сообщений
    1,187

    По умолчанию

    Адаптируйте пожалуйста снегоуборочную машину СМ2 от ГомераОткрыть http://narod.ru/disk/39560872001/%D0...0%9C2.rar.html
    Держу пока 2 сборки игры Trainz 12 и 19. Как освоюсь в 19, 12 пойдёт в утиль.

  12. #60
    Пользователь Аватар для tramwayz
    Регистрация
    20.09.2009
    Страна
    Адрес
    Colorado
    Сообщений
    6,553

    По умолчанию

    Короче, у меня ничего не получается, звуки не звучат. Есть кто-то, кто может исправить то, что мне нужно?
    Аффтару на пряники
    Сбербанк МастерКард 5228600551333356
    Сбербанк МИР 2202202428950178

+ Ответить в теме

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения