Perc odpowiadający za reagowanie na przeciwników 2104 3

O temacie

Autor

Zaczęty 13.01.2015 roku

Wyświetleń 2104

Odpowiedzi 3

gothic1210
  • Gość
Chcę, aby NPC przez jakiś czas nie atakował pobliskich zwierzaków. Próbowałem z Npc_PercDisable PERC_ASSESSENEMY i PERC_ASSESSFIGHTER. Da się to w ogóle zrobić percami?
 

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator
To nie jest tak że rutyna tego NPC włącza perce z powrotem? Chyba że chodzi o inne perce:
Cytuj
PERC_ASSESSTHREAT
PERC_OBSERVEINTRUDER
PERC_ASSESSWARN
PERC_OBSERVESUSPECT
(chociaż ja też bym strzelał w PERC_ASSESSENEMY)

gothic1210
  • Gość
Dzięki. Napisałem tę rutynę tak:
func void ZS_NoFight ()
{
   PrintDebugNpc (PD_TA_FRAME,"ZS_MOD_NoFight");
   B_SetPerception (self);   
   Npc_PercDisable (self,PERC_ASSESSENEMY);
   Npc_PercDisable (self,PERC_ASSESSTHREAT);
   Npc_PercDisable (self,PERC_OBSERVEINTRUDER);
   Npc_PercDisable (self,PERC_ASSESSWARN);
   Npc_PercDisable (self,PERC_OBSERVESUSPECT);
};
func void ZS_NoFight_Loop ()
{
   print ("nofight test");
   AI_Wait (self, 1);
};
func void ZS_NoFight_End ()
{
   PrintDebugNpc (PD_TA_FRAME,"ZS_MOD_NoFight_End");
};
Musiałem dać B_SetPerception, bo bez tego NPC nie chciał nawet rozmawiać. A samo PERC_ASSESSENEMY też nie działało za dobrze. Nie miałem czasu dokładnie sprawdzać. W każdym razie ten skrypt działa i osiągnąłem efekt. 
 



0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry