Jump to content

CK Source cannot be saved.


Recommended Posts

Hello everyone, I am currently learning how to create a mod.


and...English is not my native language.Perhaps some of the descriptions are not very accurate.


I encountered this issue when saving after rewriting the script.


As shown in the figure.



Here are my detailed steps:

1.Create a new string and generate scripts.

2.Complete the creation of scripts and rename them.

3.Edit scripts

4.Edit the source go dowm to the very bottom (SexLabFramework Property SexLab Auto)

5.Save (After clicking on save, an error was reported)

6.Error saving


It seems that when creating a regular script, it can be saved.

However, errors may occur when compiling and saving laboratory scripts.

and I have checked the pre ESM and it is in an active state.


Can someone tell me how to solve this error report?

plz

I would be very grateful




The following are some error prompts:


------------------

Starting 1 compile threads for 1 files...

Compiling "binbotalk__01AA"...

D:\Program Files\SkyrimSE\Data\Source\Scripts\JsonUtil.psc(49,8): variable StringUtil is undefined

D:\Program Files\SkyrimSE\Data\Source\Scripts\JsonUtil.psc(49,19): none is not a known user-defined type

D:\Program Files\SkyrimSE\Data\Source\Scripts\JsonUtil.psc(49,43): cannot compare a none to a int (cast missing or types unrelated)

D:\Program Files\SkyrimSE\Data\Source\Scripts\sslActorLibrary.psc(295,25): GetWornForm is not a function or does not exist

D:\Program Files\SkyrimSE\Data\Source\Scripts\sslActorLibrary.psc(297,11): UnequipItemEX is not a function or does not exist

D:\Program Files\SkyrimSE\Data\Source\Scripts\sslActorLibrary.psc(305,17): CreateFormArray is not a function or does not exist

D:\Program Files\SkyrimSE\Data\Source\Scripts\sslActorLibrary.psc(305,17): cannot call the member function CreateFormArray alone or on a type, must call it on a variable

D:\Program Files\SkyrimSE\Data\Source\Scripts\PapyrusUtil.psc(140,25): CreateBoolArray is not a function or does not exist

D:\Program Files\SkyrimSE\Data\Source\Scripts\PapyrusUtil.psc(140,25): cannot call the member function CreateBoolArray alone or on a type, must call it on a variable

D:\Program Files\SkyrimSE\Data\Source\Scripts\PapyrusUtil.psc(158,16): CreateBoolArray is not a function or does not exist

D:\Program Files\SkyrimSE\Data\Source\Scripts\sslActorLibrary.psc(382,13): EquipItemEx is not a function or does not exist

D:\Program Files\SkyrimSE\Data\Source\Scripts\sslBaseObject.psc(168,17): ResizeStringArray is not a function or does not exist

D:\Program Files\SkyrimSE\Data\Source\Scripts\sslBaseObject.psc(168,17): cannot call the member function ResizeStringArray alone or on a type, must call it on a variable

D:\Program Files\SkyrimSE\Data\Source\Scripts\sslBaseAnimation.psc(83,26): CreateStringArray is not a function or does not exist

D:\Program Files\SkyrimSE\Data\Source\Scripts\sslBaseAnimation.psc(83,26): cannot call the member function CreateStringArray alone or on a type, must call it on a variable

D:\Program Files\SkyrimSE\Data\Source\Scripts\sslUtility.psc(74,24): CreateBoolArray is not a function or does not exist

D:\Program Files\SkyrimSE\Data\Source\Scripts\sslUtility.psc(74,24): cannot call the member function CreateBoolArray alone or on a type, must call it on a variable

D:\Program Files\SkyrimSE\Data\Source\Scripts\sslUtility.psc(105,17): CreateBoolArray is not a function or does not exist

D:\Program Files\SkyrimSE\Data\Source\Scripts\sslBaseExpression.psc(94,3): variable MfgConsoleFunc is undefined

D:\Program Files\SkyrimSE\Data\Source\Scripts\sslBaseExpression.psc(94,18): none is not a known user-defined type

D:\Program Files\SkyrimSE\Data\Source\Scripts\sslBaseExpression.psc(99,12): SetExpressionPhoneme is not a function or does not exist

D:\Program Files\SkyrimSE\Data\Source\Scripts\sslBaseVoice.psc(86,2): variable MfgConsoleFunc is undefined

D:\Program Files\SkyrimSE\Data\Source\Scripts\sslBaseVoice.psc(86,17): none is not a known user-defined type

D:\Program Files\SkyrimSE\Data\Source\Scripts\sslAnimationSlots.psc(164,24): CreateBoolArray is not a function or does not exist

D:\Program Files\SkyrimSE\Data\Source\Scripts\sslAnimationSlots.psc(164,24): cannot call the member function CreateBoolArray alone or on a type, must call it on a variable

D:\Program Files\SkyrimSE\Data\Source\Scripts\sslAnimationSlots.psc(232,24): CreateBoolArray is not a function or does not exist


Link to comment
Share on other sites

If you look at your compiler error you will see that there are several "InsertNameHere is not a function or does not exist".

This basically means that when the compiler reached out to the PSC file listed on that same line, it could not find the function. Now the function most likely does exist or else the mod could not originally be created. You will need to locate the source (PSC) files (most likely from the mod or required mods) and ensure that they are in the singular location that your Creation Kit's compiler is set to read. SSE default: Data > Source > Scripts

 

Depending upon the mod in question, the source files may be in a separate download, they may be in a different folder, they may be packed in a BSA, or they may not exist. In the event of not existing, the PEX can be decompiled using Champollion into a readable and re-usable PSC file.

Link to comment
Share on other sites

When you define a 'SexLabFrameWork' property in your script, It needs to locate Data\Source\Scripts\SexLabFrameWork.psc. And while it is not actually trying to complie it, it verifies that it is compile-able. Which meens it needs to verify that any scripts it depends upon are also compile-able.

 

For example, SexLabFrameWork.psc defines a property:

 

sslActorLibrary property ActorLib auto hidden
Which means that sslActorLibrary.psc must exist and be compile-able. And it apparently exists, but in line 295, it calls a function 'GetWornForm' on an Actor class object. And looking into MY Actor.psc, it has:
; SKSE64 additions built 2021-11-10 05:57:47.902000 UTC
; returns the form for the item worn at the specified slotMask
; use Armor.GetMaskForSlot() to generate appropriate slotMask
Form Function GetWornForm(int slotMask) native
Which tells me that GetWornForm is an SKSE function.
Which also tells me that you got your SKSE scripts in a wrong place. For whatever reason, SKSE bundles its source in Data\scripts\source rather than Data\source\scripts.
What you need to do:
Locate your SKSE64 download file.
Extract it to some temporary folder.
From the extracted files, copy everything under Data\scripts\source into your SSE\Data\Source\scripts. Let it overwrite existing files.
Link to comment
Share on other sites

  • Recently Browsing   0 members

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