Это популярное сообщение. Dennis_Chikin 3 665 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/649/#findComment-847221
Charsi 441 Опубликовано 23 Марта 2015 Поделиться Опубликовано 23 Марта 2015 ph_button это схема для физ.объекта, а sr_idle для спейсрестриктора. Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/649/#findComment-926281
Nazgool 250 Опубликовано 23 Марта 2015 Поделиться Опубликовано 23 Марта 2015 (изменено) Давно не занимался логикой. Да и не очень понял что и через сколько должно включаться. Может как-то так ? [ph_button@ventilation_system_on] anim_blend = false anim = button_true ; секунды через 3 запускается двигвтель on_timer = 3000 | %+lab_x7_ventilation_system_turned_on_play_snd% ; через 15 сек. выдыется инфо и секцию оптравить в nil on_timer2 = 15000 | nil %+lab_x7_ventilation_system_worked% А [sr_idle@ventilators_timer] это лишнее Изменено 23 Марта 2015 пользователем Nazgool Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/649/#findComment-926282
Silver Raven 197 Опубликовано 23 Марта 2015 Поделиться Опубликовано 23 Марта 2015 (изменено) @Charsi, не стал пихать on_timer в схему ph_button т.к. думал, что она ее не поддерживает. @Nazgool, подправил. Без изменений. Похоже инфопоршни вообще не выдаются. А что по поводу это схемы: [logic] active = ph_idle@ventilators_off [ph_idle@ventilators_off] on_info = {+lab_x7_ventilation_system_turned_on} ph_button@ventilators_on_anim [ph_button@ventilators_on_anim] anim = work on_info = {+lab_x7_ventilation_system_turned_on_play_snd} ph_sound@ventilators_on_snd [ph_sound@ventilators_on_snd] snd = lab_x7_ventilations_run looped = true Звук будет проигрываться? Или нужно юзать play_snd_from_obj? Но она вроде как завязана на id-шник объекта. А эта логика используется на многих объектах одновременно. Изменено 23 Марта 2015 пользователем Stalker_AleX333 Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/649/#findComment-926291
Micha_Pulemiot 142 Опубликовано 23 Марта 2015 Поделиться Опубликовано 23 Марта 2015 (изменено) А без SDK никак нельзя справиться с этой проблемой? Сам спросил, сам отвечаю. Если есть готовые ogg-файлы, то можно заюзать эту http://rusfolder.com/42223746 программу, чтобы подкорректировать ogg-комментарии, как требуется. И не надо качать кучу мегабайтов SDK. За наводку спасибо сталкеру karavan150 Изменено 24 Марта 2015 пользователем Kirgudu Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/649/#findComment-926298
Nazgool 250 Опубликовано 23 Марта 2015 Поделиться Опубликовано 23 Марта 2015 (изменено) @Micha_Pulemiot, Что-то ссылка у меня не дает прогу. Как она хоть называется? , Поставь проверки и найдешь во что оно упирается. ....... @Charsi, Спасибо. Я в принципе таким не занимаюсь, но мало ли ) Изменено 23 Марта 2015 пользователем Nazgool 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/649/#findComment-926303
Charsi 441 Опубликовано 23 Марта 2015 Поделиться Опубликовано 23 Марта 2015 , да, стоит использовать что-то вроде play_snd_from_obj. @Nazgool, по ссылке SAVandT_1.1. В теме "Инструментарий для мододелов" таких программ уже целая пачка. Я пользуюсь этой. Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/649/#findComment-926309
Silver Raven 197 Опубликовано 23 Марта 2015 Поделиться Опубликовано 23 Марта 2015 (изменено) @Nazgool, оказывается в данной схеме нельзя использовать числовые приставки после on_timer. Значит придется разбивать на две схемы. @Charsi, а как бы обойтись без указания айдишника? Или их можно перечислить подряд. Изменено 23 Марта 2015 пользователем Stalker_AleX333 Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/649/#findComment-926312
Nazgool 250 Опубликовано 23 Марта 2015 Поделиться Опубликовано 23 Марта 2015 (изменено) Stalker_AleX333 Может быть. Хотя если верить мануалу Переключение схем выполняется с помощью дополнительных условий схемы logic, которые прописываются в секции текущей активной схемы. Существуют следующие условия переключения: on_actor_dist_le = <number>|<название_схемы> - если дистанция в метрах до игрока меньше либо равно number. on_actor_dist_le_nvis = <number>|<название_схемы> - если дистанция в метрах до игрока меньше либо равно number без проверки на видимость. on_actor_dist_ge = <number>|<название_схемы> - если дистанция в метрах до игрока больше number. on_actor_dist_ge_nvis = <number>|<название_схемы> - если дистанция в метрах до игрока больше number без проверки на видимость. on_signal = <имя_сигнала>|<название_схемы> - срабатывает по приходу сигнала имя_сигнала от текущей активной схемы. on_info = <название_схемы> - срабатывает всегда. on_timer = <number>|<название_схемы> - срабатывает через number миллисекунд после включения схемы. ............. C любыми из вышеперечисленных параметров можно работать следующим образом:on_info = {…} %…%on_info2 = {…} %…%on_info3 = {…} %…% и так далее до посинения Тогда переключайся в ph_idle. Там on_timer должен работать. И on_timer2 и т.д. также. Т.е. не [sr_idle@ventilators_timer] а [ph_idle@ventilators_timer] Изменено 23 Марта 2015 пользователем Nazgool Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/649/#findComment-926314
UnLoaded 313 Опубликовано 23 Марта 2015 Поделиться Опубликовано 23 Марта 2015 (изменено) Звук будет проигрываться? Будет, только вот от какого объекта ? Если ты вызовешь ph_sound со звуком работы вентиляторов из логики кнопки\переключателя - то и "гудеть" указанным звуком будет эта самая кнопка\переключатель. Раскидай логику по соответствующим объектам, кнопке - кнопковое, а вентиляторам - вентиляторное . Зачем заморачиваться с play_snd_from_obj из логики кнопки ? Насчет всей схемы, которую ты хочешь реализовать: таймер(как я понял - такой-же, как при выбросе на ЧАЭС?) вызывай из спейс_рестриктора, нажал на кнопку - проиграл звук щелчка кнопки(если я правильно понял, что это нужно), по окончанию - выдал и\п, которая переключает логику вентиляторов на секцию с отыгрыванием звука и ею же можно остановить таймер в логике спейс_рестриктора. Как-то так... P.S. и когда выкладываешь какие-то коды логики, неплохо бы указывать к каким объектам ты ее применяешь, а то тяжело понять что откуда... Изменено 23 Марта 2015 пользователем UnLoaded Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/649/#findComment-926320
Micha_Pulemiot 142 Опубликовано 23 Марта 2015 Поделиться Опубликовано 23 Марта 2015 (изменено) Nazgool http://rusfolder.com/42223746 Прошу исправить сообщение выше. Изменено 23 Марта 2015 пользователем Micha_Pulemiot Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/649/#findComment-926324
Silver Raven 197 Опубликовано 24 Марта 2015 Поделиться Опубликовано 24 Марта 2015 (изменено) @UnLoaded, именно так все и планировалось. И главная проблема даже не в том, как выдать тот или иной инфопоршень, а как зацикленно проигрывать звук на вентиляторах, учитывая то, что их много, а логика на всех одна. И, кстати, кнопка никак не "гудела" бы, у нее один айдишник, а у вентиляторов другие. Короче, попробую-ка я замутить все это дело через рестрикторы "подвешанные" к вентиляторам. Разрабы так вроде делали. upd. C рестрикторами тоже вышел облом. Звук не в какую не хочет проигрываться, хотя схема явно работает. Более того, я спокойно "подвесил" аналогичную на матюгальник - исполняющий роль сирены. В общем, выложу все, что написал. Тут люди куда умнее меня в этих вопросах заглядывают, может увидят то, что я упустил: Схема "биозагрязнения" (рестриктор): [logic] active = sr_idle@biohazard_start_timer ;Делаем небольшую задержку перед запуском всей схемы [sr_idle@biohazard_start_timer] on_timer = 4000 | sr_idle@biohazard_start ;Проверяем включена ли сис. вентиляции, какой на ГГ надет костюм [sr_idle@biohazard_start] on_actor_inside = {+lab_x7_ventilation_system_worked} nil, %=lab_x7_biohazard_check_actor_outfit% {-lab_x7_actor_have_bioprotection_outfit} sr_timer@no_bioprotection_outfit, %=lab_x7_biohazard_check_actor_outfit% {+lab_x7_actor_have_bioprotection_outfit} sr_timer@with_bioprotection_outfit ;Таймер - запускаемый при отключенной сис. вентиляции и отсутствии у ГГ костюма высокой степени биозащиты [sr_timer@no_bioprotection_outfit] type = dec start_value = 120000 on_value = 5 | %=play_snd(heart\2)% | 0 | nil %=aes_kill_actor% on_actor_outside = sr_idle@biohazard_start ;Сис. вентиляции включена - отключаем таймер on_info = {+lab_x7_ventilation_system_worked} nil string = lab_x7_biohazard_attention ;Таймер - запускаемый при отключенной сис. вентиляции и наличии у ГГ костюма высокой степени биозащиты [sr_timer@with_bioprotection_outfit] type = dec start_value = 155000 on_value = 5 | %=play_snd(heart\2)% | 0 | nil %=aes_kill_actor% on_actor_outside = sr_idle@biohazard_start ;Сис. вентиляции включена - отключаем таймер on_info = {+lab_x7_ventilation_system_worked} nil string = lab_x7_biohazard_attention Выключатель (система аварийной продувки): [logic] active = ph_button@ventilation_system_off ;Система вентиляции отключена [ph_button@ventilation_system_off] anim_blend = false anim = button_false tooltip = lab_x7_ventilation_system_switcher ; При юзании, отыгрываем звук кнопки, выдаем инфопоршень о включении системы вентиляции и отыгрывания звука на вентиляторах on_press = ph_button@ventilation_system_on %=play_snd_from_obj(10015:ambient\switch_1) +lab_x7_ventilation_system_turned_on% ;Система вентиляции включена. Кнопка более не юзабельна [ph_button@ventilation_system_on] anim_blend = false anim = button_true ;Запускаем внутренний таймер на 15 сек., (нужна задержка) по окончании выдаем инфопоршень о том, что сис. вентиляции работает on_timer = 15000 | nil %+lab_x7_ventilation_system_worked% Собственно сами проблемные вентиляторы: 1. Схема смены анимации: [logic] active = ph_idle@ventilators_off ;Вентиляторы отключены. Отыгрывается анимация из all.spawnа. Ожидается запускающий инфопоршень [ph_idle@ventilators_off] on_info = {+lab_x7_ventilation_system_turned_on} ph_button@ventilators_on_anim ;Вентиляторы включены. Заменяем анимацию [ph_button@ventilators_on_anim] anim = work 2. Схема для рестрикторов подвешанных к каждому вентилятору (по аналогии используеой разрабами в бункере под Радаром): Спавн секция (образец): [2370] ; cse_abstract properties section_name = space_restrictor name = labx7_ventilators_sound_space_restrictor position = -99.5400009155273, -14.9499998092651, 73.620002746582 direction = 0, 0, 0 id = 65535 version = 118 script_version = 7 spawn_id = 8994 ; cse_alife_object properties game_vertex_id = 2870 level_vertex_id = 987 object_flags = 0xffffff3e custom_data = <<END [logic] cfg = scripts\alex_mod\lab_x7_ventilators_sound.ltx END ; cse_shape properties shapes = 1 shape_0:type = sphere shape_0:offset = 0,0,0 shape_0:radius = 1 ; cse_alife_space_restrictor properties restrictor_type = 3 Логика: [logic] active = sr_idle@ventilators_off ;Вентиляторы отключены. Ожидается запускающий инфопоршень [sr_idle@ventilators_off] on_info = {+lab_x7_ventilation_system_turned_on} ph_sound@ventilators_on ;Устанавливаем зацикленный звук для вентиляторов [ph_sound@ventilators_on] snd = lab_x7_ventilators_run looped = true Матюгальник - сирена: [logic] active = ph_sound@biohazard_alarm_on ;Система вентиляции отключена. Сирена активна [ph_sound@biohazard_alarm_on] snd = lab_x7_biohazard_alarm looped = true on_info = {+lab_x7_ventilation_system_turned_on} ph_sound@biohazard_alarm_off ;Система вентиляции включена. Отключаем сирену [ph_sound@biohazard_alarm_off] snd = lab_x7_biohazard_alarm looped = false on_signal = sound_end| nil Все инфопоршни зареганы, звуки прописаны в sound_sheme.script. Изменено 24 Марта 2015 пользователем Stalker_AleX333 Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/649/#findComment-926364
Nazgool 250 Опубликовано 24 Марта 2015 Поделиться Опубликовано 24 Марта 2015 , Т.е. в схеме матюгальника звук snd = lab_x7_biohazard_alarm проигрывается, а в схеме вентилятора звук snd = lab_x7_ventilators_run нет? А ты уверен, что со звуком вентиляторов всё нормально? Подставь звук lab_x7_ventilators_run в схему матюгальника и посмотри - если не будет звучать, то звук явно кривой. Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/649/#findComment-926418
Silver Raven 197 Опубликовано 24 Марта 2015 Поделиться Опубликовано 24 Марта 2015 (изменено) @Nazgool, подсунул заведомо рабочий звук - из пяти рестрикторов с одинаковой логикой и настройками, он проигрывается только на одном. Свой звук, на всякий случай, снова прогнал через СДК - он вообще не работает. Ничего не понимаю. Изменено 24 Марта 2015 пользователем Stalker_AleX333 Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/649/#findComment-926422
Charsi 441 Опубликовано 24 Марта 2015 Поделиться Опубликовано 24 Марта 2015 , не нужно мешать всё в кучу. Схемы с префиксом ph_ предназначены для физ.объектов, в префиксом sr_ для спейсрестрикторов. Ты же сам написал, что объект под схемой ph_sound, отыгрывающий свою звуковую тему, должен быть уникальным. Тебе при переключении каждого вентилятора на секцию ph_button@ventilators_on_anim нужно скриптом создавать свой звуковой объект и проигрывать его. Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/649/#findComment-926430
Silver Raven 197 Опубликовано 24 Марта 2015 Поделиться Опубликовано 24 Марта 2015 @Charsi, что-то я не совсем понял, что значит "скриптом создавать свой звуковой объект", это как? Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/649/#findComment-926432
Charsi 441 Опубликовано 24 Марта 2015 Поделиться Опубликовано 24 Марта 2015 (изменено) function play_snd(actor, obj, p) local snd_obj = xr_sound.get_safe_sound_object("путь к звуку") snd_obj:play_at_pos(obj, obj:position(), sound_object.s3d) end Изменено 24 Марта 2015 пользователем Charsi Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/649/#findComment-926441
Silver Raven 197 Опубликовано 24 Марта 2015 Поделиться Опубликовано 24 Марта 2015 (изменено) @Charsi, так звук же наверное будет проигрываться единственный раз, а мне нужен бесконечный цикл. К тому же, игра вывалиавется, требуя объяснить ей переменную obj. И касательно этой сроки: snd_obj:play_at_pos(obj, obj:position(), sound_object.s3d) Я так понял она должна заполняться с указанием левел и гейм вертексов или без? Изменено 24 Марта 2015 пользователем Stalker_AleX333 Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/649/#findComment-926449
UnLoaded 313 Опубликовано 24 Марта 2015 Поделиться Опубликовано 24 Марта 2015 (изменено) В общем, выложу все, что написал .... ;Устанавливаем зацикленный звук для вентиляторов[ph_sound@ventilators_on] измени ph на sr, ведь правильно Charsi подсказывает - схема должна соответствовать типу объекта, для space_restrictor'а - sr. Чтоб не мутить с спейс_рестрикторами можно попробовать так: в логике вентиляторов добавить ;Вентиляторы отключены. Отыгрывается анимация из all.spawnа. Ожидается запускающий инфопоршень [ph_idle@ventilators_off] on_info = {+lab_x7_ventilation_system_turned_on} ph_button@ventilators_on_anim %=play_vent_sound% ;Вентиляторы включены. Заменяем анимацию [ph_button@ventilators_on_anim] anim = work Ф-цию play_vent_sound нужно добавить в gamedata\scripts\xr_effects.script, в ней использовать play_at_pos для озвучки работы вентиляторов. Насчет play_at_pos(obj, obj:position(), sound_object.s3d): obj - это объект, от которого будет звук проигрываться, соответственно вентилятор obj:position() - от объекта получаем его позицию на уровне sound_object.s3d - флаги проигрывания звука. s3d - флаг для проигрывания звука от объекта. Для цикличного проигрывания нужен еще флаг looped(а вот как оба флага указать - спроси, я не в курсе). И вообще - насчет play_at_pos читай в "Справочнике по ф-циям и классам" - тут. Изменено 24 Марта 2015 пользователем UnLoaded Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/649/#findComment-926452
Silver Raven 197 Опубликовано 24 Марта 2015 Поделиться Опубликовано 24 Марта 2015 (изменено) @UnLoaded, на сколько я знаю, не существует схемы sr_sound. Во всяком случае, в общедоступных источниках и ресурсах самой игры подобного не встречал. А по поводу "звукового скрипта", я уже погуглил, судя по всему, этим способом нельзя воспроизводить звук зациклено. Изменено 24 Марта 2015 пользователем Stalker_AleX333 Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/649/#findComment-926454
UnLoaded 313 Опубликовано 24 Марта 2015 Поделиться Опубликовано 24 Марта 2015 (изменено) для спейс_рестриктора не существует схемы sr_sound. Этот вариант не работает. А по поводу "звукового скрипта", я уже погуглил, судя по всему, этим способом нельзя воспроизводить звук зациклено. На вскидку: gamedata\config\scripts\agr\agr_factory_assault_trigger.ltx - логика спейс_рестриктора на фабрике Агропрома, где Крота вояки пресуют: [logic] active = {+agr_help_stalkers_start} nil, sr_sound [sr_sound] snd = ambient\gunfire_2 position = agr_factory_gunfire on_actor_inside = %+agr_factory_assault_start% sr_idle@sos ......... Отлично звучит... Насчет play_at_pos с флагом looped - врать не буду, сам не проверял, но верю описанию и изысканиям Shadows... (от себя - что-то мне подсказывает, что всё проигрывание звуков во всяко-разных схемах логики как раз и сделано на этих play_at_pos, где-то там в глубине реализации этих схем. И флаг looped очень даже работает.) Изменено 24 Марта 2015 пользователем UnLoaded Ссылка на комментарий https://www.amk-team.ru/forum/topic/15045-soc-kovyrjaemsja-v-fajlah/page/649/#findComment-926456
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти