Help a UScripter in need

  • 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.

LedZep

k last title kinda gay :p
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.
 

Papapishu

我是康
Jun 18, 2001
2,043
0
0
42
void
www.vovoid.com
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...