Jump to content

SexLab Threesome fails to compile


Recommended Posts

Posted

I managed to work my way this far into setting up a threesome with my Twins mod. However, I have a failure to compile and wondered if anyone could advise me on how to fix this:

 

The fragment:

Spoiler

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

;BEGIN FRAGMENT Fragment_0
Function Fragment_0(ObjectReference akSpeakerRef)
Actor akSpeaker = akSpeakerRef as Actor
;BEGIN CODE
Sexlab.Quickstart(PlayerRef, AkSpeaker, DahliaRef, string AnimationTags = "MMF" )
;END CODE
EndFunction
;END FRAGMENT

The error report:

Spoiler

Starting 1 compile threads for 1 files...
Compiling "ThreesomeSex01"...
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\ThreesomeSex01.psc(9,51): no viable alternative at input 'string'
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\ThreesomeSex01.psc(9,80): required (...)+ loop did not match anything at input ')'
No output generated for ThreesomeSex01, compilation failed.

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

Thanks in advance for any help!

Posted
31 minutes ago, Monoman1 said:

Sexlab.Quickstart(PlayerRef, AkSpeaker, DahliaRef, AnimationTags = "MMF" )

Should do it. 

Thanks. I tried it and now get this error report:

Spoiler

C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\ThreesomeSex01.psc(9,7): type mismatch on parameter 3 (did you forget a cast?)
No output generated for ThreesomeSex01, compilation failed.

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

 

I assume that parameter 3 is "DahliaRef" which I listed (see above) as an Alias (specifically it is a quest alias for one of the twins). I have no idea of what forgetting a cast might refer to?

She has her property properly filled as an alias when I edit properties.

Posted

If it's an alias then you need to get what the alias is pointing at. But it would be more effecient to change DahliaRef to an actor type property unless DahliaRef is something you're spawning in mid-game. Try:

Sexlab.Quickstart(PlayerRef, AkSpeaker, DahliaRef.GetReference() as Actor, AnimationTags = "MMF" )

 

Also you've got to be careful that the alias is actually filled at the time the fragment is fired otherwise GetReference() will pass in None. 

Posted
5 minutes ago, Monoman1 said:

If it's an alias then you need to get what the alias is pointing at. But it would be more effecient to change DahliaRef to an actor type property unless DahliaRef is something you're spawning in mid-game. Try:

Sexlab.Quickstart(PlayerRef, AkSpeaker, DahliaRef.GetReference() as Actor, AnimationTags = "MMF" )

 

Also you've got to be careful that the alias is actually filled at the time the fragment is fired otherwise GetReference() will pass in None. 

I'll go try this. DahliaRef is a quest alias for a unique actor (TwinActor2). The property did fill correctly for the fragment with the alias. Anyway, I'll shut up now and try it.

Posted
10 minutes ago, Monoman1 said:

If it's an alias then you need to get what the alias is pointing at. But it would be more effecient to change DahliaRef to an actor type property unless DahliaRef is something you're spawning in mid-game. Try:

Sexlab.Quickstart(PlayerRef, AkSpeaker, DahliaRef.GetReference() as Actor, AnimationTags = "MMF" )

 

Also you've got to be careful that the alias is actually filled at the time the fragment is fired otherwise GetReference() will pass in None. 

Newest error report:

Spoiler

Starting 1 compile threads for 1 files...
Compiling "ThreesomeSex01"...
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\ThreesomeSex01.psc(9,50): GetReference is not a function or does not exist
C:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\temp\ThreesomeSex01.psc(9,65): cannot cast a none to a actor, types are incompatible
No output generated for ThreesomeSex01, compilation failed.

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

 

Posted

Can you post the entire fragment. It's not clear to me what DahliaRef actually is. 

 

Right click on the fragment and select edit source and copy that here. 

Posted
5 minutes ago, Monoman1 said:

Can you post the entire fragment. It's not clear to me what DahliaRef actually is. 

 

Right click on the fragment and select edit source and copy that here. 

No problem:

Spoiler

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

;BEGIN FRAGMENT Fragment_0
Function Fragment_0(ObjectReference akSpeakerRef)
Actor akSpeaker = akSpeakerRef as Actor
;BEGIN CODE
Sexlab.Quickstart(PlayerRef, AkSpeaker, DahliaRef, AnimationTags = "MMF" )
;END CODE
EndFunction
;END FRAGMENT

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

SexLabFramework Property SexLab Auto
Actor Property PlayerRef Auto
Alias Property DahliaRef Auto
 

As I said before, all 3 properties: PlayerRef, DahliaRef and SexLab fill properly when I edit properties.

Posted

Have you placed DahliaRef in the game world with the CK? 

 

If so I recommend dumping:

Alias Property DahliaRef  Auto

 

Clear the property DahliaRef. Then delete the line from the fragment and replace it with:

Actor Property DahliaRef Auto

Then fill that with your actor ref. 

This is more direct and efficient. 

 

The sexlab line then simply becomes: 

Sexlab.Quickstart(PlayerRef, AkSpeaker, DahliaRef, AnimationTags = "MMF" )

 

Posted

 

8 minutes ago, Monoman1 said:

Have you placed DahliaRef in the game world with the CK? 

 

If so I recommend dumping:

Alias Property DahliaRef  Auto

 

Clear the property DahliaRef. Then delete the line from the fragment and replace it with:

Actor Property DahliaRef Auto

Then fill that with your actor ref. 

This is more direct and efficient. 

 

The sexlab line then simply becomes: 

Sexlab.Quickstart(PlayerRef, AkSpeaker, DahliaRef, AnimationTags = "MMF" )

 

Dahlia is the Quest Alias for TwinActor2. TwinActor2 is in the game world (in Silent Moons Camp). Dahlia is defined as a quest alias for the quest TwinsQuest01. She is a unique actor alias and I made her persistent (in Silent Moons Camp) in order to do so. I am trying to avoid using the actors since, with my Cynthia mod, having the actor (as opposed to the quest alias) have dialogue seems to foul up follower frameworks. The dialogue leading to this fragment was done through using Reference Aliases:

Spoiler

985974103_Screenshot(136)j.jpg.57f31d7cd297ff83ae98b7af936c647f.jpg

The spoiler shows that only the quest alias Danielle (for TwinsActor1) can speak this when is the same cell with Dahlia (for TwinsActor2). My hope is that this approach will NOT affect the follower framework since it is not the actor but the alias that has the dialogue.

 

Therefore, Dahlia qua Dahlia will never be in the game since she is simply a role played by TwinsActor2. So, with all that said, is your advice unchanged because I can certainly try it?

Posted

If you want to stick with the alias then try: 

Sexlab.Quickstart(PlayerRef, AkSpeaker, (DahliaRef as ReferenceAlias).GetReference() as Actor, AnimationTags = "MMF" )

Posted
4 minutes ago, Monoman1 said:

If you want to stick with the alias then try: 

Sexlab.Quickstart(PlayerRef, AkSpeaker, (DahliaRef as ReferenceAlias).GetReference() as Actor, AnimationTags = "MMF" )

That sounds like just the ticket. I'll try it now.

 

Oops, failed to hit submit. Anyway, thank you it compiled. Now I need to go into the game and see if it all works.

 

Thanks again.

Posted

? Interesting .. I'm still on the other side of the learning curve for this  :blush: .. but now I know where to have a look

Archived

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

  • Recently Browsing   0 members

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