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

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

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

Готика 1: Сиквел Gothic 1 addon (mod version)

MW 7


Модостроитель
Регистрация
26 Мар 2004
Сообщения
1.927
Благодарности
926
Баллы
275
Данный "мод" позволяет запустить Сиквел(аддон к Gothic 1) из папки с Готика 2 НВ или Голд.

Тестировал: MEG@VOLT, kor.angar
Благодарности: Gratt (за то что юнион, лишает нас костылей), Slavemaster (патч для папки сейв), D36 (консультации), MEG@VOLT (толковые советы), MW 7 (потраченное время).

Скачать:
Установка: распаковать архив !_G1_addon_installer.zip в папку с Готикой 2 НВ. Так же Вы можете дополнительно скачать тома с видео G1_addon_video и общими репликами RU_G1_addon_speech, в таком случае их надо будет поместить в папку \data\G1_addon\vdf.

Запуск: запустите файл Gothic1_addon от имени администратора.

ЧаВо:
-где лежат сейвы???
-сейвы лежат в папке с ресурсами готика 1 классик data\G1_addon\saves_g1_addon
-я хочу что бы они были в корне игры!!!
-
вы можете самостоятельно поменять пути, для этого откройте файл System\Gothic1_addon.bat в блокноте и отредактируйте
-где файл ини??
-файл ини лежит в папке с ресурсами готика 2 классик data\G1_addon\
-у меня не работают плагины!!
-в файле ини надо перечислить тома в строчке UnIgnoreList
 

Вложения

  • RU_G1_addon_AutoScaleMenu.zip
    19,3 KB · Просмотры: 22
  • 2024_01_21_RU_G1_addon_SCRIPTS.zip
    647 KB · Просмотры: 19
  • 2024_01_25_RU_G1_addon_SCRIPTS.zip
    729,6 KB · Просмотры: 16
  • 2024_01_28_RU_G1_addon_SCRIPTS.zip
    726,8 KB · Просмотры: 15
  • 2024_02_04_RU_G1_addon_SCRIPTS.zip
    721,8 KB · Просмотры: 15
Последнее редактирование:

MW 7


Модостроитель
Регистрация
26 Мар 2004
Сообщения
1.927
Благодарности
926
Баллы
275
Ковка. После стучание по наковальни сейчас появляется надпись: "1 Лезвие топора выковано"

мне кажется тут цифра один лишняя, так как герой всегда изготавливает одно лезвие.

Может быть просто: "Лезвие топора выковано" или "Выковано: Лезвие топора"?
 

MW 7


Модостроитель
Регистрация
26 Мар 2004
Сообщения
1.927
Благодарности
926
Баллы
275
MEG@VOLT предлагаю подумать насчёт svm для сиквела. я сделал табличку и отметил какие фразы совпадают. А те которых нет надо или перевести или найти аналог в Готики 2 или Готики 1
G1G1 addon
var string StopMagic;var string StopMagic;
var string ISaidStopMagic;var string ISaidStopMagic;
var string WeaponDown;var string WeaponDown;
var string ISaidWeaponDown;var string ISaidWeaponDown;
var string WatchYourAim;var string WatchYourAim;
var string WatchYourAimAngry;var string WatchYourAimAngry;
var string WhatAreYouDoing;var string WhatAreYouDoing;
var string LetsForgetOurLittleFight;var string LetsForgetOurLittleFight;
var string Strange;
var string DieMonster;var string DieMonster;
var string DieMOrtalEnemy;var string DieMOrtalEnemy;
var string NowWait;var string NowWait;
var string YouStillNotHaveEnough;var string YouStillNotHaveEnough;
var string YouAskedForIt;var string YouAskedForIt;
var string NowWaitIntruder;var string NowWaitIntruder;
var string IWillTeachYouRespectForForeignProperty;
var string DirtyThief;var string DirtyThief;
var string YouAttackedMyCharge;var string YouAttackedMyCharge;
var string YouKilledOneOfUs;var string YouKilledOneOfUs;
var string Dead;var string Dead;
var string Aargh_1;var string Aargh_1;
var string Aargh_2;var string Aargh_2;
var string Aargh_3;var string Aargh_3;
var string Berzerk;var string Berzerk;
var string YoullBeSorryForThis;var string YoullBeSorryForThis;
var string YesYes;var string YesYes;
var string ShitWhatAMonster;var string ShitWhatAMonster;
var string Help;var string Help;
var string WeWillMeetAgain;
var string NeverTryThatAgain;var string NeverTryThatAgain;
var string ITakeYourWeapon;
var string ITookYourOre;var string ITookYourOre;
var string ShitNoOre;var string ShitNoOre;
var string HandsOff;var string HandsOff;
var string GetOutOfHere;var string GetOutOfHere;
var string whyareyousneaking;
var string getoutoricallguards;
var string YouViolatedForbiddenTerritory;
var string YouWannaFoolMe;
var string WhatsThisSupposedToBe;
var string WhyAreYouInHere;
var string WhatDidYouInThere;var string WhatDidYouInThere;
var string WiseMove;var string WiseMove;
var string Alarm;
var string callguards;
var string IntruderAlert;var string IntruderAlert;
var string BehindYou;var string BehindYou;
var string TheresAFight;var string TheresAFight;
var string HeyHeyHey;var string HeyHeyHey;
var string CheerFight;var string CheerFight;
var string CheerFriend;var string CheerFriend;
var string Ooh;var string Ooh;
var string YeahWellDone;
var string RunCoward;var string RunCoward;
var string HeDefeatedHim;var string HeDefeatedHim;
var string HeDeservedIt;
var string HeKilledHim;var string HeKilledHim;
var string ItWasAGoodFight;
var string Awake;var string Awake;
var string FriendlyGreetings;var string FriendlyGreetings;
var string ALGreetings;var string ALGreetings;
var string MageGreetings;var string MageGreetings;
var string SectGreetings;var string SectGreetings;
var string ThereHeIs;
var string NoLearnNoPoints;var string NoLearnNoPoints;
var string NoLearnOverMax;var string NoLearnOverMax;
var string NoLearnYouAlreadyKnow;var string NoLearnYouAlreadyKnow;
var string NoLearnYoureBetter;var string NoLearnYoureBetter;
var string HeyYou;var string HeyYou;
var string NotNow;var string NotNow;
var string WhatDoYouWant;var string WhatDoYouWant;
var string ISaidWhatDoYouWant;var string ISaidWhatDoYouWant;
var string MakeWay;var string MakeWay;
var string OutOfMyWay;var string OutOfMyWay;
var string YouDeafOrWhat;var string YouDeafOrWhat;
var string LookingForTroubleAgain;var string LookingForTroubleAgain;
var string LookAway;
var string OkayKeepIt;
var string WhatsThat;var string WhatsThat;
var string ThatsMyWeapon;var string ThatsMyWeapon;
var string GiveItToMe;
var string YouCanKeeptheCrap;
var string TheyKilledMyFriend;
var string YouDisturbedMySlumber;
var string SuckerGotSome;
var string SuckerDefeatedEBr;
var string SuckerDefeatedGur;
var string SuckerDefeatedMage;
var string SuckerDefeatedNOV_Guard;
var string SuckerDefeatedVLK_Guard;
var string youattackedme;
var string YouDisturbedMySlumber;
var string YouDefeatedMyComrade;
var string YouDefeatedNOV_Guard;
var string YouDefeatedVLK_Guard;
var string YouStoleFromMe;var string YouStoleFromMe;
var string YouStoleFromUs;
var string YouStoleFromEBr;
var string YouStoleFromGur;
var string StoleFromMage;
var string YouKilledMyFriend;var string YouKilledMyFriend;
var string YouKilledEBr;
var string YouKilledGur;
var string YouKilledMage;
var string YouKilledOCfolk;
var string YouKilledNCfolk;
var string YouKilledPSIfolk;
var string GetThingsRight;
var string YouDefeatedMeWell;var string YouDefeatedMeWell;
var string Smalltalk01;var string Smalltalk01;
var string Smalltalk02;var string Smalltalk02;
var string Smalltalk03;var string Smalltalk03;
var string Smalltalk04;var string Smalltalk04;
var string Smalltalk05;var string Smalltalk05;
var string Smalltalk06;var string Smalltalk06;
var string Smalltalk07;var string Smalltalk07;
var string Smalltalk08;var string Smalltalk08;
var string Smalltalk09;var string Smalltalk09;
var string Smalltalk10;var string Smalltalk10;
var string Smalltalk11;var string Smalltalk11;
var string Smalltalk12;var string Smalltalk12;
var string Smalltalk13;var string Smalltalk13;
var string Smalltalk14;var string Smalltalk14;
var string Smalltalk15;var string Smalltalk15;
var string Smalltalk16;var string Smalltalk16;
var string Smalltalk17;var string Smalltalk17;
var string Smalltalk18;var string Smalltalk18;
var string Smalltalk19;var string Smalltalk19;
var string Smalltalk20;var string Smalltalk20;
var string Smalltalk21;var string Smalltalk21;
var string Smalltalk22;var string Smalltalk22;
var string Smalltalk23;var string Smalltalk23;
var string Smalltalk24;var string Smalltalk24;
var string Om;var string Om;
var string SC_HeyTurnAround;
var string SC_HeyWaitASecond;
var string DoesntWork;
var string PickBroke;
var string NeedKey;
var string NoMorePicks;
var string InvFull;
var string GoodBook;
var string AlchemyBook;
var string NothingNew_1;
var string NothingNew_2;
var string NothingNew_3;
var string No;
var string Impossible;
var string DoesntWork2;
var string Good;
var string PickBroke2;
var string notenoughsilver;
var string youdisturbedarenafight;
var string youmurderedinarena;
var string nomagicinarena;
var string nobowinarena;
var string pointforme;
var string pointforyou;
var string buh;
var string waterpipevision1;
var string waterpipevision2;
var string waterpipevision3;
var string waterpipevision4;
var string waterpipevision5;
var string possessed1;
var string possessed2;
диалог с НПС которого бил(или побили?) герой

Daedalus:
instance ATTACKER_ANGRY(C_Info)
{
    nr = 10;
    condition = attacker_angry_condition;
    information = attacker_angry_info;
    permanent = TRUE;
    important = TRUE;
};


func int attacker_angry_condition()
{
    PrintDebugNpc(PD_ZS_Check,"Attacker_ANGRY_Condition");
    if((self.aivar[AIV_BEENATTACKED] > AIV_NODEED)
    && (Npc_GetPermAttitude(self,other) == ATT_ANGRY)
    && c_npcisinvincible(hero))
    {
        PrintDebugNpc(PD_ZS_Check,"Attacker_Angry_Condition ...TRUE");
        return TRUE;
    };
    return FALSE;
};

func void attacker_angry_info()
{
    var string string_buildchoice;
    Info_ClearChoices(attacker_angry);
    B_Say(self,other,"$YOUATTACKEDME");
    string_buildchoice = ConcatStrings("Я сожалею! (предложить ",b_silveramounttosatisfy_string());
    string_buildchoice = ConcatStrings(string_buildchoice," сребреников)");
    Info_AddChoice(attacker_angry,string_buildchoice,attacker_angry_lieb);
    Info_AddChoice(attacker_angry,"(игнорировать)",attacker_angry_hauab);
};
 

MW 7


Модостроитель
Регистрация
26 Мар 2004
Сообщения
1.927
Благодарности
926
Баллы
275
ElderGamer а есть аналог в Готики?

Код:
...

    if(amb_self.aivar[AIV_PLAYERHASMYWEAPON] == TRUE)
    {
        B_AssignMyWeaponInfos(amb_self);
    };   

..

instance MYWEAPON(C_Info)
{
    nr = 1;
    condition = myweapon_condition;
    information = myweapon_info;
    permanent = TRUE;
    important = TRUE;
};


func int myweapon_condition()
{
    var int int_day;
    var int int_hour;
    var int int_compare;
    PrintDebugNpc(PD_ZS_Check,"MyWeapon_Condition");
    int_day = b_getday() * 25;
    int_hour = b_gethour();
    int_compare = int_day + int_hour;
    if((int_compare >= self.aivar[41]) && self.aivar[42])
    {
        PrintDebugNpc(PD_ZS_Check,"MyWeapon_Condition ...TRUE");
        return TRUE;
    }
    else
    {
        return FALSE;
    };
};

func void myweapon_info()
{
    var int int_day;
    var int int_hour;
    PrintDebugNpc(PD_ZS_Check,"MyWeapon_Info");
    int_day = b_getday() * 25;
    int_hour = b_gethour();
    self.aivar[41] = int_day + int_hour + 2;
    Info_ClearChoices(myweapon);
    b_pointandshout(self,other,"$THATSMYWEAPON");
    Info_AddChoice(myweapon,"Это вышло случайно, вот твое оружие.",myweapon_lieb);
    Info_AddChoice(myweapon,"Забери, если сможешь.",myweapon_hauab);
};



func void myweapon_lieb()
{
    var C_Item melee;
    var C_Item ranged;
    var int int_melee;
    var int int_ranged;
    PrintDebugNpc(PD_ZS_Check,"MyWeapon_Lieb");
    melee = Npc_GetEquippedMeleeWeapon(other);
    ranged = Npc_GetEquippedRangedWeapon(other);
    int_melee = Hlp_GetInstanceID(melee);
    int_ranged = Hlp_GetInstanceID(ranged);
    AI_Output(hero,self,"MyWeapon_Info_15_01");    //Это вышло случайно, вот твое оружие.
    B_Say(self,hero,"$WISEMOVE");
    if(B_CompareNpcInstance(self,min_306_grim))
    {
        B_GiveInvItems(other,self,itmw_grim_pickaxe,1);
    };
    if(B_CompareNpcInstance(self,wrk_216_goliath))
    {
        B_GiveInvItems(other,self,itmw_goliath_sledgehammer,1);
    };
    if(B_CompareNpcInstance(self,dmh_1302_malgar))
    {
        B_GiveInvItems(other,self,itmw_malgar_broadsword,1);
    };
    if(B_CompareNpcInstance(self,amz_900_thora))
    {
        B_GiveInvItems(other,self,itmw_thora_battlestaff,1);
    };
    if(B_CompareNpcInstance(self,mil_121_brutus))
    {
        B_GiveInvItems(other,self,itmw_brutus_longsword,1);
    };
    if(Npc_OwnedByNpc(melee,self))
    {
        B_GiveInvItems(other,self,int_melee,1);
    };
    if(Npc_OwnedByNpc(ranged,self))
    {
        B_GiveInvItems(other,self,int_ranged,1);
    };
    self.aivar[42] = FALSE;
    AI_StopProcessInfos(self);
};

func void myweapon_hauab()
{
    AI_Output(hero,self,"MyWeapon_Info_15_02");    //Забери, если сможешь.
    B_Say(self,hero,"$YOUASKEDFORIT");
    AI_StopProcessInfos(self);
    b_attackquick(self,other);
};

func void b_getbackpersonalweapon(var C_Npc slf)
{
    PrintDebugNpc(PD_ZS_Check,"AssignMyWeaponInfos");
    myweapon.npc = Hlp_GetInstanceID(slf);
};

func void B_AssignMyWeaponInfos(var C_Npc slf)
{
    b_getbackpersonalweapon(slf);
};
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.337
Благодарности
3.182
Баллы
525
Аналога нет. Посмотрел кусок кода, который ты привёл. На совсем понял, как он работает по задумке авторов. Такое впечатление, что работать он не будет.
 

MW 7


Модостроитель
Регистрация
26 Мар 2004
Сообщения
1.927
Благодарности
926
Баллы
275
гора правок: zs_***, диалоги, крафт в кузнеце, варка сура, мастер арены, предметы.
 

Вложения

  • 2024_01_22_GAME.zip
    498,2 KB · Просмотры: 11

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.181
Благодарности
6.162
Баллы
1.565
MW 7, ты решил сикверл допилить до нормального состояния? ))
 

MW 7


Модостроитель
Регистрация
26 Мар 2004
Сообщения
1.927
Благодарности
926
Баллы
275
@MW 7, ты решил сикверл допилить до нормального состояния? ))
не уверен что это возможно :) Но на выходе два часа полноценной игры будет :)

p.s.
перенёс ZS_Smalltalk из проекта ElderGamer . оригинальный файл был совсем сырой и неписи болтали перебивая друг друга без умолку.
 
Последнее редактирование:

MW 7


Модостроитель
Регистрация
26 Мар 2004
Сообщения
1.927
Благодарности
926
Баллы
275
хотел сделать какие то понятные "выходы" из диалога моб объекта

точильный каменьКОНЕЦ(нет заготовок)-
наковальняКОНЕЦ(нет заготовок)-
ведроКОНЕЦ(нет заготовок)
рунная печьКОНЕЦ(закончилась руда)
рунная печьКОНЕЦ(закончилась мана)

есть предложения что и где написать? :)
1706169191825.jpeg
1706169187180.jpeg



и при крафте рун наверное надо сделать более лаконичную надпись
1706183018232.jpeg




p.s.
переписал местами крафт полностью. файлик на память.

p.s.s.
а в целом мне сиквел нравится. конечно баланс требует правок, но так живенько и интересно вначале :) и воровство работает и магия и боёвка. вначале во что вложился тем и развлекаешься.


upd
добавил в первый пост свежий датник:
  • крафт рун
  • крафт оружия
  • крафт еды
  • арена(третья редакция), уже можно пройти, но бывает что то где то тупит
  • мелкие правки диалогов, условий
  • прототипы для некоторых вещей
  • zs_ для людей
***
в планах на этой недели доделать крафт всего, что бы к этой теме больше не возвращаться. и доделать мастера арены, что бы не тупил.

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

jp4003

Участник форума
Регистрация
9 Дек 2022
Сообщения
8
Благодарности
0
Баллы
20
It makes no sense, after placing the files in the game folder nothing works properly - it won't even boot. Please explain in more detail how to use this correctly.

Бессмысленно, после помещения файлов в папку с игрой ничего не работает должным образом - она даже не загружается. Пожалуйста, объясните подробнее, как правильно это использовать.
 

MW 7


Модостроитель
Регистрация
26 Мар 2004
Сообщения
1.927
Благодарности
926
Баллы
275
jp4003, вы скачиваете содержимое архива и копируете его в папку с игрой Готика 2 НВ.

1706464351462.png
1706464828112.png


запуск игры происходит через файл Gothic1_addon в папке System от имени администратора.
 
Последнее редактирование:

jp4003

Участник форума
Регистрация
9 Дек 2022
Сообщения
8
Благодарности
0
Баллы
20
jp4003, вы скачиваете содержимое архива и копируете его в папку с игрой Готика 2 НВ.



запуск игры происходит через файл Gothic1_addon в папке System от имени администратора.
Я распаковываю !_G1_addon_installer, затем помещаю папки data и System в корневую папку Gothic 2. Папка System содержит файл .bat, а папка data содержит файлы .dll и .exe, так и должно быть? Я делаю все, как вы говорите, но это все равно не работает - я вижу ошибку в CMD
 

MW 7


Модостроитель
Регистрация
26 Мар 2004
Сообщения
1.927
Благодарности
926
Баллы
275
jp4003, ошибки связаны с пробелами в путях. к сожалению я не учёл того что игра у многих пользователях находится в путях с пробелами. возможно позже я смогу это исправить.
 

jp4003

Участник форума
Регистрация
9 Дек 2022
Сообщения
8
Благодарности
0
Баллы
20

Вложения

  • Zrzut ekranu 2024-01-28 190732.png
    Zrzut ekranu 2024-01-28 190732.png
    4 KB · Просмотры: 14
  • Zrzut ekranu 2024-01-28 190737.png
    Zrzut ekranu 2024-01-28 190737.png
    3,7 KB · Просмотры: 11
  • Zrzut ekranu 2024-01-28 190747.png
    Zrzut ekranu 2024-01-28 190747.png
    10,5 KB · Просмотры: 10
  • Zrzut ekranu 2024-01-28 190752.png
    Zrzut ekranu 2024-01-28 190752.png
    4,9 KB · Просмотры: 14

MW 7


Модостроитель
Регистрация
26 Мар 2004
Сообщения
1.927
Благодарности
926
Баллы
275
Обновил(см. первый пост) скомпилированные скрипты для русской версии:
  • мелкие правки MISSIONS;
  • правки мобси при крафте;
  • ну и конечно же арена и Мастер Арены.

таким образом получается что бОльшая часть времени уходит на одно и тоже: доведения крафта до ума и Мастера Арены.

***

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