Another problem! We have an unusual map on our BT server which features "NemesisXF.Konglauncher" SLV style rockets. Except they don't appear, and neither does the ammo ("NemesisXF.Fuelcore") associated with them. After a bit of testing, I found this was down to the:
bAutoLoadInsta=True
...in BTPlusPlus.ini. If I set this to False, the rockets and ammo show up on the map. The code segment in BTPlusPlus which references "bAutoLoadInsta":
Code: Select all
if (bAutoLoadInsta)
{
if ((!bDisableInTournament || !class<DeathMatchPlus>(Level.Game.Class).Default.bTournament)
&& (!bDisableInNonBTMaps || (Left(string(Level), 3) ~="BT-" || Left(string(Level), 7) ~="CTF-BT-")))
{
RemoveActorsForInsta();
Insta = Level.spawn(class'InstaGibBT');
Insta.DefaultWeapon = class'SuperShockRifleBT';
Level.Game.BaseMutator.AddMutator(Insta);
}
}
...
function RemoveActorsForInsta()
{
local Inventory I;
local Actor A;
local Mutator M, Temp;
M = Level.Game.BaseMutator;
while (M.NextMutator != None)
{
// check for all zp variants
if (CheckClassForZP(M.NextMutator.Class))
{
Temp = M.NextMutator.NextMutator;
M.NextMutator.Destroy();
M.NextMutator = Temp;
break;
}
else
M = M.NextMutator;
}
foreach AllActors(class'Actor', A)
{
if (CheckClassForZP(A.class))
A.Destroy();
}
}
My first thought was that I could create a Mutator that would be embedded in the map and set the BTPlusPlus object's bAutoLoadInsta variable to False in its PreBeginPlay(), but it seems that BTPlusPlus's PreBeginPlay() always gets called first, and before I can do anything about it. I don't know if there's some way I can influence the order of execution - bearing in mind also that the script is "embedded" in the map.
My second idea was less generic, I thought I'd just manually respawn all of the rockets and ammo at their original locations once PostBeginPlay() had been reached... but this doesn't work either. Again, it's OK when bAutoLoadInsta is False, but doesn't do anything when bAutoLoadInsta is True (not entirely sure why).
So, I'd be grateful for any suggestions for ways I can work around this. It's *only* relevant for this single map, so I'm hoping for a solution that won't affect settings elsewhere.
Thank you very much in advance!