Page 3 of 7

Re: Strife's Dialog System - UDMF Flavor

PostPosted: Tue Apr 18, 2017 10:12 am
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...

Re: Strife's Dialog System - UDMF Flavor

PostPosted: Wed Apr 19, 2017 4:20 am
by Leon_Portier
Thanks for the pointer Dexter!

Adding the conversation id got it to work!

Spoiler:

Re: Strife's Dialog System - UDMF Flavor

PostPosted: Sun Jul 02, 2017 5:39 am
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:

Re: Strife's Dialog System - UDMF Flavor

PostPosted: Sun Jul 02, 2017 8:49 am
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.

Re: Strife's Dialog System - UDMF Flavor

PostPosted: Sun Jul 02, 2017 7:15 pm
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.

Re: Strife's Dialog System - UDMF Flavor

PostPosted: Tue Jul 04, 2017 2:07 pm
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.

Re: Strife's Dialog System - UDMF Flavor

PostPosted: Tue Jul 04, 2017 4:00 pm
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.

Re: Strife's Dialog System - UDMF Flavor

PostPosted: Fri Jul 07, 2017 3:52 pm
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]

Re: Strife's Dialog System - UDMF Flavor

PostPosted: Sat Jul 08, 2017 7:30 am
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?

Re: Strife's Dialog System - UDMF Flavor

PostPosted: Sat Jul 08, 2017 7:35 am
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?

Re: Strife's Dialog System - UDMF Flavor

PostPosted: Sat Jul 08, 2017 6:01 pm
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.

Re: Strife's Dialog System - UDMF Flavor

PostPosted: Sun Jul 09, 2017 7:36 am
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 allExpand view
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;
      }
   }
}

Re: Strife's Dialog System - UDMF Flavor

PostPosted: Sun Jul 09, 2017 8:28 am
by Zergeant
The starting bracket for the second choice in the Revenant's dialogue is backwards.

Re: Strife's Dialog System - UDMF Flavor

PostPosted: Sun Jul 09, 2017 11:27 am
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.

Re: Strife's Dialog System - UDMF Flavor

PostPosted: Sun Jul 09, 2017 12:52 pm
by Zergeant
You forgot quotes around Revenant.