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)
-   -   NEed one scrip (http://forum.fulqrumpublishing.com/showthread.php?t=30365)

melasuda 03-10-2012 12:22 PM

NEed one scrip
 
Hi all, first sorry for my english.

I have no idea of ​​programming in c.

But i have a cuestion.

can someone make a script where ia is destroyed after 5 seconds of landing?

THX

FG28_Kodiak 03-10-2012 12:46 PM

Code:

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


public class Mission : AMission
{
    private bool IsDestroyable(AiAircraft aircraft)
    {
        bool Destroyable = true;

        //Check if actor is empty (no Player)

        if (aircraft.ExistCabin(0))
            for (int i = 0; i < aircraft.Places(); i++)
            {
                if (aircraft.Player(i) != null)
                {
                    Destroyable = false;
                    break;
                }
            }

        return Destroyable;
    }


    public override void OnAircraftCrashLanded(int missionNumber, string shortName, AiAircraft aircraft)
    {
        base.OnAircraftCrashLanded(missionNumber, shortName, aircraft);

        if(IsDestroyable(aircraft))
            Timeout(5, () =>
                {
                    aircraft.Destroy();
                });
    }


    public override void OnAircraftLanded(int missionNumber, string shortName, AiAircraft aircraft)
    {
        base.OnAircraftLanded(missionNumber, shortName, aircraft);

        if (IsDestroyable(aircraft))
            Timeout(5, () =>
            {
                aircraft.Destroy();
            });
    }
}


melasuda 03-10-2012 01:22 PM

Thx.
But i have a problem.

When create a flight with the triggers,not disappear when it lands :-|

FG28_Kodiak 03-10-2012 09:42 PM

Ok, add this to the script:
Code:

    public override void OnBattleStarted()
    {
        base.OnBattleStarted();

        MissionNumberListener = -1;
    }

so the complete should look like
Code:

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


public class Mission : AMission
{

    public override void OnBattleStarted()
    {
        base.OnBattleStarted();

        MissionNumberListener = -1;
    }

    private bool IsDestroyable(AiAircraft aircraft)
    {
        bool Destroyable = true;

        //Check if actor is empty (no Player)

        if (aircraft.ExistCabin(0))
            for (int i = 0; i < aircraft.Places(); i++)
            {
                if (aircraft.Player(i) != null)
                {
                    Destroyable = false;
                    break;
                }
            }

        return Destroyable;
    }


    public override void OnAircraftCrashLanded(int missionNumber, string shortName, AiAircraft aircraft)
    {
        base.OnAircraftCrashLanded(missionNumber, shortName, aircraft);

        if(IsDestroyable(aircraft))
            Timeout(5, () =>
                {
                    aircraft.Destroy();
                });
    }


    public override void OnAircraftLanded(int missionNumber, string shortName, AiAircraft aircraft)
    {
        base.OnAircraftLanded(missionNumber, shortName, aircraft);

        if (IsDestroyable(aircraft))
            Timeout(5, () =>
            {
                aircraft.Destroy();
            });
    }
}


melasuda 03-11-2012 12:17 PM

Ok Thx,

this nigh test the scrip


All times are GMT. The time now is 06:10 AM.

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