Jump to content

Request help with first (simple) script.


oldrayzor

Recommended Posts

Posted
2 hours ago, CPU said:

Grab the SKSE files, get the scripts/sources/ folder, inside you have all valid functions for outfits and formlists. 

I found the formlist.psc which contains the GetSize() and GetAT() functions. Did not find an outfit psc as such. Where should I look, there are thousands of files?

 

Correction: did find it but it contains only this line "Scriptname Outfit extends Form Hidden"

Posted
Scriptname Outfit extends Form Hidden
	
; SKSE additions built 2015-05-24 00:46:48.937000 UTC
int Function GetNumParts() native
Form Function GetNthPart(int n) native
	

 

Posted
3 minutes ago, Tyrant99 said:

That should compile fine if you have the SKSE source files.

I confirm it compiles just fine.

 

So probably you are missing the SKSE source files.

 

Get skse again, 7zip version: skse.silverlock.org

 

Unzip it, drag and drop the Scripts folder inside the Skyrim/Data/ directory.

 

Then try to recompile

Posted

There's 60 files in the SKSE source folder, you just need to drop them in with the other source files in your Skyrim install directory.

 

Data/Scripts/Source

Posted
1 hour ago, CPU said:

Scriptname Outfit extends Form Hidden ; SKSE additions built 2015-05-24 00:46:48.937000 UTC int Function GetNumParts() native Form Function GetNthPart(int n) native

I pasted your text into outfit.psc as you provided it and took the precaution of rebooting both Mod Organizer and Creation kit. Ran the compiler again and received the same error:

 

Spoiler

BTW - had to change the name of the script because I didn't save it properly (somehow?) and CK filter wouldn't find it but it also wouldn't allow me to create anew using the same name. I don't know...

 

Starting 1 compile threads for 1 files...
Compiling "DebutOutfitsWivesScript"...
C:\Steam\steamapps\common\Skyrim\Data\Scripts\Source\temp\DebutOutfitsWivesScript.psc(20,35): GetNumParts is not a function or does not exist
C:\Steam\steamapps\common\Skyrim\Data\Scripts\Source\temp\DebutOutfitsWivesScript.psc(20,12): type mismatch while assigning to a int (cast missing or types unrelated)
C:\Steam\steamapps\common\Skyrim\Data\Scripts\Source\temp\DebutOutfitsWivesScript.psc(24,37): GetNthPart is not a function or does not exist
C:\Steam\steamapps\common\Skyrim\Data\Scripts\Source\temp\DebutOutfitsWivesScript.psc(24,58): cannot cast a none to a armor, types are incompatible
No output generated for DebutOutfitsWivesScript, compilation failed.

Batch compile of 1 files finished. 0 succeeded, 1 failed.
Failed on DebutOutfitsWivesScript

 

Posted
3 minutes ago, oldrayzor said:

I pasted your text into outfit.psc as you provided it and took the precaution of rebooting both Mod Organizer and Creation kit. Ran the compiler again and received the same error:

 

  Hide contents

BTW - had to change the name of the script because I didn't save it properly (somehow?) and CK filter wouldn't find it but it also wouldn't allow me to create anew using the same name. I don't know...

 

Starting 1 compile threads for 1 files...
Compiling "DebutOutfitsWivesScript"...
C:\Steam\steamapps\common\Skyrim\Data\Scripts\Source\temp\DebutOutfitsWivesScript.psc(20,35): GetNumParts is not a function or does not exist
C:\Steam\steamapps\common\Skyrim\Data\Scripts\Source\temp\DebutOutfitsWivesScript.psc(20,12): type mismatch while assigning to a int (cast missing or types unrelated)
C:\Steam\steamapps\common\Skyrim\Data\Scripts\Source\temp\DebutOutfitsWivesScript.psc(24,37): GetNthPart is not a function or does not exist
C:\Steam\steamapps\common\Skyrim\Data\Scripts\Source\temp\DebutOutfitsWivesScript.psc(24,58): cannot cast a none to a armor, types are incompatible
No output generated for DebutOutfitsWivesScript, compilation failed.

Batch compile of 1 files finished. 0 succeeded, 1 failed.
Failed on DebutOutfitsWivesScript

 

It is not enough to get the PSC files, you need also the PEX files.

 

So, again, re-download SKSE.

Unzip it.

There will be a Scripts folder inside.

Go to your Skyrim installation directory, inside there is a Data directory.

Put the Scrips folder inside Data folder. Overwrite.

 

No need to restart MO, but CK yes.

Posted
2 hours ago, Tyrant99 said:

Forgive me, I am new to this so I got confused between data\SKSE\ folder and data\script\source folder and I may have *#$@ it all up. I just dumped the scripts.7z into the SKSE folder (which I shouldn't have done) thinking, due to a recent reinstall, I had forgotten to unpack. Now I have 10,000 files in SKSE. Shit. There had been only 1 prior.  okay. I am getting the impression I need to reinstall SKSE. Shoot.

Posted

For compiling scripts with functions from other scripts you always need the source files -
so the psc-files in the folder scripts\sources.
It is safer to embed the scripts in your script with import - but it is not absolutely necessary (only the script itself becomes faster, in your case rather irrelevant)

Posted
48 minutes ago, oldrayzor said:

Forgive me, I am new to this so I got confused between data\SKSE\ folder and data\script\source folder and I may have *#$@ it all up. I just dumped the scripts.7z into the SKSE folder (which I shouldn't have done) thinking, due to a recent reinstall, I had forgotten to unpack. Now I have 10,000 files in SKSE. Shit. There had been only 1 prior.  okay. I am getting the impression I need to reinstall SKSE. Shoot.

Here's an excerpt from the SKSE readme.txt install section:

 

[ Installation ]

1. Copy the .dll and .exe files to your Skyrim directory. This is usually in your Program Files folder under Steam\SteamApps\common\skyrim\. If you see files named TESV and SkyrimLauncher, this is the correct folder. Do not copy these files to the Data folder as with a normal mod. The "src" folder is only useful for programmers, most users can ignore it.

2. Copy the .pex files in Data\Scripts\ into the Data\Scripts\ folder of your installation. The .pex files are needed by all users of SKSE. 

3. If you create mods, copy the .psc files in Data\Scripts\Source\ into the Data\Scripts\Source\ folder of your installation. The .psc files are only needed if you have the CreationKit installed and intend to create or compile Papyrus scripts.

4. Steam will automatically load SKSE if found. If you want more control over the launch process, you can keep using skse_loader.exe.

 

Line 3 is what we were trying to tell you about, if you want to compile any script that needs other scripts, you need the source files. You just drop them into the regular place where you have all your source files in your installation... You need the SKSE source files, there's only 60 of them, and drop them into your source folder per the above. The .pex files are the compiled scripts needed for SKSE functionality in game, the .psc are the uncompiled source files needed for compiling scripts in CK.

Posted
2 hours ago, Tyrant99 said:

Line 3 is what we were trying to tell you about

Yes, understood. Sorry took some time to clean up my mess and reinstall. ?Good news is it took care of the functions issue, but it appears not to find the TESV_Papyrus_Flags.flg now.

 

Starting 1 compile threads for 1 files...
Compiling "DebutOutfitsWivesScript"...
<unknown>(0,0): Unable to find flags file: TESV_Papyrus_Flags.flg
C:\Steam\steamapps\common\Skyrim\Data\Scripts\Source\temp\DebutOutfitsWivesScript.psc(1,0): Unknown user flag Hidden
No output generated for DebutOutfitsWivesScript, compilation failed.

Batch compile of 1 files finished. 0 succeeded, 1 failed.
Failed on DebutOutfitsWivesScript

 

2 hours ago, Andy14 said:

 

I can never get rid of quote boxes inserted by mistake ?

 

Posted
Just now, oldrayzor said:

Yes, understood. Sorry took some time to clean up my mess and reinstall. ?Good news is it took care of the functions issue, but it appears not to find the TESV_Papyrus_Flags.flg now.

 

Starting 1 compile threads for 1 files...
Compiling "DebutOutfitsWivesScript"...
(0,0): Unable to find flags file: TESV_Papyrus_Flags.flg
C:\Steam\steamapps\common\Skyrim\Data\Scripts\Source\temp\DebutOutfitsWivesScript.psc(1,0): Unknown user flag Hidden
No output generated for DebutOutfitsWivesScript, compilation failed.

Batch compile of 1 files finished. 0 succeeded, 1 failed.
Failed on DebutOutfitsWivesScript

 

 

I can never get rid of quote boxes inserted by mistake ?

 

OK, you need to unzip the scripts.rar file.

But after you do it, you need to reinstall the scripts and sources from SKSE

Posted
1 hour ago, CPU said:

But after you do it, you need to reinstall the scripts and sources from SKSE

Okay. So I'm unpacking the Scripts.rar archive into the data\scripts directory and then taking the SKSE scripts (along with source files) and overwriting the 60 or so files of the same name in the data\scripts folder.  Will do.

Posted

???? Ha ha! At last!!!  Success!!!! Not only did it compile but early test worked in game!

 

@Tyrant99  @Andy14 @CPU

 

Thank you so much for the generosity of your time and knowledge. I would never have the found the way. Deeply appreciative and can't tell you how much this means to me. If ever you need a know nothing (can't image why) please, please ask. I will try out both your load game and embedded function recommendations. Thanks you! Thank you!

Posted
11 hours ago, CPU said:

Better if you put your code in a function (function setoutfits(), for example) and call it inside the OnInit.

That works fine. Pretty simple:

 

Spoiler

FormList Property myNPCList  Auto  
FormList Property myOutfitList  Auto  
Outfit Property DebutOutfit Auto
Outfit Property NullOutfit Auto
Armor Property MyArmorRef Auto

 

Event OnInit()

    SetWivesDebutOutfits()

EndEvent

 

Function SetWivesDebutOutfits()

    Int NPCCnt = myNPCList.GetSize()

    while NPCCnt
        NPCCnt -=1
        ACTOR akActorRef = myNPCList.GetAt(NPCCnt) as ACTOR
        akActorRef.SetOutfit (NullOutfit)
        DebutOutfit = myOutfitList.GetAt(NPCCnt) as Outfit
        akActorRef.SetOutfit (DebutOutfit)

        Int ArmorCnt = DebutOutfit.GetNumParts()

        while ArmorCnt
            ArmorCnt -=1
            myArmorRef = debutOutfit.GetNthPart(ArmorCnt) as Armor
            akActorRef.additem (myArmorRef,1,TRUE)
            akActorRef.equipItem (myArmorRef,0,TRUE)

        EndWhile

    EndWhile

EndFunction

 

11 hours ago, CPU said:

Then add a ReferenceAlias to the quest, set it to the player, add a script to it and add that inside:

This I don't understand at all. Sorry. Is this a Reference Alias in the Quest:

 

Spoiler

I don't see how to set the reference to player. I assume the script would look something like this?QuestRefAlias.thumb.jpg.7c4265c388eea295ae1a94e523d84b1b.jpg

 

Sorry to be a pest. Alas, It actually doesn't appear to load in the game. I was mistaken. No change in default outfit nor any items in inventory. Have I setup the quest incorrectly?

 

Spoiler

Questdata.thumb.jpg.52afa44c6e2c49182ba36f70177f50ed.jpg

 

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

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