Strife's Dialog System - UDMF Flavor

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

Moderator: GZDoom 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.

Re: Strife's Dialog System - UDMF Flavor

Postby Murix » Wed Jan 24, 2018 11:18 pm

Murix wrote:
For now I've just got Thirty (god lord) Two of these files going from "DIALOG01.txt" to "DIALOG32.txt"


yeah that's what the solution is right now
User avatar
Murix
Developing Ballad of Rhinestone
 
Joined: 31 Mar 2016
Location: On my chair

Re: Strife's Dialog System - UDMF Flavor

Postby ImpieTwo » Sun Sep 02, 2018 12:42 am

Is there a way to assign an npc with a specific random dialogue from the list once it's spawned on the map? Currently all of the generic npcs with random phrases pick a new one each time, and i'd rather they only get one for the whole session until you start a new game. Otherwise you can use one npc to cycle through all the dialogues.
ImpieTwo
 
Joined: 17 Aug 2015

Re: Strife's Dialog System - UDMF Flavor

Postby bitsy » Mon Jan 14, 2019 3:03 pm

hi ive a problem its looks like. when i put dialogue01 02 and so on between maps respectively. those maps wont show up in gzdoom builder. when i remove dialog files. then it will show up whats im doing wrong
User avatar
bitsy
 
Joined: 11 Jan 2019
Discord: B♥i♥t♥s♥y#1502

Re: Strife's Dialog System - UDMF Flavor

Postby Mr.Enchanter » Thu Jan 31, 2019 2:00 am

Is there any way to change the text color and the menu cursor?
User avatar
Mr.Enchanter
Certified Shitposter
 
Joined: 21 Mar 2015
Location: USA
Discord: Enchanter#5420

Re: Strife's Dialog System - UDMF Flavor

Postby Zergeant » Fri Apr 05, 2019 6:10 pm

I'll be making a very teensy update to the main post soonish. It'll just contain one feature, though there is another being implemented that lets you handle page numbers as page names instead for easier management, though after some testing it appears to be unfinished as of now.

ImpieTwo wrote:Is there a way to assign an npc with a specific random dialogue from the list once it's spawned on the map? Currently all of the generic npcs with random phrases pick a new one each time, and i'd rather they only get one for the whole session until you start a new game. Otherwise you can use one npc to cycle through all the dialogues.

Unfortunately I don't think there is an easy solution for that. You could make copies of a conversation, set them in a range of IDs like 9000 to 9005 or however many you have, and have ACS randomize in that range, math.random(9000,9005) I believe but I haven't touched ACS in years so don't quote me on that.

bitsy wrote:hi ive a problem its looks like. when i put dialogue01 02 and so on between maps respectively. those maps wont show up in gzdoom builder. when i remove dialog files. then it will show up whats im doing wrong

Quite an odd error, you might have missed defining a namespace or such. It would be easier to debug if you could upload and share your map here.

Mr.Enchanter wrote:Is there any way to change the text color and the menu cursor?

Nope, not easily accessible at least, you can perform some changes via ZScript but I'm not sure about those specific properties.

Also sorry for the late replies.
User avatar
Zergeant
 
Joined: 31 Aug 2010
Location: Sweden

Re: Strife's Dialog System - UDMF Flavor

Postby Nash » Sat Apr 06, 2019 4:30 am

Zergeant wrote:lets you handle page numbers as page names instead for easier management, though after some testing it appears to be unfinished as of now.


What do you mean? What's unfinished about it? I am already using it in full production for a game (I was the one who requested that feature), and it does everything I'd hope it'd do. Curious to know what you mean by "unfinished"...
User avatar
Nash
 
 
 
Joined: 27 Oct 2003
Location: Kuala Lumpur, Malaysia
Github ID: nashmuhandes

Re: Strife's Dialog System - UDMF Flavor

Postby Zergeant » Sat Apr 06, 2019 6:11 am

Nash wrote:
Zergeant wrote:lets you handle page numbers as page names instead for easier management, though after some testing it appears to be unfinished as of now.


What do you mean? What's unfinished about it? I am already using it in full production for a game (I was the one who requested that feature), and it does everything I'd hope it'd do. Curious to know what you mean by "unfinished"...

It doesn't go to the next page properly, I've double-checked the names and it will either spit out an invalid node xx error in the console or it will go to a completely unrelated page.
Code: Select allExpand view
conversation
{
   // A hotheaded boy with a story to tell.
   actor = "Archvile";
   
   // Intro
   page
   {
      name = "Hothead";
      pagename = "Hello";
      dialog = "I got a burning feelin'!";
      choice
      {
         text = "Really now?";
         nextpage = "MyFeels";
      }
   }
   
   // Second page
   page
   {
      name = "Hothead";
      pagename = "MyFeels";
      dialog = "Yeah... My fiancee just left me...";
      choice
      {
         text = "Sorry to hear...";
         nextpage = "Japed";
      }
   }
   
   // Third page
   page
   {
      name = "Hothead";
      pagename = "Japed";
      dialog = "That's okay, we weren't doing too hot anyway! Har har har!";
      choice
      {
         text = "I ought to shoot you for that pun...";
         nextpage = "Hello";
      }
   }
}

This will result in an invalid node 11 not found error, running on g3.8pre-757-g0ed847b51.
User avatar
Zergeant
 
Joined: 31 Aug 2010
Location: Sweden

Re: Strife's Dialog System - UDMF Flavor

Postby Nash » Sat Apr 06, 2019 6:12 am

Zergeant wrote:
Nash wrote:
Zergeant wrote:lets you handle page numbers as page names instead for easier management, though after some testing it appears to be unfinished as of now.


What do you mean? What's unfinished about it? I am already using it in full production for a game (I was the one who requested that feature), and it does everything I'd hope it'd do. Curious to know what you mean by "unfinished"...

It doesn't go to the next page properly, I've double-checked the names and it will either spit out an invalid node xx error in the console or it will go to a completely unrelated page.
Code: Select allExpand view
conversation
{
   // A hotheaded boy with a story to tell.
   actor = "Archvile";
   
   // Intro
   page
   {
      name = "Hothead";
      pagename = "Hello";
      dialog = "I got a burning feelin'!";
      choice
      {
         text = "Really now?";
         nextpage = "MyFeels";
      }
   }
   
   // Second page
   page
   {
      name = "Hothead";
      pagename = "MyFeels";
      dialog = "Yeah... My fiancee just left me...";
      choice
      {
         text = "Sorry to hear...";
         nextpage = "Japed";
      }
   }
   
   // Third page
   page
   {
      name = "Hothead";
      pagename = "Japed";
      dialog = "That's okay, we weren't doing too hot anyway! Har har har!";
      choice
      {
         text = "I ought to shoot you for that pun...";
         nextpage = "Hello";
      }
   }
}

This will result in an invalid node 11 not found error, running on g3.8pre-757-g0ed847b51.


That sounds like a bug and should have been reported! Post your example mod too, in the report.

(Although I'm not sure why it works on my end but not yours)
User avatar
Nash
 
 
 
Joined: 27 Oct 2003
Location: Kuala Lumpur, Malaysia
Github ID: nashmuhandes

Re: Strife's Dialog System - UDMF Flavor

Postby olzhas1one » Thu Apr 25, 2019 1:39 am

I have one question - can I use the same dialogue on different maps?
User avatar
olzhas1one
 
Joined: 26 Feb 2017
Discord: olzhas1one #1997

Re: Strife's Dialog System - UDMF Flavor

Postby Zergeant » Thu Apr 25, 2019 12:13 pm

Yes.
Code: Select allExpand view
include = "DIALOG01"

If you type that into the dialogue file for your map, you will include dialogue from the file DIALOG01.
User avatar
Zergeant
 
Joined: 31 Aug 2010
Location: Sweden

Re: Strife's Dialog System - UDMF Flavor

Postby Reuben Clupperforth » Thu Apr 25, 2019 2:35 pm

Also, I found something important - While this tutorial should work in Zandronum, it turns out that Yesmessage, Nomessage and DisplayCost make the code unuseable in Zandronum (it simply won't start, no matter what). Not sure why this happens, but an important thing to know about when making these. Everything else seems to work fine
Reuben Clupperforth
 

Re: Strife's Dialog System - UDMF Flavor

Postby Esther Dallerpork » Fri Oct 18, 2019 3:43 am

Hi, can you trigger animation through dialogue? Like, when you make a choice in reply, and actor has different sprite (yeah, like angry face or sad).

If it's not possible, then another question... can you put actor in death state after dialogue? So when you end dialogue "ok, bye" actor dies.

Thanks
Esther Dallerpork
 

Re: Strife's Dialog System - UDMF Flavor

Postby Zergeant » Sat Oct 19, 2019 9:16 am

Esther Dallerpork wrote:Hi, can you trigger animation through dialogue? Like, when you make a choice in reply, and actor has different sprite (yeah, like angry face or sad).

If it's not possible, then another question... can you put actor in death state after dialogue? So when you end dialogue "ok, bye" actor dies.

Thanks

You can define states in the actor for Yes, No and Greetings, and depending on the player choices the actor will enter these states.

Yes state is entered when the player picks a choice that has a "yesmessage" property.
No state is similar except for "nomessage"
Greetings is always played when the player starts the conversation with the actor.

You can refer to the Merchant class in the ZDoom Wiki to see how it should be set up, but basically it's only the states you need. https://zdoom.org/wiki/Classes:Merchant

I don't think you can put an actor in death state with a Bye choice. I suppose you can put a No state right before the Death state and let it fall through. Either that or define a special to be activated in one of the choices that kills the actor.
User avatar
Zergeant
 
Joined: 31 Aug 2010
Location: Sweden

Previous

Return to Tutorials

Who is online

Users browsing this forum: Karl5100 and 0 guests