View previous topic :: View next topic |
Author |
Message |
Grinning Fool
Joined: 12 Feb 2005 Posts: 264
|
Posted: Sat Nov 25, 2006 4:42 Post subject: Chat plugin for NWNX4? |
|
|
Anyone know if dumbo plans to release this for NWNX4? _________________ Khalidine, a NWN2 persistent world
Looking for volunteers. |
|
Back to top |
|
|
FunkySwerve
Joined: 02 Jun 2005 Posts: 377
|
Posted: Sat Nov 25, 2006 6:05 Post subject: |
|
|
I'm also very curious, as I'd like to update SIMTools for nwn2.
Funky |
|
Back to top |
|
|
Blacksting
Joined: 03 Jan 2005 Posts: 107
|
Posted: Sat Nov 25, 2006 20:50 Post subject: |
|
|
I have put in some questions on the Bio board (as yet unanswered) about the chat xml files. It might be unecessary to have a chat.dll this time around. From a cursory look at the xml files I would say it is fairly likely we can redirect the OnReturn event of the chat dialog and thus be able to build our own OnChat event.
If not I am almost 100 percent confident an alternate chat box xml can be built as a modeless window... the only drawback is that an "engine" return won't immediately go to that window. It will have to be mouse clicked on. |
|
Back to top |
|
|
Grinning Fool
Joined: 12 Feb 2005 Posts: 264
|
Posted: Sat Nov 25, 2006 21:39 Post subject: |
|
|
I have done somework along the same lines -- but the problem is then we completely lose the Tell functionality, which isn't able to be handled via script. SendMessageToPC is an option, but that appears as 'combat' text and not Tells -- so if the user filters out combat text, they'll lose it.
I've also looked at redirecting unhandled messages back to the client GUI for processing, but so far have not had any luck with that.
I have actually already written a 'command line' UI customization, but there's no way to bind it to appear on a keystroke -- which makes it a PITA to use. _________________ Khalidine, a NWN2 persistent world
Looking for volunteers. |
|
Back to top |
|
|
Demetrious
Joined: 09 Dec 2006 Posts: 6
|
Posted: Sat Dec 09, 2006 0:53 Post subject: |
|
|
Yea I'm interested as well and following along. We set up the DMFI code to essentially not care where the code comes from and I think we could transition to a chat plugin in about a day.
I'd help if I could, but I am a fool. I just tag along with the smart people. |
|
Back to top |
|
|
Der Phobos
Joined: 07 Nov 2006 Posts: 14
|
Posted: Sat Dec 09, 2006 0:57 Post subject: |
|
|
Still, rock on with the DMFI, Love it so far, I'm thinking of just disabling the hooks for nwnx till it fires properly if I can't figure it myself. _________________ Highland Saga: Black Dawn |
|
Back to top |
|
|
virusman
Joined: 30 Jan 2005 Posts: 1020 Location: Russia
|
Posted: Sat Dec 09, 2006 19:30 Post subject: |
|
|
I'm working on it. |
|
Back to top |
|
|
Grinning Fool
Joined: 12 Feb 2005 Posts: 264
|
Posted: Sat Dec 09, 2006 20:06 Post subject: |
|
|
Excellent; if I can help in any way, please let me know. _________________ Khalidine, a NWN2 persistent world
Looking for volunteers. |
|
Back to top |
|
|
Blacksting
Joined: 03 Jan 2005 Posts: 107
|
Posted: Sat Dec 09, 2006 20:13 Post subject: |
|
|
I have continued to work on the xml solution and I do think eventually it will work out nicely.... no nwnx dll needed.
My solution to the tell problem is to have a different pop up window appear with a tell or alternately use SendMessageToPC(). This choice can be toggled by the user.
Right now my current status is that I have written my own chat parse script and redirected the OnReturn event of defaultchat.xml. The current problem is a hardcoded one unfortunately that I hope to get changed in a future patch. None of the sub object GUI script commands seem to work on the chat box. I have tried and failed to use these functions:
SetGUIObjectText(OBJECT_SELF, "SCREEN_MESSAGE_1", "inputbox",-1,"");
SetGUIObjectText(OBJECT_SELF, "SCREEN_MESSAGE_1", "INPUT_LISTBOX", -1,"");
SetGUIObjectText(OBJECT_SELF, "SCREEN_MESSAGE_1", "INPUT_CONTAINER",-1,"");
SetGUIObjectText(OBJECT_SELF, "SCREEN_MESSAGE_1", "messagelistbox",-1,"");
CloseGUIScreen(Player,"SCREEN_MESSAGE_1") of course closes the whole object itself... feedback window and all. |
|
Back to top |
|
|
Grinning Fool
Joined: 12 Feb 2005 Posts: 264
|
Posted: Sat Dec 09, 2006 20:24 Post subject: |
|
|
Blacksting wrote: | I have continued to work on the xml solution and I do think eventually it will work out nicely.... no nwnx dll needed.
My solution to the tell problem is to have a different pop up window appear with a tell or alternately use SendMessageToPC(). This choice can be toggled by the user.
Right now my current status is that I have written my own chat parse script and redirected the OnReturn event of defaultchat.xml. The current problem is a hardcoded one unfortunately that I hope to get changed in a future patch. None of the sub object GUI script commands seem to work on the chat box. I have tried and failed to use these functions:
SetGUIObjectText(OBJECT_SELF, "SCREEN_MESSAGE_1", "inputbox",-1,"");
SetGUIObjectText(OBJECT_SELF, "SCREEN_MESSAGE_1", "INPUT_LISTBOX", -1,"");
SetGUIObjectText(OBJECT_SELF, "SCREEN_MESSAGE_1", "INPUT_CONTAINER",-1,"");
SetGUIObjectText(OBJECT_SELF, "SCREEN_MESSAGE_1", "messagelistbox",-1,"");
CloseGUIScreen(Player,"SCREEN_MESSAGE_1") of course closes the whole object itself... feedback window and all. |
I've worked on a similar solution, and was not able to redirect unwated commands (party chat, unused tells) back to to the PC's client for correct parsing.
I eventually just made an 'extra' chatbar for use in languages, commands. etc. This works very well (especially now that they've fixed the crash on numeric input bug), but it's not comfortable to use -- because I have no way to bind that chatbar to the keyboard.
Also keep in mind that an NWNX solution won't require player to install anything, and/or override their default XML files. _________________ Khalidine, a NWN2 persistent world
Looking for volunteers. |
|
Back to top |
|
|
virusman
Joined: 30 Jan 2005 Posts: 1020 Location: Russia
|
Posted: Sun Dec 10, 2006 20:26 Post subject: |
|
|
First working build is done. |
|
Back to top |
|
|
Grinning Fool
Joined: 12 Feb 2005 Posts: 264
|
Posted: Sun Dec 10, 2006 22:20 Post subject: |
|
|
virusman wrote: | First working build is done. |
Ah good news -- looking forward to getting my hands on it
Quote: |
Right now my current status is that I have written my own chat parse script and redirected the OnReturn event of defaultchat.xml. The current problem is a hardcoded one unfortunately that I hope to get changed in a future patch. None of the sub object GUI script commands seem to work on the chat box. I have tried and failed to use these functions: |
I missed this part -- in order to modify GUI elements, the scriptloadable=true attribute needs to be set on the UIScene. After that, you should be able to modify "inputbox" contents to clear it. (Note that there's stll no way to modify listbox contents via script, unless the rows are hard-coded in the xml) _________________ Khalidine, a NWN2 persistent world
Looking for volunteers. |
|
Back to top |
|
|
Blacksting
Joined: 03 Jan 2005 Posts: 107
|
Posted: Mon Dec 11, 2006 0:36 Post subject: |
|
|
Thanks for the help Grinning Fool ... I was missing the scriptloadable tag. In the end I will be using the nwnx dll for PW work but I think down the line the xml solution will be good for single player development and zork style interaction.
I have not delved too deeply in GUI choice except to know that the nwn.ini chooses "default" as the folder.
Hopefully Obsidian will wise up and put a GUI selection pane on the load module page or connect page so players can choose their gui on the fly without having to keep messing with the ini. In either case "overwriting" the default files is not a necessity. An alternate GUI scheme can be created for each PW, single module, etc without touching the default scheme.
The emulation of all chat channels, as you described, has the problem of the feedback being lumped in with combat and toggled off but that can be fixed with a little parser grunt work.
I still have problems closing the chat box though. Hiding it or Disabling it still does not work. Maybe I am missing another xml tag. |
|
Back to top |
|
|
Grinning Fool
Joined: 12 Feb 2005 Posts: 264
|
Posted: Mon Dec 11, 2006 1:12 Post subject: |
|
|
Hmm - might not be able to if it's not working even after that is set. I would have expected SetGUIObjectHidden to work for individual controls.
(Papillon -- possible to get the GUI portions of this conversations split off to a new thread?) _________________ Khalidine, a NWN2 persistent world
Looking for volunteers. |
|
Back to top |
|
|
Demetrious
Joined: 09 Dec 2006 Posts: 6
|
Posted: Tue Jan 02, 2007 23:38 Post subject: |
|
|
Virusman - that is great to hear.
That plugin really gave a lot more flexibility to "text capture" scripting. If there is anything that I can help to coordinate information or ideas that you might have to improve the DMFI code that ties into that plugin - please contact me.
The original DMFI didn't support this type of functionality and one of my main goals was to build the foundation so that it basically didn't matter where the text came from, so long as we got it - so I'm all for everything text capture based - from listeners to UI input boxes to NWNx plugins. |
|
Back to top |
|
|
|