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

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

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.860
Благодарности
6.740
Баллы
1.625
Приветствую, хотелось бы сыграть с этим модом, но мне нужно слегка поменять скрипт гг, поэтому залез в архив с файлами мода. Но при компиляции такая ошибка выскакивает: AI\Orc\B_Orc_AssessWarn.d(90): Ошибка: Неизвестный Идентификатор: B_ORC_REMOVEWEAPON.SLF


Что мне нужно исправить чтобы компилировать нормально?
Вот честно, это мод, зачем его ковырять?
А по вопросу, предоставь в спойлере весь код B_Orc_AssessWarn.d.
И поехали в правильную тему.
 

Frog

Участник форума
Регистрация
7 Авг 2018
Сообщения
9
Благодарности
0
Баллы
150
Вот честно, это мод, зачем его ковырять?
А по вопросу, предоставь в спойлере весь код B_Orc_AssessWarn.d.
И поехали в правильную тему.


Мод заменяет скрипты, а в скриптах мне нужно сменить форму головы у гг, я его кастомизировал, текстурки переделал. Вроде пустяковое дело, но я вчера часов 8 со всем возился, чтобы понять) А в скриптах не силен.

Daedalus:
func void B_Orc_AssessWarn()
{
   if(other.aivar[AIV_PARTYMEMBER])
   {
       if(Npc_IsInState(other,zs_sm_attack))
       {
           if(Npc_GetDistToNpc(self,victim) < 1000)
           {
               if(Npc_GetAttitude(self,victim) == ATT_FRIENDLY)
               {
                   b_start_orc_attack(self,other);
                   return;
               };
           };
       };
   };
   if(C_NpcIsOrc(victim))
   {
       if(Npc_IsInState(victim,ZS_Orc_Attack))
       {
           if((Npc_GetDistToNpc(self,victim) < 1000) && (Npc_GetDistToNpc(self,other) < 3000))
           {
               if(Npc_GetAttitude(self,other) == ATT_HOSTILE)
               {
                   if(C_OtherIsToleratedEnemy(self,other))
                   {
                       if(victim.aivar[AIV_ATTACKREASON] == AR_MURDER)
                       {
                           b_orc_assessandmemorize(NEWS_MURDER,NEWS_SOURCE_WITNESS,self,other,self);
                           self.aivar[AIV_ATTACKREASON] = AR_MURDER;
                           b_start_orc_attack(self,other);
                           return;
                       };
                       b_start_orc_watchfight(self,other,victim);
                   }
                   else
                   {
                       b_start_orc_attack(self,other);
                   };
               };
           };
       }
       else if(Npc_IsInState(victim,zs_orc_upset))
       {
           if((Npc_GetDistToNpc(self,victim) < 1000) && (Npc_GetDistToNpc(self,other) < 1200))
           {
               if(Npc_IsInState(self,ZS_Orc_Guard))
               {
                   Npc_SetTarget(self,other);
                   Npc_ClearAIQueue(self);
                   B_MM_DeSynchronize(self);
                   AI_Standup(self);
                   B_WhirlAround(self,other);
                   b_orc_tolerateenemy(self,other);
               };
               if(Npc_IsInState(self,ZS_Orc_Sleep) || Npc_IsInState(self,zs_orc_sitcampfire))
               {
                   if(C_BodyStateContains(self,BS_MOBINTERACT_INTERRUPT))
                   {
                       return;
                   }
                   else if(C_BodyStateContains(self,BS_SIT))
                   {
                       if(self.aivar[AIV_PASSGATE])
                       {
                           AI_PlayAniBS(self,"T_GUARDSLEEPSLOWWAKEUP",BS_SIT);
                           self.aivar[AIV_PASSGATE] = 0;
                           Npc_PercEnable(self,PERC_ASSESSENEMY,b_orc_assessenemy);
                       };
                       if(Npc_CanSeeNpc(self,other))
                       {
                           AI_LookAtNpc(self,other);
                       };
                       self.aivar[AIV_GUARDPASSAGE_STATUS] += 10;
                   }
                   else
                   {
                       B_Orc_SmartTurn(self,other);
                       AI_Wait(self,1);
                   };
               };
           };
       }
       else
       {
       };
       return;
   };
   B_ORC_REMOVEWEAPON.slf = ;
   AI_StopLookAt(self);
   if(slf.weapon)
   {
       AI_StartState(slf,zs_orc_removeweapon,0,"");
   };
};
 
Последнее редактирование модератором:

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.860
Благодарности
6.740
Баллы
1.625
@Frog, Хм, действительно какой-то бред.
Удали строчку
B_ORC_REMOVEWEAPON.slf = ;

И будет норм. Зачем она там - не понятно.
 

N1kX


Модостроитель
Регистрация
13 Ноя 2009
Сообщения
6.127
Благодарности
5.624
Баллы
910
Есть подозрение, что @Frog декомпилировал скрипты Gothic Mod Fix, поэтому возник такой конфуз. Не проще было у автора в личном сообщений попросить скрипты?
Поищи в каком файле объявляется B_ORC_REMOVEWEAPON, либо просто поищи, есть ли такая переменная. Если такой нету, как ответили выше, можешь удалить.
 

Frog

Участник форума
Регистрация
7 Авг 2018
Сообщения
9
Благодарности
0
Баллы
150
Спасибо, товарищи. *Friendship*

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

Gor

Участник форума
Регистрация
26 Дек 2009
Сообщения
977
Благодарности
547
Баллы
245
Вроде пустяковое дело, но я вчера часов 8 со всем возился, чтобы понять)
Это ошибки декомпиляции. ГС путается в конструкциях иф-элсе, особенно пустых в конце функции, залазит на следующую функцию, в общем делает полный бред. Такое же наблюдалось при декомпиляции В2 и др. Об этом говорили ранее Димел и другие камрады. Поэтому скрипты лучше брать у авторов.
Там должно быть так
Daedalus:
func void B_Orc_AssessWarn()
{
    if(other.aivar[AIV_PARTYMEMBER])
    {
        if(Npc_IsInState(other,zs_sm_attack))
        {
            if(Npc_GetDistToNpc(self,victim) < 1000)
            {
                if(Npc_GetAttitude(self,victim) == ATT_FRIENDLY)
                {
                    b_start_orc_attack(self,other);
                    return;
                };
            };
        };
    };
    if(C_NpcIsOrc(victim))
    {
        if(Npc_IsInState(victim,ZS_Orc_Attack))
        {
            if((Npc_GetDistToNpc(self,victim) < 1000) && (Npc_GetDistToNpc(self,other) < 3000))
            {
                if(Npc_GetAttitude(self,other) == ATT_HOSTILE)
                {
                    if(C_OtherIsToleratedEnemy(self,other))
                    {
                        if(victim.aivar[AIV_ATTACKREASON] == AR_MURDER)
                        {
                            b_orc_assessandmemorize(NEWS_MURDER,NEWS_SOURCE_WITNESS,self,other,self);
                            self.aivar[AIV_ATTACKREASON] = AR_MURDER;
                            b_start_orc_attack(self,other);
                            return;
                        };
                        b_start_orc_watchfight(self,other,victim);
                    }
                    else
                    {
                        b_start_orc_attack(self,other);
                    };
                };
            };
        }
        else if(Npc_IsInState(victim,zs_orc_upset))
        {
            if((Npc_GetDistToNpc(self,victim) < 1000) && (Npc_GetDistToNpc(self,other) < 1200))
            {
                if(Npc_IsInState(self,ZS_Orc_Guard))
                {
                    Npc_SetTarget(self,other);
                    Npc_ClearAIQueue(self);
                    B_MM_DeSynchronize(self);
                    AI_Standup(self);
                    B_WhirlAround(self,other);
                    b_orc_tolerateenemy(self,other);
                };
                if(Npc_IsInState(self,ZS_Orc_Sleep) || Npc_IsInState(self,zs_orc_sitcampfire))
                {
                    if(C_BodyStateContains(self,BS_MOBINTERACT_INTERRUPT))
                    {
                        return;
                    }
                    else if(C_BodyStateContains(self,BS_SIT))
                    {
                        if(self.aivar[AIV_PASSGATE])
                        {
                            AI_PlayAniBS(self,"T_GUARDSLEEPSLOWWAKEUP",BS_SIT);
                            self.aivar[AIV_PASSGATE] = 0;
                            Npc_PercEnable(self,PERC_ASSESSENEMY,b_orc_assessenemy);
                        };
                        if(Npc_CanSeeNpc(self,other))
                        {
                            AI_LookAtNpc(self,other);
                        };
                        self.aivar[AIV_GUARDPASSAGE_STATUS] += 10;
                    }
                    else
                    {
                        B_Orc_SmartTurn(self,other);
                        AI_Wait(self,1);
                    };
                };
            };
        }
        else
        {
        };
    };
};
 

Frog

Участник форума
Регистрация
7 Авг 2018
Сообщения
9
Благодарности
0
Баллы
150
Да я уже заюзал нормальные скрипты, все отлично вышло. Но еще одна проблема появилась. Вот допустим я отредактировал главного героя без брони, поставил ему лысую бошку, текстурки переделал и все отлично смотрится. Но когда я надел броню, модель головы меняется обратно на стандартную, текстура тела меняется на другую. Какие скрипты еще нужно менять чтобы все правильно отображалось?

Upd. Походу это скрипт initplayerbody и нулевая текстурка тела в архиве с текстурами. Вроде теперь все нормально, хех. Надеюсь я больше ничего не упустил.
 
Последнее редактирование:

Vlad_Torop

Участник форума
Регистрация
2 Май 2014
Сообщения
871
Благодарности
500
Баллы
230
Возвращая к своим баранам.
Вопрос касается добавления ГГ новых анимаций при взаимодействии с предметами.
Сразу оговорюсь,что использую не оригинальный humans.mds а из lhavera.То бишь,дополненный.
Соответственно,чтобы добавить анимы,нужно корректировать именно mds-ник из lhavera,что бы скомпилить новый human.msb ?
UPD.Вопрос закрыт.Ученье и труд,и еще такой прибор *telescope*,все перетрут.
 
Последнее редактирование:

Моддер

Участник форума
Регистрация
17 Сен 2018
Сообщения
36
Благодарности
0
Баллы
165
Всем привет. Хочу создать персонажа, потом присвоить ему и диалог.
Скачал Соурсер, делал всё по инструкции. Скачал Г2а от Акеллы и, .src компилировал в одну папку. После, вставил скрипт с персонажем туда, рядом с Ксардасом. Жмакаю компилировать: "Ошибка: SRC файл Gothic.src не найден".
Полазал тут в теме, нашёл только одну такую ситуацию, но не понял полного выхода из неё. Товарищи, помогите.
Файлы то есть, но соурсер их не видит!
upload_2018-9-18_11-31-3.png

upload_2018-9-18_11-31-50.png
 

KirTheSeeker

Участник форума
Регистрация
18 Авг 2017
Сообщения
1.928
Благодарности
557
Баллы
275
Приветствую всех, интересуют следующие вопросы:
- В каком формате модели оружия в Готике 2 НВ?
- Возможно ли банальными копированием и переименованием заменить модель Когтя Белиара, ибо оригинальная меня отталкивает?
Заранее благодарен.
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.815
Баллы
995
1. в скомпилированном формате игры, изначально 3ds, читай уроки по модостроения, есть такой раздел.
2. возможно марвин поможет, читай соответствующую тему в разделах игры.
 

WoOliN

Участник форума
Регистрация
13 Окт 2012
Сообщения
347
Благодарности
196
Баллы
210
Подскажите такой момент - в каких файлах ковыряться и какой параметр трогать, чтобы например:
увеличить скорость атаки у орков (число ударов за единицу времени),
или сделать так, чтобы зомби не отходили назад при получении урона.

Подозреваю, что это где-то в файлах анимации - поделитесь инфой )
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.815
Баллы
995
в скриптах фаи, в хидерах скриптов анимации и в самой анимации, все это надо редактировать и править вместе.. короче тут будет очень сложно для новичков не работавших с анимацией игры..
Примерно так..
 

WoOliN

Участник форума
Регистрация
13 Окт 2012
Сообщения
347
Благодарности
196
Баллы
210
Хорошо.

Тогда, если в скриптах монстра изменить параметр step_height - увеличится ли у него скорость передвижения без дополнительных правок анимации?
Хотя странно, что параметр называется "высотой" шага - или он относится именно к возможности переступать препятствия?
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.815
Баллы
995
параметр step_height - не имеет ни какого отношения к этому..
скорость анимации можно изменить, только перекомпелировав анимацию с соответствующей быстротой движения и частотой кадров, те делать это надо в 3д-редакторе, максе например.. создать нужные оверлеи, как в примере с ускорением из игры.
 

Haart

Участник форума
Регистрация
24 Окт 2011
Сообщения
188
Благодарности
106
Баллы
185
@WoOliN, проще через аст это делать. Можно хоть всей гильдии или конкретному юниту каждую анимацию отдельно регулировать, так как тебе хочется.
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.407
Благодарности
3.232
Баллы
525
в каких файлах ковыряться и какой параметр трогать, чтобы например:
увеличить скорость атаки у орков (число ударов за единицу времени),
Если под скоростью понимается скорость движений, то это уровень анимаций. Как писал Магот, нужно перекомпиливать их с новыми сценариями. Там можно прописать модификатор ускорения. Или можно переделать сами анимки.

Если же подразумеваются задержки между сериями ударов и сам состав серий (больше или меньше ударов), то нужно править скрипты боевой тактики орков в FIGHT.DAT.

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

Quasar767

Участник форума
Регистрация
14 Июн 2017
Сообщения
130
Благодарности
15
Баллы
185
Здравствуйте готоманы,нужна помощь скриптеров,дело в том что,я ищу 3 скрипта,это возможность езды на мракорисе оркам и людям,возможность летать на драконах,с помощью скриптовой магии,и скрипт на шиты,очень нужны эти 3 скрипты
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.815
Баллы
995
Здравствуйте готоманы,нужна помощь скриптеров,дело в том что,я ищу 3 скрипта,это возможность езды на мракорисе оркам и людям,возможность летать на драконах,с помощью скриптовой магии,и скрипт на шиты,очень нужны эти 3 скрипты
скрипты на щиты смотри в файле Системпак мдб(тема СП ссылки на закачку), там и тутор по работе с ними, что до остального, то без анимаций это смысла не имеет.
 
Сверху Снизу