jestem w trakcie tworzenia moda, w którym kierujemy orkiem (ale spoiler

). postać gracza-orka działa, npc działają, ogólnie wszystko ładnie gra. aby trochę ubarwić moda, postanowiłem dodać pierścień, który przemienia gracza w człowieka. stworzyłem zatem taki skrypt:
instance Ring_TrfHuman(C_Item)
{
name = NAME_Ring;
mainflag = ITEM_KAT_MAGIC;
flags = ITEM_RING;
value = 1500;
visual = "ItMi_Ring_01.3ds";
visual_skin = 0;
material = MAT_METAL;
on_equip = Equip_Ring_TrfHuman;
on_unequip = UnEquip_Ring_TrfHuman;
description = " Pierścień przemiany w człowieka";
//TEXT[0] = "";
TEXT[1] = "Ten pierścien sprawi,";
TEXT[2] = "że stanę się człowiekiem!";
TEXT[5] = NAME_Value;
COUNT[5] = value;
};
FUNC VOID Equip_Ring_TrfHuman()
{
Mdl_SetVisual (hero,"HUMANS.MDS");
Mdl_SetVisualBody (hero,"hum_body_Naked0", 4, 1, "Hum_Head_Pony", 9, 0, -1);
};
FUNC VOID UnEquip_Ring_TrfHuman()
{
Mdl_SetVisual (hero, "Orc.mds");
Mdl_SetVisualBody (hero, "Orc_BodyScout",DEFAULT, DEFAULT, "Orc_HeadWarrior", DEFAULT, DEFAULT, -1);
};
podczas kompilacji nie wywala żadnych błędów. jednak, gdy próbuję założyć ten pierścień, gothic wyrzuca błąd, który w zspy odnotowany jest taką linijką:
02:08 Fault: 0 D: zModel(zCModelAni::LoadMDM): the file's node-hierarchy is incompatible to 'meshAndTree';applied mesh and mds-'meshAndTree' entry need to have exactly the same hierachy => adjust them .... <zError.cpp,#477>
dodam, że orkowe pancerze stworzyłem na podobnej zasadzie, i działają świetnie:
INSTANCE ORC_ARMOR_L(C_Item)
{
name = "Pancerz orka wojownika";
mainflag = ITEM_KAT_ARMOR;
flags = 0;
protection [PROT_EDGE] = 50;
protection [PROT_BLUNT] = 50;
protection [PROT_POINT] = 5;
protection [PROT_FIRE] = 25;
protection [PROT_MAGIC] = 0;
value = protection [PROT_EDGE] * ARMOR_VALUE_MULTIPLIER;
wear = WEAR_TORSO;
ownerGuild = GIL_NONE;
on_equip = Equip_OrcArmorL;
on_unequip = UnEquip_OrcArmorL;
material = MAT_LEATHER;
description = name;
//TEXT[0] = "";
TEXT[1] = NAME_Prot_Edge; COUNT[1] = protection [PROT_EDGE];
TEXT[2] = NAME_Prot_Point; COUNT[2] = protection [PROT_POINT];
TEXT[3] = NAME_Prot_Fire; COUNT[3] = protection [PROT_FIRE];
TEXT[4] = NAME_Prot_Magic; COUNT[4] = protection [PROT_MAGIC];
TEXT[5] = NAME_Value; COUNT[5] = value;
};
FUNC VOID Equip_OrcArmorL()
{
Mdl_SetVisualBody (self, "Orc_BodyWarrior",DEFAULT, DEFAULT, "Orc_HeadWarrior", DEFAULT, DEFAULT, -1);
};
FUNC VOID UnEquip_OrcArmorL()
{
Mdl_SetVisualBody (self, "Orc_BodyScout",DEFAULT, DEFAULT, "Orc_HeadWarrior", DEFAULT, DEFAULT, -1);
};
czy ktoś mógłby mi pomóc?