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)
-   -   spawn airgroups? (http://forum.fulqrumpublishing.com/showthread.php?t=26515)

Ataros 10-04-2011 05:31 PM

Sorry after reading the OP post I was thinking the trigger is airgroup destroyed, not TTime 10. My bad :)

Quote:

Originally Posted by salmo (Post 343808)
... and doesn't seem to work for me either (spawning a bomber group every x seconds) :(

But anyway, I think it is not possible to repeat spawn with a trigger only. It is better to use ontickgame method in a script described for instance in link #2 in my sig.

salmo 10-05-2011 11:18 AM

Quote:

Originally Posted by Ataros (Post 343947)
Sorry after reading the OP post I was thinking the trigger is airgroup destroyed, not TTime 10. My bad :)



But anyway, I think it is not possible to repeat spawn with a trigger only. It is better to use ontickgame method in a script described for instance in link #2 in my sig.

Thankyou Ataros. I'm aiming to spawn a group of Dorniers every XX min, so I've created the main mission (has all ground objects etc), and a sub-mission with only the Dornier bombers flight & waypoints. Here's my script so far which seem to be working, but I'm a little unsure of the timing parameters & their meaning ...

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

public class Mission : AMission
{

public override void OnTickGame()
{
// Timing parameters
int Repeat = 108000; // ?? repeat mission every 60 min
int Dlay = 18000; // ?? launch Dorniers flights every 10 min

// load the Dornier's bombers sub-mission every ??10 min
if (Time.tickCounter() % Repeat == Dlay) // what does repeat parameter do? Dlay seems to spawn bombers every 10min OK
{
GamePlay.gpPostMissionLoad("missions/Multi/Dogfight/Test/Dorniers.mis");

// prints message on screen after mission load
GamePlay.gpHUDLogCenter("Another wave of German bombers heading towards Lympne airfield");

// prints message on screen in 10 minutes / 600 seconds
double initTime = 0.0;
Timeout(initTime += 600, () =>
{
GamePlay.gpHUDLogCenter("Another wave of German bombers heading towards Lympne airfield");
});

}
}
}

FG28_Kodiak 10-05-2011 11:37 AM

if (Time.tickCounter() % Repeat == Dlay) //


Ok % is the Modulo operator in c#

Repeat has a value of 108000
Dlay has a value of 1800

So your mission would load first after 10min and then every 60min.

for every 10min you should use
if (Time.tickCounter() % 1800 == 1799)
so it waits ~10min and then repeat the doniers every 10min
30ticks are around 1sec, but can vary (so often 34Ticks is a second).

salmo 10-05-2011 03:58 PM

Thankyou Kodiak, I've got it now.

David198502 10-15-2011 10:20 AM

im still not able to spawn a single plane after another one gets destroyed!!!
why the heck has this to be sooo hard to achieve...damn
triggers dont seem to work and the scripts showed here in this thread dont seem to work either if i copy and paste them in the mission cs file.

David198502 10-15-2011 11:13 AM

1 Attachment(s)
thats what i did so far...

FG28_Kodiak 10-15-2011 11:47 AM

1 Attachment(s)
I've tested your mission, the problem is that the trigger is never triggered (testet it with different numbers of planes and plane types), then remove the trigger and made a new one but no effect, may be a bug in the Beta. Normaly your code should work.

So I made a workaroung without trigger.

Code:

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


public class Mission : AMission
{

    public override void OnActorDead(int missionNumber, string shortName, AiActor actor, List<DamagerScore> damages)
    {
        base.OnActorDead(missionNumber, shortName, actor, damages);

        AiAction MakeNewAircraft = GamePlay.gpGetAction("SpawnAircraft");
       
        if (actor != null && MakeNewAircraft != null)
        {
            if (actor.Name().Contains("BoB_RAF_F_FatCat_Early.000"))
            {

                MakeNewAircraft.Do();
                GamePlay.gpHUDLogCenter("New Enemy spawned!");
            }
        }
    }
}

What you need:
The script, a action in your Mission (i labled it "SpawnAircraft"), the name of the plane to destroy.
A new Airplane spawns after the previous is shoot down, you can improve it by adding a Planecount, etc.

David198502 10-15-2011 02:00 PM

thx Kodiak, really kind of you!and finally this works!
-if i understand it correctly, if i shoot the hurri, another one spawns, and i could repeat that to infinity???
i ask this, cause so far i tried the mission several times, and after i shot down the 4th hurri, no plane will spawn anymore....
i also expierence many game crashes, i think mainly when im near the spawning aera..

-can i just increase the number of the hurris without changing the script?i did and made a flight of six hurris, and after i shot down the 4th, the message "New Enemy spawned!" appeared, but unfortunately my game crashed.

-how do i determine the name of the plane???
-whats the planecount you mentioned to improve the mission???

i know i have many questions and im really greatful for your help.

David198502 10-15-2011 02:33 PM

ok tried again and answered some question by myself...its possible to increase the number of the planes...
after i let the hurri spawn further away and let it start on an airfield, the came doesnt crash anymore when spawning.

but it seems that after i shot down the first hurri, another spawns as expected, but after a few seconds, another one spawns without obvious reason....
happens everytime.so if i begin with one hurri, after i shot it down, i will have suddenly two enemies.
if i increase the the number from the beginning, the same thing seems to happen....but im still not sure when the respawn does take place in that situation....do i have to shoot down the first plane of the flight to trigger a respawn, or do i have to kill all planes of the flight??

Osprey 10-15-2011 02:44 PM

From what I understand so far is that if you set up triggers in the FMB then they are no longer working and you have to use a script to fire them?

I am trying to airspawn a fighter escort when the bomber group pass through their sector, otherwise they all spawn together and the fighters are off into the distance and gone.

I have set a trigger for Blue when they enter the fighter area but they are spawning in on map start. I am selecting File>Play mission in order to test.


All times are GMT. The time now is 09:03 AM.

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