Я снова что-то намутил не того...
Neverwinter Script
void main( )
{
object oSelf = OBJECT_SELF; // Наш НПС
object wp1 = GetObjectByTag( "p3_1" ); // ТОЧКА У КОСТРА
object wp2 = GetObjectByTag( "p3_0" ); // ТОЧКА У КОСТРА(СМОТРИТ)
object wp3 = GetObjectByTag( "p3_2" ); // ТОЧКА В ХРАМЕ
object wp_center = GetObjectByTag( "pos_center" ); // ТОЧКА, куда смотрят все послушники
object wp4 = GetObjectByTag( "p3_3" ); // ТОЧКА У ВТОРОГО КОСТРА
object wp_center_cost = GetObjectByTag( "p3_4" ); // ТОЧКА У ВТОРОГО КОСТРА(СМОТРИТ)
object wp5 = GetObjectByTag( "p3_5" ); // ИДЁТ СПАТЬ
int i = GetTimeHour();
float fTime = 17.0;
if ( IsInConversation( OBJECT_SELF ))
{ return; } // Проверим, не болтает ли с игроком...
if ( GetIsInCombat( OBJECT_SELF )) // Не дерется ли
{ ExecuteScript( "nw_c2_default1", OBJECT_SELF ); return; }
if ( i > 0 && i < 10 )
{ // СПИТ
if( GetDistanceBetween( oSelf, wp5 ) > 0.2 )
AssignCommand( oSelf, ActionForceMoveToObject( wp5, FALSE, 1.0, 25.0 ) );
ActionPlayAnimation(ANIMATION_LOOPING_DEAD_FRONT, 1.0, 36000.0);
}
else if(i >= 10 && i < 16)
{
// CИДИТ У КОСТРА
if( GetDistanceBetween( oSelf, wp1 ) > 0.2 )
ActionDoCommand(AssignCommand( oSelf, ActionForceMoveToObject( wp1, FALSE, 1.0, 25.0 )));
ActionDoCommand(AssignCommand( oSelf, SetFacingPoint(GetPosition(wp2))));
ActionPlayAnimation(ANIMATION_LOOPING_SIT_CROSS, 1.0, 21600.0);
ActionWait(5.0);
ANIMATION(oSelf);
}
else if ( i >= 16 && i < 20 )
{ // МОЛИТСЯ
if( GetDistanceBetween( oSelf, wp3 ) > 0.2 )
AssignCommand( oSelf, ActionForceMoveToObject( wp3, FALSE, 1.0, 25.0 ));
ActionDoCommand(AssignCommand(oSelf, SetFacingPoint(GetPosition(wp_center))));
ActionPlayAnimation(ANIMATION_LOOPING_MEDITATE, 1.0, 14400.0);
}
else if ( i > 20 && i < 23 )
{ // СНОВА У КОСТРА(ДРУГОГО)
if( GetDistanceBetween( oSelf, wp4 ) > 0.2 )
AssignCommand( oSelf, ActionForceMoveToObject( wp4, FALSE, 1.0, 25.0 ) );
ActionDoCommand(AssignCommand( oSelf, SetFacingPoint(GetPosition(wp_center_cost))));
ActionPlayAnimation(ANIMATION_LOOPING_SIT_CROSS, 1.0, 14400.0);
ActionWait(5.0);
ANIMATION(oSelf);
}
}
Проблема в том, что НПС не идет на точки и даже не думает этого делать. Только после разговора он(в зависимости от времени) поворачивается к точке(положенной по времени).
П.С. И еще, как заставить его не реагировать на "тыки" по нему мышкой.
П.П.С. Совсем забыл, я пытаюсь наложить эффект на невидимый(и видимый) предмет, но его не видно, только звук при проигровании... =(
Заранее спасибо.