Official Fulqrum Publishing forum

Official Fulqrum Publishing forum (http://forum.fulqrumpublishing.com/index.php)
-   FMB, Mission & Campaign builder Discussions (http://forum.fulqrumpublishing.com/forumdisplay.php?f=203)
-   -   Script needed (http://forum.fulqrumpublishing.com/showthread.php?t=40656)

Hood 08-09-2013 09:12 PM

Script needed
 
Hi all

I need a script for a small DF mission I have made. I have 4 triggers. There are 4 trigger names which are the same for trigger and action.

1. Ju87s spawn after 600 seconds

2. Blenheims spawn after 900 seconds

3. A Bf108 spawns after 1200 seconds

4. If the Bf108 is 50%+ destroyed some 109s spawn in.

The best I can do is the following but it won't work in mission:


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

public class Mission : AMission
{

public override void OnTrigger(int missionNumber, string shortName, bool active)
{
base.OnTrigger(missionNumber, shortName, active);

if ("Blenheims".Equals(shortName) && active)
{
AiAction action = GamePlay.gpGetAction("Blenheims"); //same as YourTriggerName
GamePlay.gpLogServer(null, " RAF bomber group spawned ", new object[] { }); //Testmessage
if (action != null)
{
action.Do();
}
GamePlay.gpGetTrigger(shortName).Enable = false;
}
}
}

public override void OnTrigger(int missionNumber, string shortName, bool active)
{
base.OnTrigger(missionNumber, shortName, active);

if ("Ju87s".Equals(shortName) && active)
{
AiAction action = GamePlay.gpGetAction("Ju87s"); //same as YourTriggerName
GamePlay.gpLogServer(null, " German bomber group spawned ", new object[] { }); //Testmessage
if (action != null)
{
action.Do();
}
GamePlay.gpGetTrigger(shortName).Enable = false;
}
}
}

public override void OnTrigger(int missionNumber, string shortName, bool active)
{
base.OnTrigger(missionNumber, shortName, active);

if ("Bf108".Equals(shortName) && active)
{
AiAction action = GamePlay.gpGetAction("Bf108"); //same as YourTriggerName
GamePlay.gpLogServer(null, " German air group spawned ", new object[] { }); //Testmessage
if (action != null)
{
action.Do();
}
GamePlay.gpGetTrigger(shortName).Enable = false;
}
}
}

public override void OnTrigger(int missionNumber, string shortName, bool active)
{
base.OnTrigger(missionNumber, shortName, active);

if ("Bf109s".Equals(shortName) && active)
{
AiAction action = GamePlay.gpGetAction("Bf109s"); //same as YourTriggerName
GamePlay.gpLogServer(null, " Eeek - huns in the sun! ", new object[] { }); //Testmessage
if (action != null)
{
action.Do();
}
GamePlay.gpGetTrigger(shortName).Enable = false;
}
}
}



Any suggested changes?

Hood

bolox 08-10-2013 03:45 AM

you only need one instance of the "public overide void on trigger" with all four triggers contained within it.

am doing this from a phone so can't paste an example for you.
should have computer/ internet access tomorrow if you haven't figured it out by then.

Hood 08-10-2013 11:03 AM

Quote:

Originally Posted by bolox (Post 508102)
you only need one instance of the "public overide void on trigger" with all four triggers contained within it.

am doing this from a phone so can't paste an example for you.
should have computer/ internet access tomorrow if you haven't figured it out by then.

Hi bolox

I'll need an example - I have a HUGE blind spot when it comes to coding.

Thanks

Hood

bolox 08-10-2013 01:03 PM

ok, new modem and I have internet:grin:

you need to have something like this example with 4 triggers in
Code:

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

public class Mission : AMission
{
      public override void OnTrigger(int missionNumber, string shortName, bool active)
        {
      base.OnTrigger(missionNumber, shortName, active);

          if ("41".Equals(shortName) && active)
          {
                AiAction action = GamePlay.gpGetAction("41");
                if (action != null)
                {
                    action.Do();
                }
                GamePlay.gpHUDLogCenter("41");     
                GamePlay.gpGetTrigger(shortName).Enable = false;           
          }
                 
                if ("46".Equals(shortName) && active)
          {
                AiAction action = GamePlay.gpGetAction("46");
                if (action != null)
                {
                    action.Do();
                }
                GamePlay.gpHUDLogCenter("46");     
                GamePlay.gpGetTrigger(shortName).Enable = false; 
    }
        if ("605".Equals(shortName) && active)
          {
                AiAction action = GamePlay.gpGetAction("605");
                if (action != null)
                {
                    action.Do();
                }
                GamePlay.gpHUDLogCenter("605");     
                GamePlay.gpGetTrigger(shortName).Enable = false;           
          }
       
                 
       
        if (GamePlay.gpGetTrigger("mis").Active) {
        end = true;
        //GamePlay.gpHUDLogCenter("!");
    }
}
}

basically rename this as your mission name and change the trigger names should get you going- you can then change the HudLog messages to server messages if you wish.

I don't think I've made any errors:rolleyes: but I haven't tested this, just cut out a trigger section from one of my campaigns and plugged it into the structure you gave (Amission etc)

good luck

Hood 08-10-2013 05:16 PM

Thanks. I think I need one extra section but will copy and paste.

Thanks again

Hood

bolox 08-10-2013 06:09 PM

there are actually 4 triggers- just the last one
Code:

if (GamePlay.gpGetTrigger("mis").Active) {
        end = true;
        //GamePlay.gpHUDLogCenter("!");
    }

is a slightly different format- replace with earlier type.

You using notepad++/visual studio? - these will help with 'bracket pairing' and finding line numbers for any errors generated

Hood 08-10-2013 07:04 PM

Um just notepad or word pad.

I think I can work out the brackets. Too busy toasting marshmallows right now though. Will try it tomorrow and will report back.

Hood


All times are GMT. The time now is 08:02 AM.

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