![]() |
|
|
|
#1
|
||||
|
||||
|
Spawn/despawn script is kinda "incomplete" and causes unwanted behavior: plane instantly disappearing on bail out or plane disappearing when single member of crew leaves the plane (i.e. one of bomber gunners leaves the plane) while other members are still inside.
Additionally checking if plane is manned before "killing" it should help with multicrew plane despawns. Bail out despawns probably will be a lot tricker. |
|
#2
|
|||
|
|||
|
Attention mission makers! A person from dev team told we can put AA guns on oil tankers at other forums. This means we can have some sea battles going on in the channel )) or coastal airfields attacked from sea.
Can not try it myself yet. Last edited by Ataros; 04-19-2011 at 03:22 PM. |
|
#3
|
|||
|
|||
|
Quote:
the selection will be under cargo
__________________
Gigabyte Z68 Intel 2500K (@4.3 ghz)212 CM Cooler 8GB Ram EVGA 660SC (super clocked) 2GB Vram CORSAIR CMPSU-750TX 750W 64 GB SSD SATA II HD WIN7 UL 64BIT |
|
#4
|
|||
|
|||
|
thank you Zalty does this replace the original script?
__________________
Gigabyte Z68 Intel 2500K (@4.3 ghz)212 CM Cooler 8GB Ram EVGA 660SC (super clocked) 2GB Vram CORSAIR CMPSU-750TX 750W 64 GB SSD SATA II HD WIN7 UL 64BIT |
|
#5
|
||||
|
||||
|
Yes, if previous one handled only despawning.
|
|
#6
|
||||
|
||||
|
I have edited my despawn script post and added additional "null" check to prevent some possible error.
|
|
#7
|
|||
|
|||
|
Quote:
edit : It seems there is one more "}" than needed, but works flawlessly Last edited by Jwam; 04-20-2011 at 09:12 PM. |
|
#8
|
|||
|
|||
|
Did you upload your mission somewhere? Could I have a look at it in FMB?
|
|
#9
|
|||
|
|||
|
Quote:
|
|
#10
|
||||
|
||||
|
Script for despawning planes without humans inside. Multicrew friendly.
Code:
using System;
using maddox.game;
using maddox.game.world;
using System.Collections.Generic;
public class Mission : AMission
{
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);
});
}
}
}
Last edited by ZaltysZ; 04-20-2011 at 07:26 PM. Reason: Code change |
![]() |
|
|