Table of contents


Page 1




NPC editor limits




Ways of dialog


Short course


Connect the dialogs with your project


Page 2


Program description






Page 3


Interactive dialogs, examples


Dataformat of a dialogfile


Structure of a dialogfile


Structure of the"diabasic.wdl"


Manage several projects




With this program can you written and managed the dialogs for hundred's NPC's (NonPlayerCharacter) in your game. It was thought up especially for my project. Therefore it cannot fulfill all wishes. But it also can be used for other text objects.

The NPC editor was created completely with 3DGS A6. Unfortunately, a weakness also lies in it. The input into the textbox can be carried out in lines only. This function was programmed with INKEY. Therefore is a normal edit not possibly. The editor only works with TTF (TrueTypeFont).  3DGS A6 required.


NPC editor limits

- maximum 996 entityfiles

- maximum 996 dialogs per entity

- maximum 996 dialogparts per dialog

- maximum 6000 chars per dialogpart (the processing of long texts is slow in the editor, but nothing in game)

- textboxsize maximum 672x256 Pixel



Unzip the 3DGSTOOL.ZIP file at a place of your choice. A click on "SIMPDIAG.WMP" starts the program in WED. Unfortunately, it wasn't possible for me to pack the tool for one single .exe file. The reason: the TTF in the diset.wdl cannot be changed in a packed version.


Ways of dialog

1. the linear dialog: all dialogs are worked off behind each other. At every meeting of player and NPC the next dialog is worked off.

2. the interactive dialog: A dialog is worked off completely also here but the next one knows it simultaneously dialog number being put for another or the own entity. Loops are possible with that within an entity. (t.e. "find the key and I give you a reward for it"). Only a skip knows in every dialog others be carried out in the editor for another dialog of the same entity or other. But with a small script, however, it is possible to change every dialog for every entity any time. Examples in the chapter "interactive dialogs" on page 3.


Short course




Start the editor
















Open the textbox on the suitable size for your game




Enter playername and entityname




Write the textcolor RED GREEN BLUE into fields for player and entity




Choose speed and text effect




You would like this the names are entered automatically, then select the button AUTONAME




Who start with this dialog? Make your selection with the DIALOGSTARTER PLAYER or ENTITY button.




Click into the textbox to write the first line for the first dialogpart in the first dialog.




Completes the first line with the ENTER key.




Repeats point 8. to 10. till the first dialogpart is ready. The text is longer than the textbox, starts the writecursor in the first line again.




You have made a slip of the pen? Be seen the input cursor can none as long as problem. But after a line ends! Then click on DIALOGPART DELETE and still write the part again. A part started with once must be written! Note! Alternate can correcting the text in the normal texteditor. See the chapter 'structure of a dialog file' page 3.




A modification of the dialog part must protectedly with a CHANGED DIALOG SAVE button, otherwise cannot be changed to the next one.




End would already be here if this should be no dialog but a monologue. Good for long text. (t.e.briefings)




To come to the next dialogpart clicks on the other DIALOGSTARTER PLAYER or ENTITY button.




Repeats point 8. to 10. till the next dialogpart is ready.




Repeats this till the first dialog is ready. Then safeguard it with the SAVE button. A new "entXXX.dat" dialogfile you create. (XXX = 001-996,entity number and also dialog file number). One file for every NPC/entity.




Does the NPC have several dialogs? Click on the arrow up button besides the field of dialog numbers on the right.




The whole starts case at point 5. you have another text effect for the second dialog now liked.




One is still missing in the editor short course! The possible input of values to the two "ANOTHER ENTITY" fields. This becomes in the chapter "interactive dialogs" on page 3. These inputs can taken care later.




You can write new dialogs any time. Good!  Create now a second Entity.




Click to this on the arrow up button besides the ENTITY field (under the +10- button) on the right




Enter a new entitynamen and choose if you like a new textcolor. etc.




In the field ENTITY SKILL can you choose one of the 48 entityskills. The unique entitynumber is saved into this skill. This number is equal the number in the name of a dialog file!




Time to test it! Change to the test room with the TEST ROOM PREVIEW button.
















Wait to the OK. for it all entitynames in the entityfiles are reading.




Click on FLAGS and switch at least the VISIBLE flag on.




Another click on the FLAGS button lets panel and textbox disappear again.




Choose the start type with the STARTTYP panel




Move the textbox with the TEXTPOS panel. Think of it that one of the current monitorsize is   1024 x768. This adapts the text position to other resolutions must be later adjusted manually in the "diabasic.wdl".




Adjust the scan conditions of the player with the SCAN panel




OK. Close all panels.




Choose the entitys to be tested from the CHOICE list (up to 10 NPC) and close after this panel.




At most 10 dummies stand around the player dummy now and wait asked about it becoming.




Adjusts text to textbox with the TEXTOFFSET buttons in the TEXTPOS panel




If entitynames, entitycolor, text effect or "another entity" data changed afterwards, must the SAVE button be pushed, around the changed file save!


Connect the dialogs with your project


Example of the normal template files.





Copy 'diset.wdl', 'diabasic.wdl' and 'dialog.wdl' as well as all 'entXXX.dat' files into the game directory. NOTE! With the comercial version at most 40 wdl files can become included. You can therefore also copy the contents of 'diset.wdl' and 'diabasic.wdl' to the beginning of the 'dialog.wdl'. You then only have this 'dialog.wdl'.




Open your "main.wdl" file and include the three wdl files.











Create an action for the player. It is called "player_star" here. The "player_move" and "move_view"  function are out the template wdl's. A "scan_world" function scaning over the surroundings. This function must be copied out so or similarly. You already have one player scanfunction, then must  D_HORSCAN, D_VERTSCAN and D_SCANRAD be contained, or you must exchanging this variables for your variables in the "diabasic.wdl". D_HORSCAN, D_VERTSCAN, D_SCANRAD are defined in "diabasic.wdl".                                      "diapart_stop", "diapart_stop2" and "function_stop" are defined in "dialog.wdl".















The many NPC or other entitys also need a function these start a dialog/monolog/other text if the player approaches and a predefined key,mousebutton or joypad button is pressed. Here only a very short example of it "event_scan". The connection to the "dialog_main()" function is important in the "entity_event" function here. The "dialog_main()"is the startfunction in the dialog.wdl.















This was the whole scripting.  Assigning all created "entXXX.dat" files to the NPC's/entitys in the WED. In the NPCeditor one was defined of 48 entity skills into ENTITY SKILL field. The suitable entity number (equal the number in the name of a dialog file) is written down on this skill at every NPC/entity now. In this example is the ENTITY SKILL = SKILL1. In the SKILL1 is written number 1. That means that NPC/entity has the ENTITY number 1 and also the "ent001.dat" dialog file.