Aller au contenu

Photo

Creating a "Dialog Script" for Recording in the Studio


  • Veuillez vous connecter pour répondre
10 réponses à ce sujet

#1
KingEtzel

KingEtzel
  • Members
  • 45 messages
Hi!

Is it possible to export a Dialog-File (.dlg) into something more comfortable for printing/reading? You see - I want some sort of Excel-Sheet or anything that includes the lines and their specific line ID so that I can record everything in a single blow and save it using the right filenames, without switching to the toolset for every line I want to get into my module...You get what I am looking for ;) ?

Something like this...

348544 This is line 1
475763 Here is line 2


How was this done in the main game btw?

Modifié par KingEtzel, 13 décembre 2009 - 12:12 .


#2
Corbin Netharia

Corbin Netharia
  • Members
  • 102 messages
Usually you'd have the script written out and recorded before you create a dialogue file.

#3
KingEtzel

KingEtzel
  • Members
  • 45 messages
But why would you do that? Afterwards you have to copy and paste all the text from the script into the toolset and then rename every line to the filename so that the toolset integrates it. Two relatively heavy tasks, when creating a story mod...isn't there a nicer way to accomplish that?

#4
Corbin Netharia

Corbin Netharia
  • Members
  • 102 messages
Which is why they have whole teams and departments doing that for long dialogues. hehe



This is typically the way it's done for most voice acting. Not sure if Bioware followed the same recipe or not.

#5
KingEtzel

KingEtzel
  • Members
  • 45 messages
Hm, so we conclude, Bioware must have had bunches of interns to copy and paste the text ;)

In principle one could write in the Dialog-Editor and then extract all the CONVERSATION_LINE_TEXT values which natively include String ID and the String the NPC talks...That would give a nice line-list, and there would be no copying of text passages or looking up of String IDs.

Only problem: The GFF Explorer does not support such a function ;D

Honestly, I believe this function is missing in the toolset ---

The easiest and most logical way would be a Print-Function in the Dialogue-Editor...

Modifié par KingEtzel, 14 décembre 2009 - 08:30 .


#6
Kaldir II

Kaldir II
  • Members
  • 35 messages
If you would have a better knowledge of SQL and more patience with it than me, it would be possible to get that info from the database direct.

Edit - Ok, maybe I'm more stubborn than impatient. I have a good feeling I know which tables in the database to query to get all the textlines, even including the branching. Only for the brave and stubborn......

My SQL knowledge is quite low, so it could be much nicer, but this would do the trick to get just all the lines from one dialog:

Find the String ID from one line of your conversation, and substitute it in this query:
   SELECT [StringID],[ModuleResRefVersionID]
     FROM [bw_dragonage_content].[dbo].[t_StringText]
     WHERE StringID = ####

Then take the ModuleResRefVersionID number, and substitute it in this query:
   SELECT [StringID],[Text]
     FROM [bw_dragonage_content].[dbo].[t_StringText]
     WHERE ModuleResRefVersionID = ####

Right-click, save result as CSV file, import in Excel or just open in Notepad/Word  :innocent:

Modifié par Kaldir II, 14 décembre 2009 - 10:07 .


#7
KingEtzel

KingEtzel
  • Members
  • 45 messages
Thank you very much, this works excellent!



EDIT: After playing around with the SQL Editor I found this extension to be useful:


Declare @ResID INT
Set @ResID=#####

SELECT A1.StringID, A2.SPEAKER, A1.Text
FROM bw_dragonage_content.dbo.t_StringText A1, bw_dragonage_content.dbo.t_ConversationLine A2
WHERE A1.StringID = A2.TextStringID AND A1.ModuleResRefVersionID = @ResID AND A2.ModuleResRefVersionID = @ResID


You have to get the ModuleResRefID for this Dialogue-Ressource, just as described. You put this ID as ResID into the new script, and it produces a list, that also contains the information, whether this dialogue-line is spoken by the Player or the OWNER...

Modifié par KingEtzel, 15 décembre 2009 - 01:02 .


#8
KingEtzel

KingEtzel
  • Members
  • 45 messages
Looking further into the tables there indeed is a table called "t_VOScriptBatchPrint" ... now one "only" has to find the corresponding function that fills and exports/prints this table...

#9
Kaldir II

Kaldir II
  • Members
  • 35 messages
As I said, I'm not really much a SQL guy myself. I'm only modifying some of the queries SQL Management Studio creates for me.
This one might be useful as well though:

SELECT [ModuleResRefVersionID],[TextStringID],[IsPC],[Comment],[VoiceOverComment],[EditorComment],[Speaker]
FROM [bw_dragonage_content].[dbo].[t_ConversationLine]
WHERE ModuleResRefVersionID = 2404

It gives you the VoiceOver Comment field, which in the default DA dialogs has info about how to voice the line (like "Cautious, trying to not get involved." or "Nervous, jittery."

Modifié par Kaldir II, 15 décembre 2009 - 06:21 .


#10
Kaldir II

Kaldir II
  • Members
  • 35 messages

KingEtzel wrote...

Looking further into the tables there indeed is a table called "t_VOScriptBatchPrint" ... now one "only" has to find the corresponding function that fills and exports/prints this table...

Well, the store-procedure bsp_BatchPrintVOScriptLines fills that table. No idea how it works, not tried it myself. But you can always take a look at the description and the code. ;)

#11
djfayt

djfayt
  • Members
  • 50 messages
SQL is dark art indeed. Second only to Blood Magic. A substance called Caffeine aka Lyriumi is required to manage effectively.



"Hey Jeff you got a minute? It'd be great if you could throw up a new front end"

I hear "I need enchantment."

and reply "ENCHANTMENT!"