Thursday, 6 December 2012

Videos


Pictures






Code used


class AIRandom2 extends GameAIController;

//declaring variables here means
//they may be used throughout this script
var Vector MyTarget;

//at the start of the level
simulated event PostBeginPlay()
{
    super.PostBeginPlay();

   //start the brain going at half second intervals
   SetTimer(0.5, true, 'BrainTimer');
}

function BrainTimer()
{
  //local variables are only used in this function
  local Pawn P;
  local float Distance;

  //check if theres another pawn, the pawn belongning to this controller isnt counted
  foreach WorldInfo.AllPawns(class'Pawn', P)
    {
          if (P != None)  //if there is one
          {

            //get the distance
            Distance = VSize2D(Pawn.Location - P.Location);

              //if its closer than 500
            if (Distance <= 500)
            {
             //make its location MyTarget
             MyTarget = P.Location;
             //so it doesnt fly up n down
             MyTarget.Z = P.Location.Z;
             //MoveTo the pawn
             GoToState('MoveAbout');
            }
            else  //if its too far away
            {
            //do whats in the function called MoveRandom()
            MoveRandom();
            }

          }
          else  //if there isnt another pawn
          {
            //call the function MoveRandom()
            MoveRandom();
          }
        }
}

function MoveRandom()

 local int OffsetX;
  local int OffsetY;

  //make a random number
  OffsetX = Rand(500)-Rand(500);
  OffsetY = Rand(500)-Rand(500);

       //some distance left or right and some distance in front or behind
    MyTarget.X = Pawn.Location.X + OffsetX;
    MyTarget.Y = Pawn.Location.Y + OffsetY;
       //so it doesnt fly up n down
       MyTarget.Z = Pawn.Location.Z;

    //move to the random location
    GoToState('MoveAbout');
}

state MoveAbout
{
Begin:
    //MoveTo makes it move to a location (vector)
    MoveTo(MyTarget);
}

defaultproperties
{

}

By Dean

No comments:

Post a Comment