Новости Большое интервью с HotA Crew - часть 2
  • 333
  • 0
HotA Crew о Кронверке и будущих обновлениях (часть 2) Какие герои будут вести армии Кронверка? Герои-воины зовутся Вожди, маги — Старейшины. Их параметры и способности подчеркнут сильные стороны...
Новости Большое интервью с HotA Crew - часть 1
  • 363
  • 0
HotA Crew о Кронверке и будущих обновлениях Важно: весь контент по Кронверку и системе событий находится в разработке, и может ещё поменяться. Итак, следующим городом будет Кронверк. Почему...
С Новым 2025 годом!
  • 1.834
  • 18
Вот и завершается этот год - местами странный, местами крутой, но точно запоминающийся, полный неожиданностей и ярких моментов. Мы благодарны вам за то, что вы были рядом, за все наши совместные...
Новости В Heroes of Might and Magic 3 теперь можно поиграть в веб-браузере
  • 928
  • 3
Совсем недавно энтузиасты из России смогли портировать игру HoMM3 в браузер. Причем веб-версия позволяет пройти все сюжетные компании и даже поиграть по сети. Чтобы сыграть в классику необходимо...
Иконка ресурса

Новые квесты для НБ (0.0.82)

Нет прав доступа на загрузку
Неторопливо наполняю мир Готики квестами
Автор
Автор
O

osipov_jenya

Наемник
Участник форума
Регистрация
27 Окт 2018
Сообщения
545
Реакции
466
Баллы
119
Лучшие ответы
0
Евгений, доброй вам ночи и здоровья!

1. Скажите пожалуйста, я вот выполнил квест на Джину. дал ей 10 мяса, так у неё сразу стал 21 уровень это нормально или какой то баг?

2. Можно вас попросить просмотреть строчки диалогов с огоньком, для настройки мода. Какой то из диалогов, вроде бы настройка бандитов или их здоровья - при нажатии "назад" выводит на диалоговое окно с выбором % здоровья Но выйти из этого меню невозможно.
скрипты последние?
 
Автор
Автор
O

osipov_jenya

Наемник
Участник форума
Регистрация
27 Окт 2018
Сообщения
545
Реакции
466
Баллы
119
Лучшие ответы
0
Евгений, доброй вам ночи и здоровья!

1. Скажите пожалуйста, я вот выполнил квест на Джину. дал ей 10 мяса, так у неё сразу стал 21 уровень это нормально или какой то баг?

2. Можно вас попросить просмотреть строчки диалогов с огоньком, для настройки мода. Какой то из диалогов, вроде бы настройка бандитов или их здоровья - при нажатии "назад" выводит на диалоговое окно с выбором % здоровья Но выйти из этого меню невозможно.
По джине норм, в скриптах уровень суммонов привязан к уровню гг+ небольшой буст изза инты.
--- Добавлено: ---

В последних скриптах у огонька вроде норм всё.
--- Добавлено: ---

Завтра соберусь с силами и продолжу линейку ГВ ибо уже задолбали вопросами с квестом Уговор Ристера)
 

ritterhund

Бродяга
Участник форума
Регистрация
10 Фев 2013
Сообщения
32
Реакции
3
Баллы
11
Лучшие ответы
1
В квесте Кассия требует мести есть несколько ошибок:
1. Обращение Атиллы - непонятно к кому он обращается. У меня был стукачом Джо, однако в обращениях Атилла всех подозреваемых перебрал.
2. Почему-то подельники стукача были в робах мага огня, подобным тем что у Горакса
И еще, названия некоторых квестов идут с точкой на конце, в журнале это хорошо заметно. Понимаю, такой себе косяк, но выделяется.
 
Автор
Автор
O

osipov_jenya

Наемник
Участник форума
Регистрация
27 Окт 2018
Сообщения
545
Реакции
466
Баллы
119
Лучшие ответы
0
В квесте Кассия требует мести есть несколько ошибок:
1. Обращение Атиллы - непонятно к кому он обращается. У меня был стукачом Джо, однако в обращениях Атилла всех подозреваемых перебрал.
2. Почему-то подельники стукача были в робах мага огня, подобным тем что у Горакса
И еще, названия некоторых квестов идут с точкой на конце, в журнале это хорошо заметно. Понимаю, такой себе косяк, но выделяется.
1. В какой части квеста?
2. исправил
3. точки убрал.
 
Автор
Автор
O

osipov_jenya

Наемник
Участник форума
Регистрация
27 Окт 2018
Сообщения
545
Реакции
466
Баллы
119
Лучшие ответы
0
6 Квест ГВ в процессе
C++:
instance dia_attila_ThiefQuest6_Start(C_INFO)
{
    npc         = Vlk_494_Attila;
    nr             = 2;
    condition     = dia_attila_ThiefQuest6_Start_condition;
    information = dia_attila_ThiefQuest6_Start_info;
    permanent     = true;
    description = "Мне опять нужна твоя помощь с охранником судьи.";
};

func int dia_attila_ThiefQuest6_Start_condition()
{
    if((MIS_Thiefquest6 > 0) && (npc_isdoingroutine(Vlk_494_Attila, "chieflair")) && (MIS_Thiefquest6 != LOG_SUCCESS))
    {
        return true;
    };
};

func void dia_attila_ThiefQuest6_Start_info()
{
    AI_Output(other, self, "dia_attila_ThiefQuest6_Start_00");         // Мне опять нужна твоя помощь с охранником судьи.
    AI_Output(self, other, "dia_attila_ThiefQuest6_Start_01");         // Не продолжай, пошли. Мне нравится этот парень (смеётся)
    Npc_ExchangeRoutine(self,"quest3");
    AI_StopProcessInfos(self);
};

instance dia_richter_ThiefQuest6_Start(C_INFO)
{
    npc         = Vlk_402_Richter;
    nr             = 1;
    condition     = dia_richter_ThiefQuest6_Start_condition;
    information = dia_richter_ThiefQuest6_Start_info;
    permanent     = false;
    description = "Мне нужно с тобой поговорить.";
};

func int dia_richter_ThiefQuest6_Start_condition()
{
    if(MIS_Thiefquest6 == 1)
    {
        return true;
    };
};

func void dia_richter_ThiefQuest6_Start_info()
{
    AI_Output(other, self, "dia_richter_ThiefQuest6_Start_00"); // Мне нужно с тобой поговорить.
    AI_Output(self, other, "dia_richter_ThiefQuest6_Start_01"); // Что тебе от меня нужно и почему мой телохранитель тебя впустил?
    AI_Output(other, self, "dia_richter_ThiefQuest6_Start_02"); // Да он мне и слова не сказал.
    AI_Output(self, other, "dia_richter_ThiefQuest6_Start_03"); // Вот же идиот! Я с ним сам разберусь.
    AI_Output(self, other, "dia_richter_ThiefQuest6_Start_04"); // Что ты хотел?
    AI_Output(other, self, "dia_richter_ThiefQuest6_Start_05"); // Есть одно важное дело, которое нужно уладить с тобой...
    AI_Output(self, other, "dia_richter_ThiefQuest6_Start_06"); // Ты можешь быстрее излагать свои мысли? Мне не хочется тратить на наш разговор много времени.
    AI_Output(other, self, "dia_richter_ThiefQuest6_Start_07"); // Мне нужно, чтобы ты прекратил дело против Рамиреса.
    AI_Output(self, other, "dia_richter_ThiefQuest6_Start_08"); // Ах вот оно что!!!
    AI_Output(self, other, "dia_richter_ThiefQuest6_Start_09"); // Крысы решили вылезти из своей норы (смеётся).
    AI_Output(self, other, "dia_richter_ThiefQuest6_Start_10"); // И почему я должен это делать?
    Vlk_402_Richter.aivar[93] = true;
    Info_ClearChoices(dia_richter_ThiefQuest6_Start);
    if(npc_hasitems(hero,ItMi_Gold) >= 2000)
    {
        Info_AddChoice(dia_richter_ThiefQuest6_Start, "Потому что ты станешь богаче на 2000 золотых.", dia_richter_ThiefQuest6_Start_1);
    };
    if((npc_hasitems(hero,ItMi_Gold) >= 1000) && (Rhetorikskillvalue[1] >= 40))
    {
        Info_AddChoice(dia_richter_ThiefQuest6_Start, "Потому что ты станешь богаче на 1000 золотых (Риторика 40).", dia_richter_ThiefQuest6_Start_2);
    };
    Info_AddChoice(dia_richter_ThiefQuest6_Start, "Потому что для тебя могут быть печальные последствия (угроза)", dia_richter_ThiefQuest6_Start_3);
    Info_AddChoice(dia_richter_ThiefQuest6_Start, "Потому что я готов выполнить твои условия.", dia_richter_ThiefQuest6_Start_4);
};

func void dia_richter_ThiefQuest6_Start_1()
{
    AI_Output(other, self, "dia_richter_ThiefQuest6_Start_11"); // Потому что ты станешь богаче на 2000 золотых.
    AI_Output(self, other, "dia_richter_ThiefQuest6_Start_12"); // Ты что, предлагаешь мне взятку?
    AI_Output(other, self, "dia_richter_ThiefQuest6_Start_13"); // Нет конечно. Это знак уважения и желания по-дружески решить проблему.
    AI_Output(self, other, "dia_richter_ThiefQuest6_Start_14"); // Не знал что мы стали друзьями.
    AI_Output(other, self, "dia_richter_ThiefQuest6_Start_15"); // Но мы ими можем стать за 2000 золотых. И все будут довольны. Разве нет?
    AI_Output(self, other, "dia_richter_ThiefQuest6_Start_16"); // Хорошо. Только никому не рассказывай о нашем договоре.
    AI_Output(other, self, "dia_richter_ThiefQuest6_Start_17"); // Конечно!
    AI_Output(self, other, "dia_richter_ThiefQuest6_Start_18"); // Давай золото и проваливай пока я не передумал.
    AI_Output(other, self, "dia_richter_ThiefQuest6_Start_19"); // Вот, держи.
    B_GiveInvItems(other,self, ItMi_Gold, 2000);
    npc_removeinvitems(self, ItMi_Gold, 2000);
    MIS_Thiefquest6 = 2;
    B_LogEntry(TOPIC_Thief_quest6, "Удалось договориться с Ристером за 2000 золотых. Нужно сообщить об этом Кассии.");
    AI_StopProcessInfos(self);
};

func void dia_richter_ThiefQuest6_Start_2()
{
    AI_Output(other, self, "dia_richter_ThiefQuest6_Start_20"); // Потому что ты станешь богаче на 1000 золотых.
    AI_Output(self, other, "dia_richter_ThiefQuest6_Start_12"); // Ты что, предлагаешь мне взятку?
    AI_Output(other, self, "dia_richter_ThiefQuest6_Start_13"); // Нет конечно. Это знак уважения и желания по-дружески решить проблему.
    AI_Output(self, other, "dia_richter_ThiefQuest6_Start_14"); // Не знал что мы стали друзьями.
    AI_Output(other, self, "dia_richter_ThiefQuest6_Start_21"); // Но мы ими можем стать за 1000 золотых. И все будут довольны. Разве нет?
    AI_Output(self, other, "dia_richter_ThiefQuest6_Start_16"); // Хорошо. Только никому не рассказывай о нашем договоре.
    AI_Output(other, self, "dia_richter_ThiefQuest6_Start_17"); // Конечно!
    AI_Output(self, other, "dia_richter_ThiefQuest6_Start_18"); // Давай золото и проваливай пока я не передумал.
    AI_Output(other, self, "dia_richter_ThiefQuest6_Start_19"); // Вот, держи.
    B_GiveInvItems(other,self, ItMi_Gold, 1000);
    npc_removeinvitems(self, ItMi_Gold, 1000);
    MIS_Thiefquest6 = 2;
    B_LogEntry(TOPIC_Thief_quest6, "Удалось договориться с Ристером за 1000 золотых. Нужно сообщить об этом Кассии.");
    AI_StopProcessInfos(self);
};

func void dia_richter_ThiefQuest6_Start_3()
{
    AI_Output(other, self, "dia_richter_ThiefQuest6_Start_22"); // Потому что для тебя могут быть печальные последствия (угроза).
    AI_Output(self, other, "dia_richter_ThiefQuest6_Start_23"); // Ты приходишь в мой дом, дом судьи и угражаешь мне? (злостно)
    self.aivar[AIV_ToughGuy] = true;
    self.aivar[AIV_IGNORESFAKEGUILD] = true;
    AI_StopProcessInfos(self);
    MIS_Thiefquest6 = 3;
    B_Attack(Mil_306_Tuerwache,hero,AR_GUARDSTOPSINTRUDER,1);
    B_Say(self, other, "$ALARM");
    B_Attack(self, other, AR_GUARDSTOPSINTRUDER, 1);
    toarmshighcitygate = FALSE;
    global_make_bandit_forcity = 1;
    ai_printred("Городские власти объявили вас вне закона!");
    B_LogEntry(TOPIC_Thief_quest6, "Переговоры с Ристером провалились, теперь нужно его силой заставить принять условия.");
};

func void dia_richter_ThiefQuest6_Start_4()
{
    AI_Output(other, self, "dia_richter_ThiefQuest6_Start_24"); // Потому что я готов выполнить твои условия.
    AI_Output(self, other, "dia_richter_ThiefQuest6_Start_25"); // Вот это уже другое дело. Мне как раз нужно решить одно непростое дельце.
    AI_Output(other, self, "dia_richter_ThiefQuest6_Start_26"); // Рассказывай. Я как раз специалист по таким вопросам. (улыбается)
    AI_Output(self, other, "dia_richter_ThiefQuest6_Start_27"); // Я занял крупную суммо золота одному человеку и он не спешит мне её отдавать. Твоя задача 'уговорить' его вернуть мне золото с процентами.
    AI_Output(other, self, "dia_richter_ThiefQuest6_Start_28"); // Кто этот человек и сколько он должен?
    AI_Output(self, other, "dia_richter_ThiefQuest6_Start_29"); // Это Лютеро...он должен 6000 золотых.
    AI_Output(other, self, "dia_richter_ThiefQuest6_Start_30"); // Лютеро??? Глава гильдии торговцев и занимает деньги?
    AI_Output(self, other, "dia_richter_ThiefQuest6_Start_31"); // Как видишь. Его тяжело сподвигнуть на возврат долго, но это уже твоя проблема.
    AI_Output(self, other, "dia_richter_ThiefQuest6_Start_32"); // Как только он вернёт мне долг, то мы решим с вами наши разноглассия.(улыбается)
    MIS_Thiefquest6 = 4;
    B_LogEntry(TOPIC_Thief_quest6, "Ристер перестанет копать под Рамиреса, если я заберу его долг у Лютеро в 6000 золотых.");
    AI_StopProcessInfos(self);
};

instance dia_richter_ThiefQuest6_Next(C_Info)
{
    npc         = Vlk_402_Richter;
    nr             = 1;
    condition     = dia_richter_ThiefQuest6_Next_Condition;
    information = dia_richter_ThiefQuest6_Next_Info;
    permanent     = true;
    important     = true;
};

func int dia_richter_ThiefQuest6_Next_Condition()
{
    if((self.aivar[AIV_ToughGuy] == true) && (self.aivar != fight_none) && (MIS_Thiefquest6 == 3) && (self.aivar == FIGHT_LOST))
    {
        return true;
    };
};

func void dia_richter_ThiefQuest6_Next_Info()
{
    AI_Output(other, self, "dia_richter_ThiefQuest6_Next_00"); // Ну что теперь скажешь?
    AI_Output(self, other, "dia_richter_ThiefQuest6_Next_01"); // Хорошо, хорошо. Я всё понял!
    AI_Output(other, self, "dia_richter_ThiefQuest6_Next_02"); // Что ты понял?
    AI_Output(self, other, "dia_richter_ThiefQuest6_Next_03"); // Я не буду продолжать копать под Рамиреса...
    AI_Output(other, self, "dia_richter_ThiefQuest6_Next_04"); // Вот и молодец.
    self.aivar[AIV_ToughGuy] = false;
    self.aivar[AIV_IGNORESFAKEGUILD] = false;
    MIS_Thiefquest6 = 5;
    B_LogEntry(TOPIC_Thief_quest6, "После физических уговоров Ристер согласился прекратить преследование Рамиреса. Нужно рассказать обо всём Кассии.");
    AI_StopProcessInfos(self);
};

instance DIA_Lutero_ThiefQuest6_Start(C_Info)
{
    npc         = VLK_404_Lutero;
    nr             = 1;
    condition     = DIA_Lutero_ThiefQuest6_Start_Condition;
    information = DIA_Lutero_ThiefQuest6_Start_Info;
    permanent     = true;
    description = "Спросить про долг Ристера";
};

func int DIA_Lutero_ThiefQuest6_Start_Condition()
{
    if(MIS_Thiefquest6 == 4)
    {
        return true;
    };
};

func void DIA_Lutero_ThiefQuest6_Start_Info()
{
    AI_Output(other, self, "DIA_Lutero_ThiefQuest6_Start_00"); // Ты занимал золото у Ристера?
    AI_Output(self, other, "DIA_Lutero_ThiefQuest6_Start_01"); // А с чего ты мне задаёшь такие вопросы?
    AI_Output(other, self, "DIA_Lutero_ThiefQuest6_Start_02"); // Сам понимаешь, что с судбьёй по своей воле никто дел иметь не хочет.
    AI_Output(self, other, "DIA_Lutero_ThiefQuest6_Start_03"); // Держит тебя на крючке? (смеется)
    AI_Output(self, other, "DIA_Lutero_ThiefQuest6_Start_04"); // И послал тебя решать свои вопросы...скользкий тип.
    AI_Output(other, self, "DIA_Lutero_ThiefQuest6_Start_05"); // Трудно с этим спорить. Так что у вас с ним за дела?
    if(TradeGuildReputation >= 3)
    {
        AI_Output(self, other, "DIA_Lutero_ThiefQuest6_Start_06"); // Так как ты являешься членом нашей гильдии и имеешь какую-то репутацию, то я могу тебе рассказать.
        AI_Output(self, other, "DIA_Lutero_ThiefQuest6_Start_07"); // Месяц назад я собирался купить большую партию товаров у пиратов.
        AI_Output(other, self, "DIA_Lutero_ThiefQuest6_Start_08"); // Пиратов??? Вы торгуете с пиратами?
        AI_Output(self, other, "DIA_Lutero_ThiefQuest6_Start_09"); // Мы же торговцы, мы торгуем со всеми, если это выгодно. И не перебивай меня!!!
        AI_Output(self, other, "DIA_Lutero_ThiefQuest6_Start_10"); // Так вот, мне не хватало 3000 золотых, я предложил Ристеру вложится и пообещал ему 50% прибыль после реализации товаров.
        AI_Output(self, other, "DIA_Lutero_ThiefQuest6_Start_11"); // И я его предупредил о рисках, что товары будут доставлять на лодках и их могут потопить.
        AI_Output(self, other, "DIA_Lutero_ThiefQuest6_Start_12"); // Но, как ты понимаешь, услышав о 50% прибыли, его уже ничего не интересовало.
        AI_Output(self, other, "DIA_Lutero_ThiefQuest6_Start_13"); // К сожалению, самые худшие прогнозы сбылись и лодка утонула. Половину товара мы смогли спасти и впоследствии продать.
        AI_Output(self, other, "DIA_Lutero_ThiefQuest6_Start_14"); // Я рассказал об этом Ристеру и предложил ему только половину от того, что должно было получится, а именно 2250 золотых из 4500, которые он планировал получить.
        AI_Output(self, other, "DIA_Lutero_ThiefQuest6_Start_15"); // Его мои доводы не убедили и он обвинил меня в обмане и требует полную стоимость обещанной сделки.
        AI_Output(other, self, "DIA_Lutero_ThiefQuest6_Start_16"); // Да, но мне он сказал чтобы я вытряс с тебя 6000 золотых.
        AI_Output(self, other, "DIA_Lutero_ThiefQuest6_Start_17"); // Что??? Какие 6000? Вот же говнюк!!!
        AI_Output(self, other, "DIA_Lutero_ThiefQuest6_Start_18"); // Я уже сто раз пожалел, что связался с ним.
    }
    else
    {
        AI_Output(self, other, "DIA_Lutero_ThiefQuest6_Start_18"); // Я уже сто раз пожалел, что связался с ним.
    };
};
 

ritterhund

Бродяга
Участник форума
Регистрация
10 Фев 2013
Сообщения
32
Реакции
3
Баллы
11
Лучшие ответы
1
Автор
Автор
O

osipov_jenya

Наемник
Участник форума
Регистрация
27 Окт 2018
Сообщения
545
Реакции
466
Баллы
119
Лучшие ответы
0
Ещё не закончен.
--- Добавлено: ---

Когда мы приходим на забив за домом Хальвора
Да,там ошибка в присвоении номерам диалогов.Исправил
--- Добавлено: ---

Когда мы приходим на забив за домом Хальвора
есть сохранение перед ними?
--- Добавлено: ---

Я скину обнову, проверишь
 
Автор
Автор
O

osipov_jenya

Наемник
Участник форума
Регистрация
27 Окт 2018
Сообщения
545
Реакции
466
Баллы
119
Лучшие ответы
0

ritterhund

Бродяга
Участник форума
Регистрация
10 Фев 2013
Сообщения
32
Реакции
3
Баллы
11
Лучшие ответы
1
Ещё не закончен.
--- Добавлено: ---


Да,там ошибка в присвоении номерам диалогов.Исправил
--- Добавлено: ---


есть сохранение перед ними?
--- Добавлено: ---

Я скину обнову, проверишь
Есть
--- Добавлено: ---

Ещё не закончен.
--- Добавлено: ---


Да,там ошибка в присвоении номерам диалогов.Исправил
--- Добавлено: ---


есть сохранение перед ними?
--- Добавлено: ---

Я скину обнову, проверишь
Проверил, баги ушли.
Правда теперь окно сообщений постоянно забивается сообщением с цифрой 2.
На всякий случай продолжу на 79 версии
 
Последнее редактирование:
Сверху Снизу