Готика 2: Другая история Gothic II: Other Story - Описание мода
  • 8.073
  • 50
Готика 2: Другая история / Other Story - это глобальная модификация для игры «Готика 2: Ночь Ворона». Её цель - сделать игру более нелинейной, с большим количеством вариантов выбора и...
Новости Старт 6го сезона Grim League
  • 1.930
  • 1
4 мая в 18-00 стартует шестой сезон Community лиги по одной из лучших игр в жанре arpg Grim Dawn. Сезон представляет собой глобальную модификацию игры, включающую в себя расширение мира, изменение...
Новости Дата релиза Baldur's Gate III
  • 21.143
  • 1
Наконец-то дождались - "Baldur's Gate III" покидает ранний доступ, и в августе 2023 выходит в полноценный релиз, о чём стало известно на церемонии "The Game Awards 2022". С момента выхода игры в...
Новости Итоги года от The Game Awards 2022
  • 14.771
  • 0
Вчера прошла ежегодная церемония награждения проектов в индустрии компьютерных игр и киберспорта. Самую главную награда - "Игра года" забрала игра "Elden Ring" от японских разработчиков...

Вопросы по скриптингу в Готике

redleha

Постоялец
Модостроитель
Участник форума
Регистрация
14 Дек 2010
Сообщения
59
Реакции
32
Баллы
40
Лучшие ответы
0
bloodrayne,
Новые модельки кидать же нужно по адресу: _work/Data/Meshes/Items ? Правильно?
Да.

Еще мне сказали, что для головного убора, нужно прописать какую то особую анимацию. Что за анимация должна быть?
Нет, вранье. Вот пример шапки Санты из Саги:
INSTANCE ITAR_ds_Santa(C_Item)
{
name = "";
mainflag = ITEM_KAT_ARMOR;
wear = WEAR_HEAD;
visual = "DS_NewYear_Hat.3ds";
material = MAT_LEATHER;
description = name;
};
Одевалась она у меня при входе НПС в своё стартовое расписание (НЕ ДЛЯ ГГ, а для НПС). ГГ может спокойно сам одевать шапку.
func void ZS_Dance()
{
Perception_Set_Normal();
B_ResetAll(self);
AI_SetWalkMode(self,NPC_WALK);
if(Npc_GetDistToWP(self,self.wp) > TA_DIST_SELFWP_MAX)
{
AI_GotoWP(self,self.wp);
AI_AlignToWP(self);
};
if((self.guild == GIL_PIR) && (self.npcType == NPCTYPE_Skel))
{
AI_EquipArmor(self,ItAr_ds_Santa);
};
};
 
Последнее редактирование модератором:

Lamb

Бродяга
Участник форума
Регистрация
22 Фев 2013
Сообщения
47
Реакции
29
Баллы
15
Лучшие ответы
0
Так и знала :)
Получается, сам скрипт шапки будет выглядить так:
Код:
INSTANCE ITAR_ds_Santa(C_Item)
{
   name =   "";
   mainflag =   ITEM_KAT_ARMOR;
   wear =   WEAR_HEAD;
   visual = "DS_NewYear_Hat.3ds";
   material = MAT_LEATHER;
   description   = name;
};
func void ZS_Dance()
{
   Perception_Set_Normal();
   B_ResetAll(self);
   AI_SetWalkMode(self,NPC_WALK);
   if(Npc_GetDistToWP(self,self.wp) > TA_DIST_SELFWP_MAX)
   {
      AI_GotoWP(self,self.wp);
      AI_AlignToWP(self);
   };
   if((self.guild == GIL_PIR) && (self.npcType == NPCTYPE_Skel))
   {
      AI_EquipArmor(self,ItAr_ds_Santa);
   };
};
Попрописывать шапку в _Armor?Саму модельку туда же кидать?
Хм, при компиляции выбивает ошибку идентификатора вот здесь Perception_Set_Normal(); Хотя делала, все четко по образцу. :-[
 
Последнее редактирование модератором:

redleha

Постоялец
Модостроитель
Участник форума
Регистрация
14 Дек 2010
Сообщения
59
Реакции
32
Баллы
40
Лучшие ответы
0
bloodrayne, нет ты просто скрипты оригинала не смотрела, поэтому сложно сходу понять некоторые моменты.
Саму шапку прописывать можешь в IT_Armor.
А вот одевание я прописывал в расписании НПСа. В данном случае это был скелет:
instance vlk_727_DanceScel(Npc_Default)
{
name[0] = "Скелет Деда Мороза";
guild = GIL_PIR;
level = 10;
id = 727;
voice = 12;
flags = 0;
npcType = NPCTYPE_Skel;
attribute[ATR_STRENGTH] = 200;
attribute[ATR_DEXTERITY] = 200;
attribute[ATR_MANA_MAX] = 1000;
attribute[ATR_MANA] = 1000;
attribute[ATR_HITPOINTS_MAX] = 360;
attribute[ATR_HITPOINTS] = 360;
fight_tactic = FAI_HUMAN_STRONG;
protection[PROT_BLUNT] = 125;
protection[PROT_EDGE] = 125;
protection[PROT_POINT] = -1;
protection[PROT_FIRE] = 85;
protection[PROT_FLY] = 125;
protection[PROT_MAGIC] = 0;
damagetype = DAM_EDGE;
aivar[AIV_IgnoresArmor] = TRUE;
B_GiveNpcTalents(self);
B_AddFightSkill(self,NPC_TALENT_1H,50);
B_AddFightSkill(self,NPC_TALENT_2H,85);
B_AddFightSkill(self,NPC_TALENT_BOW,70);
B_AddFightSkill(self,NPC_TALENT_CROSSBOW,40);
EquipItem(self,ItMw_Addon_PIR2hSword);
Mdl_SetVisual(self,"HumanS.mds");
Mdl_ApplyOverlayMds(self,"humans_2hST2.mds");
Mdl_ApplyOverlayMds(self,"humans_BowT1.mds");
Mdl_ApplyOverlayMds(self,"humans_CBowT1.mds");
Mdl_ApplyOverlayMds(self,"Hum_PirSab2.mds");
Mdl_ApplyOverlayMds(self,"humans_skeleton.mds");
Mdl_SetVisualBody(self,"Ske_PirSail_Body",DEFAULT,DEFAULT,"",DEFAULT,DEFAULT,-1);
Mdl_SetModelFatness(self,1);
Mdl_ApplyOverlayMds(self,"Humans_Relaxed.mds");
CreateInvItem(self,ItAr_ds_Santa);
daily_routine = Rtn_Start_727;
};

func void Rtn_Start_727()
{
TA_Dance(7,55,19,55,"DS_FINAL_MOROZ_STAY_01");
TA_Dance(19,55,7,55,"DS_FINAL_MOROZ_STAY_01");
};
с расписанием:
func void ZS_Dance()
{
Perception_Set_Normal();
B_ResetAll(self);
AI_SetWalkMode(self,NPC_WALK);
if(Npc_GetDistToWP(self,self.wp) > TA_DIST_SELFWP_MAX)
{
AI_GotoWP(self,self.wp);
AI_AlignToWP(self);
};
if((self.guild == GIL_PIR) && (self.npcType == NPCTYPE_Skel))
{
AI_EquipArmor(self,ItAr_ds_Santa);
};
};

func int ZS_Dance_Loop()
{
var int danceStyle;
danceStyle = Hlp_Random(9);
if(danceStyle == 0)
{
AI_PlayAni(self,"T_DANCE_01");
};
if(danceStyle == 1)
{
AI_PlayAni(self,"T_DANCE_02");
};
if(danceStyle == 2)
{
AI_PlayAni(self,"T_DANCE_03");
};
if(danceStyle == 3)
{
AI_PlayAni(self,"T_DANCE_04");
};
if(danceStyle == 4)
{
AI_PlayAni(self,"T_DANCE_05");
};
if(danceStyle == 5)
{
AI_PlayAni(self,"T_DANCE_06");
};
if(danceStyle == 6)
{
AI_PlayAni(self,"T_DANCE_07");
};
if(danceStyle == 7)
{
AI_PlayAni(self,"T_DANCE_08");
};
if(danceStyle == 8)
{
AI_PlayAni(self,"T_DANCE_09");
};
AI_GotoWP(self,self.wp);
AI_AlignToWP(self);
return LOOP_CONTINUE;
};

func void ZS_Dance_End()
{
AI_Standup(self);
};

Но это мой личный пример. У тебя естественно всё это не заработает.
Ты проще скажи, на кого из оригинала ты хочешь одеть шапку (какая модель ещё), а тебе здесь я или кто-нибудь напишут.
 

Lamb

Бродяга
Участник форума
Регистрация
22 Фев 2013
Сообщения
47
Реакции
29
Баллы
15
Лучшие ответы
0
Ты проще скажи, на кого из оригинала ты хочешь одеть шапку (какая модель ещё),
Я хочу чтобы ГГ одевал эту шапку. Не другие НПС, а именно ГГ.
Вот на всякий случай, прикрепляю ту самую шапку, которую хочу одеть.
 
Последнее редактирование модератором:

redleha

Постоялец
Модостроитель
Участник форума
Регистрация
14 Дек 2010
Сообщения
59
Реакции
32
Баллы
40
Лучшие ответы
0
bloodrayne, в таком случае и заморачиваться не надо. просто дописать её:
INSTANCE ITAR_Elfen_Hat(C_Item)
{
name = "Шапка-ушанка";
mainflag = ITEM_KAT_ARMOR;
wear = WEAR_HEAD;
visual = "elfen_red.3ds";
material = MAT_LEATHER;
description = name;
};
А потом марвином вставишь и глянешь, как она на ГГ сидит.
 
Последнее редактирование модератором:

Lamb

Бродяга
Участник форума
Регистрация
22 Фев 2013
Сообщения
47
Реакции
29
Баллы
15
Лучшие ответы
0
redleha, ты мой герой! :-*
Благодаря тебе, теперь ГГ будет ходить в крутяцкой шапочке Санты. :)
Правда, волосы что то видно из шапки.
 

Вложения

val300

Труженик
Участник форума
Регистрация
14 Авг 2012
Сообщения
421
Реакции
46
Баллы
45
Лучшие ответы
0
Бомба!
bloodrayne, как думаешь не пора ли в Хоринисе открыть бутик? Управляющая - Сара.
 
Автор
Автор
Hero

Hero

Наемник
Участник форума
Регистрация
8 Апр 2012
Сообщения
783
Реакции
111
Баллы
111
Лучшие ответы
2
bloodrayne, а ведь супер, немного повернуть шапочку на 180 градусов, сдвинуть вперед и будет что надо.
 

redleha

Постоялец
Модостроитель
Участник форума
Регистрация
14 Дек 2010
Сообщения
59
Реакции
32
Баллы
40
Лучшие ответы
0
bloodrayne, если это шапка получена редактированием шапки из Саги, то она была рассчитана специально на скелетов, и у них меньше размер, ибо одеваются на лысый череп. Правда, она была уже развёрнута.
 
Последнее редактирование модератором:

Lamb

Бродяга
Участник форума
Регистрация
22 Фев 2013
Сообщения
47
Реакции
29
Баллы
15
Лучшие ответы
0
redleha, я если честно, не знаю откуда шапочка. Скачала с базы на немецком Воге.
На скелетах кстати, и правда красивее выглядит. :)
P.S. Еще вопросик: когда кидаю новую шляпку, то на старой шляпе, идет текстура от новой. Как можно убрать этот феномен?
 
Последнее редактирование модератором:
Сверху Снизу