Новости Старт 6го сезона Grim League
  • 133
  • 0
4 мая в 18-00 стартует шестой сезон Community лиги по одной из лучших игр в жанре arpg Grim Dawn. Сезон представляет собой глобальную модификацию игры, включающую в себя расширение мира, изменение...
Новости Дата релиза Baldur's Gate III
  • 20.411
  • 1
Наконец-то дождались - "Baldur's Gate III" покидает ранний доступ, и в августе 2023 выходит в полноценный релиз, о чём стало известно на церемонии "The Game Awards 2022". С момента выхода игры в...
Новости Итоги года от The Game Awards 2022
  • 14.008
  • 0
Вчера прошла ежегодная церемония награждения проектов в индустрии компьютерных игр и киберспорта. Самую главную награда - "Игра года" забрала игра "Elden Ring" от японских разработчиков...
Новости Анонс Assassin's Creed Mirage
  • 19.568
  • 6
На сегодняшнем мероприятии «Ubisoft Forward» была анонсированна новая часть вселенной «Assassin's Creed» под названием «Mirage». В роли протагониста будет Басим ибн Исхак, играющие в «Assassin’s...

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

Defman

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

Yelawolf

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