Open Kor-Angar opened 3 years ago
а файл отдельный этот с Гитхаба скачать нельзя? -)
надо добавить условие дополнительные. я хотел сделать возможность переход сразу к диалогу про глаз, но после тестов оказалось что так делать не стоит, так как там что то сыпаться начинается. я у себя в коде это оставил в виде напоминания на будущее так сказать что так делать нельзя :-)
if (Npc_HasItems(other,ItMi_InnosEye_Broken_Mis) || (MIS_SCKnowsInnosEyeIsBroken == TRUE))
{
// нельзя использовать
//Info_AddChoice(DIA_Xardas_DMTSINDDA,"Глаз Инноса был уничтожен",DIA_Xardas_INNOSEYEBROKEN_Info);
}
else
{
Info_AddChoice(DIA_Xardas_DMTSINDDA,"Я, наконец, добыл доказательство, которое требовал от меня лорд Хаген.",DIA_Xardas_DMTSINDDA_Beweis);
};
так же у себя сделал и проверил:
в DIA_Xardas_INNOSEYEBROKEN можно добавить проверку на Ватраса
if(MIS_RitualInnosEyeRepair == LOG_Running)
{
DIA_Xardas_RITUALREQUEST_Info ();
}
else
{
Info_ClearChoices(DIA_Xardas_INNOSEYEBROKEN);
Info_AddChoice(DIA_Xardas_INNOSEYEBROKEN,"И что теперь?",DIA_Xardas_INNOSEYEBROKEN_wasnun);
};
Info RitualRequest поднять и добавить проверку на то был ли он :-)
///////////////////////////////////////////////////////////////////////
// Info RitualRequest
///////////////////////////////////////////////////////////////////////
instance DIA_Xardas_RITUALREQUEST(C_Info)
{
npc = NONE_100_Xardas;
nr = 34;
condition = DIA_Xardas_RITUALREQUEST_Condition;
information = DIA_Xardas_RITUALREQUEST_Info;
description = "Ватрас отправил меня к тебе.";
};
var int Xardas_RITUALREQUEST;
func int DIA_Xardas_RITUALREQUEST_Condition()
{
if (Xardas_RITUALREQUEST == 0)
{
return FALSE;
}
else if((MIS_RitualInnosEyeRepair == LOG_Running) && Npc_KnowsInfo(other,DIA_Xardas_INNOSEYEBROKEN) && (Kapitel == 3))
{
return TRUE;
};
};
таким образом если ГГ приходит к Ксардасу после того как нашёл глаз Инноса всё становится гладко. но это прям тестить надо так как там много вариантов событий. 3 сценария как минимум.
но это прям тестить надо так как там много вариантов событий
я сегодня свои правки проверял час. и так и эдак.
я у себя в коде это оставил в виде напоминания на будущее так сказать что так делать нельзя :-)
вот так конструктивно-практично будет: запись в топик спрятать под условие и вносить разное в зависимости от того как сюжет будет развиваться ;-)
if (Npc_HasItems(other,ItMi_InnosEye_Broken_Mis) || (MIS_SCKnowsInnosEyeIsBroken == TRUE))
{
B_LogEntry(TOPIC_INNOSEYE,"Врагу теперь известно, что я ищу Глаз Инноса.");
// нельзя использовать
//Info_AddChoice(DIA_Xardas_DMTSINDDA,"Глаз Инноса был уничтожен",DIA_Xardas_INNOSEYEBROKEN_Info);
}
else
{
B_LogEntry(TOPIC_INNOSEYE,"Врагу теперь известно, что я ищу Глаз Инноса. Мне нужно побыстрее найти его, пока еще не слишком поздно.");
Info_AddChoice(DIA_Xardas_DMTSINDDA,"Я, наконец, добыл доказательство, которое требовал от меня лорд Хаген.",DIA_Xardas_DMTSINDDA_Beweis);
};
Как-то так: g2nr_unofficial_update/PrjGOTHIC/Story/Dialoge/DIA_NONE_100_Xardas.d
Line 882 in 207d343
func void B_XardasGivesProofForPyrokar()
Нужно проверить.
тогда тебе надо и B_XardasGivesProofForPyrokar показать сразу под DIA_Xardas_PYROWILLNICHT а так у тебя общая логика структуры кода Пираней теряется.
тогда тебе надо и B_XardasGivesProofForPyrokar показать сразу под DIA_Xardas_PYROWILLNICHT
Так и есть:
func void DIA_Xardas_PYROWILLNICHT_Info()
{
B_XardasGivesProofForPyrokar();
};
Что то мы про разное говорим как обычно. Я про людей читающих код, а ты мне про то как его обрабатывают машины. 22:58, 25 сентября 2020 г., dosinabox notifications@github.com:
тогда тебе надо и B_XardasGivesProofForPyrokar показать сразу под DIA_Xardas_PYROWILLNICHT
Так и есть: func void DIA_Xardas_PYROWILLNICHT_Info() { B_XardasGivesProofForPyrokar(); };
—You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or unsubscribe. -- Отправлено из мобильного приложения Яндекс.Почты
вообщем меня всё это в голову не помещается и я для себя вынес диалоги Ксардаса в отдельный файл https://github.com/Kor-Angar/G2_NotR_Kor_Angar/blob/master/PrjGOTHIC/Story/Dialoge/DIA_NONE_100_Xardas_3_Kapitel.d
попробовал такую конструкцию, записи в дневник почему то не добавились :-1:
if (Npc_HasItems(other,ItMi_InnosEye_Broken_Mis) || (MIS_SCKnowsInnosEyeIsBroken == TRUE))
{
B_LogEntry(TOPIC_INNOSEYE,"Врагу теперь известно, что я ищу Глаз Инноса.");
// нельзя использовать
//Info_AddChoice(DIA_Xardas_DMTSINDDA,"Глаз Инноса был уничтожен",DIA_Xardas_INNOSEYEBROKEN_Info);
}
else
{
B_LogEntry(TOPIC_INNOSEYE,"Врагу теперь известно, что я ищу Глаз Инноса. Мне нужно побыстрее найти его, пока еще не слишком поздно.");
Info_AddChoice(DIA_Xardas_DMTSINDDA,"Я, наконец, добыл доказательство, которое требовал от меня лорд Хаген.",DIA_Xardas_DMTSINDDA_Beweis);
};
попробовал такую конструкцию, записи в дневник почему то не добавились -1
ан-нет. добавилось :-)
Надо наверное после
AI_Output(self,other,"DIA_Xardas_RITUALREQUEST_14_06"); //Я буду помогать в этом ритуале только когда буду уверен, что ты готов к встрече с драконами.
делать запись в дневник. так как сейчас если диалог будет прощёлкан непонятно почему ксардас не ушёл в круг солнца. например: Ксардас будет участвовать в ритуале в Круге Солнца, когда я буду готов к встрече с драконами.
и/или в диалог DIA_Xardas_BEREIT_Info добавить вариант
AI_Output(self,other,"DIA_Xardas_WARUMNICHTJETZT_wastun_14_01"); //Ты все еще слишком слаб, чтобы сражаться с драконами. С этим снаряжением у тебя нет никаких шансов.
AI_Output(self,other,"DIA_Xardas_WARUMNICHTJETZT_wastun_14_02"); //Не возвращайся ко мне, пока не будешь полностью готов. Вот тогда я пойду, и присоединюсь к Ватрасу.
но в таком случае дополнительно надо будет проверки менять в диалогах с Npc_KnowsInfo(other,DIA_Xardas_RITUALREQUEST) на (Xardas_RITUALREQUEST == TRUE)
В одном видео: длинная версия и короткая версия https://www.youtube.com/watch?v=Xm_GpUdNbnE&feature=youtu.be
делать запись в дневник. так как сейчас если диалог будет прощёлкан непонятно почему ксардас не ушёл в круг солнца.
Добавлено:
AI_Output(self,other,"DIA_Xardas_RITUALREQUEST_14_06"); //Я буду помогать в этом ритуале только когда буду уверен, что ты готов к встрече с драконами.
B_LogEntry(TOPIC_INNOSEYE,"Ксардас считает, что я еще не готов к встрече с драконами.");
Писал про это пару раз. Штука важная, особенно для тех кто игру не знает крепко: диалог про отказ Пирокара доступен после диалога про Ватраса. НО после диалога про Ватраса, Ксардас тут же(!) уходит. Таким образом для в ряде случаев придётся бежать за Ксардасом.
Ввиду этого под строчкой Xardas_GoesToRitualInnosEye = TRUE; можно добавить проверку на Пирокара и тут же продолжить разговор за Пирокара:-)
а саму instance DIA_Xardas_PYROWILLNICHT в коде поставить выше instance DIA_Xardas_RITUALREQUEST