Stworzyłem postać i jej skrypt wygląda tak:
instance ACT_5000_Nero (Npc_Default)
{
// ------ NPC ------
name = "Nero";
guild = Gil_Vlk;
id = 5000;
voice = 8;
flags = 0;
npctype = NPCTYPE_MAIN;
// ------ Atrybuty ------
slf.level = 5000;
slf.attribute[ATR_STRENGTH] = 500;
slf.aivar[REAL_STRENGTH] = 500;
slf.attribute[ATR_DEXTERITY] = 500;
slf.aivar[REAL_DEXTERITY] = 500;
slf.attribute[ATR_MANA_MAX] = 10000;
slf.aivar[REAL_MANA_MAX] = 10000;
slf.attribute[ATR_MANA] = 10000;
slf.attribute[ATR_HITPOINTS_MAX] = 5000;
slf.attribute[ATR_HITPOINTS] = 5000;
// ------ Taktyka walki ------
fight_tactic = FAI_Human_Master; // Master / Strong / Normal/ Coward
// ------ Wyposażenie------
EquipItem (self, ItMw_1H_Nero);
EquipItem (self, ItRw_Bow_Nero);
CreateInvItems (self, ItRw_Arrow, 100);
// ------ Ekwipunek ------
B_CreateAmbientInv (self);
CreateInvItems (self, ItMi_Gold, 517);
// ------ Wygląd ------
B_SetNpcVisual (self, MALE, "Hum_Head_Pony", Face_N_Nero, BodyTex_N, ItAr_Nero);
Mdl_SetModelFatness (self, 1);
Mdl_ApplyOverlayMds (self, "Humans_Relaxed.mds"); // Tired / Militia / Mage / Arrogance / Relaxed
// ------ Inne umiejętności ------
B_GiveNpcTalents (self);
// ------ Umiejętność walki ------
B_SetFightSkills (self, 100);
// ------ Rutyna ------
daily_routine = Rtn_Start_5000;
};
Func void Rtn_Start_5000 ()
{
TA_Stand_ArmsCrossed (7,00,21,00,"NW_Taverne_BigFarm_04");
TA_Stand_Guarding (21,00,7,00,"NW_Taverne_BigFarm_04");
};
Func void Rtn_FindRimogard_5000 ()
{
TA_Stand_ArmsCrossed (7,00,21,00,"NW_BigFarm_Chapel_01");
TA_Stand_ArmsCrossed (21,00,7,00,"NW_BigFarm_Chapel_01");
};
Func void Rtn_RimogardIsHere_5000 ()
{
TA_Smalltalk (7,00,21,00,"NW_BigFarm_Chapel_01");
TA_Smalltalk (21,00,7,00,"NW_BigFarm_Chapel_01");
};
Problem jest taki, że NPC zamiast iść na waypoint (który istnieje), kieruje się jedynie do najbliższego i stoi tam z założonymi rękami (podobnie jak np. CH).