• Уважаемые гости и новички, приветствуем Вас на нашем форуме
    Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!
  • Друзья, доброго времени суток!
    Стартовал новый литературный конкурс от "Ордена Хранителей" - "Пираты Миртанского моря".
    Каждый может принять в нём участие и снискать славу и уважение, а в случае занятия призового места ещё и получить награду. Дерзайте
  • Дорогие друзья, год подходит к концу, и пришло время подвести его итоги и наградить достойных

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

Не стесняюсь спросить....

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.902
Благодарности
6.778
Баллы
1.625
MaGoth, у меня там одни символы какие-то, только англ буквы отображаются, так и должно быть или это из за того, что сайт накрылся?
оживил, но как сказал Магот -
кодировку смени на виндовую вместо ютф
@MEG@VOLT, еще тут картинки поправь:: https://worldofplayers.ru/threads/37720/
данон
 

Scarecrow

Участник форума
Регистрация
11 Авг 2014
Сообщения
163
Благодарности
85
Баллы
235
MEG@VOLT, с сайтом разобрался, огромное спасибо тебе, MaGoth, и Beowulf за видео. Все получилось, музыка в игре заиграла!)

Тут посмотрел, как в Диккурике сделали - у одной пещеры (где похоронен отец ГГ, может помнит кто) играет музыка, которую просто прикрутили wav файлом. В принципе, для небольших мест хороший вариант. Они еще и отключили музыку вокруг этой пещеры, что бы не накладывалось друг на друга. Я нашел oCZoneMusic - NO_SOUND, который её отключает. Как думаете, что бы сделать такое приглушение нужно тоже делать файл без звука в sgt? Пока еще не до конца понял, как они это сделали.
 

Вложения

  • No_sound.png
    No_sound.png
    2,6 MB · Просмотры: 27

N1kX


Модостроитель
Регистрация
13 Ноя 2009
Сообщения
6.176
Благодарности
5.697
Баллы
910
Скорее всего они добавили новую инстанцию в music.dat используя оригинальный nosound.wav
В принцпе посмотри как сделано у них в music.dat nosound_dic
Только переведи nosound.wav в sgt
А что за звуковой воб внутри зоны?
 

Scarecrow

Участник форума
Регистрация
11 Авг 2014
Сообщения
163
Благодарности
85
Баллы
235
N1kX, а это и есть тот самый wav, который DIC_MUSIC. Ага, в скрипты music.dat и sound.dat уже лазил, вот dic_music нашел, а no_sound нет, вот и думаю, как они это запилили. Да, наверное придется переводить в sgt.
 

Вложения

  • dic.png
    dic.png
    2,5 MB · Просмотры: 27

N1kX


Модостроитель
Регистрация
13 Ноя 2009
Сообщения
6.176
Благодарности
5.697
Баллы
910
Музыка зоны ищется по его vobname, а не sndname
Ведь вызов идет как
При попадании игрока в ббокс игровой зоны, который ты указал (размер его) движок ищет по vobname инстанцию музыки в music.dat, и при соответствии имен, начинает проигрывание музыки с её настройками. Если не находит, то будет вывод в zSpy, что такой музыковой сцены не найдено, соответственно ничего не произойдет.
То есть в music.dat должна быть инстанция NOSOUND_DIC
А может prototype
А может и просто не быть и приглушение звука будет выполнять звуковой воб.
Я ещё не играл со звуковыми эффектами, всех различий не знаю. :confused:

В одном моде видел, что были попытки использовать сразу звуковой/музыкальный файл, без его прописывания в sfx/music, но это не работает, даже при наличии этого файла.
 

Beowulf

Участник форума
Регистрация
21 Ноя 2010
Сообщения
1.954
Благодарности
1.488
Баллы
465
Scarecrow, в целом да - для того места сделана музыкальная зона-"заглушка". Через DMP посмотри, как сделана.
 

Scarecrow

Участник форума
Регистрация
11 Авг 2014
Сообщения
163
Благодарности
85
Баллы
235
Beowulf, а что такое DMP? еще не во всем шарю)
 

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.902
Благодарности
6.778
Баллы
1.625
Scarecrow, директ мюзик (вроде)плеер ))
 

Scarecrow

Участник форума
Регистрация
11 Авг 2014
Сообщения
163
Благодарности
85
Баллы
235
MEG@VOLT, а, допер) надо хотя б найти тот файл, которым заглушают, а то его ни в скриптах, ни в папке с музыкой мода нет. где он находится - пока без понятия


UPD. Разобрался, всем еще раз большое спасибо!
 
Последнее редактирование:

N1kX


Модостроитель
Регистрация
13 Ноя 2009
Сообщения
6.176
Благодарности
5.697
Баллы
910
MEG@VOLT, а, допер) надо хотя б найти тот файл, которым заглушают, а то его ни в скриптах, ни в папке с музыкой мода нет. где он находится - пока без понятия
Находится он в sound.vdf
Потому что используется в sfx.dat
 

Raswen

Гражданин Хориниса
Регистрация
18 Фев 2014
Сообщения
1.352
Благодарности
784
Баллы
260
В скриптах г2 есть четыре тактики fight_tactic:
// Coward —> Normal —> Strong —> Master.
Чем принципиально отличается Coward от Normal ?
 

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.902
Благодарности
6.778
Баллы
1.625
Raswen,
вроде было на вычисление жизни.
т.е. подходит к концу - ковард, разворачивается и валит от оппонента.
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.410
Благодарности
3.241
Баллы
525
Чем принципиально отличается Coward от Normal ?
Не скажу по Г2, но думаю, что там примерно то же самое, что и в Г1. Тактики отличаются поведением неписей в бою, включая: стрейф около цели или его отсутствие, наличие удара в движении или его отсутствие, количество ударов в серии, длительность пауз между ударами и сериями ударов.
 

N1kX


Модостроитель
Регистрация
13 Ноя 2009
Сообщения
6.176
Благодарности
5.697
Баллы
910
Очень странная фигня, не первый человек уже пишет, что 1 диалог просто не доступен у НПС.
Мы говорим с 1 НПС, платим ему за информацию. Получаем сведения.
В сохранения записался факт диалога с НПС и установки переменной, идем к другому НПС и все. Условие как бы выполняется, но диалога нет.
Если принудительно вызвать функцию DIA_RHEN_O_TROKARZE_Info, то диалог засчитывается и правильно воспринимается у другого непися.

Также я заметил в сохранении у игрока, что диалог уже был как бы проговорен, но записи в дневнике не было, неужели движок сам присвоил (присваивает факт) диалога?
Daedalus:
var int gdzie_jest_trokar;

INSTANCE DIA_Kardif_GDZIE_JEST_TROKAR(C_INFO)
{
    npc          = VLK_431_Kardif;
    nr           = 2;
    condition    = DIA_Kardif_GDZIE_JEST_TROKAR_Condition;
    information  = DIA_Kardif_GDZIE_JEST_TROKAR_Info;
    permanent    = TRUE;
    description    = "Ты не слышал охотника по имени Трокар?";
};

FUNC int DIA_Kardif_GDZIE_JEST_TROKAR_Condition()
{
    if ((MIS_Bartok_MissingTrokar == LOG_RUNNING) && (Kardif_OneQuestion == TRUE) && (KardifPissed == FALSE) && (gdzie_jest_trokar == FALSE))
    {
        return TRUE;
    };
};

FUNC void DIA_Kardif_GDZIE_JEST_TROKAR_Info()
{
    AI_Output(other, self,"DIA_Kardif_GDZIE_JEST_TROKAR_15_00"); //Ты не слышал про охотника по имени Трокар?
    if(B_GiveInvItems(other,self,ItMi_Gold,Kardif_Deal))
    {
        AI_Output(self, other,"DIA_Kardif_GDZIE_JEST_TROKAR_03_01"); //Охотника? Ты про этих из Долины Предков?
        AI_Output(other, self,"DIA_Kardif_GDZIE_JEST_TROKAR_15_02"); //Нет, он живет в Хоринисе. Как я узнал, он должен был встретиться с кем-то в портовом квартале, чтобы купить болотную траву.
        AI_Output(self, other,"DIA_Kardif_GDZIE_JEST_TROKAR_03_03"); //Болотную траву говоришь... хм...
        AI_PlayAni(self,"T_SEARCH");
        AI_Output(self, other,"DIA_Kardif_GDZIE_JEST_TROKAR_03_04"); //... в портовом квартале есть торговец травой. Только имени его я не скажу.
        AI_Output(self, other,"DIA_Kardif_GDZIE_JEST_TROKAR_03_05"); //Поговори с Реном, у него везде глаза и уши.
        AI_Output(self, other,"DIA_Kardif_GDZIE_JEST_TROKAR_03_06"); //Быть может, он что-то да слышал о твоем охотнике.
        B_LogEntry(TOPIC_Bartok_MissingTrokar,"Кардиф ничего не слышал о Трокаре. Он подсказал мне обратиться к Рену, который многое слышит.");
        gdzie_jest_trokar = TRUE;
    }   
    else
    {
        B_SayKardifZuwenigGold();
    };
};
Daedalus:
INSTANCE DIA_RHEN_O_TROKARZE(C_INFO)
{
    npc          = VLK_489_Rhen;
    nr           = 6;
    condition    = DIA_RHEN_O_TROKARZE_Condition;
    information  = DIA_RHEN_O_TROKARZE_Info;
    permanent    = FALSE;
    description    = "Ты слышал что-нибудь об охотнике Трокаре?";
};

FUNC int DIA_RHEN_O_TROKARZE_Condition()
{
    if((Npc_KnowsInfo(other, DIA_Kardif_GDZIE_JEST_TROKAR)) && (gdzie_jest_trokar == TRUE))
    {
        return TRUE;
    };
};

FUNC void DIA_RHEN_O_TROKARZE_Info()
{
    AI_Output(other, self,"DIA_RHEN_O_TROKARZE_15_00"); //Ты слышал что-нибудь об охотнике Трокаре?
    AI_Output(self, other,"DIA_RHEN_O_TROKARZE_03_01"); //Нет. А должен?
    AI_Output(other, self,"DIA_RHEN_O_TROKARZE_15_02"); //Я слышал, что он пропал в гавани. Охотник Барток хочет знать, что с ним случилось.
    AI_Output(other, self,"DIA_RHEN_O_TROKARZE_15_03"); //Это был его хороший друг. Трокар хотел курить болотной травы в гавани.
    AI_Output(self, other,"DIA_RHEN_O_TROKARZE_03_04"); //Я понял. Я не могу сказать тебе имя торговца травой, но могу сказать, что он не имел ничего общего с пропажей этого охотника.
    AI_Output(other, self,"DIA_RHEN_O_TROKARZE_15_05"); //Откуда такая уверенность?
    AI_Output(self, other,"DIA_RHEN_O_TROKARZE_03_06"); //Потому что этот торговец продает траву только проверенным лицам.
    AI_Output(self, other,"DIA_RHEN_O_TROKARZE_03_07"); //Он не стал бы рисковать быть пойманным ополчением, торгуя с охотником из нижнего города.
    AI_Output(self, other,"DIA_RHEN_O_TROKARZE_03_08"); //По-моему, тут замешаны пираты. Они также продают траву жителям города.
    AI_Output(other, self,"DIA_RHEN_O_TROKARZE_15_09"); //И с кем мне тогда поговорить?
    AI_PlayAni(self, "T_SEARCH");
    AI_Output(self, other,"DIA_RHEN_O_TROKARZE_03_10"); //Иди поговори с Родриком, работником Гарвелла.
    AI_Output(self, other,"DIA_RHEN_O_TROKARZE_03_11"); //Насколько мне известно, он хотел стать пиратом.
    B_LogEntry(TOPIC_Bartok_MissingTrokar,"Рен рассказал мне, что в городе работают пираты. Родрик что-то знает об этом.");
    AI_StopProcessInfos(self);
};
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.410
Благодарности
3.241
Баллы
525
Проверять такие диалоги на то, что они состоялись, функцией Npc_KnowsInfo нельзя. Проверка будет давать правильный результат, только до загрузки сохранения. Тут помогает только изменение специальной переменной в одном диалоге и проверка её значения в условии другого.
 

N1kX


Модостроитель
Регистрация
13 Ноя 2009
Сообщения
6.176
Благодарности
5.697
Баллы
910

N1kX


Модостроитель
Регистрация
13 Ноя 2009
Сообщения
6.176
Благодарности
5.697
Баллы
910
N1kX,
Можно попробовать и так https://worldofplayers.ru/threads/13198/page-272#post-813149
но скорее всего тоже будет глючить и лучше вообще отказаться от Npc_KnowsInfo.
Мне проще убрать Npc_KnowsInfo:)
Кстати такое работает и сохраняется в Готике 2. В Готике 1 не знаю, может подтвердить или опровергнуть ElderGamer
 
Сверху Снизу