Another one of my ancient Tutorials, thanks to Matthiaswag for keeping it online, and Jac for refining it. While I can find both of the other Tutorials on the old Beth forum, I can not get access to the FF Tutorial. Also forgot my log in data, and searching 598 sites, is not what I'm planing for the rest of my life. I'll just tag in quotes:
This tutorial will guide you through creating a custom follower, on a separate framework than the vanilla one. This will stop your follower from being automatically managed by a mod like EFF, or AFT. You can also add more features to your follower easily, as well as the framework being more flexible.
This tutorial assumes a basic knowledge of the Creation Kit, and how to set up scripts. No need to write them, but you should be able to edit a few names and such to fit your follower. This could be used for a framework but the tutorial is set up for a single follower.
This is a redesigned tutorial based off of Mofakin's original one, by Jac. Morte is Jac's custom follower, a proof of concept and fully voiced follower.
Ignore particular names for this tutorial. They're just examples and taken from two mods, not necessary to be the exact same and ignore if they change. Also, certain pictures may not exactly match up to the amount of properties, as some properties were removed through optimization as they were unnecessary. Otherwise, they are accurate, but don't worry if you don't see a property in your script that's in the picture.
The vanilla system uses a global variable to limit the player to one NPC and one animal follower. Setting up a variable for this system is not required, but if you also want to limit your framework to one NPC/animal, create a new global variable (Figure 1).
After you’ve created the variable, create a new quest and set it up as shown in Figure 2. Note: you will need to click OK after you’ve set up the first tab and re-open the quest before you’ll be able to proceed with adding the other parts to the quest.
The Object Window Filter JacMorteDialogQuest\ means that this quest will appear under Character->Quest->JacMorteDialogQuest. It’s a good idea to group all of your follower’s quests together because while this quest will handle most of your follower’s dialog, you may want to create separate ones for different occasions. For example, Morte has a separate quest for when the player first meets him because he force greets the player. He also has different quests for various conversations he has with female followers. But the bulk of his dialog is contained in the JacMorteDialogQuest shown in image 2.
The Quest Name doesn't matter as the player will be unable to see it.
After you’ve closed and re-opened your quest, click on the scripts tab and create a new script. You can use the following as a template, adjusting to fit your mod as necessary.
If you don't want the follower to dismiss after 3 days, remove the line that RegisterForSingleUpdateGameTime()s in the Function FollowerWait().
Scriptname JacJasmineDialogQuestScript extends Quest
Actor Property PlayerREF Auto
ReferenceAlias Property FollowerAlias Auto
Faction Property DismissedFollowerFaction Auto
Faction Property CurrentHireling Auto
Message Property FollowerDismissMessage Auto
Message Property FollowerDismissMessageWedding Auto
Message Property FollowerDismissMessageCompanions Auto
Message Property FollowerDismissMessageCompanionsMale Auto
Message Property FollowerDismissMessageCompanionsFemale Auto
Message Property FollowerDismissMessageWait Auto
SetHirelingRehire Property HirelingRehireScript Auto
;Property to tell follower to say dismissal line
Int Property iFollowerDismiss Auto Conditional
Function SetFollower(ObjectReference FollowerRef)
actor FollowerActor = FollowerRef as Actor
FollowerActor.RemoveFromFaction(DismissedFollowerFaction)
If FollowerActor.GetRelationshipRank(PlayerREF) <3 && FollowerActor.GetRelationshipRank(PlayerREF) >= 0
FollowerActor.SetRelationshipRank(PlayerREF, 3)
EndIf
FollowerActor.SetPlayerTeammate()
;FollowerActor.SetActorValue("Morality", 0)
FollowerAlias.ForceRefTo(FollowerActor)
FollowerActor.EvaluatePackage()
EndFunction
Function FollowerWait()
actor FollowerActor = FollowerAlias.GetActorRef() as Actor
FollowerActor.SetActorValue("WaitingForPlayer", 1)
SetObjectiveDisplayed(10, abforce = true)
;follower will wait 3 days
FollowerAlias.RegisterForSingleUpdateGameTime(72)
EndFunction
Function FollowerFollow()
actor FollowerActor = FollowerAlias.GetActorRef() as Actor
FollowerActor.SetActorValue("WaitingForPlayer", 0)
SetObjectiveDisplayed(10, abdisplayed = false)
FollowerActor.EvaluatePackage()
EndFunction
Function DismissFollower(Int iMessage = 0, Int iSayLine = 1)
If FollowerAlias && FollowerAlias.GetActorReference().IsDead() == False
If iMessage == 0
FollowerDismissMessage.Show()
ElseIf iMessage == 1
FollowerDismissMessageWedding.Show()
ElseIf iMessage == 2
FollowerDismissMessageCompanions.Show()
ElseIf iMessage == 3
FollowerDismissMessageCompanionsMale.Show()
ElseIf iMessage == 4
FollowerDismissMessageCompanionsFemale.Show()
ElseIf iMessage == 5
FollowerDismissMessageWait.Show()
Else
;failsafe
FollowerDismissMessage.Show()
EndIf
actor DismissedFollowerActor = FollowerAlias.GetActorRef() as Actor
DismissedFollowerActor.StopCombatAlarm()
DismissedFollowerActor.AddToFaction(DismissedFollowerFaction)
DismissedFollowerActor.SetPlayerTeammate(false)
DismissedFollowerActor.RemoveFromFaction(CurrentHireling)
DismissedFollowerActor.SetActorValue("WaitingForPlayer", 0)
;hireling rehire function
HirelingRehireScript.DismissHireling(DismissedFollowerActor.GetActorBase())
If iSayLine == 1
iFollowerDismiss = 1
DismissedFollowerActor.EvaluatePackage()
;Wait for follower to say line
Utility.Wait(2)
EndIf
FollowerAlias.Clear()
iFollowerDismiss = 0
;don't set count to 0 if Companions have replaced follower
If iMessage == 2
;do nothing
EndIf
EndIf
EndFunction
Most of the quest properties should auto fill, but some, like the HirelingRehireScript, won't. You’ll want to edit the quest properties and auto-fill what you can and manually fill in those that won’t auto fill. HirelingRehireScript only has one option from the dropdown, and you should select that one. When you’re done, you should have something that looks like Figure 3. (Note: the follower alias will be set up later. Ignore that it's not there yet - as soon as we create our alias, you should go back and fill the property with our follower alias.)
Now it’s time to create a new alias for the follower (this is the Foll.owerAlias property I just mentioned). Click on the Alias tab and create a new reference alias. Set it up as shown in Figure 4. The packages must be in exactly that order or you will have issues.
Ignore the script name, and the alias name. Give the alias the name of your follower. The Specific Reference should be set to NONE, NOT TO THE ACTUAL NPC AS BELOW. If it is set to the specific ref, then your NPC will be following you from the start.
After your alias has been setup, create a new script and use the following as a template (a new script on the alias).
If you don't want the waiting dismissal part, remove all code between and including Event OnUpdateGameTime and EndEvent for OnUnload.
Scriptname JacJasmineDialogQuestAliasScript extends ReferenceAlias
Faction Property CurrentHireling Auto
Message Property FollowerDismissMessage Auto
Actor Property PlayerREF Auto
Event OnUpdateGameTime()
;kill the update if the follower isn't waiting anymore
If Self.GetActorRef().GetActorValue("WaitingforPlayer") == 1
; debug.trace(self + "Dismissing the follower because he is waiting and 3 days have passed.")
(GetOwningQuest() as JacJasmineDialogQuestScript).DismissFollower(0,0)
EndIf
EndEvent
Event OnUnload()
;if follower unloads while waiting for the player, wait three days then dismiss him.
If Self.GetActorReference().GetActorValue("WaitingforPlayer") == 1
(GetOwningQuest() as JacJasmineDialogQuestScript).FollowerWait()
EndIf
EndEvent
Event OnCombatStateChanged(Actor akTarget, int aeCombatState)
If (akTarget == PlayerREF)
; debug.trace(self + "Dismissing follower because he is now attacking the player")
(GetOwningQuest() as JacJasmineDialogQuestScript).DismissFollower(0, 0)
EndIf
EndEvent
Event OnDeath(Actor akKiller)
; debug.trace(self + "Clearing the follower because the player killed him.")
Self.GetActorRef().RemoveFromFaction(CurrentHireling)
Self.Clear()
EndEvent
As with the quest script, auto-fill every property possible and manually fill in those that are necessary (Figure 5).
The properties will not look the same as this picture, as the picture is before a change I made to optimize the script. You will have PlayerREF instead of the Dialog quest. That is perfectly fine, just fill the property (PlayerREF can autofill).
After everything is filled in, click OK and go to the quest objectives tab and set up an objective as shown in Figure 6. This is what tells the game that your follower is waiting and tells the follower script to dismiss the follower after three days of waiting. Replace Follower with the name of the alias you created earlier.
If you don't want the follower to be dismissed after 3 days, skip this step.
Now it’s time to create your follower’s functionality. To have them (re)join you on your adventures, create a new dialog branch & topic in the player dialog tab and use this fragment in the End fragment:
(GetOwningQuest() as JacJasmineDialogQuestScript).SetFollower(akSpeaker)
Add the condition GetInFaction DismissedFollowerFaction == 1 on Subject for this Dialogue.
(Figures 7 & 8). Be sure to change the property/variable names to match your mod's.
Now you'll begin to create other dialog branches for the other functionalities, and their responses. Each functionality is just a dialog branch with a prompt (player dialog), and response that matches, as well as an end fragment to actually execute the effect. We've already set up the functions to do all this stuff, now we just need to hook it up. Be sure to replace all variable/property names with the one that matches your mod.
To have the follower wait, the fragment is:
(GetOwningQuest() as JacJasmineDialogQuestScript).FollowerWait()
You will need the condition GetInFaction CurrentFollowerFaction == 1 on Subject.
For dismissal, it’s:
(GetOwningQuest() as JacJasmineDialogQuestScript).DismissFollower(0,0)
Be sure to have the dialogue condition GetInFaction CurrentFollowerFaction == 1 on Subject. for this dialogue as well.
For following after having them wait, it’s:
(GetOwningQuest() as JacJasmineDialogQuestScript).FollowerFollow()
Be sure to have GetActorValue WaitingForPlayer == 1 on Subject for this dialogue. You will also need the condition GetInFaction CurrentFollowerFaction == 1 on Subject.
To make your follower do something, like chop wood, attack a target, etc. it’s:
akspeaker.SetDoingFavor()
You will need the condition GetInFaction CurrentFollowerFaction == 1 on Subject.
To open their inventory, it’s:
akspeaker.OpenInventory()
You will need the condition GetInFaction CurrentFollowerFaction == 1 on Subject.
If you do not want your follower to have inventory access, do not add that line and have them say something to that effect.
//Edit: 8.29.16
Be sure to add your follower's Actor form - not the alias, but the Actor itself - to both PotentialFollowerFaction and DismissedFollowerFaction. You can do this by going to the Factions tab, right clicking in the list and choosing Add, then filtering for the aforementioned factions. Put them in PotentialFollowerFaction at the value of 1 and DismissedFollowerFaction at the value of 0 or 1. This means that they are in the faction where they have been "dismissed", and this will match the condition in your "Follow me, I need your help" dialogue, so that will properly show up.
And that’s it. You now have a custom follower that uses a custom framework. Check out Deck 16’s voiced follower tutorial if you want to add a custom voice to your follower.
13 comments
Starting 1 compile threads for 1 files...
Compiling "PR01PathicusController7"...
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\Location.psc(7,50): unknown type locationreftype
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\Location.psc(10,49): unknown type locationreftype
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\Location.psc(16,41): unknown type locationreftype
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\Actor.psc(27,49): unknown type globalvariable
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\Actor.psc(28,34): globalvariable is not a known user-defined type
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\Actor.psc(28,1): type mismatch on parameter 1 (did you forget a cast?)
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\ActorBase.psc(4,15): unknown type class
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\LeveledItem.psc(13,24): unknown type globalvariable
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\LeveledItem.psc(14,40): unknown type globalvariable
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\MagicEffect.psc(48,15): unknown type light
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\MagicEffect.psc(49,24): unknown type light
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\MagicEffect.psc(51,22): unknown type effectshader
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\MagicEffect.psc(52,35): unknown type effectshader
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\MagicEffect.psc(54,22): unknown type effectshader
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\MagicEffect.psc(55,39): unknown type effectshader
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\MagicEffect.psc(57,20): unknown type projectile
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\MagicEffect.psc(58,34): unknown type projectile
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\MagicEffect.psc(60,19): unknown type explosion
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\MagicEffect.psc(61,32): unknown type explosion
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\MagicEffect.psc(72,23): unknown type impactdataset
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\MagicEffect.psc(73,40): unknown type impactdataset
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\MagicEffect.psc(78,28): unknown type imagespacemodifier
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\MagicEffect.psc(79,45): unknown type imagespacemodifier
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\Race.psc(20,19): unknown type voicetype
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\Race.psc(23,52): unknown type voicetype
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\ActorBase.psc(55,24): unknown type class
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\ActorBase.psc(104,19): unknown type voicetype
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\ActorBase.psc(105,32): unknown type voicetype
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\Shout.psc(4,21): unknown type wordofpower
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\Shout.psc(8,46): unknown type wordofpower
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\Actor.psc(187,17): unknown type package
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\Ammo.psc(9,20): unknown type projectile
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\Weapon.psc(54,16): unknown type static
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\Weapon.psc(55,33): unknown type static
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\Actor.psc(307,45): unknown type associationtype
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\Actor.psc(471,28): unknown type idle
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\Actor.psc(474,38): unknown type idle
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\Actor.psc(760,29): unknown type package
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\Actor.psc(764,30): unknown type package
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\Actor.psc(768,27): unknown type package
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\Game.psc(176,41): unknown type wordofpower
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\Game.psc(251,57): unknown type imagespacemodifier
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\Game.psc(257,31): unknown type wordofpower
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\Game.psc(263,32): unknown type wordofpower
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\ObjectReference.psc(110,5): unknown type key
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\ObjectReference.psc(112,5): type mismatch on parameter 1 (did you forget a cast?)
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\ObjectReference.psc(112,29): cannot compare a none to a int (cast missing or types unrelated)
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\ObjectReference.psc(113,3): type mismatch on parameter 1 (did you forget a cast?)
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\ObjectReference.psc(245,15): unknown type scene
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\ObjectReference.psc(269,13): unknown type key
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\ObjectReference.psc(368,19): unknown type voicetype
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\ObjectReference.psc(374,20): unknown type worldspace
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\ObjectReference.psc(388,41): unknown type locationreftype
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\ObjectReference.psc(465,90): unknown type encounterzone
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\ObjectReference.psc(477,45): unknown type impactdataset
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\ObjectReference.psc(517,19): unknown type topic
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\ObjectReference.psc(665,67): unknown type projectile
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\ObjectReference.psc(822,24): unknown type referencealias
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\ObjectReference.psc(834,26): unknown type referencealias[]
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\Quest.psc(12,66): unknown type globalvariable
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\Quest.psc(13,12): globalvariable is not a known user-defined type
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\Quest.psc(18,34): globalvariable is not a known user-defined type
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\Quest.psc(18,40): cannot compare a none to a float (cast missing or types unrelated)
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\Quest.psc(18,40): cannot relatively compare variables to None
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\Quest.psc(18,90): globalvariable is not a known user-defined type
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\Quest.psc(18,96): cannot compare a none to a float (cast missing or types unrelated)
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\Quest.psc(18,96): cannot relatively compare variables to None
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\Quest.psc(135,58): unknown type globalvariable
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\temp\PR01PathicusController7.psc(7,24): unknown type referencealias
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\temp\PR01PathicusController7.psc(13,18): unknown type message
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\temp\PR01PathicusController7.psc(15,18): unknown type message
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\temp\PR01PathicusController7.psc(17,18): unknown type message
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\temp\PR01PathicusController7.psc(19,18): unknown type message
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\temp\PR01PathicusController7.psc(21,18): unknown type message
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\temp\PR01PathicusController7.psc(23,18): unknown type message
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\temp\PR01PathicusController7.psc(25,27): unknown type sethirelingrehire
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\temp\PR01PathicusController7.psc(27,24): unknown type globalvariable
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\temp\PR01PathicusController7.psc(47,19): referencealias is not a known user-defined type
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\temp\PR01PathicusController7.psc(51,23): globalvariable is not a known user-defined type
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\temp\PR01PathicusController7.psc(59,41): referencealias is not a known user-defined type
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\temp\PR01PathicusController7.psc(59,55): cannot cast a none to a actor, types are incompatible
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\temp\PR01PathicusController7.psc(71,41): referencealias is not a known user-defined type
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\temp\PR01PathicusController7.psc(71,55): cannot cast a none to a actor, types are incompatible
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\temp\PR01PathicusController7.psc(85,39): referencealias is not a known user-defined type
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\temp\PR01PathicusController7.psc(85,59): none is not a known user-defined type
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\temp\PR01PathicusController7.psc(85,68): cannot compare a none to a bool (cast missing or types unrelated)
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\temp\PR01PathicusController7.psc(89,38): message is not a known user-defined type
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\temp\PR01PathicusController7.psc(93,45): message is not a known user-defined type
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\temp\PR01PathicusController7.psc(97,48): message is not a known user-defined type
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\temp\PR01PathicusController7.psc(101,52): message is not a known user-defined type
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\temp\PR01PathicusController7.psc(105,54): message is not a known user-defined type
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\temp\PR01PathicusController7.psc(109,42): message is not a known user-defined type
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\temp\PR01PathicusController7.psc(113,37): message is not a known user-defined type
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\temp\PR01PathicusController7.psc(117,55): referencealias is not a known user-defined type
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\temp\PR01PathicusController7.psc(117,69): cannot cast a none to a actor, types are incompatible
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\temp\PR01PathicusController7.psc(129,28): globalvariable is not a known user-defined type
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\temp\PR01PathicusController7.psc(131,31): sethirelingrehire is not a known user-defined type
C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\Data\Scripts\Source\temp\PR01PathicusController7.psc(143,27): referencealias is not a known user-defined type
No output generated for PR01PathicusController7, compilation failed.
Batch compile of 1 files finished. 0 succeeded, 1 failed.
Failed on PR01PathicusController7
Thanks in advance.
Edit: Nvm, I found out what the problem was. I apparently forgot to fill in the properties after making the QuestAlias script. Whoops! c:
But every time I click OK, the creation kit will pop up a warning box for false errors and it will be crash
This is the error code:
The creation kit encountered a fatal error and has crashed.
Reason: Unspecified exception(0xC0000005).
A minidump has been written to'D:\steam\steamapps\common\Skyrim Special Edition\Creationkit.exe_20230612_092501.dmp'
Please note it may contain private information such as usernames.
I don't know how this happened, but it always does this
Sad:(
i can't see any figure (graphic) in this tutorial.
Is there somewhere an other source? A pdf for excample? OR
could the modceeper please update this tutorial with the figures, pleeeaaase?
Best whishes
Pran
I have a couple questions/issues about the follower I created.
1 - I'm trying to get her to sandbox around the player using Serana's DLC1NPCSandboxAroundPlayer600 package, I just removed her specific conditions and left in the basic ones (notwaiting, etc), but I can't get this to work... Do you have any ideas?
2 - Something that is driving me bonkers is that she won't use any of her "noticecorpse" dialogue while she is following me. When I dismiss her she will comment on them all on her way back home, but never while following. I've noticed other follower mods have been able to do this - for example, Anduniel from Anna NPCs will always comment on corpses, and even sometimes talk about animals and such "it was such a majestic beast", or "we can skin this for its hide and venison")
These two issues are driving me nuts, any help would be appreciated! I've asked everywhere but Skyrim modding has slowed down considerably in the last couple years, it seems :/
Thanks in advance for your time!