crazyduck Posted February 25, 2021 Posted February 25, 2021 Hi all Currently i try to fill a Actory Reference from the current NPC that is in Dialogue with the Player. But seems i need a little help with that. Is there a Papyrus or SKSE command that could do that or any other Way like setting up a Function or Event that is triggered if the Player char starts a Dialogue? would be great if someone could give me a little hint how this could be done.
Seijin8 Posted February 25, 2021 Posted February 25, 2021 5 minutes ago, crazyduck said: Hi all Currently i try to fill a Actory Reference from the current NPC that is in Dialogue with the Player. But seems i need a little help with that. Is there a Papyrus or SKSE command that could do that or any other Way like setting up a Function or Event that is triggered if the Player char starts a Dialogue? would be great if someone could give me a little hint how this could be done. https://www.creationkit.com/index.php?title=GetActorBase_-_Actor Look at the notes, too.
DayTri Posted February 25, 2021 Posted February 25, 2021 You need it to be for any dialogue, or one you write yourself for all actors?
DayTri Posted February 25, 2021 Posted February 25, 2021 If it's a specific dialogue, use a script fragment at the beginning of the info, like: (GetOwningQuest().Getalias(your_alias_index) as ReferenceAlias).ForceRefTo(akSpeaker)
crazyduck Posted February 26, 2021 Author Posted February 26, 2021 16 hours ago, DayTri said: If it's a specific dialogue, use a script fragment at the beginning of the info, like: (GetOwningQuest().Getalias(your_alias_index) as ReferenceAlias).ForceRefTo(akSpeaker) My Idea is i want to add some different Gag Talk garbled but not only "mmpph" so my idea was lets say i go to whiterun start a dialogue with a random guard and now this guard fill a actor alias. If i start talkign to a different NPC the Alias is cleared and filled with the new NPC. I need that Actor alias to start random actions from different dialgoue options.
DayTri Posted February 26, 2021 Posted February 26, 2021 15 minutes ago, crazyduck said: My Idea is i want to add some different Gag Talk garbled but not only "mmpph" so my idea was lets say i go to whiterun start a dialogue with a random guard and now this guard fill a actor alias. If i start talkign to a different NPC the Alias is cleared and filled with the new NPC. I need that Actor alias to start random actions from different dialgoue options. I think the best way to do it then is to make a single blocking dialogue topic for people wearing a gag, so every actor will have that topic only and none of their normal dialogue. Then you can use a papyrus script on that topic to set the alias. So like: First topic: "mmph" Info: "..." (script to fill alias) Then the second topic can have variation, and once they are spoken you know that the alias is already filled. But I should mention, for any dialogue condition, like "Alias should do X if player says Y" you will need to have a script fragment on the info. And the script topic will already have "akSpeaker", an actor property containing the NPC you are speaking to. So maybe the alias isn't needed in this case.
crazyduck Posted February 26, 2021 Author Posted February 26, 2021 Currently first topic is Test after that there are different answers for the npc. But i also want that hmm lets say a npc with a higher relationship to the player get access to different possible reactions. I tried it with the line you postet above Looks like that in the dialogue as papyrus fragment (GetOwningQuest().Getalias(7) as ReferenceAlias).ForceRefTo(akSpeaker) but it throw me a error about type mismatch on parameter 1 for this line.
DayTri Posted February 26, 2021 Posted February 26, 2021 2 minutes ago, crazyduck said: Currently first topic is Test after that there are different answers for the npc. But i also want that hmm lets say a npc with a higher relationship to the player get access to different possible reactions. I tried it with the line you postet above Looks like that in the dialogue as papyrus fragment (GetOwningQuest().Getalias(7) as ReferenceAlias).ForceRefTo(akSpeaker) but it throw me a error about type mismatch on parameter 1 for this line. I don't know why it doesn't work
crazyduck Posted February 26, 2021 Author Posted February 26, 2021 4 minutes ago, DayTri said: I don't know why it doesn't work the Alias itself in the Quest tab is it a special setting thats needed for the Alias?
DayTri Posted February 26, 2021 Posted February 26, 2021 3 hours ago, crazyduck said: the Alias itself in the Quest tab is it a special setting thats needed for the Alias? I don't think you need anything special, maybe you can send some screenshot of the quest alias tab and the dialogue fragment so I can see better what is happening
crazyduck Posted February 26, 2021 Author Posted February 26, 2021 18 hours ago, DayTri said: I don't think you need anything special, maybe you can send some screenshot of the quest alias tab and the dialogue fragment so I can see better what is happening found it. the alias did fill as it should error was i had the alias set as reference alias not actor alias. After i changed that it worked first it was set to Actor but played around with it and yep forgot it was now Reference and not Actor Thanks for your Help
Recommended Posts
Archived
This topic is now archived and is closed to further replies.