[ACS] Custom dialogue/choice menus (GetPlayerInput update!)

[ACS] Custom dialogue/choice menus (GetPlayerInput update!)

Postby Jimmy » Mon Sep 14, 2009 12:37 pm

Here's a fairly quick set of scripts I whipped up a little while ago for a mate (it's also to be used in a much more extended form in one of my side projects). It allows the user to specify custom ACS-built menus that can do pretty much anything: shops, dialogue trees, speech choices, special consoles, you name it.

http://pastebin.com/f4b3149fb

I'm posting this here for anyone to use in their WADs, in case Strife dialogue scripts just aren't enough for them. :P They work best when put into libraries, then you can use the predetermined functions in any script at all. They aren't the best alternative to Strife dialogue scripts in the world (their implementation is a little bit sloppy), but they work alright for me. Any suggestions or advice are also appreciated.

It requires a KEYCONF lump in your WAD to work since I haven't figured out how to properly use GetPlayerInput yet. :? Thorry.
Last edited by Jimmy on Sun Nov 29, 2009 2:58 pm, edited 1 time in total.
User avatar
Jimmy
º~u~º
 
Joined: 10 Apr 2006
Location: Perth, WA

Re: [ACS] Custom dialogue/choice menus

Postby Xaser » Mon Sep 14, 2009 4:23 pm

Oooh, wow! I was wondering if you'd release this. ;)

I haven't taken a look just yet, but chances are likely I'll make use of it for Psychic's campaign mode since Strife dialogue is finicky as hell. If I do, though, I'll take a stab at converting it to GetPlayerInput, which I'll happily share assuming I get around to it any time soon.
User avatar
Xaser
secretly a supercomputer being a government
 
Joined: 20 Jul 2003
Location: .plɹoʍɹǝʌǝu.

Re: [ACS] Custom dialogue/choice menus

Postby Jimmy » Mon Sep 14, 2009 4:35 pm

I'd really appreciate it if you did that. :) I really want to figure it out myself but it's one of those things where I don't seem to be able to fathom it no matter what way I look at it. :P
User avatar
Jimmy
º~u~º
 
Joined: 10 Apr 2006
Location: Perth, WA

Re: [ACS] Custom dialogue/choice menus

Postby Alterworldruler » Thu Oct 15, 2009 1:46 am

Um Jimmy or anyone, can anyone explain how to make a completely new dialogue in that? Xenus 3 would gladly use this because Strife dialogues are way too LIMITED for me (not just me though) and those nasty workarounds piss me off so I would gladly use that.
User avatar
Alterworldruler
Crushing your soul, $9,99 per day!
 
Joined: 19 Dec 2005

Re: [ACS] Custom dialogue/choice menus

Postby Jimmy » Thu Oct 15, 2009 10:42 am

Ideally, you should know a lot about ACS in order to do that, but to be honest, it's just a case of creating a few "NPC" actors with the +USESPECIAL flag, and adding a couple more variables to the script that will be used when you come to print their name and dialogue to the screen.

I may in the near future simplify my own dialogue tree system so it can be used however anyone wants it.
User avatar
Jimmy
º~u~º
 
Joined: 10 Apr 2006
Location: Perth, WA

Re: [ACS] Custom dialogue/choice menus

Postby Jimmy » Wed Nov 25, 2009 5:22 pm

And now I have. :P

j-testmenu.zip - 25.6KB
See below for the link!

Spoiler: Screenshots!


There is no documentation yet. You'll have to rely on the comments I've left in the SCRIPTS lump. :P

There's also one minor flaw with it: using the 'use' key to select choices works for the most part but is known to bugger things up. Just use the custom bind in the meantime. :P (This still doesn't use GetPlayerInput, by the way. Make sure the controls are correctly bound before you try and use the menus. ;))
Last edited by Jimmy on Sun Nov 29, 2009 2:58 pm, edited 1 time in total.
User avatar
Jimmy
º~u~º
 
Joined: 10 Apr 2006
Location: Perth, WA

Re: [ACS] Custom dialogue/choice menus

Postby jallamann » Wed Nov 25, 2009 6:51 pm

cool!
User avatar
jallamann
isn't very active on the forums at all
 
Joined: 24 May 2004
Location: http://goo.gl/maps/VTSpm

Re: [ACS] Custom dialogue/choice menus

Postby Enjay » Wed Nov 25, 2009 6:58 pm

jimmy91 wrote:There's also one minor flaw with it: using the 'use' key to select choices works for the most part but is known to bugger things up. Just use the custom bind in the meantime. :P


See, I hadn't read that bit and, yes, I can confirm that it is very easy to bugger things up when speaking to the green marine. You can very easily get stuck in an endless loop where you can't exit from the menu.
User avatar
Enjay
The Force is strong with this one.
 
Joined: 15 Jul 2003
Location: Scotland

Re: [ACS] Custom dialogue/choice menus

Postby Dancso » Wed Nov 25, 2009 7:41 pm

Spoiler:
I made this several days ago (unfinished of course) for use in my own mods, it uses GetPlayerInput and is pretty much able to do anything that could be used by a menu. There's no scrolling or boundaries.

I still have to get used to using the Case method instead of lots of Ifs and elses.

Feel free to edit and use.
User avatar
Dancso
bow wow
 
Joined: 11 Oct 2006
Location: at home.. Status: lazy like hell

Re: [ACS] Custom dialogue/choice menus

Postby Jimmy » Sun Nov 29, 2009 2:57 pm

Update with GetPlayerInput goodness!

j-testmenu.zip - 30.3KB

Also: The dialogue choices now scroll in a more "animated" fashion, and there's been a few changes to the setup of the menus themselves. Check the comments in the SCRIPTS lump for what's new. :P
User avatar
Jimmy
º~u~º
 
Joined: 10 Apr 2006
Location: Perth, WA

Re: [ACS] Custom dialogue/choice menus (GetPlayerInput updat

Postby Lishy » Fri Mar 02, 2012 8:21 am

Me and Jimmy were talking on IRC. We want to get this mod compatible but there are some issues.

For example, since the conversations and buy menus are done with single scripts and extensive use of "suspend", I foresee problems when multiple players attempt to "use" the same NPC - conceivably, player 1 could walk up to the NPC that player 2 is talking to, press "use" and player 2 would either buy something he didn't want to, or lose the menu as a result. (Player 1 might also experience some oddities with parts of menu refreshing on his own screen, without it having been initiated for him in the first place.)

Anyone think they can fix this? :|

(In order to compile its scripts via DB2, save the uncompiled version of the ACS lump to C:\Program Files (x86)\Doom Builder 2\Compilers\Skulltag directory for example, and also the compiled one as dialog.o as opposed to dialog.acs for the uncompiled. And then make sure to set it in acc.cfg via
DIALOG = "DIALOG.acs";)
Lishy
 
Joined: 22 Mar 2011

Re: [ACS] Custom dialogue/choice menus (GetPlayerInput updat

Postby Jimmy » Fri Mar 02, 2012 8:39 am

Yeah, it's rather important that the problem with different players using the same NPC in online play gets fixed, because that's at the moment the only problem with the scripts' setup that shows up in online play that I know of. The menu system hasn't really been tested online yet, so there could be a few others, but it would be very helpful if someone could help us with limiting a menu/dialogue script to just one user once it's been initated.

Here's the scenario I imagine: Player 1 walks up to NPC, presses "use" (for the NPC's thingspecial is ACS_Execute) and starts off a conversation, which freezes him in front of the NPC. Once the dialogue box is up and the first line of dialogue drawn, the script suspends itself, then continues when the player presses use again. (See the "MAP SCRIPTS" section of the pastebin link in the first post for exactly how this works.)

Player 2 comes along and doesn't realize there's a conversation going on between Player 1 and the NPC. Player 2 presses use - the conversation continues for Player 1, rather than Player 2's action doing nothing (or indeed starting again for player 2).

So, a failsafe of sorts needs to be installed in the current set of scripts to stop this from happening. Of course, it's been a while (just over two years) since I looked at these scripts, so unfortunately I'm a little unfamiliar with it all. :? Any help would be appreciated.
User avatar
Jimmy
º~u~º
 
Joined: 10 Apr 2006
Location: Perth, WA

Re: [ACS] Custom dialogue/choice menus (GetPlayerInput updat

Postby RV-007 » Sun Mar 04, 2012 11:53 pm

I was thinking to do a simple dialogue thing later on. Maybe this wad can help me with this project.
Could the dialogues be based on actors/objects than maps?
User avatar
RV-007
^NOOBS of MONOTONY
 
Joined: 02 Sep 2011
Location: Dying w/ civilization or living after it

Re: [ACS] Custom dialogue/choice menus (GetPlayerInput updat

Postby RV-007 » Wed Dec 26, 2012 7:36 pm

Does this ACS script work for doom or doom1 wad?
User avatar
RV-007
^NOOBS of MONOTONY
 
Joined: 02 Sep 2011
Location: Dying w/ civilization or living after it

Re: [ACS] Custom dialogue/choice menus (GetPlayerInput updat

Postby Xaser » Wed Dec 26, 2012 7:52 pm

RV-007 wrote:Does this ACS script work for doom or doom1 wad?

Image

You didn't even try it, you monkeynut.
User avatar
Xaser
secretly a supercomputer being a government
 
Joined: 20 Jul 2003
Location: .plɹoʍɹǝʌǝu.

Next

Return to Resources

Who is online

Users browsing this forum: No registered users and 2 guests