Jump to content

Recommended Posts

Hello,

 

I hope I'm posting this in the right forum.

 

I'm trying to make my custom NPC follower initiate a dialogue and depending on the response, initiate sex.

I still new to scripting and a lot of the material is still quite overwhelming. I am using a variety of tutorials and have been googling for answers on my own.

 

But right now I'm trying to create the script where my character accept the response and initiate the animation at the end of dialogue. (which is where sexlab comes in)

I've been following a tutorial called:

Sexlab & Creation Kit tutorial for beginners, make actor, play animations. by trepleen

but I'm stuck on step 6 where i need to compile the line "SexLabFramework property SexLab auto" in my edit source.

 

it gave me this:
Starting 1 compile threads for 1 files...
Compiling "TIF__08000D7A"...
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\TIF__08000D7A.psc(17,13): script property SexLab already defined
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\TIF__08000D7A.psc(17,13): script variable ::SexLab_var already defined
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\TIF__08000D7A.psc(17,13): script property SexLab already has a get function defined
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\TIF__08000D7A.psc(17,13): script property SexLab already has a set function defined
No output generated for TIF__08000D7A, compilation failed.

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

According to some of the solutions I've looked up, says I might have to reinstalled SKSE and restarted creation kit but it didn't work.

I see that it says it's "already defined" and I assume it means that the script I'm trying to make already exist and has a certain purpose?

I don't really understand what the issue is. Am I missing a step?

 

What should I be doing here?

Link to comment

Edit your "TIF__08000D7A" script file.

 

It should have something similar to this inside:

 

 

 
;BEGIN FRAGMENT CODE - Do not edit anything between this and the end comment
;NEXT FRAGMENT INDEX 1
Scriptname TIF__08000D7A Extends TopicInfo Hidden
 
;BEGIN FRAGMENT Fragment_0
Function Fragment_0(ObjectReference akSpeakerRef)
Actor akSpeaker = akSpeakerRef as Actor
;BEGIN CODE
SexLab.QuickStart(akSpeaker, Game.getPlayer())
;END CODE
EndFunction
;END FRAGMENT
 
;END FRAGMENT CODE - Do not edit anything between this and the begin comment
 
SexLabFramework Property SexLab Auto
 

 

You can copy your code and paste it here, I will have a look to it.

 


P.S. You can also check my Tutorial to create a follower, or my Papyrus guide, both have many references and examples for using SexLab.

 

Link to comment

OK, i assume I'm suppose to save the script after it compiled then go to edit source. and this is what was in the script, it looks similar to what you said:

 

 

;BEGIN FRAGMENT CODE - Do not edit anything between this and the end comment
;NEXT FRAGMENT INDEX 1
Scriptname TIF__08000D7A Extends TopicInfo Hidden

;BEGIN FRAGMENT Fragment_0
Function Fragment_0(ObjectReference akSpeakerRef)
Actor akSpeaker = akSpeakerRef as Actor
;BEGIN CODE
Debug.MessageBox("Temporary")            <---except this line.
;END CODE
EndFunction
;END FRAGMENT

;END FRAGMENT CODE - Do not edit anything between this and the begin comment

SexLabFramework property SexLab auto
Int Property SexLab  Auto

 

 

Thanks for helping!

Also... downloading your papyrus guide, holy crap its a big file o.o (114 pages!? *cries*)

Link to comment

OK, your script as an evident error.

You have two properties called both "SexLab":

 

SexLabFramework property SexLab auto
Int Property SexLab  Auto
 
Just remove the second one (edit the source, remove this line, and save.)
 
Link to comment

done, now this...:

 

Starting 1 compile threads for 1 files...
Compiling "TIF__08000D7A"...
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\SexLabFramework.psc(3048,13): script property SexLab already defined
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\SexLabFramework.psc(3048,13): script variable ::SexLab_var already defined
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\SexLabFramework.psc(3048,13): script property SexLab already has a get function defined
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\SexLabFramework.psc(3048,13): script property SexLab already has a set function defined
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\SexLabFramework.psc(3050,13): script property SexLab already defined
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\SexLabFramework.psc(3050,13): script variable ::SexLab_var already defined
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\SexLabFramework.psc(3050,13): script property SexLab already has a get function defined
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\SexLabFramework.psc(3050,13): script property SexLab already has a set function defined
No output generated for TIF__08000D7A, compilation failed.

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

 

And just curious, what does (3050,13) mean? is this a thing that tells me that this is where the error is and what line it is in the script?

Link to comment

ahh i see, this is probably why:
At the end of my sexlabframework script there's this:

state Enabled
    event OnBeginState()
        if SexLab == self || (!SexLab && self == SexLabUtil.GetAPI())
            Log("SexLabFramework - Enabled")
            ModEvent.Send(ModEvent.Create("SexLabEnabled"))
        endIf
    endEvent
endState


Int Property SexLab  Auto      <-- I don't know where these came from.

Int Property SexLab  Auto  

Int Property SexLab  Auto 

 

BUT I removed it and i recompiled.

 

Then, I had these errors pop up:

DEFAULT: BSString::Set(): Could not allocate full amount of memory asked for with aiMaxLen

RegisterForModEvents is not a function in SKI_ConfigBase.psc

and i fix thoses but reinstalling SKSE and restarting creation kit.

and now this:

Starting 1 compile threads for 1 files...
Compiling "TIF__08000D7A"...
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslBaseAnimation.psc(1118,10): SetPathStringArray is not a function or does not exist
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslBaseAnimation.psc(1118,10): cannot call the member function SetPathStringArray alone or on a type, must call it on a variable
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslBaseAnimation.psc(1122,11): SetPathFormArray is not a function or does not exist
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslBaseAnimation.psc(1122,11): cannot call the member function SetPathFormArray alone or on a type, must call it on a variable
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslBaseAnimation.psc(1125,11): SetPathFloatArray is not a function or does not exist
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslBaseAnimation.psc(1125,11): cannot call the member function SetPathFloatArray alone or on a type, must call it on a variable
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslBaseAnimation.psc(1140,12): SetPathFloatArray is not a function or does not exist
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslBaseAnimation.psc(1140,12): cannot call the member function SetPathFloatArray alone or on a type, must call it on a variable
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslActorAlias.psc(306,31): variable NiOverride is undefined
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslActorAlias.psc(306,42): none is not a known user-defined type
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslActorAlias.psc(307,19): variable NiOverride is undefined
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslActorAlias.psc(307,30): none is not a known user-defined type
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslActorAlias.psc(312,5): variable NiOverride is undefined
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslActorAlias.psc(312,16): none is not a known user-defined type
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslActorAlias.psc(313,5): variable NiOverride is undefined
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslActorAlias.psc(313,16): none is not a known user-defined type
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslActorAlias.psc(722,31): variable NiOverride is undefined
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslActorAlias.psc(722,42): none is not a known user-defined type
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslActorAlias.psc(723,5): variable NiOverride is undefined
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslActorAlias.psc(723,16): none is not a known user-defined type
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslSystemConfig.psc(765,61): variable NiOverride is undefined
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslSystemConfig.psc(765,72): none is not a known user-defined type
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslSystemConfig.psc(765,91): cannot compare a none to a int (cast missing or types unrelated)
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslSystemConfig.psc(765,91): cannot relatively compare variables to None
No output generated for TIF__08000D7A, compilation failed.

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

I'm starting to think my files are broken or something.

Is this a step up from where I was?

 

Anyways, I'm thinking I need to fix each one individually
so I'm looking in the "sslBaseAnimation" script and I see the line 1118 it is referring to:

function ExportJSON()
    string Folder = "../SexLab/Animations/"
    if IsCreature
        Folder += "Creatures/"
    endIf
    string Filename = Folder+Registry+".json"

    JsonUtil.ClearAll(Filename)

    JsonUtil.SetPathStringValue(Filename, ".name", Name)
    JsonUtil.SetPathIntValue(Filename, ".enabled", Enabled as int)
    JsonUtil.SetPathStringArray(Filename, ".tags", GetTags())           <-This here

 

and from what I've learned until now, is that line "cannot call the member function SetPathStringArray alone or on a type, must call it on a variable"
meaning I should change it to a variable? if so how?
OR
Do is the solution something different like restart or reinstall something like creation kit or SKSE again?

Link to comment

"The problem" requires you to post the result of the compilation of you script, my friend.

 

We don't see your screen, we have no clues of what the problem can be.

 

Hope the best for you. Cheers.

Link to comment

its that same as before

 

Starting 1 compile threads for 1 files...
Compiling "TIF__08000D7A"...
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslActorAlias.psc(306,31): variable NiOverride is undefined
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslActorAlias.psc(306,42): none is not a known user-defined type
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslActorAlias.psc(307,19): variable NiOverride is undefined
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslActorAlias.psc(307,30): none is not a known user-defined type
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslActorAlias.psc(312,5): variable NiOverride is undefined
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslActorAlias.psc(312,16): none is not a known user-defined type
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslActorAlias.psc(313,5): variable NiOverride is undefined
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslActorAlias.psc(313,16): none is not a known user-defined type
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslActorAlias.psc(722,31): variable NiOverride is undefined
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslActorAlias.psc(722,42): none is not a known user-defined type
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslActorAlias.psc(723,5): variable NiOverride is undefined
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslActorAlias.psc(723,16): none is not a known user-defined type
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslSystemConfig.psc(765,61): variable NiOverride is undefined
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslSystemConfig.psc(765,72): none is not a known user-defined type
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslSystemConfig.psc(765,91): cannot compare a none to a int (cast missing or types unrelated)
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\sslSystemConfig.psc(765,91): cannot relatively compare variables to None
No output generated for TIF__08000D7A, compilation failed.

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

 

man, is this what every modder goes through? My head is so full of the information about scripting and troubleshooting, I believe that after I get frameworks to load properly everything would go a lot smoother.

Link to comment

Oh my god, it worked!

 

and i didn't recomplied sslActorAlias, I assume when I typed "SexLabFramework property SexLab auto" and hit recomplied, it would automacticaly there?

 

also how did you know that I was missing the racemenu source files?

Link to comment

If it's working good for you now, great! Otherwise, I'd offer the alternative of more simply using this snippiet in your fragment:

SexLabUtil.QuickStart(akSpeaker, Game.GetPlayer())

Going through SexLabUtil's global instead of a SexLabFramework property means you completely eliminate the need for creating a property to begin with, and thus bypass this entire issue from the start.

Link to comment

uuh yea, I spoke too soon, The code read correctly in creation but the animation didn't play at the end of dialogue. I did reinstall the plugin, regenerate FNIS. (just in case)

 

So, if I wanted to change or update the code how would I do that? would I just type it in the papyrus fragment box or got into the edit source, type it in undernealth the "SexLabFramework property SexLab auto"

 

or some other method?

 

and thank you for the alternative! I might have to try that out.

Link to comment

Probably in the previous implementation (with the property) you did not fill the property.

 

To use Ashal's advise, you can just copy/paste his code in the edit window of the Topic Info.

No real need to remove the property.

Link to comment

Probably in the previous implementation (with the property) you did not fill the property.

 

To use Ashal's advise, you can just copy/paste his code in the edit window of the Topic Info.

No real need to remove the property.

 

That's right, i didn't because when I opened the property window, there was already a sexlab property, so I didn't think I needed to add one.

https://gyazo.com/7090898992cff7190adbb243fc73cef3

Was that suppose to be there?

 

And for Ashal's advise, that worked! Thanks.

Link to comment

umm, hello again,

 

I have some more questions o.o;;

 

ok, SO everything so far is working great!

 

I have been reading CPU's Papyrus Guide. So I understand a little more than before.

BUT I want to add some specifications.

like

How can I make my npc the actor on top(the aggressor?) and my player on bottom(the victim)?

 

Is this the script I need to be using?

 

sslThreadController function QuickStart(Actor Actor1, Actor Actor2 = none, Actor Victim = none, string Hook = "", string AnimationTags = "")
    Actor[] Positions = SexLabUtil.MakeActorArray(Actor1, Actor2)
    sslBaseAnimation[] Anims
    if AnimationTags != ""
        Anims = AnimSlots.GetByTags(Positions.Length, AnimationTags, "", false)
    endIf
    return ThreadSlots.GetController(StartSex(Positions, Anims, Victim, none, true, Hook))
endFunction

 

If so, I don't understand what information I need to put inside the Parentheses. Do I really need to specify the string hook, animationTags, hook etc just to get the positions I want?

 

And my other question is I want to set a condition/trigger to activate my dialogue. And that trigger Involves Sexlab Aroused.

 

I want to make my npc reach a certain level of arousal before they forcegreet my player.

what would be the code I need to put in to activate Sexlab arousal? Would it be similar to "SexLabFramework property SexLab auto"?
like "slaFrameworkscr property SexLab auto"?

 

Thanks in advance.

Link to comment

About the "active/passive":

The first actor is passive, the others are active. Usually.

 

So a SexLab.QuickStart(passiveActor, activeActor) should do the trick.

You can also do SexLab.QuickStart(passiveActor, activeActor, Victim=passiveActor) in case you need it.

 

About Arousal filters.

Arousal Redux uses a Faction to keep the Arousal level of actors.

So you can just condition your forcegreet package to check if the actor has a faction rank for the sla faction greater that the value you want.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

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