Перейти к контенту

[SoC] Ковыряемся в файлах


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

Как прописать определенный диалог другому НПСу?

Например диалог Волка перенести Шурупу, и т.п.

Заранее спасибо.

 

:ny_use_search:, в частности "шпаргалку" из шапки.

ColR_iT

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

Intel Core i5-2400 ; 3.1 GHz ; Win7 (64x разрядная) ; 8 Gb ОЗУ; Nvidia Geforce 550Ti (1024 Mb)


Ссылка на комментарий

Daemonion,

Второй вопрос об усиление/утихание функцией звука.

Наконец-то я понял, что ты хочешь))) А чем тебя не устраивает штатное средство? Спаунишь вместо рестриктора невидимый источник звука, а дальше все решается просто - через настройку параметров звука через СДК. Каждому звуку свои настройки, вместо заумного скрипта по регулировке громкости. Останется только привязать возможность смены звука не автоматом, как это делается сейчас, а в зависимости от каких либо условий...

Извиняюсь, если опять лезу не в свое дело...

Ссылка на комментарий

_Val_, в тегах звуков (через SDK иль еще чего) невозможно постаить зависимости ... от времени/от наличия опасности и т.п.

Как я понял, Daemonion, хочет сделать что-то типа интерактивной озвучки, т.е. подходит актор к некоей зоне и звук включается и плавно нарастает. Далее вероятно плавно затихает. Все это записит не от расстояний иль свойств материалов и т.п. , а от времени и может каких то еще факторов. Т.о. "штатные" средства тут ничего не дадут, и именно решается в контексте интерактивной озвучки от xStream'а (иль как то иначе).

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий

Artos

почитай про логику повнимательнее и не стОит сводить все к упрощениям

Я читал на STALKER Inside Wiki, но там все для смарт-террейнов\гулагов, а вот для "одиночек" ничего нет, похоже.

НПСа спауню в непосредственной близости от актора(ГГ), поэтому он в он-лайн.

Естественно, координаты (вертексы) center_point должны соответствовать той локации, где должны быть посиделки.

Т.к. ты не дал информации по секции твоего center_point - гадай сам, не может узнать где эта точка, не может до нее дойти, т.к. на др.локации иль еще чего ...

Я пробовал все "точки", которые есть в описании гулагов для локации Кордон(Escape), результат тот-же - НПС не выполняет логику. При этом, если я указываю для center_point какое-то произвольное название точки, то получаю вылет. Значит указанные мною точки валидны, т.е. движок видит(понимает) ее координаты ? Точки которые я пробовал указывать, брал из gulag_escape.ltx, к примеру:

[kamp1@esc_lager]
center_point  = [b]camp_center[/b]
path_walk = camp_center_task
soundgroup = esc_lager
meet = meet@lager

По идее, НПС должен идти к этой точке, неважно где именно она расположена ?

Ссылка на комментарий

AndreySol

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

 

P.S. И с чего ты взял, что написанное на "инсайде" применимо только для гулагов. Там описан общий механизм работы, а где он будет применён, в качестве работы в гулаге или же в custom_data твоего НПС, это уже решать тебе.

Изменено пользователем ColR_iT
Ссылка на комментарий

AndreySol

Во-первых, хватит продолжать викторину "Кто угадает почему у меня НПС не выполняет логику".

Если хочешь получить ответ, то потрудись выложить:

- секцию спавна твоего непися (по крайней мере информацию о ранге и о возможной кастомдате с логикой)

- собственно функцию спавна с координатами ...

- функцию подключения логики (если логика не подключается в секции спавна).

 

Если ты статьи на вики читаешь так же как уже написанное выше, то не удивительно ...

Ведь уже сказано, что схемы AI с их логикой и конфигами логики и гулаги, хоят и связаны в игре, но это совершенно разные вещи!

Любые схемы AI и написаны для одиночек(!), а уж взяты ли эти одиночки в гулаги и розданы ли им схемы гулагом - это уже частность.

AndreySol, По идее, НПС должен идти к этой точке, неважно где именно она расположена ?
Вот как раз и важно! Если НПС в онлайне и точка кампа на текущей локации, то схема активна и он должен пойти к прописанной схемой точке кампа. А вот если он в оффлайне и если тем более на другой локации - то только гулаг может "повести" его к нужной локации и точке.

 

Перебор же "произвольных" точек путей - говорит о полном непонимании вопроса. В схемах вообще как правило точки путей не проверяются на валидность, а отсутствие возможности проверить наличие любой точки не на текущей локации на существование как раз и является препятствием для проведения гулагами неписей к точкам кампа. Любая попытка использовать об'ект пути с непрописанными параметрами ведет к фатальной ошибке.

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий

Artos, а я и не говорил, что штатными средствами можно добиться зависимости звуков от условий. Но...товарищ хочет и громкость менять скриптом. Спаун невидимого источника по крайней мере позволяет этого избежать. Я думаю, что начальная задумка Daemonion была именно об этом.

звук включается и плавно нарастает

Ну это же и прописывается в тегах СДК.

А с учетом того, что у источников звука есть своя логика...может имеет смысл покопать в этом направлении, ведь вроде пока этого никто не делал. В общем - думаю, что легче решить одну задачу(в данном случае привязку к условиям), чем сразу две...

 

Не делали потому, что в СДК, настроить плавность нарастания звука не представляется возможным, имею ввиду использование Sound Editor. Можно конечно сами звуки отредактировать, поставив им плавное нарастание, но вот с затуханием будет проблема, поскольку на верняка не знаешь, когда звук должен начать затухать.

ColR_iT

Изменено пользователем ColR_iT
Ссылка на комментарий

_Val_, конечно плохое занятие гадать о том, что (в силу языкового барьера) не пояснил автор вопроса ...

Ты говоришь об одном крайнем варианте, т.е. когда заведомо нужно при некоем условии (например актор вошел в некую зону) включить звук и плавно увеличивать его громкость. Конечно де, средствами звукового редактора можно создать трек таким, чтобы звук плавно нарастал и, если нужно и плавно бы затихал.

Но(!) это именно жестко заязанный на это звук. Можно и некий рандом устроить и даже может не рандом, а завязку выбора заранее подготовленных звуков по неким условиям ... Но, во-первых, есть ли требуемые средства в штатных схемах(?) , во-вторых, сколь же звуков нужно наплодить, чтобы увязать со всеми потребными условиями?

Вспомни схему интерактивной озвучки. Рядом с актором появляется враг - включается тихая 'боевая' озвучка. Враг приближается или их становится больше - звук нарастает. Акктор увидел врага - звук лавинно возрастает, враг выстрелил в актора - звук на пределе ... Враг убит, убежал - звук плавно затихает. И т.п. ну как тут рестриктор справится?! Да и не следует забывать, что все(!) схемы с их предикатами жрут ресурсы игры и используют все те же (штатные) скрипты ...

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

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий

Если звук монотонный (loop) - можно нарезать звуки на фазы (атака, поддержка, затухание) и запускать-останавливать фазы. Всего в три раза больше звуков.

Но вообще-то нужен (должен быть) нормальный доступ к звуковым эффектам - как минимум к управлению уровнем и реверберации... и (это было-бы круто!) к временной позиции :)

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

всё легко

Ссылка на комментарий

7.9, ну-ну :crazy: , я конечно не моцарт, но в любом случае понимаю, что нарезанные куски как минимум требуют стыковки, что при предложенном подходе, когда длительность фаз заведомо неизвестна и может варьироваться в самых разных пределах - только целиковый трек может восприниматься адекватно, а не какофонией из нагромождения обрывков фаз ...

И повторюсь, если уже сделано именно на целых композициях и можно задействовать любые потребные условия и их сочетания - стОит ли изобретать способ чесать пяткой нос? :crazy:

P.S. То, что модуль интерактовной озвучки (by xSream) был написан не как "вообще", а завязан на 'боевку' - конечно ограничение, но взяв его за основу, можно и под "свои" нужды его адаптировать (т.е. завязать на свои условия) и даже написать как "общую" схему с потребными для нее задаваемыми из конфигов иль игры внешними параметрами.

Автор вопроса не силен в скриптах (он как раз дока по звукам), вот кто возьмется написать схему управляемой озвучки? Было бы здорово. :good2:

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий

По озвучкe- сaмоe простоe это рaботa aномaлии. Рaдиус, звук, врeмя игнорировaниe, aктивaция, врeмя отключeния и др.

 

К чему этот пост?

ColR_iT

Изменено пользователем ColR_iT
Ссылка на комментарий

Привет всем, подскажите пожалуйста, что за хрень:

распаковываю, алл спавн, меняю координаты появления ГГ с бункера Сидора к подвальчикам в деревне, пакую, в итоге - ни че не происходит, появляюсь так же возле Сидора;

ввожу позицию, поворот, гейм вертекс, левел вертекс.

Если не туда написал, скажите куда обращаться

Заранее спасибо.

 

Менять нужно не только параметр position, но и upd:position, который находится чуть ниже; в оба параметра необходимо вписывать одинаковые координаты.

ColR_iT

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

Street-you.gif

821.gif

Ссылка на комментарий

(косое - на одеситский манер :) )

 

Artos!

Не надо людям шоры навешивать даже если Вы "не Моцарт"!

Теперь, из-за Вас, придётся доказывать, что я не Сольери!

При всём уважении!

То что я написал - можно применять!

Если ГГ вошёл-побыл-вышел: проигрывается Атака -> проигрывается Поддержка -> проигрывается Затухание

Если ГГ вошёл-вышел: проигрывается Атака -> проигрывается Затухание

Если ГГ вышел-зашёл: проигрывается Затухание -> проигрывается Атака

 

Так что здесь не так?!

 

Вопрос "склейки" (хоть шумов, хоть музыки, хоть с ритмом, хоть без ритма) решается элементарно, простейшими инструментами. А при появлении в природе "естественной" функции "управления уровнем" - алгоритм не меняется - треки заменяются на один, а вызовы "фаз" заменяются на вызов функции "управления уровнем".

 

Сообщение от модератора kokkai
"на одеситский манер" - это что-то новенькое
Изменено пользователем kokkai

всё легко

Ссылка на комментарий

Street-you, координаты задаются в двух местах (кажется, для серверного и клиентского объекта). С практической точки зрения более важно правильно указать не position, а upd:position (это чуть ниже).

 

ColR_iT, кажется, координаты не обязательно должны быть одинаковым. Серверный объект создается по первым из них, а клиентский - перемещается по вторым. Т.е. в онлайне объект появляется в точке с координатами, указанными в upd:position. Как-то так.

 

Street-you, выражаясь в стиле Artos'а, хочется спросить о том, что значит "приемлемо"? Их просто нужно задавать 1 раз. И все.

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

Старый сюжет ТЧ - в топку!

Ссылка на комментарий

Sync, а часто ты видишь ГГ в оффлайне? :) Речь то идёт о изменении местоположения ГГ.

Если же отнести эти параметры к НПС, то вероятно так и есть, по правде говоря, я недопонимаю назначение параметров upd:***, было бы не плохо, если бы кто разъяснил...

 

Street-you, а что тебя смутило в этом и что ты понимаешь под словом "приемлемо"?

Ссылка на комментарий

7.9

7.9: Теперь, из-за Вас, придётся доказывать, что я не Сольери!

Вы себе льстите, при всем уважении ... :crazy: Доказывать чего-то - это похоже Вам сильно захотелось, вот только "кому и чего"? Если приспичило - то подобное "доказывание" - в ЛС.

7.9: То что я написал - можно применять!

...

Так что здесь не так?!

Применять то может и можно - да кому это нужно? :crazy: Ну а "что не так" - перепрочти исходный вопрос и, как минимум, именно отсутствующее у тебя управление уровнем звука, и превращает тобою понаписаное в никчемный оффтопик.

 

 

 

ColR_iT, прав все же Sync, указав на некорректность твоих слов: "... в оба параметра необходимо вписывать одинаковые координаты", ну и то что ни ГГ в оффлайне ни собственно ни одного серверного об'екта никто из игроков не видит в игре, не обязует писать именно одинаковые параметры.

Ранее как-то давал кратное пояснеие по параметрам upd:***, но т.к. их немало и относятся часто совсем к разному, то общего описания нет и врядли кто даст. Учитывая же еще и завязки на движек, который обрабатывает разницу между двумя частями нет-пакетов ('state' и 'update') можно только гадать когда важно указывать именно одинаковое, а когда именно наоборот.

Примечание: Конечно в контекстве заданного вопроса по спавну актора - координаты могут быть и одинаковыми, но важен именно второй (upd:)

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий

У объекта sound_object есть параметр на запись volume. Полагаю, громкость именно так и нужно менять. Реверберация, как мне кажется, является свойством уровня и её скриптами не изменить.

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий

malandrinus, наверное точнее volume для sound_object назвать не параметром, а свойством (property), а запись - изменением, т.к. производится простым присваиванием (snd_object.volume = number).

Именно так и меняется уровень звука в уже не раз упоминавшемся модуле "интерактовной озвучки". Так же в этом модуле управляется (если требуется) и уровень амбиента, дабы доп.озвучка не проигрывалась при открытом главном меню ... О реверберации вроде как пока ни кто не говорил, кроме неясного упоминания от 7.9.

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий

Artos,

формально говоря, в Lua свойств нет, поскольку ООП имитируется, так что называть можно по разному: поле, свойство, параметр, переменная. "Свойство" будет наиболее точным словом, если делать акцент на ООП.

Сказав "запись" я имел в виду, что это свойство доступно на запись, что бывает не всегда, поскольку свойства бывают и только на чтение, и значит громкость можно менять, а не только узнавать. "На запись" - так говорят, как и "на чтение". Это нормальный оборот.

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий

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

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

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
×
×
  • Создать...