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

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

Готика 2: НВ Out Of My Way

MW 7


Модостроитель
Регистрация
26 Мар 2004
Сообщения
2.000
Благодарности
968
Баллы
295
  • Первое сообщение
  • #1
редакция от 1 марта 2023 года.
один архув с аудио репликами и субтитрами. второй архив со скриптами. два архива лишние, удалить не смог. у правильного архива в название указано "оно"
***
настройки восприятия можно изменить в файле gothic.ini. параметры по умолчанию
DIST_MoveNpc=300
DIST_PERC_MOVENPC=100
***
  • реплики собраны в посте #3 топика Готика 2: НВ - Out Of My Way
  • Сердце "проекта", цикл ZS_MoveNpcWait в посте #4 Готика 2: НВ - Out Of My Way
  • C_AmIFRIENDLY - у героя есть «друзья». Какие то есть изначально, какие то появляются по сюжету, какие то в рамках фракционных отношений. Друзья не бьют героя и не хомят ему на ровном месте. Друзья говорят «Привет друг». пост про друзей #5 Готика 2: НВ - Out Of My Way
  • C_AmIStronger - если НПС не друг героя и достаточно крепок, то он будет угрожать герою. Проверка на то крут НПС или нет в посте #6 Готика 2: НВ - Out Of My Way
 

Вложения

  • 2023_01_03_G2_OUTOFMYWAY_RU_SPEECH.zip
    1,7 MB · Просмотры: 15
  • оно_2023_01_03_G2_OUTOFMYWAY_scripts.zip
    9,9 KB · Просмотры: 15
  • 2023_03_10_G2_OUTOFMYWAY_scripts.zip
    10,7 KB · Просмотры: 9
  • 2023_03_13_G2_OUTOFMYWAY_scripts.zip
    10,9 KB · Просмотры: 10
Последнее редактирование:

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.860
Благодарности
6.740
Баллы
1.625
MW 7, Главное ты понял, что я имел ввиду))
 

MW 7


Модостроитель
Регистрация
26 Мар 2004
Сообщения
2.000
Благодарности
968
Баллы
295
Главное ты понял, что я имел ввиду))
не уверен:) надо будет в перспективе посмотреть на набор голосов для разных реплик их разное кол-во. то есть где то 17, где то 14, где то 15.
 

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.860
Благодарности
6.740
Баллы
1.625
то есть где то 17, где то 14, где то 15.
во второй готе 16 актеров озвучки учавствуют, без разницы локализации.
Для self.gender == MALE, можно использовать приведенный пример.
Для self.gender == FAMELE, надо будет смотреть по ситуациям, и номерам женских голосов. Но их думаю позже. Или уже пробовать озвучить женским голосом? и залить во вложение?
 

MW 7


Модостроитель
Регистрация
26 Мар 2004
Сообщения
2.000
Благодарности
968
Баллы
295
я бы женщин пока вообще не трогал. так как там условно две гильдии и пару VIP девушек. соответственно лучше сначала индивидуально отработать VIP девушек и дальше смотреть что дальше.
 

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.860
Благодарности
6.740
Баллы
1.625
я бы женщин пока вообще не трогал. так как там условно две гильдии и пару VIP девушек. соответственно лучше сначала индивидуально отработать VIP девушек и дальше смотреть что дальше.
Ок, давай пока на мужиках все отработаем, а дальше уже будем посмотреть...
 

MW 7


Модостроитель
Регистрация
26 Мар 2004
Сообщения
2.000
Благодарности
968
Баллы
295
Главное ты понял, что я имел ввиду))
так?
Daedalus:
    var int slfvoice;   slfvoice = slf.voice;
   
    if (Hlp_StrCmp(files,"MAKEWAY"))
    || (Hlp_StrCmp(files,"YOUDEAFORWHAT"))
    || (Hlp_StrCmp(files,"OUTOFMYWAY"))
    {
        if (slfvoice > 14)
        {
            //slfvoice = 14;
            slfvoice = Hlp_Random(14) + 1 ; // от 1 до 14 включительно
        };
    };
   
    if (Hlp_StrCmp(files,"FRIENDLYGREETINGS"))
    {
        if (slfvoice > 15)
        {
            slfvoice = Hlp_Random(15) + 1 ;
        };
    };


    if (Hlp_StrCmp(files,"MILGREETINGS"))
    || (Hlp_StrCmp(files,"PALGREETINGS"))
    || (Hlp_StrCmp(files,"FURINNOS"))
    {
        if (slfvoice > 17)
        {
            slfvoice = Hlp_Random(17) + 1 ;
        };
    };
 

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.860
Благодарности
6.740
Баллы
1.625
Сработает только первое условие. остальные не будут отрабатываться, т.к. slfvoice будет не больше 14...
А не...
А почему у второго и третьего условия идет увеличение номера голоса?
 

MW 7


Модостроитель
Регистрация
26 Мар 2004
Сообщения
2.000
Благодарности
968
Баллы
295
А почему у второго и третьего условия идет увеличение номера голоса?
Daedalus:
    // русские субтиры

func void Ru_SVM_index()  // эту функцию не надо вызывать. нужна для субтитров
{
    //********************************************************//
    //     !!!   имя файлов "ЗАГЛАВНЫМИ БУКВАМИ"  !!!
    //********************************************************//
    AI_Output(null, null, "SVM_1_MILGREETINGS");    //За короля!
    AI_Output(null, null, "SVM_3_MILGREETINGS");    //За короля!
    AI_Output(null, null, "SVM_4_MILGREETINGS");    //За короля!
    AI_Output(null, null, "SVM_5_MILGREETINGS");    //За короля!
    AI_Output(null, null, "SVM_6_MILGREETINGS");    //За короля!
    AI_Output(null, null, "SVM_7_MILGREETINGS");    //За короля!
    AI_Output(null, null, "SVM_8_MILGREETINGS");    //За короля!
    AI_Output(null, null, "SVM_9_MILGREETINGS");    //За короля!
    AI_Output(null, null, "SVM_10_MILGREETINGS");    //За короля!
    AI_Output(null, null, "SVM_11_MILGREETINGS");    //За короля!
    AI_Output(null, null, "SVM_12_MILGREETINGS");    //За короля!
    AI_Output(null, null, "SVM_13_MILGREETINGS");    //За короля!
    AI_Output(null, null, "SVM_14_MILGREETINGS");    //За короля!
    AI_Output(null, null, "SVM_16_MILGREETINGS");    //За короля!
    AI_Output(null, null, "SVM_17_MILGREETINGS");    //За короля!


    AI_Output(null, null, "SVM_1_PALGREETINGS");    //За Инноса!
    AI_Output(null, null, "SVM_3_PALGREETINGS");    //За Инноса!
    AI_Output(null, null, "SVM_4_PALGREETINGS");    //За Инноса!
    AI_Output(null, null, "SVM_5_PALGREETINGS");    //За Инноса!
    AI_Output(null, null, "SVM_6_PALGREETINGS");    //За Инноса!
    AI_Output(null, null, "SVM_7_PALGREETINGS");    //За Инноса!
    AI_Output(null, null, "SVM_8_PALGREETINGS");    //За Инноса!
    AI_Output(null, null, "SVM_9_PALGREETINGS");    //За Инноса!
    AI_Output(null, null, "SVM_10_PALGREETINGS");    //За Инноса!
    AI_Output(null, null, "SVM_11_PALGREETINGS");    //За Инноса!
    AI_Output(null, null, "SVM_12_PALGREETINGS");    //За Инноса!
    AI_Output(null, null, "SVM_13_PALGREETINGS");    //За Инноса!
    AI_Output(null, null, "SVM_14_PALGREETINGS");    //За Инноса!
    AI_Output(null, null, "SVM_16_PALGREETINGS");    //За Инноса!
    AI_Output(null, null, "SVM_17_PALGREETINGS");    //За Инноса!

    AI_Output(null, null, "SVM_1_FURINNOS");    //За Инноса!
    AI_Output(null, null, "SVM_3_FURINNOS");    //За Инноса!
    AI_Output(null, null, "SVM_4_FURINNOS");    //За Инноса!
    AI_Output(null, null, "SVM_5_FURINNOS");    //За Инноса!
    AI_Output(null, null, "SVM_6_FURINNOS");    //За Инноса!
    AI_Output(null, null, "SVM_7_FURINNOS");    //За Инноса!
    AI_Output(null, null, "SVM_8_FURINNOS");    //За Инноса!
    AI_Output(null, null, "SVM_9_FURINNOS");    //За Инноса!
    AI_Output(null, null, "SVM_10_FURINNOS");    //За Инноса!
    AI_Output(null, null, "SVM_11_FURINNOS");    //За Инноса!
    AI_Output(null, null, "SVM_12_FURINNOS");    //За Инноса!
    AI_Output(null, null, "SVM_13_FURINNOS");    //За Инноса!
    AI_Output(null, null, "SVM_14_FURINNOS");    //За Инноса!
    AI_Output(null, null, "SVM_16_FURINNOS");    //За Инноса!
    AI_Output(null, null, "SVM_17_FURINNOS");    //За Инноса!

 
    AI_Output(null, null, "SVM_1_MAKEWAY");    //Дай мне пройти!
    AI_Output(null, null, "SVM_2_MAKEWAY");    //Дай мне пройти!
    AI_Output(null, null, "SVM_3_MAKEWAY");    //Дай мне пройти!
    AI_Output(null, null, "SVM_4_MAKEWAY");    //Дай мне пройти!
    AI_Output(null, null, "SVM_5_MAKEWAY");    //Дай мне пройти!
    AI_Output(null, null, "SVM_6_MAKEWAY");    //Дай мне пройти!
    AI_Output(null, null, "SVM_7_MAKEWAY");    //Дай мне пройти.
    AI_Output(null, null, "SVM_8_MAKEWAY");    //Можно пройти?
    AI_Output(null, null, "SVM_9_MAKEWAY");    //Дай мне пройти!
    AI_Output(null, null, "SVM_10_MAKEWAY");    //Дай мне пройти!
    AI_Output(null, null, "SVM_11_MAKEWAY");    //Можно пройти?
    AI_Output(null, null, "SVM_12_MAKEWAY");    //Дай мне пройти!
    AI_Output(null, null, "SVM_13_MAKEWAY");    //Дай мне пройти.
    AI_Output(null, null, "SVM_14_MAKEWAY");    //Отойди!


    AI_Output(null, null,  "SVM_1_YOUDEAFORWHAT");    //Ты оглох? ДВИГАЙСЯ!
    AI_Output(null, null,  "SVM_2_YOUDEAFORWHAT");    //Исчезни, или я займусь тобой!
    AI_Output(null, null,  "SVM_3_YOUDEAFORWHAT");    //Сколько раз говорить?! Дай мне пройти!
    AI_Output(null, null,  "SVM_4_YOUDEAFORWHAT");    //С дороги, или ты пожалеешь!
    AI_Output(null, null,  "SVM_5_YOUDEAFORWHAT");    //Ты глухой или ищешь неприятностей?
    AI_Output(null, null,  "SVM_6_YOUDEAFORWHAT");    //Исчезни! Мне что - нужно вбить это в твою тупую башку?
    AI_Output(null, null,  "SVM_7_YOUDEAFORWHAT");    //Ищешь неприятностей? Убирайся отсюда!
    AI_Output(null, null,  "SVM_8_YOUDEAFORWHAT");    //Я что - должен вбить это в твою тупую башку? Убирайся отсюда!
    AI_Output(null, null,  "SVM_9_YOUDEAFORWHAT");    //Ну же, отойди с дороги!
    AI_Output(null, null,  "SVM_10_YOUDEAFORWHAT");    //Я что, должен вбить это в твою тупую башку? Убирайся отсюда!
    AI_Output(null, null,  "SVM_11_YOUDEAFORWHAT");    //Я что, должен вбить это в твою тупую башку? Убирайся отсюда!
    AI_Output(null, null,  "SVM_12_YOUDEAFORWHAT");    //Ты глухой или ищешь неприятностей?
    AI_Output(null, null,  "SVM_13_YOUDEAFORWHAT");    //Ты ищешь неприятностей? Убирайся отсюда!
    AI_Output(null, null,  "SVM_14_YOUDEAFORWHAT");    //А теперь исчезни!



    AI_Output(null, null, "SVM_1_OUTOFMYWAY");    //С дороги, парень!
    AI_Output(null, null, "SVM_2_OUTOFMYWAY");    //С дороги!
    AI_Output(null, null, "SVM_3_OUTOFMYWAY");    //С дороги, парень!
    AI_Output(null, null, "SVM_4_OUTOFMYWAY");    //С дороги!
    AI_Output(null, null, "SVM_5_OUTOFMYWAY");    //Ну же, мне нужно пройти!
    AI_Output(null, null, "SVM_6_OUTOFMYWAY");    //Эй, посторонись!
    AI_Output(null, null, "SVM_7_OUTOFMYWAY");    //С дороги!
    AI_Output(null, null, "SVM_8_OUTOFMYWAY");    //В сторону!
    AI_Output(null, null, "SVM_9_OUTOFMYWAY");    //Отойди!
    AI_Output(null, null, "SVM_10_OUTOFMYWAY");    //Прочь с дороги!
    AI_Output(null, null, "SVM_11_OUTOFMYWAY");    //Отойди!
    AI_Output(null, null, "SVM_12_OUTOFMYWAY");    //Ну же, мне нужно пройти!
    AI_Output(null, null, "SVM_13_OUTOFMYWAY");    //Уйди с дороги!
    AI_Output(null, null, "SVM_14_OUTOFMYWAY");    //Дай мне пройти.
 
 
     AI_Output(null, null, "SVM_1_FRIENDLYGREETINGS");    //Привет.
    AI_Output(null, null, "SVM_2_FRIENDLYGREETINGS");    //Привет.
    AI_Output(null, null, "SVM_3_FRIENDLYGREETINGS");    //Эй, парень.
    AI_Output(null, null, "SVM_4_FRIENDLYGREETINGS");    //Приветствую.
    AI_Output(null, null, "SVM_5_FRIENDLYGREETINGS");    //Привет, друг!
    AI_Output(null, null, "SVM_6_FRIENDLYGREETINGS");    //Привет!
    AI_Output(null, null, "SVM_7_FRIENDLYGREETINGS");    //Привет!
    AI_Output(null, null, "SVM_8_FRIENDLYGREETINGS");    //Привет!
    AI_Output(null, null, "SVM_9_FRIENDLYGREETINGS");    //Привет!
    AI_Output(null, null, "SVM_10_FRIENDLYGREETINGS");    //Привет!
    AI_Output(null, null, "SVM_11_FRIENDLYGREETINGS");    //Привет!
    AI_Output(null, null, "SVM_12_FRIENDLYGREETINGS");    //Привет, друг!
    AI_Output(null, null, "SVM_13_FRIENDLYGREETINGS");    //С тобой все в порядке?
    AI_Output(null, null, "SVM_14_FRIENDLYGREETINGS");    //Приветствую.
    AI_Output(null, null, "SVM_15_FRIENDLYGREETINGS");    //Привет!
};
магов воды в Ярике тоже в друзья? реплики будем добавлять "во имя магии" ?
Daedalus:
    var string MageGreetings;
    MageGreetings = "SVM_1_MageGreetings";    //Во имя магии!
    MageGreetings = "SVM_2_MageGreetings";    //Во имя магии!
    MageGreetings = "SVM_3_MageGreetings";    //Во имя магии!
    MageGreetings = "SVM_4_MageGreetings";    //Во имя магии!
    MageGreetings = "SVM_5_MageGreetings";    //Во имя магии!
    MageGreetings = "SVM_6_MageGreetings";    //Во имя магии!
    MageGreetings = "SVM_7_MageGreetings";    //Во имя магии!
    MageGreetings = "SVM_8_MageGreetings";    //Во имя магии!
    MageGreetings = "SVM_9_MageGreetings";    //Во имя магии!
    MageGreetings = "SVM_10_MageGreetings";    //Во имя магии!
    MageGreetings = "SVM_11_MageGreetings";    //Во имя магии!
    MageGreetings = "SVM_12_MageGreetings";    //Во имя магии!
    MageGreetings = "SVM_13_MageGreetings";    //Во имя магии!
    MageGreetings = "SVM_14_MageGreetings";    //Во имя магии!
    MageGreetings = "SVM_15_MageGreetings";    //Приветствую!
 

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.860
Благодарности
6.740
Баллы
1.625

MW 7


Модостроитель
Регистрация
26 Мар 2004
Сообщения
2.000
Благодарности
968
Баллы
295
Думаю нет. Все же ГГ перед ними жестко накосячил месяц назад...
так в итоге они в ярике как будут к герою относится? дружить или агрессивно или нейтрально? или нейтрально, а потом дружить? :)

***
в Хориносе то изначально они настроены агрессивно. после приёма в КВ кажется нейтрально..
 

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.860
Благодарности
6.740
Баллы
1.625
так в итоге они в ярике как будут к герою относится? дружить или агрессивно или нейтрально? или нейтрально, а потом дружить? :)
Давай так:
С самого начала агресивно.
После принятия в КВ нейтрально.
Попали в Ярик - нейтрально
Убили Равена - дружелюбно.
Но думаю для них реплик, как палам/ментам/наемам ненадо
 

MW 7


Модостроитель
Регистрация
26 Мар 2004
Сообщения
2.000
Благодарности
968
Баллы
295

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.860
Благодарности
6.740
Баллы
1.625
там же одно из другого вытекает.. или в ярик можно попасть не став членом КВ?
не помню, но вроде да...
Бежим с орнаментом Кавалорна к магам. Получаем задания взять еще 2 орнамента, тыкаем круги солнца, долбим печенегов, получаем оставшиеся два орнамента.
Идем к магам, открываем портал...
И пофиг на членство в КВ...
Но могу ошибаться
 

MW 7


Модостроитель
Регистрация
26 Мар 2004
Сообщения
2.000
Благодарности
968
Баллы
295

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.860
Благодарности
6.740
Баллы
1.625
Сатурас не даст ключ пока ГГ не принесёт письмо от Ватраса, который даст его после вступления в КВ.
Ок, тогда:
С самого начала агресивно.
После принятия в КВ нейтрально.
Убили Равена - дружелюбно.
 

MW 7


Модостроитель
Регистрация
26 Мар 2004
Сообщения
2.000
Благодарности
968
Баллы
295
Daedalus:
func int C_AmIStronger (var C_Npc slf, var C_Npc her)   // her это герой
{
    ...
    if (slf.guild == GIL_DJG) // НПС ОНД { return true; };
    ...
ОнД наверное тоже надо расписать. сейчас ОнД в замке пытаются дать люлей герою Паладину. что несколько странно, учитывая что в замке они на "птичьих" правах.
 

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.860
Благодарности
6.740
Баллы
1.625
ОнД наверное тоже надо расписать. сейчас ОнД в замке пытаются дать люлей герою Паладину. что несколько странно, учитывая что в замке они на "птичьих" правах.
Можно бы было определять на каком 3DS находится непись/гг. Или как-то привязать к координатом, например, на растоянии 100 метров от 0х0(середина замка).
Т.к. в других местах, кроме замка, они должны себя вести борзо.
хм
?
 

MW 7


Модостроитель
Регистрация
26 Мар 2004
Сообщения
2.000
Благодарности
968
Баллы
295
не проще просто прописать инстанции, их же там всего трое?

Daedalus:
    if (slf.guild == GIL_DJG)   // НПС ОНД
    {
        if (her.guild == GIL_DJG)                   { return TRUE;  };
        // НПС в замке
        if (C_IsNpc(slf,DJG_714_Jan)    == TRUE)    { return false; };
        if (C_IsNpc(slf,DJG_715_Ferros) == TRUE)    { return false; };
        if (C_IsNpc(slf,DJG_709_Rethon) == TRUE)    { return false; };
        // прочие
        return true;
    };


опять же что делать с Ангаром? с ним какие отношения должны быть? агрессивные, нейтральные, дружеские?
Пост автоматически объединён:

Ок, тогда:
С самого начала агресивно.
После принятия в КВ нейтрально.
Убили Равена - дружелюбно.
у нас был ранее прописан запрет для магов воды в C_AmIStronger

Daedalus:
func int C_AmIStronger (var C_Npc slf, var C_Npc her)   // her это герой
{
...
    if (slf.guild == GIL_KDW)   // Маги Воды
    {
        return false;
    };

на него ставить доп условие?
 
Последнее редактирование:

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.860
Благодарности
6.740
Баллы
1.625
не проще просто прописать инстанции, их же там всего трое?
Ок ))
опять же что делать с Ангаром? с ним какие отношения должны быть? агрессивные, нейтральные, дружеские?
дружеские
на него ставить доп условие?
Угу
 
Сверху Снизу