Kolejny zakładany wątek i kolejny problem. W tym wątku mam 2 pytania:
1. Jak zmienić rutynę jakiegoś NPC? (Tu jest problem z poleceniem Npc_ExchangeRoutine, po prostu gothic nie wywala błędu a jak dochodzi do zmiany rutyny to postać się zatrzymuje i dalej robi poprzednią rutynę)
2. Czy istnieje jakaś funkcja którą można dodać w skryptach albo użyć w innej funkcji która resetuje wybranego NPC? (Czyli że NPC się z respawnuje)
Ps. Wstawiam jeszcze skrypty:
NPC:
instance MOD_0211_Zolnierz (Npc_Default)
{
// ------ NSC ------
name = "Zolnierz";
guild = GIL_MIL;
id = 0211;
voice = 12;
flags = 0;
npctype = NPCTYPE_MAIN;
// ------ AIVARS ------
aivar[AIV_ToughGuy] = TRUE;
aivar[AIV_ToughGuyNewsOverride] = TRUE;
aivar[AIV_IGNORE_Murder] = TRUE;
aivar[AIV_IGNORE_Theft] = TRUE;
aivar[AIV_IGNORE_Sheepkiller] = TRUE;
aivar[AIV_IgnoresArmor] = TRUE;
// ------ Aivars ------
aivar[AIV_NewsOverride] = TRUE;
// ------ Attribute ------
B_SetAttributesToChapter (self, 3);
// ------ Kampf-Taktik ------
fight_tactic = FAI_HUMAN_STRONG;
// ------ Equippte Waffen ------
EquipItem (self, ItMw_1h_Mil_Sword);
// ------ Inventory ------
B_CreateAmbientInv (self);
// ------ visuals ------
B_SetNpcVisual (self, MALE, "Hum_Head_FatBald", Face_B_Tough_Silas, BodyTex_B, ITAR_MIL_L);
Mdl_SetModelFatness (self, 1);
Mdl_ApplyOverlayMds (self, "Humans_Militia.mds");
// ------ NSC-relevante Talente vergeben ------
B_GiveNpcTalents (self);
// ------ Kampf-Talente ------
B_SetFightSkills (self, 50);
// ------ TA anmelden ------
daily_routine = Rtn_Szkolenie_0211;
};
FUNC VOID Rtn_Szkolenie_0211 ()
{
TA_Practice_Sword (05,00,06,00,"WAY_05");
TA_Practice_Sword (06,00,05,00,"WAY_05");
};
FUNC VOID Rtn_Pozycja_0211 ()
{
TA_Stand_ArmsCrossed (08,00,23,00,"WAY_03");
TA_Stand_ArmsCrossed (23,00,08,00,"WAY_03");
};
Funkcji która zmienia rutynę:
FUNC VOID Szkolenie()
{
if (O == TRUE)
{
Npc_ExchangeRoutine (MOD_0211_Zolnierz, "Pozycja");
Npc_ExchangeRoutine (MOD_0212_Zolnierz, "Pozycja");
Npc_ExchangeRoutine (MOD_0213_Zolnierz, "Pozycja");
O = FALSE;
};
};
Funkcja jest wywoływana 10s po spawnie Żołnierzy