SmartStockBots mutator
-
- Inhuman
- Posts: 812
- Joined: Mon Dec 09, 2019 5:49 am
- Personal rank: ...
Re: SmartStockBots mutator
interesting.. but id rather not be dependent on XC_Engine tbh. but good to know. thanks
*Join our Discord Here.*
Our mods - MVX , SSB , SmartWFL , UTCmds , BotCommands , Smart Stats , join/leave announcer , NoSmoke , UTLogin , BrightSkins , Server Tran…
*Our Servers
-
- Godlike
- Posts: 3229
- Joined: Sat Mar 21, 2020 5:32 am
-
- Godlike
- Posts: 3229
- Joined: Sat Mar 21, 2020 5:32 am
Re: SmartStockBots mutator
New features:
Updated in first post: viewtopic.php?f=7&t=1540016. FixCTFReturnOnlyAlternatePaths
- Fix select AlternatePaths on map with bReturnOnly AlternatePaths.
As result:
- bots not do dumb runs to inproper spot.
Work only for CTFGame and subclasses of it. Require AlternatePath bReturnOnly actors on map.
17. AvoidMoveToDead
- Remove MoveTarget if it is dead pawn.
As result:
- bots not do dumb runs to invisible dead enemies.
-
- Skilled
- Posts: 170
- Joined: Sat Mar 24, 2012 1:37 am
Re: SmartStockBots mutator
Mind explaining a bit more about #17? Maybe I haven't been paying attention.Buggie wrote: ↑Sun Jan 15, 2023 4:54 am New features:16. FixCTFReturnOnlyAlternatePaths
- Fix select AlternatePaths on map with bReturnOnly AlternatePaths.
As result:
- bots not do dumb runs to inproper spot.
Work only for CTFGame and subclasses of it. Require AlternatePath bReturnOnly actors on map.
17. AvoidMoveToDead
- Remove MoveTarget if it is dead pawn.
As result:
- bots not do dumb runs to invisible dead enemies.
-
- Godlike
- Posts: 3229
- Joined: Sat Mar 21, 2020 5:32 am
Re: SmartStockBots mutator
It hard notice if you not use mind reader.
Usually bots jumps as monkeys and hard understand what and where, so such behavior goes unnoticed.
I observed this behavior in CTF games for bots who defends, but suspect it can be in other cases as well.
Bot wanna kill enemy. Bot see enemy close enough. Bot set Enemy as MoveTarget. Which make it reach destination for bot.
Bot kill enemy or this do someone else. (possible later cause bug).
Bot not check state of Enemy. bot just simply goes to dead Enemy. Which is hidden, in state Dying and basically just move invisible with same speed.
For humans actual view goes to head gibs which spawned on death and jumps on floor.
For bot change movement need external distraction or reach MoveTarget.
I see as bot chase dead enemy for 1 or 2 seconds, and after turn to wandering or roaming. Or bot reach dead or timer for movement out and MoveTarget updated.
Usually bots jumps as monkeys and hard understand what and where, so such behavior goes unnoticed.
I observed this behavior in CTF games for bots who defends, but suspect it can be in other cases as well.
Bot wanna kill enemy. Bot see enemy close enough. Bot set Enemy as MoveTarget. Which make it reach destination for bot.
Bot kill enemy or this do someone else. (possible later cause bug).
Bot not check state of Enemy. bot just simply goes to dead Enemy. Which is hidden, in state Dying and basically just move invisible with same speed.
For humans actual view goes to head gibs which spawned on death and jumps on floor.
For bot change movement need external distraction or reach MoveTarget.
I see as bot chase dead enemy for 1 or 2 seconds, and after turn to wandering or roaming. Or bot reach dead or timer for movement out and MoveTarget updated.
-
- Godlike
- Posts: 10531
- Joined: Wed Jul 15, 2009 11:36 am
- Personal rank: coffee addicted !!!
- Location: Cologne, the city with the big cathedral.
Re: SmartStockBots mutator
Just tested it ...holly sheet those bots got some moves.
They certainly gave me a run for their money. First time I got defeated by bots and don't feel ashamed.
well done Buggie.
EDIT----------------
Now I feel the urge to remake my Northern Lights map fitting for vehicles.
They certainly gave me a run for their money. First time I got defeated by bots and don't feel ashamed.
well done Buggie.
EDIT----------------
Now I feel the urge to remake my Northern Lights map fitting for vehicles.
-
- Godlike
- Posts: 3229
- Joined: Sat Mar 21, 2020 5:32 am
Re: SmartStockBots mutator
Issue: Skaarj getting stuck
Reason: Bad code in OldModels.
Anyway if find any issues in upcoming release - report here.
New features:
Updated in first post: viewtopic.php?f=7&t=15400
Reason: Bad code in OldModels.
Spoiler
OldModelssktrooperbot use next code for Falling state (Logging is mine):
So after do Dodge it run
And goes to
Which never end, because BotpAck.Bot in this state define
Which in this bot implement as
So this goes to endless call TweenAnim after it end, and FinishAnim never return.
I go implement next fix in Next SmartStockBots:
With it loop break and it goes fine.
Since this check called only 10 times per seconds, there possibly additional delay up to 0.1 sec after real dodge end.
I think this OK.
Some authors (like @_21) make dirty fix of OldModels.u with replace
to
This make this
My fix must fine work with such fixed version too.
In general there must no but in such condition as
So it must be safe.
Code: Select all
state FallingState
{
ignores Bump, Hitwall, HearNoise, WarnTarget;
function Landed(vector HitNormal)
{
local float landVol;
log("DBG:" @ AnimSequence @ GetAnimGroup(AnimSequence));
if ( GetAnimGroup(AnimSequence) == 'Dodge' )
{
if (Velocity.Z <= -1100)
{
if ( (Velocity.Z < -2000) && (ReducedDamageType != 'All') )
{
health = -1000; //make sure gibs
Died(None, 'Fell', Location);
}
else if ( Role == ROLE_Authority )
TakeDamage(-0.15 * (Velocity.Z + 1050), None, Location, vect(0,0,0), 'Fell');
}
landVol = Velocity.Z/JumpZ;
landVol = 0.008 * Mass * landVol * landVol;
if ( !FootRegion.Zone.bWaterZone )
PlaySound(Land, SLOT_Interact, FMin(20, landVol));
GotoState('FallingState', 'FinishDodge');
}
else
Super.Landed(HitNormal);
}
FinishDodge:
log("Start wait finish dodge Anim");
FinishAnim();
log("End wait finish dodge Anim");
bCanDuck = true;
Goto('Done');
}
GotoState('FallingState', 'FinishDodge');
And goes to
Code: Select all
FinishDodge:
log("Start wait finish dodge Anim");
FinishAnim();
log("End wait finish dodge Anim");
bCanDuck = true;
Goto('Done');
Code: Select all
function AnimEnd()
{
PlayInAir();
}
Code: Select all
function PlayInAir()
{
BaseEyeHeight = Default.BaseEyeHeight;
TweenAnim('InAir', 0.4);
}
I go implement next fix in Next SmartStockBots:
Code: Select all
// try fix bug with stuck in air OldModels.OldModelssktrooperbot
if (Bot.Physics == PHYS_Walking && Bot.Velocity.Z == 0 && Bot.AnimSequence == 'InAir' && !Bot.bAnimFinished) {
Bot.bAnimFinished = true; // break wait in FinsihAnim
}
Since this check called only 10 times per seconds, there possibly additional delay up to 0.1 sec after real dodge end.
I think this OK.
Some authors (like @_21) make dirty fix of OldModels.u with replace
if ( GetAnimGroup(AnimSequence) == 'Dodge' )
to
if ( GetAnimGroup(AnimSequence) == 'Shielded' )
This make this
if
never run, so fall in loop not happen. But other related code too not run.My fix must fine work with such fixed version too.
In general there must no but in such condition as
Bot.Physics == PHYS_Walking && Bot.Velocity.Z == 0 && Bot.AnimSequence == 'InAir'
So it must be safe.
Automatically merged
Fixed bug with stuck bot skaarj: viewtopic.php?f=12&t=15653Local use:
After each load UT use Mod menu for activate loader. After that you can play any map (include campaign ladder) with this mutator (except network play on other servers OFC)
Not activate it if wanna play on ACE servers - ACE kick you.
You need reload UT if wanna play on ACE servers if at least once activate loader during this UT run.
Updated in first post: viewtopic.php?f=7&t=15400
You do not have the required permissions to view the files attached to this post.
-
- Godlike
- Posts: 3229
- Joined: Sat Mar 21, 2020 5:32 am
Re: SmartStockBots mutator
Improved ShortMovements. As result bots shortcut more paths and dodge in more cases.
Updated in first post: viewtopic.php?f=7&t=15400
Updated in first post: viewtopic.php?f=7&t=15400
-
- Adept
- Posts: 325
- Joined: Sat Oct 22, 2011 6:06 am
- Personal rank: Professional Camper
Re: SmartStockBots mutator
Just double checking. Is XC_Engine required to use SmartStockBots?
I've been playing UT for so long it's practically tradition.
-
- Godlike
- Posts: 3229
- Joined: Sat Mar 21, 2020 5:32 am
-
- Godlike
- Posts: 3229
- Joined: Sat Mar 21, 2020 5:32 am
Re: SmartStockBots mutator
New features
Update in first post: https://ut99.org/viewtopic.php?t=1540018. ClearStateOnDeath
- On death bot state cleared. Currently it include some vars for movement code..
As result:
- bots stop try sometimes do dumb run into wall or deadly zone after respawn.
-
- Novice
- Posts: 23
- Joined: Thu Nov 26, 2015 11:42 am
Re: SmartStockBots mutator
There appear some warnings in the log file, maybe you can fix them:
Code: Select all
ScriptWarning: SSBClearBotOnDeath CTF-Face-SE.SSBClearBotOnDeath0 (Function Engine.PlayerPawn.TeamMessage:000A) Accessed None 'Player'
-
- Godlike
- Posts: 3229
- Joined: Sat Mar 21, 2020 5:32 am
Re: SmartStockBots mutator
New features
- Fix flood in log.
Update in first post: https://ut99.org/viewtopic.php?t=15400
- Fix fall from edge/into hole in some case for dodge.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.
- Fix flood in log.
Update in first post: https://ut99.org/viewtopic.php?t=15400
-
- Godlike
- Posts: 3229
- Joined: Sat Mar 21, 2020 5:32 am
-
- Godlike
- Posts: 3229
- Joined: Sat Mar 21, 2020 5:32 am
Re: SmartStockBots mutator
- Prevent shoot own translocator.
- Fix flood in log in rare cases.
Updated in first post: viewtopic.php?f=7&t=15400
- Fix flood in log in rare cases.
Updated in first post: viewtopic.php?f=7&t=15400