<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://oldwiki.eq2classic.com/index.php?action=history&amp;feed=atom&amp;title=DBEditor%3ABuildDialogs</id>
	<title>DBEditor:BuildDialogs - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://oldwiki.eq2classic.com/index.php?action=history&amp;feed=atom&amp;title=DBEditor%3ABuildDialogs"/>
	<link rel="alternate" type="text/html" href="https://oldwiki.eq2classic.com/index.php?title=DBEditor:BuildDialogs&amp;action=history"/>
	<updated>2026-07-13T00:28:29Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.3</generator>
	<entry>
		<id>https://oldwiki.eq2classic.com/index.php?title=DBEditor:BuildDialogs&amp;diff=4756&amp;oldid=prev</id>
		<title>John adams at 17:58, 16 March 2013</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.eq2classic.com/index.php?title=DBEditor:BuildDialogs&amp;diff=4756&amp;oldid=prev"/>
		<updated>2013-03-16T17:58:02Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 17:58, 16 March 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l67&quot; &gt;Line 67:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 67:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[DBEditor|Back to DB Editor]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[DBEditor&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;:Admin#Build_Dialogs&lt;/ins&gt;|Back to DB Editor]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>John adams</name></author>
		
	</entry>
	<entry>
		<id>https://oldwiki.eq2classic.com/index.php?title=DBEditor:BuildDialogs&amp;diff=4755&amp;oldid=prev</id>
		<title>John adams: Created page with &quot;'''DBEditor: Build Dialogs'''  This option is used to read the EQ2 &quot;Raw Data&quot; parsed from packet collects, and attempts to assemble them in the best-known order we can to reduce ...&quot;</title>
		<link rel="alternate" type="text/html" href="https://oldwiki.eq2classic.com/index.php?title=DBEditor:BuildDialogs&amp;diff=4755&amp;oldid=prev"/>
		<updated>2013-03-16T17:52:16Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;DBEditor: Build Dialogs&amp;#039;&amp;#039;&amp;#039;  This option is used to read the EQ2 &amp;quot;Raw Data&amp;quot; parsed from packet collects, and attempts to assemble them in the best-known order we can to reduce ...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;'''DBEditor: Build Dialogs'''&lt;br /&gt;
&lt;br /&gt;
This option is used to read the EQ2 &amp;quot;Raw Data&amp;quot; parsed from packet collects, and attempts to assemble them in the best-known order we can to reduce the amount of script writing that designers have to perform. Otherwise, we would be fetching text from fan sites and doing a lot of manual typing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Parser: raw_dialogs ===&lt;br /&gt;
When Parser processes a Spawn packet, one of it's tasks is to scan the packet log for any &amp;quot;dialogs&amp;quot; the Spawn might have had with a player. ''A dialog is a two-way conversation between a player and NPC that is menu driven''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Every time a player engages an NPC with Dialogs, a new '''conversation_id''' is generated. You can see this in the raw data like in this example:&lt;br /&gt;
&lt;br /&gt;
[[File:BuildDialogs1.jpg]]&lt;br /&gt;
&lt;br /&gt;
In the above example, the player clicked on Yasha Redblade at least 5 times, generating conversation_id 4, 5, 14, 15, and 16... etc. The server-&amp;gt;client keeps track of every dialog session until the dialog is closed; thus every dialog and option become a part of the current '''conversation_id''' and we can track that, and use it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When that player first clicked Yasha, she said to him&lt;br /&gt;
  Whoa!  You finally woke, eh?&lt;br /&gt;
&lt;br /&gt;
This is noted by the sequence # in the parsed data - ie., the first dialog in the sequence. In the '''raw_dialog_choices''' table is where we track the possible responses to what Yasha said to us:&lt;br /&gt;
&lt;br /&gt;
[[File:BuildDialogs2.jpg]]&lt;br /&gt;
&lt;br /&gt;
Note here your valid responses are: &lt;br /&gt;
  Yes, and my muscles are a bit stiff.&lt;br /&gt;
  Yes, and I heard you could use some help.&lt;br /&gt;
&lt;br /&gt;
Depending on which of these choices you click, the dialog will head off in a different direction. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Build Dialogs script attempts to build these dialog/conversation paths as best it can, however SOE data does not provide us a 1:1 &amp;quot;if I click this, I will get this&amp;quot; - so this is where the Script Author steps in.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
What you end up with in the Build Dialogs menu is a huge script (depending on the number of dialogs) that at first seem very repetitive. Most convo options can simply be removed, but they are there to help you determine the flow of the conversation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
[[File:BuildDialogs3.jpg]]&lt;br /&gt;
&lt;br /&gt;
In this auto-generated script, you can see the '''convo''' ID that matches the conversation_id from the raw database.&lt;br /&gt;
&lt;br /&gt;
  Note about &amp;quot;convo ID&amp;quot; &lt;br /&gt;
  This is merely there to isolate the data, it serves no purpose in the functionality of the script&lt;br /&gt;
&lt;br /&gt;
You can clearly match the StartConversation() options to the sequence 0 of each dialog step. Then, you can see your multiple options as AddConversation() steps which drive the conversation. Here's where you come in.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The script attempts to drive the conversation to a new set of dialogs automatically, but cannot &amp;quot;guess&amp;quot; at them all. The script automatically generates a new Function for each dialog it thinks the conversation is taking.&lt;br /&gt;
&lt;br /&gt;
Example: In that first convo==4 dialog, if you choose:&lt;br /&gt;
&lt;br /&gt;
  AddConversationOption(conversation, &amp;quot;Yes, and my muscles are a bit stiff.&amp;quot;, &amp;quot;dlg_4_1&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
...note the script added a '''dlg_4_1''' - which stands for Dialog, conversation_id 4, sequence 1, in an attempt to automatically build the conversation flow. Unfortunately, raw data does not offer any clue as to the additional options so those have to be done manually.&lt;br /&gt;
&lt;br /&gt;
[[File:BuildDialogs4.jpg]]&lt;br /&gt;
&lt;br /&gt;
Inside the Function dlg_4_1, the script attempts to guide you to the NEXT dialog as well (dlg_4_2) but this is not always correct, or optimal. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Luckily, one of our Collection mandates is to &amp;quot;click everything you can in every order possible&amp;quot;. So if a NPC offers you 5 options, the Collector player will click the first option, then go back in, click the 2nd option, go back in, etc - until all options are clicked from that same dialog point.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The net result of this are dozens of conversation_id's with the same dialog options in them. Again, most of this can be discarded, but it helps determine the flow of conversation. Once you get used to the data and how it is presented, building dialogs will become much easier.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[DBEditor|Back to DB Editor]]&lt;/div&gt;</summary>
		<author><name>John adams</name></author>
		
	</entry>
</feed>