Log in

View Full Version : NEed one scrip


melasuda
03-10-2012, 12:22 PM
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
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:

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

MissionNumberListener = -1;
}


so the complete should look like

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