For direct access use https://forums.oldunreal.com
It's been quite a while since oldunreal had an overhaul, but we are moving to another server which require some updates and changes. The biggest change is the migration of our old reliable YaBB forum to phpBB. This system expects you to login with your username and old password known from YaBB.
If you experience any problems there is also the usual "password forgotten" function. Don't forget to clear your browser cache!
If you have any further concerns feel free to contact me: Smirftsch@oldunreal.com
It's been quite a while since oldunreal had an overhaul, but we are moving to another server which require some updates and changes. The biggest change is the migration of our old reliable YaBB forum to phpBB. This system expects you to login with your username and old password known from YaBB.
If you experience any problems there is also the usual "password forgotten" function. Don't forget to clear your browser cache!
If you have any further concerns feel free to contact me: Smirftsch@oldunreal.com
Indicator for grab.
-
Krull0r
- Global Moderator
- Posts: 543
- Joined: Sun Jul 01, 2007 4:07 pm
Indicator for grab.
Hey there
Im still thinking about a visual feedback to show the player when he is in the radius to grab a decoration or trigger the Grab trigger.
Im using a toggleable Dynamic Corona as icon which shows where the the player can grab.
I have different ideas to get it work and Im not able to code such a system by my self.
First I thought to give the dynamic corona a second Tag, so the player can enablel/disable it with the normal tag and with the second tag the grab trigger should change color of the dynamic corona to green when the player is in its radius.
I dont know if this it is possible to give a actor two tags.
The second idea is to draw some kind of hud material when the player is in the grab radius of the grab trigger and display a message near the crosshair which give the player the visual feedback that he can use grab now.
I have no idea how to get it work or where to start.
Im still thinking about a visual feedback to show the player when he is in the radius to grab a decoration or trigger the Grab trigger.
Im using a toggleable Dynamic Corona as icon which shows where the the player can grab.
I have different ideas to get it work and Im not able to code such a system by my self.
First I thought to give the dynamic corona a second Tag, so the player can enablel/disable it with the normal tag and with the second tag the grab trigger should change color of the dynamic corona to green when the player is in its radius.
I dont know if this it is possible to give a actor two tags.
The second idea is to draw some kind of hud material when the player is in the grab radius of the grab trigger and display a message near the crosshair which give the player the visual feedback that he can use grab now.
I have no idea how to get it work or where to start.

-
Bleeder91[NL]
- OldUnreal Member
- Posts: 1062
- Joined: Sun Oct 04, 2009 7:22 pm
Re: Indicator for grab.
You could subclass Pawn and make use of the PostRender2D function. Heck, make the whole Grab Actor a Pawn subclass and let that handle its grab to whatever actor it needs to send it to.
-
Krull0r
- Global Moderator
- Posts: 543
- Joined: Sun Jul 01, 2007 4:07 pm
Re: Indicator for grab.
Okay I got something that works
I modified the Hider actor from firetrucks which allows me to change the color of a specific GrabHand while touching the trigger.

-
Masterkent
- OldUnreal Member
- Posts: 1469
- Joined: Fri Apr 05, 2013 12:41 pm
Re: Indicator for grab.
You can handle Touch/UnTouch directly from any actor of your own custom class. There is no any specific magic in Triggers that lets them detect presence of players, Triggers just handle Touch/UnTouch like any other actor could potentially do.First I thought to give the dynamic corona a second Tag, so the player can enablel/disable it with the normal tag and with the second tag the grab trigger should change color of the dynamic corona to green when the player is in its radius.
I dont know if this it is possible to give a actor two tags.
And, of course, matching by Tag is not the only way to establish a connection between two actors. If actor A creates actor B, then A can just store the reference to B in some variable and B can store the reference to A in some variable right after creation of B.
If actors A and B are created independently, they can find each other via AllActors by whatever sign you like.
In case of the second approach you may consider the Bleeder's idea, or if you're already using any HUDOverlay, you can draw your images in the overlay.The second idea is to draw some kind of hud material when the player is in the grab radius of the grab trigger and display a message near the crosshair which give the player the visual feedback that he can use grab now.
I have no idea how to get it work or where to start.
Last edited by Masterkent on Tue Aug 07, 2018 10:39 pm, edited 1 time in total.
-
Krull0r
- Global Moderator
- Posts: 543
- Joined: Sun Jul 01, 2007 4:07 pm
Re: Indicator for grab.
Thank you that helped a lotYou can handle Touch/UnTouch directly from any actor of your own custom class. There is no any specific magic in Triggers that lets them detect presence of players, Triggers just handle Touch/UnTouch like any other actor could potentially do.
I made some kind of touch checker actor which is placed inside my grabtrigger actor. The checker actor has the ability to change the color of the grabhand actor and the texture if I want to display an other icon which shows the player that he is in the grabradius.
I also want more visual feedback!
Its a complicated setup Im using in my levels so I try to explain whats still missing:
I always attach my grabhand actor to movers so the grabhand moves with every button, lever, switch or what ever.
If the whole triggersetup is set to triggeronceonly the grab hand moves with the mover and hides at the last keyframe.
So the player has the feedback there is nothing to trigger any more. Im using the same method for everything which is set to once only.
For movers like the switches in Nyleve to controls the elevators the grabhand actors are also attached to the movers and I want to
give the player the visual feedback that if he is in the triggerradius. The grabhand actor becomes green and while the mover moves
the grabhand actor should turn back to its default color until the switch reaches the start position.
That needs to be controlled in my checkeractor.
What I have done already and whats working:
The checker actor tells the grabhand actor to change the color while touching.
I also made a timed trigger action which should disable the color change in a defined timespan.
But here I have the problem. If the player stays in the checker radius and the checker got triggered to
Change the color of the grabhand back to default for the time while the mover is moving. It wont update until the player moves, jump or duck.
I used turning off the collision and disable (trigger) for the time while its disabled but it needs to be updated while the player stays in the checker radius.
Maybe I need to make a demonstration video to show what I like to do.

-
Masterkent
- OldUnreal Member
- Posts: 1469
- Joined: Fri Apr 05, 2013 12:41 pm
Re: Indicator for grab.
I would check the value of (KeyNum == 0 && !bDelaying && !bInterpolating) for the implied mover in Tick function of the actor which determines what image to display. If this expression evaluates to true, then the mover is closed and inactive (at least for standard movers).
KeyNum == 0 implies that the mover is closed or going to close;
bDelaying implies that the mover is activated and waits for delayed opening;
bInterpolating implies that the mover is moving.
Additionally, it's possible to check the current state of the mover by means of GetStateName() - if it's equal to Class.Name, then the mover won't move anymore (movers whose bTriggerOnceOnly is true enter such a state when they would start closing if bTriggerOnceOnly was set to false).
So, when for a given mover M, (M.GetStateName() != M.Class.Name && M.KeyNum == 0 && !M.bDelaying && !M.bInterpolating) evaluates to true, it makes sense to indicate that the mover can be activated. Of course, if the mover can be activated only by a trigger whose bTriggerOnceOnly is true, this should be taken into account too.
KeyNum == 0 implies that the mover is closed or going to close;
bDelaying implies that the mover is activated and waits for delayed opening;
bInterpolating implies that the mover is moving.
Additionally, it's possible to check the current state of the mover by means of GetStateName() - if it's equal to Class.Name, then the mover won't move anymore (movers whose bTriggerOnceOnly is true enter such a state when they would start closing if bTriggerOnceOnly was set to false).
So, when for a given mover M, (M.GetStateName() != M.Class.Name && M.KeyNum == 0 && !M.bDelaying && !M.bInterpolating) evaluates to true, it makes sense to indicate that the mover can be activated. Of course, if the mover can be activated only by a trigger whose bTriggerOnceOnly is true, this should be taken into account too.
Last edited by Masterkent on Wed Aug 08, 2018 10:23 am, edited 1 time in total.
-
Krull0r
- Global Moderator
- Posts: 543
- Joined: Sun Jul 01, 2007 4:07 pm
Re: Indicator for grab.
Okay it works fine so far!
Now the GrabIndicator does show the higlighted version of the icon while the player touches the GrabIndicator.
If the GrabIndicator got triggered the hightlight is deactivated.
This works fine in singleplayer but in multiplayer the triggering of the Grabindicator has no effect while the player stand in its radius.
In multiplayer as client only If the player moves out of the radius and untouches the actor and moves again in the radius while the timer is running the triggering works as client
Do I miss something here?
Now the GrabIndicator does show the higlighted version of the icon while the player touches the GrabIndicator.
If the GrabIndicator got triggered the hightlight is deactivated.
This works fine in singleplayer but in multiplayer the triggering of the Grabindicator has no effect while the player stand in its radius.
In multiplayer as client only If the player moves out of the radius and untouches the actor and moves again in the radius while the timer is running the triggering works as client
Do I miss something here?
Code: Select all
class UR_GrabIndicatorTrigger expands Triggers;
var() float DeactivateTime;
var() texture Icon;
var() texture InRadiusIcon;
var() UR_GrabHand hideTarget;
simulated event Touch( Actor Other)
{
if (PlayerPawn(Other) != none)
{
hiderMain1(hideTarget);
}
}
simulated event UnTouch( actor Other )
{
if (PlayerPawn(Other) != none)
{
hiderMain2(hideTarget);
}
}
simulated function hiderMain1( UR_GrabHand a)
{
if (a != none)
{
a.scaleglow = 2;
a.Skin=InRadiusIcon;
a.CloseDistanceColor.A = 0;
a.CloseDistanceColor.B = 0;
a.CloseDistanceColor.G = 255;
a.CloseDistanceColor.R = 0;
}
}
simulated function hiderMain2( UR_GrabHand a)
{
if (a != none)
{
a.scaleglow = 2;
a.Skin = Icon;
a.CloseDistanceColor.A = 0;
a.CloseDistanceColor.B = 255;
a.CloseDistanceColor.G = 255;
a.CloseDistanceColor.R = 255;
}
}
function Trigger( actor Other, pawn EventInstigator )
{
Disable('Trigger');
SetCollision(false);
SetTimer(DeactivateTime,false);
hiderMain2(hideTarget);
bHidden = true; // For trigger checking in multiplayer
}
function Timer ()
{
SetCollision(True);
Enable('Trigger');
hiderMain1(hideTarget);
bHidden = False; // For trigger checking in multiplayer
}
defaultproperties
{
bNoDelete=True
bAlwaysRelevant=True
RemoteRole=ROLE_SimulatedProxy
Texture=Texture'Engine.S_Camera'
DrawScale=0.250000
}

-
Masterkent
- OldUnreal Member
- Posts: 1469
- Joined: Fri Apr 05, 2013 12:41 pm
Re: Indicator for grab.
I don't understand what you're trying to achieve with that Trigger function. Probably, you don't want to let other players see that hand when you're close to the mover while those players are not. If so, you should modify visibility of that hand locally and independently for each player. This is how I would implement such a thing:
Code: Select all
class UR_GrabIndicatorTrigger expands Triggers;
var() name GrabHandTag;
var private Mover ControlledMover;
var private bool bActivatableMover;
var private UR_GrabHand GrabHand;
replication
{
reliable if (Role == ROLE_Authority)
GrabHandTag,
bActivatableMover;
}
event BeginPlay()
{
// looking up for the associated mover
foreach AllActors(class'Mover', ControlledMover, Tag)
{
InitialState = 'Enabled';
return;
}
}
simulated event PostBeginPlay()
{
assert(!bStatic && !bNoDelete || bAlwaysRelevant); // clients shall receive the actual value of bCollideActors
DrawType = DT_None; // players shouldn't see this actor when bHidden is false
SetLocation(Location); // update touchers
}
simulated event PostNetBeginPlay()
{
UpdateGrabHand();
}
simulated event PostNetReceive()
{
UpdateGrabHand();
}
simulated function bool FindGrabHand()
{
if (GrabHand != none)
return true;
foreach AllActors(class'UR_GrabHand', GrabHand, GrabHandTag)
return true;
return false;
}
simulated function UpdateGrabHand()
{
if (!FindGrabHand())
return;
if (!bCollideActors)
GrabHand.SetVisible(false);
GrabHand.SetActivatable(bActivatableMover);
}
static function bool MoverIsActivatable(Mover M)
{
return M.KeyNum == 0 && !M.bDelaying && !M.bInterpolating && M.GetStateName() != M.Class.Name;
}
simulated event Touch(Actor A)
{
if (A == Level.GetLocalPlayerPawn() && FindGrabHand())
GrabHand.SetVisible(true);
}
simulated event UnTouch(Actor A)
{
if (A == Level.GetLocalPlayerPawn() && FindGrabHand())
GrabHand.SetVisible(false);
}
state Enabled
{
event BeginState()
{
bHidden = false; // replicate this actor as if it was visible
SetCollision(true, false, false);
}
event EndState()
{
bHidden = true; // no need to replicate this actor anymore
SetCollision(false, false, false); // no need to handle Touch anymore
UpdateGrabHand();
}
event Tick(float DeltaTime)
{
if (ControlledMover == none ||
ControlledMover.bTriggerOnceOnly && ControlledMover.KeyNum != 0)
{
// can't activate the mover anymore
GotoState('');
return;
}
if (bActivatableMover != MoverIsActivatable(ControlledMover))
{
bActivatableMover = !bActivatableMover;
UpdateGrabHand();
}
}
}
defaultproperties
{
bNetNotify=True
RemoteRole=ROLE_SimulatedProxy
}Code: Select all
class UR_GrabHand expands DynamicCorona;
simulated event BeginPlay()
{
SetVisible(false);
}
simulated function SetVisible(bool bVisible)
{
if (bVisible)
Skin = Texture;
else
Skin = none;
}
simulated function SetActivatable(bool bActivatable)
{
if (bActivatable)
CloseDistanceColor = MakeColor(0, 255, 0);
else
CloseDistanceColor = MakeColor(255, 255, 255);
}
defaultproperties
{
bNoDelete=True
RemoteRole=ROLE_None
Texture=Texture'Engine.S_Trigger' // replace this with your texture of hand
}
Last edited by Masterkent on Sun Aug 12, 2018 12:27 pm, edited 1 time in total.
-
Krull0r
- Global Moderator
- Posts: 543
- Joined: Sun Jul 01, 2007 4:07 pm
Re: Indicator for grab.
The idea behind the trigger function is that the checker becomes deactivated while the player stays in its radius and triggers a retriggerable console, switch, lever or what ever infront of the player.
If something is once only the grab indicator does disappear so the player knows there is nothing to trigger any more.
If something is once only the grab indicator does disappear so the player knows there is nothing to trigger any more.

-
Masterkent
- OldUnreal Member
- Posts: 1469
- Joined: Fri Apr 05, 2013 12:41 pm
Re: Indicator for grab.
I thought that you need something like this:
Note that the presence of another player nearby the mover doesn't affect visibility of the corona for me.
And I didn't use DeactivateTime or anything like that, the trigger just reads the current state of the mover and determines if it's grabbable or not. This method should work correctly if the mover returns after reaching an obstacle (then returning would happen sooner than usually), and if you change DelayTime, MoveTime, or StayOpenTime or your mover, there will be no need in tweaking the delay interval on the trigger.
What I don't understand is what you're trying to achieve by modifying bHidden of your trigger. The reason why server-side modification of CloseDistanceColor is not observable on clients is pretty obvious if you take a look at the definition of DynamicCorona: the class is not declared with the NativeReplication keyword and there is no any replication statement that would allow transferring the value of CloseDistanceColor from server to clients.
Note that the presence of another player nearby the mover doesn't affect visibility of the corona for me.
And I didn't use DeactivateTime or anything like that, the trigger just reads the current state of the mover and determines if it's grabbable or not. This method should work correctly if the mover returns after reaching an obstacle (then returning would happen sooner than usually), and if you change DelayTime, MoveTime, or StayOpenTime or your mover, there will be no need in tweaking the delay interval on the trigger.
What I don't understand is what you're trying to achieve by modifying bHidden of your trigger. The reason why server-side modification of CloseDistanceColor is not observable on clients is pretty obvious if you take a look at the definition of DynamicCorona: the class is not declared with the NativeReplication keyword and there is no any replication statement that would allow transferring the value of CloseDistanceColor from server to clients.
-
Krull0r
- Global Moderator
- Posts: 543
- Joined: Sun Jul 01, 2007 4:07 pm
Re: Indicator for grab.
The bhidden stuff of the trigger function in my actor is useless
It was only for me an indicator that the Actor got triggered or not in netplay.
I will try your method and tweak it to my uses and try to combine it with the current triggerable grabhand I have.
For consoles which are not moveable I could hide a small mover in the wall for controlling the dynamic corona.
I thought it was easier to create such a system
If I need something I let you know big thanks for your help Masterkent.
It was only for me an indicator that the Actor got triggered or not in netplay.
I will try your method and tweak it to my uses and try to combine it with the current triggerable grabhand I have.
For consoles which are not moveable I could hide a small mover in the wall for controlling the dynamic corona.
I thought it was easier to create such a system
If I need something I let you know big thanks for your help Masterkent.

-
Masterkent
- OldUnreal Member
- Posts: 1469
- Joined: Fri Apr 05, 2013 12:41 pm
Re: Indicator for grab.
It's not necessary to use a single trigger-like class for all grabbable objects. You can create specialized versions for different kinds of actors.For consoles which are not moveable I could hide a small mover in the wall for controlling the dynamic corona.
For example, the base class can be defined like this:
Code: Select all
class UR_GrabIndicatorTrigger expands Triggers;
var() name GrabHandTag;
var() bool bIsEnabled;
var UR_GrabHand GrabHand;
var bool bIsActivatable;
replication
{
reliable if (Role == ROLE_Authority)
GrabHandTag,
bIsActivatable;
}
event BeginPlay()
{
bIsActivatable = true;
SetEnabled(bIsEnabled);
}
simulated event PostBeginPlay()
{
assert(!bStatic && !bNoDelete || bAlwaysRelevant); // clients shall receive the actual value of bCollideActors
DrawType = DT_None; // players shouldn't see this actor when bHidden is false
SetLocation(Location); // update touchers
}
simulated event PostNetBeginPlay()
{
UpdateGrabHand();
}
simulated event PostNetReceive()
{
UpdateGrabHand();
}
simulated function bool FindGrabHand()
{
if (GrabHand != none)
return true;
foreach AllActors(class'UR_GrabHand', GrabHand, GrabHandTag)
return true;
return false;
}
simulated function UpdateGrabHand()
{
if (!FindGrabHand())
return;
if (!bCollideActors)
GrabHand.SetVisible(false);
GrabHand.SetActivatable(bIsActivatable);
}
simulated event Touch(Actor A)
{
if (A == Level.GetLocalPlayerPawn() && FindGrabHand())
GrabHand.SetVisible(true);
}
simulated event UnTouch(Actor A)
{
if (A == Level.GetLocalPlayerPawn() && FindGrabHand())
GrabHand.SetVisible(false);
}
function SetEnabled(bool bEnable)
{
bIsEnabled = bEnable;
bHidden = !bEnable; // when enabled, replicate this actor as if it was visible
SetCollision(bEnable, false, false);
UpdateGrabHand();
if (bEnable)
Enable('Tick');
else
Disable('Tick');
}
state() NormalTrigger
{
}
state() OtherTriggerToggles
{
function Trigger(Actor A, Pawn EventInstigator)
{
SetEnabled(!bIsEnabled);
}
}
state() OtherTriggerTurnsOn
{
function Trigger(Actor A, Pawn EventInstigator)
{
SetEnabled(true);
}
}
state() OtherTriggerTurnsOff
{
function Trigger(Actor A, Pawn EventInstigator)
{
SetEnabled(false);
}
}
defaultproperties
{
bIsEnabled=True
bNetNotify=True
RemoteRole=ROLE_SimulatedProxy
}Code: Select all
class UR_MoverGrabIndicatorTrigger expands UR_GrabIndicatorTrigger;
var() name MoverTag;
var private Mover ControlledMover;
event BeginPlay()
{
// looking up for the associated mover
foreach AllActors(class'Mover', ControlledMover, MoverTag)
{
SetEnabled(bIsEnabled);
return;
}
SetEnabled(false);
InitialState = 'NormalTrigger';
Log("Warning:" @ self @ "failed to find the associated mover with tag" @ MoverTag);
}
static function bool MoverIsActivatable(Mover M)
{
return M.KeyNum == 0 && !M.bDelaying && !M.bInterpolating && M.GetStateName() != M.Class.Name;
}
event Tick(float DeltaTime)
{
if (ControlledMover == none ||
ControlledMover.bTriggerOnceOnly && ControlledMover.KeyNum != 0)
{
// can't activate the mover anymore
SetEnabled(false);
return;
}
if (bIsActivatable != MoverIsActivatable(ControlledMover))
{
bIsActivatable = !bIsActivatable;
UpdateGrabHand();
}
}
Last edited by Masterkent on Tue Aug 14, 2018 8:55 am, edited 1 time in total.
-
Krull0r
- Global Moderator
- Posts: 543
- Joined: Sun Jul 01, 2007 4:07 pm
Re: Indicator for grab.
Thank you very much Masterkent. Im going to try this out when Im @ home!
Is it also possible to use instead of the tag a target?
I also have a question about the replication of the dynamic corona.
In my script I was able to see the changes of the dynamic corona while touching and untouching the indicator trigger as client in multiplayer.
Only the triggering function had no effect of the corona.
I mean the trigger called the same function like untouch.
Is it also possible to use instead of the tag a target?
I also have a question about the replication of the dynamic corona.
In my script I was able to see the changes of the dynamic corona while touching and untouching the indicator trigger as client in multiplayer.
Only the triggering function had no effect of the corona.
I mean the trigger called the same function like untouch.

-
Masterkent
- OldUnreal Member
- Posts: 1469
- Joined: Fri Apr 05, 2013 12:41 pm
Re: Indicator for grab.
If you mean the possibility to specify the reference to a particular actor in UnrealEd, then the answer is probably yes (I don't remember how reliably cross-references between actors work when they are stored right in the map). But if the referenced actor must be accessed client-side, this method imposes more requirements on the given actor or the actor which holds the reference.Is it also possible to use instead of the tag a target?
If actor A contains a reference to actor B and both actors are unremovable (bStatic or bNoDelete), then the reference to B in A may remain valid for the whole period while the level is loaded.
If actor A contains a reference to actor B and only B is unremovable (bStatic or bNoDelete), then A may be automatically removed client-side (even if it's bAlwaysRelevant) and then respawned due to further replication from the server. The respawned actor is initialized with default properties and then may be updated by values replicated from the server. So, for example, if the original actor A contained a property Ref that referred to B, then Ref in respawned instance of A will first refer to None and then A.Ref may be automatically updated to refer to B only if the server replicates the server-side value of Ref. As far as I remember, such a replication can be done successfully only if B exists server-side and it's net-relevant for the given client.
That difference is easy to explain: your Touch/UnTouch are simulated events of a ROLE_SimulatedProxy-enabled actor, so both server and client may call these functions when touching/untouching takes place server-side and client-side correspondingly. In contrast, the Trigger function can be invoked server-side only. The server-side changes of the corona won't be observable client-side (as explained earlier); only client-side changes of the corona can be seen. The Trigger function can change client-side value of CloseDistanceColor only indirectly: first it should replicate some kind of signal to client, and then the client should recognize that signal and perform the corresponding value change for CloseDistanceColor.In my script I was able to see the changes of the dynamic corona while touching and untouching the indicator trigger as client in multiplayer.
Only the triggering function had no effect of the corona.
I used bCollideActors and bIsActivatable for transferring the information about the current state of the mover from the server to clients. Clients receive the replicated values of bCollideActors and bIsActivatable and handle them in PostNetBeginPlay and PostNetReceive. The handler in PostNetBeginPlay and PostNetReceive may change the visibility and color as needed.
The function is the same, but the sets of affected actors are not the same. Touch/UnTouch are called server-side and client-side, Trigger is called only server-side.I mean the trigger called the same function like untouch.
Last edited by Masterkent on Tue Aug 14, 2018 12:17 pm, edited 1 time in total.
-
Krull0r
- Global Moderator
- Posts: 543
- Joined: Sun Jul 01, 2007 4:07 pm
Re: Indicator for grab.
Thank you very much for this detailed explanation. This will be helpful in future scripts 
I was able to combine your grabhand and indicator script with dots toggleable dynamic corona
and I added additional stuff I needed like the Icon texture and the InRadiusTexture.
I also added a timer ( stolen from the dispatcher ) which toggle the visibility of the GrabHand while the player is not able to interact with the switch, console, lever or what ever.
The timer makes it like a allrounder for everything.
I tested this evening with Startegy the system as clients on a dedicated server. I placed my version of the grabindicator into the level as well to compared the difference.
Your script made the race. Really really good work and thank you very much for your help.
But Is it possible that other players can see the changes of the GrabHand while an other player stays in the radius of the grabindicator?
This was possible in my buggy version but I liked the behavior.
Or would it be better if only the player sees that he is in the grab radius?
I was able to combine your grabhand and indicator script with dots toggleable dynamic corona
I also added a timer ( stolen from the dispatcher ) which toggle the visibility of the GrabHand while the player is not able to interact with the switch, console, lever or what ever.
The timer makes it like a allrounder for everything.
I tested this evening with Startegy the system as clients on a dedicated server. I placed my version of the grabindicator into the level as well to compared the difference.
Your script made the race. Really really good work and thank you very much for your help.
But Is it possible that other players can see the changes of the GrabHand while an other player stays in the radius of the grabindicator?
This was possible in my buggy version but I liked the behavior.
Or would it be better if only the player sees that he is in the grab radius?
Last edited by Krull0r on Wed Aug 15, 2018 9:48 pm, edited 1 time in total.

-
Masterkent
- OldUnreal Member
- Posts: 1469
- Joined: Fri Apr 05, 2013 12:41 pm
Re: Indicator for grab.
if you replaceBut Is it possible that other players can see the changes of the GrabHand while an other player stays in the radius of the grabindicator?
Code: Select all
A == Level.GetLocalPlayerPawn()Code: Select all
PlayerPawn(A) != noneFrom my point of view, seeing hints for other players would look kinda weird. Personally, I'd prefer to explore maps without such hints at all (I guess, this feature is supposed to be optional, right?)Or would it be better if only the player sees that he is in the grab radius?
Last edited by Masterkent on Thu Aug 16, 2018 1:16 pm, edited 1 time in total.
-
Krull0r
- Global Moderator
- Posts: 543
- Joined: Sun Jul 01, 2007 4:07 pm
Re: Indicator for grab.
Alright.
I only need the icons to show the players where he can use grab. Without that icon it would be hard for the player to figure out where he can trigger stuff because the player do need to use grab for activating trigger sequences.
But I was also thinking about to give the player the ability to disable the icons with a mutator and maybe make the grab trigger replaceable with a common trigger.
I never did some kind of mutators for unreal.
I also never touched scrpting before Unreal Redux for me its extreme timeconsining to script stuff and get it work right.
But Im learning it this way.
I only need the icons to show the players where he can use grab. Without that icon it would be hard for the player to figure out where he can trigger stuff because the player do need to use grab for activating trigger sequences.
But I was also thinking about to give the player the ability to disable the icons with a mutator and maybe make the grab trigger replaceable with a common trigger.
I never did some kind of mutators for unreal.
I also never touched scrpting before Unreal Redux for me its extreme timeconsining to script stuff and get it work right.
But Im learning it this way.
Last edited by Krull0r on Thu Aug 16, 2018 6:13 pm, edited 1 time in total.

-
BobIsUnreal
- OldUnreal Member
- Posts: 806
- Joined: Mon Apr 12, 2010 12:34 am
Re: Indicator for grab.
i made somthing simply and hacky a few years ago that is similar , maybe it could be of basic help.
http://bobisunreal.com/random/Forum/rtcwhud.u
its a intentory item/hudoverlay that draws icons on the hud if you are within view of decorations that are breakable, or movers that Toggle. and teleporters : think level exir indicator. one should be able to trace to grabbable classes in the same way, or adopt it for other use
http://bobisunreal.com/random/Forum/rtcwhud.u
its a intentory item/hudoverlay that draws icons on the hud if you are within view of decorations that are breakable, or movers that Toggle. and teleporters : think level exir indicator. one should be able to trace to grabbable classes in the same way, or adopt it for other use
-
Krull0r
- Global Moderator
- Posts: 543
- Joined: Sun Jul 01, 2007 4:07 pm