Despawn ou faire disparaitre les avions vides
Publié : jeu. oct. 30, 2014 11:42 am
Lut
Pour le cours de ce jour: comment enlever les avions délaissés par les joueurs et qui, malheureusement, redécollent et fout le bordel dans votre belle mission?
Grâce à un script de Despawn
ATTENTION: ce script ne fonctionne QUE pour une mission lancée via un serveur dédié, si vous voulez la lancer via un host standart, il faudra l'adapter (et j'ignore comment mais je l'ai vu quelque part )
Ajoutez ceci en bas de votre fichier .cs:
Plusieurs versions existent, celle-ci fonctionne même si un joueur prend la place mitrailleur (en plus du premier joueur qui pilote) et quitte l'avion 5mn plus tard....
Pour le cours de ce jour: comment enlever les avions délaissés par les joueurs et qui, malheureusement, redécollent et fout le bordel dans votre belle mission?
Grâce à un script de Despawn
ATTENTION: ce script ne fonctionne QUE pour une mission lancée via un serveur dédié, si vous voulez la lancer via un host standart, il faudra l'adapter (et j'ignore comment mais je l'ai vu quelque part )
Ajoutez ceci en bas de votre fichier .cs:
Code : Tout sélectionner
public void _DespawnEmptyPlane(AiActor actor)
{
if (actor == null)
{
return;
}
Player[] Players = GamePlay.gpRemotePlayers();
bool PlaneIsEmpty = true;
foreach (Player i in Players)
{
if ((i.Place() as AiAircraft) == (actor as AiAircraft))
{
PlaneIsEmpty = false;
break;
}
}
if (PlaneIsEmpty)
{
(actor as AiAircraft).Destroy();
}
}
public override void OnPlaceLeave(Player player, AiActor actor, int placeIndex)
{
base.OnPlaceLeave(player, actor, placeIndex);
Timeout(1, () =>
{
_DespawnEmptyPlane(actor);
});
}