HeirOfTheSeptims Posted April 26, 2020 Share Posted April 26, 2020 So I need to be able to change an actor's class in game(to allow them to train in a certain skill), but the only way I can find to do this is an SKSE function and I do not want to require SKSE. I've looked at script functions and quest aliasing, neither seems to be able to modify the class. Does anybody know of a way to do this that I'm missing? Link to comment Share on other sites More sharing options...
HeirOfTheSeptims Posted April 26, 2020 Author Share Posted April 26, 2020 Ok, so I found a possible solution: Ill just make new dialogue that directs the training menu to a fake actor, using a different one depending on their skill level. But I'm having an issue with the script in the dialogue, I need to check that akSpeaker is a particular quest alias but I can't find a way to do it. Everything I've tried just tells me I can't compare an actor to my alias. If anybody has an idea to resolve this, that would be awesome! :) Link to comment Share on other sites More sharing options...
dylbill Posted April 26, 2020 Share Posted April 26, 2020 To do that, you need to get the alias's actor ref and compare. If MyAlias.GetActorReference() == akSpeaker Link to comment Share on other sites More sharing options...
HeirOfTheSeptims Posted April 26, 2020 Author Share Posted April 26, 2020 (edited) It doesn't seem to recognize the alias if I use it directly, do I have to use GetOwningQuest().GetAlias([ALIAS#]), or is there a way to just use the actual alias name so I don't have to worry about the numbers shifting? I thought quest aliases were automatically registered as properties? I get this Error:GetActorReference is not a function or does not exist When compiling: If(GetOwningQuest().GetAlias(1).GetActorReference() == akSpeaker)Game.ShowTrainingMenu(akSpeaker) ; Left this as akSpeaker for testingEndIf Edited April 26, 2020 by HeirOfTheSeptems Link to comment Share on other sites More sharing options...
dylbill Posted April 26, 2020 Share Posted April 26, 2020 You have to use your reference alias as a property, and fill it in the creation kit after compiling. ReferenceAlias Property MyAlias Auto If MyAlias.GetActorReference() == akSpeaker Game.ShowTrainingMenu(akSpeaker) EndifChange MyAlias to you Alias's name. When setting in the CK, choose your quest and your alias. Link to comment Share on other sites More sharing options...
Recommended Posts