class xTeamRoster extends UnrealTeamInfo; function PostBeginPlay() { local array PlayerRecords; local int i,j; Super.PostBeginPlay(); // add RosterNames to roster class'xUtil'.static.GetPlayerList(PlayerRecords); for ( i=0; i PlayerRecords; local xUtil.PlayerRecord PR; class'xUtil'.static.GetPlayerList(PlayerRecords); PR = class'xUtil'.static.FindPlayerRecord(botName); return class'xRosterEntry'.Static.CreateRosterEntry(PR.RecordIndex); } function Initialize(int TeamBots) { local int i; for ( i=Roster.Length; i PlayerRecords; local int RND,i, num; local int max, total; class'xUtil'.static.GetPlayerList(PlayerRecords); for ( i=0; i= RND ) break; } num = i; if ( AvailableRecord(PlayerRecords[num].Menu) && !AlreadyExistsEntry(PlayerRecords[num].DefaultName,false) ) return class'xRosterEntry'.Static.CreateRosterEntry(num); for ( i=num; i 0) && !AlreadyExistsEntry(PlayerRecords[i].DefaultName,false) ) return class'xRosterEntry'.Static.CreateRosterEntry(i); for ( i=0; i 0) && !AlreadyExistsEntry(PlayerRecords[i].DefaultName,false) ) return class'xRosterEntry'.Static.CreateRosterEntry(i); return GetNamedBot("Jakob"); } function bool AvailableRecord(string MenuString) { return ( (MenuString ~= "DUP") || (MenuString ~= "SP") || (MenuString ~= "") || (MenuString ~= "UNLOCK") ); } function bool AlreadyExistsEntry(string CharacterName, bool bNoRecursion) { local int i; for ( i=0; i PawnClass) { return true; } defaultproperties { }