logo logo

 Back to main page

The NWNX Community Forum

 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
 
NWNX Speech plugin!
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9  Next
 
Post new topic   Reply to topic    nwnx.org Forum Index -> General Discussion
View previous topic :: View next topic  
Author Message
Lanthar D'Alton



Joined: 10 Feb 2005
Posts: 100

PostPosted: Wed Nov 02, 2005 11:12    Post subject: Possible module name issues Reply with quote

Yet another possible bug... I'm not sure anyone has a module with ' in the module name, but that probably will cause problems. I'm adding a fix in next update.

-Lanthar
Back to top
View user's profile Send private message Visit poster's website AIM Address MSN Messenger
Slynderdale



Joined: 07 Oct 2005
Posts: 3

PostPosted: Wed Nov 02, 2005 18:06    Post subject: Reply with quote

A couple of thins, any chance on including the original nss files in an erf and then a seperate one for the DMFI files in the zip? Perhaps an erf for DMFI 1.0.7 and DMFI 1.0.8. This way those who use the DMFI scripts can optionally chose to install them.

Another suggestion, perhaps add a "halt" or "stop" switch to the listener cmmands. If it listens for text and finds the certain command but have the "stop" switch, process the command as normal but prevent the said text from showing up in NWN. WOuld be useful for custom commands using the chat bar.

Also Is there a way to store the messages to the Database while having the messages processed as normal? Reason for this, I want to log the chat to the database and use PHP to retrieve this data when needed. Also I wanted to set up an AFK system IG that checks when a person last spoke or moved and set them AFK accordingly.
Back to top
View user's profile Send private message
Lanthar D'Alton



Joined: 10 Feb 2005
Posts: 100

PostPosted: Fri Nov 04, 2005 3:26    Post subject: Reply with quote

1: I suppose I should just update it to work with dmfi 1.08...

2: I can make it mute what is said by overwriting the text, and that works, but it still shows the person said " ". I'm fairly sure nwn sends back a second packet that confirms receipt of the speech, which I never bothered to find. I say this, because I know that if the client never receives the confirmation that the server got a message, the client keeps sending it's speech over and over. So, throwing away the packet would require that I figure out what packet it is, make one, and send it to the client or else the client would start repeating it's packet, which would keep being interpreted by the listener and kept from the server.

3: Cheap way: Use it with "Use Database=0", and make the lds_spch_runonce store it to the table using nwnx.
Back to top
View user's profile Send private message Visit poster's website AIM Address MSN Messenger
Via Con Diablos



Joined: 23 Nov 2005
Posts: 55

PostPosted: Tue Jan 31, 2006 11:48    Post subject: Reply with quote

I'm having a few troubles getting the listener to work...

I'm using the newest version from this thread, 304b
The database is configured, yet when I set it up in my PW, I get

ERROR: unable to connect to database.

as the first thing in the listener window.
Now when I login and try testing it, the speech shows up in the listener, but none of the emotes work, nor do the DMFI languages.

the nwnx_speech logfile has the following:
Code:
NWNX2 Talus Speech Listener Version 3.0b for Windows.
Copyright (C) 2003 Josh Dalton (Lanthar D'Alton) and Marc Paradise (Grinning Fool)
 - Loading Verb Map
 - * Unable to locate nwnx_tls_actn.ini
 - * Creating default verb file
 - Loaded 120 Verbs
 - Launching Listener Thread.
 - Launched Listener Thread.
 - 01:32:33 ERROR: unable to connect to database.
 - 01:32:41 Using Interface: 2
 - 01:32:41 listening on Realtek RTL8139/810x Family Fast Ethernet NIC                (Microsoft's Packet Scheduler)

 - Hooked to Module: [TwiLegacy]


As well, I pulled the permissions lever with a character (not DM) and the odbc logs show everything fine there, and the entries do show up in the database for that.

Any help would be greatly appreciated.
Back to top
View user's profile Send private message
Via Con Diablos



Joined: 23 Nov 2005
Posts: 55

PostPosted: Tue Jan 31, 2006 21:02    Post subject: Reply with quote

I've also added the following lines to my onmodload
Code:
 object oList=GetObjectByTag("IPList");
     if(oList!=OBJECT_INVALID) //We start the script running as a process of the list after 15 seconds.
     DelayCommand(15.0f, ExecuteScript("lds_spch_runonce", GetObjectByTag("IPList")));


And
Code:
 object oClient=GetEnteringObject();
     //add this player to name sorted list.
     object oIPList=GetObjectByTag("IPList");
     if(oIPList==OBJECT_INVALID)
     oIPList=OBJECT_SELF;
     SetPlayerObjectByName(oClient, oIPList);

to oncliententer.

And I have placed the Flag and WP's as per install document.
Back to top
View user's profile Send private message
Via Con Diablos



Joined: 23 Nov 2005
Posts: 55

PostPosted: Wed Feb 01, 2006 3:27    Post subject: Reply with quote

Quote:
o unless you have your own stuff that checks the nwn_speech table, don't turn on that UseDatabase checkbox


Umm...doh...
I'll try this when I get home from work Embarassed
Back to top
View user's profile Send private message
Lanthar D'Alton



Joined: 10 Feb 2005
Posts: 100

PostPosted: Wed Feb 01, 2006 5:05    Post subject: I'm still around... Reply with quote

So let me know if that fixes your troubles.

-Lanthar
Back to top
View user's profile Send private message Visit poster's website AIM Address MSN Messenger
Lanthar D'Alton



Joined: 10 Feb 2005
Posts: 100

PostPosted: Wed Feb 01, 2006 5:11    Post subject: Also Reply with quote

Just noticed I never posted 3.05b...

So

http://www.worldoftalus.com/downloads/lds_talus_speech_305b_win.rar

Release: 3.05b
Release Date: 11/2/2005
-fix for modules with ' in name
-fix false error message about connecting to db.
-fix for db mode with playernames with ' in them.

-Lanthar
Back to top
View user's profile Send private message Visit poster's website AIM Address MSN Messenger
Lanthar D'Alton



Joined: 10 Feb 2005
Posts: 100

PostPosted: Wed Feb 01, 2006 5:26    Post subject: A word about using speech system on machines using WIFI Reply with quote

Wifi servers don't work correctly with the listener unless you create a network bridge, and make the listener use that interface. I did create a version of the DLL prior to having to reformat my hard drive, which contains a change to make it run in non-promiscuous mode to make it work for wifi... but I'm not sure that version will work on normal machines... and have to add an ini file setting that allows that setting to be toggled before I release it.

Also in that fix is a toggle that allows you to make the listener skip the check to capture the module name. This is for those who run windows virtual machines... which causes the server to have a different incoming IP for network packets than outgoing ones... and requires this setting to make it work.

I'll try to make these changes soon and package them for those that need it... have to set up vis studio again tho Smile

-Lanthar
Back to top
View user's profile Send private message Visit poster's website AIM Address MSN Messenger
Via Con Diablos



Joined: 23 Nov 2005
Posts: 55

PostPosted: Wed Feb 01, 2006 10:21    Post subject: Reply with quote

Well that partially fixed it.

Most of the languages work when using the standard /dm [foo]
If I read correctly, they should work with the listener with /o [foo] which they currently do not.
*emotes* like *bow* do not currently work.

I've been putting in too many hours at work this past while...it's crunch time. I'll double check the docs vs my steps. Let me know if there's anything that you think of.

Thanks
Back to top
View user's profile Send private message
orth



Joined: 10 Apr 2005
Posts: 12

PostPosted: Thu Feb 02, 2006 4:56    Post subject: Reply with quote

Hiya Lanthar, been trying to get this working for Layonara, but I'm complicating it nicely with DMFI 1.08alpha and using FastFrench Smile

Everything seems to be working great, emotes capturing, text logging, self tells, actions, dmfi stuff etc....then about 4-6 minutes into the mod running, the server crashes with little information. The Application Event Viewer reports:

Faulting application nwserver.exe, version 1.6.6.0, faulting module NWN-MySQL.dll, version 4.1.0.0, fault address 0x00003d23.

--

This happens for any mod with NWNX-FF 4.1 and Talus 305b.
This does not happen for any mod with just FastFrench NWNX and no Listener.
This does not happen for any mod with regular NWNX and Talus.
I have the NWNX-FF Speech dll removed from the directory so it is not loaded.

Is this expected? Do I need to build the Listener against the FF stuff? Any other way I can help with more information?
Back to top
View user's profile Send private message
orth



Joined: 10 Apr 2005
Posts: 12

PostPosted: Thu Feb 02, 2006 6:59    Post subject: Reply with quote

Okay never mind on that heh, been catching up and I didn't realize how much of a fork FF was. I'll stick to the real nwnx, but take advantage of some of the tweaks he's used. Listener working on test system A OK so far. Now I need to trim some of all this functionality and add some of my own! Will give progress report.
Back to top
View user's profile Send private message
Lanthar D'Alton



Joined: 10 Feb 2005
Posts: 100

PostPosted: Wed Feb 08, 2006 3:13    Post subject: Couple of things Reply with quote

1: Via Con Diablos, to speak a language using /o, you say
/o L this is elven.
not
/o [this would be elven, but it's the wrong syntax.]

to make /o do emotes automatically, you must turn on the "autoemote"
setting in the nwnx_talus.ini file (set to 1)

otherwise, just use this method
<actioncommand> in normal should be /o C actioncommand
*emote* in normal talk should be /o E emote
/o A this is speaking through animal
/o F this is speaking through familiar
etc. (try *assochelp* in talk).

If your problem isn't due to syntax being an issue, contact me over ICQ and I'll take a look. #7349572

2: Orth: contact me via icq if you continue encountering problems... dmfi isn't that hard to merge in anymore. Cheapest thing to do for you is to get ahold of Windiff or some similar tool, copy the modules\temp0\*.nss to a temporary folder for a module with only DMFI erf imported, then do the same for the Talus Speech Setup Module. Compare the dmfi scripts for differences.

3: when 1.67 comes out, I'll be adding changes to make commands that work with the following new bioware scripting functions:

GetCreatureWingType()
SetCreatureWingType()
GetCreatureTailType()
SetCreatureTailType()
GetCreatureBodyPart()
SetCreatureBodyPart()
SetWillSavingThrow()
SetReflexSavingThrow()
SetFortitudeSavingThrow()
GetKeyRequiredFeedback()
SetKeyRequiredFeedback()
SetName() - Sets the name of an Object (a creature, placeable, item, or door) - does NOT work on player objects.
GetPortraitId()
SetPortraitId()
GetPortraitResRef()
SetPortraitResRef()
Back to top
View user's profile Send private message Visit poster's website AIM Address MSN Messenger
Via Con Diablos



Joined: 23 Nov 2005
Posts: 55

PostPosted: Tue Feb 21, 2006 10:55    Post subject: Reply with quote

Well everything has been working quite well, I'm even looking at using the teleport system that's frameworked there. How would I go about adding a new verb to the system? I've got vaei's additional animations set up and running through a conversation menu, but it would be nice to emote *points* and have the PC point Very Happy

Thanks for all the help!
Back to top
View user's profile Send private message
Lanthar D'Alton



Joined: 10 Feb 2005
Posts: 100

PostPosted: Wed Feb 22, 2006 7:36    Post subject: Adding commands Reply with quote

Most *Emotes* are done with a big if/else series of string comparison in lds_spch_runonce in the
int HandleSimpleAction(string sAction, object oPC)
function which is the first thing in that file.

Commands are handled in lds_parse_action.
Find a syntax matching what you want to add, and then pick a number not already in use in that file. Then simply add an extra "case ####: " statement to do what you want. be sure you don't forget to add a "break;" at the end of your code there.
Additionally, you must add an entry to the nwnx_tls_actn.ini file in your nwn directory. The format is simple, and you can define more than one verb to run the same resulting <command>. e.g.
PUSH,1002
PUSHES,1002

The number corresponds to the number used in the Switch/case statement.

Enjoy!

-Lanthar
Back to top
View user's profile Send private message Visit poster's website AIM Address MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic    nwnx.org Forum Index -> General Discussion All times are GMT + 2 Hours
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9  Next
Page 8 of 9

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group