SmartStockBots mutator

Search, find and discuss about Mutators!
User avatar
Hitman
Adept
Posts: 284
Joined: Mon Aug 16, 2010 11:01 am
Location: Sweden
Contact:

Re: SmartStockBots mutator

Post by Hitman »

Buggie wrote: Tue Sep 05, 2023 4:19 am What exactly is your custom translocator?

For bots use it as stock one, it must be subclass of stock translocator:

Code: Select all

function bool AddInventory( inventory NewItem )
{
	local bool Result;
	
	Result = Super.AddInventory(NewItem);

	if ( NewItem.IsA('Translocator') )
		MyTranslocator = Translocator(NewItem);

	return Result;
}
If it new weapon, not connected with stock one, bots will not use it as stock translocator.
This is the one we use
Attachments
UMTranslocV2.rar
(217.6 KiB) Downloaded 8 times
Buggie
Godlike
Posts: 2749
Joined: Sat Mar 21, 2020 5:32 am

Re: SmartStockBots mutator

Post by Buggie »

It subclass of translocator, so must be fine. What exactly it is look like?

Also I see dumb copy of methods, So some issues, which fixed in stock xloc, still happen in your xloc.   
Auto merged new post submitted 48 minutes later
Bot use translocator only if GameInfo allowed it.

GameInfo allow only if it set in properties:

Code: Select all

function bool CanTranslocate(Bot aBot)
{
	if ( !bUseTranslocator || (bRatedGame && !bRatedTranslocator) )
		return false;
	return ( (aBot.MyTranslocator != None) && (aBot.MyTranslocator.TTarget == None) );
} 
In this case game also spawn translocator as default inventory.

TranslocDest also too check if GameInfo allow usetranslocator. if not, it erase all paths, related to it:

Code: Select all

function PostBeginPlay()
{
	local Actor Start, End;
	local NavigationPoint N;
	local int distance, reachFlags, i, j;
	local bool bFound;

	Super.PostBeginPlay();

	if ( Level.Game.IsA('DeathMatchPlus') && DeathMatchPlus(Level.Game).bUseTranslocator && (Region.Zone.ZoneGravity.Z < 0.9 * Region.Zone.Default.ZoneGravity.Z) )
		return;

	// if this game type doesn't include translocator, then get rid of paths through this node
	bSpecialCost = false;
	for ( i=0; i<16; i++ )
	{
		Paths[i] = -1;
		if ( UpstreamPaths[i] != -1 )
		{
			DescribeSpec(UpstreamPaths[i], Start, End, reachFlags, distance);
			bFound = false;
			N = NavigationPoint(Start);
			if ( N != None )
			{
				for ( j=0; j<15; j++ )
				{
					if ( !bFound )
					{
						DescribeSpec(N.Paths[j], Start, End, reachFlags, distance);
						bFound = ( End == self );
					}
					if ( bFound )
						N.Paths[j] = N.Paths[j+1];
				}
				N.Paths[15] = -1;
			}
			UpstreamPaths[i] = -1;
		}
	}
}
Your translocator is fine. You can check it on next test map:
dm-um_xloc.zip
(5.57 KiB) Downloaded 7 times
Start it on dm without translocator. Call `editactor class=gameInfo` and set in hidden props, bUseTranslocator to true.

You need use GameInfo which allow use translocator. Obviously, you use some which not allow.
You can alter this by setting bUseTranslocator.

After that there come problem with wrong replacement your translocator - but it is different story.
User avatar
Hitman
Adept
Posts: 284
Joined: Mon Aug 16, 2010 11:01 am
Location: Sweden
Contact:

Re: SmartStockBots mutator

Post by Hitman »

Buggie wrote: Tue Sep 05, 2023 2:47 pm It subclass of translocator, so must be fine. What exactly it is look like?

Also I see dumb copy of methods, So some issues, which fixed in stock xloc, still happen in your xloc.   
Auto merged new post submitted 48 minutes later
Bot use translocator only if GameInfo allowed it.

GameInfo allow only if it set in properties:

Code: Select all

function bool CanTranslocate(Bot aBot)
{
	if ( !bUseTranslocator || (bRatedGame && !bRatedTranslocator) )
		return false;
	return ( (aBot.MyTranslocator != None) && (aBot.MyTranslocator.TTarget == None) );
} 
In this case game also spawn translocator as default inventory.

TranslocDest also too check if GameInfo allow usetranslocator. if not, it erase all paths, related to it:

Code: Select all

function PostBeginPlay()
{
	local Actor Start, End;
	local NavigationPoint N;
	local int distance, reachFlags, i, j;
	local bool bFound;

	Super.PostBeginPlay();

	if ( Level.Game.IsA('DeathMatchPlus') && DeathMatchPlus(Level.Game).bUseTranslocator && (Region.Zone.ZoneGravity.Z < 0.9 * Region.Zone.Default.ZoneGravity.Z) )
		return;

	// if this game type doesn't include translocator, then get rid of paths through this node
	bSpecialCost = false;
	for ( i=0; i<16; i++ )
	{
		Paths[i] = -1;
		if ( UpstreamPaths[i] != -1 )
		{
			DescribeSpec(UpstreamPaths[i], Start, End, reachFlags, distance);
			bFound = false;
			N = NavigationPoint(Start);
			if ( N != None )
			{
				for ( j=0; j<15; j++ )
				{
					if ( !bFound )
					{
						DescribeSpec(N.Paths[j], Start, End, reachFlags, distance);
						bFound = ( End == self );
					}
					if ( bFound )
						N.Paths[j] = N.Paths[j+1];
				}
				N.Paths[15] = -1;
			}
			UpstreamPaths[i] = -1;
		}
	}
}
Your translocator is fine. You can check it on next test map: dm-um_xloc.zip
Start it on dm without translocator. Call `editactor class=gameInfo` and set in hidden props, bUseTranslocator to true.

You need use GameInfo which allow use translocator. Obviously, you use some which not allow.
You can alter this by setting bUseTranslocator.

After that there come problem with wrong replacement your translocator - but it is different story.
The thing is if I set bUseTranslocator=True I get both trans in my hand :noidea so its set bUseTranslocator=False
Buggie
Godlike
Posts: 2749
Joined: Sat Mar 21, 2020 5:32 am

Re: SmartStockBots mutator

Post by Buggie »

Yes. It exactly what i mean by
"there come problem with wrong replacement your translocator"

It doing it wrong. In fact it not doing anything about replacement. It just dumb copy from spawn stock one. Include check for if stock one already exists.
So it need remake on proper replacement. After that you can use it as should.

Look as done other mutators, which replace weapons.

Anyway it goes off-topic here. It is not related to SmartStockBots.
User avatar
Hitman
Adept
Posts: 284
Joined: Mon Aug 16, 2010 11:01 am
Location: Sweden
Contact:

Re: SmartStockBots mutator

Post by Hitman »

Is that something you can fix for us? Wink wink
Buggie
Godlike
Posts: 2749
Joined: Sat Mar 21, 2020 5:32 am

Re: SmartStockBots mutator

Post by Buggie »

New features:
25. UseAirControlOnFall
- Aim to landing point when fall.

As result:
- bots able properly jump with impact hammer or with boots, to desired place. This also applies to usual fall or jump.
It fixes dumb useless fall down if hit something in mid-air. Also this mitigate weird jumps when bot carry boots - now they lands where need, even if make such jump.

26. StopTravelToPickedInventory
- Remove MoveTarget if it Inventory which already picked.

As result:
- bots not do dumb runs to inventory spot if can't grab it.
- Fix roar from Impact hammer at map origin point in some cases.
- Fix show some bots as joined players by SmartScoreBoard.
- Fix make some unsafe dodges.
- Fix some dodge loops to inventory.
- Faster use ImpactHammer for high-skilled bots.
- Apply air control on long fall.
- Avoid travel to picked inventory for pick up it.
- Fix random wandering without reason.
- Fix apply dodge.
- Apply dodge to move to Destination not matched MoveTarget.
- Fix bot not attack during dodge.
- Not shortcut paths on try travel from pain zone to safe one.

Updated in first post: viewtopic.php?t=15400   
Auto merged new post submitted 5 minutes later
Smart bot (Xan) vs usual one. Stock DM-Deck16][:
Shot00661.jpg
Shot00662.jpg
Shot00663.jpg
   
Auto merged new post submitted 22 minutes later
Example of use Air Control:
a9902957@nepwk.com
Experienced
Posts: 86
Joined: Thu Nov 03, 2011 5:12 am

Re: SmartStockBots mutator

Post by a9902957@nepwk.com »

Buggie wrote: Wed Sep 27, 2023 5:59 am New features:
25. UseAirControlOnFall
- Aim to landing point when fall.

As result:
- bots able properly jump with impact hammer or with boots, to desired place. This also applies to usual fall or jump.
It fixes dumb useless fall down if hit something in mid-air. Also this mitigate weird jumps when bot carry boots - now they lands where need, even if make such jump.
[...]
- Apply air control on long fall.
[...]
And with this you just have made
viewtopic.php?t=4299
a much more awesome gametype to play against the bots as well.

First Frag*Ball with closing the distance to the ball faster now this. :gj: :tu:
User avatar
UT Sniper (SJA94)
Inhuman
Posts: 753
Joined: Thu Jun 24, 2010 10:35 pm
Personal rank: Retard
Location: England
Contact:

Re: SmartStockBots mutator

Post by UT Sniper (SJA94) »

Spotted this today:
Image
Buggie
Godlike
Posts: 2749
Joined: Sat Mar 21, 2020 5:32 am

Re: SmartStockBots mutator

Post by Buggie »

Yes. This for make
19. ReportEnemyFlagCarrierLocation
- When bot report about "Enemy flag carrier is here." appear second message in form "Enemy flag carrier is here: %Location Name%"

As result:
- bots report to you where actually flag carrier is. Not where they be when see it.
And possible some other stuff.
On net play it is not visible. On local play it is visible. And on Listen play.
---
Unfortunately, it is best what I can do. i cant hide it locally.
User avatar
UT Sniper (SJA94)
Inhuman
Posts: 753
Joined: Thu Jun 24, 2010 10:35 pm
Personal rank: Retard
Location: England
Contact:

Re: SmartStockBots mutator

Post by UT Sniper (SJA94) »

It's not really a problem just wasn't sure if you knew about it or not.

Keep forgetting to ask, is it possible to stop bots capping a domination point that a team mate has just capped, similar to what you have done with ctf flags?
Buggie
Godlike
Posts: 2749
Joined: Sat Mar 21, 2020 5:32 am

Re: SmartStockBots mutator

Post by Buggie »

I guess so. I fix what I see. Since I not play in DOM, I not see bugs here.
Put it in todo list for next update.
User avatar
nickelo
Average
Posts: 32
Joined: Thu Dec 15, 2022 11:49 am

Re: SmartStockBots mutator

Post by nickelo »

I loaded permanently this mod + autofill in server, and its more realistic utbots mod.

Good Work!!!

http://ut99server.kozow.com
Image
UT Server in Spain, home served @ 1GB symmetrical fiber :rock: http://ut99server.kozow.com (The Black&Decker Server.)
=================================
-Easy downloads, up to date, "ready to run" for friends in webpage of server.
-"Realistic" BOT configuration, autofill an adecuate amount of bot when you connect, good for practice, 10 humans allowed.
-MapVote, "t" and write "!vote" to test maps.
-More 300 Maps...
-UZ compression, faster downloads.
-UTStats 2 page.
Enjoy.
User avatar
Que
Inhuman
Posts: 801
Joined: Mon Dec 09, 2019 5:49 am
Personal rank: ...
Contact:

Re: SmartStockBots mutator

Post by Que »

I have tried everything.. and yet the bots just get caught up in certain parts of the maps where they just spin endlessly round and round.
you can test here ...

45.61.53.244:7777
or
45.61.53.244:6666

for quick results play a round on Deck16VIII which is one of the versions modified here by Sektor and some other mapper.

spinning happens on other maps like agony for example.

they get caught up in certain spots of the maps and will get stuck there every now and then.

breaks the immersion imo.

:|

server is running: 469d.
*Join our Discord Here.*
Our mods - MVX , SSB , SmartWFL , UTCmds , BotCommands , Smart Stats , join/leave announcer , NoSmoke , UTLogin , BrightSkins , Server Tran…
*Our Servers
Buggie
Godlike
Posts: 2749
Joined: Sat Mar 21, 2020 5:32 am

Re: SmartStockBots mutator

Post by Buggie »

Please record some video examples. It sounds like map issue (bad pathing), rather as problem to this mutator.
On my experience (thousands hours play against bots in CTF), bots never do things, described to you. However, I play only on very well pathed maps.
User avatar
Que
Inhuman
Posts: 801
Joined: Mon Dec 09, 2019 5:49 am
Personal rank: ...
Contact:

Re: SmartStockBots mutator

Post by Que »

Buggie wrote: Sun Dec 10, 2023 7:01 am Please record some video examples. It sounds like map issue (bad pathing), rather as problem to this mutator.
On my experience (thousands hours play against bots in CTF), bots never do things, described to you. However, I play only on very well pathed maps.
Happens on multiple maps..


*Join our Discord Here.*
Our mods - MVX , SSB , SmartWFL , UTCmds , BotCommands , Smart Stats , join/leave announcer , NoSmoke , UTLogin , BrightSkins , Server Tran…
*Our Servers
Post Reply