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

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!
  • Друзья, доброго времени суток! Спешите принять участие в конкурсе "Таинственные миры" 2024!
    Ждем именно вас!

    Ссылка на конкурсную тему - тык

Готика 2: НВ Неофициальное обновление для Г2 НВ

D36


Модостроитель
Регистрация
3 Дек 2014
Сообщения
2.124
Благодарности
3.215
Баллы
485
  • Первое сообщение
  • #1
Неофициальное обновление для игры "Готика 2: Ночь Ворона" представляет собой модификацию, направленную на исправление многочисленных ошибок и недоработок игры различной степени критичности. Данное обновление не включает новые квесты или глобальные изменения баланса и рекомендуется всем, кто хочет играть в Г2НВ без багов.
Разработка обновления ведется с 2005 года и по сегодняшний день. Камрад Efectivo (aka Нефариус) русифицировал патч от Fizzban и внес несколько дополнительных исправлений (так что получилась не русификация, а самостоятельный продукт на его основе).
В неофициальном обновлении камрад Dimus значительно расширил список исправлений и добавил некоторые улучшения. Дальнейшая работа над обновлением продолжена силами D36.
Также в данную сборку включены исправленные миры от Kvincius (Рудниковая долина, Яркендар, Хоринис и Ирдорат), исправленные шрифты от N1kX, неофициальное исправление русской озвучки от Dimus и полезные плагины для Union от Slavemaster (zBugFixes, zMiscUtils, zPicklockAnis, zTorchControl и другие).

Текущая версия:
29 от 14.08.2023

Ссылки:
Установщик модификации (76.5 МБ);
Версия для Мастерской Steam;
Исходники скриптов и архив релизов.

Установка:
Запустить установщик обновления, указать каталог с установленной игрой и выбрать набор устанавливаемых компонентов.
Внимание: Для того, чтобы все изменения вступили в силу, после установки обновления нужно начать новую игру!

Загрузка текста...

Удаление:
Удалить данное обновление можно через раздел "Программы и компоненты" в панели управления или запустив исполняемый файл G2a_NR_ScriptPatch_v29_uninstall.exe в каталоге с установленной игрой.

Примечания:
1. Для предотвращения возможных конфликтов с различными модами обновление устанавливается в формате модификации, поэтому для её работы необходимо наличие мод-стартера Player Kit. Также настоятельно рекомендуется установить последнюю версию Union;
2. Каждая версия неофициального обновления запускается через GothicStarter.exe отдельно и использует собственные папки сохранений. Удаление разных версий из панели управления также происходит раздельно;
3. Начало новой игры обязательно. Не поддерживаются сохранения, сделанные в оригинале, в любом другом моде или в любой предшествующей версии неофициального обновления.
Игнорирование данного предупреждения может привести к непредсказуемым последствиям: от невозможности продвижения по сюжету до вылетов.
Для тестирования доступна предварительная сборка 30 версии неофициального обновления. Подробности здесь.
 
Последнее редактирование:

kor.angar

Участник форума
Регистрация
28 Ноя 2017
Сообщения
294
Благодарности
93
Баллы
200
Должен сказать, что они достаточно вольно обошлись с авторским текстом, например, в диалоге, где ГГ подсказывает Грегу, где стоит искать Декстера.
про перевод история известная. Акелла же с английского переводили :-(

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

Посыльный
труп посыльного меня порадовал. про труп здорово. решил прочувствовать и переиграл. встретил живого посыльного и не понял почему он стоит возле гостиницы. исходя из того что труп был под деревом посыльный шел видимо с нижнего квартала. возможно даже из таверны в нижнем квартале. оттуда его мог "проводить" Нагур. НО вот что уже напрягло, что посыльный оказался 30 уровня, аж 300 опыта получил(именно это напрягло, думал 30 будет). ночью в гостинице на драку никто не обратила внимание. хотя хозяйка гостиницы, не спала. Зарезал посыльного, так как думал что квест Нагура не возьмётся. Взялся. Как то стремно получилось:-/

Мартин
когда Мартин в крутых доспехах нарушается логика квеста по быстрому вступлению в ополчения
Daedalus:
    AI_Output(self,other,"DIA_Addon_Martin_GotRangar_07_03");    //А я-то всегда удивлялся, почему паладины ничего не замечают.
    AI_Output(other,self,"DIA_Addon_Martin_GotRangar_15_04");    //И? Почему?
    AI_Output(self,other,"DIA_Addon_Martin_GotRangar_07_05");    //Это же очевидно! Эти идиоты не могут отличить одного солдата ополчения от другого. Для них мы все на одно лицо.
стоит Мартин в крутых доспехах, приходит Ренгару в простых доспехах и капается в вещах Паладинов. Наверное они всё таки бы отличили.

Гильдия воров
один раз Альрик рассказал Кассии что я дерусь в канализации с Джаспером. Второй роз Милиционер услышал что я дерусь с Джаспером в канализации. Беда прям с этой секретной канализацией :)

Но в целом, по моим ощущениям, играть стало легче. По крайней мере в первой главе:)
 

D36


Модостроитель
Регистрация
3 Дек 2014
Сообщения
2.124
Благодарности
3.215
Баллы
485
аж 300 опыта получил
Будет исправлено.

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

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

один раз Альрик рассказал Кассии что я дерусь в канализации с Джаспером. Второй роз Милиционер услышал что я дерусь с Джаспером в канализации.
Что ты имеешь в виду? Тебя слышали через стены?

Но в целом, по моим ощущениям, играть стало легче.
Может, из-за этих самых халявных 300 опыта?) Или почему, как тебе кажется?

Кстати, возможно, имеет смысл тебе начать новую игру на тестовой версии 19 сборки, если ты играл не слишком долго. Список изменений уже довольно крупный, нужны проверки. Если интересно, вышлю в личку вечером.

К остальным тоже относится: я объявляю стадию тестирования очередной версии неофициального обновления. Пишите, вышлю.
 
Последнее редактирование:

Diego1987

★★★★★★★★★★★
Администратор
Регистрация
7 Апр 2008
Сообщения
16.695
Благодарности
7.111
Баллы
1.950
стоит Мартин в крутых доспехах, приходит Ренгару в простых доспехах и капается в вещах Паладинов. Наверное они всё таки бы отличили.
Ренгару никогда не копался на складе Мартина, та всю жизнь роется Рангар!
решил прочувствовать и переиграл. встретил живого посыльного и не понял почему он стоит возле гостиницы.
Чит-режим врубал? Какие действия в игре делал перед тем, как впервые найти труп посыльного (квест Нагура к тому момент уже должен быть взят) и перед тем, как встретить живого посыльного? Убивать посыльного, кстати необязательно.
К чему я это все? Я живого посыльного не встречал. Может потому, что обычно не иду на рынок до порта.
В таком случае нужно поправить диалог с Нагуром, чтобы он не упоминал убийство посыльного. Принято, посмотрю.
Этого нельзя делать, т.к. тогда исчезнет логика, за что Нагура можно отправить в тюрьму. Ведь ГГ докладывает Андре, что именно Нагур убил посыльного.
Не проще сделать так, чтобы живого посыльного в городе вообще не было, либо он был бессмертным. В труп посыльный бы превращался сразу после взятия квеста у Нагура.
 

kor.angar

Участник форума
Регистрация
28 Ноя 2017
Сообщения
294
Благодарности
93
Баллы
200
Чит-режим врубал?
пошел в порт, взял квест нагура по дороге увидел труп, стало интересно и начал заново
Не проще сделать так, чтобы живого посыльного в городе вообще не было
отличный вариант. труп это круто. это прикольно. с живым посыльным будут проблемы. так как неясно что с ним делать
либо он был бессмертным
или
В таком случае нужно поправить диалог с Нагуром, чтобы он не упоминал убийство посыльного.

***

Ренгару никогда не копался на складе Мартина, та всю жизнь роется Рангар!
что то я системно в именах путаюсь :-(

Что ты имеешь в виду? Тебя слышали через стены?
да. слышали. приходится сохраняться и "вести" Джаспера по канализацию к морю, иначе кто то стучит Кассии и она убивает


Если интересно, вышлю в личку вечером.
давай

И с оружием у продавцов беда творится. Сайфер избил ГГ и отобрал Рапиру. ГГ догнал и с одного удара со спины все жизни снял.. Сайфер упал, а Рапиры нет. Пропала. А без Рапиры ой как тяжко.
 
Последнее редактирование:

D36


Модостроитель
Регистрация
3 Дек 2014
Сообщения
2.124
Благодарности
3.215
Баллы
485
слышали. приходится сохраняться и "вести" Джаспера по канализацию к морю, иначе кто то стучит Кассии и она убивает
Очень странно, никогда такого не было. Посмотрю подробнее.

И с оружием у продавцов беда творится. Сайфер избил ГГ и отобрал Рапиру. ГГ догнал и с одного удара со спины все жизни снял.. Сайфер упал, а Рапиры нет. Пропала.
Это логично, учитывая что Сифер - торговец. При смерти или первом нокауте у них очищается весь инвентарь. Вот и рапира пропала вместе с его товарами. Исключение составляют только квестовые предметы с флагом ITEM_MISSION.
 

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.562
Благодарности
4.153
Баллы
915
про перевод история известная. Акелла же с английского переводили :-(
На самом деле они переводили оригинальную G2 с английского, а аддон с немецкого. Об этом говорят версии исполняемых файлов в локализации: 1.31 (English International) и 2.6 (Deutsch). Причём в целях экономии времени и денег они повторно не переводили с немецкого тексты оригинальной G2. В результате в локализацию аддона попали ляпы перевода английской версии, например, Диего говорит, что во время пребывания за Барьером он откладывал для себя руду, а не золото.
English:
Daedalus:
FUNC VOID DIA_DiegoNW_NeedHelp_Problem_WillHelpYou_HowGold()
{
    AI_Output (other,self ,"DIA_DiegoNW_NeedHelp_Problem_WillHelpYou_HowGold_15_00"); //Where did you get all that gold?
    AI_Output (self ,other,"DIA_DiegoNW_NeedHelp_Problem_WillHelpYou_HowGold_11_01"); //Am I the only one, then, who put some gold aside for himself in the Valley of Mines?
    AI_Output (self ,other,"DIA_DiegoNW_NeedHelp_Problem_WillHelpYou_HowGold_11_02"); //Filching a few nuggets was a piece of cake. Just in case we ever got out of there.
    AI_Output (self ,other,"DIA_Addon_DiegoNW_WillHelpYou_HowGold_11_03"); //Everybody was so keen on that ore that no-one even cared for gold at the time ...
};
Deutsch:
Daedalus:
FUNC VOID DIA_DiegoNW_NeedHelp_Problem_WillHelpYou_HowGold()
{
    AI_Output (other,self ,"DIA_DiegoNW_NeedHelp_Problem_WillHelpYou_HowGold_15_00"); //Wo hast du das ganze Gold her?
    AI_Output (self ,other,"DIA_DiegoNW_NeedHelp_Problem_WillHelpYou_HowGold_11_01"); //Sag mal, bin ich eigentlich der Einzige, der sich im Minental die Goldstücke unter den Nagel gerissen hat?
    AI_Output (self ,other,"DIA_DiegoNW_NeedHelp_Problem_WillHelpYou_HowGold_11_02"); //Nichts war leichter, als ein paar Goldstücke auf die Seite zu bringen. Nur für den Fall, dass wir da noch mal rauskommen.
    AI_Output (self ,other,"DIA_Addon_DiegoNW_WillHelpYou_HowGold_11_03"); //Alle waren so scharf auf das Erz, daß sich keiner für Gold interessiert hat...
};
 

kor.angar

Участник форума
Регистрация
28 Ноя 2017
Сообщения
294
Благодарности
93
Баллы
200
CsvvL1RqRIY.jpg

Диалог Кантара с ГГ в городе про пропуск по хорошему надо убрать.

наверное в коде Кантара там где идет проверка Canthar_GotMe == TRUE надо так же добавить проверку на Canthar_InStadt == false

фрагмент кода Canthar
Daedalus:
instance DIA_Canthar_WhatOffer(C_Info)
{
    npc = VLK_468_Canthar;
    nr = 1;
    condition = DIA_Canthar_WhatOffer_Condition;
    information = DIA_Canthar_WhatOffer_Info;
    permanent = FALSE;
    description = "Что ты можешь предложить мне?";
};


func int DIA_Canthar_WhatOffer_Condition()
{
    if(Npc_KnowsInfo(other,DIA_Canthar_Hallo))
    {
        return TRUE;
    };
};

func void DIA_Canthar_WhatOffer_Info()
{
    AI_Output(other,self,"DIA_Canthar_WhatOffer_15_00");    //Что ты можешь предложить мне?
    if(Canthar_GotMe == TRUE)
    {
        if(!Npc_HasEquippedArmor(other))
        {
            AI_Output(self,other,"DIA_Canthar_WhatOffer_09_01");    //Судя по тому, как ты выглядишь, стража никогда не пустит тебя в город.
        }
        else
        {
            AI_Output(self,other,"DIA_Canthar_WhatOffer_09_02");    //(иронично) Если ты будешь говорить так же 'убедительно' со стражей у ворот, как говоришь со мной, они никогда не пустят тебя в город.
        };
        AI_Output(self,other,"DIA_Canthar_WhatOffer_09_03");    //Я могу помочь тебе попасть в город.
        AI_Output(self,other,"DIA_Canthar_WhatOffer_09_04");    //У меня есть вот этот клочок бумаги. С королевской печатью и подписью губернатора. Пропуск.
        if(!Npc_HasEquippedArmor(other))
        {
            AI_Output(self,other,"DIA_Canthar_WhatOffer_09_05");    //С этим пропуском в кармане ты сможешь спокойно войти в город, и страже придется пропустить тебя.
        };
        AI_Output(self,other,"DIA_Canthar_WhatOffer_09_06");    //Тебе это интересно?
        Info_ClearChoices(DIA_Canthar_WhatOffer);
        Info_AddChoice(DIA_Canthar_WhatOffer,"Нет! Оставь эту бумагу себе!",DIA_Canthar_WhatOffer_No);
        Info_AddChoice(DIA_Canthar_WhatOffer,"Что ты хочешь за этот пропуск?",DIA_Canthar_WhatOffer_Price);
        Info_AddChoice(DIA_Canthar_WhatOffer,"А как ТЫ попадешь в город?",DIA_Canthar_WhatOffer_HowYouIn);
        Info_AddChoice(DIA_Canthar_WhatOffer,"Это похоже на подвох...",DIA_Canthar_WhatOffer_Strings);
    }
    else
    {
        AI_Output(self,other,"DIA_Canthar_WhatOffer_09_07");    //Я бродячий торговец. Я торгую всем.
    };
    Log_CreateTopic(TOPIC_CityTrader,LOG_NOTE);
    B_LogEntry(TOPIC_CityTrader,"Кантар торгует различным оружием.");
};

func void DIA_Canthar_WhatOffer_Strings()
{
    AI_Output(other,self,"DIA_Canthar_WhatOffer_Strings_15_00");    //Это похоже на подвох...
    AI_Output(self,other,"DIA_Canthar_WhatOffer_Strings_09_01");    //Нет! Никакого подвоха. Ты просто окажешь мне услугу.
};

func void DIA_Canthar_WhatOffer_HowYouIn()
{
    AI_Output(other,self,"DIA_Canthar_WhatOffer_HowYouIn_15_00");    //А как ТЫ попадешь в город?
    AI_Output(self,other,"DIA_Canthar_WhatOffer_HowYouIn_09_01");    //Стража знает меня. Я просто скажу им, что потерял мой пропуск.
};

func void DIA_Canthar_WhatOffer_Price()
{
    AI_Output(other,self,"DIA_Canthar_WhatOffer_Price_15_00");    //Что ты хочешь за этот пропуск?
    AI_Output(self,other,"DIA_Canthar_WhatOffer_Price_09_01");    //(удовлетворенно) Я ЗНАЛ, что не ошибся в тебе!
    AI_Output(self,other,"DIA_Canthar_WhatOffer_Price_09_02");    //Послушай. Ты получишь от меня пропуск. Прямо сейчас!
    AI_Output(other,self,"DIA_Canthar_WhatOffer_Price_15_03");    //Просто так?
    AI_Output(self,other,"DIA_Canthar_WhatOffer_Price_09_04");    //Да. НО: если я встречу тебя в городе, ты будешь должен оказать мне услугу.
    AI_Output(self,other,"DIA_Canthar_WhatOffer_Price_09_05");    //Ну что, договорились?
    Info_AddChoice(DIA_Canthar_WhatOffer,"Конечно. Давай сюда эту бумагу.",DIA_Canthar_WhatOffer_Ok);
};

func void DIA_Canthar_WhatOffer_Ok()
{
    AI_Output(other,self,"DIA_Canthar_WhatOffer_Ok_15_00");    //Конечно. Давай сюда эту бумагу.
    AI_Output(self,other,"DIA_Canthar_WhatOffer_Ok_09_01");    //Держи. Но обращайся с ней аккуратно, она очень ценная.
    CreateInvItems(self,ItWr_Passierschein,1);
    B_GiveInvItems(self,other,ItWr_Passierschein,1);
    AI_Output(self,other,"DIA_Canthar_WhatOffer_Ok_09_02");    //И еще одно: даже и не думай нарушить свое слово!
    AI_Output(self,other,"DIA_Canthar_WhatOffer_Ok_09_03");    //Я торговец и имею очень большое влияние в городе - просто так это тебе с рук не сойдет, уж поверь мне!
    Canthar_Gefallen = TRUE;
    Info_ClearChoices(DIA_Canthar_WhatOffer);
    Log_CreateTopic(TOPIC_City,LOG_MISSION);
    Log_SetTopicStatus(TOPIC_City,LOG_Running);
    B_LogEntry(TOPIC_City,"Я получил пропуск у торговца Кантара, который позволит мне попасть в город. Взамен я должен оказать ему услугу в следующий раз, когда увижу его в городе.");
};

func void DIA_Canthar_WhatOffer_No()
{
    AI_Output(other,self,"DIA_Canthar_WhatOffer_No_15_00");    //Нет! Оставь эту бумагу себе!
    AI_Output(self,other,"DIA_Canthar_WhatOffer_No_09_01");    //Хм. Похоже, я недооценил тебя, а?
    AI_Output(self,other,"DIA_Canthar_WhatOffer_No_09_02");    //Ладно. Тебе нужно что-нибудь еще? Может, тебе показать мои товары?
    Info_ClearChoices(DIA_Canthar_WhatOffer);
};
фрагмент кода Lothar
Daedalus:
instance DIA_Lothar_FirstEXIT(C_Info)
{
    npc = PAL_203_Lothar;
    nr = 999;
    condition = DIA_Lothar_FirstEXIT_Condition;
    information = DIA_Lothar_FirstEXIT_Info;
    permanent = TRUE;
    description = Dialog_Ende_v1;
};


func int DIA_Lothar_FirstEXIT_Condition()
{
    if(Lothar_ImOV == FALSE)
    {
        return TRUE;
    };
};

func void DIA_Lothar_FirstEXIT_Info()
{
    AI_Output(other,self,"DIA_Lothar_FirstEXIT_15_00");    //Я должен идти!
    if(Lothar_Regeln == FALSE)
    {
        AI_Output(self,other,"DIA_Lothar_FirstEXIT_01_01");    //Подожди! Ты даже не знаешь новых законов города!
        AI_Output(other,self,"DIA_Lothar_FirstEXIT_15_02");    //Позже.
    }
    else
    {
        if((Player_TalkedAboutDragons == TRUE) && ((hero.guild != GIL_PAL) && (hero.guild != GIL_KDF)))
        {
            AI_Output(self,other,"DIA_Lothar_FirstEXIT_01_03");    //Если я еще хоть раз услышу, что ты рассказываешь людям о драконах, у тебя будут большие проблемы, тебе все ясно?
        }
        else
        {
            AI_Output(self,other,"DIA_Lothar_FirstEXIT_01_04");    //Пока ты находишься в Хоринисе, ты можешь чувствовать себя в безопасности.
            if(hero.guild != GIL_PAL)
            {
                AI_Output(self,other,"DIA_Lothar_FirstEXIT_01_05");    //Город теперь охраняют паладины короля!
            };
        };
        Lothar_ImOV = TRUE;
        Npc_ExchangeRoutine(self,"START");
    };
    if(Canthar_InStadt == FALSE)
    {
        Npc_ExchangeRoutine(Canthar,"START");
        Canthar_InStadt = TRUE;
    };
    AI_StopProcessInfos(self);
};
 

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.562
Благодарности
4.153
Баллы
915
Как ты поймал этот момент? Забил на помощь крестьянам с фермы Лобарта и прошёл в город (в обход стражников на воротах или прикинулся сборщиком трав)? Потому что Вино захочет выпить вина, а Хильда пошлёт ГГ за новой сковородкой. А Кантар может продать ГГ оба эти предмета.
 

D36


Модостроитель
Регистрация
3 Дек 2014
Сообщения
2.124
Благодарности
3.215
Баллы
485
А должен ли Кантар предлагать квест с подставой Сары, если он не встречал игрока вне города? Сейчас предлагает, но это прямое следствие косяка, из-за которого не учитывается текущее местоположение Кантара и он предлагает пропуск, уже находясь на рыночной площади.
 

Diego1987

★★★★★★★★★★★
Администратор
Регистрация
7 Апр 2008
Сообщения
16.695
Благодарности
7.111
Баллы
1.950
А должен ли Кантар предлагать квест с подставой Сары, если он не встречал игрока вне города? Сейчас предлагает, но это прямое следствие косяка, из-за которого не учитывается текущее местоположение Кантара и он предлагает пропуск, уже находясь на рыночной площади.
Не должен. Опять же с точки зрения игровой логики. Какой резон ГГ помогать Кантару в его темных делишках, если он уже прошел в город? И откуда Кантар подумает, что ГГ бывший каторжник, если тот уже в городе (в город каторжников, как известно, не пускают).
 

D36


Модостроитель
Регистрация
3 Дек 2014
Сообщения
2.124
Благодарности
3.215
Баллы
485
И откуда Кантар подумает, что ГГ бывший каторжник, если тот уже в городе (в город каторжников, как известно, не пускают).
Потому что у Кантара возникает подозрение в том, что ГГ беглый каторжник, если:

- ГГ встретит его без одежды:
Daedalus:
AI_Output(self,other,"DIA_Canthar_Hallo_09_03");    //Хм! (фыркает) ты похож на беглеца! Все беглецы направляются в город.
AI_Output(self,other,"DIA_Canthar_Hallo_09_04");    //Возможно, ты даже беглый каторжник из колонии.

- ГГ встретит его в рабочей одежде и будет пытаться отрицать, что он фермер:
Daedalus:
AI_Output(self,other,"DIA_Canthar_HelloArmor_09_06");    //Как идет работа, крестьянин?
...
AI_Output(other,self,"DIA_Canthar_Hallo_NoBauer_15_00");    //Я похож на фермера?
AI_Output(self,other,"DIA_Canthar_Hallo_NoBauer_09_01");    //Ты выглядишь как фермер. Но говоришь совсем не так, как они!
AI_Output(self,other,"DIA_Canthar_Hallo_NoBauer_09_02");    //(в раздумьях) Если я ни в чем не ошибаюсь, у меня есть интересное предложение для тебя...
Квест начинается только при выполнении одного из этих условий.


Какой резон ГГ помогать Кантару в его темных делишках, если он уже прошел в город?
Потому что теперь Кантар его раскусил и начинает шантажировать:
Daedalus:
AI_Output(other,self,"DIA_Canthar_PAYPRICEINCITY_if_15_00");    //А что будет, если я откажусь?
AI_Output(self,other,"DIA_Canthar_PAYPRICEINCITY_if_09_01");    //Это будет очень глупо с твоей стороны. Понимаешь, я знаю, что ты беглый каторжник.
AI_Output(self,other,"DIA_Canthar_PAYPRICEINCITY_if_09_02");    //Если об этом прознают остальные, это нанесет значительный урон твоей репутации в городе...

Так что оба варианта начала квеста подходят и в город. Нужно только немного подкорректировать диалог, чтобы Кантар просто не упоминал пропуск:
Daedalus:
//если игрок без одежды
if(!Npc_HasEquippedArmor(other))
    {
        AI_Output(self,other,"DIA_Canthar_Hallo_09_00");    //Посмотрите, кто у нас здесь!
        //если Кантар не в городе
        if(Canthar_InStadt == FALSE)
        {
            AI_Output(self,other,"DIA_Canthar_Hallo_09_01");    //Ты ведь идешь в город - я не прав?
            AI_Output(other,self,"DIA_Canthar_Hallo_15_02");    //Может быть.
        };
        AI_Output(self,other,"DIA_Canthar_Hallo_09_03");    //Хм! (фыркает) ты похож на беглеца! Все беглецы направляются в город.
        AI_Output(self,other,"DIA_Canthar_Hallo_09_04");    //Возможно, ты даже беглый каторжник из колонии.
        AI_Output(self,other,"DIA_Canthar_Hallo_09_05");    //(торопливо) Меня не волнует, откуда ты пришел. Но мне кажется, у меня есть интересное предложение для тебя...
        //начать подозрение
        Canthar_GotMe = TRUE;
    }
    //если игрок в рабочей одежде
    else if(Hlp_IsItem(itm,ITAR_Bau_L) || Hlp_IsItem(itm,ITAR_Bau_M))
    {
        AI_Output(self,other,"DIA_Canthar_HelloArmor_09_06");    //Как идет работа, крестьянин?
        Info_ClearChoices(DIA_Canthar_Hallo);
        Info_AddChoice(DIA_Canthar_Hallo,"Я похож на фермера?",DIA_Canthar_Hallo_NoBauer);
        Info_AddChoice(DIA_Canthar_Hallo,"Мне не на что жаловаться.",DIA_Canthar_Hallo_Bauer);
    }
    else
    {
        AI_Output(self,other,"DIA_Canthar_Hallo_09_07");    //Что я могу сделать для тебя?
    };
};

func void DIA_Canthar_Hallo_Bauer()
{
    AI_Output(other,self,"DIA_Canthar_Hallo_Bauer_15_00");    //Мне не на что жаловаться.
    AI_Output(self,other,"DIA_Canthar_Hallo_Bauer_09_01");    //Могу я что-нибудь сделать для тебя?
    Info_ClearChoices(DIA_Canthar_Hallo);
};

func void DIA_Canthar_Hallo_NoBauer()
{
    AI_Output(other,self,"DIA_Canthar_Hallo_NoBauer_15_00");    //Я похож на фермера?
    AI_Output(self,other,"DIA_Canthar_Hallo_NoBauer_09_01");    //Ты выглядишь как фермер. Но говоришь совсем не так, как они!
    AI_Output(self,other,"DIA_Canthar_Hallo_NoBauer_09_02");    //(в раздумьях) Если я ни в чем не ошибаюсь, у меня есть интересное предложение для тебя...
    //начать подозрение
    Canthar_GotMe = TRUE;
    Info_ClearChoices(DIA_Canthar_Hallo);
};



 
Последнее редактирование:

Diego1987

★★★★★★★★★★★
Администратор
Регистрация
7 Апр 2008
Сообщения
16.695
Благодарности
7.111
Баллы
1.950
- ГГ встретит его без одежды:
Может наоборот? :)
Так что оба варианта начала квеста подходят и в город. Нужно только немного подкорректировать диалог, чтобы Кантар просто не упоминал пропуск:
Ну если охота возиться с корректировками диалога, то ради бога :) Просто крайне мала вероятность того, что ГГ не поговорит с Кантаром до попадания в город.
 

realnightelf

Участник форума
Регистрация
21 Апр 2014
Сообщения
174
Благодарности
10
Баллы
185
последняя редакция точно играбельна? а то почитаешь последние комментарии так одни баги
 

D36


Модостроитель
Регистрация
3 Дек 2014
Сообщения
2.124
Благодарности
3.215
Баллы
485
последняя редакция точно играбельна? а то почитаешь последние комментарии так одни баги
В последних комментариях мы обсуждаем, куда двигаться дальше. "Одни баги"? Ну не знаю. Перечитай внимательнее.
 

kor.angar

Участник форума
Регистрация
28 Ноя 2017
Сообщения
294
Благодарности
93
Баллы
200
Потому что Вино захочет выпить вина
Малет даёт 3 бутылки вина
Код:
func void DIA_Maleth_BanditsDEAD_Info()
{
    AI_Output(other,self,"DIA_Maleth_BanditsDEAD_15_00");    //Эти бандиты больше не будут беспокоить вас...
    AI_Output(self,other,"DIA_Maleth_BanditsDEAD_08_01");    //Почему? Они мертвы?
    AI_Output(other,self,"DIA_Maleth_BanditsDEAD_15_02");    //Они не на того напали...
    AI_Output(self,other,"DIA_Maleth_BanditsDEAD_08_03");    //Слава Инносу! Вот - здесь немного, но я хочу, чтобы ты принял это!
    B_GiveInvItems(self,other,ItFo_Wine,3);
    MIS_Maleth_Bandits = LOG_SUCCESS;
    B_GivePlayerXP(XP_MalethKillBandits);
    AI_Output(self,other,"DIA_Maleth_BanditsDEAD_08_04");    //Я расскажу остальным об этом!
};

Хильда пошлёт ГГ за новой сковородкой
в прошлом году приносил Хильде сковородку которую нашел под мостом возле Таверны "Мертвая Гарпия", там еще меч "Волчий Зуб" воткнут.
Поэтому встретить первый раз Кантара в городе вполне реально :) но
Diego1987 написал(а):
крайне мала вероятность



**************


D36 написал(а):
Кантар и бомж в городе
может объединить два диалога в один?;-)
получится весьма лаконично
Daedalus:
AI_Output(self,other,"DIA_Canthar_Hallo_09_03");   //Хм! (фыркает) ты похож на беглеца! Все беглецы направляются в город.
AI_Output(self,other,"DIA_Canthar_Hallo_09_04");   //Возможно, ты даже беглый каторжник из колонии.
AI_Output(self,other,"DIA_Canthar_Hallo_09_05");   //(торопливо) Меня не волнует, откуда ты пришел. Но мне кажется, у меня есть интересное предложение для тебя...
AI_Output(other,self,"DIA_Canthar_PAYPRICEINCITY_15_02");    //Что ты хочешь?
AI_Output(self,other,"DIA_Canthar_PAYPRICEINCITY_09_03");    //Я хочу вернуть мой старый прилавок на рыночной площади. Сара увела его у меня.
AI_Output(self,other,"DIA_Canthar_PAYPRICEINCITY_09_04");    //И я хочу, чтобы она вернула мне этот прилавок назад.
AI_Output(other,self,"DIA_Canthar_PAYPRICEINCITY_15_05");    //А моя роль в этом какая?
AI_Output(self,other,"DIA_Canthar_PAYPRICEINCITY_09_06");    //Я дам тебе письмо, которое ты должен подложить в ее карман.
AI_Output(self,other,"DIA_Canthar_PAYPRICEINCITY_09_07");    //Затем ты пойдешь к Андрэ и скажешь ему, что Сара продает оружие Онару.
AI_Output(self,other,"DIA_Canthar_PAYPRICEINCITY_09_08");    //Ее посадят в тюрьму, ты получишь награду, а я - свой прилавок.
AI_Output(self,other,"DIA_Canthar_PAYPRICEINCITY_09_09");    //У тебя есть два дня на выполнение этого.


первый диалог с Малетом
если бандиты уже убиты то отображаются сразу два варианта диалога про бандитов.
  • Эти бандиты больше не будут беспокоить вас...
  • Я знаю, где прячутся эти бандиты...
логично будет убрать "Я знаю, где прячутся эти бандиты..."
Daedalus:
instance DIA_Maleth_BANDITS(C_Info)
{
    npc = BAU_954_Maleth;
    nr = 1;
    condition = DIA_Maleth_BANDITS_Condition;
    information = DIA_Maleth_BANDITS_Info;
    permanent = FALSE;
    description = "На меня напали бандиты в горах.";
};


func int DIA_Maleth_BANDITS_Condition()
{
    if((Kapitel < 3) && (Npc_KnowsInfo(other,DIA_BDT_1013_BANDIT_WHERE) || Npc_KnowsInfo(other,DIA_BDT_1014_BANDIT_KILLER) || Npc_KnowsInfo(other,DIA_1015_BANDIT_AMBUSH) || Npc_IsDead(Ambusher_1013) || Npc_IsDead(Ambusher_1014) || Npc_IsDead(Ambusher_1015) || Npc_KnowsInfo(other,DIA_Addon_Cavalorn_LETSKILLBANDITS) || (BragoBanditsAttacked == TRUE)))
    {
        return TRUE;
    };
};

func void DIA_Maleth_BANDITS_Info()
{
    AI_Output(other,self,"DIA_Maleth_BANDITS_15_00");    //На меня напали бандиты в горах.
    AI_Output(self,other,"DIA_Maleth_BANDITS_08_01");    //Вот мерзкое отродье! Это, вероятно, те же ублюдки, что увели у нас овцу прошлой ночью!
    AI_Output(self,other,"DIA_Maleth_BANDITS_08_02");    //Тебе еще очень повезло. Редко кому удается уйти от них живым.
};


instance DIA_Maleth_BanditsDEAD(C_Info)
{
    npc = BAU_954_Maleth;
    nr = 1;
    condition = DIA_Maleth_BanditsDEAD_Condition;
    information = DIA_Maleth_BanditsDEAD_Info;
    permanent = FALSE;
    description = "Эти бандиты больше не будут беспокоить вас...";
};


func int DIA_Maleth_BanditsDEAD_Condition()
{
    if((Npc_IsDead(Ambusher_1013) || (Bdt_1013_Away == TRUE)) && Npc_IsDead(Ambusher_1014) && Npc_IsDead(Ambusher_1015) && Npc_KnowsInfo(other,DIA_Maleth_BANDITS))
    {
        return TRUE;
    };
};

func void DIA_Maleth_BanditsDEAD_Info()
{
    AI_Output(other,self,"DIA_Maleth_BanditsDEAD_15_00");    //Эти бандиты больше не будут беспокоить вас...
    AI_Output(self,other,"DIA_Maleth_BanditsDEAD_08_01");    //Почему? Они мертвы?
    AI_Output(other,self,"DIA_Maleth_BanditsDEAD_15_02");    //Они не на того напали...
    AI_Output(self,other,"DIA_Maleth_BanditsDEAD_08_03");    //Слава Инносу! Вот - здесь немного, но я хочу, чтобы ты принял это!
    B_GiveInvItems(self,other,ItFo_Wine,3);
    MIS_Maleth_Bandits = LOG_SUCCESS;
    B_GivePlayerXP(XP_MalethKillBandits);
    AI_Output(self,other,"DIA_Maleth_BanditsDEAD_08_04");    //Я расскажу остальным об этом!
};


instance DIA_Maleth_BanditsALIVE(C_Info)
{
    npc = BAU_954_Maleth;
    nr = 1;
    condition = DIA_Maleth_BanditsALIVE_Condition;
    information = DIA_Maleth_BanditsALIVE_Info;
    permanent = FALSE;
    description = "Я знаю, где прячутся эти бандиты...";
};


func int DIA_Maleth_BanditsALIVE_Condition()
{
    if((!Npc_IsDead(Ambusher_1013) || !Npc_IsDead(Ambusher_1014) || !Npc_IsDead(Ambusher_1015)) && Npc_KnowsInfo(other,DIA_Maleth_BANDITS) && (MIS_Maleth_Bandits != LOG_SUCCESS))
    {
        return TRUE;
    };
};

func void DIA_Maleth_BanditsALIVE_Info()
{
    AI_Output(other,self,"DIA_Maleth_BanditsALIVE_15_00");    //Я знаю, где прячутся эти бандиты...
    AI_Output(self,other,"DIA_Maleth_BanditsALIVE_08_01");    //Ты хочешь напасть на них? Я в такие игры не играю! Это слишком опасно!
    AI_Output(self,other,"DIA_Maleth_BanditsALIVE_08_02");    //Кроме того, мне нужно присматривать за овцами!
    AI_Output(self,other,"DIA_Maleth_BanditsALIVE_08_03");    //Но если ты думаешь, что можешь избавить нас от этих подонков, все на этой ферме будут очень благодарны тебе.
    MIS_Maleth_Bandits = LOG_Running;
    Log_CreateTopic(TOPIC_Maleth,LOG_MISSION);
    Log_SetTopicStatus(TOPIC_Maleth,LOG_Running);
    B_LogEntry(TOPIC_Maleth,"Если я уничтожу бандитов, поселившихся на полпути от башни Ксардаса к ферме Лобарта, все обитатели фермы будут очень благодарны мне.");
};

Такая же ситуация с торговцем Hakon, у него варианты:
Daedalus:
instance DIA_Hakon_Banditen(C_Info)
{
    npc = VLK_407_Hakon;
    nr = 6;
    condition = DIA_Hakon_Banditen_Condition;
    information = DIA_Hakon_Banditen_Info;
    permanent = FALSE;
    description = "Что ты знаешь об этих бандитах?";
};


func int DIA_Hakon_Banditen_Condition()
{
    if(Npc_KnowsInfo(hero,DIA_Hakon_HaradBandits) || Npc_KnowsInfo(hero,DIA_Hakon_OutOfTown))
    {
        return TRUE;
    };
};

func void DIA_Hakon_Banditen_Info()
{
    AI_Output(other,self,"DIA_Hakon_Banditen_15_00");    //Что ты знаешь об этих бандитах?
    AI_Output(self,other,"DIA_Hakon_Banditen_12_01");    //Что я знаю о них? Они ограбили меня на пути в город!
    AI_Output(self,other,"DIA_Hakon_Banditen_12_02");    //И не только меня. Они давно уже здесь разбойничают.
    AI_Output(self,other,"DIA_Hakon_Banditen_12_03");    //Ополчение пыталось выследить их, но безуспешно.
    MIS_HakonBandits = LOG_Running;
    Log_CreateTopic(TOPIC_HakonBanditen,LOG_MISSION);
    Log_SetTopicStatus(TOPIC_HakonBanditen,LOG_Running);
    B_LogEntry(TOPIC_HakonBanditen,"Хакон, торговец оружием, был ограблен бандитами неподалеку от города.");
};


instance DIA_Hakon_Wieviel(C_Info)
{
    npc = VLK_407_Hakon;
    nr = 6;
    condition = DIA_Hakon_Wieviel_Condition;
    information = DIA_Hakon_Wieviel_Info;
    permanent = FALSE;
    description = "Я разберусь с этим...";
};


func int DIA_Hakon_Wieviel_Condition()
{
    if(MIS_HakonBandits == LOG_Running)
    {
        return TRUE;
    };
};

func void DIA_Hakon_Wieviel_Info()
{
    AI_Output(other,self,"DIA_Hakon_Banditen_Ehre_15_00");    //Я разберусь с этим...
    AI_Output(self,other,"DIA_Hakon_Banditen_Kohle_12_01");    //Что, ТЫ хочешь расправиться с бандитами? В одиночку? Ты, наверное, хороший боец?
    AI_Output(other,self,"DIA_Hakon_Banditen_Kohle_15_00");    //Сколько ты готов дать за это?
    if(Npc_KnowsInfo(other,DIA_Hakon_HaradBandits))
    {
        AI_Output(self,other,"DIA_Hakon_Add_12_25");    //(лукаво) Ты ведь хочешь быть на хорошем счету у Гарада, да?
        AI_Output(self,other,"DIA_Hakon_Add_12_26");    //Я не думаю, что должен платить тебе за это...
    }
    else
    {
        AI_Output(self,other,"DIA_Hakon_Banditen_Ehre_12_01");    //Но это опасное дело.
        AI_Output(self,other,"DIA_Hakon_Banditen_Kohle_12_02");    //Ладно, мне это тоже нужно. Я заплачу тебе 100 золотых, если ты уничтожишь этих бандитов.
        MIS_HakonBanditsPay = TRUE;
    };
    Info_ClearChoices(DIA_Hakon_Banditen);
};


instance DIA_Hakon_Miliz(C_Info)
{
    npc = VLK_407_Hakon;
    nr = 4;
    condition = DIA_Hakon_Miliz_Condition;
    information = DIA_Hakon_Miliz_Info;
    permanent = FALSE;
    description = "Ты не знаешь, кто в ополчении занимался их поиском?";
};


func int DIA_Hakon_Miliz_Condition()
{
    if(MIS_HakonBandits == LOG_Running)
    {
        return TRUE;
    };
};

func void DIA_Hakon_Miliz_Info()
{
    AI_Output(other,self,"DIA_Hakon_Miliz_15_00");    //Ты не знаешь, кто в ополчении занимался их поиском?
    AI_Output(self,other,"DIA_Hakon_Miliz_12_01");    //Парень по имени Пабло. Он и еще несколько парней ходили на поиски этих бандитов. Но они не нашли их.
    if(Pablo.aivar[AIV_TalkedToPlayer] == FALSE)
    {
        AI_Output(other,self,"DIA_Hakon_Miliz_15_02");    //Ты знаешь, где мне найти Пабло?
        AI_Output(self,other,"DIA_Hakon_Miliz_12_03");    //Он патрулирует город. Ты найдешь его либо на рыночной площади, либо в нижней части города.
    };
    B_LogEntry(TOPIC_HakonBanditen,"Пабло, городской стражник, занимался бесплодными поисками бандитов.");
};


instance DIA_Hakon_Wo(C_Info)
{
    npc = VLK_407_Hakon;
    nr = 5;
    condition = DIA_Hakon_Wo_Condition;
    information = DIA_Hakon_Wo_Info;
    permanent = FALSE;
    description = "Где они напали на тебя?";
};


func int DIA_Hakon_Wo_Condition()
{
    if(MIS_HakonBandits == LOG_Running)
    {
        return TRUE;
    };
};

func void DIA_Hakon_Wo_Info()
{
    AI_Output(other,self,"DIA_Hakon_Wo_15_00");    //Где они напали на тебя?
    AI_Output(self,other,"DIA_Hakon_Wo_12_01");    //Около фермы Акила. Выйдешь из вот этих городских ворот и иди по дороге направо.
    AI_Output(self,other,"DIA_Hakon_Wo_12_02");    //Вскоре ты увидишь каменную лестницу. Эти ублюдки пришли оттуда. Ручаюсь, у них там логово где-то в лесу.
};


instance DIA_Hakon_Success(C_Info)
{
    npc = VLK_407_Hakon;
    nr = 2;
    condition = DIA_Hakon_Success_Condition;
    information = DIA_Hakon_Success_Info;
    permanent = FALSE;
    description = "Я расправился с бандитами.";
};


func int DIA_Hakon_Success_Condition()
{
    if((MIS_HakonBandits == LOG_Running) && Npc_IsDead(Bandit_1) && Npc_IsDead(Bandit_2) && Npc_IsDead(Bandit_3))
    {
        return TRUE;
    };
};

func void DIA_Hakon_Success_Info()
{
    AI_Output(other,self,"DIA_Hakon_Success_15_00");    //Я расправился с бандитами.
    AI_Output(self,other,"DIA_Hakon_Add_12_27");    //Правда? Кто-нибудь может подтвердить это. У тебя есть доказательства?
    AI_Output(other,self,"DIA_Hakon_Add_15_28");    //(вздыхает) Мне что, вернуться назад и отрезать им головы?
    AI_Output(self,other,"DIA_Hakon_Add_12_29");    //(поспешно) Нет - я не думаю, что это необходимо. Я верю тебе.
    AI_Output(self,other,"DIA_Hakon_Success_12_01");    //Ты оказал очень большую услугу всем торговцам в городе.
    if(Npc_KnowsInfo(other,DIA_Hakon_HaradBandits))
    {
        AI_Output(self,other,"DIA_Hakon_Add_12_30");    //Гарад будет доволен - я надеюсь.
    };
    if(MIS_HakonBanditsPay == TRUE)
    {
        AI_Output(self,other,"DIA_Hakon_Success_12_02");    //Вот деньги, как я и обещал.
        B_GiveInvItems(self,other,ItMi_Gold,100);
    };
    MIS_HakonBandits = LOG_SUCCESS;
    B_GivePlayerXP(XP_Hakon_Bandits);
};

**************

если ночью прийти в гостиницу и разбудить Глашатого, он говорит какую то фигню :)
 
Последнее редактирование:

Diego1987

★★★★★★★★★★★
Администратор
Регистрация
7 Апр 2008
Сообщения
16.695
Благодарности
7.111
Баллы
1.950
в прошлом году приносил Хильде сковородку которую нашел под мостом возле Таверны "Мертвая Гарпия", там еще меч "Волчий Зуб" воткнут.
Ты не так давно записался в защитники игроков-новичков, поэтому должен понимать, что они так играть не станут. Да и опытным игрокам ни к чему заниматься таким извращением, когда сковородку можно добыть намного проще, да еще и квесты закрыть при этом.
если ночью прийти в гостиницу и разбудить Глашатого, он говорит какую то фигню :)
А поподробнее? Просто в предыдущей сборке я его ночью встречал (хотя не будил) и там звучало что-то вроде "Оставь меня в покое". 19-ю сборку я пока тестить не брал. Что-то поменялось?
 

kor.angar

Участник форума
Регистрация
28 Ноя 2017
Сообщения
294
Благодарности
93
Баллы
200
Ты не так давно записался в защитники игроков-новичков, поэтому должен понимать, что они так играть не станут. Да и опытным игрокам ни к чему заниматься таким извращением, когда сковородку мо
а вывод то какой я должен из этого сделать? не писать вообще или писать только то что Папа Диего бы одобрит?:-D

А поподробнее? Просто в предыдущей сборке я его ночью встречал (хотя не будил) и там звучало что-то вроде "Оставь меня в покое". 19-ю сборку я пока тестить не брал. Что-то поменялось?
отстань от меня, я на работе.
4EhrLZX7a3Y.jpg
 

Diego1987

★★★★★★★★★★★
Администратор
Регистрация
7 Апр 2008
Сообщения
16.695
Благодарности
7.111
Баллы
1.950
отстань от меня, я на работе.
Значит, ничего не поменялось. Именно эту фразу он и говорил, я немного неточно ее воспроизвел. По-моему она у глашатого стандартная на все случаи жизни. С ним тупо нельзя поговорить о чем-либо другом.
а вывод то какой я должен из этого сделать? не писать вообще или писать только то что Папа Диего бы одобрит?:-D
Для начала не надо язвить. А вывод простой: ты уж определись, как ты играешь и чего добиваешься. Либо с точки зрения игрока-новичка, либо с точки зрения опытного игрока, которому уже настолько скучно от анцатого прохождения, что он не знает как еще извратиться в отыгрыше.

Возвращаясь к сути вопроса о Кантаре резюмирую: встретить его в первый раз в городе нелогично. Это возможно только в том случае, если игрок сознательно забил на выполнение некоторых квестов на ферме или поперся за сковородкой в обход города. В квесте Кантара по подставе Сары есть явный принцип услуги за услугу, о которой он говорит ГГ сразу же, что мол тот будет ему должен. Встреча на рынке - это уже вторая часть квеста, которая подразумевает, что ГГ принял помощь Кантара и оказался в городе. Да, в город можно попасть и любым другим доступным способом, но если ГГ согласился на предложение Кантара, то продолжение на рынке вполне логично.
Я не совсем согласен с тем, что Кантар воспринимает ГГ как беглого каторжника, если тот без одежды (одет, как оборванец). Да, D36 все расписала верно, но не стоит забывать, что исходя из игровой логики, этот разговор
Хм! (фыркает) ты похож на беглеца! Все беглецы направляются в город.
Возможно, ты даже беглый каторжник из колонии.
должен быть за пределами города. На данный момент по скриптам он возможен и в городе (как и диалог, если ГГ в одежде крестьянина, но ведет себя не как крестьянин). Лично для меня вопрос вот в чем: а с чего бы Кантару подозревать в городском прохожем, пусть и оборванце, беглого каторжника, если для всех в городе аксиома, что стража случайных гостей в город не пускает. Стало быть, если в город пустили - значит уже не каторжник.
Поэтому я предлагаю следующее:
-если ГГ впервые говорит с Кантаром в городе будучи одетым как оборванец (без доспехов), то Кантар его ни в чем не подозревает
-если ГГ впервые говорит с Кантаром в городе будучи одетым как крестьянин, но сам намекает на то, что он НЕ работник фермы, то Кантар подозревает его и начинает шантажировать (при этом реплика о пропуске будет убрана, как выше и предлагала D36).
-если ГГ впервые говорит с Кантаром будучи одетым в одежду горожанина, кожанку или доспех гильдии, то Кантар его ни в чем не подозревает
Тогда игровая логика нигде не будет нарушена (нелогичным будет лишь сам отыгрыш, в ходе которого ГГ сознательно забил на Кантара за пределами города, но это уже на совести игрока).
 

D36


Модостроитель
Регистрация
3 Дек 2014
Сообщения
2.124
Благодарности
3.215
Баллы
485
может объединить два диалога в один?;-)
В идеале да, нужно попробовать. Но для этого нужно много чего учесть, пересмотреть условия, перелопатить все диалоги с ним и сто раз перепроверить в разных комбинациях. Пока нет времени на это, но запишу в todo.

Такая же ситуация с торговцем Hakon, у него варианты:
Наверное, здесь нужно разрешать сообщить о смерти бандитов только после уточнения, где они находятся и о каких бандитах идет речь ("Где они напали на тебя?"). Но это не критично, по-моему.

Лично для меня вопрос вот в чем: а с чего бы Кантару подозревать в городском прохожем, пусть и оборванце, беглого каторжника, если для всех в городе аксиома, что стража случайных гостей в город не пускает. Стало быть, если в город пустили - значит уже не каторжник.
Не соглашусь. Скорее всего, у Кантара возникает подозрение, что оборванец подкупил стражу или приплыл через порт. В общем, проник в город нелегально. Других оборванцев-то в городе нет, даже простолюдины в портовом квартале одеты в рабочую одежду или простые костюмы.
Также я против уменьшения условий получения существующих квестов: контента не должно становиться меньше! Например, в 19 версии обновления квест Ватраса о поставщике оружия будет намного проще взять и сложнее пропустить (диалог будет вынесен из глубины расспросов в отдельную строку) и такая возможность не пропадет после вступления в "Кольцо Воды". Поэтому пусть квест Кантара будет даваться даже оборванцу, даже если это может казаться слегка нелогичным (а мне даже так и не кажется).

По-моему она у глашатого стандартная на все случаи жизни. С ним тупо нельзя поговорить о чем-либо другом.
Теперь ночью в гостинице он будет говорить другую фразу, просто "Оставь меня в покое", без упоминания работы.
 
Последнее редактирование:

kor.angar

Участник форума
Регистрация
28 Ноя 2017
Сообщения
294
Благодарности
93
Баллы
200
  • Мика посылает ГГ, если он в команде с Ларсом
  • Возможно квест про Бронко следует сделать доступным только нейтралу так как Бабера говорит что Бронко боится Наемников, а Бронко "качает" с ГГ Наемником. Ну и с Магом Огня/Ментом Бронко навряд ли "качал" бы.
  • На Лариуса не действует заклинание Сна. думал усыплю Лариуса и тырану Кровавый кубок. Ан нет.
  • Может быть Андре будет забирать у ГГ "Письмо Кантара торговке Саре" ?
  • Наёмник/Послушник/Маг Огня может дать Андре рекомендательное письмо Мартина



про воровство
теперь получается что некоторых персонажей можно обокрасть два раза. это не понятно. давайте уберем двойное воровство. т.е. если можно украсть книгу, тогда не надо давать возможность красть золото. либо давать за повторное воровство к примеру 10 опыта.
Инфа по карманной краже
3jc24xZwQQk.jpg
Может писать что украдено? так же в конце списка было бы здорово добавить сколько всего персонажей было обворовано.

*********************
ты уж определись, как ты играешь и чего добиваешься.
я играю в классе ЮНИОР. Добиваюсь перехода в класс ПРОФИ.
с точки зрения игрока-новичка
переживая за обычных ребят, которые просто любят вечером погонять.. я им говорю ребят ставьте вот этот патч и всё будет Норм, так как в игре много дырок. Именно поэтому в моих интересах что бы им было просто и интересно гонять..

Вот скажи Diego1987, знаешь ли ты об том что есть ребята которые искренне переживают на тему квеста Кантара и не хотят подставлять Сару. Спрашивают у меня, как сделать так что бы Сара детка осталась на площади... я им отвечал, что нужно не разговаривать с Кантером до второй главы. А теперь я понял что мой ответ был неполным..

Встреча на рынке - это уже вторая часть квеста, которая подразумевает, что ГГ принял помощь Кантара и оказался в городе.
это не правда. так как
  • если ГГ взял пропуск, то Кантар за выполнение квеста про Сару не даёт Топор (в этом патче сабля)
  • если ГГ не взял пропуск, то Кантар за выполнение квеста про Сару даёт Топор (в этом патче сабля)
а это значит что встреча на рынке - это уже вторая часть квеста, которая подразумевает, что ГГ принял помощь Кантара и оказался в городе.

Поэтому я предлагаю следующее:
то есть если Кантер видит бомжа он ему не предложит квест по подставе?
 
Последнее редактирование:
Сверху Снизу