zippy57 Posted April 2, 2015 Posted April 2, 2015 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?
revanag Posted April 2, 2015 Posted April 2, 2015 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".
zippy57 Posted April 2, 2015 Posted April 2, 2015 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
revanag Posted April 2, 2015 Posted April 2, 2015 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
zippy57 Posted April 2, 2015 Posted April 2, 2015 Did the enslavement work this time or still nothing?
revanag Posted April 2, 2015 Posted April 2, 2015 Nah, nothing. They masturbated and only told me about enslaving. But nothing happened. Though it works with version from http://www.loverslab.com/topic/2991-sexout-sewerslave-updated-2013-dec-28/
zippy57 Posted April 2, 2015 Posted April 2, 2015 After the sequence, type "sqv xx000ade" into the console (where xx is the load order of SexoutSlavery.esm) and tell me the values of SlaveryID and enslaved.
revanag Posted April 3, 2015 Posted April 3, 2015 Ok, I've got values. I also have more log files. Each one starts when the next NPC should rape PC. The last one contains also SlaverID (output from sqv command). ->SlaveryID = 65549 ->enslaved = 1 ss1.txt ss2.txt ss3.txt ss4.txt ss5.txt ss6.txt
zippy57 Posted April 3, 2015 Posted April 3, 2015 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: 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. 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: 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: 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
revanag Posted April 3, 2015 Posted April 3, 2015 Nice debugging! The culminating point that my computer is hounted sounds..I don't know, disturbing? 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
zippy57 Posted April 3, 2015 Posted April 3, 2015 (edited) Finally! 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 April 3, 2015 by zippy57
revanag Posted April 4, 2015 Posted April 4, 2015 Anyway, I tried the new version that is available for download. Got enslaved and been forced to prostitute like it should be with this mod. Thank you for your effort zippy Hopefully it will be fine from now on. Good work!
revanag Posted April 4, 2015 Posted April 4, 2015 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.
Towny Posted April 4, 2015 Posted April 4, 2015 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
zippy57 Posted April 4, 2015 Posted April 4, 2015 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?
revanag Posted April 4, 2015 Posted April 4, 2015 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. Give me a minute and I'll give you all data, wait a sec 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
zippy57 Posted April 5, 2015 Posted April 5, 2015 Forgot an important bit: Those particular "xx"s were for SewerSlave, not Slavery. The main quests have the same FormID. For the GameDaysPassed try "show" instead of "get".
MidnightVT Posted April 5, 2015 Posted April 5, 2015 so now that it works how does one start this enslavement? i see prospecting around northtown or wherever but that tells me little
revanag Posted April 5, 2015 Posted April 5, 2015 Forgot an important bit: Those particular "xx"s were for SewerSlave, not Slavery. The main quests have the same FormID. For the GameDaysPassed try "show" instead of "get". Oh.. Ok so with xx as SS, no problem sqv 79000ade ->enslaveStage = 4 ->lastCollect = 25 getstage 79000ade GetStage >> 50.00 show GameDaysPassed Value = 26.4332 sqv.txt getstage.txt gamedayspassed.txt
zippy57 Posted April 5, 2015 Posted April 5, 2015 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
revanag Posted April 6, 2015 Posted April 6, 2015 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
revanag Posted April 6, 2015 Posted April 6, 2015 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
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now