Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Question

Okay so I've been using the ZDooM wiki to try and understand how to make a dialogue. I made a basic dialogue with 3 choices to buy 3 different items in the USDF-based dialogue. A small health item, a medium health item and a large health item. So far it complies with no errors with SLADE-3 but I don't see anything about implementing the dialogue. I have an actor with the same ConversationID that I am using for the "shop" mechanic but so far I have no idea how to actually get said dialogue into my map. Any help?

Share this post


Link to post

20 answers to this question

Recommended Posts

  • 1

Your actor must also have basic Greetings, yes and no states in it's class :

 

Yes:

MRYS A 20 // Fall through

Greetings:

MRGT ABCDEFGHI 5

Goto Spawn

No:

MRNO AB 6

MRNO C 10

MRNO BA 6

Goto Greetings

 

Last time I used it I didn't need any sort of trigger, I just "pressed use" on the actor.

Share this post


Link to post
  • 1

The "Yes" state is followed by Greetings, this means the NPC will switch back to it's first dialogue state after the option.

 

Here's the full example : 

 

https://zdoom.org/wiki/Classes:Merchant

 

You can use it as a base and instead use your own conversation id (add that property).

Share this post


Link to post
  • 1

Here's a working example, with an editable DIALOGUE lump I added, I'm not sure I understand what's happening with your actor so have this instead, I suspect it's because your map doesn't have the DIALOGUE lump or fails to find it.

merchantmap.zip

Share this post


Link to post
  • 1

Huh, weird, I'm using the latest versions and that's what appears for me, I don't know what's going on, maybe someone can tell us what's happening :p

Share this post


Link to post
  • 1

You click the + button, It works fine here so I'm not sure what's happening on your side, either way glad you solved your problem :)

 

Share this post


Link to post
  • 0
1 hour ago, DynamiteKaitorn said:

.... but so far I have no idea how to actually get said dialogue into my map. Any help?

I've never used the Strife dialog system, but I'm guessing you need an in-game "trigger" to activate any given dialog. You will probably need to set up a linedef that triggers a script for calling up the dialog. Alternatively, you could set up the actor (e.g., shop mechanic) to deliver the dialog when "used" - you walk up to the mechanic and press the relevant "use" key on your keyboard, or set up the actor so that s/he delivers the dialog when you get within a certain radius of the actor. This method (either "use" or proximity) will require customizing the actor in DECORATE or ZScript.

Share this post


Link to post
  • 0
21 hours ago, dmg_64 said:

Your actor must also have basic Greetings, yes and no states in it's class :

 

Yes:

MRYS A 20 // Fall through

Greetings:

MRGT ABCDEFGHI 5

Goto Spawn

No:

MRNO AB 6

MRNO C 10

MRNO BA 6

Goto Greetings

 

Last time I used it I didn't need any sort of trigger, I just "pressed use" on the actor.

 

First off I noticed the "yes" statement doesn't have an end to it and secondly, this doesn't seem to do anything so far. Mind expanding it a little?

 

Share this post


Link to post
  • 0

Okay I'm getting there but weirdly GZDooM keeps despawning the shop keeper after I spawn it and then attempt to trigger it.

(By trigger I mean alerting it not by using my "Use" key)

Share this post


Link to post
  • 0
On 21/02/2018 at 0:21 PM, dmg_64 said:

Here's a working example, with an editable DIALOGUE lump I added, I'm not sure I understand what's happening with your actor so have this instead, I suspect it's because your map doesn't have the DIALOGUE lump or fails to find it.

merchantmap.zip

I opened up the wad and I noticed your dialogue is a "Map conversation" file type whereas mine is a "strife dialogue" type. Could this be the reason it isn't working? Also I'm not able to edit the dialouge file at all. when I try to open it, the text editor shows "SOH" in white text on a black background.

Share this post


Link to post
  • 0
Just now, dmg_64 said:

You don't need to view it as a text, Slade should be capable of directly editing the lump :

 

wat.png

 

This doesn't appear at all, This what appears:

 

Sladical1.png.19356d00c1c3cc6b59ac81c21c929ea3.png

 

Share this post


Link to post
  • 0
21 minutes ago, dmg_64 said:

Huh, weird, I'm using the latest versions and that's what appears for me, I don't know what's going on, maybe someone can tell us what's happening :p

Okay I found the issue. I didn't have the recent SLADE-3 update... it's almost working buuuuut two things:

 

1: Why does it randomly throw garbage text at the end of whatever I type into the response boxes (where you already had text)

2: the Response give type and item1/2/3/etc... or response count 1/2/3/etc... means...?

Share this post


Link to post
  • 0

Unless I'm mis-reading the wiki, do I literally have to make a new actor for EVERY shop that contains the same ammo?

 

(for example a shop that gives a small packet of plasma ammo is found early on in a game but maybe later on, another shop sells the same plasma ammo)

Share this post


Link to post
  • 0
21 hours ago, dmg_64 said:

Not really, you can inherit the same actor but only change the ConversationID Property.

I may have mis-worded what I meant but I was trying to say that, does every shop need a new item, even if one item is a duplicate.

 

For example, lets say a DooM map had medikits inside of it and this had the actor ID of 100. A shop appears half-way through this map that sells Medikits. Near the end, another shop also sells medikits. Does each one of these medikits need the same DECORATE mcguffins (though obviously no ID number needed since it's inheriting) per shop.

Edited by DynamiteKaitorn : Clearer explanation.

Share this post


Link to post
  • 0

I tried giving the health item I wanted to give the same conversation ID but it then removed my ability to make a conversation with the shop owner.

 

EDIT: Attempting to add another conversation row doesn't work and copying instantly crashes SLADE.

 

EDIT 2: Turns out the "Response Give" is the conversation ID however now the shop wont check if I have a certain currency in my inventory weirdly o_o

Edited by DynamiteKaitorn

Share this post


Link to post
  • 0

How AM I meant to add conversations to the Dialogue lump? The + button I thought I was meant to click does absolutely nothing and copying instantly crashes Slade.

 

Sladical2.png.ef6adab549fa557fc37e978e79c5e9e3.png

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×