Strife's Dialog System - UDMF Flavor

Handy guides on how to do things, written by users for users.

Moderators: GZDoom Developers, Raze Developers

Forum rules
Please don't start threads here asking for help. This forum is not for requesting guides, only for posting them. If you need help, the Editing forum is for you.
User avatar
ramon.dexter
Posts: 1519
Joined: Tue Oct 20, 2015 12:50 pm
Graphics Processor: nVidia with Vulkan support
Location: Kozolupy, Bohemia

Re: Strife's Dialog System - UDMF Flavor

Post by ramon.dexter »

Assign conversation to actor class?? Heresy, I say!

Since we have the conversation ID, there is absolutely no reason to assign the conversation to actor class...
User avatar
Leon_Portier
Posts: 62
Joined: Sun Feb 12, 2017 3:30 pm
Location: Dark side of Bavaria

Re: Strife's Dialog System - UDMF Flavor

Post by Leon_Portier »

Thanks for the pointer Dexter!

Adding the conversation id got it to work!
Spoiler:
ImpieTwo
Posts: 912
Joined: Sun Aug 16, 2015 11:52 pm

Re: Strife's Dialog System - UDMF Flavor

Post by ImpieTwo »

Okay, I have no idea what I'm doing I guess. I'm doing everything as you instructed, and yesterday it worked without a hitch. Today it refuses to run.

If I put the code in a Decorate lump, it says "expected {, got =" regarding the namespace line, and aborts the map. If I put it in a regular text lump, it doesn't execute any dialogues. What am I doing wrong? Am I supposed to compile this somehow? I thought the whole point was to avoid having to compile anything.

It's driving me CRAZY because it was all working just fine only yesterday, and now it's refusing to even execute, even if I revert to all the stuff I did the day before that actually worked. It outright refuses to run anything one way or the other.

I'm not doing this in UDMF, by the way, but in Heretic In Hexen Format. Like I said, it worked yesterday, and even if i remove everything but what was working yesterday, it still refuses to work.
Spoiler:
User avatar
Zergeant
Posts: 107
Joined: Tue Aug 31, 2010 7:19 am
Location: Sweden

Re: Strife's Dialog System - UDMF Flavor

Post by Zergeant »

If you check the main post they're supposed to be stored in DIALOG lumps, either as DIALOGxx, e.g. DIALOG01 for MAP01, or just as DIALOG and then placed between map markers in Slade.

Usually if there's a problem with the conversation scripts the map will still run, but no conversation can be engaged. From what I can see you're specifying a "Generic_Stairs" in a Professor Mengler's dialog block. I'm not sure if it's allowed to do that, I would use the ZDoom wiki to find out what the special id for Generic Stairs is and use the "special" and "args" fields to pass the information. You can see an example in the Q&A section.
ImpieTwo
Posts: 912
Joined: Sun Aug 16, 2015 11:52 pm

Re: Strife's Dialog System - UDMF Flavor

Post by ImpieTwo »

Zergeant wrote:If you check the main post they're supposed to be stored in DIALOG lumps, either as DIALOGxx, e.g. DIALOG01 for MAP01, or just as DIALOG and then placed between map markers in Slade.

Usually if there's a problem with the conversation scripts the map will still run, but no conversation can be engaged. From what I can see you're specifying a "Generic_Stairs" in a Professor Mengler's dialog block. I'm not sure if it's allowed to do that, I would use the ZDoom wiki to find out what the special id for Generic Stairs is and use the "special" and "args" fields to pass the information. You can see an example in the Q&A section.
The lump is called DIALOG01, and it's for dialog on map01. Do I have to convert it to a dialogue lump somehow? I never could figure out how to do that with slade.

I fixed the code for specials just as you described in the q and a section, and still no dice, so it can't be that. I tried moving the dialogue stuff under the map marker itself and that made no difference either.
User avatar
Zergeant
Posts: 107
Joined: Tue Aug 31, 2010 7:19 am
Location: Sweden

Re: Strife's Dialog System - UDMF Flavor

Post by Zergeant »

Well after looking at your wad I see a number of problems, most of them shows up when starting GZDoom with the wad.

First off, change 'namespace ZDoom' into 'namespace = "ZDoom"'.
Secondly, you have a row of missing actors defined in Decorate, first error appearing when one actor refers to another actor called "ZombieTeen" not existing. Also a "FireGuy". This doesn't concern the dialogues though.
The third error/errors is in the dialogue because you try to give items that do not exist. Try defining them first even if it's just a test item, before attempting to give.

Fixing those errors should make it work.
ImpieTwo
Posts: 912
Joined: Sun Aug 16, 2015 11:52 pm

Re: Strife's Dialog System - UDMF Flavor

Post by ImpieTwo »

Zergeant wrote:Well after looking at your wad I see a number of problems, most of them shows up when starting GZDoom with the wad.

First off, change 'namespace ZDoom' into 'namespace = "ZDoom"'.
Secondly, you have a row of missing actors defined in Decorate, first error appearing when one actor refers to another actor called "ZombieTeen" not existing. Also a "FireGuy". This doesn't concern the dialogues though.
The third error/errors is in the dialogue because you try to give items that do not exist. Try defining them first even if it's just a test item, before attempting to give.

Fixing those errors should make it work.
Sorry, most of that stuff exists in other wads I haven't assembled into a pk3 yet. I sent you the one with the dialogue code so you could look at it yourself. Probably shoulda just sent you everything, but I only sent the part that seemed relevant. I'll try to send the entire thing slapped together into a pk3 so you can see exactly what it's doing.

Adding the = didn't make a difference: still no dialogue interactions.
pwnsevelt
Posts: 21
Joined: Sun Nov 17, 2013 5:25 pm

Re: Strife's Dialog System - UDMF Flavor

Post by pwnsevelt »

I can walk up to my ShotgunGuy, press USE and initiate conversation. :shock: However, when I try to do this with each Revenant, I'm not successful. :oops: I've taken a screenshot of my Slade build. Am I missing anything?

I've made sure my MAP01, DIALOG01 and SCRIPT01 match, numbers-wise. I've verified IDs have been placed (via GZDoom Builder) in the Revenant's things.

[img]http://i.imgur.com/FQJHxyY.png[/img]

I've made sure that the Revenants have a Conversation Script ID assigned to them, by using an Action Special #79 on each of them:

[img]http://i.imgur.com/w5sk5Ee.jpg[/img]
User avatar
Zergeant
Posts: 107
Joined: Tue Aug 31, 2010 7:19 am
Location: Sweden

Re: Strife's Dialog System - UDMF Flavor

Post by Zergeant »

You don't need an Action Special unless you intend to swap their IDs, in which case you'd only need to utilize the Conversation ID field.

What are you not successful with? Does it start the wrong conversation? Does it not work at all?
pwnsevelt
Posts: 21
Joined: Sun Nov 17, 2013 5:25 pm

Re: Strife's Dialog System - UDMF Flavor

Post by pwnsevelt »

Zergeant wrote:You don't need an Action Special unless you intend to swap their IDs, in which case you'd only need to utilize the Conversation ID field.

What are you not successful with? Does it start the wrong conversation? Does it not work at all?
My problem is that I can walk up to the ShotgunGuy in your tutorial wad, press E and start a conversation. However, I cannot initiate one with either Revenant. I was using the Action Special because I supposed thats how Doom would link the conversation blocks to a specific monster. I've since removed the Action Special and returned to specifying "id" in the top of the conversation block.

Your approach is ZSDF, right? I'm making sure I don't have any designs I accidentally incorporated from a USDF tutorial. What else am I missing?
User avatar
Zergeant
Posts: 107
Joined: Tue Aug 31, 2010 7:19 am
Location: Sweden

Re: Strife's Dialog System - UDMF Flavor

Post by Zergeant »

Hard to judge without the files, following the tutorial should give you a complete and working dialogue environment. Unless it's a very old version of GZDoom.
pwnsevelt
Posts: 21
Joined: Sun Nov 17, 2013 5:25 pm

Re: Strife's Dialog System - UDMF Flavor

Post by pwnsevelt »

Zergeant wrote:Hard to judge without the files, following the tutorial should give you a complete and working dialogue environment. Unless it's a very old version of GZDoom.
I verified this behavior in the latest version of GZDoom. Here's the contents of my DIALOG01 lump. I currently have that saved as a Text lump. Should it be something different?

Code: Select all

namespace = "ZDoom";
include = "DIALOG00";

conversation
{
	actor = "ShotgunGuy";
	page
		{
			name = "Bored Shotgunner";
			dialog = "RANDOM_BOREDGUY";
		}
}

conversation
{
	actor = Revenant;
	page
	{
		name = "Skeleton Shoppe";
		dialog = "What you need?";
		choice
		{
			text = "A rocket launcher";
			yesmessage = "Here's your bazooka";
			giveitem = "Rocketlauncher";
			closedialog = true;
		}
		choice
		}
			text = "A Chaingun please";
			yesmessage ="Very good, one chaingun";
			giveitem = "Chaingun";
			closedialog = true;
		}
	}
}
User avatar
Zergeant
Posts: 107
Joined: Tue Aug 31, 2010 7:19 am
Location: Sweden

Re: Strife's Dialog System - UDMF Flavor

Post by Zergeant »

The starting bracket for the second choice in the Revenant's dialogue is backwards.
pwnsevelt
Posts: 21
Joined: Sun Nov 17, 2013 5:25 pm

Re: Strife's Dialog System - UDMF Flavor

Post by pwnsevelt »

Zergeant wrote:The starting bracket for the second choice in the Revenant's dialogue is backwards.
Thank you for catching. Even after removing the entire two choice blocks, so the only thing left is the one line of dialog, I can't seem to initiate conversation with the Revenant. I'll keep trying things but I'm a bit lost. I don't know why it works for one monster but not the other.
User avatar
Zergeant
Posts: 107
Joined: Tue Aug 31, 2010 7:19 am
Location: Sweden

Re: Strife's Dialog System - UDMF Flavor

Post by Zergeant »

You forgot quotes around Revenant.
Post Reply

Return to “Tutorials”