View Single Post
  #3  
Old 07-27-2011, 10:06 AM
SNAFU SNAFU is offline
Approved Member
 
Join Date: Feb 2011
Posts: 324
Default

Jepp, I included this into the submission script:

Code:
using System;
using maddox.game;
using maddox.game.world;
using System.Collections.Generic;

public class Mission : AMission
{
//-----------------------------------------------------------------------------------------------
//Section 1: Trigger Nachrichten

	public override void OnTrigger(int missionNumber, string shortName, bool active) 
	{
			if ("Trigger1R".Equals(shortName) && active) 				//Trigger 1 Nachricht
			{
				GamePlay.gpHUDLogCenter("Blue succeeded and sunk 3 red tanker"); 
				GamePlay.gpGetTrigger(shortName).Enable = false;
			}

			if ("Trigger2R".Equals(shortName) && active) 				//Trigger 1 Nachricht
			{
				GamePlay.gpHUDLogCenter("Red successfully reconnoitered LeHavre"); 
				GamePlay.gpGetTrigger(shortName).Enable = false;
			}

			if ("Trigger1B".Equals(shortName) && active) 				//Trigger 2 Nachricht
			{
				GamePlay.gpHUDLogCenter("Red succeeded and shot down 20% blue bomber"); 
				GamePlay.gpGetTrigger(shortName).Enable = false;
	}		

// Trigger Aktionen
base.OnTrigger(missionNumber, shortName, active); 

          if ("SpawnIntercept1".Equals(shortName) && active) 
          { 
                AiAction action = GamePlay.gpGetAction("SpawnIntercept1");
                if (action != null)
                {
                     action.Do();
                }
                GamePlay.gpGetTrigger(shortName).Enable = false;            
          }
		  
		  if ("SpawnIntercept2".Equals(shortName) && active) 
          { 
                AiAction action = GamePlay.gpGetAction("SpawnIntercept2");
                if (action != null)
                {
                     action.Do();
                }
                GamePlay.gpGetTrigger(shortName).Enable = false;            
          }
		  
		  if ("SpawnEscort1".Equals(shortName) && active) 
          { 
                AiAction action = GamePlay.gpGetAction("SpawnEscort1");
                if (action != null)
                {
                     action.Do();
                }
                GamePlay.gpGetTrigger(shortName).Enable = false;            
          }
		  
		  if ("SpawnEscort2".Equals(shortName) && active) 
          { 
                AiAction action = GamePlay.gpGetAction("SpawnEscort2");
                if (action != null)
                {
                     action.Do();
                }
                GamePlay.gpGetTrigger(shortName).Enable = false;            
          }
		  
		  if ("SpawnStuka1".Equals(shortName) && active) 
          { 
                AiAction action = GamePlay.gpGetAction("SpawnStuka1");
                if (action != null)
                {
                     action.Do();
                }
                GamePlay.gpGetTrigger(shortName).Enable = false;            
          }
		  
		  if ("SpawnStuka2".Equals(shortName) && active) 
          { 
                AiAction action = GamePlay.gpGetAction("SpawnStuka2");
                if (action != null)
                {
                     action.Do();
                }
                GamePlay.gpGetTrigger(shortName).Enable = false;            
          }
    }




//-----------------------------------------------------------------------------------------------
//Section 3: Briefing 
						
	public override void OnPlaceEnter(Player player, AiActor actor, int placeIndex)
    {
        base.OnPlaceEnter(player, actor, placeIndex);
        AiAircraft aircraft = actor as AiAircraft; 
        
        if (aircraft != null)
        switch (aircraft.Army())
      	  {                
            case 1:
		 if (aircraft.Type() == AircraftType.Bomber)				//Nachricht fuer rote Spieler beim spawnen
                { GamePlay.gpHUDLogCenter(new Player[] {player},"Fly a recon from Manston -AW25 to LeHavre -AN4"); }		
                else { GamePlay.gpHUDLogCenter(new Player[] { player }, "Cover our shipping south of Isle of White - AD17"); }	
                break;
            case 2:
                if (aircraft.Type() == AircraftType.Bomber) //Nachricht fuer blaue Spieler beim spawnen
		{ GamePlay.gpHUDLogCenter(new Player[] { player }, "Attack britisch shipping south of Isle of White - AD17"); }                 
                else { GamePlay.gpHUDLogCenter(new Player[] { player }, "Escort Ju87 from Theville - AC6 to AE15"); }           
                break;

     	   }
    }

  	  public override void OnAircraftTookOff(int missionNumber, string shortName, AiAircraft aircraft)
   {
        base.OnAircraftTookOff(missionNumber, shortName, aircraft);

        if (GamePlay.gpPlayer().Place() != aircraft)
            return;
        
        switch (aircraft.Army())
      	  {
            case 1:
              if (aircraft.Type() == AircraftType.Bomber)							//Nachricht fuer rote Spieler nach Start
                { GamePlay.gpHUDLogCenter(new Player[] { GamePlay.gpPlayer() }, "Fly a recon from Manston -AW25 to LeHavre -AN4"); }			
                else { GamePlay.gpHUDLogCenter(new Player[] { GamePlay.gpPlayer() }, "Cover our shipping south of Isle of White - AD17"); } 		
              break;
            case 2:
                 if ((aircraft.Type() == AircraftType.Bomber) || (aircraft.Type() == AircraftType.DiveBomber)) //Nachricht fuer blaue Spieler nach Start
              { GamePlay.gpHUDLogCenter(new Player[] { GamePlay.gpPlayer() }, "Attack britisch shipping south of Isle of White - AD17"); }       		
                else { GamePlay.gpHUDLogCenter(new Player[] { GamePlay.gpPlayer() }, "Escort Ju87 from Theville - AC6 to AE15"); } 		
              break;

       	 }
    }
	
//Section 4 : AI entfernen
public override void OnTickGame()
{
   double initTime;    

    if (Time.tickCounter() % 324000 == 323999) // Nach 180 Minuten werden die AI wieder entfernt
  {

foreach (int army in GamePlay.gpArmies())
            {
                foreach (AiAirGroup group in GamePlay.gpAirGroups(army))
                {
                    if (ActorName.MissionNumber(group.Name()).Equals(MissionNumber)) // Zeile L schen wenn auch AAA entfernt werden soll
                    {
                        AiActor[] members = group.GetItems();
                        for (int i = members.Length - 1; i > -1; i--)
                        {
                            (members[i] as AiAircraft).Destroy();
                        }
                    }
                }
                foreach (AiGroundGroup group in GamePlay.gpGroundGroups(army))
                {
                    if (ActorName.MissionNumber(group.Name()).Equals(MissionNumber)) // Zeile L schen wenn auch AAA entfernt werden soll
                    {
                        AiActor[] members = group.GetItems();
                        for (int i = members.Length - 1; i > -1; i--)
                        {
                            (members[i] as AiGroundActor).Destroy();
                        }
                    }
                }
            }
	}
}
			
		public override void OnActorCreated(int missionNumber, string shortName, AiActor actor)
				{

        base.OnActorCreated(missionNumber, shortName, actor);

        if (actor is AiGroundActor)
        {
            Timeout(324000, () => {	// nach 180minuten werden AI entfernt
                if (actor != null)
                { 
                    (actor as AiGroundActor).Destroy(); 
                }
            });
        }
    }
    }
Ok, takeoff doesn´t work for multiplayer, I already pictured that.
But the briefing message for blue bomber, does only work for He111 so far, all other work, except Stuka, Ju88...
__________________
http://cornedebrouwer.nl/cf48e
Reply With Quote