Показать сообщение отдельно
Старый 08.10.2008, 17:26   #2094
halogene

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: М: Скриптинг в Готике

2kraw: Скорее всего, проблема в прикрученном "мужицком" B_AssessTalk.
Что у него внутри...
func void B_AssessTalk()
{
     var C_Npc her;
     var C_Npc rock;
     PrintDebugNpc(PD_ZS_FRAME,"B_AssessTalk");
     if(Npc_IsInState(self,ZS_Smoke))
     {
           Npc_ClearAIQueue(self);
           AI_StandupQuick(self);
           AI_StartState(self,ZS_Talk,0,"");
     }
     else if(C_BodyStateContains(self,BS_MOBINTERACT))
     {
           return;
     };
     her = Hlp_GetNpc(PC_Hero);
     rock = Hlp_GetNpc(PC_Rockefeller);
     if((Hlp_GetInstanceID(her) != Hlp_GetInstanceID(hero)) && (Hlp_GetInstanceID(rock) != Hlp_GetInstanceID(hero)))
     {
           B_Say(self,other,"$NOTNOW");
     }
     else
     {
           Npc_SetPercTime(self,3);
           self.aivar[AIV_INVINCIBLE] = FALSE;
           hero.aivar[AIV_INVINCIBLE] = FALSE;
           hero.aivar[AIV_IMPORTANT] = FALSE;
           Npc_ClearAIQueue(self);
           Npc_SetPercTime(self,1);
           if(!C_BodyStateContains(self,BS_SIT) || !Npc_CanSeeNpc(self,hero))
           {
                 AI_StartState(self,ZS_Talk,1,"");
           }
           else
           {
                 AI_StartState(self,ZS_Talk,0,"");
           };
     };
};
if(C_BodyStateContains(self,BS_MOBINTERACT)) - вот тут явно надо обмозговать не вызывает ли работа с опахалом этого самого состояния? Ели да, то надо сделать исключение для женской гильдии GIL_BAB, чтобы не вносить изменения для мужского скрипта, либо написать свою функцию и поставть ее в женские перцепшены.
Ответить с цитированием