View Single Post
  #1354  
Old 08-24-2012, 11:00 PM
Codex Codex is offline
Approved Member
 
Join Date: Nov 2007
Location: Hoppers Crossing, Vic, Australia
Posts: 624
Default

Quote:
Originally Posted by 5./JG27.Farber View Post

Code:
 Despawn Script
  private bool isAiControlledPlane (AiAircraft aircraft) 
  {
        if (aircraft == null) 
        { 
            return false;
        }
 
        Player [] players = GamePlay.gpRemotePlayers ();
        foreach (Player p in players) 
        {    
            if (p != null && (p.Place () is AiAircraft) && (p.Place () as AiAircraft) == aircraft)
            { 
                return false;
            }
        }
 
        return true;
    }
 
    private void destroyPlane (AiAircraft aircraft) {
        if (aircraft != null) { 
            aircraft.Destroy ();
        }
    }
 
    private void explodeFuelTank (AiAircraft aircraft) 
  {
        if (aircraft != null) 
        { 
            aircraft.hitNamed (part.NamedDamageTypes.FuelTank0Exploded);
        }
    }
 
    private void destroyAiControlledPlane (AiAircraft aircraft) {
        if (isAiControlledPlane (aircraft)) {
            destroyPlane (aircraft);
        }
    }
 
    private void damageAiControlledPlane (AiActor actor) {
        if (actor == null || !(actor is AiAircraft)) { 
            return;
        }
 
        AiAircraft aircraft = (actor as AiAircraft);
 
        if (!isAiControlledPlane (aircraft)) {
            return;
        }
 
        if (aircraft == null) { 
            return;
        }
 
        aircraft.hitNamed (part.NamedDamageTypes.ControlsElevatorDisabled);
        aircraft.hitNamed (part.NamedDamageTypes.ControlsAileronsDisabled);
        aircraft.hitNamed (part.NamedDamageTypes.ControlsRudderDisabled);
        aircraft.hitNamed (part.NamedDamageTypes.FuelPumpFailure);
 
        int iNumOfEngines = (aircraft.Group() as AiAirGroup).aircraftEnginesNum();
        for (int i = 0; i < iNumOfEngines; i++)
        {
            aircraft.hitNamed((part.NamedDamageTypes)Enum.Parse(typeof(part.NamedDamageTypes), "Eng" + i.ToString() + "TotalFailure"));
        }
 
        /***Timeout (240, () =>
                {explodeFuelTank (aircraft);}
            );
         * ***/
 
        Timeout (300, () =>
                {destroyPlane (aircraft);}
            );
    }
Where did you get that code snipet from Farber?
Reply With Quote