Jump to content

Need Help Making Dialogue Work


Recommended Posts

I am completely new to Blades of Avernum. I never had Blades of Exile, although I have a tiny amount of experience with C+, and I've wrapped my head around some of the simpler ideas of Avernumscript.

 

I'm working with the standard editor that I got from Spiderweb's site. I'm running a bunch of little tiny experiments editing the script for my experimental town, Expoville.

 

My first question is about dialogue. I have a super-limited town script (t2expoville.txt), with all the basic states, and I have the town dialogue script (t2expovilledlg.txt) which *seems* in order. Since I've already defined the name of the one character inhabiting my town (in my town script), what else do I need to put in the main town script to get the dialogue to work?

 

Apologies for being so generic. I suppose I ought to post my scripts... I'll do it after a reply or two.

Link to comment
Share on other sites

Hrm, lessee... set the memory cells in the appropriate character. If you're using basicnpc, which I'm assuming you are, then cell 3 is the one that you want to set, and you want to set it to the number of the first dialogue node that the character uses.

 

Erm, proper header for the dialogue script, which you can literally copy out of a script from the included games.

 

That's pretty much it. Then you try it and see if you get an error. If you do, then we can help you debug if you tell us exactly what the error message says, post the script around the line number of the error, and identify the line that BoA is complaining about.

 

EDIT: I wrote an article that you may find useful, and I highly recommend Erik Westra\'s cookbook for introductory purposes, specifically the dialogue section in this case.

Link to comment
Share on other sites

Hah... all right, I'll once again show my extreme neophyte status, here, but I've been wondering what's with all the memory cell stuff. From the documentation, I've gathered that it's important in lots of stuff, and while I understand the idea of storing and retrieving intergers for running code, I wasn't exactly sure what each of the designations in the memory cells *stood for.* Thanks for the help.

 

Recommended help sources are noted, too... I'll hunt around in those when I start my next run of experimental learning stuff.

Link to comment
Share on other sites

Every memory cell is a chunk of memory that can be set INSIDE the editor (it is an integral part of every creature), and will always have that value when the object is initialized.

 

The purpose of memory cells is to allow us, the designers, to pass paramters to the scripts and to store that kind of information directly inside of the lades of [A]vernum cenario file.

 

But, I'm pretty sure what you mean is what each memory cell is 'supposed' to represent. Basicnpc.txt (the default script for every creature) designates memory cell 0 as the movement type, cell 1 and cell 2 as the SDF to be set upon creature demise, and cell 3 for the dialogue node to be activated when the creature is talked to.

 

Look inside the script in question because there are usually comments to tell you what each memory cell is for.

Link to comment
Share on other sites

Thanks again for the help. I'm getting this, little by little...

 

I've just been reading up on the SDFs... rather important stuff, there. You mentioned that the memory states... 1 & 2, I think, comprise the SDF that's set upon the creature's demise... Incidentally, I don't need to set an SDF to be changed on the demise of *every* creature, do I? I'd expect that it's necessary for boss creatures, and perhaps friendly NPCS... But, hey, I'm the new guy, here, right?

Link to comment
Share on other sites

No, you don't. Be sure not to confuse state with cell, by the way. There are 9000 SDFs, and the number that associates itself with a monster's wellbeing is its global (as opposed to local) ID, not an SDF.

 

As a side note, all memory cells for terrain scripts and creatures default to 0, so you can't have SDF 0,0 set from any of the default scripts. I think it is best to use 0,0 for the flag for the intoductory message in your scenario.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...