Jump to content

SexoutSewerSlave


Recommended Posts

The "freeing player" stuff is actually something happening correctly; I tell SexoutSlavery to free the player before I tell it to enslave the player, just to make sure there aren't any weird conflicts if the player somehow escaped another mod without the processing being done. Any debug stuff from SewerSlave will be preceded by "SexoutSS". Is that the entire console log from sequence start to everyone walking away?

Link to comment

The "freeing player" stuff is actually something happening correctly; I tell SexoutSlavery to free the player before I tell it to enslave the player, just to make sure there aren't any weird conflicts if the player somehow escaped another mod without the processing being done. Any debug stuff from SewerSlave will be preceded by "SexoutSS". Is that the entire console log from sequence start to everyone walking away?

 

Unfortunately, yes. That's all. It's from where I start dialog with Dermot to the moment I should be enslaved. 

Before that disabled only Spunk logs, to make it cleaner.

 

In MCM I can see that after all, the status is displayed as "in trouble".

Link to comment

Delete the log you just made from your data folder (FNV will merge it if you leave it there). Put this plugin in, instead. Start again, go into Sexout's MCM menu to the Misc. section and activate debug logging (not scanner, just normal). Then start another log and run through the sequence again. Maybe if I can see the information Sexout is getting, I can figure out what I'm doing wrong with the calls.

SexoutSS_C.esp

Link to comment

Delete the log you just made from your data folder (FNV will merge it if you leave it there). Put this plugin in, instead. Start again, go into Sexout's MCM menu to the Misc. section and activate debug logging (not scanner, just normal). Then start another log and run through the sequence again. Maybe if I can see the information Sexout is getting, I can figure out what I'm doing wrong with the calls.

 

Ok, new attachment contains more information. However it looks like it's cut off. It's like the last moments in the whole sequence.

I can try to create separate files by firing logging into file from time to time, if it isn't enough.

ss.txt

Link to comment

According to those values, the player has been enslaved successfully. I have looked through the old version and there is no scripting to put the collar on the player in it. Which is weird, considering all the content around it, but apparently true. This is every reference to the collar included with the plugin:

post-10712-0-26959200-1428090953_thumb.png

Its only use in the quest script is this:

if( playerRef.getEquipped SexoutSSSlaveCollar == 0 && SexoutSS.EnslaveStage == 4)
  set EnslaveStage to 0
  set SexoutSS.Escaped to 1
endif
And it is only in the packages and dialogue as conditions.

post-10712-0-48188000-1428091194_thumb.png

post-10712-0-35088700-1428091114_thumb.png

post-10712-0-97512100-1428091270_thumb.png

The script for that collar is empty, so I think it was either in the process of being phased out or introduced but that never got completed. Now, there's a generic collar in Slavery that is referenced regularly by SewerSlave:

post-10712-0-98288300-1428091474_thumb.png

But it's also only as conditions except in the SlaveController script but that is to remove the collar, not to put it on. Slavery itself assigns a collar to the player by doing this when the player is enslaved:

set collar to SexoutSlaveryPlayerQ.Collar
if(playerRef.getItemCount collar == 0)
    playerRef.additem collar 1 1
endif
playerRef.equipitem collar 1 1
The collar variable in SexoutSlaveryPlayerQ is a reference variable that should be set by the plugin enslaving the player. Here is every reference to that quest by the old SS:

post-10712-0-38220600-1428092327_thumb.png

The main SS quest script only uses it to check a different variable.

if(SexoutSlaveryPlayerQ.SlaveryID == 0 && Player.getItemCount 00SexoutRapee && ...
The SlaveController script lets you take it off but never puts it on. The EscapedSlave script just wipes itself if the player is free.

if(SexoutSlaveryPlayerQ.SlaveryID != 65549)
    RemoveMe
endif
And this is all the references to PlayerQ in EnslaveToken, which is the script that actively enslaves the player:

set SexoutSlaveryPlayerQ.SlaveryID to 65549
set SexoutSlaveryPlayerQ.master to DermotREF
set SexoutSlaveryPlayerQ.slaveryType to 4 
set SexoutSlaveryPlayerQ.punishmentType to 2 
set SexoutSlaveryPlayerQ.takeItems to 1
set SexoutSlaveryPlayerQ.stolenItemsContainer to "F35DF"
set SexoutSlaveryPlayerQ.noWeapons to 1
set SexoutSlaveryPlayerQ.noClothes to 1
set SexoutSlaveryPlayerQ.noClothesDialog to SexoutSSItemClothed
set SexoutSlaveryPlayerQ.canSubmit to 1
set SexoutSlaveryPlayerQ.noSneaking to 1
set SexoutSlaveryPlayerQ.noCollarReaction to 2
set SexoutSlaveryPlayerQ.noCollarDialog to SexoutSSDiscovered
Everything else is just a check to see if you're wearing it or not. In other words, there is exactly zero way the old version of SS should be able to add a collar. It just shouldn't be possible. Adding it to my version should be relatively simple, but if the old version is adding a collar either the script source of something was changed without being properly compiled or your computer is haunted.

 

I have attached yet another version of the plugin that I think might fix the intro problems. At this time it only changes a single act, the first one with Saint James, since this is a change that needs to be made with every call in the plugin and I want to be sure it does what it's supposed to before I go through and change them all.

SexoutSS_C.esp

Link to comment

Nice debugging! The culminating point that my computer is hounted sounds..I don't know, disturbing? :D Obviously I have no clue what is going on there but the way you described it in post above. I agree that is really weird.

 

I tried the new one and it worked for Saint James! Animation started playing properly. So you're on a good spot :)

Link to comment

Finally! :P I'll work on getting the change made to all the acts.

 

For those who are interested, what broke it was the switch to the new Sexout calls. Because GetSelf doesn't work reliably when used with the NX sets from dialogue scripts, so I had to switch to the full Sexout call. However, I had at some point got in the habit of using "Player" instead of "PlayerREF". The GECK usually corrects all instances of Player (ID 7) to PlayerREF (ID 14) but when used in the function call it didn't, so Sexout was getting a baseID instead of a refID and throwing it out because it couldn't do anything with it, causing all the acts to be solo.

 

EDIT: This compiles with the baseID and breaks the call:

call fnSexoutActRunFull ar_map "actora"::0 "actorb"::Player "raper"::0
And this compiles with the refID and works fine.

call fnSexoutActRunFull ar_map "actora"::0 "actorb"::Player
I don't get it.

 

EDIT II: I have now discovered that this compiles with the baseID and breaks the call as well:

call fnSexoutActRunFull ar_map "actora"::0 "actorb"::Player
If you're thinking, "Gee, that looks exactly the same as the one you listed above that you said worked", that's because it is exactly the same as the one I listed above that worked. But it doesn't. Because Bethesda. Edited by zippy57
Link to comment

Unfortunately I think Dermot needs also to be fixed. Collar bomb also.

 

I spent couple of days now in Sewers, found weapons and stuff. So I am ready to meet him, but the problem is that, despite what he said and what used to work in old version (from 2013), he's never comming to collect earned caps. 

 

With moveto command, I managed to teleport him to my PC, but when I looked into his inventory.. he doesn't have a remote controller to collar bomb or sth (I remember he used to have that, that was the way I escaped in the past). 

 

So this made me thinking, I decided to leave sewers to check if bomb will explode. And it does not. 

 

Started whole sequence from the beginning to be sure that my savegame isn't haunted:D And a moment after he enslaved me, decided to go to Westside. No explosion. No controller.

Link to comment

When I left the sewers the collar beeped like it should have and exploded a couple seconds after so it worked on my side.

Though like you said Dermot doesn't come to collect.

 

Another thing that happened on my playthrough is the beginning  where he takes you to that small room, After the first 2 guys the 3 guy just masturbated so did the 4th. I didn't get to play the original before the changes to Sexout but it seemed like the last round they double team the MC, that didn't happen my MC just stood their clothes on, while one laid down working animation the other actor just stood their naked, but the mod proceeded like normal. I'm guessing that last part has to do with the Amra stuff? I was using Odessa's patch

Link to comment

Variable time again. Use the console to do "sqv xx000ade" and get me enslaveStage and lastCollect, and also type "getstage xx000ade" and tell me the value that appears, and type "get GameDaysPassed" and give me that value. I hope those all work in the console, I think they do.

 

As for the collar, that isn't me. Everything collar-wise is now handled by SexoutSlavery, and the variables for making it go kaboom are properly set on my end as far as I can tell. Although it is using ListAddForm. Did you reload the game before leaving the sewers? Did you try leaving Westside?

Link to comment

Variable time again. Use the console to do "sqv xx000ade" and get me enslaveStage and lastCollect, and also type "getstage xx000ade" and tell me the value that appears, and type "get GameDaysPassed" and give me that value. I hope those all work in the console, I think they do.

 

As for the collar, that isn't me. Everything collar-wise is now handled by SexoutSlavery, and the variables for making it go kaboom are properly set on my end as far as I can tell. Although it is using ListAddForm. Did you reload the game before leaving the sewers? Did you try leaving Westside?

 

As for collar, it doesn't bother me that much. Tommy said that on his computer it started beeping, so maybe it is something related only to my game.

I didn't reload the game before leaving sewers nor leaving Westside, will try again ;) In worst case, I can pretend it will blow PC head off. :D

 

Give me a minute and I'll give you all data, wait a sec :D

 

 

EDIT:

Unfortunately, the last command didn't work. Any workarounds or other functions?

Also I don't see enslaveStage and lastCollect in the output. 

 

But I tried them on my save game where my character is enslaved. Should I rerun whole sequence, wait/sleep and try them again?

 

You can look into attachements files to see. Only getstage returned 0.00 value.

ss1.txt

ss2.txt

ss3.txt

Link to comment

Dermot is alive, right? I mean I assume he is, but... I'm not sure what else it could be. Here's the relevant section of the script, it's from the main quest script and runs twice every second.

if GetStage SexoutSS == 50 && enslaveStage == 4
	set escaped to 0
	if SexoutSSNPCDealerREF.GetDead ==  0 && SexoutSSSideQuests.sellingJet == 0 && GetRandomPercent > 91 && SexoutSSNPCDealerREF.GetIsCurrentPackage SexoutSSSQJetApproach == 0
		SexoutSSNPCDealerREF.AddScriptPackage SexoutSSSQJetApproach
	endif
	if GameDaysPassed >= lastCollect
		if DermotRef.GetDead == 0
			DermotRef.RemoveItem SexoutSSMItemSlaveCont 999
			DermotRef.AddItem SexoutSSMItemSlaveCont 1
			if DermotRef.GetIsCurrentPackage SexoutSSCollectTake == 0 && SaintJamesRef.GetIsCurrentPackage SexoutSSCollectTake == 0
				DermotRef.AddScriptPackage SexoutSSCollectTake
			endif
		endif
		if SaintJamesRef.GetDead == 0
			SaintJamesRef.RemoveItem SexoutSSMItemSlaveCont 999
			SaintJamesRef.AddItem SexoutSSMItemSlaveCont 1
			if SaintJamesRef.GetIsCurrentPackage SexoutSSCollectTake == 0 && DermotRef.GetIsCurrentPackage SexoutSSCollectTake == 0
				SaintJamesRef.AddScriptPackage SexoutSSCollectTake
			endif
		endif
	endif
endif
So if the quest stage is 50 (which it is) and the enslave stage is 4 (which it is) and the current game days passed is higher than the last collect date (which it is), and Dermot ain't dead, then he has 999 Slave Controllers removed from him (to prevent duplicates; item counts can't be negative) and then hass one added, and if he isn't currently set to get the take then he is told to do so.

 

If he doesn't come to get the stuff and doesn't even have a slave controller on him, then the only thing I can think of is that the script is crashing somewhere. I have attached a version with debug text that should theoretically help me find where the script is crashing, assuming that it is.

SexoutSS_C.esp

Link to comment

Downloaded debug plugin. Will give an update soon ;)

 

EDIT:

 

Nothing interesting in logs, I assume that was the aim of that plugin. BUT.. I don't know what you did out there, but as soon as I load my savegame the collar starts beeping and couple of seconds later explodes. The problem is that I am in the sewers. But maybe that's a hint for you.

 

EDIT2: Traditionally I put log file in the attachements, but what I can't read from it anything besides Spunk and other mods loading.

debug_ss.txt

Link to comment

Ok, rerunning sequence and collar is not exploding in sewers, it's beeping when I go outside. Which is nice. But Dermot is not appearing and besides some error from SexoutSpunk in console I see nothing in logs.

 

Dermot is alive coz I can move him to my player via console commands, but he's not interested in me :)

 

The most interesting part below, I wonder, if Spunk can somehow break Slavery script? (7D is Spunk in my Load order)

freeing player
player freed
Error in script 7d007af1
Operator := failed to evaluate to a valid result
    File: SexoutSpunk.esp Offset: 0x02DF Command: Let
Error in script 7d007af1
An expression failed to evaluate to a valid result
    File: SexoutSpunk.esp Offset: 0x02DF Command: Let
finished enslave script

rerun_sequence.txt

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...

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