error:
OLCTFSquadAI VCTF4-Interstellar_Oasis.OLCTFSquadAI (Function OLTeamGames.OLCTFSquadAI.CheckVehicle:0066) Accessed None 'Holder'
OLCTFSquadAI VCTF4-Interstellar_Oasis.OLCTFSquadAI (Function OLTeamGames.OLCTFSquadAI.CheckVehicle:0066) Accessed None 'Holder'
OLCTFSquadAI VCTF4-Interstellar_Oasis.OLCTFSquadAI (Function OLTeamGames.OLCTFSquadAI.CheckVehicle:0066) Accessed None 'Holder'
OLCTFSquadAI VCTF4-Interstellar_Oasis.OLCTFSquadAI (Function OLTeamGames.OLCTFSquadAI.CheckVehicle:0066) Accessed None 'Holder'
OLCTFSquadAI VCTF4-Interstellar_Oasis.OLCTFSquadAI (Function OLTeamGames.OLCTFSquadAI.CheckVehicle:0066) Accessed None 'Holder'
OLCTFSquadAI VCTF4-Interstellar_Oasis.OLCTFSquadAI (Function OLTeamGames.OLCTFSquadAI.CheckVehicle:0066) Accessed None 'Holder'
OLCTFSquadAI VCTF4-Interstellar_Oasis.OLCTFSquadAI (Function OLTeamGames.OLCTFSquadAI.CheckVehicle:0066) Accessed None 'Holder'
OLCTFSquadAI VCTF4-Interstellar_Oasis.OLCTFSquadAI (Function OLTeamGames.OLCTFSquadAI.CheckVehicle:0066) Accessed None 'Holder'
OLCTFSquadAI VCTF4-Interstellar_Oasis.OLCTFSquadAI (Function OLTeamGames.OLCTFSquadAI.CheckVehicle:0066) Accessed None 'Holder'
Code - one mention of "Holder" - and that is to check whether it's None or not!:
function bool CheckVehicle(Bot B)
{
local int i;
for(i=0;i<EnemyFlags.Length;i++)
{
if ( (EnemyFlags[i].Holder == None) && (VSize(B.Pawn.Location - EnemyFlags[i].Position().Location) < 1600) && CanCaptureFlag(B, EnemyFlags[i]) )
return false;
}
if ( (B.PlayerReplicationInfo.HasFlag != None) && (VSize(B.Pawn.Location - FriendlyFlag.HomeBase.Location) < 1600) )
return false;
return Super.CheckVehicle(B);
}
PEOPLE AT THE MOUNTAIN BELIEVE THIS PART TO BE FAULTY IN THE FOR LOOP
QuoteEnemyFlags ( i ) .Holder
IT SEEMS TO ASSUME THAT EnemyFlags ( i ) IS NOT NONE EVENTUALLY ARRIVING TO None.Holder
You're allowed to check if Holder is 'none'...but you can't use it in any other way if it is.
This error should not be possible from the code in the function....
NONO, THE IF IS INCOMPLETE - IT ASSUMES THAT EnemyFlags IS ALWAYS SOME LEGIT OBJECT
(EnemyFlags ( i ) != None) &&
( PROBABLY THE IF BLOCK BELOW IS SOMEWHAT FAULTY, BUT TO GET THE IDEA )
function bool CheckVehicle(Bot B)
{
local int i;
for(i=0;i<EnemyFlags.Length;i++)
{
if ( (EnemyFlags[i] != None) && (EnemyFlags[i].Holder == None) && (VSize(B.Pawn.Location - EnemyFlags[i].Position().Location) < 1600) && CanCaptureFlag(B, EnemyFlags[i]) )
return false;
}
if ( (B.PlayerReplicationInfo.HasFlag != None) && (VSize(B.Pawn.Location - FriendlyFlag.HomeBase.Location) < 1600) )
return false;
return Super.CheckVehicle(B);
}
The if block is complete. Enemyflags is always legit, otherwise the error would be "Accessed None 'EnemyFlags'"
does this happens when there are no bots in game?
I don't know. I very much doubt it