Author Topic: Dynamic Conversation Links  (Read 589 times)

Legacy_NorthWolf

  • Full Member
  • ***
  • Posts: 143
  • Karma: +0/-0
Dynamic Conversation Links
« on: December 22, 2010, 06:28:02 pm »


               I was wondering if anyone had a solution for this other than the one I'm using right now. Basically, I have a conversation that has multiple branches that lead to the same entry. This is a widget, so the last option is always "Back," and leads to the last menu you came from. The only way I could figure to do this is by having multiple "Back" options, each with a different link.

To illustrate what I'm trying to do I'll use really, really awful looking ASCII that will probably make your eyes bleed. My example:

+ Hello, what would you like to change?
_1. Head
__+ LINK TO CHANGER
_2. Arms
__+ Which arm part?
___ 1. Right Bicep
____+ LINK TO CHANGER

Both of the links go to:

+ How would you like to change this?
_1. Next.
_2. Previous.
_3. Back
__+ LINK TO ROOT
_4. Back
__+ LINK TO ARM PART SELECTION

What I'd really, really love is the ability to just have one single "Back" that has a dynamic link. Right now they just use conditionals. Obviously I can't put all of the links into the same back, because then I have to put conditionals on the nodes, and then it's a fiasco because I'm increasing my number of scripts significantly.

Right now I'm using NWNX_Events to handle a lot of the scripting (using the node-based mucking about to reduce the number of scripts) but there's nothing in NWNX or standard NWN to make this easier (that I've noticed).

Before I get called OCD for not simply linking everything back to the main menu for the selector, some of these links are really elaborate, part of different branches, and entirely different depths in the conversation I'm using, so it's really, really inconvenient for players to get swooped all the way back to the root and spend a while navigating back.

Thanks for any help in advance.
               
               

               
            

Legacy_Lightfoot8

  • Hero Member
  • *****
  • Posts: 4797
  • Karma: +0/-0
Dynamic Conversation Links
« Reply #1 on: December 22, 2010, 07:26:09 pm »


               The closest example I can think of is the conversation I did for editing the PJQ entrys. 


PQJ_with_editor.zip
http://social.biowar...ect/3342/#files

Basicly you make the conversation flat. Puting everything on the level 0 entry nodes and allow the starting condition determin what nod the conversation goes back to. 

Now the starting conditions and action tacken scripts are not pretty.   I packed everything into the least number of scripts that i could to cut down on resource usage.  I also dont remember how well i commented them.  
               
               

               
            

Legacy_NorthWolf

  • Full Member
  • ***
  • Posts: 143
  • Karma: +0/-0
Dynamic Conversation Links
« Reply #2 on: December 22, 2010, 09:06:43 pm »


               That's a very nice solution, just might be rough to script. I'll admit doing this hacking at conversations causes me to rip my hair out.
               
               

               


                     Modifié par NorthWolf, 22 décembre 2010 - 09:07 .
                     
                  


            

Legacy_FunkySwerve

  • Hero Member
  • *****
  • Posts: 2325
  • Karma: +0/-0
Dynamic Conversation Links
« Reply #3 on: December 22, 2010, 09:45:43 pm »


               I liked lightfoot's solution as well. Normally I'm quick to suggest a dynamic convo system, and might well have here as well had he not posted, because they're enormously useful once you learn them. I think in this case, though, that's a fine solution.



Funky
               
               

               
            

Legacy_NorthWolf

  • Full Member
  • ***
  • Posts: 143
  • Karma: +0/-0
Dynamic Conversation Links
« Reply #4 on: December 22, 2010, 10:12:28 pm »


               I like the dynamic conversation systems I've seen, just not sure something like that is actually an appropriate solution in this case.
               
               

               


                     Modifié par NorthWolf, 22 décembre 2010 - 10:12 .
                     
                  


            

Legacy_FunkySwerve

  • Hero Member
  • *****
  • Posts: 2325
  • Karma: +0/-0
Dynamic Conversation Links
« Reply #5 on: December 22, 2010, 10:30:58 pm »


               

NorthWolf wrote...

I like the dynamic conversation systems I've seen, just not sure something like that is actually an appropriate solution in this case.

I think a dyn convo would be better only if he had a dyn convo system installed already, in which case he probably wouldn't have posted this. I was agreeing with you about lightfoot's solution; sorry if that wasn't clear.

Funky
               
               

               
            

Legacy_NorthWolf

  • Full Member
  • ***
  • Posts: 143
  • Karma: +0/-0
Dynamic Conversation Links
« Reply #6 on: December 22, 2010, 10:52:28 pm »


               I'm the OP, Funky. =P I've been considering ZZ-Dialog for the conversation but it truncates response lists to a certain size (10 items?) and I've preferred using large, wholly visible lists for some of the options.

Of course, if ZZ-Dialog is capable of displaying said lists easily then, please, smack me upside the head for not reading more. ':pinched:'
               
               

               


                     Modifié par NorthWolf, 22 décembre 2010 - 10:53 .
                     
                  


            

Legacy_FunkySwerve

  • Hero Member
  • *****
  • Posts: 2325
  • Karma: +0/-0
Dynamic Conversation Links
« Reply #7 on: December 22, 2010, 11:31:31 pm »


               D'oh! Er, I mean, I, uh, knew that. Really. '<img'>

I can't imagine why ZZ-dialogue would have that limit - it's predecessor certainly didn't. What I suspect is that it does the same as its predecessor, only displaying 10 per page and allowing you to scroll up and down - the Legendary Levels dialogue has a couple hundred response nodes for feats on one page, and uses Z-dialogue (the predecessor to ZZ).

Funky
               
               

               


                     Modifié par FunkySwerve, 22 décembre 2010 - 11:34 .
                     
                  


            

Legacy_NorthWolf

  • Full Member
  • ***
  • Posts: 143
  • Karma: +0/-0
Dynamic Conversation Links
« Reply #8 on: December 23, 2010, 03:41:46 pm »


               I looked at ZZ-Dialog and it apparently supports up to 15 options before you need to start using the pages (though it defaults to 10). I was hoping to have an arbitrarily large set of options, but I'm being fussy.

Thanks a ton for the suggestions!
               
               

               


                     Modifié par NorthWolf, 23 décembre 2010 - 03:42 .