Mover attached Actors move delayed

Tutorials and discussions about Mapping - Introduce your own ones!
JackGriffin
Godlike
Posts: 3774
Joined: Fri Jan 14, 2011 1:53 pm
Personal rank: -Retired-

Re: Mover attached Actors move delayed

Post by JackGriffin »

You can pulse the mover but it's not going to work as well as mover subclassing. You'll still get the jittery movement. I'm working right now on a redo of the map part posted earlier in the thread as a demonstration of how I would handle it. I'll edit this post as soon as I get done.

Edit: Ugh, this is a real pain in the ass. It's much harder to do this in UT versus U227. I'm not going to do all the background work to just make a useless demo but here's the steps...

Skip this part, it's better to use the next one
Spoiler
You'll need to find the mesh of the thing you want to make into a mover. In the demo map there are two Lightboxes on the front of the train. Using UTPT you can convert those from mesh to brush, then import that into the editor. Add your lightbox into the editor as BSP then convert that to a LoopMover. Replace the lightbox in the map with the LoopMover made to look like a lightbox and set it's keyframes and such to match the train. Do this for all the things you want to simulate as attached and they will all run perfectly together, no need to link any movers (though you could now and it would work).
Hmmmm...

One thing that bugs me though is that scaled sprites attached to movers don't work right for you. I did this in the MarioWorld map I was working on for Dane's PB gametype and it worked fine for me. I'm wondering if LoopMover messes things up where using a normal mover would not. I can assure you that multiple cycles ran on my map online and they never lost position but I used normal mover and not Loop. If this were my map I'd consider making the train identical on each end and running it back and forth on a trigger. I'll bet you the attached actors stay where they should be then. Perhaps in the moment that the loopmover begins it's cycle anew it loses proper replication sync to the attached actors? Don't know, but it makes sense.

Now I really want to know....Anyone running a UT server willing to test a map for me?
So long, and thanks for all the fish
MrLoathsome
Inhuman
Posts: 958
Joined: Wed Mar 31, 2010 9:02 pm
Personal rank: I am quite rank.
Location: MrLoathsome fell out of the world!

Re: Mover attached Actors move delayed

Post by MrLoathsome »

A test server you say.....

I was getting ready to set one up this week.

It is gonna be a Laser Arena Test server. The laser gun is gonna be cool. :rock: (You know what I mean...)

Suppose I can test the lasers/sharks/tents on any map. Send it on over.

If the box I got setup here for the test server fails or gives me problems for some reason, (it is very old), I can just toss the map
on my DOM server.
blarg
JackGriffin
Godlike
Posts: 3774
Joined: Fri Jan 14, 2011 1:53 pm
Personal rank: -Retired-

Re: Mover attached Actors move delayed

Post by JackGriffin »

Thanks Lo! I'll try to get a test map done up and sent to you tomorrow. It will be a simple room with a couple of triggered movers with attached things done a couple of ways. You da man.
So long, and thanks for all the fish
User avatar
Dizzy
Experienced
Posts: 109
Joined: Tue May 21, 2013 3:57 pm
Personal rank: Oaf
Contact:

Re: Mover attached Actors move delayed

Post by Dizzy »

JackGriffin wrote:Thanks Lo! I'll try to get a test map done up and sent to you tomorrow. It will be a simple room with a couple of triggered movers with attached things done a couple of ways. You da man.
Did you ever try out this map on a server? I'd definitely be interested in seeing it since I'm looking into mover/replication stuff.
Join the BunnyTrack.net Discord chat server: https://www.bunnytrack.net/discord
Buggie
Godlike
Posts: 2698
Joined: Sat Mar 21, 2020 5:32 am

Re: Mover attached Actors move delayed

Post by Buggie »

Just use own LoopMover and override InetrpolateTime to zero for some KeyNum:

Code: Select all

//=============================================================================
// TrainMover.
//=============================================================================
class TrainMover expands LoopMover;

function DoOpen() {
	local float FixTime;
	// Move to the next keyframe.
	//
	FixTime = MoveTime;
	bOpening = true;
	bDelaying = false;
	if (NextKeyNum == 0 || NextKeyNum == 2) FixTime = 0;
	InterpolateTo( NextKeyNum, FixTime );
	PlaySound( OpeningSound );
	AmbientSound = MoveAmbientSound;
}
Now train rotate instant.

This must be solution for you. Except only if you want realistic rotation of train.
DM-!TestLongTunnel1.zip
(174.33 KiB) Downloaded 6 times
If you stay on train roof all fine. But if you stay on curved roof near edge, fast rotate can kill you. Especially if room not enough big for usual rotate train, like in test map.

Tested on dedicated server.
Now train appear more often because rotate instant. It is more suitable for game I think.

For replace mover with custom - copy it to text, replace Class name, paste back, fix 32uu addition.
Maybe you need fix texture align because UEd not learn properly export/import ALL texture settings. :mad2:

-----

If you want some fancy stuff (which not see most players :lol2: ) you can make all Light is trigger Light, add Two additional KeyNums before each rotation, override each MoveTime to same as TriggerLight fade. And adjust rotation KeyNums.
Place rotation place in full dark. Now train goes to end. Stops. All Light fade to black. Rotate instant. Turn light on and move again.
Like real subway train's do when reach end of line.

Light turn on and off by trigger some event on custom code in TrainMover.

But most players never see this fancy stuff.

------

Another solution - use two trains based on usual LoopMovers. Which going in opposite way. They not rotate at all.

Train make visible path on rails and going into ground, deep enough for not hear sound. There return back.
Second train do the same but shifted in time.

So when you stay on roof you start falling when first train goes down. But second train appear and now you on second train.

Of course if someone watch on this things he can notice by moving light what going here. But who watch this? :mrgreen:

For make this stuff work properly you need set two intermediate KeyPos in tunnel and reduce MoveTime in 3 times.

This need for connect down one train and up second in same time.

One drawback for this approach - if player on roof, then he appear on the end of second train if before be at begin on first train.
Post Reply