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

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

Не стесняюсь спросить....

Lorddemonik

★★★★★
Редактор раздела
Регистрация
17 Дек 2011
Сообщения
1.113
Благодарности
581
Баллы
350
мм,я не понял.что мне сделать по шагам?

Все очень плохо...
1) Разбираешь файл где хранятся скрипты( сам не знаю в наличии имею только сами скрипты) (Разбираем прогой Gothic VDFS)

2)Декомпилируешь файл Gothic.dat (Прогой GothicSourcer)
3) У тебя слева будет перечень файлов и папок, там открываешь папки Story, B_Story и файл B_AddFightSkill
4) Первые же строчки это про одноручное оружие, заменяешь это
func void B_AddFightSkill(var C_Npc slf,var int talent,var int percent)
{
if(talent == NPC_TALENT_1H)
{
slf.HitChance[NPC_TALENT_1H] = slf.HitChance[NPC_TALENT_1H] + percent;

if(slf.HitChance[NPC_TALENT_1H] >= 90)
{
Npc_SetTalentSkill(slf,NPC_TALENT_1H,3);

if((LowHealth == FALSE) && (Ani_Shield_S == FALSE) && (EquipedIndex_Chief == FALSE))
{
Mdl_ApplyOverlayMds(slf,"humans_1hST3.mds");
};
if(EquipedIndex_Chief == TRUE)
{
Mdl_RemoveOverlayMds(slf,"humans_1hST3.mds");
Mdl_ApplyOverlayMds(slf,"Humans_Pirate.mds");
Ani_ChiefWeapon = TRUE;
};
}
else if(slf.HitChance[NPC_TALENT_1H] >= 60)
{
Npc_SetTalentSkill(slf,NPC_TALENT_1H,2);

if((LowHealth == FALSE) && (Ani_Shield_S == FALSE) && (EquipedIndex_Chief == FALSE))
{
Mdl_ApplyOverlayMds(slf,"humans_1hST2.mds");
};
if(EquipedIndex_Chief == TRUE)
{
Mdl_RemoveOverlayMds(slf,"humans_1hST2.mds");
Mdl_ApplyOverlayMds(slf,"Humans_Pirate.mds");
Ani_ChiefWeapon = TRUE;
};
}
else if(slf.HitChance[NPC_TALENT_1H] >= 30)
{
Npc_SetTalentSkill(slf,NPC_TALENT_1H,1);

if((LowHealth == FALSE) && (Ani_Shield_S == FALSE) && (EquipedIndex_Chief == FALSE))
{
Mdl_ApplyOverlayMds(slf,"humans_1hST1.mds");
};
if(EquipedIndex_Chief == TRUE)
{
Mdl_RemoveOverlayMds(slf,"humans_1hST1.mds");
Mdl_ApplyOverlayMds(slf,"Humans_Pirate.mds");
Ani_ChiefWeapon = TRUE;
};
}
else if(slf.HitChance[NPC_TALENT_1H] >= 0)
{
Npc_SetTalentSkill(slf,NPC_TALENT_1H,0);

if(EquipedIndex_Chief == TRUE)
{
Mdl_ApplyOverlayMds(slf,"Humans_Pirate.mds");
Ani_ChiefWeapon = TRUE;
};
};
};

этим
func void B_AddFightSkill(var C_Npc slf,var int talent,var int percent)
{
if(talent == NPC_TALENT_1H)
{
if(slf.HitChance[NPC_TALENT_1H] >= 60)
{
Npc_SetTalentSkill(slf,NPC_TALENT_1H,2);

if((LowHealth == FALSE) && (Ani_Shield_S == FALSE) && (EquipedIndex_Chief == FALSE))
{
Mdl_ApplyOverlayMds(slf,"humans_1hST2.mds");
};
if(EquipedIndex_Chief == TRUE)
{
Mdl_RemoveOverlayMds(slf,"humans_1hST2.mds");
Mdl_ApplyOverlayMds(slf,"Humans_Pirate.mds");
Ani_ChiefWeapon = TRUE;
};
}
else if(slf.HitChance[NPC_TALENT_1H] >= 30)
{
Npc_SetTalentSkill(slf,NPC_TALENT_1H,1);

if((LowHealth == FALSE) && (Ani_Shield_S == FALSE) && (EquipedIndex_Chief == FALSE))
{
Mdl_ApplyOverlayMds(slf,"humans_1hST1.mds");
};
if(EquipedIndex_Chief == TRUE)
{
Mdl_RemoveOverlayMds(slf,"humans_1hST1.mds");
Mdl_ApplyOverlayMds(slf,"Humans_Pirate.mds");
Ani_ChiefWeapon = TRUE;
};
}
else if(slf.HitChance[NPC_TALENT_1H] >= 0)
{
Npc_SetTalentSkill(slf,NPC_TALENT_1H,0);

if(EquipedIndex_Chief == TRUE)
{
Mdl_ApplyOverlayMds(slf,"Humans_Pirate.mds");
Ani_ChiefWeapon = TRUE;
};
};
};

6)Сохраняешь и жмешь компилировать
7)Кидаешь новые файлы в папку с скриптами
8)Собираешь все обратно

От всего этого не будет смысла если в В2 вставлены "костыли", если они вставлены тебе при попытке декомпилировать выдаст ошибку
А вообще почитай эти темы
https://worldofplayers.ru/threads/37749/
https://worldofplayers.ru/threads/36473/
 

Myxomop

Почетный форумчанин
Регистрация
28 Май 2005
Сообщения
3.239
Благодарности
2.581
Баллы
455
От всего этого не будет смысла если в В2 вставлены "костыли", если они вставлены тебе при попытке декомпилировать выдаст ошибку
Зачем вообще лезть в скрипты, когда можно тупо заменить дополнительную анимацию оригинальной и упаковать это дело в виде VDF патча.
 

Lorddemonik

★★★★★
Редактор раздела
Регистрация
17 Дек 2011
Сообщения
1.113
Благодарности
581
Баллы
350
Зачем вообще лезть в скрипты, когда можно тупо заменить дополнительную анимацию оригинальной и упаковать это дело в виде VDF патча.
Можно рассматривать как один из вариантов, хотя в твоем случае даже проще. Теперь обьясни товарищу что как и куда заменить)
 

Myxomop

Почетный форумчанин
Регистрация
28 Май 2005
Сообщения
3.239
Благодарности
2.581
Баллы
455

Detskaya_zabava

Участник форума
Регистрация
30 Дек 2015
Сообщения
128
Благодарности
7
Баллы
175
Myxomop,то есть вы знаете как и можете сделать просто маленький патч?я был бы оч благодарен.сборка 51.4.я все равно попробую сам,но вдруг че не так.сделаете?
 

Myxomop

Почетный форумчанин
Регистрация
28 Май 2005
Сообщения
3.239
Благодарности
2.581
Баллы
455
Myxomop,то есть вы знаете как и можете сделать просто маленький патч?я был бы оч благодарен.сборка 51.4.я все равно попробую сам,но вдруг че не так.сделаете?
У меня В2 не установлено. Вам доступна подробная инструкция, пробуйте сами.
 

Detskaya_zabava

Участник форума
Регистрация
30 Дек 2015
Сообщения
128
Благодарности
7
Баллы
175
У меня В2 не установлено. Вам доступна подробная инструкция, пробуйте сами.
То есть я распаковываю файл animations,делаю копию 1hst2,обзываю ее 1hst3 (оригинал 1hst3 удаляю)и запаковывав обратно.я правильно понял?
 

Myxomop

Почетный форумчанин
Регистрация
28 Май 2005
Сообщения
3.239
Благодарности
2.581
Баллы
455
То есть я распаковываю файл animations,делаю копию 1hst2,обзываю ее 1hst3 (оригинал 1hst3 удаляю)и запаковывав обратно.я правильно понял?
Оригинал перепаковывать необязательно, достаточно сделать патч с более свежим Time Stamp, который перекроет файлы в оригинале.
 

Detskaya_zabava

Участник форума
Регистрация
30 Дек 2015
Сообщения
128
Благодарности
7
Баллы
175
В инструкции что вы мне дали ничего про это нет
 

Detskaya_zabava

Участник форума
Регистрация
30 Дек 2015
Сообщения
128
Благодарности
7
Баллы
175
Не,что делать как менять я понял.как сохранить мини патчем не понял,сохраняется полностью animation
 

Detskaya_zabava

Участник форума
Регистрация
30 Дек 2015
Сообщения
128
Благодарности
7
Баллы
175
Я так понимаю убрать вот это, хотя я не программист, и могу ошибаться) Но вроде как тут написано, если у нпс владение больше или равно 90, дать скил/талант владение одноручным уровень 3
Я так понимаю что именно это тебе нужно, чтоб при 90 владения и выше талант не давался, а значит и анимация не поменяется, как вариант можешь изменить 90 на 120 например, ты все равно не достигнешь владения 120, а значит условие никогда не будет выполненно


if(slf.HitChance[NPC_TALENT_1H] >= 90)
{
Npc_SetTalentSkill(slf,NPC_TALENT_1H,3);

Блин чет я затупил и не посмотрел что ответ уже дан..

Dellete модеры все это))
Всё равно спасибо,я просто сделал что вторая и третья анимации одно и то же.а вы можете вынести это в мини патч?
 

iFenix

Участник форума
Регистрация
28 Окт 2013
Сообщения
365
Благодарности
56
Баллы
200
Всё равно спасибо,я просто сделал что вторая и третья анимации одно и то же.а вы можете вынести это в мини патч?
Я нет, я не разбирался с тем как компилировать скрипты, и никогда не работал со скриптами готики..

Не,что делать как менять я понял.как сохранить мини патчем не понял,сохраняется полностью animation
Насчет этого тебе просто говорят выставить свежую дату в Gothic VDF , когда будешь собирать свой минимод, если дата будет свежее чем в других VDF, то твой мод просто перекроет собой все другие моды и оригинал
 

Detskaya_zabava

Участник форума
Регистрация
30 Дек 2015
Сообщения
128
Благодарности
7
Баллы
175
Все,разобрался.есть еще пара вопросов до кучи,что Б уж Совсем под себя подогнать.как сместить положения двуруча скажем на другую диагональ?объясню.при надевание двуруча и арбалет происходит как бы наложение текстур,так что сместить было бы этичнее. Предполагаю это как то в 3д делать надо?(ну а дальше распаковал заменил запаковал)
 

iFenix

Участник форума
Регистрация
28 Окт 2013
Сообщения
365
Благодарности
56
Баллы
200
Все,разобрался.есть еще пара вопросов до кучи,что Б уж Совсем под себя подогнать.как сместить положения двуруча скажем на другую диагональ?объясню.при надевание двуруча и арбалет происходит как бы наложение текстур,так что сместить было бы этичнее. Предполагаю это как то в 3д делать надо?(ну а дальше распаковал заменил запаковал)
Скорее всего нужно править сам скелет персонажа, но куда ты его смещать собираешься?
(ну а дальше распаковал заменил запаковал)
А это к чему вопрос? все еще к владению оружием или уже к 3д моделированию?)
 

Detskaya_zabava

Участник форума
Регистрация
30 Дек 2015
Сообщения
128
Благодарности
7
Баллы
175
Он по умолчанию висит с часу до семи по часам,а я хочу с 11 до 5
 

iFenix

Участник форума
Регистрация
28 Окт 2013
Сообщения
365
Благодарности
56
Баллы
200
Он по умолчанию висит с часу до семи по часам,а я хочу с 11 до 5
Даже если ты сместишь меч в другое положение, анимация доставания меча останется прежней, и ты получишь баг, условно говоря меч у тебя с левой стороны, а достает его герой из воздуха с правой.. Другими словами тебе прийдется еще делать новую анимацию доставания оружия, так что можешь начинать спрашивать и об этом, если желание все еще не пропало :D

И ты свой мод в VDF запаковал?

Если сам не разберешься могу помочь через скайп с запаковкой в VDF
......................................................................................................

Подскажите где находятся файлы магии, и как смотреть пути на файлы которые используются в заклинаниях.. Например смотря на руну в скриптах
nstance ItRu_Thunderstorm(C_Item)
{
name = NAME_Rune;
mainflag = ITEM_KAT_RUNE;
flags = 0;
value = Value_Ru_Thunderstorm;
visual = "ItRu_Water05.3DS";
material = MAT_STONE;
spell = SPL_Thunderstorm;
mag_circle = 3;
wear = WEAR_EFFECT;
effect = "SPELLFX_WEAKGLIMMER_BLUE";
description = NAME_SPL_Thunderstorm;
text[0] = NAME_Mag_Circle;
count[0] = mag_circle;
text[1] = NAME_Manakosten;
count[1] = SPL_Cost_Thunderstorm;
text[2] = NAME_Damage;
count[2] = SPL_DAMAGE_Thunderstorm;
text[5] = NAME_Value;
count[5] = value;
};
я вижу что ссылка на само заклинение вот это spell = SPL_Thunderstorm;
Но где находятся остальные файлы, например меши или анимация из которых состоит само заклинание если такие есть, и ссылки на текстуры которые используются в этом заклинани? искать наугад в текстурах как я это раньше делал не удобно, темболие что сейчас ко мне пришло прозрение, и я могу свободно читать скрипы, хочу продвинуться дальше :D
 
Последнее редактирование:

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.860
Благодарности
6.740
Баллы
1.625
Здрасьте, как можно призвать около ГГ персонажа помимо команды Wld_SpawnNpcRange?
Когда призываю какого-либо НПС через это, он просто напросто зависает на месте не реагируя ни на что
С NPC была такая проблема. Нужно ему дать гильдию вызванного монстра, например скелета

guild = gil_summoned_skeleton;
aivar[AIV_MM_REAL_ID] = id_summoned_skeleton;

и прописать у него

aivar[AIV_PARTYMEMBER] = TRUE;
B_SetAttitude(self,ATT_FRIENDLY);
start_aistate = ZS_MM_Rtn_Summoned;
 

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.574
Благодарности
4.168
Баллы
915

Detskaya_zabava

Участник форума
Регистрация
30 Дек 2015
Сообщения
128
Благодарности
7
Баллы
175
Даже если ты сместишь меч в другое положение, анимация доставания меча останется прежней, и ты получишь баг, условно говоря меч у тебя с левой стороны, а достает его герой из воздуха с правой.. Другими словами тебе прийдется еще делать новую анимацию доставания оружия, так что можешь начинать спрашивать и об этом, если желание все еще не пропало :D

И ты свой мод в VDF запаковал?

Если сам не разберешься могу помочь через скайп с запаковкой в VDF
да,я не откажусь от помощи.могу прямо сейчас
 
Сверху Снизу