View Full Version : Can you group multiple [Action] to spawn from one time [Trigger]?
hc_wolf
03-21-2012, 08:25 AM
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
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:
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:
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.
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'
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
vBulletin® v3.8.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.