Jump to content

animations and scripted events during Timestop?


Recommended Posts

I need to have a scripted scene that emulates a Timestop spell. It will:

  • Start a cut scene
  • Every one should freeze like in a Timestop, except Charname (still in cut scene mode though)
  • The Dimension Door animation plays and Charname will be teleported a short distance away
  • The Timestop should end and a dialogue fires

That's it. My questions are:

1) Do area scripts continue to run in Timestop?

2) Can scripted animations play in Timestop?

3) Can I manipulate a character like teleporting them somewhere work in Timestop?

If the answer to one or more of those is 'no,' is there a way to visually simulate a Timestop (the greyed out background etc.), and I can fudge the other stuff in the cut scene?

Link to comment

I guess you could emulate it with the color effects and a separate area that you manually greyscaled. But I don't think there's any way to stop projectiles.

Link to comment

Considering I've been SCS Planetars cast Globe of Blades during other Mages' Timestops, it is definitely the case that scripts are run during Timestop, but effects are never played (though you might have to use a cutscene or creature script instead of an area script, but that shouldn't be too hard to do). My suggestion is to instead use the "Unsummoned" visual effect instead since that will cover charname when the first frame of it plays, and teleport out almost immediately.

You can order inactive creatures via script to move during a Timestop but I'm not sure if the action actually happens if the creature isn't immune to Timestop, and I'm not sure if you can apply immunity to it while it is active either. But if it's any creature you want active, then it should be fine, I'm fairly certain that works.

Link to comment
2 hours ago, subtledoctor said:

3) Can I manipulate a character like teleporting them somewhere work in Timestop?

Any action you can fully execute while the game is paused can be done by a creature during time stop, whether or not they are immune.  Every action in INSTANT.IDS should qualify.

JumpToPoint() is not on that list, but can be added, though that may cause other scripts to misbehave.

ReallyForceSpell()/Point() are on the list, and can teleport creatures with the teleport opcode as long as it uses projectile (1|none) and has no delay.

Link to comment

Better question is, does timestop even work during cutscene mode. Because the latter disables crowd control effects.

In any case, the answer to the first question is a definite no. Cutscene mode suppresses all scripts except itself.

You can run cutscene lite (I forgor the syntax, but it should be easy to find), which essentially just hides the UI, but otherwise is no different from normal mode. It does involve having to ensure running scripts won't accidentally interfere with the scene, though.

IIRC the timestop grayscale should be possible to apply via switching on/off some area flag.

Edited by Ardanis
Link to comment
Posted (edited)

I am going to reopen this question because this cut scene is now the only thing standing in the way of releasing a beta of my mod. Everything works, it's just... the cut scene doesn't look good. This is my cut scene at the moment:

Spoiler
<<<<<<<< d5/d5clcut4.baf
IF
	True()
//	Global("D5DreamArea","D50104",0)
THEN
	RESPONSE #100
		CutSceneId(Player1)
		Wait(2)
		ApplySpellRES("D5PAUSE","BDFF1002") 
		ApplySpellRES("D5PAUSE","D5GREGS") 
		ApplySpellRES("D5PAUSE","BELT") 
		ApplySpellRES("D5PAUSE","LIIA") 
		ApplySpellRES("D5PAUSE","BDENTAR") 
		AddAreaFlag(DREAMAREA)
		ActionOverride(Player2,MakeUnselectable(1))
		ActionOverride(Player3,MakeUnselectable(1))
		ActionOverride(Player4,MakeUnselectable(1))
		ActionOverride(Player5,MakeUnselectable(1))
		ActionOverride(Player6,MakeUnselectable(1))
		Wait(3)
		JumpToPoint([420.340])
		MoveViewPoint([405.360],INSTANT)
		ActionOverride("D5CHRNAM",JumpToPoint([320.490]))
		ActionOverride("K#ImportContainer",TakeCreatureItems(Player1,ALL))
		Wait(2)
		RemoveAreaFlag(DREAMAREA)
		Wait(1)
		ApplySpellRES("D5PAUSX","BDFF1002") 
		ApplySpellRES("D5PAUSX","D5GREGS") 
		ApplySpellRES("D5PAUSX","BELT") 
		ApplySpellRES("D5PAUSX","LIIA") 
		ApplySpellRES("D5PAUSX","BDENTAR") 
		Wait(1)
		ActionOverride("LIIA",DisplayStringHead(Myself,@80035))  // Apologies, whoever you are, this might sting a bit.
		Wait(1)
		ActionOverride("LIIA",ForceSpellRES("D5_DIV",Player1))
		Wait(2)
		CreateVisualEffectObject("ICGLYPTI",Myself)
		Wait(1)
		PlayDead(15)
		EndCutSceneMode()
		ActionOverride("LIIA",StartDialogueNoSet(Player1))
END
>>>>>>>>

D5PAUSE.SPL is a single-target spell applying op165 "pause target;" D5PAUSX.SPL has an op321 canceling D5PAUSE. I just want to freeze the idle animations of the ~6 NPCs on screen while the cut scene runs. That doesn't sound like it should be that hard!

But then, belatedly I guess, I notice this:

On 3/31/2024 at 1:47 AM, Ardanis said:

cutscene mode ... disables crowd control effects. You can run cutscene lite

Huh. I did not know that. So I suppose it prevents op165 from working. And presumably also the Hold, Stun, etc. opcodes.

I just looked up SetCutSceneLite(), and... I guess it is not the same as running a cut scene. It is just a Boolean switch? I am trying to see how it would be used. Maybe, in the dialogue that normally calls the above cut scene, instead just set a variable? And then have the area script respond to that variable with a list of actions between SetCutSceneLite("true") and SetCutSceneLite("false")...?

EDIT - yes, got it working just like that, run from the area script! Thank you!

Edited by subtledoctor
Link to comment

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...