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

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!

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

MEG@VOLT

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

Scarecrow

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

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

Вложения

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

N1kX

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

Scarecrow

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

Вложения

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

N1kX

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

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

Beowulf

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

Scarecrow

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

MEG@VOLT

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

Scarecrow

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


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

N1kX

Участник форума
Регистрация
13 Ноя 2009
Сообщения
6.296
Благодарности
5.889
Баллы
940
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
Сообщения
10.179
Благодарности
7.037
Баллы
1.850
Raswen,
вроде было на вычисление жизни.
т.е. подходит к концу - ковард, разворачивается и валит от оппонента.
 

ElderGamer


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

N1kX

Участник форума
Регистрация
13 Ноя 2009
Сообщения
6.296
Благодарности
5.889
Баллы
940
Очень странная фигня, не первый человек уже пишет, что 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.493
Благодарности
3.307
Баллы
525
Проверять такие диалоги на то, что они состоялись, функцией Npc_KnowsInfo нельзя. Проверка будет давать правильный результат, только до загрузки сохранения. Тут помогает только изменение специальной переменной в одном диалоге и проверка её значения в условии другого.
 

N1kX

Участник форума
Регистрация
13 Ноя 2009
Сообщения
6.296
Благодарности
5.889
Баллы
940

N1kX

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