Jump to content

SmallerTalk version 1.2.6 - updated 2-3-13


Recommended Posts

Posted (edited)

File moved to Downloads section of the site. CLICK HERE.

 

 

SmallerTalk version 1.2.6

I have taken ownership of Prideslayer's SmallerTalk and have added a few new features to it that will, and this has been proven fairly extensively through testing some very hard to talk to NPC's, make SmallerTalk a replacement for SmallTalk for any mod that needs the functionality SmallTalk provides.

Why use SmallerTalk instead of SmallTalk?
SmallTalk overrides vanilla records, SmallerTalk does not.
SmallTalk is huge and causes you to watch the entire load sequence, SmallerTalk does not.
SmallTalk does not handle dialogues it doesn't have a replacement for, SmallerTalk does.
SmallTalk cannot fix NPC's that have forced goodbyes, SmallerTalk can.
SmallTalk propagates all vanilla dialogue errors fixed by community and official patches/dlc's, SmallerTalk does not.


How SmallerTalk works:
SmallerTalk has a non-vanilla greeting and a non-vanilla response. It hooks the use of the ActivateControl (typically the "E" key) and if the target is not in combat, is not a creature, is not dead and IS an actor... it performs "StartConversation player, SmallerTalkGreeting" and sets a variable that is used by the greeting as a selection criterion so the NPC uses it. It does NOT in any way alter activation so it won't mess with activation scripts nor stop standard dialogue whatsoever. What it does do is cause a conversation with an NPC who has nothing but "goodbye" flagged dialogue responses that proceeds as follows:

NPC: What's up?
YOU: Nothing much... and you?
NPC: Same ol', same ol'...


... and then it does not close the dialogue. Any mods you have that hook into GREETING that would display options such as SewerSlave, SexoutSex, HowAbout, UseableCigarettes and other mods of that type will then display their dialogue topics.

More Information
NEW In 1.2.6... Prefaced all debug messages with "SmallerTalk: ".

NEW In 1.2.5... Ability for mods to have NPCs ignored by SmallerTalk. 2 options... add NPC to SmallerTalkIgnoreList (formid list) or SmallerTalkIgnoreFaction (faction) with rank 0.

NEW In 1.2.4... Randomized dialogue (10 random greetings and 10 random responses) available as an MCM option, default is OFF

In 1.2.3... Conversation after companion wheel use is now an MCM option and defaults to ON

In 1.2.2... Reverted to armor tokens so they could be set non-playable and not appear in vendor inventories.

In 1.2.1... Fix for weapons disappearing and becoming unusable.

In 1.2.0... PROPERLY checking for GetSleeping now ;)

In 1.1.9... Can set timer delay from 1 to 10 seconds in MCM screen (default = 3).

In 1.1.8... entirely new dialogue initiation code using a dialogue token, won't stomp on vanilla dialogue that was flagged as both SayOnce and Goodbye.

In 1.1.7... the MCM config option to disable SmallerTalk while sneaking.

In 1.1.6... critter support with body language dialogue in place of speaking... can be disabled(default)/enabled through MCM

Altered Companion Wheel functionality response to disregard Cass so you won't see "we done?" , you'll get the SmallerTalk greeting-response, this is because Cass was EXTREMELY resistant to SexoutSex dialogue.

Some NPC AI was locking up after using SmallerTalk on them. This is an attempted fix, please let me know if you have any more AI lockup issues. Added double protection AI reset Token. Fixed code error.

With MCM you can enable or disable the mod from the MCM menu.
With MCM you can enable or disable debug messages from the MCM menu.
MCM is NOT required by the mod but the mod does support its use.

SmallerTalk can display debug information. Typically it can be displayed by typing "set .doDebug to 1" or turned off (default) by typing "set .doDebug to 0".

One situation with the companion wheel has a special handler... in the case of trading using the companion wheel, I have set SmallerTalk to NOT do its conversation and instead respond with "We done?" and exit the dialogue. This was an unintuitive use of SmallerTalk and was disorienting to testers so it was changed. Cass exempted from this.

If tapping the activate key (typically the "E" key) does not start the SmallerTalk conversation or an NPC proves unwilling to start the conversation... simply hold down the activate key for 3 seconds while keeping your crosshair on the NPC and then release... that WILL initiate the SmallerTalk conversation even with the most recalcitrant NPC's who possess factions like ForceNoGreeting like wastelander template NPC's, AWOP Wastelanders, freeside generics, and such.

Modders wishing to test SmallerTalk versioning from within their code to see if the user is using the right version can check the global value "SmallerTalkVersionNumber" and/or the mod description. The mod description will be in the form "v1.0.0" and the global will be a float such as "1.00". The two will be kept in sync with each new release as they happen.

Feel free to provide feedback, testing results and bug reports in this thread.

Changelog
1.1.0 Added MCM Support for enabling the mod and debug print to console 1-10-12
1.1.1 AI Lockup fix attempt 1-14-12
1.1.2 AI Lockup fix double protection 1-14-12
1.1.3 Hide ResetAI Token from Player... oops 1-14-12
1.1.4 fixed resetai code error 1-14-12
1.1.5 Cass exempted from Companion Wheel handler 1-29-12
1.1.6 critter support added, enable/disable via MCM 1-29-12
1.1.7 enable/disable SmallerTalk while sneaking via MCM 2-6-12
1.1.8 new token based dialogue system 2-7-12
1.1.9 timer delay MCM slider 2-8-12
1.2.0 corrected GetSleeping check 2-14-12
1.2.1 fix for weapons disappearing and becoming unusable. 2-15-12
1.2.2 reverted token type to hide tokens 2-18-12
1.2.3 companion wheel convo now MCM option 2-18-12
1.2.4 randomized dialogue MCM option 9-2-12
1.2.5 Ignore List and Faction 9-10-12
1.2.6 Debug Message Prefix 10-6-12

Edited by astymma
Posted

More Information

SmallerTalk can display debug information. Typically it can be displayed by typing "set SmallerTalk.doDebug to 1" or turned off (default) by typing "set SmallerTalk.doDebug to 0". If your install isn't recognizing SmallerTalk as a valid ID' date=' get the quest formid for the SmallerTalk quest and use it in place of SmallerTalk in the above set console commands.

[/quote']

 

Small note about this bit. I believe all installs will require you to use the ID and not the name. As far as I've ever seen, ESMs and ESPs do not propagate their form 'names' into the console, for one reason or another.

 

It may be that some do, somehow, via some magic that I'd love to learn. Until then, it's likely only the formID will work. You can look at the bottom of SexoutNGMain (sexoutNG main quest script) to see how it prints the correct FormID for it's own quests to the console, regardless of mod load order, as long as the mod hasn't been renamed -- if you want to do the same in smallertalk.

Posted

More Information

SmallerTalk can display debug information. Typically it can be displayed by typing "set SmallerTalk.doDebug to 1" or turned off (default) by typing "set SmallerTalk.doDebug to 0". If your install isn't recognizing SmallerTalk as a valid ID' date=' get the quest formid for the SmallerTalk quest and use it in place of SmallerTalk in the above set console commands.

[/quote']

 

Small note about this bit. I believe all installs will require you to use the ID and not the name. As far as I've ever seen, ESMs and ESPs do not propagate their form 'names' into the console, for one reason or another.

 

It may be that some do, somehow, via some magic that I'd love to learn. Until then, it's likely only the formID will work. You can look at the bottom of SexoutNGMain (sexoutNG main quest script) to see how it prints the correct FormID for it's own quests to the console, regardless of mod load order, as long as the mod hasn't been renamed -- if you want to do the same in smallertalk.

 

I could also just bite the bullet and add MCM support with a Show Debug checkbox hehe :)

 

Posted

I could also just bite the bullet and add MCM support with a Show Debug checkbox hehe :)

 

 

That's a dark and lonely road, let me warn you! ;)

 

To support all its options, Sexout has five MCM quests with associated scripts at this point, due to repeatedly bumping into the script size limit. MCM scripts are *huge* thanks to all the strings involved, and the compiled script size limit is 16KB.

Posted

I could also just bite the bullet and add MCM support with a Show Debug checkbox hehe :)

 

 

That's a dark and lonely road' date=' let me warn you! ;)

 

To support all its options, Sexout has five MCM quests with associated scripts at this point, due to repeatedly bumping into the script size limit. MCM scripts are *huge* thanks to all the strings involved, and the compiled script size limit is 16KB.

[/quote']

 

MCM Support added ;)

Posted

More Information

SmallerTalk can display debug information. Typically it can be displayed by typing "set SmallerTalk.doDebug to 1" or turned off (default) by typing "set SmallerTalk.doDebug to 0". If your install isn't recognizing SmallerTalk as a valid ID' date=' get the quest formid for the SmallerTalk quest and use it in place of SmallerTalk in the above set console commands.

[/quote']

 

Small note about this bit. I believe all installs will require you to use the ID and not the name. As far as I've ever seen, ESMs and ESPs do not propagate their form 'names' into the console, for one reason or another.

 

It may be that some do, somehow, via some magic that I'd love to learn. Until then, it's likely only the formID will work. You can look at the bottom of SexoutNGMain (sexoutNG main quest script) to see how it prints the correct FormID for it's own quests to the console, regardless of mod load order, as long as the mod hasn't been renamed -- if you want to do the same in smallertalk.

 

Cleaned OP to reflect this information.

 

Posted

I am having a problem with this mod active. if an npc is i some kind of idle mode, i am unable to talk to them. I can keep clicking on them nothing happens.

Posted

I am having a problem with this mod active. if an npc is i some kind of idle mode' date=' i am unable to talk to them. I can keep clicking on them nothing happens.

[/quote']

 

Yes, I've noticed this problem and so has Prideslayer, working on a fix as we speak. I'm trying to figure out a way to stop this behavior using some combinations of resetai, playidle reset and other similar approaches. The problem is I don't want to break the NPC from what they are supposed to be doing while also not causing their AI to get hung by interrupting their current package for a conversation... sigh.

 

I should have a fix very soon.

 

 

Posted

I am having a problem with this mod active. if an npc is i some kind of idle mode' date=' i am unable to talk to them. I can keep clicking on them nothing happens.

[/quote']

 

Yes, I've noticed this problem and so has Prideslayer, working on a fix as we speak. Probably will need to resetai and maybe a playidle reset before running StartConversation on the target.

 

 

 

You can do a check for it, I probably should have done that initially since I knew this issue existed before starting the project. (ref).IsIdlePlaying will return 1 if a special idle is running.

 

Using that would allow an MCM option that could let the user (or playtesters/debuggers) switch between EVP, ResetAI, playidle, and even a "do default activation" option so we can more quickly figure out what works best.

Posted

I am having a problem with this mod active. if an npc is i some kind of idle mode' date=' i am unable to talk to them. I can keep clicking on them nothing happens.

[/quote']

 

Yes, I've noticed this problem and so has Prideslayer, working on a fix as we speak. Probably will need to resetai and maybe a playidle reset before running StartConversation on the target.

 

 

 

You can do a check for it, I probably should have done that initially since I knew this issue existed before starting the project. (ref).IsIdlePlaying will return 1 if a special idle is running.

 

Using that would allow an MCM option that could let the user (or playtesters/debuggers) switch between EVP, ResetAI, playidle, and even a "do default activation" option so we can more quickly figure out what works best.

 

Crashing to get some sleep, but I'm gonna try and set something like this up when I get back at it. Will do a check for IsIdlePlaying and handle it differently. Another option to consider is to NOT use the activation key and use a different key combination. That way when users encounter an NPC that won't talk due to only having goodbye flagged responses, they can then use the alternative method of speaking to the NPC. That avoids the current situation where we're actually depending on the goodbye flagged response to timeout the conversation BEFORE our StartConversation runs or they don't have a goodbye flagged response and their GREETING continues on with topics and our StartConversation gets overridden. I will have to think about the issue... it's more elegant to capture the activation key, makes it seamless.

Posted

The very first version I released did use a different activation key ('x'), but I went to the default one to make it a more seamless experience. One idea we had when the problems started to surface was to not only use another key, but to have a new custom topic added (SexoutGreeting) that would be called.

 

Both have problems of its own, and the additional drawback of the mods no longer being compatible with smalltalk itself -- or at least, not being able to use whichever of the two you want to.

 

Also if you didn't see from the other thread, still need to add additional checks in to allow conversations with some 'creatures' as well. Supermutants are most important, since there are quite a few friendly ones in the game.

Posted

OK, version 1.1.1 with attempt at fix of AI lockup issue. Please let me know if you experience any more lockup issues with AI. I tested this version on the NPC's that locked up for me and they stopped locking up but this is the kind of issue that varies by load order and mods so let me know if it happens and what mod or NPC it happened to.

 

@Prideslayer

Do you have a list of what critters need to be added or should I go troll the old thread?

 

 

Posted

Updated to version 1.1.2

 

I added a reset ai token as additional protection. basically it gives the NPC a token item that checks for whether the actor's AI shuts off and, if so, turns it back on. It times out after 5 minutes and removes itself. It removes itself on the death of the actor and it keeps only one copy of itself on the actor at any time. If during that 5 minutes actor.IsActorsAIOff is ever true, it resets the AI and removes itself.

Posted

Updated to version 1.1.3

 

Re-did token so players can't see it in NPC's inventory... er..duh, oops hehe.

Posted

How do you know if this thing is working or not? Got it activated but all the general goodsprings npcs refuse to talk no matter how long I hold e down or how many times I tap it. Neither to the cons in the prison camp. This thing doesn't seem to be working.

Posted

How do you know if this thing is working or not? Got it activated but all the general goodsprings npcs refuse to talk no matter how long I hold e down or how many times I tap it. Neither to the cons in the prison camp. This thing doesn't seem to be working.

 

Found an error in the resetai section newly added, thanks for noticing.

Posted

All SmallerTalk does is do a greeting and response and then NOT close the dialogue window so ALL other mods that add top level topics can present their dialogue. I have no control over WHAT gets presented whatsoever. So yes, this is something that is a dialogue condition in another mod, in this case SexoutCreatures.

Posted

I see. I just thought you had control over who you could start conversations with in the first place. Ordinarily the you can't talk to the offspring.

 

In the future I will be adding race specific support to SmallerTalk and, at that time, I can also add race bans as well. Currently, it simply checks to see if the target is not dead, not sleeping, not in combat, not a creature and IS an actor. The topics added to conversations need to be filtered by the mod creating the topic instead of relying on me to nanny them, that's too much responsibility for me to maintain the anti-child sex act protection for all of the SexoutNG series.

 

 

Posted

I see. I just thought you had control over who you could start conversations with in the first place. Ordinarily the you can't talk to the offspring.

 

The control is there, but it's an inappropriate place to exercise it. More than just 'sex mods' can use smallertalk, it's a GP replacement for smalltalk.

 

Stopping sex with children is good. Stopping all potential conversations with them, in any mod, is bad. ;)

 

EDIT: astymma snuck his response in before me somehow.. ;) SexoutNG already has full protection for that, but it's a last ditch firewall type of thing. The checks really need to be done in the dialog and/or scanner, as loogie already said.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...