dosinabox / g2nr_unofficial_update

Исходники скриптов, релизы, хотфиксы и тестовые версии неофициального обновления для игры "Готика 2: Ночь Ворона".
https://worldofplayers.ru/threads/36817
The Unlicense
13 stars 1 forks source link

DIA_Dexter_Hallo_Info #473

Closed Kor-Angar closed 1 year ago

Kor-Angar commented 1 year ago
func void DIA_Dexter_Hallo_Info()
{
    AI_Output(self,other,"DIA_Dexter_Hallo_09_00"); //Посмотрите, кто пришел. Великий освободитель. Что ж, герой, что ты делаешь здесь?
    AI_Output(other,self,"DIA_Dexter_Hallo_15_01"); //Я хочу получить ответы на несколько вопросов.
    if(Bdt13_Dexter_verraten == FALSE)
    {
        AI_Output(self,other,"DIA_Addon_Dexter_Hallo_09_00");   //Не ожидал я, что ты придешь сюда добровольно.
        AI_Output(other,self,"DIA_Addon_Dexter_Hallo_15_01");   //Что ты имеешь в виду?
        AI_Output(self,other,"DIA_Addon_Dexter_Hallo_09_02");   //Я имею в виду, что я разыскивал тебя. Неужели тебе не попадались мои объявления о розыске?
        AI_Output(self,other,"DIA_Addon_Dexter_Hallo_09_03");   //На них изображена твоя рожа. Да-да, тебя усиленно разыскивают. Разве ты не знал?
    }
    else
    {
        AI_Output(other,self,"DIA_Dexter_Hallo_15_02"); //КТО-ТО распространяет листки бумаги с моим изображением. КОЕ-КТО сказал мне, что это ты.
        AI_Output(self,other,"DIA_Dexter_Hallo_09_03"); //Кто-то слишком много болтает.
        AI_Output(self,other,"DIA_Addon_Dexter_Hallo_09_04");   //Впрочем, ты прав. Я распространял объявления о розыске. Я искал тебя - и ты явился.
        MIS_Steckbriefe = LOG_SUCCESS;
        B_GivePlayerXP(XP_Ambient);
    };
    AI_Output(other,self,"DIA_Addon_Dexter_Hallo_15_05");   //Итак, что тебе от меня надо?
    AI_Output(self,other,"DIA_Addon_Dexter_Hallo_09_06");   //Мне? Абсолютно ничего. Но мой хозяин просто дьявольски жаждет твоей смерти.
    AI_Output(self,other,"DIA_Addon_Dexter_Hallo_09_07");   //Поэтому он приказал мне найти тебя и доставить ему твою голову.
};
Kor-Angar commented 1 year ago

MDK

FUNC VOID DIA_Dexter_Hallo_Info()
{
    AI_Output (self, other, "DIA_Dexter_Hallo_09_00");//Sieh an, wer da ist. Der groЯe Befreier. Na du Held - was suchst du hier?
    AI_Output (other, self, "DIA_Dexter_Hallo_15_01");//Ich suche ein paar Antworten.

    if (Ranger_SCKnowsDexter == TRUE)//ADDON
    {
        //ADDON>
        AI_Output (self, other, "DIA_Addon_Dexter_Hallo_09_00");//Ich hatte nicht damit gerechnet, dass du freiwillig hierher kommst.
        AI_Output (other, self, "DIA_Addon_Dexter_Hallo_15_01");//Was soll das heiЯen?
        AI_Output (self, other, "DIA_Addon_Dexter_Hallo_09_02");//Das soll heiЯen, dass ich dich hab suchen lassen. Noch keinen von meinen Steckbriefen gesehen?
        AI_Output (self, other, "DIA_Addon_Dexter_Hallo_09_03");//DEINE Visage ist da drauf. Ja ... du bist ein begehrter Mann. Hast du das nicht gewusst?
        //ADDON<
    }
    else // (Bdt13_Dexter_verraten == TRUE) //Gothic2
    {
        AI_Output (other, self, "DIA_Dexter_Hallo_15_02");//Irgendjemand verteilt Zettel mit meinem Gesicht drauf. Irgendjemand meint, dass du das wдrst.
        AI_Output (self, other, "DIA_Dexter_Hallo_09_03");//Irgendjemand redet zuviel.

        AI_Output (self, other, "DIA_Addon_Dexter_Hallo_09_04");//Aber du hast Recht. Ich habe die Steckbriefe verteilt. Und siehe da, du bist hier.

        /*//ADDON>
        AI_Output (self, other, "DIA_Dexter_Hallo_09_04");//Aber es stimmt. Ich habe meinen Jungs die Steckbriefe gegeben. Ich hatte keine andere Wahl.
        AI_Output (self, other, "DIA_Dexter_Hallo_09_05");//Als ich versuchte, aus dem Minental zu entfliehen, entdeckten mich die Soldaten und trieben mich in eine Falle.
        AI_Output (self, other, "DIA_Dexter_Hallo_09_06");//Ich dachte schon, das wдre mein Ende, aber dann tauchte plцtzlich aus der Dunkelheit diese ... Gestalt auf.
        AI_Output (self, other, "DIA_Dexter_Hallo_09_07");//Er trug eine schwarze Robe mit Kapuze und eine Maske ьberm Gesicht. Und er sprach mit einer Stimme, die alles andere als menschlich war.
        AI_Output (self, other, "DIA_Dexter_Hallo_09_08");//Aber er bot mir seine Hilfe an. Er brachte mich aus dem Tal und bot mir eintausend Goldstьcke fьr deinen Kopf.
        AI_Output (self, other, "DIA_Dexter_Hallo_09_09");//Hey, was sollte ich machen? Wenn ich abgelehnt hдtte, dann hдtte er mich getцtet!
        *///ADDON<
        //ADDON B_LogEntry (Topic_Bandits,"Dexter hat die Steckbriefe verteilt. Typen mit schwarzen Kapuzen haben ihn damit beauftragt.");

        MIS_Steckbriefe = LOG_SUCCESS;
        B_GivePlayerXP (XP_Ambient);
    };
    AI_Output (other, self, "DIA_Addon_Dexter_Hallo_15_05");//Was willst du denn von mir?
    AI_Output (self, other, "DIA_Addon_Dexter_Hallo_09_06");//Ich? Gar nichts. Aber mein Boss, der ist ganz heiЯ drauf, dich zu tцten.
    AI_Output (self, other, "DIA_Addon_Dexter_Hallo_09_07");//Deswegen soll ich dich finden und deinen Kopf zu ihm bringen.
};
Kor-Angar commented 1 year ago

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

Kor-Angar commented 1 year ago

а оно и так кажется исправлено в неоф. обновление. но не до конца

Kor-Angar commented 1 year ago

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

func void DIA_Dexter_Hallo_Info()
{
    AI_Output(self,other,"DIA_Dexter_Hallo_09_00"); //Посмотрите, кто пришел. Великий освободитель. Что ж, герой, что ты делаешь здесь?
    AI_Output(other,self,"DIA_Dexter_Hallo_15_01"); //Я хочу получить ответы на несколько вопросов.
    if (Bdt13_Dexter_verraten == FALSE)
    {
        AI_Output(self,other,"DIA_Addon_Dexter_Hallo_09_00");   //Не ожидал я, что ты придешь сюда добровольно.
        AI_Output(other,self,"DIA_Addon_Dexter_Hallo_15_01");   //Что ты имеешь в виду?
        AI_Output(self,other,"DIA_Addon_Dexter_Hallo_09_02");   //Я имею в виду, что я разыскивал тебя. Неужели тебе не попадались мои объявления о розыске?
        AI_Output(self,other,"DIA_Addon_Dexter_Hallo_09_03");   //На них изображена твоя рожа. Да-да, тебя усиленно разыскивают. Разве ты не знал?
    }
    else
    {
        AI_Output(other,self,"DIA_Dexter_Hallo_15_02"); //КТО-ТО распространяет листки бумаги с моим изображением. КОЕ-КТО сказал мне, что это ты.
        AI_Output(self,other,"DIA_Dexter_Hallo_09_03"); //Кто-то слишком много болтает.
        AI_Output(self,other,"DIA_Addon_Dexter_Hallo_09_04");   //Впрочем, ты прав. Я распространял объявления о розыске. Я искал тебя - и ты явился.
        B_GivePlayerXP(XP_Ambient);
    };
    if (MIS_Steckbriefe == LOG_Running)
    {
        MIS_Steckbriefe = LOG_SUCCESS;
    };
    AI_Output(other,self,"DIA_Addon_Dexter_Hallo_15_05");   //Итак, что тебе от меня надо?
    AI_Output(self,other,"DIA_Addon_Dexter_Hallo_09_06");   //Мне? Абсолютно ничего. Но мой хозяин просто дьявольски жаждет твоей смерти.
    AI_Output(self,other,"DIA_Addon_Dexter_Hallo_09_07");   //Поэтому он приказал мне найти тебя и доставить ему твою голову.
};
Kor-Angar commented 1 year ago

и в DIA_Dexter_Kill_Info соответственно тоже доп проверку ставить для MIS_Steckbriefe , что бы её статус не поменялся если в диалоге ранее изменился на LOG_SUCCESS

func void DIA_Dexter_Kill_Info()
{
    if(Knows_Dexter == TRUE)
    {
        AI_Output(self,other,"DIA_Addon_Dexter_Add_09_02"); //Ты сам напросился...
    }
    else
    {
        AI_Output(self,other,"DIA_Dexter_Kill_09_01");  //Ох, тебе не стоило показываться здесь. Ты оказался не в то время и не в том месте.
    };
    if (MIS_Steckbriefe == LOG_Running)
    {
        MIS_Steckbriefe = LOG_OBSOLETE;
    };
    B_CheckLog();
    B_Greg_ComesToDexter();
    Info_ClearChoices(DIA_Dexter_Kill);
    Info_AddChoice(DIA_Dexter_Kill,Dialog_Ende,DIA_Dexter_Kill_ENDE);
};
Kor-Angar commented 1 year ago

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

B_LogEntry (Topic_Bandits,"Декстер признался, что распространял объявления о розыске.");

Kor-Angar commented 1 year ago

и вот тут

    Log_CreateTopic(TOPIC_Addon_WhoStolePeople,LOG_MISSION);
    Log_SetTopicStatus(TOPIC_Addon_WhoStolePeople,LOG_Running);

    if (MIS_Steckbriefe == LOG_SUCCESS)
{
    B_LogEntry (Topic_Bandits,"Декстер действовал по поручению рудного барона Ворона.");
};
    B_LogEntry(TOPIC_Addon_WhoStolePeople,"У Декстера есть хозяин. Зовут его Ворон. Ворон - бывший рудный барон. Похоже, что именно Ворон стоит за всеми этими похищениями людей. Теперь мне нужно только получить доказательство этого.");
    Info_ClearChoices(DIA_Addon_Dexter_missingPeople);
dosinabox commented 1 year ago

Значит, MIS_Steckbriefe = LOG_SUCCESS в диалоге с Ватрасом не нужно?

func void DIA_Addon_Vatras_MissingPeople_Success()
{
    var int Vatras_MissingPeopleReports;
    var int XP_Vatras_MissingPeopleReports;
    AI_Output(other,self,"DIA_Addon_Vatras_MissingPeople_Success_15_00");   //Я знаю, где находятся пропавшие люди.
    AI_Output(self,other,"DIA_Addon_Vatras_MissingPeople_Success_05_01");   //Что ты узнал?
    AI_Output(other,self,"DIA_Addon_Vatras_MissingPeople_Success_15_02");   //Человек по прозвищу Ворон спрятал их в удаленной части Хориниса.
    AI_Output(self,other,"DIA_Addon_Vatras_MissingPeople_Success_05_03");   //Почему ты так уверен в этом?
    AI_Output(other,self,"DIA_Addon_Vatras_MissingPeople_Success_15_04");   //Я читал его приказы. На него работают местные бандиты.
    if(Npc_HasItems(other,ItWr_RavensKidnapperMission_Addon))
    {
        AI_Output(other,self,"DIA_Addon_Vatras_MissingPeople_Success_15_05");   //Вот.
        B_GiveInvItems(other,self,ItWr_RavensKidnapperMission_Addon,1);
        B_ReadFakeItem(self,other,Fakescroll,1);
    };
    AI_Output(self,other,"DIA_Addon_Vatras_MissingPeople_Success_05_06");   //Отличная работа. Я боялся, что мы никогда не узнаем ответа на эту загадку.
    MIS_Addon_Vatras_WhereAreMissingPeople = LOG_SUCCESS;
    //MIS_Steckbriefe = LOG_SUCCESS;
dosinabox commented 1 year ago

Хотя нет. Нужно. На случай, если ГГ убьет Декстера без диалогов. Тогда квест не зависнет до 4 главы. Но проверку всё равно нужно добавить и здесь:

if(MIS_Steckbriefe == LOG_Running)
{
    MIS_Steckbriefe = LOG_SUCCESS;
};
dosinabox commented 1 year ago

Нужно ли начинать этот квест и в диалоге с Пабло?

func void DIA_Pablo_WANTED_Info()
{
    AI_Output(self,other,"DIA_Pablo_WANTED_12_00"); //Эй, ты, подожди - мне кажется, я тебя знаю.
    AI_Output(other,self,"DIA_Pablo_WANTED_15_01"); //Что тебе нужно?
    AI_Output(self,other,"DIA_Pablo_WANTED_12_02"); //Я где-то уже видел твое лицо... ах - точно!
    B_ReadFakeItem(self,other,Fakeheroface,1);
    AI_Output(self,other,"DIA_Pablo_WANTED_12_03"); //Вот - мы нашли этот листок у одного из бандитов, на которых наткнулись несколько дней назад - рисунок очень похож на тебя.
Kor-Angar commented 1 year ago

не уверен про Пабло. там только постер из это в принципе ничего не следует. а то что Пабло предполагает.. если бы там была записка тогда да. в записке всё чётко сказано.

можно этот квест дополнительно запускать если герой прочтёт саму записку ItWr_BanditLetter_MIS, которая есть у бандитов. в таком случае квест запустится если даже герой сразу атакует бандитов с Каваларона.

dosinabox commented 1 year ago

а то что Пабло предполагает.. если бы там была записка тогда да. в записке всё чётко сказано.

Он точно знает, что постер от бандитов:

AI_Output(self,other,"DIA_Pablo_Add_12_15");    //Мы нашли их неподалеку от поместья лендлорда.
AI_Output(self,other,"DIA_Pablo_Add_12_16");    //Но они были не похожи на людей Онара.
AI_Output(self,other,"DIA_Pablo_Add_12_17");    //Я думаю, они были частью банды, которая засела в горах около фермы Онара.
AI_Output(self,other,"DIA_Pablo_Add_12_18");    //Но если ты захочешь отправиться туда, позволь мне тебя предупредить. Эти головорезы могут сделать котлету из кого угодно!
AI_Output(other,self,"DIA_Pablo_Add_15_19");    //Я запомню это.
Kor-Angar commented 1 year ago

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

dosinabox commented 1 year ago

ну я и говорю. что они нашли постер у бандитов без сопроводительного письма и из этого ничего не следует.

Ну ГГ же видит свое лицо на постере, и сам понимает что это не просто так. И сам делает выводы. Перед Педро может схитрить и сказать что ничего не знает, но сам сделает пометку в дневнике (начнет квест).

Kor-Angar commented 1 year ago

ну при такой логике ты квест можешь запускать и с первым бандитом ;-)

Kor-Angar commented 1 year ago

я вижу всё проще вот есть письмо и в нем исчерпывающая информация. опять же сейчас оно не задействовано. соответственно альтернативным вариантом может быть запуск квеста через письмо.

Картинка без источника это просто домыслы. вот герой увидел "постер" и... а) он решил что его ищут с плохими целями б) а может эти постеры еще с готики 1? в) а может его ищут с хорошей целью? :-) Друзья его ищут так как благодарны ему за освобождение. г) и так далее.

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

dosinabox commented 1 year ago

ладно

Kor-Angar commented 1 year ago

это не истина. это мне так видится. со своей колокольни. хочешь можно сделать скрин диалога и повесить какой то опрос в ВК. там сразу мнение разойдётся :-)

dosinabox commented 1 year ago

Итого, по квесту "Объявление о розыске и бандиты":

Новые записи в дневник:

Спорное, на подумать:

Kor-Angar commented 1 year ago

про DIA_Addon_Vatras_MissingPeople_Success не понял. ранее видимо добавлялась правка. в MDK такого нет.

func void DIA_Addon_Vatras_MissingPeople_Success()
{
    AI_Output   (other, self, "DIA_Addon_Vatras_MissingPeople_Success_15_00"); //Ich weiЯ, wo die Vermissten sind.
    AI_Output   (self, other, "DIA_Addon_Vatras_MissingPeople_Success_05_01"); //Was hast du heraus gefunden?
    AI_Output   (other, self, "DIA_Addon_Vatras_MissingPeople_Success_15_02"); //Sie sind von einem Kerl namens Raven in einen fernen Teil der Insel Khorinis verschleppt worden.
    AI_Output   (self, other, "DIA_Addon_Vatras_MissingPeople_Success_05_03"); //Was gibt dir diese Gewissheit?
    AI_Output   (other, self, "DIA_Addon_Vatras_MissingPeople_Success_15_04"); //Ich habe seine Befehle gelesen. Er lдsst die Banditen der Umgebung fьr sich arbeiten.
    if (Npc_HasItems (other,ItWr_RavensKidnapperMission_Addon))
    {   
        AI_Output   (other, self, "DIA_Addon_Vatras_MissingPeople_Success_15_05"); //Hier.
        B_UseFakeScroll ();
    };
    AI_Output   (self, other, "DIA_Addon_Vatras_MissingPeople_Success_05_06"); //Gut. Das hast du wirklich gut gemacht. Ich dachte schon, wir mьssten uns damit abfinden, es niemals zu erfahren.
    MIS_Addon_Vatras_WhereAreMissingPeople = LOG_SUCCESS;
    B_GivePlayerXP (XP_Addon_Vatras_WhereAreMissingPeople);
};
Kor-Angar commented 1 year ago

квест будет отменен при прочтении приказов Ворона, если не был успешно выполнен ранее (Декстер мертв, признание невозможно)

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

dosinabox commented 1 year ago

про DIA_Addon_Vatras_MissingPeople_Success не понял. ранее видимо добавлялась правка. в MDK такого нет.

Вот и хорошо. Значит, убираем лишнюю правку.

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

Да, так будет лучше.

Kor-Angar commented 1 year ago

скинешь ссылку на правки. я почитаю для общего развития :-)

dosinabox commented 1 year ago

https://github.com/dosinabox/g2nr_unofficial_update/commit/751af1bcde4f1b9b17f7ee2a488feb0a34fb51b5

Kor-Angar commented 1 year ago

в диалоге с Пабло DIA_Pablo_MyBandits, если квест активен: "Ополчение нашло бандитов с объявлением о моем розыке неподалеку от поместья лендлорда."

там по тексту так:

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