Jump to content

Need some beginner help


tatterdemalion

Recommended Posts

So, I'm embarking on creating the simple "in-character Candlekeep monk dialogue" mod that I talked about elsethread, and I'm a bit confused...

 

I have:

 

* A basic BG1 EasyTutu install.

* Near Infinity.

* The locations and content of the strings I want to replace.

 

I also have the general sense from things I have read that the good way of doing this with WeiDu results in appending new lines to dialog.tlk and creating override versions of MONKTU1.dlg (etc) which refer to the new lines - thus avoiding overwriting and compatibility issues, etc.

 

However, I'm hitting a bit of a barrier. How do I make this happen? The WeiDu simplified tutorials I have found seem to be all about how to script joinable NPCs and romance dialogue and such - not how to initially go about creating a file, etc. Halp?

Link to comment

Odd... the formatting seems to break when I open a .d or .dlg file in Notepad (boxes and such) which suggested that this would not be the best option. Which has been disappointing to me, as typically the way I have coded in the past is with a text editor.

 

I can get the command line interface for WeiDu to open, but although a gui exe is packed with it, it doesn't work and says it can't find a dll.

 

I am simply trying to replace nine "one-off" lines from unjoinable NPCs. No player responses. I can identify the content that I want to replace, but I'd rather not kludge something together the wrong way.

 

And, again, I don't know how to identify a "safe" string number in dialog.tlk in order not to scramble people's games... I am led to believe that WeiDu does this itself, but how do I go about getting it to do that?

Link to comment

You need to read (or at least look at) WEIDU's own Readme file before looking at tutorials - that will teach you how to decompile and compile dialog files.

 

In this case, each of the dialog files you want to replace is a one-line file, so you may as well just redo it from scratch. If you just want the monks to make a one-line non-fourth-wall-breaking comment when clicked on, each of them needs a dialog file like

 

BEGIN monktu2

IF ~True()~ THEN BEGIN 0
  SAY ~I am saying something generic about Candlekeep.~
IF ~~ THEN EXIT
END

If you save this file as myfile.d, and then enter COMPILE myfile.d into your WEIDU tp2 file, you'll get the dialog you're after.

 

Doing that for all ten+ monks will get boring, though. Here's an automated version:


ACTION_IF GAME_IS ~tutu tutu_totsc~ BEGIN
  OUTER_SPRINT tutu_var ~_~
END ELSE BEGIN
  OUTER_SPRINT tutu_var ~~
END

<<<<<<<< .../mymod-inline/monk_dialog.d
BEGIN ~%tutu_var%%myfile%~

IF ~True()~
THEN BEGIN 0
 SAY ~%mystring%~
 IF ~~ THEN EXIT
END
>>>>>>>>

ACTION_DEFINE_ASSOCIATIVE_ARRAY monkstrings BEGIN
  monktu2 => "I am saying something generic about Candlekeep."
  monktu3 => "I am making a flavour comment!"
  monktu4 => "I hint obliquely at the Bhaalspawn prophecy..."
END

ACTION_PHP_EACH monkstrings AS myfile=>mystring BEGIN
  COMPILE EVALUATE_BUFFER  ~.../mymod-inline/monk_dialog.d~

END

 

The tutu_var stuff allows for BG1TUTU and BGT. Obviously, fill in the array with your actual strings, and with any other files you want to edit.

Link to comment
However, I'm hitting a bit of a barrier. How do I make this happen? The WeiDu simplified tutorials I have found seem to be all about how to script joinable NPCs and romance dialogue and such - not how to initially go about creating a file, etc. Halp?
Well, the .d file is the Weidu's .dlg equivalent... so when you go and compile the .d file, you get a .dlg file that has it's strings etc. And you can reverse the .dlg to a .d file too... but the main important stuff is... the .cre files that the monks use... if you want to say replace the dialog lines they have, you can do that by replacing their dialog file reference in the .cre file... this is where the NPC tutorials come to help you. Or you could give use a small portion of your findings and then we can give you a short sample of what you are to do...

K, so DavidW just ninjaed me. :)

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...