Author Topic: Forcing a pause within dialogue  (Read 725 times)

Offline cmorgan

  • Planewalker
  • *****
  • Posts: 1424
  • Gender: Male
  • Searcher of Bugs
Forcing a pause within dialogue
« on: July 07, 2006, 03:01:13 PM »
OK, ran into something that I have no idea how to approach.

Code: [Select]
I_C_T2 ~_SILKE~ 4 SharSilke
== ~_SHARTJ~ IF~InParty("sharteel") !Dead("sharteel") !StateCheck("sharteel",CD_STATE_NOTVALID)~ THEN ~I don't care a fig for what they did to you, actress, but I am always ready to bash men's heads.~
END

interjects into _SILKE.DLG

Code: [Select]
IF ~~ THEN BEGIN 4 // from: 3.0 2.1
  SAY #75030 /* ~Well then, I assume that Garrick has explained what your duties are.  You must simply dispose of the ruffians when they come to threaten me.  They shouldn't be too hard to deal with, but I would advise you to strike fast.  Whatever you do: don't speak with them.  One of them is a mage whose mystic words can sway even the wisest of men.~ */
  IF ~~ THEN DO ~SetGlobal("SilkeJob","GLOBAL",1)
CreateCreature("_MERSIL",[3834.1755],0)
CreateCreature("_MERSIL2",[3793.1723],0)
CreateCreature("_MERSIL3",[3876.1774],0)
ClearAllActions()
StartCutSceneMode()
StartCutScene("_ILKECUT")
~ EXIT
END

Shar-Teel finishes her interjection, but it appears only for about two seconds in the text window, and the cut scene with the three "thugs" (Faltis, Glayde, Tessilan) starts immediately. This steps on the dialogue, and unless the player acts quickly the cutscene blocks the player form ever terminating the conversation.

The interjection works fine, and since it is a rare bug report, I suspect that having the Pause All Dialogue component of Tweaks fixes this, but not everyone uses that, so:

How would I create either a single-dialogue pause for that interjection, or delay the cutscene start?


« Last Edit: July 07, 2006, 03:12:05 PM by cmorgan »

Offline jcompton

  • Niche Exploiter
  • Administrator
  • Planewalker
  • *****
  • Posts: 7244
Re: Forcing a pause within dialogue
« Reply #1 on: July 07, 2006, 04:48:47 PM »
This might be one of those "Don't Do This" type of things. You could patch the cutscene script. You could enqueue Shar-Teel to say that as a stringhead using EXTEND and/or ADD_TRANS_ACTION instead of a dialogue line, which might work better with the cutscene being hot on its tail.

Is this a place where you may actually want I_C_T instead of 2?
Cespenar says, "Kelsey and friends be at the Pocket Plane? Ohhh yesssss!" http://www.pocketplane.net

Offline cmorgan

  • Planewalker
  • *****
  • Posts: 1424
  • Gender: Male
  • Searcher of Bugs
Re: Forcing a pause within dialogue
« Reply #2 on: July 07, 2006, 05:14:37 PM »
I might be inclined to the 1st option, by moving Shar-Teel's interjection (if I can get author permission).

If not, then the fix I understand better is to place it as a DisplayStringHead call. Not elegant, but better than trying to patch the cutscene.

Although...
I guess I could R_T patch the state to

IF ~~ THEN BEGIN 4 // from: 3.0 2.1
  SAY #75030 /* ~Well then, I assume that Garrick has explained what your duties are.  You must simply dispose of the ruffians when they come to threaten me.  They shouldn't be too hard to deal with, but I would advise you to strike fast.  Whatever you do: don't speak with them.  One of them is a mage whose mystic words can sway even the wisest of men.~ */
  IF ~~ THEN DO ~SetGlobal("SilkeJob","GLOBAL",1) SetGlobal("X#SilkeSharInt","GLOBAL",1)~ EXIT
END

and then add to the area script
IF
Global("SilkeJob","GLOBAL",1)
Global("X#SilkeSharInt","GLOBAL",1)
THEN
RESPONSE #100
SetGlobal("X#SilkeSharInt","GLOBAL",2)
CreateCreature("_MERSIL",[3834.1755],0)
CreateCreature("_MERSIL2",[3793.1723],0)
CreateCreature("_MERSIL3",[3876.1774],0)
ClearAllActions()
StartCutSceneMode()
StartCutScene("_ILKECUT")
END

EDIT: Or, of course, I could read your post carefully, think, and then go duh...
changing this to I_T_C might fix the problem. Perhaps I should go test this out before starting to take everything apart ;D
« Last Edit: July 07, 2006, 05:20:53 PM by cmorgan »

 

With Quick-Reply you can write a post when viewing a topic without loading a new page. You can still use bulletin board code and smileys as you would in a normal post.

Warning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic.

Name: Email:
Verification:
Type the letters shown in the picture
Listen to the letters / Request another image
Type the letters shown in the picture:
What color is grass?:
What is the seventh word in this sentence?:
What is five minus two (use the full word)?: