View Single Post
  #4  
Old 04-08-2012, 12:31 PM
bolox bolox is offline
Approved Member
 
Join Date: May 2008
Posts: 351
Default

triggers can be made to do 'random' things
Code:
// Script that triggered an accidental damage to the player plane
// Autor: FG28_Kodiak

using System;
using maddox.game;
using maddox.game.world;

    public class Mission : maddox.game.AMission
    {
		 
		    AiAircraft PlayerPlane;

    
    
        public override void OnTrigger(int missionNumber, string shortName, bool active) 
        {
            if (("trigger01".Equals(shortName) || "trigger02".Equals(shortName))  && active) 
            { 
                DoDamage();
            }
            GamePlay.gpGetTrigger(shortName).Enable = false;
        }
    
    
        private void DoDamage()
        {
                PlayerPlane = (AiAircraft)GamePlay.gpPlayer().Place();              
                    
                Random RandomIncident = new Random();
            
        		    switch (RandomIncident.Next(1,9))
						    {
						        case 1:
								        PlayerPlane.hitNamed(part.NamedDamageTypes.ControlsElevatorDisabled);
								        GamePlay.gpHUDLogCenter("Elevator Disabled");
								    break;
								    case 2:
								        PlayerPlane.hitNamed(part.NamedDamageTypes.ControlsAileronsDisabled);
								        GamePlay.gpHUDLogCenter("Ailerons Disabled");
								    break;
								    case 3:
								        PlayerPlane.hitNamed(part.NamedDamageTypes.ControlsRudderDisabled);
								        GamePlay.gpHUDLogCenter("Rudder Disabled");
								    break;
								    case 4:
								        PlayerPlane.hitNamed(part.NamedDamageTypes.Eng0PropBlade0Broken);
								        GamePlay.gpHUDLogCenter("PropBlade Broken");
								    break;
								    case 5:
								        PlayerPlane.hitNamed(part.NamedDamageTypes.Eng0TotalFailure);
								        GamePlay.gpHUDLogCenter("Engine Failure");
								    break;
								    case 6:
								        PlayerPlane.hitNamed(part.NamedDamageTypes.Eng0OilSecondariesFire);
										    GamePlay.gpHUDLogCenter("Oil is on fire");
								    break;
								    case 7:
								 		    PlayerPlane.hitNamed(part.NamedDamageTypes.HydraulicsPumpFailure);
								        GamePlay.gpHUDLogCenter("Hydraulics Pump failure");
								    break;
								    case 8:
								 		    PlayerPlane.hitNamed(part.NamedDamageTypes.UndercarriageDownLockFailureL);
								        GamePlay.gpHUDLogCenter("UndercarriageDownLock Left failure");
								    break;
								    case 9:
								 		    PlayerPlane.hitNamed(part.NamedDamageTypes.Eng0Plug00Failure);
								 		    PlayerPlane.hitNamed(part.NamedDamageTypes.Eng0Plug01Failure);
								 		    PlayerPlane.hitNamed(part.NamedDamageTypes.Eng0Plug05Failure);
								        GamePlay.gpHUDLogCenter("Engine Plug 0,1,5 failure");
								    break;
						    }        	
        	
        }
 
        public override void OnAircraftLanded(int missionNumber, string shortName, AiAircraft aircraft)
        {
            GamePlay.gpHUDLogCenter("Excellent!");
        }
    
        public override void OnAircraftCrashLanded(int missionNumber, string shortName, AiAircraft aircraft) 
        {
            GamePlay.gpHUDLogCenter("Congratulation You are alive ;-)");
        }

    
    }
message can be sent to pretty much anyone you like as i understand it- but Kodiak will be able to answer that much better than me (and probably a better way of doing the random )
Reply With Quote