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)
-   -   Can you group multiple [Action] to spawn from one time [Trigger]? (http://forum.fulqrumpublishing.com/showthread.php?t=30624)

hc_wolf 03-21-2012 08:25 AM

Can you group multiple [Action] to spawn from one time [Trigger]?
 
I want to use one time trigger to spawn multiple groups in an [ACTION] spawn

Is there a way you can spawn multiple actions when the time trigger G17 is active?



[Trigger]
G17 TTime 60


[Action]
action17 ASpawnGroup 1 BoB_LW_KuFlGr_706.01
action18 ASpawnGroup 1 BoB_LW_KuFlGr_706.04
action19 ASpawnGroup 1 BoB_LW_KuFlGr_706.02



Code:

base.OnTrigger(missionNumber, shortName, active);

                if ("G17".Equals(shortName) && active)
        {
            AiAction action = GamePlay.gpGetAction("action17");
            if (action != null)
            {
                action.Do();
            }


FG28_Kodiak 03-21-2012 08:37 AM

yes create a list (or array) which contains the actionnames.

Example:
Code:

        List<string> ActionToDoList = new List<string>{"action17", "action18", "action19"};

if ("G17".Equals(shortName) && active)
{
        ActionToDoList.ForEach(item =>
            {
                AiAction action = GamePlay.gpGetAction(item);
                if (action != null)
                {
                    action.Do();
                }
            });
}

You can also use:
Code:

if ("G17".Equals(shortName) && active)
{
                AiAction action = GamePlay.gpGetAction("action17");
                if (action != null)
                {
                    action.Do();
                }
                action = GamePlay.gpGetAction("action18");
                if (action != null)
                {
                    action.Do();
                }
                action = GamePlay.gpGetAction("action19");
                if (action != null)
                {
                    action.Do();
                }
}

But lists or arrays are easier to handle.

hc_wolf 03-21-2012 08:38 AM

FG28_Kodiak I tried this with a number of other changes but I keep getting the following server error.

The name 'action' does not exist in the current context.
I have looked at other coding and can not see the problem.


Code:

       

base.OnTrigger(missionNumber, shortName, active);       
         
          List<string> ActionToDoList = new List<string>{"action17", "action18", "action19", "action20", "action21", "action22"};   
                       
                if ("G17".Equals(shortName) && active)
        {
                  ActionToDoList.ForEach(item =>
                {       
                                if (action != null)
                                {
                action.Do();
                                }
 
                        });
                }


and if I use this code I get another error saying Invalid expression term 'if'
Code:

          List<string> ActionToDoList = new List<string>{"action17", "action18", "action19", "action20", "action21", "action22"};   
                       
                if ("G17".Equals(shortName) && active)
        {
                        ActionToDoList.ForEach(item =>
                       
                        if (action != null)
                                {
                action.Do();
                                }

                        });


FG28_Kodiak 03-22-2012 04:21 AM

Hm look at my example. ;)

ActionToDoList.ForEach(item =>
{
AiAction action = GamePlay.gpGetAction(item); //<== you forget this line
if (action != null)
{
action.Do();
}
});

Second problem:

if ("G17".Equals(shortName) && active)
{
ActionToDoList.ForEach(item =>
{ //<== you forget this bracket
if (action != null)
{
action.Do();
}

});

hc_wolf 03-22-2012 05:46 AM

Yes that got it. Gees mate. I am gonna have to put your name in lights in this next mission to be released hahaha

Thanks so much


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

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