// **********************************************
// WEJŚCIE DO KOPALNI
// **********************************************
const string GRD_6003_CHECKPOINT = "OCC_GNIDA";
// **********************************************
/***************************
instance Dia_Carlos_stop1 (C_INFO)
{
npc = GRD_6003_CARLOS;
nr = 2;
condition = Dia_Carlos_stop1_Condition;
information = Dia_Carlos_stop1_Info;
permanent = 1;
important = 1;
};
func int Dia_Carlos_stop1_Condition()
{
if ((hero.aivar[AIV_GUARDPASSAGE_STATUS]== AIV_GPS_BEGIN) && (carl_ask == FALSE)
&& (self.aivar[AIV_PASSGATE] == FALSE )
&& (Npc_GetAttitude(self,hero) != ATT_FRIENDLY )
&& (Hlp_StrCmp(Npc_GetNearestWP(self), self.wp) ))
{
return TRUE;
};
};
func void Dia_Carlos_stop1_Info()
{
PrintGlobals (PD_MISSION);
AI_Output (self, hero,"Dia_Carlos_stop1_Info_06_00"); //Gdzie ty leziesz?
AI_Output (hero, self,"Dia_Carlos_stop1_Info_15_01"); //Idę do kopalni.
AI_Output (self, hero,"Dia_Carlos_stop1_Info_06_02"); //Na cholerę? Nie jesteś ani kopaczem, ani strażnikiem. Spadaj!
hero.aivar[AIV_LASTDISTTOWP] = Npc_GetDistToWP(hero,"OCC_GNIDA");
hero.aivar[AIV_GUARDPASSAGE_STATUS] = AIV_GPS_FIRSTWARN;
spodnie = LOG_RUNNING;
Log_CreateTopic (CH1_spodnie, LOG_MISSION);
Log_SetTopicStatus (CH1_spodnie, LOG_RUNNING);
B_LogEntry (CH1_spodnie,"Cholera. Aby wejść do kopalni będe potrzebował spodni kopacza.");
AI_StopProcessInfos (other);
AI_GotoWP (other, "GO_AWAY_HERO");
};
instance Dia_Carlos_stop2 (C_INFO)
{
npc = GRD_6003_CARLOS;
nr = 1;
condition = Dia_Carlos_stop2_Condition;
information = Dia_Carlos_stop2_Info;
permanent = 1;
important = 1;
};
func int Dia_Carlos_stop2_Condition()
{
if ((hero.aivar[AIV_GUARDPASSAGE_STATUS] == AIV_GPS_FIRSTWARN) && (carl_ask == FALSE)
&& (self.aivar[AIV_PASSGATE] == FALSE )
&& (Npc_GetAttitude(self,hero) != ATT_FRIENDLY )
&& (Npc_GetDistToWP(hero,"OCC_GNIDA")) < (hero.aivar[AIV_LASTDISTTOWP]-100))
{
return TRUE;
};
};
func int Dia_Carlos_stop2_Info()
{
AI_Output (self, hero,"Dia_Carlos_stop2_06_00"); //Głuchy jesteś? Spadaj stąd bo wezwę straże!
hero.aivar[AIV_LASTDISTTOWP] = Npc_GetDistToWP (hero,"OCC_GNIDA");
hero.aivar[AIV_GUARDPASSAGE_STATUS] = AIV_GPS_LASTWARN;
AI_StopProcessInfos (other);
AI_GotoWP (other, "GO_AWAY_HERO");
};
instance Dia_Carlos_stop3 (C_INFO)
{
npc = GRD_6003_CARLOS;
nr = 1;
condition = Dia_Carlos_stop3_Condition;
information = Dia_Carlos_stop3_Info;
permanent = 1;
important = 1;
};
func int Dia_Carlos_stop3_Condition()
{
if ((hero.aivar[AIV_GUARDPASSAGE_STATUS] == AIV_GPS_LASTWARN) && (carl_ask == FALSE)
&& (Npc_GetAttitude(self,hero) != ATT_FRIENDLY )
&& (self.aivar[AIV_PASSGATE] == FALSE)
&& (Npc_GetDistToWP(hero,"OCC_GNIDA") < (hero.aivar[AIV_LASTDISTTOWP]-100))
&& (Hlp_StrCmp(Npc_GetNearestWP(self),self.wp) ))
{
return TRUE;
};
};
func int Dia_Carlos_stop3_Info()
{
hero.aivar[AIV_LASTDISTTOWP] = 0;
hero.aivar[AIV_GUARDPASSAGE_STATUS] = AIV_GPS_PUNISH;
B_FullStop (self);
AI_StopProcessInfos (self);
B_IntruderAlert (self, other);
B_SetAttackReason (self, AIV_AR_INTRUDER);
Npc_SetTarget (self, hero);
AI_StartState (self, ZS_Attack, 1, "");
};
To chyba ten skrypt