Aktualnie pracujemy nad:
Zadaniami pobocznymi do modyfikacji Bandyta
Po skompilowaniu skryptów, zrobieniu paczki z modem. Mam kilku nowych npc, przedmiotów. Tylko WSZYSCY npc z gry maj± najs³absz± animacjê walki. Tzn. np. Lord Hagen ma 70% walki mieczem, a wygl±da to jakby walczy³ maj±c 10%. Co mam zrobiæ?
Offline
Poziom : 3
fight_tactik = FAI_MASTER;
Offline
Po ponownym uruchomieniu gry problem dalej wystêpuje?
Offline
Mia³em to samo. Jedyne rozwi±zanie by³o takie:
Otworzyæ plik <g³ówny_folder_G2:NK>\_Work\data\Scripts\Content\Story\B_Story\B_AddFightSkill.d
Zamieniæ CA£Y text na:
Spoiler:
// ******************************************************************
// B_AddFightSkill
// ---------------
// setzt die Kampftalent-Ani abhängig von TrefferChance%
// (ab 30% und ab 60%)
// wird aus NPC_SetFightSkills aufgerufen (um FightSkill in NSC-Instanzen zu setzen)
// und aus B_TeachFightTalentPercent (um Player-Skill zu erhöhen)
// ******************************************************************
func void B_AddFightSkill (var C_NPC slf, var int talent, var int percent)
{
if (talent == NPC_TALENT_1H)
{
slf.HitChance[NPC_TALENT_1H] = slf.HitChance[NPC_TALENT_1H] + percent;
if (slf.HitChance[NPC_TALENT_1H] >=0)
{
Npc_SetTalentSkill (slf, NPC_TALENT_1H, 0);
Mdl_RemoveOverlayMDS (self, "Humans_1hST1.MDS");
Mdl_RemoveOverlayMDS (self, "Humans_1hST2.MDS");
};
if (slf.HitChance[NPC_TALENT_1H] >=30)
{
Npc_SetTalentSkill (slf, NPC_TALENT_1H, 1);
Mdl_ApplyOverlayMDS (self, "Humans_1hST1.MDS");
Mdl_RemoveOverlayMDS(self, "Humans_1hST2.MDS");
};
if (slf.HitChance[NPC_TALENT_1H] >=60)
{
Npc_SetTalentSkill (slf, NPC_TALENT_1H, 2);
Mdl_ApplyOverlayMDS (self, "Humans_1hST2.MDS");
Mdl_RemoveOverlayMDS (self, "Humans_1hST1.MDS");
};
};
if (talent == NPC_TALENT_2H)
{
slf.HitChance[NPC_TALENT_2H] = slf.HitChance[NPC_TALENT_2H] + percent;
if (slf.HitChance[NPC_TALENT_1H] >=0)
{
Npc_SetTalentSkill (slf, NPC_TALENT_2H, 0);
Mdl_RemoveOverlayMDS (self, "Humans_2hST1.MDS");
Mdl_RemoveOverlayMDS (self, "Humans_2hST2.MDS");
};
if (slf.HitChance[NPC_TALENT_2H] >=30)
{
Npc_SetTalentSkill (slf, NPC_TALENT_2H, 1);
Mdl_ApplyOverlayMDS (self, "Humans_2hST1.MDS");
Mdl_RemoveOverlayMDS (self, "Humans_2hST2.MDS");
};
if (slf.HitChance[NPC_TALENT_2H] >=60)
{
Npc_SetTalentSkill (slf, NPC_TALENT_2H, 2);
Mdl_ApplyOverlayMDS (self, "Humans_2hST2.MDS");
Mdl_RemoveOverlayMDS (self, "Humans_2hST1.MDS");
};
};
if (talent == NPC_TALENT_BOW)
{
slf.HitChance[NPC_TALENT_BOW] = slf.HitChance[NPC_TALENT_BOW] + percent;
if (slf.HitChance[NPC_TALENT_BOW] >=0)
{
Npc_SetTalentSkill (slf, NPC_TALENT_BOW, 0);
Mdl_RemoveOverlayMDS (self, "Humans_BowT1.MDS");
Mdl_RemoveOverlayMDS (self, "Humans_BowT2.MDS");
};
if (slf.HitChance[NPC_TALENT_BOW] >=30)
{
Npc_SetTalentSkill (slf, NPC_TALENT_BOW, 1);
Mdl_ApplyOverlayMDS (self, "Humans_BowT1.MDS");
Mdl_RemoveOverlayMDS (self, "Humans_BowT2.MDS");
};
if (slf.HitChance[NPC_TALENT_BOW] >=60)
{
Npc_SetTalentSkill (slf, NPC_TALENT_BOW, 2);
Mdl_ApplyOverlayMDS (self, "Humans_BowT2.MDS");
Mdl_RemoveOverlayMDS (self, "Humans_BowT1.MDS");
};
};
if (talent == NPC_TALENT_CROSSBOW)
{
slf.HitChance[NPC_TALENT_CROSSBOW] = slf.HitChance[NPC_TALENT_CROSSBOW] + percent;
if (slf.HitChance[NPC_TALENT_CROSSBOW] >=0)
{
Npc_SetTalentSkill (slf, NPC_TALENT_CROSSBOW, 0);
Mdl_RemoveOverlayMDS (self, "Humans_CBowT1.MDS");
Mdl_RemoveOverlayMDS (self, "Humans_CBowT2.MDS");
};
if (slf.HitChance[NPC_TALENT_CROSSBOW] >=30)
{
Npc_SetTalentSkill (slf, NPC_TALENT_CROSSBOW, 1);
Mdl_ApplyOverlayMDS (self, "Humans_CBowT1.MDS");
Mdl_RemoveOverlayMDS (self, "Humans_CBowT2.MDS");
};
if (slf.HitChance[NPC_TALENT_CROSSBOW] >=60)
{
Npc_SetTalentSkill (slf, NPC_TALENT_CROSSBOW, 2);
Mdl_ApplyOverlayMDS (self, "Humans_CBowT2.MDS");
Mdl_RemoveOverlayMDS (self, "Humans_CBowT1.MDS");
};
};
};
Po prostu w³±cza odpowiednie O-MDS'y przy odpowiednim poziomie walki broni±.
Offline