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

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

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

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.290
Благодарности
4.585
Баллы
625
mamontoff, там спроси. Насчёт первого не уверен, второй пусть ликер скомпилирует для первой.
 

N1kX


Модостроитель
Регистрация
13 Ноя 2009
Сообщения
5.866
Благодарности
5.303
Баллы
910
Делая в очередной раз upslace текстур обнаружил вот это
Пасхалка? Секретные записи?
Текстура mowobeds01
1605533278752.png
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.290
Благодарности
4.585
Баллы
625
А это в альфаканале? В него часто всякая ерунда лезет, например если текстура экспортировалась на основе изменённой предыдущей картинки
 

N1kX


Модостроитель
Регистрация
13 Ноя 2009
Сообщения
5.866
Благодарности
5.303
Баллы
910
А это в альфаканале? В него часто всякая ерунда лезет, например если текстура экспортировалась на основе изменённой предыдущей картинки
Текстура без альфы. В игре этого нет, но посланий таких можно оставить кучу. Разве не знаешь, что шифровать в картинке можно что угодно?
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.290
Благодарности
4.585
Баллы
625
Да ну не, не шифр. Там тупо последовательно 1234567890 повторяются
 

N1kX


Модостроитель
Регистрация
13 Ноя 2009
Сообщения
5.866
Благодарности
5.303
Баллы
910
Мало ли, я ещё только половину сделал из всех текстур. Есть занятные, есть совсем уж странные, есть и такие.
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.371
Благодарности
7.803
Баллы
995

N1kX


Модостроитель
Регистрация
13 Ноя 2009
Сообщения
5.866
Благодарности
5.303
Баллы
910
Ну я веду параллельно файлик с неиспользуемыми текстурами и объектами (Приходится, чтобы легче искать текстуру для сравнения) и там есть норм текстуры.
Предназначение? Хз, меня не интересуют альфы, беты и прочие версии.
 

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.229
Благодарности
6.208
Баллы
1.565
Народ, есть у кого-нить чистый gothic.dat от акеллы? Г2НВ
Мне не нужны декомпилированные, или исправленные от ошибок.
Нужен именно тот, который шел на дисках...
 
Последнее редактирование:

D36


Модостроитель
Регистрация
3 Дек 2014
Сообщения
2.128
Благодарности
3.220
Баллы
485
Народ, есть у кого-нить чистый gothic.dat от акеллы? Г2РВ
Мне не нужны декомпилированные, или исправленные от ошибок.
Нужен именно тот, который шел на дисках...
 

Вложения

  • GOTHIC.zip
    1,5 MB · Просмотры: 5

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.229
Благодарности
6.208
Баллы
1.565
а ou.bin еще моно? ))*blush*
 

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.229
Благодарности
6.208
Баллы
1.565
N1kX, Пасиб. Но нужен именно от НВ...
 

UghZan3

Участник форума
Регистрация
12 Апр 2019
Сообщения
78
Благодарности
1
Баллы
155
Добрый день.

Делаю свой простенький мод на охоту: вору Драксу добавил такой код:
C++:
instance Org_819_Drax_CreaturesBIG(C_Info)
{
    npc = ORG_819_Drax;
    nr = 4;
    condition = Org_819_Drax_Creatures_ConditionBIG;
    information = Org_819_Drax_Creatures_InfoBIG;
    permanent = 1;
    description = "Можешь ли ты рассказать мне еще больше об охоте ?";
};

func int Org_819_Drax_Creatures_ConditionBIG()
{
    if((Knows_GetTeeth == TRUE) || (Knows_GetFur == TRUE) || (Knows_GetClaws == TRUE) || (Knows_GetHide == TRUE))
//    if((Knows_GetBFSting == TRUE) && (Knows_GetBFSting == FALSE))
    {
        return 1;
    };
};

func void Org_819_Drax_Creatures_InfoBIG()
{
    AI_Output(other,self,"Org_819_Drax_Creatures_15_00");    //Можешь ли ты рассказать мне еще больше об охоте?
    if((Knows_GetTeeth == TRUE) || (Knows_GetFur == TRUE) || (Knows_GetClaws == TRUE) || (Knows_GetHide == TRUE))
//    if((Knows_GetBFSting == TRUE) && (Knows_GetBFSting == FALSE))
    {
        AI_Output(self,hero,"Info_FreemineOrc_GIVEPOTION_17_06");    //Незнакомец нужно КРОТАК, ХАЗ-ТАК, ДВАХКАРР и ОРФ-АНТАК.
        Info_ClearChoices(Org_819_Drax_CreaturesBIG);
        Info_AddChoice(Org_819_Drax_CreaturesBIG,DIALOG_BACK,Org_819_Drax_Creatures_BACKBIG);
        Info_AddChoice(Org_819_Drax_CreaturesBIG,"Твои советы стоят недешево.",Org_819_Drax_Creatures_PrettyMuch);
        if(Knows_GetFIREWARAN == FALSE)
        {
            Info_AddChoice(Org_819_Drax_CreaturesBIG,"Добывать клыки (2 ед. обучения, 500 кусков руды)",Org_819_Drax_Creatures_FIREWARAN);
        };
        if(Knows_GetSHADOWBEAST == FALSE)
        {
            Info_AddChoice(Org_819_Drax_CreaturesBIG,"Добывать мех (2 ед. обучения, 500 кусков руды)",Org_819_Drax_Creatures_SHADOWBEAST);
        };
        if(Knows_GetSWAMPSHARK == FALSE)
        {
            Info_AddChoice(Org_819_Drax_CreaturesBIG,"Добывать когти (2 ед. обучения, 500 кусков руды)",Org_819_Drax_Creatures_SWAMPSHARK);
        };
        if(Knows_GetTROLL == FALSE)
        {
            Info_AddChoice(Org_819_Drax_CreaturesBIG,"Добывать кожу (2 ед. обучения, 500 кусков руды)",Org_819_Drax_Creatures_TROLL);
        };
    }
    else
    {
        AI_Output(self,other,"Org_819_Drax_Creatures_TaughtAll_06_00");    //Ну вот, я рассказал все, что знал.
    };
};

func void Org_819_Drax_Creatures_BACKBIG()
{
    Info_ClearChoices(Org_819_Drax_CreaturesBIG);
};


func void Org_819_Drax_Creatures_FIREWARAN()
{
    AI_Output(hero,self,"Info_FreemineOrc_FIREWARAN_15_01");    //Что такое КРОТАК?
    if(Npc_HasItems(other,ItMiNugget) >= 500)
    {
        if(other.lp >= 2)
        {
            other.lp = other.lp - 2;
            B_GiveInvItems(other,self,ItMiNugget,500);
            PrintScreen("Изучить: Язык огня",-1,-1,"FONT_OLD_20_WHITE.TGA",2);
            AI_Output(self,hero,"Info_FreemineOrc_FIREWARAN_17_02");    //Быть язык огня! Быть язык ящерица огня!
            Knows_GetFIREWARAN = TRUE;
            Log_CreateTopic(GE_AnimalTrophies,LOG_NOTE);
            B_LogEntry(GE_AnimalTrophies,"Знание о вырезании языка огненной ящерицы.");
        }
        else
        {
            AI_Output(self,other,"Org_819_Drax_Creatures_KEINE_LP_06_00");    //Тебе нужно набраться опыта, иначе мой совет окажется бесполезным для тебя.
            PrintScreen("Недостаточно очков обучения!",-1,-1,"FONT_OLD_20_WHITE.TGA",2);
        };
    }
    else
    {
        AI_Output(self,other,"Org_819_Drax_Creatures_KEIN_ERZ_06_00");    //Прежде покажи руду. Как я уже говорил, все здесь имеет свою цену.
    };
};

func void Org_819_Drax_Creatures_SHADOWBEAST()
{
    AI_Output(hero,self,"Info_FreemineOrc_SHADOWBEAST_Info_15_01");    //Что означает ХАЗ-ТАК?
    if(Npc_HasItems(other,ItMiNugget) >= 500)
    {
        if(other.lp >= 2)
        {
            other.lp = other.lp - 2;
            B_GiveInvItems(other,self,ItMiNugget,500);
            PrintScreen("Изучить: Рог мракориса",-1,-1,"FONT_OLD_20_WHITE.TGA",2);
            AI_Output(self,hero,"Info_FreemineOrc_SHADOWBEAST_Info_17_02");    //Быть рог мракориса. Острый рог, как нож, твердый, как камень.
            Knows_GetSHADOWBEAST = TRUE;
            Log_CreateTopic(GE_AnimalTrophies,LOG_NOTE);
            B_LogEntry(GE_AnimalTrophies,"Знание о том, как достать рог мракориса.");
        }
        else
        {
            AI_Output(self,other,"Org_819_Drax_Creatures_KEINE_LP_06_01");    //У тебя не хватит опыта, чтобы воспользоваться моим советом.
            PrintScreen("Недостаточно очков обучения!",-1,-1,"FONT_OLD_20_WHITE.TGA",2);
        };
    }
    else
    {
        AI_Output(self,other,"Org_819_Drax_Creatures_KEIN_ERZ_06_01");    //Прежде покажи руду. Как я уже говорил, все здесь имеет свою цену.
    };
};

func void Org_819_Drax_Creatures_SWAMPSHARK()
{
    AI_Output(hero,self,"Info_FreemineOrc_SWAMPSHARK_15_01");    //ДВАХКАРР? А это что?
    if(Npc_HasItems(other,ItMiNugget) >= 500)
    {
        if(other.lp >= 2)
        {
            other.lp = other.lp - 2;
            B_GiveInvItems(other,self,ItMiNugget,500);
            PrintScreen("Изучить: Зуб болотожора",-1,-1,"FONT_OLD_20_WHITE.TGA",2);
            AI_Output(self,hero,"Info_FreemineOrc_SWAMPSHARK_17_02");    //Быть зуб болотожора. Когда этот зуб кусать, жертва никогда не убегать.
            Knows_GetSWAMPSHARK = TRUE;
            Log_CreateTopic(GE_AnimalTrophies,LOG_NOTE);
            B_LogEntry(GE_AnimalTrophies,"Знание о том, как вырезать зубы болотожоров.");
        }
        else
        {
            AI_Output(self,other,"Org_819_Drax_Creatures_KEINE_LP_06_02");    //Сперва наберись опыта, иначе мой совет тебе не пригодится.
            PrintScreen("Недостаточно очков обучения!",-1,-1,"FONT_OLD_20_WHITE.TGA",2);
        };
    }
    else
    {
        AI_Output(self,other,"Org_819_Drax_Creatures_KEIN_ERZ_06_02");    //Прежде покажи руду. Как я уже говорил, все здесь имеет свою цену.
    };
};

func void Org_819_Drax_Creatures_TROLL()
{
    AI_Output(hero,self,"Info_FreemineOrc_TROLL_15_01");    //Что такое ОРФ-АНТАК?
    if(Npc_HasItems(other,ItMiNugget) >= 500)
    {
        if(other.lp >= 2)
        {
            other.lp = other.lp - 2;
            B_GiveInvItems(other,self,ItMiNugget,500);
            PrintScreen("Изучить: Клык тролля",-1,-1,"FONT_OLD_20_WHITE.TGA",2);
            AI_Output(self,hero,"Info_FreemineOrc_TROLL_17_02");    //Быть зуб большой тролль! Делать большой дырка в добыча!
            Knows_GetTROLL = TRUE;
            Log_CreateTopic(GE_AnimalTrophies,LOG_NOTE);
            B_LogEntry(GE_AnimalTrophies,"Знание о добыче клыков тролля.");
        }
        else
        {
            AI_Output(self,other,"Org_819_Drax_Creatures_KEINE_LP_06_03");    //Сперва наберись опыта, иначе мой совет тебе не пригодится.
            PrintScreen("Недостаточно очков обучения!",-1,-1,"FONT_OLD_20_WHITE.TGA",2);
        };
    }
    else
    {
        AI_Output(self,other,"Org_819_Drax_Creatures_KEIN_ERZ_06_03");    //Прежде покажи руду. Как я уже говорил, все здесь имеет свою цену.
    };
};

В StoryGlobals.d переменные добавил:
C++:
var int Knows_GetFIREWARAN;
var int Knows_GetSHADOWBEAST;
var int Knows_GetSWAMPSHARK;
var int Knows_GetTROLL;

Но всё равно, после обучения простой охоте (клыки/шкуры/когти/кожа) дальнейшего варианта не появляется.
Игру начинаю заново.
Оформляю в виде отдельного мода.
 

N1kX


Модостроитель
Регистрация
13 Ноя 2009
Сообщения
5.866
Благодарности
5.303
Баллы
910
Добрый день.

Но всё равно, после обучения простой охоте (клыки/шкуры/когти/кожа) дальнейшего варианта не появляется.
Игру начинаю заново.
Оформляю в виде отдельного мода.

Ошибка в условии диалога обучения
Daedalus:
func int Org_819_Drax_Creatures_ConditionBIG()
{
    if((Knows_GetTeeth == TRUE) || (Knows_GetFur == TRUE) || (Knows_GetClaws == TRUE) || (Knows_GetHide == TRUE))
//    if((Knows_GetBFSting == TRUE) && (Knows_GetBFSting == FALSE))
    {
        return 1;
    };
};
Daedalus:
func int Org_819_Drax_Creatures_ConditionBIG()
{
    if ((Knows_GetTeeth == TRUE) 
&& (Knows_GetFur == TRUE) 
&& (Knows_GetClaws == TRUE) 
&& (Knows_GetHide == TRUE))
&& 
((Knows_Firewaran == FALSE)
|| (Knows_Shadowbeast == FALSE)
|| (Knows_Swampshark == FALSE)
|| (Knows_Troll == FALSE))
(
    {
        return 1; //разрешить диалог
    };
};
 
Последнее редактирование:

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.229
Благодарности
6.208
Баллы
1.565
UghZan3,
Daedalus:
instance Org_819_Drax_CreaturesBIG(C_Info)
{
    npc = ORG_819_Drax;
    nr = 4;
    condition = Org_819_Drax_Creatures_ConditionBIG;
    information = Org_819_Drax_Creatures_InfoBIG;
    permanent = 1;
    description = "Можешь ли ты рассказать мне еще больше об охоте ?";
};

func int Org_819_Drax_Creatures_ConditionBIG()
{
    if((Knows_GetTeeth == FALSE) || (Knows_GetFur == FALSE) || (Knows_GetClaws == FALSE) || (Knows_GetHide == FALSE))
//    if((Knows_GetBFSting == TRUE) && (Knows_GetBFSting == FALSE))
    {
        return 1;
    };
};

func void Org_819_if_Knows_Ge()
{
    Info_ClearChoices(Org_819_Drax_CreaturesBIG);
    Info_AddChoice(Org_819_Drax_CreaturesBIG,DIALOG_BACK,Org_819_Drax_Creatures_BACKBIG);
    Info_AddChoice(Org_819_Drax_CreaturesBIG,"Твои советы стоят недешево.",Org_819_Drax_Creatures_PrettyMuch);
    if(Knows_GetFIREWARAN == FALSE)
    {
        Info_AddChoice(Org_819_Drax_CreaturesBIG,"Добывать клыки (2 ед. обучения, 500 кусков руды)",Org_819_Drax_Creatures_FIREWARAN);
    };
    if(Knows_GetSHADOWBEAST == FALSE)
    {
        Info_AddChoice(Org_819_Drax_CreaturesBIG,"Добывать мех (2 ед. обучения, 500 кусков руды)",Org_819_Drax_Creatures_SHADOWBEAST);
    };
    if(Knows_GetSWAMPSHARK == FALSE)
    {
        Info_AddChoice(Org_819_Drax_CreaturesBIG,"Добывать когти (2 ед. обучения, 500 кусков руды)",Org_819_Drax_Creatures_SWAMPSHARK);
    };
    if(Knows_GetTROLL == FALSE)
    {
        Info_AddChoice(Org_819_Drax_CreaturesBIG,"Добывать кожу (2 ед. обучения, 500 кусков руды)",Org_819_Drax_Creatures_TROLL);
    };
}
func void Org_819_Drax_Creatures_InfoBIG()
{
    AI_Output(other,self,"Org_819_Drax_Creatures_15_00");    //Можешь ли ты рассказать мне еще больше об охоте?
    if((Knows_GetTeeth == FALSE) || (Knows_GetFur == FALSE) || (Knows_GetClaws == FALSE) || (Knows_GetHide == FALSE))
//    if((Knows_GetBFSting == TRUE) && (Knows_GetBFSting == FALSE))
    {
        AI_Output(self,hero,"Info_FreemineOrc_GIVEPOTION_17_06");    //Незнакомец нужно КРОТАК, ХАЗ-ТАК, ДВАХКАРР и ОРФ-АНТАК.
        Org_819_if_Knows_Ge();
    }
    else
    {
        AI_Output(self,other,"Org_819_Drax_Creatures_TaughtAll_06_00");    //Ну вот, я рассказал все, что знал.
    };
};

func void Org_819_Drax_Creatures_BACKBIG()
{
    Info_ClearChoices(Org_819_Drax_CreaturesBIG);
};


func void Org_819_Drax_Creatures_FIREWARAN()
{
    AI_Output(hero,self,"Info_FreemineOrc_FIREWARAN_15_01");    //Что такое КРОТАК?
    if(Npc_HasItems(other,ItMiNugget) >= 500)
    {
        if(other.lp >= 2)
        {
            other.lp = other.lp - 2;
            B_GiveInvItems(other,self,ItMiNugget,500);
            PrintScreen("Изучить: Язык огня",-1,-1,"FONT_OLD_20_WHITE.TGA",2);
            AI_Output(self,hero,"Info_FreemineOrc_FIREWARAN_17_02");    //Быть язык огня! Быть язык ящерица огня!
            Knows_GetFIREWARAN = TRUE;
            Log_CreateTopic(GE_AnimalTrophies,LOG_NOTE);
            B_LogEntry(GE_AnimalTrophies,"Знание о вырезании языка огненной ящерицы.");
        }
        else
        {
            AI_Output(self,other,"Org_819_Drax_Creatures_KEINE_LP_06_00");    //Тебе нужно набраться опыта, иначе мой совет окажется бесполезным для тебя.
            PrintScreen("Недостаточно очков обучения!",-1,-1,"FONT_OLD_20_WHITE.TGA",2);
        };
    }
    else
    {
        AI_Output(self,other,"Org_819_Drax_Creatures_KEIN_ERZ_06_00");    //Прежде покажи руду. Как я уже говорил, все здесь имеет свою цену.
    };
    Org_819_if_Knows_Ge();
};

func void Org_819_Drax_Creatures_SHADOWBEAST()
{
    AI_Output(hero,self,"Info_FreemineOrc_SHADOWBEAST_Info_15_01");    //Что означает ХАЗ-ТАК?
    if(Npc_HasItems(other,ItMiNugget) >= 500)
    {
        if(other.lp >= 2)
        {
            other.lp = other.lp - 2;
            B_GiveInvItems(other,self,ItMiNugget,500);
            PrintScreen("Изучить: Рог мракориса",-1,-1,"FONT_OLD_20_WHITE.TGA",2);
            AI_Output(self,hero,"Info_FreemineOrc_SHADOWBEAST_Info_17_02");    //Быть рог мракориса. Острый рог, как нож, твердый, как камень.
            Knows_GetSHADOWBEAST = TRUE;
            Log_CreateTopic(GE_AnimalTrophies,LOG_NOTE);
            B_LogEntry(GE_AnimalTrophies,"Знание о том, как достать рог мракориса.");
        }
        else
        {
            AI_Output(self,other,"Org_819_Drax_Creatures_KEINE_LP_06_01");    //У тебя не хватит опыта, чтобы воспользоваться моим советом.
            PrintScreen("Недостаточно очков обучения!",-1,-1,"FONT_OLD_20_WHITE.TGA",2);
        };
    }
    else
    {
        AI_Output(self,other,"Org_819_Drax_Creatures_KEIN_ERZ_06_01");    //Прежде покажи руду. Как я уже говорил, все здесь имеет свою цену.
    };
    Org_819_if_Knows_Ge();
};

func void Org_819_Drax_Creatures_SWAMPSHARK()
{
    AI_Output(hero,self,"Info_FreemineOrc_SWAMPSHARK_15_01");    //ДВАХКАРР? А это что?
    if(Npc_HasItems(other,ItMiNugget) >= 500)
    {
        if(other.lp >= 2)
        {
            other.lp = other.lp - 2;
            B_GiveInvItems(other,self,ItMiNugget,500);
            PrintScreen("Изучить: Зуб болотожора",-1,-1,"FONT_OLD_20_WHITE.TGA",2);
            AI_Output(self,hero,"Info_FreemineOrc_SWAMPSHARK_17_02");    //Быть зуб болотожора. Когда этот зуб кусать, жертва никогда не убегать.
            Knows_GetSWAMPSHARK = TRUE;
            Log_CreateTopic(GE_AnimalTrophies,LOG_NOTE);
            B_LogEntry(GE_AnimalTrophies,"Знание о том, как вырезать зубы болотожоров.");
        }
        else
        {
            AI_Output(self,other,"Org_819_Drax_Creatures_KEINE_LP_06_02");    //Сперва наберись опыта, иначе мой совет тебе не пригодится.
            PrintScreen("Недостаточно очков обучения!",-1,-1,"FONT_OLD_20_WHITE.TGA",2);
        };
    }
    else
    {
        AI_Output(self,other,"Org_819_Drax_Creatures_KEIN_ERZ_06_02");    //Прежде покажи руду. Как я уже говорил, все здесь имеет свою цену.
    };
    Org_819_if_Knows_Ge();
};

func void Org_819_Drax_Creatures_TROLL()
{
    AI_Output(hero,self,"Info_FreemineOrc_TROLL_15_01");    //Что такое ОРФ-АНТАК?
    if(Npc_HasItems(other,ItMiNugget) >= 500)
    {
        if(other.lp >= 2)
        {
            other.lp = other.lp - 2;
            B_GiveInvItems(other,self,ItMiNugget,500);
            PrintScreen("Изучить: Клык тролля",-1,-1,"FONT_OLD_20_WHITE.TGA",2);
            AI_Output(self,hero,"Info_FreemineOrc_TROLL_17_02");    //Быть зуб большой тролль! Делать большой дырка в добыча!
            Knows_GetTROLL = TRUE;
            Log_CreateTopic(GE_AnimalTrophies,LOG_NOTE);
            B_LogEntry(GE_AnimalTrophies,"Знание о добыче клыков тролля.");
        }
        else
        {
            AI_Output(self,other,"Org_819_Drax_Creatures_KEINE_LP_06_03");    //Сперва наберись опыта, иначе мой совет тебе не пригодится.
            PrintScreen("Недостаточно очков обучения!",-1,-1,"FONT_OLD_20_WHITE.TGA",2);
        };
    }
    else
    {
        AI_Output(self,other,"Org_819_Drax_Creatures_KEIN_ERZ_06_03");    //Прежде покажи руду. Как я уже говорил, все здесь имеет свою цену.
    };
    Org_819_if_Knows_Ge();
};
 

UghZan3

Участник форума
Регистрация
12 Апр 2019
Сообщения
78
Благодарности
1
Баллы
155
Daedalus:
if ((Knows_GetTeeth == TRUE) && (Knows_GetFur == TRUE) && (Knows_GetClaws == TRUE) && (Knows_GetHide == TRUE))

Нет, я хотел, чтобы мое "доп" обучение было доступно только после изучения всей обычной охоты.
 

UghZan3

Участник форума
Регистрация
12 Апр 2019
Сообщения
78
Благодарности
1
Баллы
155
Я отредактировал сообщение, обнови страницу.

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