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

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

    Ссылка на конкурсную тему - тык
    Ссылка на тему с работами участников- тык
Иконка ресурса

Готика 1: Сиквел Русификация Сиквела (слив).. 5.0

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.371
Благодарности
7.803
Баллы
995
  • Первое сообщение
  • #1
Обсуждение по материалам попавшим в сеть по игре вести в рамках правил форума.
Любые ссылки на материалы Сиквела здесь выкладывать запрещено! За публикацию ссылок будет вечный бан.
 

STARK

Участник форума
Регистрация
20 Янв 2011
Сообщения
549
Благодарности
142
Баллы
220
Заинтересовало, нашел оригинальный сиквел, начал проходить, столкнулся с проблемой. Как я понял, здесь арена играет важную роль в прохождении, еще в самом начале игры. Проблема в том, что я так и не смог вызвать кого-либо на арену. Даже выйдя на диалог мастера - "пойди позови кого-то", я не могу позвать никого (думаю, задумка в том, чтоб начать с Грима, и по наростающей).
Диалоги, чтоб позвать, просто не появляются. Может, кто-то сталкивался с этой проблемой, и знает решение? Если что, использовал русификатор от Дварфа.
 

Zack Fair

Участник форума
Регистрация
27 Ноя 2009
Сообщения
34
Благодарности
9
Баллы
160
Заинтересовало, нашел оригинальный сиквел, начал проходить, столкнулся с проблемой. Как я понял, здесь арена играет важную роль в прохождении, еще в самом начале игры. Проблема в том, что я так и не смог вызвать кого-либо на арену. Даже выйдя на диалог мастера - "пойди позови кого-то", я не могу позвать никого (думаю, задумка в том, чтоб начать с Грима, и по наростающей).
Диалоги, чтоб позвать, просто не появляются. Может, кто-то сталкивался с этой проблемой, и знает решение? Если что, использовал русификатор от Дварфа.
Первое что нужно сделать , это посмотреть вечером как другие сражаются , только досмотри до конца иначе решетку арены не сможешь открыть , потом у мастера появится диалог о том что ты типа все понял о том как проходят бои все такое , и утром можешь вызывать на бой.
 

STARK

Участник форума
Регистрация
20 Янв 2011
Сообщения
549
Благодарности
142
Баллы
220
Первое что нужно сделать , это посмотреть вечером как другие сражаются , только досмотри до конца иначе решетку арены не сможешь открыть , потом у мастера появится диалог о том что ты типа все понял о том как проходят бои все такое , и утром можешь вызывать на бой.
Спасибо, попробую, сразу терпения не хватило, досмотрел до счета 5:0 :)
Перепроверил, этот диалог он мне еще перед началом боев говорит, а в конце не говорит ничего. А дело было в том, чтоб дождаться следующие сутки, диалог вызова на арену появился у Грима.

Странно, но главный файл в русификаторе от Дварфа датируется 2011 годом :) Наводит на мысли.
Возможно, горстка избранных (из этих мест) имела доступ к сиквелу гораздо раньше.
 
Последнее редактирование модератором:

Ney

Забанен
Регистрация
2 Ноя 2015
Сообщения
501
Благодарности
171
Баллы
220
Странно, но главный файл в русификаторе от Дварфа датируется 2011 годом :) Наводит на мысли.
Возможно, горстка избранных (из этих мест) имела доступ к сиквелу гораздо раньше.
Ну это уже всем известно, русик для сиквела делался очень давно;) когда о сиквеле знали только избранные, Дварф один из них.
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.371
Благодарности
7.803
Баллы
995
Горстка избранных имела Сиквел с 2003 года..
И не дублируй посты, здесь это запрещено..
 

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.562
Благодарности
4.154
Баллы
915
Ещё несколько багов:
1. Можно всыпать в котёл Хальвора зловонную соль даже если её нет в инвентаре ГГ:
Код:
instance MOB_CAULDRON_SPOIL(C_Info)
{
    npc = PC_Hero;
    nr = 1;
    condition = mob_cauldron_canspoil;
    information = mob_cauldron_spoil_info;
    important = 0;
    permanent = 0;
    description = "(Всыпать зловонную соль)";
};


func void mob_cauldron_spoil_info()
{
    PrintScreen("Зловонная соль добавлена!",-1,_YPOS_MESSAGE_PRODUCE,FONT_OLD_SMALL,_TIME_MESSAGE_PRODUCE);
    Npc_RemoveInvItem(hero,itmi_stinkingsalt);
    HALVOR_STEWSALTED = TRUE;
    b_snaf_salted();
    ai_createiteminslot(self,"ZS_RIGHTHAND",4701);
    ai_createiteminslot(self,"ZS_LEFTHAND",4976);
    AI_PlayAni(self,"T_CAULDRON_DROP_1");
    ai_removeitemfromslot(self,"ZS_LEFTHAND");
    AI_PlayAni(self,"T_CAULDRON_DROP_2");
    AI_PlayAni(self,"T_CAULDRON_MIX_1");
    ai_removeitemfromslot(self,"ZS_RIGHTHAND");
    mob_cauldron_autoexit();
};
Разумеется, что тут должна быть проверка на её наличие.
2. Набор может послать ГГ к Джесперу даже если ГГ не пожертвовал 3 нищим по 5 кусков серебра. В этом случае у Джеспера не будет новых диалогов.
Возможный вариант исправления этой ошибки:
- добавить в глобальные переменные:
Код:
var int Nabor_FindJesper;
- слегка изменить скрипт диалогов с Набором:
Код:
instance BEG_702_NABOR_BUYINFO(C_Info)
{
    npc = beg_702_nabor;
    nr = 1;
    condition = beg_702_nabor_buyinfo_condition;
    information = beg_702_nabor_buyinfo_info;
    important = FALSE;
//    permanent = FALSE;
    permanent = TRUE;
    description = "Хорошо, вот серебро.";
};


func int beg_702_nabor_buyinfo_condition()
{
//    if(((Npc_HasItems(hero,itmi_silver) >= 20) && NABOR_20) || ((Npc_HasItems(hero,itmi_silver) >= 10) && NABOR_10))
    if((((Npc_HasItems(hero,itmi_silver) >= 20) && NABOR_20) || ((Npc_HasItems(hero,itmi_silver) >= 10) && NABOR_10)) && !Nabor_FindJesper)
    {
        return TRUE;
    };
};

func int beg_702_nabor_buyinfo_info()
{
    if(NABOR_20)
    {
        AI_Output(hero,self,"BEG_702_BUYINFO_15_01");    //Хорошо, вот 20 кусков серебра.
        B_GiveInvItems(hero,self,itmi_silver,20);
    };
    if(NABOR_10)
    {
        AI_Output(hero,self,"BEG_702_BUYINFO_15_02");    //Хорошо, вот 10 кусков серебра.
        B_GiveInvItems(hero,self,itmi_silver,10);
    };
    AI_Output(self,hero,"BEG_702_BUYINFO_00_03");    //Хорошо, вот информация. Слушай внимательно: многие считают нас просто нищими. И это хорошо.
    AI_Output(self,hero,"BEG_702_BUYINFO_00_04");    //Однако, мы - глаза и уши этого лагеря. Все, что здесь происходит, любое закрученное событие...
    AI_Output(self,hero,"BEG_702_BUYINFO_00_05");    //Мы это знаем.
    if(BEGGARS_SECRETS >= 3)
    {
        AI_Output(self,hero,"BEG_702_BUYINFO_00_06");    //И мы храним свои познания. А ты - парень, который может извлечь из этого пользу.
        AI_Output(hero,self,"BEG_702_BUYINFO_15_07");    //Что ты имеешь в виду?
        AI_Output(self,hero,"BEG_702_BUYINFO_00_08");    //Ты трижды великодушно обошелся с нищими. Теперь найди Йеспера. Он расскажет тебе действительно интересные вещи.
        AI_Output(hero,self,"BEG_702_BUYINFO_15_09");    //Почему ты рассказал все это мне?
        AI_Output(self,hero,"BEG_702_BUYINFO_00_10");    //Потому что ты - правильный. А также потому, что мы свою пользу тоже извлекаем из того, что информируем тебя. За скромное вознаграждение...
        Nabor_FindJesper = TRUE;
    };
};
Хотя тут надо как-то избежать возможности бесконечно отдавать серебро этому персонажу.
Эта возможность также есть в диалогах с нищими и Джеспером.
3. Не убран переход в бывшую шахту Старого Лагеря, в результате чего ГГ попадает в пустоту.
4. Не переведены заголовки в дневнике Нефариуса (ITWR_NEFARIUS_DIARY):
107. Tag
109. Tag
130. Tag
и в книге рецептов маны (ITWR_BOOK_MANAPOTIONS):
Mana-Tränke
5. У ржавого меча, малого топора, дубины с гвоздями и булавы дублируется надпись "Тип: Одноручное оружие".
Для исправления ошибки надо закомментировать или удалить дубли этой надписи:
Код:
instance ITMW_RUSTYSWORD(C_Item)
{
    name = "Ржавый меч";
    mainflag = ITEM_KAT_NF;
    flags = ITEM_SWD;
    material = MAT_METAL;
    value = VALUE_RUSTYSWORD;
    damageTotal = DAMAGE_RUSTYSWORD;
    damagetype = DAM_EDGE;
    range = 100;
    cond_atr[0] = ATR_STRENGTH;
    cond_value[0] = STR_RUSTYSWORD;
    visual = "ItMw_1H_Sword_Old_01.3DS";
    description = name;
    text[0] = NAME_TYPEONEHANDED;
    text[2] = NAME_Damage;
    count[2] = damageTotal;
    text[3] = NAME_Str_needed;
    count[3] = cond_value[0];
//    text[4] = NAME_TYPEONEHANDED;
    text[5] = NAME_Value;
    count[5] = value;
};

instance ITMW_NAILMACE(C_Item)
{
    name = "Дубина с гвоздями";
    mainflag = ITEM_KAT_NF;
    flags = ITEM_AXE;
    material = MAT_WOOD;
    value = VALUE_NAILMACE;
    damageTotal = DAMAGE_NAILMACE;
    damagetype = DAM_BLUNT;
    range = 100;
    cond_atr[0] = ATR_STRENGTH;
    cond_value[0] = STR_NAILMACE;
    visual = "ItMw_1H_Nailmace_01.3DS";
    description = name;
    text[0] = NAME_TYPEONEHANDED;
    text[2] = NAME_Damage;
    count[2] = damageTotal;
    text[3] = NAME_Str_needed;
    count[3] = cond_value[0];
//    text[4] = NAME_TYPEONEHANDED;
    text[5] = NAME_Value;
    count[5] = value;
};

instance ITMW_WITHEREDAXE(C_Item)
{
    name = "Малый топор";
    mainflag = ITEM_KAT_NF;
    flags = ITEM_AXE;
    material = MAT_WOOD;
    value = VALUE_WITHEREDAXE;
    damageTotal = DAMAGE_WITHEREDAXE;
    damagetype = DAM_EDGE;
    range = 100;
    cond_atr[0] = ATR_STRENGTH;
    cond_value[0] = STR_WITHEREDAXE;
    visual = "ItMw_1H_Axe_Old_01.3DS";
    description = name;
    text[0] = NAME_TYPEONEHANDED;
    text[2] = NAME_Damage;
    count[2] = damageTotal;
    text[3] = NAME_Str_needed;
    count[3] = cond_value[0];
//    text[4] = NAME_TYPEONEHANDED;
    text[5] = NAME_Value;
    count[5] = value;
};

instance ITMW_NOTCHEDMACE(C_Item)
{
    name = "Булава";
    mainflag = ITEM_KAT_NF;
    flags = ITEM_AXE;
    material = MAT_WOOD;
    value = VALUE_NOTCHEDMACE;
    damageTotal = DAMAGE_NOTCHEDMACE;
    damagetype = DAM_BLUNT;
    range = 100;
    cond_atr[0] = ATR_STRENGTH;
    cond_value[0] = STR_NOTCHEDMACE;
    visual = "ItMw_1H_Mace_01.3DS";
    description = name;
    text[0] = NAME_TYPEONEHANDED;
    text[2] = NAME_Damage;
    count[2] = damageTotal;
    text[3] = NAME_Str_needed;
    count[3] = cond_value[0];
//    text[4] = NAME_TYPEONEHANDED;
    text[5] = NAME_Value;
    count[5] = value;
};

P.S.: В какое время начинаются бои на арене?
 
Последнее редактирование:

STARK

Участник форума
Регистрация
20 Янв 2011
Сообщения
549
Благодарности
142
Баллы
220
Не могу найти ключ для Гериона в здании баронов, вроде все облазил. Баг или я не нашел просто?

Upd: Нашел:) Появляется в сундуке в комнате баронов, но только после того, как тебе квест дают. До этого сундук пуст:)

Upd: Из багов, есть еще бесконечный фарм по +300 опыта на повторяющемся диалоге с Хульдричем, после того, как ему навалять.
Я его даже исправил в скриптах, но сорсер не компилит. Напомните, как заставить игру перекомпилить скрипты? Вроде там ключ какой-то выставляется, и без модкита даже можно?

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

IdeaGen

Участник форума
Регистрация
28 Апр 2017
Сообщения
2.207
Благодарности
580
Баллы
295
P.S.: В какое время начинаются бои на арене?
в 6 вечера подготовка, в 8 бой, но тебя, если что подождут, опаздывать можно, но я не знаю, можно ли опаздать больше, чем на час - не рисковал.
Не могу найти ключ для Гериона в здании баронов, вроде все облазил. Баг или я не нашел просто?
проще некуда, он за спиной у стражника, внимательней читайте диалоги.
Из багов, есть еще бесконечный фарм по +300 опыта на повторяющемся диалоге с Хульдричем, после того, как ему навалять.
это пофиксили в новом русике, поставь новый русик.
 

STARK

Участник форума
Регистрация
20 Янв 2011
Сообщения
549
Благодарности
142
Баллы
220
Последнее редактирование:

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.337
Благодарности
3.182
Баллы
525
3. Не убран переход в бывшую шахту Старого Лагеря, в результате чего ГГ попадает в пустоту.
Возможность вносить правки в файл игрового мира, вероятно, пока недоступна. :oops:

Баги.
1. Болванчик Риан (NON_1401_RYAN) имеет гильдию GIL_None и тип npctype_ambient. К нему не приклеиваются амбиентные диалоги, и при попытке заговорить получаем "ENDE". Можно поменять гильдию, например, на GIL_WORKER.

2. При обращении к сидящему у южных ворот нищему (BEG_703_BEGGAR) происходит зависание в состоянии диалога. Вероятная причина - он сидит на грунте и не может выполнить функцию подхода к ГГ. Нужно ввести в инстанциях диалогов вызов функции B_StandUp перед вызовом функции AI_GotoNpc.

3. При обращении к неписям, использующим предметы в состоянии ZS_StandAround происходит зависание непися. Предполагаемая причина - непись не может завершить взаимодействие с предметом. Для исправления можно попробовать
- изменить функцию проигрывания анимации в нескольких функциях (B_EatSmall, B_EatHuge, B_ThrowApple, B_DrinkBottle, B_WipeMouth, B_LookBottle, B_DrawJoint, B_EatMeat, b_eatmeatbugsoup). Например,
AI_PlayAni(self,"T_FOOD_RANDOM_1");
заменить на
AI_PlayAniBS(self,"T_FOOD_RANDOM_1",BS_ITEMINTERACT);

- Изменить функцию избавления от предмета по такому образцу:
Код:
func void B_ClearItem(var C_Npc slf)
{
    PrintDebugNpc(PD_TA_DETAIL,"B_ClearItem");
    if(slf.aivar[AIV_ITEMSTATUS] == TA_IT_APPLE)
    {
        AI_PlayAni(slf,"T_FOOD_S0_2_STAND");
    }
    else if((slf.aivar[AIV_ITEMSTATUS] == TA_IT_LOAF) || (slf.aivar[AIV_ITEMSTATUS] == TA_IT_CHEESE))
    {
        AI_PlayAni(slf,"T_FOODHUGE_S0_2_STAND");
    }
    else if((slf.aivar[AIV_ITEMSTATUS] == TA_IT_SOUP) || (slf.aivar[AIV_ITEMSTATUS] == TA_IT_RICE))
    {
        AI_PlayAni(slf,"T_RICE_S0_2_STAND");
    }
    else if(slf.aivar[AIV_ITEMSTATUS] == TA_IT_MEAT)
    {
        AI_PlayAni(slf,"T_MEAT_S0_2_STAND");
    }
    else if(slf.aivar[AIV_ITEMSTATUS] == TA_IT_JOINT)
    {
        AI_PlayAni(slf,"T_JOINT_S0_2_STAND");
    }
    else if((slf.aivar[AIV_ITEMSTATUS] == TA_IT_BEER) || (slf.aivar[AIV_ITEMSTATUS] == TA_IT_BOOZE) || (slf.aivar[AIV_ITEMSTATUS] == TA_IT_WINE))
    {
        AI_PlayAni(slf,"T_POTION_S0_2_STAND");
    };
    slf.aivar[AIV_ITEMSTATUS] = TA_IT_NONE;
    AI_StandupQuick(slf);
};
 

IdeaGen

Участник форума
Регистрация
28 Апр 2017
Сообщения
2.207
Благодарности
580
Баллы
295
Возможность вносить правки в файл игрового мира, вероятно, пока недоступна.
но думаю возможно сделать так, чтобы в место локи входа в шахту рузилась лока выхода из нее ))), то бишь колония, должна быть
 

Ney

Забанен
Регистрация
2 Ноя 2015
Сообщения
501
Благодарности
171
Баллы
220
но думаю возможно сделать так, чтобы в место локи входа в шахту рузилась лока выхода из нее ))), то бишь колония, должна быть
Или просто триггер перемещения удалить;)
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.371
Благодарности
7.803
Баллы
995
Прикрутил тему русификатора к "Ресурсам" и загрузил все на портал.

odin68, Чуть позже выдам тебе права на обновление/редактирование ресурсов. Если что будет не понятно в части работы портала, пиши в ЛС.
 

IdeaGen

Участник форума
Регистрация
28 Апр 2017
Сообщения
2.207
Благодарности
580
Баллы
295
Или просто триггер перемещения удалить;)
Возможность вносить правки в файл игрового мира, вероятно, пока недоступна. :oops:
но думаю возможно сделать так, чтобы в место локи входа в шахту грузилась лока выхода из нее ))), то бишь колония, должна быть
и круг замкнулся )))
да и не думаю, что оставлять открытый вход без перехода разумно, ведь там дыра, луди могут в нее угодить, конечно марвином можно будет выбраться, хотя нет, нельзя, там уже почти край мира, а палет ориентирован как раз в ту сторону, то есть если и взлетишь, некуда будет приземлиться. хотя можно будет отбежать назад с запасом, но это все уже такой гемор, что мой вариант - трость, в сравнении с таким костылем.
 

Ney

Забанен
Регистрация
2 Ноя 2015
Сообщения
501
Благодарности
171
Баллы
220
и круг замкнулся )))
да и не думаю, что оставлять открытый вход без перехода разумно, ведь там дыра, луди могут в нее угодить, конечно марвином можно будет выбраться, хотя нет, нельзя, там уже почти край мира, а палет ориентирован как раз в ту сторону, то есть если и взлетишь, некуда будет приземлиться. хотя можно будет отбежать назад с запасом, но это все уже такой гемор, что мой вариант - трость, в сравнении с таким костылем.
Забей.. пусть этим мододелы занимаются*right* тем более о чем мы говорим? пусть правовая ситуация решиться, потом может Магот выложит более доработанную версию сиквела. ту о которой говорил Фантом95
 

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.562
Благодарности
4.154
Баллы
915
Несколько непоняток:
1. У нищего Хосе (Jose, но в русике он почему-то назван Джос) не появляется диалог, в котором он рассказывает об увлечении Бромора, хотя должны выполняться все условия:
Код:
instance BEG_701_JOSE_NEWS(C_Info)
{
    npc = beg_701_jose;
    nr = 13;
    condition = beg_701_jose_news_condition;
    information = beg_701_jose_news_info;
    important = FALSE;
    permanent = FALSE;
    description = "Ну, есть что-нибудь интересное?";
};


func int beg_701_jose_news_condition()
{
    if(Npc_KnowsInfo(hero,beg_701_jose_hi) && (BEGGARS_SECRETS >= 3))
    {
        return TRUE;
    };
};

func void beg_701_jose_news_info()
{
    AI_Output(hero,self,"BEG_701_NEWS_15_01");    //Ну, есть что-нибудь интересное?
    AI_Output(self,hero,"BEG_701_NEWS_02_02");    //Всегда есть что-нибудь интересное. Тут много безумцев всяких...
    AI_Output(hero,self,"BEG_701_NEWS_15_03");    //Кого ты имеешь в виду?
    AI_Output(self,hero,"BEG_701_NEWS_02_04");    //К примеру, Бромор. Архитектор, но собирает трофеи с животных.
    AI_Output(self,hero,"BEG_701_NEWS_02_05");    //И есть такие, что не доверяют даже самим себе. Каждый сходит с ума по-своему!
    AI_Output(self,hero,"BEG_701_NEWS_02_06");    //А я стою в центре всего этого и примечаю все. Это лучше, чем бодаться на арене.
};
Т.е. отработал первый диалог с этим персонажем и ГГ пожертвовал 3 нищим по 5 кусков серебра.
2. Не получается украсть кольцо у Уильферна: если он сидит один у костра, то агрится на попытку карманной кражи, а спящего невозможно обокрасть потому, что поблизости всегда стоит один из ополченцев, кровать которого занята другим персонажем.
1. Болванчик Риан (NON_1401_RYAN) имеет гильдию GIL_None и тип npctype_ambient. К нему не приклеиваются амбиентные диалоги, и при попытке заговорить получаем "ENDE". Можно поменять гильдию, например, на GIL_WORKER.
Лично я сомневаюсь, что Райан относится к рабочим (GIL_WORKER) или шахтёрам (GIL_MINER). Т.к. он всё время сидит на торговой площади, то больше похож на бездельника (GIL_THIEF).
 
Последнее редактирование:

Окрута

Участник форума
Регистрация
25 Окт 2012
Сообщения
353
Благодарности
224
Баллы
210
2. При обращении к сидящему у южных ворот нищему (BEG_703_BEGGAR) происходит зависание в состоянии диалога
Это только, если с определённого угла к нему обратиться (стоя у ворот), если подойти к нему близко с другой стороны, то можно спокойно поговорить.
Я смотрю до Иеспера добрались, так что мне заново проходить или раз меня к нему послали, уже по-любому ответит? По пять серебра раздал нищим добровольно, после того, как при их собственном обращении всех троих послал куда подальше, а уже после этого купил информацию у чувака в старой хижине Диего.
 
Сверху Снизу