I don't need to test my programs. I have an error-correcting modem.


From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search

RegularBot is the Bot Controller class. It's very simple, just a couple functions to handle the creation of the classes the bot will randomly choose.

UT2004 :: xBot >> RegularBot
class RegularBot extends xBot;
function Possess( Pawn aPawn )  //same as RgPlayer, just setup the pawn correctly from the PRI
    local RegularPawn rp;
    rp = RegularPawn(aPawn);
    if (rp != none) {rp.PlayerClassName = RegularPRI(PlayerReplicationInfo).PlayerClassName;}
    Super.Possess( aPawn );
function SetPawnClass(string inClass, string inCharacter)
    PawnSetupRecord = class'xUtil'.static.FindPlayerRecord(inCharacter);
// this looks complicated and messy, I know ... but it's really not.
// basically it just gets a list of available classes based on team
// and then picks the first one, and randomly selects the next one.
// Keeps bots from only picking a few classes.
function ChoosePlayerClass() {  
	local int i;
	if(RegularPRI(PlayerReplicationInfo) != none) {
	   for(i=0;i<RegularPRI(PlayerReplicationInfo).MaxClassNumber;i++) {
	       if(RegularPRI(PlayerReplicationInfo).PlayerClasses[i].TeamIndex == RegularPRI(PlayerReplicationInfo).Team.TeamIndex ||
	          RegularPRI(PlayerReplicationInfo).PlayerClasses[i].TeamIndex == 255 ) {
											RegularPRI(PlayerReplicationInfo).PlayerClassName = RegularPRI(PlayerReplicationInfo).PlayerClasses[i].ClassTitle;
if(Rand(10) > 5) {break;}
defaultproperties {