TeamColorOverlay (A mutator to display colored outlines around actors based on their team)

Search, find and discuss about Mutators!
User avatar
PrinceOfFunky
Godlike
Posts: 1200
Joined: Mon Aug 31, 2015 10:31 pm

TeamColorOverlay (A mutator to display colored outlines around actors based on their team)

Post by PrinceOfFunky »

TeamColorOverlay is a mutator to display colored overlays around actors based on their instigator and its team of belonging.

The user can specify the list of actor classes that are allowed to have an overlay (it can be anything including players and projectiles), blacklisted states and textures can also be specified (e.g. the FeigningDeath state, the invisibility texture). The actors will display an overlay as long as they have an instigator, which kinda means that they must belong to a pawn.
If you intend to use this in a server, remember to add the package to the ServerPackages array.

Screenshots:
tco_1.png
tco_2.png
Download:
TeamColorOverlay_v1.zip
(398.37 KiB) Downloaded 65 times
"Your stuff is known to be buggy and unfinished/not properly tested"
User avatar
EvilGrins
Godlike
Posts: 9668
Joined: Thu Jun 30, 2011 8:12 pm
Personal rank: God of Fudge
Location: Palo Alto, CA
Contact:

Re: TeamColorOverlay (A mutator to display colored outlines around actors based on their team)

Post by EvilGrins »

Does it work on all player models or only the UT defaults?
http://unreal-games.livejournal.com/
Image
medor wrote:Replace Skaarj with EvilGrins :mrgreen:
Smilies · viewtopic.php?f=8&t=13758
User avatar
PrinceOfFunky
Godlike
Posts: 1200
Joined: Mon Aug 31, 2015 10:31 pm

Re: TeamColorOverlay (A mutator to display colored outlines around actors based on their team)

Post by PrinceOfFunky »

EvilGrins wrote: Sun Sep 12, 2021 5:25 pm Does it work on all player models or only the UT defaults?
Technically it is not about models, it is about actors, by default PlayerPawn, Bots and Bot classes are in the meshedWhitelistStr array, it doesn't matter what models they are using, the outline should be displayed regardless. ("meshed" in "meshedWhitelistStr" stands for meshed Actors).
"Your stuff is known to be buggy and unfinished/not properly tested"
User avatar
papercoffee
Godlike
Posts: 10443
Joined: Wed Jul 15, 2009 11:36 am
Personal rank: coffee addicted !!!
Location: Cologne, the city with the big cathedral.
Contact:

Re: TeamColorOverlay (A mutator to display colored outlines around actors based on their team)

Post by papercoffee »

I think this kind of awesome. the bright skin mutator is too bright for my taste.
actors are not visible behind obstacles, right?
User avatar
PrinceOfFunky
Godlike
Posts: 1200
Joined: Mon Aug 31, 2015 10:31 pm

Re: TeamColorOverlay (A mutator to display colored outlines around actors based on their team)

Post by PrinceOfFunky »

papercoffee wrote: Mon Sep 13, 2021 12:42 am actors are not visible behind obstacles, right?
What do you mean by this? If you are asking if the outlines are not visible when an actor is behind a obstacle then it depends on the size of the obstacle, if it's a wall then it won't be visible. You can make it so that outlines aren't visible regardless of the obstacle's size by setting bUseTrace to True in the ini. The reason bUseTrace is False by default is because when it is True the outlines aren't visible through transparent textures (like windows) or small-sized geometry.
"Your stuff is known to be buggy and unfinished/not properly tested"
User avatar
esnesi
Godlike
Posts: 1018
Joined: Mon Aug 31, 2015 12:58 pm
Personal rank: Dialed in.

Re: TeamColorOverlay (A mutator to display colored outlines around actors based on their team)

Post by esnesi »

What if i only needed 4 team colors for Instagib and Combogib (shockrifle), and nothing else ?
Maybe in the future rocketlauncher smoketrails now iam thinking of it, if possible, when/if we get there lol.

spritedWhitelistStr[0]=botpack.ShockProj
spritedWhitelistStr[1]=botpack.PlasmaSphere

Could you point which beams/spheres i should set ?
Yes, there are other mods that do this, only they won't work properly with weapon-replacement mods like newnet etc, which is why iam trying this.
User avatar
PrinceOfFunky
Godlike
Posts: 1200
Joined: Mon Aug 31, 2015 10:31 pm

Re: TeamColorOverlay (A mutator to display colored outlines around actors based on their team)

Post by PrinceOfFunky »

esnesi wrote: Sun Sep 19, 2021 10:07 pm What if i only needed 4 team colors for Instagib and Combogib (shockrifle), and nothing else ?
Maybe in the future rocketlauncher smoketrails now iam thinking of it, if possible, when/if we get there lol.

spritedWhitelistStr[0]=botpack.ShockProj
spritedWhitelistStr[1]=botpack.PlasmaSphere

Could you point which beams/spheres i should set ?
Yes, there are other mods that do this, only they won't work properly with weapon-replacement mods like newnet etc, which is why iam trying this.
If you want the only projectiles that can display an outline to be the shockrifle ones then you have to remove the Engine.Projectile from the meshedWhitelistStr array. Keep in mind that any actor with bNetTeporary=True (like most projectiles) doesn't keep a connection with the clients, that means that it's the client that chooses if to display an overlay or not for those actors.
IIrc you already use a mapvote where you can specify the mutators to be used for each gametype, so for gametypes where you don't want to display overlays on anything then the only way to achieve it is to don't load the mutator at all.
Just remember this when you delete an entry in the ini (from the readme.txt):
If you leave an ini array's slot empty all the other slots after that will not be taken in account.
The only thing I thought about to fix the bNetTemporary thing was for the server to send the lists to the client, though the client could've easily cheated and changed the lists items by using editactor so I didn't implement it in the end.
"Your stuff is known to be buggy and unfinished/not properly tested"
User avatar
Neon_Knight
Adept
Posts: 326
Joined: Wed Apr 27, 2011 1:31 pm
Location: Junín (BA - Argentina)
Contact:

Re: TeamColorOverlay (A mutator to display colored outlines around actors based on their team)

Post by Neon_Knight »

Excellent! Outlines seem to be the way to go in shooters these days (UT3, QC), and it's not hard to see why.
papercoffee wrote: Mon Sep 13, 2021 12:42 am I think this kind of awesome. the bright skin mutator is too bright for my taste.
actors are not visible behind obstacles, right?
Not to mention, brightskins are both borderline cheating (see UT2004 and the hideous UTComp brightskins) and also highlight a problem that's related to mapping: level designers not bothering to properly light their levels (where "accordingly" means "all players should be visible with the default settings"). Brightskins allow mappers to be lazy, basically.
OldUnreal U1v227/UTv469 Localization Project coordinator/spanish language maintainer - Unreal Wiki
ProTip 1: anybody using the phrase "I'm a True Fan and You're Not!" is an obnoxious, self-centered, egotistical, elitist, narcissist douchebag.
ProTip 2: anybody who uses the "Royal We" when making a demand wants to pass their own opinion as everyone else's.
ProTip 3: Only the people that do nothing but criticize don't make mistakes. Do things. Make mistakes. Learn from them. And screw those who do nothing but throw poison and criticize.
ProTip 4: If the Duke Nukem Forever fiasco wasn't enough of a lesson, perfectionism leads to nothing positive. Don't be afraid of releasing a buggy product. Even the most polished product has its flaws.
User avatar
esnesi
Godlike
Posts: 1018
Joined: Mon Aug 31, 2015 12:58 pm
Personal rank: Dialed in.

Re: TeamColorOverlay (A mutator to display colored outlines around actors based on their team)

Post by esnesi »

PrinceOfFunky wrote: Mon Sep 20, 2021 10:38 pm
If you want the only projectiles that can display an outline to be the shockrifle ones then you have to remove the Engine.Projectile from the meshedWhitelistStr array. Keep in mind that any actor with bNetTeporary=True (like most projectiles) doesn't keep a connection with the clients, that means that it's the client that chooses if to display an overlay or not for those actors.
IIrc you already use a mapvote where you can specify the mutators to be used for each gametype, so for gametypes where you don't want to display overlays on anything then the only way to achieve it is to don't load the mutator at all.
Just remember this when you delete an entry in the ini (from the readme.txt):
If you leave an ini array's slot empty all the other slots after that will not be taken in account.
The only thing I thought about to fix the bNetTemporary thing was for the server to send the lists to the client, though the client could've easily cheated and changed the lists items by using editactor so I didn't implement it in the end.
Removed Engine.Projectile from meshedWhitelistStr, moved the other ones up;

meshedWhitelistStr[0]=Engine.PlayerPawn
meshedWhitelistStr[1]=Engine.Effects
meshedWhitelistStr[2]=UnrealShare.Bots
meshedWhitelistStr[3]=Botpack.Bot

Sadly this resulted in a white sphere and beam on shockrifle.
Hard to make a screenshot of. (send you a pm with ip:port of a testserver)
Note, this is with newnet active.

When i test this with newnet disabled, so with regular botpack.instagibdm it surprises me this results into the same.
A regular instagib beam on team Red and Blue, with a white flicker. (hard to make a screenshot, please check the server)
*Sadly i can't test the combogib mut as this is inside newnet.
User avatar
PrinceOfFunky
Godlike
Posts: 1200
Joined: Mon Aug 31, 2015 10:31 pm

Re: TeamColorOverlay (A mutator to display colored outlines around actors based on their team)

Post by PrinceOfFunky »

Neon_Knight wrote: Wed Sep 22, 2021 12:25 pm Excellent! Outlines seem to be the way to go in shooters these days (UT3, QC), and it's not hard to see why.
papercoffee wrote: Mon Sep 13, 2021 12:42 am I think this kind of awesome. the bright skin mutator is too bright for my taste.
actors are not visible behind obstacles, right?
Not to mention, brightskins are both borderline cheating (see UT2004 and the hideous UTComp brightskins) and also highlight a problem that's related to mapping: level designers not bothering to properly light their levels (where "accordingly" means "all players should be visible with the default settings"). Brightskins allow mappers to be lazy, basically.
The problem is that anyone could use editactor to cheat. The only solutions to this I could think of are: 1. To constantly set it to False, but then if a server wanted it to be set to True then a config variable would be needed and its value wouldn't be constantly set so anyone could use editactor to set that config var at run-time; 2. To use darker textures, but then if a server wanted them to be bright the same dilemma of bUnlit would occur.

There's a way that nobody ever used to prevent editactor and set from working with certain variables, but if most admins don't mind about editactor/set cheaters then I can implement the no-bright outlines the usual way.
esnesi wrote: Wed Sep 22, 2021 9:10 pm
PrinceOfFunky wrote: Mon Sep 20, 2021 10:38 pm
If you want the only projectiles that can display an outline to be the shockrifle ones then you have to remove the Engine.Projectile from the meshedWhitelistStr array. Keep in mind that any actor with bNetTeporary=True (like most projectiles) doesn't keep a connection with the clients, that means that it's the client that chooses if to display an overlay or not for those actors.
IIrc you already use a mapvote where you can specify the mutators to be used for each gametype, so for gametypes where you don't want to display overlays on anything then the only way to achieve it is to don't load the mutator at all.
Just remember this when you delete an entry in the ini (from the readme.txt):
If you leave an ini array's slot empty all the other slots after that will not be taken in account.
The only thing I thought about to fix the bNetTemporary thing was for the server to send the lists to the client, though the client could've easily cheated and changed the lists items by using editactor so I didn't implement it in the end.
Removed Engine.Projectile from meshedWhitelistStr, moved the other ones up;

meshedWhitelistStr[0]=Engine.PlayerPawn
meshedWhitelistStr[1]=Engine.Effects
meshedWhitelistStr[2]=UnrealShare.Bots
meshedWhitelistStr[3]=Botpack.Bot

Sadly this resulted in a white sphere and beam on shockrifle.
Hard to make a screenshot of. (send you a pm with ip:port of a testserver)
Note, this is with newnet active.

When i test this with newnet disabled, so with regular botpack.instagibdm it surprises me this results into the same.
A regular instagib beam on team Red and Blue, with a white flicker. (hard to make a screenshot, please check the server)
*Sadly i can't test the combogib mut as this is inside newnet.
White is the color you see on actors that have been spawned by you. This is done because, for example, if your team is blue (no friendly fire) and a blue rocketlauncher grenade is about to touch you then you don't need to run, but if it's your own rocket grenade then you do.
"Your stuff is known to be buggy and unfinished/not properly tested"
User avatar
esnesi
Godlike
Posts: 1018
Joined: Mon Aug 31, 2015 12:58 pm
Personal rank: Dialed in.

Re: TeamColorOverlay (A mutator to display colored outlines around actors based on their team)

Post by esnesi »

PrinceOfFunky wrote: Wed Sep 22, 2021 9:54 pm White is the color you see on actors that have been spawned by you. This is done because, for example, if your team is blue (no friendly fire) and a blue rocketlauncher grenade is about to touch you then you don't need to run, but if it's your own rocket grenade then you do.
If i understand correctly i get a white result as i got a actor active (newnet).
I also got this white result with the actor disabled and on regular gotpack.instagibdm, which as i said surprised me.
User avatar
PrinceOfFunky
Godlike
Posts: 1200
Joined: Mon Aug 31, 2015 10:31 pm

Re: TeamColorOverlay (A mutator to display colored outlines around actors based on their team)

Post by PrinceOfFunky »

esnesi wrote: Wed Sep 22, 2021 10:23 pm
PrinceOfFunky wrote: Wed Sep 22, 2021 9:54 pm White is the color you see on actors that have been spawned by you. This is done because, for example, if your team is blue (no friendly fire) and a blue rocketlauncher grenade is about to touch you then you don't need to run, but if it's your own rocket grenade then you do.
If i understand correctly i get a white result as i got a actor active (newnet).
I also got this white result with the actor disabled and on regular gotpack.instagibdm, which as i said surprised me.
What do you mean with "actor disabled"? Which actor? Botpack.ShockRifle?
"Your stuff is known to be buggy and unfinished/not properly tested"
User avatar
esnesi
Godlike
Posts: 1018
Joined: Mon Aug 31, 2015 12:58 pm
Personal rank: Dialed in.

Re: TeamColorOverlay (A mutator to display colored outlines around actors based on their team)

Post by esnesi »

PrinceOfFunky wrote: Wed Sep 22, 2021 10:46 pm
What do you mean with "actor disabled"? Which actor? Botpack.ShockRifle?
The newnetactor which i assumed caused these white beams/spheres.

*Conversation continued on discord.
User avatar
EvilGrins
Godlike
Posts: 9668
Joined: Thu Jun 30, 2011 8:12 pm
Personal rank: God of Fudge
Location: Palo Alto, CA
Contact:

Re: TeamColorOverlay (A mutator to display colored outlines around actors based on their team)

Post by EvilGrins »

Not sure why I hadn't tried this sooner, but I was mainly curious about what it would effect and what it wouldn't.

Seems to work well on a number of player models:
Image Image Image

But it doesn't effect NPC bots (though I suspect as that's as they can't be team assigned) or the UTDM-monsters:
Image Image

However, it still effects the projectiles of the UTDM-monsters:
Image Image

Kinda cool.
http://unreal-games.livejournal.com/
Image
medor wrote:Replace Skaarj with EvilGrins :mrgreen:
Smilies · viewtopic.php?f=8&t=13758
User avatar
PrinceOfFunky
Godlike
Posts: 1200
Joined: Mon Aug 31, 2015 10:31 pm

Re: TeamColorOverlay (A mutator to display colored outlines around actors based on their team)

Post by PrinceOfFunky »

EvilGrins wrote: Mon Oct 04, 2021 7:53 am Not sure why I hadn't tried this sooner, but I was mainly curious about what it would effect and what it wouldn't.

Seems to work well on a number of player models:
Image Image Image

But it doesn't effect NPC bots (though I suspect as that's as they can't be team assigned) or the UTDM-monsters:
Image Image

However, it still effects the projectiles of the UTDM-monsters:
Image Image

Kinda cool.
Yes, it's because they don't have a team. Maybe the only way to give overlays to monsters is to make them based on the monsters attitudeToPlayer variable but that wouldn't make the overlays a team colored anymore.
"Your stuff is known to be buggy and unfinished/not properly tested"
Post Reply