Jump to content

How do I make an activator talk to the player?


MoonSweets

Recommended Posts

[sOLVED]

Here is a tutorial I made, with clear instructions and images.

 

Hi!

 

So I've been fighting with the CK for two days already, and I just keep on failing at making an activator speak to the player.

What I want to do, basically, is to have some twinkly light engage conversation with the player when they activate it.

 

My first thought was to look for the Augur of Dunlain, and see how it worked. I filtered the Object View and found:

  • MaleUniqueMGAugur -- a voice type
  • MG04Augur -- an Actor
  • MGAugurFX01 -- an Activator
  • MGAugurFX01Static -- an FX
  • MGAugurTalkingActivator -- an special type of activator, it seems (the CK wiki is not helpful about those, just stating the obvious)

 

In the Midden, I found trigger volumes and Xmarkers.

In the MG04 quest, I found:

  • MG04AugurSpeakScene -- a scene, containing the responses the player hears when approaching the Augur's door
  • MG04Stage40View -- a dialog view, containing the dialog between the player and the Augur of Dunlain

 

I tried to figure out how this all was working together (and I got a slight headache).

The scene MG04AugurSpeakScene seems to be triggered, not by the trigger volumes, but by the distance between the player and the door, if I believe what I see in the Phases conditions. The responses are being said by the actor MG04AugurSpeaker1, 2, 3, and 4, which are quest aliases refering to the various Xmarkers.

So I conclude that:

  • I need an Xmarker
  • I need to create a quest
  • I need to create a quest alias to make my Xmarker into an actor that I can refer to
  • I need to create a scene
  • For now I will try to make the scene activated based on the player's distance to the Xmarker
  • I record a test line to say

So I did that.

 

...Obviously I did something wrong somewhere because it was not working. So I started messing around, setting the same voice type as my NPC where I saw voice type options, trying to use his lines, etc... At this point I don't even recall all I did, because I tried a lot of things.

In the end, the only thing that worked was to trigger a simple test script that makes the player equip robes when activating MGAugurFX01 (which causes the effect to disappear). I feel clueless about what to do and how. I've made dialog with NPC before, and it was working just fine, speaking to him, getting dialog options, starting scenes...

But I just can't figure how to do the same with a non-NPC kind of actor.

If someone has the least idea of how to do this, a link to a tutorial (I searched for tutorials, couldn't find any), or whatelse, don't hesitate to chime. Or to CHIM as you prefer.

Edited by MoonSweets
Link to comment
Share on other sites

  • 2 weeks later...

If you right click something in the CK, there's an option regarding what uses that item. It doesn't work in the render window, but it DOES work in cell view, where all the things in the render window are listed. Select something in the render window (like the augur) and it'll be selected in the cell view. Right click it in the cell view to see what uses it. This is the best way to backtrack how something works. If that was no help at all, let me know, and I'll see about actually opening up the CK to see if I can make it work. Unfortunately, I don't know anything about it off-hand.

Link to comment
Share on other sites

Hello Xander,

 

Thanks for your reply. I've looked the uses of talking activators and they are used by dialog INFO forms. So I tried to do the same: create one, and use it quite like an NPC, setting a little test dialog and filtering the conditions with GetIsID: EBMtestTalkingActivator. I placed it in the world, but no matter how much I turned around it, I could never activate it.

 

I looked MGAugurFX's uses, and found it was used by the quests MGRitual04 and MG04, and by a trigger volume, MG04AugurSpeakMarkerRef3. This one has a script attached to it (but it's just to unlock the door and enable the AugurFX) and is being used by MG04, as quest alias "Trigger3". But I can't figure what this Trigger3 is being used for in the quest.

 

Now, I've also considered that the talking activator doesn't have Primitive data, since it's a mesh, and so, cannot be set to be activated by player. I'm not really sure what to do with this so far, I really feel I'm missing how to make this activator be actually possible to activate, and so to trigger an actual dialog.

Link to comment
Share on other sites

Well, if you can't activate it directly, you might be able to activate it indirectly. If it doesn't move around, you might just put an activable trigger box around it. Put a small script on it so when the box is activated by the parent, activate the inanimate speaker. That might be doable easily without the script by making the trigger box the activate parent of the inanimate speaker.

Link to comment
Share on other sites

Alright! So I found a walk around this issue.
I placed my TalkingActivator near some random item (Azura Crystal here)
I added a trigger volume to which I added this bit of script:

ObjectReference Property Activator01 Auto

Event OnTriggerEnter(ObjectReference akActionRef)
If akActionRef == Game.GetPlayer()
Activator01.Activate(Game.GetPlayer(), true)

Endif
Endevent

Then I went to my test quest, in which I had already created a little test dialogue. I created a quest Alias called "Voice", and a scene in which I used the actor Voice, and added the action "ForceGreet". I selected the first topic of my little dialogue, and also set a Trigger Location, selecting the Talking Activator as reference. I think this last bit is pretty unnecessary though.

It worked! As I approached the trigger, it activated the Talking Activator and the dialogue started.

Now, funny thing is that, I had set the Talking Activator's voice type to be MaleKhajiit, because I already have a voiced Khajiit NPC, and thought I could hijack some lines maybe. So, not only did the activator worked, but it also greeted me with things like "How can I assist, hm?" and "May you work on warm sands" upon ending the conversation. However, when I tried to change the topic, and select one from my Khajiit NPC (contained in another quest), it kept on using the same dialogue lines as before. I suppose it's because the dialogue should be contained in the dialogue view of the same quest as the scene, but then I'm surprised it could still find the right lines. Amusing.

I also tested exactly the same thing, but having the Talking Activator be activated by a hijacked lever activator, and it worked just fine!
That's fantastic! Now I can resume to my idea of having the player play the role of His Terrible Majesty Pelgagius III. This mod is going to be pretty epic if it can be achieved.

Edited by MoonSweets
Link to comment
Share on other sites

Ironically, when I saw your posted code, I was going to suggest a change so it would be more readable before I even got to that part where you asked about it. You can make it look like the code I posted here very easily. When you post the code in the code box, simply don't choose any language. That's the default look. It isn't actually highlighted correctly, but it looks much better without every other line being unreadable lol. Also, just because I'm a perfectionist, it's "May you walk on warm sands." I'm glad it's working. The issue with the incorrect lines being used might be part of the reason those inanimate speakers always seem to have unique voices.

Edited by Xander9009
Link to comment
Share on other sites

Ah, perfect! Thanks for the tip about code color!

And *facedesks* I have totally not made a typo, I totally wanted to write "May you work on warm sands", it's the same as the original but said with a mouthful of ash yam.

 

I suppose I'm going to set some unique voice type for this activator, yes... We really don't need to have it speak randomly. On that matter I'll need to find out how to create custom greetings and barter lines, but that will be for later. Thank you very much for your support and suggestion, I was totally going to give this up before you replied!

Link to comment
Share on other sites

  • Recently Browsing   0 members

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