Jump to content

Can’t get Idle Chatter to work for the life of me


WolffangKrill

Recommended Posts

Alright so Ill cut to the chase. Im working on a companion mod, and Ive tried about every tutorial out there on YouTube and searched countless forums to get idle chatter to work for my follower. Nothing seems to work. Ive selected the topic Idlechatter in the conversation tab, selected random, and selected the GetisID for my companion. Nothing.

 

Can someone, hell anyone, tell me what Im doing wrong? Its driving me insane trying to figure out this problem and theres no proper tutorial that goes into depth about this. Either all the tutorials I find briefly go into it, or the ones I do find are years old and dont seem to work period and never show the end product.

 

If anyone can please f*#@ing help me, I would be forever grateful.

Edited by WolffangKrill
Link to comment
Share on other sites

Okay so update: I figured out the idle chatter. It just required some lines of code that needed to go into the script. Now I have a new problem. The companion I created is saying their lines way too frequently instead of taking long breaks between lines like how the other companions do. Can anyone tell me some coding I could use or a condition to get them not to say their lines as frequently? I tried doing the script processing delay in the quest tab and it doesn't work sadly. So my only other option is coding.

 

Below are links to screenshots I took of my companion script I made for them with the coding and another with the conversation tab with the conditions used on said companion. I tried to use the normal image link tool and it wouldn't post said pictures on the post.

 

https://ibb.co/mF03CtW

 

https://ibb.co/Fm0VYKc

Edited by WolffangKrill
Link to comment
Share on other sites

What was your script delay set at ? And are you now back with the default checked ? Which is 5 or 6 sec delay .

I guess you would want the delay to be something like 120 (2 mins) ?

Which would be how often the Quest script selected there runs 1 frame . Not how often any other tab functions , or even external scripting that gets/sets any variables stored in the script.

 

Also what is the global "FollowerChatterPercentage" set at ? Is set to 75 in FNV .

So if Fo3 is the same ... your script has a 25% chance to tell it to randomly pick a response from "IdleChatter" topic .

But then each topic has a 25% chance to fail its condition check.

Inwhich case ... not sure if that is running each one that hasn't been played the once per day ... with how it will stack random picks.

In otherwords ... till they are all played for the day ... there is a high chance of playing one every time.

So you might want to just get rid of that condition ... and let the random stack do it's thing.

But reduce the chance in the script.

 

Also if the script delay really isn't working ... could put a timer in the script like this.

But also a mention about timers and script delay ... Longer delay seems to make timers take longer in actual seconds .

At least with the FNV engine ... can't remember what I observed with the Fo3 engine ... but before I observed that behavior with FNV ,

I was pretty sure GetSecondsPassed counted to actual seconds irrespective of the frames. But IDK ... just a mention to be aware.

And maybe give it a test without the random percentage initially , making it run ever time the clock is up.

 

~~~~~~~~~~~~~~~~~~~~

SCN CompanionScript

 

Short Status ; 0 = sandbox 1 = following 2 = wait

Float Timer

 

Begin GameMode

 

If Timer > 90 ; number of seconds to wait between IdleChatter picks

If GetRandomPercent > 90 ; leaves 10% chance to run

CompanionRef.SayTo Player IdleChatter

Set Timer to 0

Else

Set Timer to Timer + GetSecondsPassed

 

endif

endif

End

~~~~~~~~~~~~~~~~~~~~~~~~~~

 

All other conditions put on each info response ... which I would just copy paste em all the same ...

IsTalking = 0

IsInCombat = 0

GetIsID

What ever else ... but not the GetRandomPercent .

 

Hope that helps .

Link to comment
Share on other sites

What was your script delay set at ? And are you now back with the default checked ? Which is 5 or 6 sec delay .

I guess you would want the delay to be something like 120 (2 mins) ?

Which would be how often the Quest script selected there runs 1 frame . Not how often any other tab functions , or even external scripting that gets/sets any variables stored in the script.

 

Also what is the global "FollowerChatterPercentage" set at ? Is set to 75 in FNV .

So if Fo3 is the same ... your script has a 25% chance to tell it to randomly pick a response from "IdleChatter" topic .

But then each topic has a 25% chance to fail its condition check.

Inwhich case ... not sure if that is running each one that hasn't been played the once per day ... with how it will stack random picks.

In otherwords ... till they are all played for the day ... there is a high chance of playing one every time.

So you might want to just get rid of that condition ... and let the random stack do it's thing.

But reduce the chance in the script.

 

Also if the script delay really isn't working ... could put a timer in the script like this.

But also a mention about timers and script delay ... Longer delay seems to make timers take longer in actual seconds .

At least with the FNV engine ... can't remember what I observed with the Fo3 engine ... but before I observed that behavior with FNV ,

I was pretty sure GetSecondsPassed counted to actual seconds irrespective of the frames. But IDK ... just a mention to be aware.

And maybe give it a test without the random percentage initially , making it run ever time the clock is up.

 

~~~~~~~~~~~~~~~~~~~~

SCN CompanionScript

 

Short Status ; 0 = sandbox 1 = following 2 = wait

Float Timer

 

Begin GameMode

 

If Timer > 90 ; number of seconds to wait between IdleChatter picks

If GetRandomPercent > 90 ; leaves 10% chance to run

CompanionRef.SayTo Player IdleChatter

Set Timer to 0

Else

Set Timer to Timer + GetSecondsPassed

 

endif

endif

End

~~~~~~~~~~~~~~~~~~~~~~~~~~

 

All other conditions put on each info response ... which I would just copy paste em all the same ...

IsTalking = 0

IsInCombat = 0

GetIsID

What ever else ... but not the GetRandomPercent .

 

Hope that helps .

 

I tried using the code you created for me, and now they're not wanting to say their lines at all. As for the script delay processing, I put it back to default for now, but before I changed it to 10, then to 40, to 3.5, and then 45. Nothing seemingly worked.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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