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

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

    Ссылка на конкурсную тему - тык

Sabertooth

Участник форума
Регистрация
10 Авг 2009
Сообщения
51
Благодарности
0
Баллы
155
Сделал текстуру тела, добавил в папку с текстурами, прописал название в поле, где у гг текстура тела пишется, не работает, вопрос, а где ещё текстура описывается и как?
 

Myxomop

Почетный форумчанин
Регистрация
28 Май 2005
Сообщения
3.238
Благодарности
2.579
Баллы
455
Sabertooth
Опиши тоже самое, но человеческим языком более подробно. Что и куда прописывал, имя файла текстуры, путь куда сохранил и т.д.
 

Sabertooth

Участник форума
Регистрация
10 Авг 2009
Сообщения
51
Благодарности
0
Баллы
155
D:\Gothic mod\_WORK\DATA\TEXTURES Сюда я поместил текстуру, потом её же название прописал в строчке Mdl_SetVisualBody, где внешность гг описывается, это в файле PC_Hero.d Вот у меня и вопрос, мложет где то ещё надо описать, текстура уже под определённую модель, её только вставить надо, может ещё в скриптах где она прописывается, не сразу же здесь, может переменной какой её присваивают?
 

GeorG

Участник форума
Регистрация
27 Авг 2008
Сообщения
3.447
Благодарности
11
Баллы
295
Sabertooth
Непонятно какую текстуру ты имеешь в виду… если честно непонятно вообще что ты делаешь?

// установить параметры изображения НПС npc, где : bodyMesh – имя mesh файла изображения тела,
// bodyTex – номер текстуры тела, skinColor – номер палитры цвета кожи,
// headMMS – имя MMS файла изображения головы, headTex – номер текстуры головы,
// toothTex – номер текстуры зубов, armor – номер одетой брони (- 1 – брони нет).
func void Mdl_SetVisualBody(var C_NPC npc, var string bodyMesh, var int bodyTex, var int skinColor, var string headMMS, var int headTex, var int toothTex, var int armor);

Все анимации нужно компилить игрой и они должны иметь путь:
\Gothic II\_work\data\Anims\_compiled
 

Sabertooth

Участник форума
Регистрация
10 Авг 2009
Сообщения
51
Благодарности
0
Баллы
155
Я имею в виду тела для нпс, только там нет оттенка кожи, так как там ygc типо в одежде, кожи не видно.
 

MEG@VOLT

★★★★★★★★★
ТехАдмин
Регистрация
24 Мар 2006
Сообщения
9.233
Благодарности
6.218
Баллы
1.565
И в чем проблема?
Sabertooth написал(а):
D:\Gothic mod\_WORK\DATA\TEXTURES Сюда я поместил текстуру, потом её же название прописал в строчке Mdl_SetVisualBody, где внешность гг описывается, это в файле PC_Hero.d Вот у меня и вопрос, мложет где то ещё надо описать, текстура уже под определённую модель, её только вставить надо, может ещё в скриптах где она прописывается, не сразу же здесь, может переменной какой её присваивают?
Я по моему говорил что не нужно задавать вопросы на которые ты сам можешь найти ответ, хватит уже спрашивать такие вопросы!!!
 
Последнее редактирование:

bullet

Участник форума
Регистрация
1 Дек 2008
Сообщения
35
Благодарности
4
Баллы
165
Здравствуйте!

Ситуация такая: вставил в NotR парочку NPC с различными hitchance и fight_tactic, персонажи появились, действуют по расписанию, но вот оружие держат "без понятия"; вселяюсь MARVINом в любого, беру в руки оружие с бонусом к умению и всё исправляется.

Может быть я упустил какой-то нюанс? Подскажите, пожалуйста, как скриптово изменить данную ситуацию?
 
Последнее редактирование модератором:

Dimmell

Участник форума
Регистрация
23 Ноя 2008
Сообщения
2.899
Благодарности
111
Баллы
285
bullet написал(а):
Может быть я упустил какой-то нюанс? Подскажите, пожалуйста, как скриптово изменить данную ситуацию?
Скрипт нового НПС напиши (под спойлер).
 
Последнее редактирование модератором:

bullet

Участник форума
Регистрация
1 Дек 2008
Сообщения
35
Благодарности
4
Баллы
165
Dimmell написал(а):
Скрипт нового НПС напиши (под спойлер).
Вот скрипт:
instance NONE_1312_TRAVELLER (Npc_Default)
{
name = "Путешественник";
guild = GIL_NONE;
npctype = NpcType_Friend;
flags = 0;
id = 1312;
level = 25;
voice = 4;
attribute[ATR_STRENGTH] = 200;
attribute[ATR_DEXTERITY] = 200;
attribute[ATR_MANA_MAX] = 10;
attribute[ATR_MANA] = 10;
attribute[ATR_HITPOINTS_MAX] = 2000;
attribute[ATR_HITPOINTS] = 2000;
HitChance [NPC_TALENT_1H] = 100;
HitChance [NPC_TALENT_2H] = 100;
HitChance [NPC_TALENT_BOW] = 10;
HitChance [NPC_TALENT_CROSSBOW] = 10;
Mdl_SetModelFatness (self, 0);
Mdl_ApplyOverlayMds (self, "Humans_Relaxed.mds");
B_SetNpcVisual (self, MALE,"Hum_Head_Babehair", Face_N_Player, BodyTex_N, ITAR_Prisoner);
EquipItem (self, ItMw_2H_Special_04);
senses = SENSE_SEE | SENSE_SMELL | SENSE_HEAR;
senses_range = 2000;
fight_tactic = FAI_HUMAN_MASTER;
daily_routine = rtn_start_1312;
};

func void rtn_start_1312()
{
TA_Stand_Eating (8, 0, 13, 0,"NW_XARDAS_TOWER_WATERFALL_01");
TA_Practice_Sword (13, 0, 22, 0,"NW_XARDAS_TOWER_WATERFALL_01");
TA_Smoke_Joint (22, 0, 8, 0,"NW_XARDAS_TOWER_WATERFALL_CAVE_09");
};
 
Последнее редактирование модератором:

Dimmell

Участник форума
Регистрация
23 Ноя 2008
Сообщения
2.899
Благодарности
111
Баллы
285
bullet
Вместо вот этого:
HitChance [NPC_TALENT_1H] = 100;
HitChance [NPC_TALENT_2H] = 100;
HitChance [NPC_TALENT_BOW] = 10;
HitChance [NPC_TALENT_CROSSBOW] = 10;

прописывается через B_SetFightSkills(self,ХХХ);
Если хочешь разные для каждого типа, смотри функцию B_SetFightSkills.
В ней
B_RaiseFightTalent(self,NPC_TALENT_1H,percent);
B_RaiseFightTalent(self,NPC_TALENT_2H,percent);
B_RaiseFightTalent(self,NPC_TALENT_BOW,percent);
B_RaiseFightTalent(self,NPC_TALENT_CROSSBOW,percent);
Вместо percent твои значения.
 

bullet

Участник форума
Регистрация
1 Дек 2008
Сообщения
35
Благодарности
4
Баллы
165
Удалил HitChanceы, прописал FightTalentы, а результат тот же... Сохраняю игру, загружаю и только после этого NPCи хватают оружие в зависимости от уровня владения оным
 

Dimmell

Участник форума
Регистрация
23 Ноя 2008
Сообщения
2.899
Благодарности
111
Баллы
285
bullet
1.Попробовать удалить VDFS.dmp
Если не помогло:
2.так как п.1. не помог - начать игру сначала.
И вообще-то я из твоих постов мало что понял:
Сохраняю игру, загружаю и только после этого NPCи хватают оружие в зависимости от уровня владения оным
А что, разве они должны хватать оружие на не загруженной игре? ???
 

bullet

Участник форума
Регистрация
1 Дек 2008
Сообщения
35
Благодарности
4
Баллы
165
Удаление VDFS.DMP ни на что не повлияло.

Подробные действия:
-новая игра
-NPCи сражаются по-рабоче-крестьянски :)
-сохранение игры
-загрузка сохраненки
-NPCи сражаются согласно уровню мастерства

Я хотел бы, чтобы NPCи изначально держали оружие "правильно".
 
Последнее редактирование модератором:

Мільтен

Участник форума
Регистрация
27 Июн 2008
Сообщения
862
Благодарности
427
Баллы
265
2bullet:
А ты этот скрипт сам писал, или у кого-нибудь скопировал? Я просто раньше не видел в скриптах НПС строки HitChance...

И вот это место какое-то вывернутое...

guild = GIL_NONE;
npctype = NpcType_Friend;
flags = 0;
id = 1312;
level = 25;
voice = 4;

В готических НПС идет так:
1) guild = GIL_NONE
2) id = 1312
3) voice = 4
4) flags = 0
5) npcType = npctype_Friend;

Не знаю, обязателен ли порядок, но решил обратить твое внимание.
У моих НПС все нормально, держат оружие как надо. Вот, попробуй этот скрипт:

instance NONE_1312_Traveller(Npc_Default)
{
name[0] = "Путешественник";
guild = GIL_NONE;
id = 1312;
voice = 4;
flags = 0;
npcType = npctype_main;
self.level = 25;
self.attribute[ATR_STRENGTH] = 200;
self.attribute[ATR_DEXTERITY] = 200;
self.attribute[ATR_MANA_MAX] = 10;
self.aivar[REAL_MANA_MAX] = 10;
self.attribute[ATR_MANA] = 10;
self.attribute[ATR_HITPOINTS_MAX] = 2000;
self.attribute[ATR_HITPOINTS] = 2000;
fight_tactic = FAI_HUMAN_MASTER;
EquipItem(self, ItMw_2H_Special_04);
B_CreateAmbientInv(self);
B_SetNpcVisual(self, MALE, "Hum_Head_Babehair", Face_N_Player, BodyTex_N, ITAR_Prisoner);
Mdl_SetModelFatness(self,0);
Mdl_ApplyOverlayMds(self,"Humans_Relaxed.mds");
B_GiveNpcTalents(self);
B_SetFightSkills(self,100);
daily_routine = Rtn_Start_1312;
};

func void rtn_start_1312()

{

TA_Stand_Eating (8, 0, 13, 0,"NW_XARDAS_TOWER_WATERFALL_01");
TA_Practice_Sword (13, 0, 22, 0,"NW_XARDAS_TOWER_WATERFALL_01");
TA_Smoke_Joint (22, 0, 8, 0,"NW_XARDAS_TOWER_WATERFALL_CAVE_09");

};

Должно работать, не знаю, что там у тебя за проблема.
 
Последнее редактирование модератором:

redleha


Модостроитель
Регистрация
26 Фев 2008
Сообщения
735
Благодарности
665
Баллы
245
bullet написал(а):
Удаление VDFS.DMP ни на что не повлияло.

Подробные действия:
-новая игра
-NPCи сражаются по-рабоче-крестьянски :)
-сохранение игры
-загрузка сохраненки
-NPCи сражаются согласно уровню мастерства

Я хотел бы, чтобы NPCи изначально держали оружие "правильно".
Ставь навык мастерства не 100, а например 80. Иногда возникает из-за этого косяк.
 
Последнее редактирование модератором:

bullet

Участник форума
Регистрация
1 Дек 2008
Сообщения
35
Благодарности
4
Баллы
165
redleha написал(а):
Ставь навык мастерства не 100, а например 80. Иногда возникает из-за этого косяк.
Я изначально создал несколько персонажей с навыками от 10% до 100%

Мільтен написал(а):
Я просто раньше не видел в скриптах НПС строки HitChance...

скрипт написал на основе первого попавшегося под руку (не помню какого), а описание здесь: VAM, "Уроки скриптологии, часть 1", глава 5, класс параметров НПС,
var int HitChance[MAX_HITCHANCE]; //Способность владения НПС определенным оружием

P.S. использовал предложенный скрипт, никаких изменений...

P.P.S. Как же я раньше не заметил ???, что при выборе "Начать новую игру"все NPCи (а не только добавленные МОДом) держат оружие без какого-либо мастерства.
 
Последнее редактирование модератором:

Мільтен

Участник форума
Регистрация
27 Июн 2008
Сообщения
862
Благодарности
427
Баллы
265
Такой вопрос имеется: я создал свой мир, создал вейпоинты, прописал 3 тестовых НПС. Но в моем мире эти НПС не появляются. В стартапе увидел, что весь поделен не части и для каждой части прописаны свои НПС. Сделал также и прописал туда вызов троих моих НПС. Результат нулевой. не могли бы вы мне объяснить, как сделать так, чтобы можно было в свой мир прописывать НПС и монстров и чтобы они появлялись.
 

Saturas


Модостроитель
Регистрация
11 Фев 2009
Сообщения
2.512
Благодарности
1.332
Баллы
315
Мільтен написал(а):
Такой вопрос имеется: я создал свой мир, создал вейпоинты, прописал 3 тестовых НПС. Но в моем мире эти НПС не появляются. В стартапе увидел, что весь поделен не части и для каждой части прописаны свои НПС. Сделал также и прописал туда вызов троих моих НПС. Результат нулевой. не могли бы вы мне объяснить, как сделать так, чтобы можно было в свой мир прописывать НПС и монстров и чтобы они появлялись.
Тут скорее всего дело в Startup.d, прикрепи к посту я гляну что в нем не так и распишу по подробнее.
 
Последнее редактирование модератором:

Мільтен

Участник форума
Регистрация
27 Июн 2008
Сообщения
862
Благодарности
427
Баллы
265
Прикрепил.
 

Saturas


Модостроитель
Регистрация
11 Фев 2009
Сообщения
2.512
Благодарности
1.332
Баллы
315
Мільтен написал(а):
Ты делаеш на декомпилиных скриптах г2а? если да то тогда
тут могут быть трабаблы , если же хочеш делать на своейлоке тогда удали все кроме
func void startup_global()
{
Game_InitGerman();
};

func void init_global()
{
Game_InitGerman();
};

func void STARTUP_Testlevel()
{
Wld_InsertNpc (Scavenger, "WPCHECK01");
и тд
};

func void INIT_Testlevel()
{
B_InitMonsterAttitudes();
B_InitGuildAttitudes();
B_InitNpcGlobals();
INIT_SUB_Testlevel();
}
 
Последнее редактирование модератором:
Сверху Снизу