Jump to content

Can't compile scripts with SL 1.30


Recommended Posts

Since upgrading to SexLab 1.30, trying to compile any scripts that use sexlab at all, the compiling fails with the following errors:

D:\Games\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslThreadModel.psc(173,1): the parameter defaults of function make in state unlocked on script sslthreadmodel does not match the empty state

D:\Games\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslThreadController.psc(490,0): the parameter defaults of function centeroncoords in the empty state on script sslthreadcontroller do not match the parent script sslthreadmodel

Clearly others haven't had problems compiling since mods have been updated since the update. So I've tried removing all sexlab related scripts and reinstalling everything, which didn't help. Also compiling the same scripts with 1.24 installed works fine.

 

Currently I'm at a loss what to do, any ideas?

Link to comment

Since upgrading to SexLab 1.30, trying to compile any scripts that use sexlab at all, the compiling fails with the following errors:

D:\Games\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslThreadModel.psc(173,1): the parameter defaults of function make in state unlocked on script sslthreadmodel does not match the empty state

D:\Games\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslThreadController.psc(490,0): the parameter defaults of function centeroncoords in the empty state on script sslthreadcontroller do not match the parent script sslthreadmodel

Clearly others haven't had problems compiling since mods have been updated since the update. So I've tried removing all sexlab related scripts and reinstalling everything, which didn't help. Also compiling the same scripts with 1.24 installed works fine.

 

Currently I'm at a loss what to do, any ideas?

Reinstall skyui SDK and SKSE, this solved my compiling problems yesterday when i made some changes and compiled sexlab again. For some reason after reinstalling the above mentioned fix it for me.

Hope it's of help :)

Link to comment

Check your sslThreadModel.psc script, there should be two lines taht start with "sslThreadModel function Make("

 

they should look like this:

 

Line 172:

state Unlocked
	sslThreadModel function Make(float timeoutIn = 30.0)
		Initialize()
		GoToState("Making")
		RegisterForSingleUpdate(timeoutIn)
		return self
	endFunction
endState
Line 933:

sslThreadModel function Make(float timeoutIn = 30.0)
	_Log("Cannot enter make on a locked thread", "Make")
	return none
endFunction
As you can see the function argument defaults match in both, so the error your getting is utter nonsense. Unless you are missing installing some updated 1.30 scripts
Link to comment

I should've mentioned that in the first post, but I checked the files again. Both instances actually do match the empty state. Though in sslThreadModel.psc the empy state function starts a couple of lines earlier (929) than yours, which probably are due to some updates on your copy since 1.30? I did also redownload sexlab when reinstalling just to be sure.

 

lines 168 -  179:

;/-----------------------------------------------\;
;|    Preparation Functions                        |;
;\-----------------------------------------------/;

state Unlocked
    sslThreadModel function Make(float timeoutIn = 30.0)
        Initialize()
        GoToState("Making")
        RegisterForSingleUpdate(timeoutIn)
        return self
    endFunction
endState

lines 925 - 932:

;/-----------------------------------------------\;
;| State Permissible Functions                   |;
;\-----------------------------------------------/;

sslThreadModel function Make(float timeoutIn = 30.0)
    _Log("Cannot enter make on a locked thread", "Make")
    return none
endFunction
Link to comment

 

I should've mentioned that in the first post, but I checked the files again. Both instances actually do match the empty state. Though in sslThreadModel.psc the empy state function starts a couple of lines earlier (929) than yours, which probably are due to some updates on your copy since 1.30? I did also redownload sexlab when reinstalling just to be sure.

 

lines 168 -  179:

;/-----------------------------------------------\;
;|    Preparation Functions                        |;
;\-----------------------------------------------/;

state Unlocked
    sslThreadModel function Make(float timeoutIn = 30.0)
        Initialize()
        GoToState("Making")
        RegisterForSingleUpdate(timeoutIn)
        return self
    endFunction
endState

lines 925 - 932:

;/-----------------------------------------------\;
;| State Permissible Functions                   |;
;\-----------------------------------------------/;

sslThreadModel function Make(float timeoutIn = 30.0)
    _Log("Cannot enter make on a locked thread", "Make")
    return none
endFunction

 

Are you able to compile sslThreadModel?

Link to comment

Ok I have the same problem...

 

Compiling sslThreadModel also gave me the errors...

What is strange because I couldn't find where is that I also get a warning from the text editor stating the number of parenthesis doesn't match (I'm french so it's only a rough translation... But since it's the editor's warning it could be false since it doesn't comes from the compilation...

The warning is shown here at the arrow:

state Making
    event OnUpdate()
        if !Active
==>            _Log("Thread has timed out of the making process; resetting model for selection pool", "Make", "FATAL")
        endIf
    endEvent

As for sslthreadcontroller the error I get is on this line

function CenterOnCoords(float LocX = 0.0, float LocY = 0.0, float LocZ = 0.0, float RotX = 0.0, float RotY = 0.0, float RotZ = 0.0, bool resync = true)

The only common point I can see is the fact you initialize floats within the call. But it still doesn't make sense to me as I thought this was allowed in papyrus.

 

 

Link to comment

I think I figured it out actually. After remois mentioned about translating from french I had a hunch, since I have the windows locale settings set to Finnish. I changed the number & date formats and location settings in the windows control panel to English (United states) and tried compiling afterwards. And it worked.

 

So I'm guessing the compiler craps itself due to the number format differences, probably due to the decimal separator used here being comma instead of period. As both the errors had floats in the default parameters.

 

I saw a similar issue in this games SDK a couple of years back. Their level editor originally couldn't read any map coordinates with the "wrong" locale set in windows, the difference is, they fixed it shortly afterwards. I don't think we can expect bethesda to fix that anymore :P

 

And it looks to be easily reproducible with a simple test script:

 

Scriptname test Extends Quest

Function hello(float arg = 5.0)
    Debug.Notification("Hello!")
EndFunction

State helloState
    Function hello(float arg = 5.0)
        Debug.Notification("In state!")
    EndFunction
EndState

 

In short, if you have the problem, change the date and time formats to "English (United States)" in the windows Region and language settings to fix it.

Link to comment
  • 9 months later...

I think I figured it out actually. After remois mentioned about translating from french I had a hunch, since I have the windows locale settings set to Finnish. I changed the number & date formats and location settings in the windows control panel to English (United states) and tried compiling afterwards. And it worked.

 

So I'm guessing the compiler craps itself due to the number format differences, probably due to the decimal separator used here being comma instead of period. As both the errors had floats in the default parameters.

 

I saw a similar issue in this games SDK a couple of years back. Their level editor originally couldn't read any map coordinates with the "wrong" locale set in windows, the difference is, they fixed it shortly afterwards. I don't think we can expect bethesda to fix that anymore :P

 

And it looks to be easily reproducible with a simple test script:

Scriptname test Extends Quest

Function hello(float arg = 5.0)
    Debug.Notification("Hello!")
EndFunction

State helloState
    Function hello(float arg = 5.0)
        Debug.Notification("In state!")
    EndFunction
EndState

In short, if you have the problem, change the date and time formats to "English (United States)" in the windows Region and language settings to fix it.

 

 

Seriously man, thanks ALOT! This helped me so much! :)  I live in Norway and my computer setup is european, and to think the solution was as simple as to change the date and time formats to US.

 

I think very many have this problem, so maybe this should be added in some stickies regarding the compiling of scripts!

Link to comment

Archived

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

  • Recently Browsing   0 members

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

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use