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

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!

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

D36


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

Текущая версия:
30 от 02.09.2024

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

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

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

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

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

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

kor.angar

Участник форума
Регистрация
28 Ноя 2017
Сообщения
294
Благодарности
93
Баллы
200
а где логика? я краду одежду, у меня пропадает возможность выполнить квест Вино, Лобарт у меня отжимает одежду обратно, но квест Вино я уже взять/выполнить не могу.
В таком случае сможешь и взять, и выполнить, потому что после отжатия одежды Лобартом начинает выполняться условие Npc_HasItems(Lobart,ITAR_Bau_L).
я же не из пальца высасываю виртуальную историю, а описываю вполне реальную ситуацию, которая возникла у меня при прохождение игры: поговорил с Лобаром, взял одежду и пошёл убивать зверьё, поговорил с Вино, отдал одежду Лобару, не смог выполнить квест Вино. Это можно исправить:)
if((Mob_HasItems("CHEST_LOBART",ITAR_Bau_L) || Npc_HasItems(Lobart,ITAR_Bau_L)ставим проверку что на ГГ не одета ITAR_Bau_L ) && (Lobart_Kleidung_Verkauft == FALSE) && (Npc_KnowsInfo(other,DIA_Lobart_KLEIDUNG) || Npc_KnowsInfo(other,DIA_Lobart_WorkNOW)))
так вроде?

Хочу заметить, что в оригинале никогда не воспроизводится реплика "Но оставь в покое послушников!". Как раз потому, что этот диалог доступен только для паладинов, а условие реплики other.guild != GIL_PAL не может быть выполнено.
Это про Мента. Неискушенные игроки приходят в Монастырь будучи еще милиционерами.

а вот у искушённых игроков возникает другая проблема, паладин не может попасть в Монастырь без письма Хагена, так как Педро его не пускает.


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

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

D36


Модостроитель
Регистрация
3 Дек 2014
Сообщения
2.175
Благодарности
3.344
Баллы
485
поговорил с Лобаром, взял одежду и пошёл убивать зверьё, поговорил с Вино, отдал одежду Лобару, не смог выполнить квест Вино
Теперь вижу, в чем проблема. Квест Вино не получится начать, если украсть одежду и вернуть её Лобарту, не говоря ему "Мне нужна приличная одежда", потому что этот диалог становится недоступным после кражи, но требуется в условии начала квеста. Будет исправлено.

с точки зрения сюжета/атмосферы было бы здорово в начале третей главы Мильтена добавить в Монастырь, например к Неорасу, варить эликсиры или ещё куда нибудь.
Принято. С началом третьей главы Милтен появится в монастыре, а в диалоге игрока-немага с Хагеном переместится на улицу, чтобы встретить его с разрешением и выдать ключ. Правильно? Но алхимический стол ему лучше не давать, а то игроку будет проблематично варить свои зелья. Пусть лучше читает там книгу на стенде, а вечером и ночью сидит в кресле у камина с остальными магами. Благо, с исправленным зеном там теперь есть точки для перемещения и эти кресла можно задействовать.

паладин не может попасть в Монастырь без письма Хагена, так как Педро его не пускает.
Занятно. Что с этим можно сделать?
 

kor.angar

Участник форума
Регистрация
28 Ноя 2017
Сообщения
294
Благодарности
93
Баллы
200
Правки касаются двух моментов:
1) Мильтен в начале третей главы оказывается внутри Монастыря
а в диалоге игрока-немага (любой фракции) с Хагеном переместится на улицу, чтобы встретить его с разрешением и выдать ключ.
2) Педро дает ключ герою Паладину
это код Мильтена с Паладином, можно использовать фразы и для Педро.
AI_Output(other,self,"DIA_MiltenNW_KAP3_Entry_15_00"); //Мне нужно попасть в монастырь. Это срочно!
if(hero.guild == GIL_PAL)
{
AI_Output(self,other,"DIA_MiltenNW_KAP3_Entry_03_01"); //Да, конечно. Вот ключ.
CreateInvItems(self,ItKe_Innos_MIS,1);
B_GiveInvItems(self,other,ItKe_Innos_MIS,1);
MiltenNW_GivesMonasteryKey = TRUE;
}


Дальше все как обычно: после того как Хагена даёт письмо происходит глобальные изменения в игре: педро пропадает, Мильтен становится на ворота, появляется глаз Инноса


***********************
так же Мильтен должен учить ГГ в Минентале и первому кругу и второму. Сейчас он учить только второму.
instance DIA_MiltenOW_TeachCircle2(C_Info)
{
npc = PC_Mage_OW;
nr = 91;
condition = DIA_MiltenOW_TeachCircle2_Condition;
information = DIA_MiltenOW_TeachCircle2_Info;
permanent = TRUE;
// description = B_BuildLearnString("Обучи меня второму Кругу магии",B_GetLearnCostTalent(other,NPC_TALENT_MAGE,2));
description = B_BuildLearnString("Второй Круг магии",B_GetLearnCostTalent(other,NPC_TALENT_MAGE,2));
};


func int DIA_MiltenOW_TeachCircle2_Condition()
{
if((other.guild == GIL_KDF) && Npc_KnowsInfo(other,DIA_MiltenOW_Lehren) && (Npc_GetTalentSkill(other,NPC_TALENT_MAGE) == 1))
{
return TRUE;
};
};

func void DIA_MiltenOW_TeachCircle2_Info()
{
AI_Output(other,self,"DIA_Milten_Add_15_00"); //Обучи меня второму Кругу магии!
AI_Output(self,other,"DIA_Milten_Add_03_01"); //Это обычно привилегия учителей нашего ордена.
AI_Output(self,other,"DIA_Milten_Add_03_02"); //Но я думаю, что в твоем случае мы можем сделать исключение...
if(B_TeachMagicCircle(self,other,2))
{
AI_Output(self,other,"DIA_Milten_Add_03_03"); //Я не уверен, что помню все эти официальные и торжественные слова...
AI_Output(self,other,"DIA_Milten_Add_03_04"); //Войди во второй Круг. Э-э... он покажет тебе направление, но твои дела формируют путь...
AI_Output(self,other,"DIA_Milten_Add_03_05"); //Я думаю, ты понимаешь, о чем все это...
};
};
 
Последнее редактирование:

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.574
Благодарности
4.167
Баллы
915
Занятно. Что с этим можно сделать?
Ничего, ибо не фиг бежать впереди сюжета. Проще дождаться, когда Педро свалит из монастыря.
Правки касаются двух моментов:
1) Мильтен в начале третей главы оказывается внутри Монастыря
2) Педро дает ключ герою Паладину
Не пойдёт, ибо возникнет проблема с озвучкой фразы Педро при передаче ключа. В игре доступна только эта фраза:
Daedalus:
AI_Output(self,other,"DIA_Pedro_AUFNAHME_YES_09_01");    //Тогда добро пожаловать, брат. Я даю тебе этот ключ от монастырских ворот.
Конечно, для этого случая можно создать новую фразу, вырезав из оригинальной первое предложение.

P.S.: Поскольку хорошая мысля приходит опосля, то для обращения к представителям других гильдий из фразы Педро можно вырезать слово "брат", которое применимо только к послушникам. Оба варианта фразы во вложении.
 

Вложения

  • DIA_Pedro_KAP3_Entry_09_01.rar
    141,2 KB · Просмотры: 108
Последнее редактирование:

kor.angar

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

просто тут такая история, что после сдачи письма от Гаронда происходит много изменений в игре. особенно это чувствуется при игре за Мага. поэтому иногда хочется "притормозить" основную сюжетную линию, что бы спокойно позанимать второстепенными делами :) а Хаген руну телепортации даёт только после сдачи письма от Гаронда :-(
 
Последнее редактирование:

Diego1987

★★★★★★★★★★★
Администратор
Регистрация
7 Апр 2008
Сообщения
17.115
Благодарности
7.536
Баллы
1.950
Парлан будет ругаться, если игрок-наемник/ОнД заговорит с любым из послушников.
Дело ограничится простой руганью или будет иметь более серьезные последствия (Парлан выпишет штраф или полезет в драку)?
Просто ОнД все равно придется говорить с послушниками, т.к. есть квест Бабо. Да и обчистить карманы послушников лишним не будет, а для этого тоже надлежит начать диалог :oops:
 

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.574
Благодарности
4.167
Баллы
915
Дело ограничится простой руганью или будет иметь более серьезные последствия (Парлан выпишет штраф или полезет в драку)?
И какую же причину штрафа может предъявить ГГ Парлан? Потому что в игре предусмотрен определённый набор преступлений: драка (CRIME_ATTACK), воровство (CRIME_THEFT), убийство человека (CRIME_MURDER) или овцы (CRIME_SHEEPKILLER). А первому лезть в драку магу Огня не к лицу.
 

D36


Модостроитель
Регистрация
3 Дек 2014
Сообщения
2.175
Благодарности
3.344
Баллы
485
так же Мильтен должен учить ГГ в Минентале и первому кругу и второму. Сейчас он учить только второму.
Это уже обсуждалось. Вроде бы решили пока это не трогать. Хотя, конечно, это изменение было бы весьма логичным.

не принимать героя в Паладины пока он не отдаст письмо от Гаронда.
Можно и так. Если это не слишком радикально. По-моему, не слишком. То, что паладина не пускают в монастырь - явная недоработка. Да и повышение от ополченца до паладина за одно только спасение Беннета выглядит сомнительным. Вместе с походом в захваченную Долину - да, достойно.

Дело ограничится простой руганью или будет иметь более серьезные последствия (Парлан выпишет штраф или полезет в драку)?
Только ругань, как и задумывали разработчики.

Просто ОнД все равно придется говорить с послушниками, т.к. есть квест Бабо.
А Парлан, тем не менее, настоятельно просит их не беспокоить.
 

Diego1987

★★★★★★★★★★★
Администратор
Регистрация
7 Апр 2008
Сообщения
17.115
Благодарности
7.536
Баллы
1.950
Только ругань, как и задумывали разработчики.
Тогда это будет отличный штрих. Потроллим старого мага разговорами с послушниками :D
И какую же причину штрафа может предъявить ГГ Парлан? Потому что в игре предусмотрен определённый набор преступлений: драка (CRIME_ATTACK), воровство (CRIME_THEFT), убийство человека (CRIME_MURDER) или овцы (CRIME_SHEEPKILLER). А первому лезть в драку магу Огня не к лицу.
да мало ли, что там разрабы в итоге не включили. Может там был вариант типа "Я тебе говорил соблюдать наши правила? Говорил, чтобы ты не отвлекал послушников? За свое непослушание ты должен заплатить 500 золотых монет!". Поэтому я и спрашивал.
 

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.574
Благодарности
4.167
Баллы
915
да мало ли, что там разрабы в итоге не включили. Может там был вариант типа "Я тебе говорил соблюдать наши правила? Говорил, чтобы ты не отвлекал послушников? За свое непослушание ты должен заплатить 500 золотых монет!". Поэтому я и спрашивал.
К сожалению, этот вариант отпадает из-за отсутствия озвучки фразы Парлана. Не поможет даже монтаж из существующих фраз этого персонажа. Поэтому ГГ может без последствий потроллить служителя закона и порядка в монастыре.
 

kor.angar

Участник форума
Регистрация
28 Ноя 2017
Сообщения
294
Благодарности
93
Баллы
200
Kor Angar написал(а):
не принимать героя в Паладины пока он не отдаст письмо от Гаронда.
Можно и так. Если это не слишком радикально. По-моему, не слишком. То, что паладина не пускают в монастырь - явная недоработка. Да и повышение от ополченца до паладина за одно только спасение Беннета выглядит сомнительным. Вместе с походом в захваченную Долину - да, достойно.
касательно посвящения в Паладины: можно так же добавить еще одно условие - спасение людей из Яркендара. Это впишется в логику благородной фракции Паладинов, так как просто спасение наёмника Беннета это действительно слабая заслуга.
instance DIA_Addon_Andre_ReturnedMissingPeople(C_Info)
{
npc = MIL_311_Andre;
nr = 5;
condition = DIA_Addon_Andre_ReturnedMissingPeople_Condition;
information = DIA_Addon_Andre_ReturnedMissingPeople_Info;
description = "Мне удалось спасти часть пропавших людей.";
};


func int DIA_Addon_Andre_ReturnedMissingPeople_Condition()
{
if((MissingPeopleReturnedHome == TRUE) && (MIS_Addon_Andre_MissingPeople == LOG_Running))
{
return TRUE;
};
};

func void DIA_Addon_Andre_ReturnedMissingPeople_Info()
{
AI_Output(other,self,"DIA_Addon_Andre_ReturnedMissingPeople_15_00"); //Мне удалось спасти часть пропавших людей.
if(other.guild == GIL_MIL)
{
AI_Output(self,other,"DIA_Addon_Andre_ReturnedMissingPeople_08_01"); //А я-то думал, где ты был все это время!
AI_Output(self,other,"DIA_Addon_Andre_ReturnedMissingPeople_08_02"); //Ты - солдат ополчения! И ты не получал приказа заниматься поисками пропавших!
AI_Output(other,self,"DIA_Addon_Andre_ReturnedMissingPeople_15_03"); //Но...
};
AI_Output(self,other,"DIA_Addon_Andre_ReturnedMissingPeople_08_04"); //Как много людей ты спас?
AI_Output(other,self,"DIA_Addon_Andre_ReturnedMissingPeople_15_05"); //Всех тех, кто был еще жив...
AI_Output(self,other,"DIA_Addon_Andre_ReturnedMissingPeople_08_06"); //Всех?! Я... Э-э-э...
if(other.guild == GIL_MIL)
{
AI_Output(self,other,"DIA_Addon_Andre_ReturnedMissingPeople_08_07"); //Я тобой горжусь! И я рад, что принял тебя в наши ряды.
B_AndreSold();
};
AI_Output(self,other,"DIA_Addon_Andre_ReturnedMissingPeople_08_08"); //Ты сделал великое дело!
MIS_Addon_Andre_MissingPeople = LOG_SUCCESS;
B_GivePlayerXP(XP_Addon_Andre_MissingPeople);
};

func void B_Andre_GotoLordHagen()
{
AI_Output(self,other,"DIA_Andre_Add_08_11"); //Тебе лучше отправиться прямо к нему.
};
и очень положительно повлияет на баланс, так как исключить возможность проходить Ярик в броне Пала.

подытожим возможные варианты:
1) как есть, поправить Педро, что бы давал ключ палу
2) прием в Палы после того как ГГ отдаст письмо от Горанда + невиновность Беннета. Педро править не надо так как его уже не будет.
3) прием в Палы после спасение людей из Ярика + невиновность Беннета. Педро править надо.



Про квесты за послушника. Правильно я понимаю что после того как Парлан даёт послушнику доступ в библиотеку, все активные квесты Магов Огня закрываются/отменяются.
if(Kloster_Punkte >= 8)
{
AI_Output(self,other,"DIA_Parlan_Stand_05_09"); //Да, ты хорошо поработал. Теперь пришло время начать постигать учение Инноса. Поговори с мастером Хигласом в библиотеке.
AI_Output(self,other,"DIA_Parlan_Stand_05_10"); //Я выдаю тебе этот ключ.
Parlan_Erlaubnis = TRUE;
MIS_KlosterArbeit = LOG_SUCCESS;
Wld_AssignRoomToGuild("Kloster02",GIL_PUBLIC);
B_GiveInvItems(self,other,ItKe_KlosterBibliothek,1);
if(MIS_NeorasPflanzen == LOG_Running)
{
MIS_NeorasPflanzen = LOG_OBSOLETE;
};
if(MIS_NeorasRezept == LOG_Running)
{
MIS_NeorasRezept = LOG_OBSOLETE;
};
if(MIS_IsgarothWolf == LOG_Running)
{
MIS_IsgarothWolf = LOG_OBSOLETE;
};
if(MIS_ParlanFegen == LOG_Running)
{
MIS_ParlanFegen = LOG_OBSOLETE;
};
if(MIS_GoraxEssen == LOG_Running)
{
MIS_GoraxEssen = LOG_OBSOLETE;
};
if(MIS_GoraxWein == LOG_Running)
{
MIS_GoraxWein = LOG_OBSOLETE;
};
if(MIS_MardukBeten == LOG_Running)
{
MIS_MardukBeten = LOG_OBSOLETE;
};
B_CheckLog();
}
И наш счастливый герой-послушник отправляется в библиотеку с двумя ящиками вина. Сегодня у меня как раз такая история случилась. Или это поправили?
 
Последнее редактирование:

Paladdin

Участник форума
Регистрация
20 Дек 2017
Сообщения
172
Благодарности
66
Баллы
175
касательно посвящения в Паладины: можно так же добавить еще одно условие - спасение людей из Яркендара. Это впишется в логику благородной фракции Паладинов, так как просто спасение наёмника Беннета это действительно слабая заслуга.
Мне кажется, не стоит привязывать события аддона к основному сюжету. Насколько я помню, людей можно вовсе не спасать.
Принимать после получения письма от Гаронда - логично, так как это предыдущий этап прохождения и должен быть обязательным.
 

D36


Модостроитель
Регистрация
3 Дек 2014
Сообщения
2.175
Благодарности
3.344
Баллы
485
2) прием в Палы после того как ГГ отдаст письмо от Горанда + невиновность Беннета. Педро править не надо так как его уже не будет.
Остановимся на этом варианте. Про Яркендар - лишнее.

Правильно я понимаю что после того как Парлан даёт послушнику доступ в библиотеку, все активные квесты Магов Огня закрываются/отменяются.
Да, так. В Gothic 2 Mod Fix эти квесты отменяются при вступлении в маги, а не после получения ключа от библиотеки. По-моему, так правильнее. Хотелось сделать так же, но не было времени разобраться и протестировать. Сделаю.
 

kor.angar

Участник форума
Регистрация
28 Ноя 2017
Сообщения
294
Благодарности
93
Баллы
200
Правильно я понимаю что после того как Парлан даёт послушнику доступ в библиотеку, все активные квесты Магов Огня закрываются/отменяются.
Да, так. В Gothic 2 Mod Fix эти квесты отменяются при вступлении в маги, а не после получения ключа от библиотеки. По-моему, так правильнее. Хотелось сделать так же, но не было времени разобраться и протестировать. Сделаю.
можно сделать проверку и если есть активные задания магов огня Парлан будет говорить
AI_Output(self,other,"DIA_Parlan_Stand_05_12"); //Сначала выполни свои поручения на благо общины. А когда ты закончишь свою работу, мы вернемся к этому разговору.
а если активных заданий нет, тогда будет уже диалог про доступ в библиотеку. а то как то странно выходит что у Послушника есть поручение продать вино или убить волка, а его Парлан отправляет книжки читать :)
 

Diego1987

★★★★★★★★★★★
Администратор
Регистрация
7 Апр 2008
Сообщения
17.115
Благодарности
7.536
Баллы
1.950
касательно посвящения в Паладины: можно так же добавить еще одно условие - спасение людей из Яркендара. Это впишется в логику благородной фракции Паладинов, так как просто спасение наёмника Беннета это действительно слабая заслуга.
В игре и так прописано условие, что Яркендар должен быть пройден до отплытия на Ирдорат, а в паладины берут не за спасение наемника, а за установку истинных виновных в убийстве паладина. Чувствуешь разницу?
Насчет письма Гаронда согласен.
и очень положительно повлияет на баланс, так как исключить возможность проходить Ярик в броне Пала.
Игра не стоит свеч, т.к. во-первых, большинство игроков проходит Яркендар во 2 главе, чтобы ГГ стал более сильным перед походом в Миненталь; во-вторых, если Яркендар проходить позже, то на его территории генерятся более сильные мобы (драконьи снепперы, тролли, варги) в нагрузку к тем, что идут по умолчанию. Так что тут и так все вполне сбалансировано. Впрочем, D36 уже определилась с вариантом, пока я писал этот пост :)
а то как то странно выходит что у Послушника есть поручение продать вино или убить волка, а его Парлан отправляет книжки читать :)
Фраза про работу на благо общины удачно вписывается, согласен. Но на самом деле задание на изучение книг никак не конфликтует с другими поручениями. Учеба ведь не единственная обязанность послушника. Несколько часов поучился, потом дуй за вином, а по пути еще и волка можешь хлопнуть :)
Так что вариант из мод-фикса с закрытием квестов послушника после становления магом самое то.
 

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.574
Благодарности
4.167
Баллы
915
@kor.angar:
Готоман, пожалуйста в следующий раз вместо тэга spoiler используй тэг code с выбором синтаксиса Daedalus. Потому что при использовании спойлеров пропадает структурное форматирование текста, что усложняет анализ скриптов. Зато вполне допустимо вложение кода внутрь спойлеров, т.к. это не нарушает форматирование текста, например:
Story\B_AssignAmbientInfos\B_Urshak.d:
Daedalus:
instance DIA_Urshak_HALLO(C_Info)
{
    npc = NONE_110_Urshak;
    nr = 5;
    condition = DIA_Urshak_HALLO_Condition;
    information = DIA_Urshak_HALLO_Info;
    important = TRUE;
};


func int DIA_Urshak_HALLO_Condition()
{
//    if(Npc_IsInState(self,ZS_Talk) && (URSHAK_SUCKED == FALSE))
    if(URSHAK_SUCKED == FALSE)
    {
        return TRUE;
    };
};

func void DIA_Urshak_HALLO_Info()
{
    AI_Output(self,other,"DIA_Urshak_HALLO_18_00");    //(агрессивно) ХРОТОК ДЖАБАРТ!!!
    AI_Output(self,other,"DIA_Urshak_HALLO_18_01");    //Стой! Моя знать тебя. Ты друг человек с мягким голосом.
    AI_Output(self,other,"DIA_Urshak_HALLO_18_02");    //Друг убивать злого демона КРУШАКА.
    B_GivePlayerXP(XP_UrshakFound);
    Log_CreateTopic(TOPIC_Urshak,LOG_MISSION);
    Log_SetTopicStatus(TOPIC_Urshak,LOG_Running);
    B_LogEntry(TOPIC_Urshak,"Я нашел своего старого друга-орка - Ур-Шака.");
    Info_ClearChoices(DIA_Urshak_HALLO);
    Info_AddChoice(DIA_Urshak_HALLO,"Что ты делаешь здесь?",DIA_Urshak_HALLO_freund);
    Info_AddChoice(DIA_Urshak_HALLO,"Говорящий орк?",DIA_Urshak_HALLO_wer);
};
 
Последнее редактирование:

kor.angar

Участник форума
Регистрация
28 Ноя 2017
Сообщения
294
Благодарности
93
Баллы
200
Wulfgar не учит Наёмников / ОНД
По приказу лорда Андрэ мы тренируем всех, кто в состоянии защищать город.
Впрочем, это не касается наемников. Забудь об этом.
Daedalus:
func void DIA_Wulfgar_CanYouTrain_Info()
{
    AI_Output(other,self,"DIA_Wulfgar_CanYouTrain_15_00");    //Ты можешь обучить меня сражению на мечах?
    AI_Output(self,other,"DIA_Wulfgar_CanYouTrain_04_01");    //По приказу лорда Андрэ мы тренируем всех, кто в состоянии защищать город.
[B]    if((other.guild == GIL_SLD) || (other.guild == GIL_DJG))
    {
        AI_Output(self,other,"DIA_Wulfgar_CanYouTrain_04_02");    //Впрочем, это не касается наемников. Забудь об этом.
    }[/B]
    else
    {
        AI_Output(self,other,"DIA_Wulfgar_CanYouTrain_04_03");    //Но это касается только боевого обучения. Все остальные виды обучения предназначены только для ополчения.
        AI_Output(self,other,"DIA_Wulfgar_CanYouTrain_04_04");    //А ты меч-то можешь удержать?
        AI_Output(other,self,"DIA_Wulfgar_CanYouTrain_15_05");    //Думаю, что да...
        AI_Output(self,other,"DIA_Wulfgar_CanYouTrain_04_06");    //(вздыхает) Хорошо, ты можешь приступать, когда пожелаешь.
        Log_CreateTopic(TOPIC_CityTeacher,LOG_NOTE);
        B_LogEntry(TOPIC_CityTeacher,"Вульфгар, городской гвардеец, может обучить меня искусству обращения с одноручным и двуручным оружием.");
        Wulfgar_Teach1H = TRUE;
    };
};
при этом даёт утренний бонус Наёмнику/ОНД
Ранняя пташка? Я обычно один в это время дня. Но раз уж ты здесь, то можно потренироваться.
Будь внимательным. Ты можешь обмануть некоторых противников, если уклонишься от удара, а затем атакуешь в правильный момент.
Помни об этом в своем следующем бою!
Daedalus:
instance DIA_Wulfgar_Bonus(C_Info)
{
    npc = MIL_312_Wulfgar;
    nr = 2;
    condition = DIA_Wulfgar_Bonus_Condition;
    information = DIA_Wulfgar_Bonus_Info;
    permanent = FALSE;
    important = TRUE;
};


func int DIA_Wulfgar_Bonus_Condition()
{
    if(Npc_IsInState(self,ZS_Talk) && Wld_IsTime(5,2,6,54))
    {
        return TRUE;
    };
};

func void DIA_Wulfgar_Bonus_Info()
{
    AI_Output(self,other,"DIA_Wulfgar_Bonus_04_00");    //Ранняя пташка? Я обычно один в это время дня. Но раз уж ты здесь, то можно потренироваться.
    AI_Output(self,other,"DIA_Wulfgar_Bonus_04_01");    //Будь внимательным. Ты можешь обмануть некоторых противников, если уклонишься от удара, а затем атакуешь в правильный момент.
    AI_Output(self,other,"DIA_Wulfgar_Bonus_04_02");    //Помни об этом в своем следующем бою!
    B_RaiseFightTalent(other,NPC_TALENT_1H,2);
    PrintScreen(PRINT_Learn1H,-1,-1,FONT_Screen,2);
};
 
Последнее редактирование:

Diego1987

★★★★★★★★★★★
Администратор
Регистрация
7 Апр 2008
Сообщения
17.115
Благодарности
7.536
Баллы
1.950
Сверху Снизу