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

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

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

Arhara,Если нпс в ремарке сдвинется с места(например сорвется в комбат или денжер),то назад уже не вернется-правильно?

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

gruber,

В ремарках, обычно, прописывают полный игнор. Зато, при следующем вхождении актора в алайв к такой неписи - он почти 100% вернётся снова в точку ремарка, хотя м.б по логике уже далеко от неё... Поэтому - актив - любое другое, хоть на пару секунд, потом - ремарк

Еще 10 лет таких цен, зарплат и пенсий, и вместо переписи населения будет перекличка

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

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

 

Попробовал настроить проигрывание звуков в логике, получилось, добавил новые темы в sound_theme.script но почему то они тихо воспроизводятся, хотя громкость самих треков такая же как и у остальных, как добавить громкость воспроизведения?

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

Byurrer, не вмешиваясь в логику приемника - нет! Я сначала думал, что возможен вариант как с телевизором, у него в модель вшиты анимаии, может у приемника есть, что либо бодобное, но нет. Наткнулся только на надпись в User Data:

[disable]
linear_factor   =0.1
angular_factor  =0.1

Что это я не знаю!

 

Есть конечно вариант через схему sr_sound_act, но помоему это, так сказать, "веселый" вариант...

А почему для тебя критично не вмешиваться в логику?

Ссылка на комментарий
znachara, ну вот ты как думаешь, что легче: прописать условие в нужном месте или создавать всю схему с нуля? Я тебе сказал, что данный алгоритм уже реализован, а с какими нюансами - это ты уж извеняй! :ny_cool:
Ссылка на комментарий
Куфзук, спасибо, понял, не то чтобы критично но смотриться примитивно сам процесс создания,т.е. ресурсоемко, что в значительной степени помешает совместимости (ну это мне так кажется), есть идейка как реарганизовать под специальный приемник ... буду пробовать ...
Ссылка на комментарий

Byurrer, а что ты считаешь "ресурсоемким"? На крайний случай заспавни этот приемник через скрипт, если ты не хочешь трогать all.spawn во избежании совместимости.

Конечно интересно! Обязательно отпишись... :ny_thumbsup:

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

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

 

Вот по ходу дела возник вопрос: использую функцию воспроизведения такую:

snd:play_at_pos(db.actor, vector():set(0,0,0),0, sound_object.s2d)

snd - саунд, но этот звук воспроизводится всего несколько секунд, хотя на самом деле играет (в проигрывателе) более 1 минуты, и через метод: play_no_feedback воспроизводится нормально, то есть полностью ... подскажите пожалуйста как исправить это.

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

Даже добавление звуков в папку не помогло(

Странно на самом деле. При выдаче инфопоршня на переход к другой ремарке, НПС адекватно реагирует и переходит. А со звуком никак. Странно однако.

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

ЙоЖеГ, с наступающим Новым Годом!

На двадцатую строчку ругань идет в случае ситкасической ошибки в логике (уже обсуждалося, 101 пост на этой странице), я вот например, случайно вместо active написал activ, так вот и получил ругань на 20ю строку _g.script.

И по поводу озвучки фразы, возможно gruber прав! Нужно попробывать в папку sounds\dialogs положить файл с названием один-в-один, как айди фразы в диалоге. Попробуй, может что-то и выйдет! :ny_thumbsup:

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

ЙоЖеГ, А почему оно должно работать,если ты там чушь слепил,покажи мне хоть один пример где так сделано или выписку из тутора по логике,что так нужно делать.Сам придумал?И удивляешься что не работает

по инфопоршню звук можно отыграть только как эффект,а эффекты заключаются в знак%

%play_snd(snd_name)%-так к примеру или попроще по поршню сделать переход на другую схему через ремарк где этот звук и проиграть

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

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

Тихо играет?Возможно низкий уровень исходника звука -можно увеличить параметры в том же файле

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

gruber, нет я не пытаюсь его изобрести ... я пытаюсь разобраться в методах воспроизведения звуков ... разобрал ПЫСовские скрипты, более менее ясно ... кроме одного: что это за метод? Как его использовать?(play_sound) примерную схему я понял и суть немного, но не могу сообразить суть аргументов которые принимает данная функция ...

Мне это нужно не только для создания приемника ... с помощью этого можно сделать кучу чего нового ... разнообразного ... поэтому хочу разобраться!

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

TRAMP14 посмотри как реализован вывод на худ часов: http://www.amk-team.ru/forum/index.php?sho...st&p=219306 и сделай по аналогии.

 

Byurrer, что именно ты хочешь сделать? Ты просишь помощи, но не говоришь сути, сложно понять тебя без экстрасенсорных способностей! Объясни хотя бы это

есть идейка как реарганизовать под специальный приемник ...
в чем заключается "специальность" твоего приемника? Изменено пользователем Куфзук
Ссылка на комментарий

Куфзук, я хочу понять как использовать методы:play_sound, то есть как воспроизвести звук через этот метод, вот что конкретно я хочу узнать!

И еще косвенный вопрос, который я задавал ранее:

Вот по ходу дела возник вопрос: использую функцию воспроизведения такую:

snd:play_at_pos(db.actor, vector():set(0,0,0),0, sound_object.s2d)

snd - саунд, но этот звук воспроизводится всего несколько секунд, хотя на самом деле играет (в проигрывателе) более 1 минуты, и через метод: play_no_feedback воспроизводится нормально, то есть полностью ... подскажите пожалуйста как исправить это.

 

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

Куфзук часы я перебрал, как вывести сообщение ужо понял но вот как определить сколько аптечек у ГГ незнаю как

 

Добавлено через 3 мин.:

Была идея определить для каждого числа но это не есть выполнимо я например ношу 100-120 аптечек а ктото мож всего 10 просчитывать все варианты както не гуд

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

ВСЕХ с наступающим Новым Годом! :ny_smile:

TRAMP14, вот смотри, приблизительно, код будет выглядеть вот так:

local function counting_kits(item)
    if item:name() == "medkit" or item:name() == "medkit_army" or item:name() == "medkit_scientic" then
        number_of_kits = number_of_kits + 1
    end
end

local number_of_kits = 0
function all_kits (actor, npc)
    actor:inventory_for_each(counting_kits)
    return number_of_kits
end

Вызывать нужно функцию all_kits. НО! Если вешать на апдейт для актора, то это не гуд! Считай каждый вызов апдейта, а это где-то каждые 40 мс, будет происходить подсчет аптечек в его инвентаре. Лично я стараюся без КРАЙНЕЙ надобности его не нагружать. Но решать тебе!

P.S. Код набросал на работе, поэтому если что не так, пусть меня поправят.

 

1. Функция all_kits, считает колличество аптечек в инвентаре у актора (сумма будет общей, т.е. обычные+армейские+научные). Как это происходит:

Локальная функция counting_kits получает в качестве параметра, объект возвращаемый функцией inventory_for_each (это стандартная функция ПЫСов).

Переменная number_of_kits будет хранить в себе то самое колличество аптечек.

Функция inventory_for_each перебирает все предметы в инвентаре, кроме тех, что находяться в невидимых слотах (нож, бинокль, болт, фонарик и ПДА). Про эту функцию можешь почитать сдесь: Описание класса game_object. В качестве параметра ей будет передаваться локальная функия counting_kits.

 

Т.е. когда ты вызовишь функцию all_kits, начнет работать функция inventory_for_each, перебирая в инвенторе все предметы. Когда она найдет первый предмет, она передаст его в качестве параметра функции counting_kits. Она же, в свою очередь, будет сравнивать имя этого предмета с именем одной из аптечек, если это аптечка, то переменная number_of_kits увеличиться на один. И так далее, пока не переберуться все предметы. В итоге у тебя будет возвращено общее колличество аптечек.

 

2. Таймер нужно где-то запустить! Если ты хочешь выводить колличество аптечек на худ, то тебе нужно вешать на апдейт.

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

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

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

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

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

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

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

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

Войти

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

Войти
  • Недавно просматривали   1 пользователь

×
×
  • Создать...