Witam ponownie, poprzedni problem udało mi się rozwiązać samemu ale z tym sobie już na prawdę nie radze. Tworząc NPC wszystko wychodzi perfekcyjnie ale jest jeden mały problem. Nie ważne ile % walki dam NPC w skrypcie, on i tak walczy jak by miał mniej niż 30% przykładowo, dałem typkowi 70% 1h i w grze walczył jak bezimienny na samym początku gry. Żeby było zabawniej, to klikając na NPC klawisz "o" i sprawdzając, czy talenty walki, które chciałem, żeby miał okazało się, że w statystykach wszystko się zgadza. Umiejętność walki 70% i tytuł "Mistrz", wszystko na swoim miejscu, ale z niewiadomych przyczyn Ziomek walczy jak by pierwszy raz chwycił miecz do ręki. tak jest ze wszystkimi postaciami jakie stworzę. Ktoś wie może co jest nie tak?
Załączam skrypt jednej z postaci:
instance GLA_3_Straznik (Npc_Default)
{
// ------ NSC ------
name = "Straznik";
guild = GIL_NONE;
id = 3;
voice = 3;
level = 10;
flags = 0;
npctype = NPCTYPE_MAIN;
// ------ Attribute ------
attribute[ATR_STRENGTH] = 45;
attribute[ATR_DEXTERITY] = 10;
attribute[ATR_MANA_MAX] = 10;
attribute[ATR_MANA] = 10;
attribute[ATR_HITPOINTS_MAX] = 100;
attribute[ATR_HITPOINTS] = 100;
// ------ Kampf-Taktik ------
fight_tactic = FAI_HUMAN_STRONG;
// ------ Equippte Waffen ------ //Munition wird automatisch generiert, darf aber angegeben werden
EquipItem (self, ItMw_1h_Mil_Sword);
// ------ Inventory ------
B_CreateAmbientInv (self);
// ------ visuals ------ //Muss NACH Attributen kommen, weil in B_SetNpcVisual die Breite abh. v. STR skaliert wird
B_SetNpcVisual (self, MALE, "Hum_Head_Bald", Face_N_Bloodwyn, BodyTex_N, ITAR_MIL_L);
Mdl_SetModelFatness (self, 1);
Mdl_ApplyOverlayMds (self, "Humans_Militia.mds"); // Tired / Militia / Mage / Arrogance / Relaxed
// ------ NSC-relevante Talente vergeben ------
B_GiveNpcTalents (self);
// ------ Kampf-Talente ------ //Der enthaltene B_AddFightSkill setzt Talent-Ani abhängig von TrefferChance% - alle Kampftalente werden gleichhoch gesetzt
B_SetFightSkills (self, 30); //Grenzen für Talent-Level liegen bei 30 und 60
// ------ TA anmelden ------
daily_routine = Rtn_Start_1002; // nazwa Rutyny startowej
};
FUNC VOID Rtn_Start_1002 () // rutyna
{
TA_Smalltalk (01,00,10,00,"STRAZNIK2");
TA_Practice_Sword (10,00,15,00,"STRAZNIK2_TRENING");
TA_Smalltalk (15,00,20,00,"STRAZNIK2");
TA_Practice_Sword (20,00,15,01,"STRAZNIK2_TRENING");
};