Initial Commit
Initial Commit [v1.32PRC8]
This commit is contained in:
72
_module/nss/no_scr_shutdown.nss
Normal file
72
_module/nss/no_scr_shutdown.nss
Normal file
@@ -0,0 +1,72 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Shutdown
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
This script will shutdown the combat AI.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "no_lib_data"
|
||||
#include "no_inc"
|
||||
|
||||
void main()
|
||||
{
|
||||
int iCnt = GetLocalInt( OBJECT_SELF, "#QUEUESHUTDOWN" );
|
||||
int iCombat = 0;
|
||||
//object oEnemy;
|
||||
int iRestWait = 30;
|
||||
|
||||
//delete queue marker
|
||||
DeleteLocalInt( OBJECT_SELF, "#QUEUESHUTDOWN" );
|
||||
|
||||
//SpeakString( "CFS" );
|
||||
//if ( !GetIsInCombat() && GetLocalInt( OBJECT_SELF, "#ACTIVE" ) && !IsInConversation( OBJECT_SELF ) )
|
||||
if ( !IsInConversation( OBJECT_SELF ) )
|
||||
{
|
||||
//oEnemy = GetNearestCreature( CREATURE_TYPE_REPUTATION, REPUTATION_TYPE_ENEMY, OBJECT_SELF, 1, CREATURE_TYPE_IS_ALIVE, TRUE );
|
||||
int iE = GetHostileCount( 50.0 );
|
||||
if ( iE )
|
||||
{
|
||||
InitCombat();
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( GetIsObjectValid( GetMaster( OBJECT_SELF ) ) )
|
||||
{
|
||||
DeleteLocalInt( OBJECT_SELF, "#FASTBUFFED" );
|
||||
DeleteLocalInt( OBJECT_SELF, "#QUEUESHUTDOWN" );
|
||||
DeleteLocalInt( OBJECT_SELF, "#ACTIVE" );
|
||||
DeleteLocalInt( OBJECT_SELF, "#VANISHED" );
|
||||
//SetReadyStatus();
|
||||
ActionForceFollowObject( GetMaster( OBJECT_SELF ), 3.0 );
|
||||
return;
|
||||
}
|
||||
//else if ( !GetLocalInt( OBJECT_SELF, "#LASTREST" ) && GetTimeSinceLastCombat() > iRestWait )
|
||||
else if ( GetTimeSinceLastCombat() > iRestWait )
|
||||
{
|
||||
//PrintString( "RESTING: " + GetName( OBJECT_SELF ) );
|
||||
DeleteLocalInt( OBJECT_SELF, "#FASTBUFFED" );
|
||||
DeleteLocalInt( OBJECT_SELF, "#QUEUESHUTDOWN" );
|
||||
DeleteLocalInt( OBJECT_SELF, "#ACTIVE" ); //shutdown AI heartbeats until an opponent shows up
|
||||
DeleteLocalInt( OBJECT_SELF, "#VANISHED" );
|
||||
//SetReadyStatus();
|
||||
if ( !GetLocalInt( OBJECT_SELF, "#LASTREST" ) )
|
||||
{
|
||||
ActionRest(); //no enemies seen for 30 seconds, rest
|
||||
SetLocalInt( OBJECT_SELF, "#LASTREST", 1 );
|
||||
}
|
||||
ActionDoCommand( WalkWayPoints() ); //start walking waypoints if applicable
|
||||
return;
|
||||
}
|
||||
|
||||
if ( !GetLocalInt( OBJECT_SELF, "#QUEUESHUTDOWN" ) && GetLocalInt( OBJECT_SELF, "#ACTIVE" ) )
|
||||
{
|
||||
//DelayCommand( 12.0, ExecuteScript( "no_scr_shutdown", OBJECT_SELF ) );
|
||||
DoQueueShutdown( 12.0 );
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user