1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Two Factor Authentication is now available on BeyondUnreal Forums. To configure it, visit your Profile and look for the "Two Step Verification" option on the left side. We can send codes via email (may be slower) or you can set up any TOTP Authenticator app on your phone (Authy, Google Authenticator, etc) to deliver codes. It is highly recommended that you configure this to keep your account safe.

Help a UScripter in need

Discussion in 'CHiMERiC' started by LedZep, Feb 6, 2002.

  1. LedZep

    LedZep k last title kinda gay :p

    Joined:
    Jan 23, 2002
    Messages:
    446
    Likes Received:
    0
    allright, a couple of questions:

    How do i tell a bot to go to a specific vector (and look at a specific rotator but thats optional) and stay there for a specific amount of time?

    how do i get a bot to support a specific pawn, i think its:
    var pawn P;
    var bot B;
    B.supportingplayer = P;
    but im not sure.

    and last, how do i tell a bot to hunt down a specific pawn (not only attitude or setenemy but actually HUNT DOWN the pawn)

    i hope someone can help me with that.

    thanks in advance.

    ledzepperus.
     
  2. Papapishu

    Papapishu 我是康

    Joined:
    Jun 18, 2001
    Messages:
    2,043
    Likes Received:
    0
    I found these parts in the bot class interesting:
    Code:
    var(Orders) name	Orders;			//orders a bot is carrying out 
    var		actor		OrderObject;		// object referred to by orders (if applicable)
    var(Combat) float	TimeBetweenAttacks;  // seconds - modified by difficulty
    
    Orders is a string, like
    Orders = 'FreeLance';
    'Attack' = attaching something
    'Hold' = hold position
    'Defend' = defend something

    The OrderObject is the actor that the bot should focus on...
    If you tell it to attack, the object is some pawn out of the other team, the closest visual one, so it roams until it finds one.
    it can also be like the enemy's flag or an assault objective or so, you get the point.
    Defend works the same way.
    Hold is special, it spawns a "holdspot", a keypoint, at a place, and the bot guards this place...

    Dig around in the bot code a bit yourself, cause I think this is what you're looking for.
    Check SetOrders()...

    Say you want it to support another player:

    MyBot.Order='Follow';
    MyBot.OrderObject=MyOtherBot;

    Say you want it to attack another player:

    MyBot.Order='Attack';
    MyBot.OrderObject=MyOtherBot;

    You want it to spand still, guarding a point.

    local vector mylocation;
    local holdspot hs;
    mylocation=...some location...;

    hs=spawn(class'holdspot',,,mylocation);
    MyBot.Order='Hold';
    MyBot.OrderObject=hs;

    The SetOrders function ends with:
    BotReplicationInfo(PlayerReplicationInfo).OrderObject = OrderObject;
    So I guess this is important.
    It sets the botreplications object to the bot's object (I have no idea if it's important, might be...)

    Then there's also the posibility that you can subclass the bot and make your class do the things you do, and then replace the botclasses with your class before they are spawned (spawnnotification) or by changing their login (if it's a gametype)

    But that's a bit overkill...
     
  3. LedZep

    LedZep k last title kinda gay :p

    Joined:
    Jan 23, 2002
    Messages:
    446
    Likes Received:
    0
    Well, i found all i was looking for by myself in the bot class about two weeks ago :D

    Thanks anyway though!
     

Share This Page