home *** CD-ROM | disk | FTP | other *** search
/ GameStar 2006 April / Gamestar_83_2006-04_dvd.iso / Dema / demowot_english.exe / Script / Source / akrndmover.inc < prev    next >
Text File  |  2005-03-11  |  2KB  |  69 lines

  1. #if defined _akrndmover_inc
  2.     #endinput
  3. #endif
  4. #define _akrndmover_inc
  5. //============================================================================================================================
  6.  
  7. new gRndWPNum = 0;
  8. new gRndEntityNum = 0;
  9. new gRndWPName[30];
  10. new gRndEntityName[30];
  11.  
  12.  
  13. stock RndMoveInit( WpName[], EntityName[] )
  14. {
  15.     ConcatString( gRndWPName, 30, "", WpName );
  16.     ConcatString( gRndEntityName, 30, "", EntityName );
  17.         
  18.     AddAKEntityEvent( "RandomMove", ANY_ENTITY, UNIT_COMMAND_QUEUE_EMPTY );
  19.     
  20.     new Iterator:i = Iterate( "Entities", "cArea" );
  21.     while( ItNext( i )) {
  22.         new tmpStrID[40];
  23.         GetPropertyString( ItEntity(i), "StringID", 40, tmpStrID );
  24.         if( StrFind( tmpStrID, gRndWPName ) == 0)
  25.             gRndWPNum++;        
  26.     }
  27.     ItStop(i);
  28.     
  29.     i = Iterate( "Entities", "cUnit" );
  30.     while( ItNext( i )) {
  31.         new tmpStrID[40];
  32.         GetPropertyString( ItEntity(i), "StringID", 40, tmpStrID );
  33.         if( StrFind( tmpStrID, gRndEntityName ) == 0)
  34.             gRndEntityNum++;        
  35.     }
  36.     ItStop(i);
  37. }
  38.  
  39. stock MovementRandomizer()
  40. {
  41.     new i;
  42.     new EntityName[40];
  43.     for(i = 1; i <= gRndEntityNum; i++)
  44.     {
  45.         new tmpstr1[3];
  46.         
  47.         Int2Str( i, tmpstr1, 3 );
  48.         ConcatString( EntityName, 30, gRndEntityName, tmpstr1 );
  49.         
  50.         RandomMove( GetEntity( EntityName ) );
  51.     }
  52.  
  53. }
  54.  
  55. public RandomMove(DrID:Unit)
  56. {
  57.     new tmpstr[3];
  58.     new RndWPName[30];
  59.     new rndWP;
  60.     
  61.     rndWP = Rnd( 1 , gRndWPNum );    
  62.         
  63.     Int2Str( rndWP, tmpstr, 3 );
  64.     ConcatString( RndWPName, 30, gRndWPName, tmpstr );
  65.     
  66.     CmdMoveToEnt( Unit, GetEntity( RndWPName ), Q_OVERRIDE, MF_NONE );
  67.     CmdWait( Unit, Q_ENQUEUE, FloatRnd( 0.0, 10.0 ) );
  68. }
  69.