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
vBulletin® v3.8.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.