Новости Gothic 1 Remake - Demo (Nyras Prologue)
  • 1.938
  • 2
Ну что, заключённые, готовы к встрече с колонией? Мир, где каждый встречный мечтает вас зарезать за кусок хлеба, а единственный закон - сила. Вас ждёт совершенно новый пролог к легендарной...
Новости Большое интервью с HotA Crew - часть 2
  • 2.015
  • 0
HotA Crew о Кронверке и будущих обновлениях (часть 2) Какие герои будут вести армии Кронверка? Герои-воины зовутся Вожди, маги — Старейшины. Их параметры и способности подчеркнут сильные стороны...
Новости Большое интервью с HotA Crew - часть 1
  • 1.688
  • 0
HotA Crew о Кронверке и будущих обновлениях Важно: весь контент по Кронверку и системе событий находится в разработке, и может ещё поменяться. Итак, следующим городом будет Кронверк. Почему...
Новости В Heroes of Might and Magic 3 теперь можно поиграть в веб-браузере
  • 2.520
  • 7
Совсем недавно энтузиасты из России смогли портировать игру HoMM3 в браузер. Причем веб-версия позволяет пройти все сюжетные компании и даже поиграть по сети. Чтобы сыграть в классику необходимо...

Создание нового таланта

Defman

Новичок
Участник форума
Регистрация
29 Май 2013
Сообщения
5
Реакции
0
Баллы
8
Лучшие ответы
0
#1
Как создать новый талант такого же типа как взлом (т.е. ему можно обучится и все),или как создать абсолютно новый перк (как сила,прокачиваемая) и реализуемо это вообще,просто в моде "Возвращение" был новый талант,вот и я хочу тоже такой сделать.
 

Yelawolf

Живая легенда
Модостроитель
Почётный пользователь
Участник форума
Регистрация
29 Янв 2012
Сообщения
6.785
Реакции
2.193
Баллы
661
Лучшие ответы
2
#2
Декомпилируй датник Возвращения, и через поиск посмотри как реализовано. Тебе нужен Gothic.Dat и Menu.Dat.
 
Автор
Автор
Defman

Defman

Новичок
Участник форума
Регистрация
29 Май 2013
Сообщения
5
Реакции
0
Баллы
8
Лучшие ответы
0
#3
Про Gothic.dat уже поискал,все таланты лежат в constants.d,но вот про menu.dat я вообще не думал ._.
Вроде вот
Код:
const int NPC_TALENT_UNKNOWN            = 0;    //Отсутствует
const int NPC_TALENT_1H                 = 1;    //Владение одноручным оружием
const int NPC_TALENT_2H                 = 2;    //Владение двуручным оружием
const int NPC_TALENT_BOW                = 3;    //Владение луком
const int NPC_TALENT_CROSSBOW           = 4;    //Владение арбалетом
const int NPC_TALENT_PICKLOCK           = 5;    //Умение вскрывать замки
//const int NPC_TALENT_PICKPOCKET       = 6;    //Карманная кража (из Готики 1, не используется)
const int NPC_TALENT_MAGE               = 7;    //Маг
const int NPC_TALENT_SNEAK              = 8;    //Подкрадывание
const int NPC_TALENT_REGENERATE         = 9;    //Регенерация
const int NPC_TALENT_FIREMASTER         = 10;   //Владение огнем
const int NPC_TALENT_ACROBAT            = 11;   //Акробатика
const int NPC_TALENT_PICKPOCKET         = 12;   //Карманная кража
const int NPC_TALENT_SMITH              = 13;   //Кузнечное дело
const int NPC_TALENT_RUNES              = 14;   //Изготовление рун
const int NPC_TALENT_ALCHEMY            = 15;   //Алхимия
const int NPC_TALENT_TAKEANIMALTROPHY   = 16;   //Разделка животных
const int NPC_TALENT_FOREIGNLANGUAGE    = 17;   //Изучение иностранных языков
const int NPC_TALENT_WISPDETECTOR       = 18;   //Поиск предметов
const int NPC_TALENT_C                  = 19;   //(пусто)
const int NPC_TALENT_D                  = 20;   //(пусто)
const int NPC_TALENT_E                  = 21;   //(пусто)

const int NPC_TALENT_MAX                = 22;   //Макс. число талантов
Вставлять сюда свой талант в constants.d,но что это за цифры рядом с талантами? Я так понял это их ID,но чтобы добавить новый талант нужно увеличить NPC_TALENT_MAX наверно.
UPD:
Так и есть.3 неиспользуемых таланта были задействованы в "Возвращении",и в B_story есть b_***.d файл,который отвечает за функцию изучения перка,в свою очередь которая вызывается у НПС в диалоге.
 
Последнее редактирование модератором:

Yelawolf

Живая легенда
Модостроитель
Почётный пользователь
Участник форума
Регистрация
29 Янв 2012
Сообщения
6.785
Реакции
2.193
Баллы
661
Лучшие ответы
2
#4
Автор
Автор
Defman

Defman

Новичок
Участник форума
Регистрация
29 Май 2013
Сообщения
5
Реакции
0
Баллы
8
Лучшие ответы
0
#5
Чтож,буду знать.А по теме - разобрался.Спасибо за верное направление в этих датниках.
 
Автор
Автор
Defman

Defman

Новичок
Участник форума
Регистрация
29 Май 2013
Сообщения
5
Реакции
0
Баллы
8
Лучшие ответы
0
#6
Теперь осталось только,чтобы умный человек проверил правильность всех скриптов:
в constants.d прописал
Код:
const int NPC_TALENT_INTELEKT = 19;
потом создал в папке Story\B_story файл b_teachPlayerTalentIntelekt с таким кодом:
Код:
func int B_TeachIntelektTalent(var C_Npc slf,var C_Npc oth,var int talent)
{
	var int kosten;
	kosten = B_GetLearnCostTalent(oth,talent,1);
	if((talent != NPC_TALENT_INTELEKT))
	{
		Print("*** ERROR: Wrong Parameter ***");
		return FALSE;
	};
	if(oth.lp < kosten)
	{
		PrintScreen(PRINT_NotEnoughLearnPoints,-1,-1,FONT_ScreenSmall,2);
		B_Say(slf,oth,"$NOLEARNNOPOINTS");
		return FALSE;
	};
	oth.lp = oth.lp - kosten;
	if(talent == NPC_TALENT_INTELEKT)
	{
		Npc_SetTalentSkill(oth,NPC_TALENT_INTELEKT,1);
		PrintScreen(PRINT_LearnPicklock,-1,-1,FONT_Screen,2);
		return TRUE;
	};
И добавил отображение навыка в menu.dat\Menu_menu_status.d.Все ли тут правильно?
Окей,проверять буду сам,дубляции постов буду избегать :3
 
Последнее редактирование модератором:

Yelawolf

Живая легенда
Модостроитель
Почётный пользователь
Участник форума
Регистрация
29 Янв 2012
Сообщения
6.785
Реакции
2.193
Баллы
661
Лучшие ответы
2
#7
Теперь осталось только,чтобы умный человек проверил правильность всех скриптов:
Как умный человек, дам тебе практичный совет: компилируй свое творение и проверяй. Это намного проще, чем ждать на форуме пока кто нибудь проверит. tost^75?
И еще на последок.. Не пиши по два поста подряд, ибо это запрещено Правилами Форума, которые ты должен прочитать. На первый раз прощаю так как ты "свеженький" на форуме :DD
 
Последнее редактирование модератором:
Сверху Снизу