Allannaa Posted April 18, 2016 Posted April 18, 2016 I've just tried to add a script to the CK, and I'm getting a message that confuses me. I clicked "New script" I typed in AllaScript01 (yes, I know, I've got no imagination) for the name In the "Extends" window, "Quest" is already showing, which is what I wanted I clicked OK -- and this is the message I get "The extends script does not exist, please pick one that does" Which, of course, means I can't proceed from here. Now as anyone who knows me knows, scripting confuses the heck out of me anyway (okay, it scares me. Go ahead. Laugh.) How the heck can the extends script NOT exist, when everything in the damn game requires "This extends That" to exist in the first place?! So what have I done wrong here? Or what's messed up with the CK? Thanks!
Guest Posted April 18, 2016 Posted April 18, 2016 Decompress the file called Data/Scripts.rar and put is in the scripts folder. Then grab the 7zip file of SKSE, expand it, and replace all files.
Allannaa Posted April 18, 2016 Author Posted April 18, 2016 Decompress the file called Data/Scripts.rar and put is in the scripts folder. Then grab the 7zip file of SKSE, expand it, and replace all files. CPU -- Thanks for the quick answer but .... Which would be where? I don't see it. ** Edit -- As in, I searched my entire computer for *scripts.rar* and *script.rar* both and nothing.
Guest Posted April 18, 2016 Posted April 18, 2016 CPU -- Thanks for the quick answer but .... Which would be where? I don't see it. ** Edit -- As in, I searched my entire computer for *scripts.rar* and *script.rar* both and nothing. The file is in the Skyrim/Data/ folder. An update from Steam last year removed the uncompressed scripts (and TESV_Flags) and replaced them with this archive. If missing: Option 1) Verify data cache from Steam. Option 2) Just install SKSE files, usually they are enough for the basic objects.
Allannaa Posted April 18, 2016 Author Posted April 18, 2016 Yikes. Okay, I'll do Option One.... See you in a zillion years when my slow internet connection finishes the job.
Allannaa Posted April 18, 2016 Author Posted April 18, 2016 All right, I've re-acquired that RAR file, opened it, put it in the Data folder. The CK let me write the script, though it wouldn't compile. I saved it anyway, then saved the test plug-in. Then I closed the CK -- but it didn't close normally; it gave me a Windows "Program stopped working" pop up. I told it to close anyway, which it did. I re-opened the CK so that I could edit the script -- Fill in the properties, that is, so the little + sign changes to the little pencil sign. Now the CK is telling me "Scripts: Cannot open store for class "QF__05005901", missing file? BUT that file is right where it's supposed to be -- C> ProgramFilesx86> Steam.... etc, Data>Scripts>Source So NOW what have I done wrong? (I'm about ready to go cry in a corner.)
Guest Posted April 18, 2016 Posted April 18, 2016 ...snip... Do not cry. And if you really want to, then I can provide a shoulder. Can you copy/paste the errors in compiling the script?
Allannaa Posted April 18, 2016 Author Posted April 18, 2016 CPU, here is what I get when I clicked Build > Compile on the script in the CK. Starting 1 compile threads for 1 files...Compiling "AllaFollowerScript"...C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\AllaFollowerScript.psc(28,1): variable pPlayerFollowerCount is undefinedC:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\AllaFollowerScript.psc(28,22): none is not a known user-defined typeC:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\AllaFollowerScript.psc(92,3): variable pPlayerFollowerCount is undefinedC:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\AllaFollowerScript.psc(92,24): none is not a known user-defined typeNo output generated for AllaFollowerScript, compilation failed. Batch compile of 1 files finished. 0 succeeded, 1 failed.Failed on AllaFollowerScript Maybe I've done something wrong with the script itself? (Although all I actually did was copy and make a few change to the vanilla script, so far. Since, you know, the CK isn't letting me have my way.) But here's the script, so far. ScriptName AllaFollowerScript extends Quest Conditional ReferenceAlias Property pFollowerAlias Auto Faction Property pDismissedFollower Auto Faction Property pCurrentHireling Auto Message Property FollowerDismissMessage Auto Message Property FollowerDismissMessageWedding Auto Message Property FollowerDismissMessageWait Auto SetHirelingRehire Property HirelingRehireScript Auto ;Property to tell follower to say dismissal line Int Property iFollowerDismiss Auto Conditional ; PATCH 1.9: 77615: remove unplayable hunting bow when follower is dismissed Weapon Property FollowerHuntingBow Auto Ammo Property FollowerIronArrow Auto Function SetFollower(ObjectReference FollowerRef) actor FollowerActor = FollowerRef as Actor FollowerActor.RemoveFromFaction(pDismissedFollower) If FollowerActor.GetRelationshipRank(Game.GetPlayer()) < 3 && FollowerActor.GetRelationshipRank(Game.GetPlayer()) >= 0 FollowerActor.SetRelationshipRank(Game.GetPlayer(), 3) EndIf FollowerActor.SetPlayerTeammate() ;FollowerActor.SetAV("Morality", 0) pFollowerAlias.ForceRefTo(FollowerActor) pPlayerFollowerCount.SetValue(0) EndFunction Function FollowerWait() actor FollowerActor = pFollowerAlias.GetActorRef() as Actor FollowerActor.SetAv("WaitingForPlayer", 1) ;SetObjectiveDisplayed(10, abforce = true) ;follower will wait 30 days pFollowerAlias.RegisterForUpdateGameTime(720) EndFunction Function FollowerFollow() actor FollowerActor = pFollowerAlias.GetActorRef() as Actor FollowerActor.SetAv("WaitingForPlayer", 0) SetObjectiveDisplayed(10, abdisplayed = false) EndFunction Function DismissFollower(Int iMessage = 0, Int iSayLine = 1) If pFollowerAlias && pFollowerAlias.GetActorRef().IsDead() == False If iMessage == 0 FollowerDismissMessage.Show() ElseIf iMessage == 1 FollowerDismissMessageWedding.Show() ElseIf iMessage == 5 FollowerDismissMessageWait.Show() Else ;failsafe FollowerDismissMessage.Show() EndIf actor DismissedFollowerActor = pFollowerAlias.GetActorRef() as Actor DismissedFollowerActor.StopCombatAlarm() DismissedFollowerActor.AddToFaction(pDismissedFollower) DismissedFollowerActor.SetPlayerTeammate(false) DismissedFollowerActor.RemoveFromFaction(pCurrentHireling) DismissedFollowerActor.SetAV("WaitingForPlayer", 0) ; Remove unplayable hunting bow when follower is dismissed DismissedFollowerActor.RemoveItem(FollowerHuntingBow, 999, true) DismissedFollowerActor.RemoveItem(FollowerIronArrow, 999, true) ; END fix ;hireling rehire function HirelingRehireScript.DismissHireling(DismissedFollowerActor.GetActorBase()) If iSayLine == 1 iFollowerDismiss = 1 DismissedFollowerActor.EvaluatePackage() ;Wait for follower to say line Utility.Wait(2) EndIf pFollowerAlias.Clear() iFollowerDismiss = 0 ;don't set count to 0 if Companions have replaced follower If iMessage == 2 ;do nothing Else pPlayerFollowerCount.SetValue(0) EndIf EndIf EndFunction
WraithSlayer Posted April 18, 2016 Posted April 18, 2016 You're referencing a pPlayerFollowerCount variable (a Global, by the looks of it) but this variable hasn't been declared anywhere in the script. In the script properties window, add a new Global property of the name pPlayerFollowerCount, and link it to the global variable you want to use. (which I assume is PlayerFollowerCount)
Allannaa Posted April 18, 2016 Author Posted April 18, 2016 You're referencing a pPlayerFollowerCount variable (a Global, by the looks of it) but this variable hasn't been declared anywhere in the script. In the script properties window, add a new Global property of the name pPlayerFollowerCount, and link it to the global variable you want to use. It won't let me. I click Add Property, and the usual window pops up, but no matter what I select, it doesn't show in the properties window, and it ALSO doesn't transfer into the script. To be honest, all I really want to do is make the "Player Follower Count" re-set to 0 once Kedris is acquired as a follower. I do NOT want to make "unlimited" or "multiple" followers or anything like that -- All I want to do is allow for Kedris and one other follower (like the forced Serana follower.)
MorePrinniesDood Posted April 18, 2016 Posted April 18, 2016 PlayerFollowerCount is a global variable, so it needs to be passed to the script as a property add GlobalVariable Property pPlayerFollowerCount auto to the properties declared at the start of the script.
Allannaa Posted April 18, 2016 Author Posted April 18, 2016 PlayerFollowerCount is a global variable, so it needs to be passed to the script as a property add GlobalVariable Property pPlayerFollowerCount auto to the properties declared at the start of the script. See above, Prinnie -- I tried. I think I really am going to go cry in a corner.
WraithSlayer Posted April 18, 2016 Posted April 18, 2016 You're referencing a pPlayerFollowerCount variable (a Global, by the looks of it) but this variable hasn't been declared anywhere in the script. In the script properties window, add a new Global property of the name pPlayerFollowerCount, and link it to the global variable you want to use. It won't let me. I click Add Property, and the usual window pops up, but no matter what I select, it doesn't show in the properties window, and it ALSO doesn't transfer into the script. Right, you're getting the compile error when you try to add a property, right? This is because your script has errors. Find the two lines that use pPlayerFollowerCount and put a ; in front of them to comment them out. Now compile the script, if it does so successfully then go to the properties window and see if pPlayerFollowerCount is there yet. (it may have been added even though you got the error). If it's not, then add it and link it, and if it is, just link it. Now you can go back to the script and uncomment the 2 lines, and compile the script again.
Allannaa Posted April 18, 2016 Author Posted April 18, 2016 You're referencing a pPlayerFollowerCount variable (a Global, by the looks of it) but this variable hasn't been declared anywhere in the script. In the script properties window, add a new Global property of the name pPlayerFollowerCount, and link it to the global variable you want to use. It won't let me. I click Add Property, and the usual window pops up, but no matter what I select, it doesn't show in the properties window, and it ALSO doesn't transfer into the script. Right, you're getting the compile error when you try to add a property, right? This is because your script has errors. Find the two lines that use pPlayerFollowerCount and put a ; in front of them to comment them out. Now compile the script, if it does so successfully then go to the properties window and see if pPlayerFollowerCount is there yet. (it may have been added even though you got the error). If it's not, then add it and link it, and if it is, just link it. Now you can go back to the script and uncomment the 2 lines, and compile the script again. Oh, I know the script has errors -- but I can't add anything from the Properties window anyway. Which means, I need to type the property in manually, perhaps? Or what?
WraithSlayer Posted April 18, 2016 Posted April 18, 2016 Oh, I know the script has errors -- but I can't add anything from the Properties window anyway. Which means, I need to type the property in manually, perhaps? Or what? Either type it manually, sure, or temporarily fix the errors by commenting out the troublesome lines like I said, so you can use the properties window.
Allannaa Posted April 18, 2016 Author Posted April 18, 2016 Okay, here's the corrected script, which is now compiling. HOWEVER, I'm still getting that "Scripts: Cannot open store for class "QF__05005901", missing file?" error when I click on the "AllaFollowerQuest" entry in the Object Window, to work on it. And I'm sorry I'm so slow at this -- And I GREATLY appreciate everyone's patience in helping me! Corrected (and compiled) script: Scriptname AllaFollowerScript extends Quest Conditional GlobalVariable Property pPlayerFollowerCount Auto ReferenceAlias Property pFollowerAlias Auto Faction Property pCurrentHireling Auto Faction Property pDismissedFollower Auto Message Property FollowerDismissMessage Auto Message Property FollowerDismissMessageWait Auto Message Property FollowerDismissMessageWedding Auto SetHirelingRehire Property HirelingRehireScript Auto ;Property to tell follower to say dismissal line Int Property iFollowerDismiss Auto Conditional ;Remove unplayable hunting bow when follower is dismissed Weapon Property FollowerHuntingBow Auto Ammo Property FollowerIronArrow Auto Function SetFollower(ObjectReference FollowerRef) actor FollowerActor = FollowerRef as Actor FollowerActor.RemoveFromFaction(pDismissedFollower) If FollowerActor.GetRelationshipRank(Game.GetPlayer()) < 3 && FollowerActor.GetRelationshipRank(Game.GetPlayer()) >= 0 FollowerActor.SetRelationshipRank(Game.GetPlayer(), 3) EndIf FollowerActor.SetPlayerTeammate() ;FollowerActor.SetAV("Morality", 0) pFollowerAlias.ForceRefTo(FollowerActor) pPlayerFollowerCount.SetValue(0) EndFunction Function FollowerWait() actor FollowerActor = pFollowerAlias.GetActorRef() as Actor FollowerActor.SetAv("WaitingForPlayer", 1) ;SetObjectiveDisplayed(10, abforce = true) ;follower will wait 30 days pFollowerAlias.RegisterForUpdateGameTime(720) EndFunction Function FollowerFollow() actor FollowerActor = pFollowerAlias.GetActorRef() as Actor FollowerActor.SetAv("WaitingForPlayer", 0) SetObjectiveDisplayed(10, abdisplayed = false) EndFunction Function DismissFollower(Int iMessage = 0, Int iSayLine = 1) If pFollowerAlias && pFollowerAlias.GetActorRef().IsDead() == False If iMessage == 0 FollowerDismissMessage.Show() ElseIf iMessage == 1 FollowerDismissMessageWedding.Show() ElseIf iMessage == 5 FollowerDismissMessageWait.Show() Else ;failsafe FollowerDismissMessage.Show() EndIf actor DismissedFollowerActor = pFollowerAlias.GetActorRef() as Actor DismissedFollowerActor.StopCombatAlarm() DismissedFollowerActor.AddToFaction(pDismissedFollower) DismissedFollowerActor.SetPlayerTeammate(false) DismissedFollowerActor.RemoveFromFaction(pCurrentHireling) DismissedFollowerActor.SetAV("WaitingForPlayer", 0) ; Remove unplayable hunting bow when follower is dismissed DismissedFollowerActor.RemoveItem(FollowerHuntingBow, 999, true) DismissedFollowerActor.RemoveItem(FollowerIronArrow, 999, true) ; END Fix ;hireling rehire function HirelingRehireScript.DismissHireling(DismissedFollowerActor.GetActorBase()) If iSayLine == 1 iFollowerDismiss = 1 DismissedFollowerActor.EvaluatePackage() ;Wait for follower to say line Utility.Wait(2) EndIf pFollowerAlias.Clear() iFollowerDismiss = 0 ;don't set count to 0 if Companions have replaced follower If iMessage == 2 ;do nothing Else pPlayerFollowerCount.SetValue(0) EndIf EndIf EndFunction
Slammer64 Posted April 18, 2016 Posted April 18, 2016 From what I see, you're missing the source file for the Quest Fragment QF__05005901, now I didn't check to see if that's a native quest or not, but if it is, it's inside a BSA where the CK can't read it and if not, you need to track down where it does belong.
Allannaa Posted April 18, 2016 Author Posted April 18, 2016 From what I see, you're missing the source file for the Quest Fragment QF__05005901, now I didn't check to see if that's a native quest or not, but if it is, it's inside a BSA where the CK can't read it and if not, you need to track down where it does belong. I've tried. A search of my C drive lists it only in C>.... Steam > Skyrim > Data > Scripts >Source
WraithSlayer Posted April 18, 2016 Posted April 18, 2016 Okay, here's the corrected script, which is now compiling. HOWEVER, I'm still getting that "Scripts: Cannot open store for class "QF__05005901", missing file?" error when I click on the "AllaFollowerQuest" entry in the Object Window, to work on it. Your AllaFollowerQuest has a reference to the script QF__05005901, but you're either missing the source file, or the compiled version of it. In the case of the latter, you can try to compile it and see if that removes the error.
Recommended Posts
Archived
This topic is now archived and is closed to further replies.