Перейти к содержанию

Рекомендуемые сообщения

 
 
8 минут назад, Вереск сказал:

Но у некоторых мутантов это не работает, как и у аномалий

Не сталкивался с таким! У кого конкретно не работает? Может звук отсутствует?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
1 минуту назад, Mass сказал:

Не сталкивался с таким! У кого конкретно не работает? Может звук отсутствует?

Сейчас точно не скажу (ковырял это в 2021-2022 где-то). Да и вопрос не в этом, а в том, как сделать так, чтобы аномалии тоже, как в конфигах мутантов читали звуки с окончанием на "_". 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
10 минут назад, Вереск сказал:

непонятно когда она работает, а когда нет

Напрашивается вопрос. А зачем несколько звуков для цикличных звуков?


Дополнено 6 минуты спустя
3 минуты назад, Вереск сказал:

как сделать так, чтобы аномалии тоже, как в конфигах мутантов читали звуки с окончанием на "_

Править движок файл CustomZone.cpp , либо проверять на апдейте аномалии и подменять звук в зависимости от расстоянии

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
8 минут назад, Mass сказал:

Напрашивается вопрос. А зачем несколько звуков для цикличных звуков?


Дополнено 6 минуты спустя

Править движок файл CustomZone.cpp , либо проверять на апдейте аномалии и подменять звук в зависимости от расстоянии

Потому что с точки зрения саунд-дизайна, это слышится плохо, когда играется один и тот же звук. К примеру заходя в здания и слыша разные скрипы это больше даёт погружения и атмосферы, чем просто зацикленный один и тот же вариант. 

Видимо придётся ковыряться в движке, в общем спасибо за информацию. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Вереск аномалиям можно прописать отдельный биндер, как у сталкеров или монстров, а там уже делать практически любой маневр. Созданшь копию скрипта xr_motivator. В конфиге аномалий, в секции anomaly_base, подвязываешь свой скрипт строчкой script_binding(я уж точно не помню как там писать). В общем, можем подумать над этим вариантом позже. Почти уверен, что так можно звуки подвязать, как уже писали, через апдейт 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
1 минуту назад, ian98 сказал:

Вереск аномалиям можно прописать отдельный биндер, как у сталкеров или монстров, а там уже делать практически любой маневр. Созданшь копию скрипта xr_motivator. В конфиге аномалий, в секции anomaly_base, подвязываешь свой скрипт строчкой script_binding(я уж точно не помню как там писать). В общем, можем подумать над этим вариантом позже. Почти уверен, что так можно звуки подвязать, как уже писали, через апдейт 

Если есть статья на эту тему, закинь, прочту. Просто в скриптах и прочем я не копался сильно (чисто по звуку работаю, да материалам). 

Сейчас попробую пока так, как ты выше описал 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Вереск Вереск можно по примеру биндера вертолетов сделать, потому что там как раз через биндер звуки тоже прописывали сами же разрабы(bind_heli). Интуитивно чисто. А так, за комп сяду, покрвыряюсь. Мне кажется можно сделать

  • Мастер! 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
1 минуту назад, ian98 сказал:

Вереск Вереск можно по примеру биндера вертолетов сделать, потому что там как раз через биндер звуки тоже прописывали сами же разрабы(bind_heli). Интуитивно чисто. А так, за комп сяду, покрвыряюсь. Мне кажется можно сделать

Окей. Я пока что прибиндил к zone_base новый скрипт, но честно внутри самого скрипта я ничего не понимаю, пока это для меня выглядит чисто, как набор символов страшный) 


Дополнено 2 минуты спустя
23 минуты назад, Mass сказал:

Напрашивается вопрос. А зачем несколько звуков для цикличных звуков?


Дополнено 6 минуты спустя

Править движок файл CustomZone.cpp , либо проверять на апдейте аномалии и подменять звук в зависимости от расстоянии

Проверил работает ли логика в рестрикторе, выдало вот это image.png.09dad72c06c33f7165da215f761724ed.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
6 минут назад, Вереск сказал:

Проверил работает ли логика в рестрикторе, выдало вот это

В bind_anomaly_zone и в bind_anomaly_field в апдейте нужно делать

 

11 минут назад, Вереск сказал:

Я пока что прибиндил к zone_base новый скрипт

Разумеется так это не будет работать! Нужно понимать структуру класса, какие методы они используют и прочие вещи

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
14 минут назад, Mass сказал:

В bind_anomaly_zone и в bind_anomaly_field в апдейте нужно делать

 

Разумеется так это не будет работать! Нужно понимать структуру класса, какие методы они используют и прочие вещи

Ничего не понял, причём тут "bind_anomaly_zone и в bind_anomaly_field и классы"? Я говорю про обычный рестриктор со звуком. Я прописал логику, как ты описал: 
[logic]
active = sr_idle

[sr_idle]
 on_actor_in_zone = имя рестриктора | %=play_sound(звук) 

Но при заходе в него, ловлю вылет, который скинул выше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
43 минуты назад, Вереск сказал:

ловлю вылет

Спойлер

 

[logic]
active = sr_idle@1

[sr_idle@1]
on_actor_in_zone = имя рестриктора | sr_idle@2

[sr_idle@2]
on_info = %=play_sound_looped(звук) %

on_actor_not_in_zone = имя рестриктора | sr_idle@3

[sr_idle@3]
on_info = sr_idle@1%=stop_sound_looped%

 

 

Изменено пользователем Mass

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
3 минуты назад, Mass сказал:
  Логика (Скрыть контент)

 

[logic]
active = sr_idle@1

[sr_idle@1]
on_actor_in_zone = имя рестриктора | sr_idle@2

[sr_idle@2]
on_info = %=play_sound_looped(звук) %

on_actor_not_in_zone = имя рестриктора | sr_idle@3

[sr_idle@3]
on_info = sr_idle@1%stop_sound_looped%

 

 

Да, вот так он работает, спасибо. Другой вопрос, а если напишу так, будет работать? 

[logic]
active = sr_idle@1

[sr_idle@1]
on_actor_not_in_zone = имя рестриктора | sr_idle@2

[sr_idle@2]
on_info = %=play_sound_looped(звук) % 

То есть в зоне рестриктора, будет играться звук, даже если нету там актора 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
2 минуты назад, Вереск сказал:

будет играться звук

Пока игрок не уйдет в оффлайн (слишком далеко от рестриктора)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
1 минуту назад, Mass сказал:

Пока игрок не уйдет в оффлайн (слишком далеко от рестриктора)

Ну в принципе так и надо. Попробую сейчас сделать. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Здравствуйте, не работает логика рестриктора. При получении задания на енго не падает метка, и когда заходишь в его зону не появляется надпись "Спать", при нажатии F ничего не происходит.

Спойлер

[story_object]
story_id = mil_village_sleep_sr

[logic]
cfg = scripts\millitary\mil_village_sleep_sr.ltx

Спойлер

[logic]
active = sr_idle@start

[sr_idle@start]
on_info = {-village_sleep_end =actor_in_zone(mil_village_sleep_sr)} sr_idle@tutorial %=run_tutorial(village_sleep)%
on_info2 = {+village_sleep_end} sr_idle@nil

[sr_idle@tutorial]
on_info = {!actor_in_zone(mil_village_sleep_sr)} sr_idle@start %=stop_tutorial%
on_info2 = {+village_sleep_end} sr_idle@nil
on_info3 = {!has_active_tutorial} sr_idle@start
on_game_timer = 10 | sr_idle@nil %=play_sound(clown_about_cocksuckers) =set_time(02:00)  =run_postprocess(fade_in_out_9_sec)%
on_game_timer2 = 90 | sr_idle@nil %=run_postprocess(fade_in_out_9_sec)%


[sr_idle@nil]

Спойлер

<village_sleep>
        <global_wnd/>

        <item>
            <disabled_key>quit</disabled_key>
            <length_sec/>
            <action id="use" finalize="1">xr_effects.village_sleep</action>
            <guard_key>use</guard_key>
            <grab_input>0</grab_input>
            <main_wnd>
                <auto_static start_time="0" length_sec="5000" x="512" y="660" width="300" height="60" alignment="c" stretch="1"
                            la_cyclic="1" la_texture="1" la_alpha="1">
                    <text font="graffiti22" r="225" g="225" b="250" a="255" align="c">village_sleep_text</text>
                </auto_static>
            </main_wnd>
        </item>
    </village_sleep>

Спойлер

1.thumb.jpg.000710b9c38d0e7ba55c701891ef3372.jpg

И ещё вопрос: как сделать так, чтобы после туториала игрок смотрел в определённую точку? Я сначала хотел сделать через точки walk и look, но для точки walk нужна ai сетка, которая в этом месте генерироваться не хочет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Mawrak каким способом можно найти эти секции? Ручками, открывать каждый файл? Или проггой по типу Winmerge? Или для сталкера есть уже написанная кем-то прогга?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
1 час назад, Skala сказал:

чтобы после туториала игрок смотрел в определённую точку?

function actor_need_look_way(actor, npc, p)
local patrol_point = p[1]
local patrol_point_index = p[1] or 0
if patrol_point == nil then
abort("Wrong parameters in 'actor_need_look_way' function!!!")
end
local position = patrol(patrol_point):point(patrol_point_index)

db.actor:actor_look_at_point(position)
end

По логике ищи ошибку в пути.

  • Мастер! 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
1 час назад, Skala сказал:

on_game_timer = 10 | sr_idle@nil %=play_sound(clown_about_cocksuckers) =set_time(02:00)  =run_postprocess(fade_in_out_9_sec)%

Почему не работает не знаю, но если начнёт работать то при входе в рестриктор через секунду будет запускаться пост процесс


 1540412914_ezgif.com-optimize(1).gif.ec7250e918399802d8fe85d6d4fd7081.gif

«Если долго мучиться, что-нибудь получится»

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
1 час назад, Skala сказал:

когда заходишь в его зону не появляется надпись "Спать"

Этот рестриктор нужен для того чтобы гг спал? Или у него другое предназначение?

1 час назад, JimHammond сказал:

каким способом можно найти эти секции?

Notepad++ как нельзя лучше подойдет для этого. выбирайте во вкладке "найти в файлах" и выбираете путь до папки где искать

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
14 минут назад, Mass сказал:

Этот рестриктор нужен для того чтобы гг спал? Или у него другое предназначение?

Да, заходишь, нажимаешь F, экран темнеет и время проматывается + звук проигрывается

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
Только что, Skala сказал:

Да

В функцию sleep в таблицу sleep_zones xr_effects. Тоже добавили? Также рекомендую добавить в pda.script в список sleep_zones_tbl

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Mass да не, игрок по сути не спит, просто иллюзия создаётся. Просто темнеет экран через fade_in и время через set_time нужное устанавливается

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Начнем с того что 

on_game_timer2 = 90 | sr_idle@nil %=run_postprocess(fade_in_out_9_sec)%

Никогда не выполнится

Что за функция set_time? Инфо village_sleep_end где выдается? Почему нет stop_postprocess если есть  run_postprocess. Нужно подчищать за собой

mil_village_sleep_sr Это имя и стори айди рестриктора?

Изменено пользователем Mass

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

смысл разбирать ошибки логики если логика не запускается


 1540412914_ezgif.com-optimize(1).gif.ec7250e918399802d8fe85d6d4fd7081.gif

«Если долго мучиться, что-нибудь получится»

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Mass помню была функция, с прмощью которой можно нужное время установить, вроде так и называлась. Инфо через функцию в xr_effects выдаётся. Stop_postprocess никогда не прописывал особо, без него и так всё работало. 

mil_village_sleep_sr - имя и story_id рестриктора

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   2 пользователя онлайн