Timeline code For Kismet.

Hi Everyone I am trying to create another Kismet Node I am not very experienced with UnrealScript So I would appericate if someone could test my code and see what the problem is. I am trying to create a timeline Code for Kismet So i would really appericate if someone could take a look at my code.

class MyTimelineNode extends SequenceAction;

var float Duration;
var float CurrentTime;
var float PlayRate;
var bool bIsPlaying;
var InterpCurveFloat MyCurve;

function Interp(float DeltaTime)
{
CurrentTime = CurrentTime + DeltaTime * PlayRate;
if (CurrentTime >= Duration)
{
bIsPlaying = false;
}
MyCurve.GetLerpValue(CurrentTime / Duration);
}

function Play()
{
bIsPlaying = true;
CurrentTime = 0.0;
}

function Pause()
{
bIsPlaying = false;
}

function Reverse()
{
PlayRate = -PlayRate;
}

function Trigger(float InTime)
{
CurrentTime = InTime;
}

default properties
{
Duration = 1.0
CurrentTime = 0.0
PlayRate = 1.0
bIsPlaying = false
MyCurve = None
}

You’ll make your code much, much easier to read if you format it like code. You can format it by placing three backticks ``` like that before and after your code. So if you type this on the forum:

```
formatted code
```
then it looks like this:

formatted code

You say you’re trying to make a “timeline code.” What do you want your timeline code to do? Right now I don’t think it will do anything. There are two basic ways to make a Kismet sequence action do something. Either all the functionality can trigger in the SequenceAction.Activated event, or you can put a handler function in the thing you want the sequence action to affect. Like this:

class SeqAct_MySequenceAction extends SequenceAction;

event Activated()
{
    \\ do something...
}

DefaultProperties
{
	bCallHandler=false
}

Or, if you put all the functionality into a handler…

class SeqAct_MySequenceAction extends SequenceAction;

DefaultProperties
{
	bCallHandler=true
}
class MyPlayerController extends PlayerController;

function OnMySequenceAction(SeqAct_MySequenceAction inAction)
{
    \\ do something...
}

And if you want to make the MyPlayerController do something, you need to set up your Kismet sequence so that a player variable is the target of your SeqAct_MySequenceAction.

Let me know if there is any part of that that you do not understand.

I would like the Timeline code to keep track of events when they start and when they finish. Is it possible to do that?

Yes. That’s possible.

Okay so how do we do it with a kismet node with the one i just showed before.

Bro, I’m not going to make your game for you. And even if I were going to make the game, you haven’t given even 1% of the details necessary for making something that does what you would want to do.

What events do you want to remember their start and stop times? How many of these events do you think you’ll need to record? Why do you want to record them using Kismet? What is going to trigger this sequence action’s activation? Do you want the information recorded in this sequence action or do you want the information recorded somewhere else?

Once you start answering those questions, then start planning on how you would implement the answers. If you need a specific answer to a specific question, I’ll answer your question.

If you ask me “How can I access the system time in a function?” I’ll tell you.

If you ask me “Okay so how do we do it with a kismet node with the one i just showed before” I’ll tell you to figure out the steps on your own.

I meant this
Timeline nodes are special nodes within Blueprints that provide time-based animation to be quickly designed and played back based on events, floats,vectors, or colors that can be triggered at keyframes along the timeline.

Timelines can be edited directly inside the Blueprint editor by Double-clicking on the Timeline in the Graph tab or in the My Blueprint tab. They are specifically built for handling simple, non-cinematic tasks such as opening doors, altering lights, or performing other time-centric manipulations to Actors within a scene.

What you’re describing is what Matinee does. I know you know what Matinee is. Why aren’t you using Matinee for this? Kismet will not do this. I don’t think you understand what Kismet is for.

Matinee is for moving or animating things, like say an elevator that goes up and down, or a door that opens and closes.

Kismet is for triggering interactive events unique to the level, like spawning enemies when you enter a room. Kismet can also be used to trigger Matinee, like moving an elevator when you press a button.

But if what you want to do is rewind time like in Prince of Persia, like you’ve been telling me, then you cannot do that with Matinee or Kismet. That is a huge AAA-level undertaking that will take years of learning UnrealScript and possibly access to the underlying C++. At the very least, you need to start creating a custom GameInfo class and a custom PlayerController class that record where things are every tick or after a set amount of time.

Oh I see thank you. It Turns Out I am Missing Something. Thank you very much though.

What were you missing? Did you start using Matinee to do what you wanted to do? Or did you figure out how to make Kismet do what you want to do?

It was a custom kismet event that gets whether or not a pawn performed an action at an certain time.

I would love to know how to do this one though. I been for this one everywhere.

Did you code it yourself? I’d like to see what you did if you can post the code.

That looks pretty easy to do. Probably the only thing that can’t be done with Kismet and Matinee is picking up the crate, and maybe pressing the button to activate the teleporter. But those could be programmed very easily.

It looks pretty Impressive if there is any way i can do that would be great. This was one of the things i have been looking for.

Not this one I have coded other stuff by myself but not this one. Someone else did this one.

If you want to do it, then do it. Nothing is holding you back. That actually looks really easy to do. First, break it down into steps. Then work on one step at a time. When you see that video, what individual steps do you think went into making it? List the individual tasks that you would need to accomplish in order to make a game like the one in the video.

What? Is this in response to “Did you code it yourself? I’d like to see what you did if you can post the code”?

You said “It Turns Out I am Missing Something”

and I said “What were you missing? Did you start using Matinee to do what you wanted to do? Or did you figure out how to make Kismet do what you want to do?”

then you said “It was a custom kismet event that gets whether or not a pawn performed an action at an certain time.”

So did you make “a custom kismet event that gets whether or not a pawn performed an action at an certain time”? Or rather, did someone make it for you? Or rather, did ChatGPT make it for you? It doesn’t matter who made it. What matters is that it works. Did you get a “a custom kismet event that gets whether or not a pawn performed an action at an certain time” that works? Or is “a custom kismet event that gets whether or not a pawn performed an action at an certain time” the first thing you posted, which doesn’t do anything at all? If you have “a custom kismet event that gets whether or not a pawn performed an action at an certain time” that works, then I’d really like to see the code so that I can understand what exactly you’re trying to accomplish and why you’re trying to accomplish it in Kismet of all places.

I want to help you. I really do. I can’t help you if you don’t communicate with me.

Yes i was able to make kismet do what i need it to do on my own with the help for a few custom kismet scripts that i found online and of course Object List and Take Damage and of course the Player spawned and the K2 files which help me a lot. Its just actor teleportation That I need help on now. As for what i have coded myself heres a glimpse of what i managed to do with Kismet. I managed to get kismet to switch shoulder sides like you see in a lot of third person shooters Like PUBG.



Which part of that does what you want the “timeline code” to do?