Tak mi się wydawało że może przez tą animacje ograbiania nie wyswietla się ten dialog, próbowałem różnych sztuczek. Właściwie już wszystko odpicowałem na tip top, brakuje tylko tego jednego elementu żeby ten cholerny Lupino zagadał.
Funkcję Lupino_ZabijaDinko wywaliłem i napisałem warunek w dialogu. Wcześniej wywoływałem jako trigger ze spacera.
To jest skrypt dialogu.
Po Hello2 Lupino zabija tego Dinko i potem stoi.
Sprawdzałem czy może stan PC_hero ma wpływ bo podczas tej akcji jest unieruchomiony korzeniem ale inny npc normalnie zagadywał.
Tekst dialogu celowo wywaliłem żeby nie robić spoilerów :p
func int dia_lupino_hello2_condition()
{
if (LUPINO_Kurwa == TRUE)
&& Npc_KnowsInfo(other, DIA_LUPINO_HELLO1)
{
return TRUE;
};
};
func void dia_lupino_hello2_info()
{
AI_PlayAni(KDW_3402_Lupino,"T_IGETYOU");
AI_Output(self,other,"DIA_Lupino_HELLO2_03_01"); //bla bla
AI_Output(self,other,"DIA_Lupino_HELLO2_03_02"); // bla bla
//AI_StandupQuick(PC_hero);
PrintScreen (PRINT_LupinoKorzen, -1, 30, FONT_Screen, 4);
Snd_Play ("MFX_FEAR_CAST");
Npc_ClearAIQueue(hero);
B_ClearPerceptions(hero);
AI_StartState(hero,ZS_MagicFreeze,0,"");
Wld_PlayEffect("SpellFX_Greententacle_TARGET",hero,hero,0,0,DAM_MAGIC,FALSE);
AI_StopProcessInfos(self);
AI_StopProcessInfos(other);
B_Attack (KDW_3402_Lupino, Dinko, AR_KILL,0);
};
instance DIA_LUPINO_HELLO3(C_Info)
{
npc = KDW_3402_Lupino;
nr = 1;
condition = dia_lupino_hello3_condition;
information = dia_lupino_hello3_info;
permanent = FALSE;
important = TRUE;
};
func int dia_lupino_hello3_condition()
{
if ( Npc_IsDead (none_3104_Dinko))
{
return TRUE;
};
};
func void dia_lupino_hello3_info()
{
AI_Output(self,other,"DIA_Lupino_HELLO3_03_01"); //
AI_Output(self,other,"DIA_Lupino_HELLO3_03_02"); //
AI_Output(other,self,"DIA_Lupino_HELLO3_15_03"); //
AI_Output(other,self,"DIA_Lupino_HELLO3_15_04"); //
AI_Output(self,other,"DIA_Lupino_HELLO3_03_05"); //
AI_Output(self,other,"DIA_Lupino_HELLO3_03_06"); //
AI_Output(self,other,"DIA_Lupino_HELLO3_03_07"); //
AI_StopProcessInfos(other);
B_Attack (Lupino, PC_Hero, AR_NONE,0);
Npc_ExchangeRoutine(KDW_3402_Lupino,"RUN");
B_RemoveNpc (Coqui);
Wld_InsertNpc(sld_3230_zolnierz,"ST_BDT_01");
Wld_InsertNpc(sld_3229_zolnierz,"ST_BDT_02");
Wld_InsertNpc(sld_3221_wascarst,"ST_PATH_02");
Bandyta1.aivar[AIV_EnemyOverride] = FALSE;
Bandyta2.aivar[AIV_EnemyOverride] = FALSE;
Bandyta3.aivar[AIV_EnemyOverride] = FALSE;
};
Jeszcze takiego warunku próbowałem.
&& ( (Npc_GetDistToNpc(self,other) <= PERC_DIST_DIALOG) )