Jump to content

Dynamic Class Change Without SKSE


Recommended Posts

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

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

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 testing
EndIf

Edited by HeirOfTheSeptems
Link to comment
Share on other sites

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)
Endif

Change MyAlias to you Alias's name. When setting in the CK, choose your quest and your alias.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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