Fulqrum Publishing Home   |   Register   |   Today Posts   |   Members   |   UserCP   |   Calendar   |   Search   |   FAQ

Go Back   Official Fulqrum Publishing forum > Fulqrum Publishing > IL-2 Sturmovik: Cliffs of Dover > FMB, Mission & Campaign builder Discussions

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #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
 

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 11:48 AM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright © 2007 Fulqrum Publishing. All rights reserved.