dosinabox / g2nr_unofficial_update

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

Fernando_HatsZugegeben #305

Closed Kor-Angar closed 3 years ago

Kor-Angar commented 3 years ago

Fernando_HatsZugegeben блокировала возможность взять квест у Фернандо про инфу о Минентале во 2 главе, если в первой главе отдать ему улики.

при этом идёт две проверки и на Fernando_HatsZugegeben и на Fernando_ImKnast.

func int DIA_Fernando_Minental_Condition()
{
    if  (NpcObsessedByDMT_Fernando == FALSE) 
    &&  (MIS_OLDWORLD == LOG_Running) 
    &&  (Kapitel == 2) 
    &&  (EnterOW_Kapitel2 == FALSE) 
    &&  (Fernando_HatsZugegeben == FALSE) 
    &&  (Fernando_ImKnast == FALSE)
    {
        return TRUE;
    };
};

func void DIA_Fernando_Minental_Info()
{
    AI_Output(self,other,"DIA_Fernando_Minental_14_00");    //Эй, ты - подожди минутку. Ты ведь направляешься в Долину Рудников, да?
    AI_Output(other,self,"DIA_Fernando_Minental_15_01");    //И?
    AI_Output(self,other,"DIA_Fernando_Minental_14_02");    //Я хочу предложить тебе сделку. Ты приносишь мне доклад о том, что там происходит с рудой, а за это я дам тебе...

может сделать в DIA_Fernando_Minental_Condition проверку только на Fernando_ImKnast т.е. что бы фернандо не давал это квест находясь в тюрьме?


в этом диалоге тоже наверное надо добавить проверку на тюрьму

func int DIA_Fernando_Obsession_Condition()
{
    if  (Kapitel >= 3) 
    &&  (NpcObsessedByDMT_Fernando == FALSE) 
    &&  (hero.guild == GIL_KDF)
    {
        return TRUE;
    };
};

ведь Фернандо не может быть одержимым в тюрьме.. или может? :-) https://www.youtube.com/watch?v=GJNy_2-wZbM


так же я не понял как послушать вот этот замечательный диалог

func int DIA_Addon_Fernando_BanditTrader_Condition()
{
//  if((FernandoBlame_noPerm == FALSE) && (Vatras_ToMartin == TRUE) && Npc_KnowsInfo(other,DIA_Fernando_Hello) && (NpcObsessedByDMT_Fernando == FALSE) && (Npc_HasItems(other,ItMw_Addon_BanditTrader) || Npc_HasItems(other,ItRi_Addon_BanditTrader) || (Npc_HasItems(other,ItWr_Addon_BanditTrader) && (BanditTrader_Lieferung_Gelesen == TRUE))))
    if((FernandoBlame_noPerm == FALSE) && (MIS_Vatras_FindTheBanditTrader == LOG_Running) && Npc_KnowsInfo(other,DIA_Fernando_Hello) && (NpcObsessedByDMT_Fernando == FALSE) && (Npc_HasItems(other,ItMw_Addon_BanditTrader) || Npc_HasItems(other,ItRi_Addon_BanditTrader) || (Npc_HasItems(other,ItWr_Addon_BanditTrader) && (BanditTrader_Lieferung_Gelesen == TRUE))))
    {
        return TRUE;
    };
};

func void DIA_Addon_Fernando_BanditTrader_Info()
{
    AI_Output(other,self,"DIA_Addon_Fernando_BanditTrader_15_00");  //Ты продаешь оружие бандитам.
    if(Fernando_ImKnast == TRUE)
    {
        AI_Output(self,other,"DIA_Addon_Fernando_BanditTrader_14_07");  //Так это сделал ТЫ! Ты меня выдал! Я заставлю тебя заплатить за это.
        AI_Output(other,self,"DIA_Addon_Fernando_BanditTrader_15_08");  //Сначала тебе придется отсюда выйти, а я думаю, что вряд ли тебя отпустят в ближайшее время.
        AI_Output(self,other,"DIA_Addon_Fernando_BanditTrader_14_09");  //(зло) Ничего, мое время еще придет.
        FernandoBlame_noPerm = TRUE;
        B_NpcClearObsessionByDMT(self);
    }

я как понимаю вот это MIS_Vatras_FindTheBanditTrader == LOG_Running несовместимо вот с этим Fernando_ImKnast == TRUE так как

        B_StartOtherRoutine (Fernando,"Prison");
            Fernando_ImKnast = TRUE;
            MIs_Martin_FindTheBanditTrader = LOG_SUCCESS;
            B_LogEntry (TOPIC_Addon_BanditTrader,"Martin wird dafьr sorgen, dass Fernando seine Strafe absitzt. Ich soll Vatras davon unterrichten.");

хотя я могу и неправильно конечно всё это понимать :-)


в тоже время вот это прекрасный диалог можно использовать в рамках отельной инстанции для тюрьме

//Так это сделал ТЫ! Ты меня выдал! Я заставлю тебя заплатить за это. //Сначала тебе придется отсюда выйти, а я думаю, что вряд ли тебя отпустят в ближайшее время. //(зло) Ничего, мое время еще придет.

Kor-Angar commented 3 years ago

B_NpcClearObsessionByDMT(self); а это у него что делает? книгу одержимого убирают

Kor-Angar commented 3 years ago

у себя решил поправить. так будет корректно?

func int DIA_Fernando_Obsession_Condition()
{
    if  MIs_Martin_FindTheBanditTrader == LOG_SUCCESS
    {
        return false;
    }
    else if (Kapitel >= 3) 
    &&  (NpcObsessedByDMT_Fernando == FALSE) 
    &&  (hero.guild == GIL_KDF)
    {
        return TRUE;
    };
};
Kor-Angar commented 3 years ago

ой. извини ты писала что так задумано что бы Фернандо был одержимым в тюрьме. забыл я :-( https://github.com/dosinabox/g2nr_unofficial_update/issues/195

dosinabox commented 3 years ago

ведь Фернандо не может быть одержимым в тюрьме.. или может? :-)

Вопрос философский. По идее - не может. Но что мешает ищущим проникнуть в тюрьму? Того же помощника губернатора подкупили. Могли и какого-нибудь ополченца подкупить или подчинить, чтобы передать альманах в камеру. И если запрещать Фернандо быть одержимым в тюрьме, то теряется много опыта.

так же я не понял как послушать вот этот замечательный диалог

Похоже на ошибку, перепроверю.

Fernando_HatsZugegeben блокировала возможность взять квест у Фернандо про инфу о Минентале во 2 главе, если в первой главе отдать ему улики.

ГГ шантажировал Фернандо, и он теперь ему не доверяет. Наверное, такая логика.

Kor-Angar commented 3 years ago

Вопрос философский. По идее - не может.

по другом скажем, зачем им агент в тюрьме то? В верхнем квартале он им нужен что бы например убить Лотара, или что то делать ещё.. а в тюрьме зачем он нужен? :-)

ГГ шантажировал Фернандо, и он теперь ему не доверяет. Наверное, такая логика.

может просто что бы Фернандо не дал квест находясь в тюрьме? :-)

dosinabox commented 3 years ago

может просто что бы Фернандо не дал квест находясь в тюрьме? :-)

Для этого уже есть проверка Fernando_ImKnast. С другой стороны, там же проверка MIS_OLDWORLD вместе с проверками EnterOW_Kapitel2 + Kapitel, что лишнее и не имеет смысла. Может, и там переборщили. А может и нет.

Kor-Angar commented 3 years ago

Там точно переборщил так как супер душевный диалог про который я писал выше просто недоступен 😀Я вынес у себя фернандо зэка в отдельную инстанцию, так как стал окончательно запутываться. Надеюсь сегодня, завтра послушаю этот прекрасный диалог 😀А касательно квеста, то судя по диалогу что Фернандо тнорм относится к герою после того как они утре ли свой вопрос. И да, раз уж пошла такая пьянка, вчера хотел написать про такое: герой с Фернандо обсуждают тёмные дела фернандо прям при Лотаре. Сейчас скриншоты расшарю на стиме. https://steamcommunity.com/id/kor_angar/screenshots/?appid=39510

Kor-Angar commented 3 years ago

https://steamcommunity.com/id/kor_angar/screenshots/?appid=39510

Kor-Angar commented 3 years ago

Теперь тебе не отвертеться, я тебя раскрыл! image https://youtu.be/xWExyxR8Ov0?t=12093

Kor-Angar commented 3 years ago

хотя может Фернандо не даёт квест так как ему не чем будет оплатить услуги героя, так как он ему отдал всё золото и кольцо, хотя в твоей версии у Фернандо три кольца :-)

dosinabox commented 3 years ago

по другом скажем, зачем им агент в тюрьме то? В верхнем квартале он им нужен что бы например убить Лотара, или что то делать ещё.. а в тюрьме зачем он нужен? :-)

А мог ли он стать одержимым до тюрьмы, по лору? Эдакий "спящий агент".

dosinabox commented 3 years ago

хотя может Фернандо не даёт квест так как ему не чем будет оплатить услуги героя, так как он ему отдал всё золото и кольцо, хотя в твоей версии у Фернандо три кольца :-)

Кольцо-то другое. А для мага вообще рунный камень.

Kor-Angar commented 3 years ago

Он становится одержимым когда герой находится в Минентале. Конец второй главы. Если герой его закрыл во второй главе, пока жив Лотар то он не одержим. Я так это понимаю. Опять же как я понимаю, Лотара убил кто то из одержимых.К сожалению ЛОР Готику не раскрыт так как он раскрыт Тес, а большинство контента по ЛОРу откровенная чушь высосанная из пальца. 11:44, 11 января 2021 г., dosinabox notifications@github.com:

по другом скажем, зачем им агент в тюрьме то? В верхнем квартале он им нужен что бы например убить Лотара, или что то делать ещё.. а в тюрьме зачем он нужен? :-)

А мог ли он стать одержимым до тюрьмы, по лору? Эдакий "спящий агент".

—You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or unsubscribe. -- Отправлено из мобильного приложения Яндекс.Почты

Kor-Angar commented 3 years ago

Больше всего ошибок связанно именно со стыковкой основного сюжета с аддоном. То ли у Фернандо гора этих колец, то ли одно. Чего он магу тогда в качестве откупа не отдал руну..11:46, 11 января 2021 г., dosinabox notifications@github.com:

хотя может Фернандо не даёт квест так как ему не чем будет оплатить услуги героя, так как он ему отдал всё золото и кольцо, хотя в твоей версии у Фернандо три кольца :-)

Кольцо-то другое. А для мага вообще рунный камень.

—You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or unsubscribe. -- Отправлено из мобильного приложения Яндекс.Почты

dosinabox commented 3 years ago

Что если проверку Fernando_HatsZugegeben заменить на Fernando_Betrayal?

func void DIA_Addon_Fernando_BanditTrader_mil()
{
    AI_Output(other,self,"DIA_Addon_Fernando_BanditTrader_mil_15_00");  //С тобой разберется ополчение.
    AI_Output(self,other,"DIA_Addon_Fernando_BanditTrader_mil_14_01");  //Ты не можешь так поступить!
    AI_Output(other,self,"DIA_Addon_Fernando_BanditTrader_mil_15_02");  //Еще как могу. Сам увидишь.
    AI_Output(self,other,"DIA_Addon_Fernando_BanditTrader_mil_14_03");  //О, Иннос! Я пропал!
    Fernando_Betrayal = TRUE;
    B_NpcClearObsessionByDMT(self);
};
func void DIA_Addon_Fernando_BanditTrader_nein()
{
    AI_Output(other,self,"DIA_Addon_Fernando_BanditTrader_nein_15_00"); //Нет, пожалуй, я оставлю их себе.
    AI_Output(self,other,"DIA_Addon_Fernando_BanditTrader_nein_14_01"); //Как хочешь. Но предупреждаю: если ты меня выдашь, тебе не поздоровится.
    Fernando_Betrayal = TRUE;
    Info_ClearChoices(DIA_Addon_Fernando_BanditTrader);
};
func int DIA_Fernando_Minental_Condition()
{
    //if((NpcObsessedByDMT_Fernando == FALSE) && (MIS_OLDWORLD == LOG_Running) && (Kapitel == 2) && (EnterOW_Kapitel2 == FALSE) && (Fernando_HatsZugegeben == FALSE) && (Fernando_ImKnast == FALSE))    
    if((NpcObsessedByDMT_Fernando == FALSE) && (MIS_OLDWORLD == LOG_Running) && (EnterOW_Kapitel2 == FALSE) && (Fernando_Betrayal == FALSE) && (Fernando_ImKnast == FALSE))
    {
        return TRUE;
    };
};

Тогда будет точнее: квеста нет, если ГГ пригрозил Фернандо сдать его в тюрьму или уже сдал его.

dosinabox commented 3 years ago

я как понимаю вот это MIS_Vatras_FindTheBanditTrader == LOG_Running несовместимо вот с этим Fernando_ImKnast == TRUE

исправлено

dosinabox commented 3 years ago

исправлено

Хотя не совсем. Путаем MIS_Vatras_FindTheBanditTrader и MIS_Martin_FindTheBanditTrader. Диалог возможен:

Kor-Angar commented 3 years ago

Тогда будет точнее: квеста нет, если ГГ пригрозил Фернандо сдать его в тюрьму или уже сдал его.

ну да. ещё бы проработать вариант: что будет если герой пригрозил сдать фернандо, но его не сдал :-) логично будет после угрозы запускать таймер и спустя условно сутки убирать Фернандо из мира, типа он сбежал куда то или закидывать его в лагерь Декстера если он ещё жив :-)

Kor-Angar commented 3 years ago

идем к Фернандо в тюрьму

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

Kor-Angar commented 3 years ago

ассортимент товаров

имеется ввиду контроль над лутом

Kor-Angar commented 3 years ago

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

Kor-Angar commented 3 years ago

во первых нету никаких рисков с левыми диалогами, во вторых прекрасная тюремная одеждаhttps://www.youtube.com/watch?v=3qI4NOJXsOc&feature=youtu.be

dosinabox commented 3 years ago

Путаем MIS_Vatras_FindTheBanditTrader и MIS_Martin_FindTheBanditTrader. Диалог возможен:

Чепуха полная, конечно. Нужно так:

func int DIA_Addon_Fernando_BanditTrader_Condition()
{
    if((FernandoBlame_noPerm == FALSE) && (NpcObsessedByDMT_Fernando == FALSE))
    {
        if((MIS_Vatras_FindTheBanditTrader == LOG_Running) && Npc_KnowsInfo(other,DIA_Fernando_Hello) && C_SCHasAnyFernandoEvidence())
        {
            return TRUE;
        };
        if(Fernando_ImKnast == TRUE)
        {
            return TRUE;
        };
    };
};
Kor-Angar commented 3 years ago

Это лишние if(Fernando_ImKnast == TRUE)

если if(Fernando_ImKnast == TRUE) то Фернандо в Тюрьме

Kor-Angar commented 3 years ago

диалог в тюрьме лучше вынести в новую инстанцию

instance DIA_Fernando_Prison(C_Info)
{
        npc = VLK_405_Fernando;
    //npc = VLK_405_Fernando_Prison;
    nr = 99;
    condition = DIA_Fernando_Prison_Condition;
    information = DIA_Fernando_Prison_Info;
    permanent = TRUE;
    important = TRUE;
};

func int DIA_Fernando_Prison_Condition()
{
    if  Npc_IsInState(self,ZS_Talk)
    &&   (Fernando_ImKnast == TRUE)
    {
        return TRUE;
    };
};

func void DIA_Fernando_Prison_Info()
{
    AI_Output(self,other,"DIA_Addon_Fernando_BanditTrader_14_07");  //Так это сделал ТЫ! Ты меня выдал! Я заставлю тебя заплатить за это.
    AI_Output(other,self,"DIA_Addon_Fernando_BanditTrader_15_08");  //Сначала тебе придется отсюда выйти, а я думаю, что вряд ли тебя отпустят в ближайшее время.
    AI_Output(self,other,"DIA_Addon_Fernando_BanditTrader_14_09");  //(зло) Ничего, мое время еще придет.
    AI_StopProcessInfos(self);
};
dosinabox commented 3 years ago

Отдельный npc это очень хорошо, безопасно и удобно. Отдельный диалог - тоже очень хорошо, наглядно и понятно. Но как отдельный диалог будет соотноситься с одержимостью Фернандо? Как я понимаю, одержимым он у тебя не будет (не забудь убирать его имя из альманахов в случае посадки), поэтому такой проблемы и нет. Но я пока не готова сделать так же, хоть это и кажется правильным. Поэтому у меня тюремный диалог останется в рамках DIA_Addon_Fernando_BanditTrader.

Пока писала, поняла как соотнести DIA_Fernando_Prison с одержимостью) Просто добавить проверку на NpcObsessedByDMT_Fernando.

Kor-Angar commented 3 years ago

Поэтому у меня тюремный диалог останется в рамках DIA_Addon_Fernando_BanditTrader.

тогда он у тебя в тюрьме будет недоступен, если (FernandoBlame_noPerm == true)

Kor-Angar commented 3 years ago

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

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

dosinabox commented 3 years ago

тогда он у тебя в тюрьме будет недоступен, если (FernandoBlame_noPerm == true)

Это признание Фернандо, там же устанавливается Fernando_HatsZugegeben = TRUE. Оно не требуется для сдачи через Мартина.

if(Fernando_HatsZugegeben == TRUE)
{
    AI_Output(other,self,"DIA_Addon_Martin_Fernando_15_05");    //И кроме того, Фернандо, старый торговец из верхнего квартала, сознался в том, что ведет дела с бандитами.
    FernandoHints_Confession = TRUE;
};
if(((FernandoHints_ItMw == TRUE) && (FernandoHints_ItRi) && (FernandoHints_Confession)) || (FernandoHints_ItWr == TRUE))
{
    AI_Output(self,other,"DIA_Addon_Martin_Fernando_07_07");    //Думаю, этого достаточно. Итак, Фернандо... Что ж, он получит по заслугам.

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

Kor-Angar commented 3 years ago

Напиши финальную версию, если сделаешь 😀12:54, 16 января 2021 г., dosinabox notifications@github.com: Closed #305.

—You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or unsubscribe. -- Отправлено из мобильного приложения Яндекс.Почты

dosinabox commented 3 years ago

https://github.com/dosinabox/g2nr_unofficial_update/blob/work/PrjGOTHIC/Story/Dialoge/DIA_VLK_405_Fernando.d