Jump to content

SkyrimVR Patches - VRIK Integrations for ZAZ/DD, camera spinning fixes, & other QOL patches


Recommended Posts

SkyrimVR Patches - VRIK Integrations for ZAZ/DD, camera spinning fixes, & other QOL patches

View File

 

 

2045709150_InaBind.thumb.png.9819741ba9cf87f83bbdfc44c3bb8593.png

 

VRIK integrations description

Spoiler

huh?

Ever been playing skyrimVR with some... interesting... mods, suddenly your strapped in an arm bender, and you have meshless hands?  With the patch you will get... stuck. ?

 

The research:

Details to come

 

Purpose:

Some mods benefit from VRIK integration for a visual QOL.  Mods that add arm restraints, did not restrain the player's arms.  Furniture that should lock the player body, gave the player no structure but rather a set of noodle arms.  ZAZ and DD have an alpha patch that attempts VRIK integration.  These patches enable and disable VRIK arms/hands when bound.  Currently, ZAZ has wearable device and furniture support.  DD5 has furniture support.  There are some issues that are detailed in each spoiler.  Read up!

 

 

 

 

vom.png.421185b3a31bf48e4b4576341107a978.png.47dbb26e1471166f526bc12af6e04923.png

 

Camera Spin description

Spoiler

huh?

Ever been playing skyrimVR with some... interesting... mods, suddenly your camera spins 1000 times a minute, and you wanted to loose your cookies? Me too.

 

The research:

This was a misdiagnosed issue for a while. I first found that activating Skyrim Utility Mod's MCM>system>PC ai Control>Release all ai stopped the spin.  Thank Talos.  Turns out there where a slew of commands that where activated.  I then went on a journey to (re-)discover the issue lies in the SetVehicle() command.  Having narrowed the issue down I created a series of patches for the mods I use.  Now I share my boon with the world and am working on patches for other mods that break VR. Others have joined the questing party and are far from the devious followers I seem to attract in Skyrim!

 

Purpose:

Preventing the VR camera from spinning allows VR users to enjoy these mods.  Some mods were entirely broken based on the SetVehicle command being central (Horrible Harassment). Others only use the command for one scene or situation (whipping in Naked Dungeons).  Some mods have both SetVehicle and VRIK fixes like DD/ZAZ/DCL and others only have a No Spin patch.  It should be clearly defined in each spoiler the changes made and why.

 


 

Current Major Framework Patches:

 Zaz Animation Packs

Spoiler

Required original mods: Zaz V8+ or Zaz V8 or Zaz V7

Changes: Fixed camera spin on ...

Script:  zbfSlot

    Edits: Added- ActorRef.SetVehicle(None)     after the full     Function SetFurniture    to reset  ActorRef.SetVehicle(akFurniture)

    Fixes: camera spin & should place pc appropriately

    Edits: Added- VRIK support for ZAZ wrist devices and furniture

    Fixes: Disables VRIK arms and hands input when bound by ZAZ devices.  They should now be attached to yoke/arm bender/wrist cuffs/etc

Script:  zbfBondageShell

    Edits: Changed - akActor.SetVehicle(MarkerPin) to     akActor.SetVehicle(None)

    Fixes: camera spin if a mod uses Zaz to "Force the actor to stay put"

Reported bugs:

1 - Players might be able to move around if the originating mod that uses ZAZ pinMarker to stop PC movement & has no other way to disable player controls.

Current work around - You will have to keep you fingers off the joystick.?

Plan - Get user reports of which mods allow PC movement and add script to disable player movement.

2 - When wrist bound and leaving zaz furniture, the arm bound animation will not reset.  Some items like a holding a torch, might break the animation for that hand.

Competing idle animations is a general Skyrim/SexLab issue that plagues many mods that want to control animations simultaneously. 

A possible solution would be resetting the idle to ZAZ upon leaving furniture.  This is a larger issue that is probably out of scope for these patches.

3 - Some ZAZ furniture will cause the player body to wriggle and squirm.  This might be an issue that can not be resolved.  Consider it a struggle animation. ?

4 - On loading a game wearing ZAZ wrist/arm restrains, VRIK arm/hand bools are enabled and the floating meshless hands reappear.

Current work around - Toggle the bindings from the ZAZ MCM>Slots menu to reapply the VRIK bools turning off.

 

Shout out to the true king of skyrim: @candriver1

 

Devious Devices V5.1 only ( Devious Devices V4.x does not need a No Spin patch )

Spoiler

Required original mod: Devious Devices V5.1

Changes: Fixed camera spin on entering furniture, menu fixes, VRIK furniture support only.

Script:  zadcFurnitureScript

Edits:  Too many... check out the source files if interested

    Fixes: furniture events spin VR camera, PC no longer sneaks when bending over into the furniture, VRIK pose support, various menu and bug fixes.

Reported bugs: 

1 - Furniture is invisible (AnimObjects VR problem)

 Current work around - Use your imagination

 Possible improvement - Possibly use static furniture

2 - Cursed Loot allows inventory access when it should be locked (issue tied to SetVehicle also tied to SitState)

 

Possible improvements (problems with VR unrelated to spin-fix):

- In original mod if player uses the device while in first person device will be invisible. There is no third person in Skyrim VR so device is always invisible when used.

- Add VRIK to worn devices (arm benders/etc).  Known issue with DCL constantly resetting the idle animations.

 

Devious Devices Extras - VRIK animation patch , High Heels Offsets, & Invisible Furniture Fix

  Hide contents

Required original mod: Devious Devices V5.1

Changes: Fixed DD animations being overwritten by VRIK hand positions, High heels now adjust player height, and DD furniture should be visible.

 

Procedure to get HH to work:

Preparation
Step 1: Make sure you have VRIK calibrated properly without wearing any boots.

Step 2: Go into the VRIK - Better Heels Support MCM menu and press the first button "Load current height from VRIK".

Press this button every time after you have set your default (Shoeless) size with VRIK so the mod knows what your normal size is.

 

Adding footwear heights:

Step 1: Equip any footwear with heals

Step 2: Make sure you're on a flat surface

Step 3: Go into the VRIK - Better Heels Support MCM menu and press the second button "Calibrate height for current footwear"
Step 4: Close all menus and wait 3 seconds. You should have noticed that your head got pushed up a bit right after you closed the menu. That's when you should start counting the 3 seconds.

Now every time you equip or unequip an item with the same model file you should see your head height being adjusted. This was only tested with some Cursed Loot items but it should work with any item from any mod that uses slot 37 and doesn't have a complex equipping system comparable to DD. Devious Devices them selves work as it was made it with them in mind.

You shouldn't worry to much about recalibrating and losing your heel heights. It doesn't store the absolute head height but the difference between the default head height you set in the MCM and the ones that is calibrated afterwards. So as long as you don't forget to press "Load current height from VRIK" you should be fine.

 

As far as performance goes. It will theoretically drop the more items you calibrate. But just like the animation patch only when you (un)equip items. There is a hard limit though on 128 items which is an engine limitation. Removing an item from the list will only slightly improve performance if it's the last item in the list. That's why I went for the item mesh files instead of forms or something. With the meshes you don't have to calibrate that often as any color/name/enchantment/etc... variations of that item are immediatly accounted for. Less work for the user and less performance impact.

 

Reported bugs: 

Let me know!

 

Possible improvements:

Suggest!

 

 

 

 

Fertility Mode V3

Spoiler

Required Original mod: Fertility Mode

Description: This is a patch for Fertility Mode VR compatibility. The issue is with UILib freezing the game in SkyrimVR.  This happens when the UI pops up an input box and the physical keyboard or motion controllers don't work.  The game is just stuck.  Thanks to the help of @lastbytescout there is a fix for Fertility Mode's baby name input.  There is now an MCM option to assign a random name for your offspring.  This is activated by default, because you obviously downloaded this patch for your VR play through.

Reported Bugs: This might not be relevant anymore.  I need feedback from someone running vanilla children with FM.

Right now you must have FertilityMode.esm in your load order.  The spawn's facetint data is looking there for the info and you without it you will get darkface.  If you install Fertility mode with vanilla children, you will only have a fertilitymode.esp.  Meaning this patch will create darkface if you use vanilla children.  If you install FM with either RS or TKAA, you should have the proper FertilityMode.esm, a FM-"childmod".esp, and correct facetint for your spawns.  This is for version 3 of fertility mode. Let me know if you really really really want FM with vanilla children without darkface. (this will put undue burden on me)

 

Naked Dungeons v2.0.1

-mod uses ZAZ which has a patch as well

Spoiler

Required original mod: Naked Dungeons

Changes: Fixed camera spin on bandit capture, spider capture, and guard punishments.

Script:  ndun_errandquest_scr

    Edits: Added- libs.PlayerRef.SetVehicle(None) to the end of  the function

    Fixes: whipping events spin

Script:  ndun_crimequest_qf_scr

    Edits: Added- libs.PlayerRef.SetVehicle(None) to the end of  the function

    Fixes: start scene spin

Reported bugs: Possible split second spin to place PC at marker.  Rarely the crime whipping does not instigate or PC is pushed too far from whipper to get hit.


Skyrim Utility Mod V2 & V1.61 / Prison Overhaul Patched V4.61 & V5

-mod uses ZAZ which has a patch as well

Spoiler

Required original mod: Skyrim Utility Mod/Prison Overhaul Patched

Changes: Fixed camera spin on several events

Script:  iSUmMain

    Edits: Added- akActor.SetVehicle(None) after the initial  akActor.SetVehicle(orPin)

    Fixes: camera spin

Script:  xpoMainScr

    Edits: Added- PrisonerRef.SetVehicle(None) after the initial  PrisonerRef.SetVehicle(Alias_Pillory.GetReference()) Fixed: camera spin & should place pc appropriately

Reported bugs: None. It could possibly break Devious Device Equip compatibility with DD5  (I and other play testers don't use DDe or DD5) Issue: PC could be locked or incapable of unlocking DD5 items placed by DDe ? Please report if this is the case.


Horrible Harassment V3.44

Spoiler

Required original mod: Horrible Harassment

Changes: Fixed camera spin on entering struggle scene.

Script:  slhh_Monitor

    Edits: Added- Victim.SetVehicle(None)    after    Aggressor.MoveTo(Victim, 0.0 * Math.Sin(AngleZ), 0.0 * Math.Cos(AngleZ))

              Changed - Utility.Wait(1.0)      to         Utility.Wait(0.5)

    Fixes: spin during event and between UI messages

Reported bugs: There is a short wait function required to align the actors.  There will be a half second spin.  Players might be able to move around now. You will have to keep you fingers off the joystick.

 

Devious Cursed Loot V9 ( Previous versions may not need a patch - I am still running V6.4 )

-mod uses DD5 which has a patch as well

Spoiler

Required original mod: Devious Cursed Loot V9

Changes: Fixed camera spin on spank event.

Script:  dcur_spankQuestScript

    Edits: Added-     Spankee.SetVehicle(None)    after        Spankee.SetVehicle(SpankMarker.GetReference())

    Fixes: spin during spank event

Reported bugs: None but untested.

 

DM me if you want to be a tester!

 

 SexLab Survival V.657

Spoiler

Required original mod: Sexlab Survival SE - Patch was made for the most up to date conversion

Patch should work on previous version .635.  Only one line difference in scripts for time of day calculation that is probably unnoticeable. 

If the patch does not work and you want a patch for .635 let me know.

Changes: Fixed Getcrosshairreference.  It is busted in VR.

Script:  _SLS_Needs

    Edits: Changed      ObjectReference Bed = Game.GetCurrentCrosshairRef()    to   ObjectReference Bed = Game.FindClosestReferenceOfAnyTypeInList(Game.GetFormFromFile(0x0181B1, "SexLab.esm") as FormList, PlayerRef.GetPositionX(), PlayerRef.GetPositionY(), PlayerRef.GetPositionZ(), 255.0)

    Fixes: Not finding the bed when trying to sleep in SexLab Survival.  Every time the user tried sleep, no matter the bed, they would be on the floor with 'terrible bed -40%'.

Reported bugs: None but the radius is set to 255, with my testing seems to be perfect.  If you are at the maximum activation distance from the bed it might not register.  Easy fix is get closer to the bed, you silly!  I kept it a bit smaller for the off chance there are several beds around.  The FindClosestReferenceOfAnyTypeInList might grab a bed that is already owned, forcing the player to sleep on the floor again.

 

Finding all the integrations for SLS is wild.  There are 30+ and I had to search hard for all the right versions.  If you want help check out here & here.  Also thanks for @AthenaESIV for helping me find some source & the legend @Monoman1 for the amazing mod itself.

 

 

Compatibilitibilitibilitibility?

These are strictly a VR compatibility patches. They set out to fix issues present only when playing VR.  Any issues outside of VR functionality will be ignored. 

Spoiler

These patches shouldn't break anything major, but you should check the spoiler for each patch you use.  It is good practice to READ!

No Spin Patches - One side effect is that you may be allowed to move during a scene, when the setVehicle() was supposed to pin the player character.  (Just don't touch your joystick silly). Some mods have additional methods of controlling the character that worked along side setVehicle(), like disabling player controls.  SetVehicle() is mostly used to keep the player attached to a marker (pillory, an npc, etc) and removing it shouldn't break anything else.  I also don't plan on adding/modifying anything to these scripts that would disable player controls if it is absent in the original unless there is  a strong demand.  Whipping may now also "push the player" around a very small amount.  Most importantly, these patches restore functionality for VR and allow users to actually enjoy these mods.  I have play tested most patches and they work great.

 

Install?

You need to have the original mod installed.

Install each No Spin patch you need with your MO.

Let it overwrite the scripts from the parent mod.

Play and keep your cookies

 

How you can help: 

If you notice any SL mods that cause the VR camera to spin, I am willing to attempt a patch.  It would be most helpful, if you were specific and precise.  The mod name, version, event that triggered the spin, multiple tests of that specific mod's feature causing the spin, etc... I share these patches so the community can also enjoy these mods without vomit inducing spinning.

Playtest the patches and let me know if they work!


Permissions:

Spoiler

Permission to post:

I have contacted the mod authors requesting permission to post these patches. 1, 2, 3, 4, 5.  I have gotten permission for some patches. 1  If the authors want me to remove them I gladly will. Authors: DM me or reply to my messages. 

 

Mod authors can also apply any of the patches on their own.  These can easily be added to the official mods if they want.  The mod author can put in an MCM option with a hasVR bool and an if/then statement above the SetVehicle() command.  The No Spin patches just comment out SetVehicle or set to (None).  The only reason to have the patch is because the player is in VR  (so an official MCM toggle might be overkill). 

 

If the mod author asks me to remove a patch and wishes to forsake the VR community by not implementing the fix, DM me the file or follow my DIY instructions in the first support post.

 

Permission for these patches:

If you want to take a look, source files are available.  The edits are all preceded by " ;VR Patch - <reason for edit> If you have suggestions or contributions, leave a comment.  You can also use the code for your own patches, modify them, improve them, or create a AIO.  No gate-keeping here.  Basically... do anything with them you want.  I love giving creative credit to others for their hard work but I don't need any myself.  Hopefully, you share any progress with the VR community.

 

Special thanks:

Quote

Whereas I am hardly ancillary and merely a bumbling Thane in this process, others are the true backbone of this community.  I should not be getting recognition, as it is mostly not due, and I am ultimately irrelevant in the game world.  There are a few true legends I would like to acknowledge:

 

Firstly the world builders: Bethesda for giving us a fantastic game with the most open modding tools/permissions possible.  The modding community will forever be in your debt.  Please don't bork Starfield's modding scene.  The future is in your hands.

 

Mighty Talos Reborn: Ashal for Loverlab/Sexlab

 

The Hero of Kvatch: @reikiri for saving SkyrimVR and creating a SexlabVR patch.

 

Champion of Cyrodiil: @prog0111 for instantiating the player body with VRIK.  We are now truly the man in the arena.

 

The greybeard: @Inte for amusing my folly, imparting wisdom, not doing the scripting for me, and setting me on my path.

 

The Knowledgeable at the College of Winterhold:  @prinyo @APL3 @Just Don't @Teann Daorsa and all the others for the guides, step by steps, tutorials, modlists, and troubleshooting help.

 

The True High King of Skyrim: @candriver1 for integrating VRIK support for DD and ZAZ, patiently patching massive QOL features, and generally not letting me settle with a mere SetVehicle(none) fix.

 
The king in rags, Madanach:   The one secretly pulling strings, making moves, and helping the resistance grow. Thanks for work on the DD animation patches, High heels integrations, and invisible furniture fix.
 

The Dragonborne: The everyday hero brave enough to start the modding adventure, downloading random sex mods, testing patches, and setting out to alter the world of Skyrim forever.

 

 

 

 

 

 


  • Submitter
  • Submitted
    04/19/2021
  • Category
  • Requires
    Original mods
  • Regular Edition Compatible

 

Edited by JayDrizzle
Added patches for DD: Devious Devices Extras - VRIK animation patch , High Heels Offsets, & Invisible Furniture Fix
Link to comment

Me Before Patches: ( this is mostly to set the image when this topic is linked - no need to click )

Spoiler

vom2.jpg.f84bd74d3284c66850b32e2a6b5a8a21.jpg

 

In case I die... Or... steps for posterity... Or... you too want to have modding powers:

 

Get the source

Check if the mod has source files (.psc) in the scripts folder.

Note - LE mods originally had a separate source folder in skyrim/data then scripts within it.  This was changed for SE.  If it is an LE mod, (or formatted for LE) just copy and paste the source files in the scripts/source folder.

I will add a section on how to get the .psc file if only .pex is available.

 

Find the scripts with SetVehicle

I use dnGREP to search the source files:

Spoiler

image.png.51bf3abfe9a29e04a37bce690f735dad.png.572b4e08ebe114bc1615de9208d2d8e3.png

 

Then I search for SetVehicle:

Spoiler

image.png.34986700a730908ba819e575a6fe6e0d.png.e18fa3bc802b400a69e62f85fdb8e708.png

 

This will then show me the script names and what line the command is on.

SetVehicle(None) is removing the effect, so we can ignore that.

I this example, I want to comment out the Victim.SetVehicle and not the Aggressor.

We could also add a SetVehicle(None) right after the command to stop the spin but also have the character placed at the marker.

 

Edit the script

Now we need to make the edits to the script.  I use Notepad++ and have the basic set it up according to this post.

I use MO2.  So, I have to add notepad++ to the executables in MO2.  That will give me access to all the sources made by the MO2 vfs:

 

Spoiler

image.png.41920c9400f888bb5302f595761e8066.png.465593878434a48a6150e34ec3c9f84b.png

 

Then I open the slhh_monitor.psc script in notepad++ that I found in the dnGREP search and find the offending line of code. Make the code get skipped over by adding a semi-colon in front ( ; ) or add the SetVehicle(None) after the scene is set up.

 

Spoiler

image.png.10b0c8a5b6d380b38f55c7ae1fb3cd85.png.18cde9b15666cfcac3a13efcf943dacc.png

 

Save changes for play test

Now we need to compile the script.  Hopefully, you set up your notepad++ like mentioned at the top. Run the papyrus compiler:

 

Spoiler

image.png.c7ba32002a443a239fa37658e0a3c688.png.771f804b5cdc2e16f7f1a366b0c3afc0.png

 

AND it didn't work.  Notice the unknown type from another .psc script. Uh oh.  It is best practice try to find the correct file/version/reference/mod/script/magic/etc.  In this case I found an typo:

 

Spoiler

image.png.9935cd2a5d9a67f64aa1081dcadbad48.png.69d666d9e377e377553d97f48c17a86f.png

 

There was no LAppPCSexQuestScript in Sexlab Approach's scripts folder.  There was a SLAppPCSexQuestScript.  Hmm.  Editing slhh_upkeep.psc to look for SLAppPCSexQuestScript lead to the slhh_monitor script edits to compile. Celebration!  I contacted the mod author about the typo.

 

Spoiler

image.png.1a8763b634a96f3c3a78a1cd8e23ee34.png.18debba85d4d4d2d86d6d3bfc387e023.png

 

Success.  Now you too are hacker.

 

 

Link to comment

YOU ARE MY NEW HERO!!!!!

 

Holy Cow this was awful, and nausea inducing.  I definitely will be following this, and if I can will help you or test.  Right now I'm doing a play through with minimal mods because I actually want to complete the game in VR at least once, then Imma gonna mod the crap out of it again, but you are the best!!!

 

 

Link to comment

I'm getting the spin in one of the FG addons.  I'm not sure which one but I think it's "Adventures."  I'm still kind of new to all this.  My PC is all messed up, so I'm thinking it's something with the skeleton and/or animation.

 

  I keep switching between body types, so I'm not quite sure what types I have in my LO.  My followers merge is about 60 mods with most being multiple followers. 

Link to comment
15 hours ago, LeroyJenkinsBrother said:

YOU ARE MY NEW HERO!!!!!

 

Holy Cow this was awful, and nausea inducing.  I definitely will be following this, and if I can will help you or test.  Right now I'm doing a play through with minimal mods because I actually want to complete the game in VR at least once, then Imma gonna mod the crap out of it again, but you are the best!!!

 

 

Thanks!

15 hours ago, LeroyJenkinsBrother said:

By the way, I was getting the spin in "Things In The Dark"... one of the iterations, and not sure if it is using SUM or not...

 

Thanks again!

I don't have Things in the Dark... so I am in the dark here.  I heard it was a bit buggy and needed console commands to complete.  So I haven't ever tested it.

 

I checked both Things in the Dark and From the Depths and did not find a SetVehicle command.  Are you sure it was that mod? Can you reproduce it reliably? When does it happen? Would love to solve it, but I need you to do a bit more troubleshooting.  Right now I am thinking that mod is not responsible for the spin.

 

Let me know!

Link to comment
8 hours ago, TopDogCat said:

I'm getting the spin in one of the FG addons.  I'm not sure which one but I think it's "Adventures."  I'm still kind of new to all this.  My PC is all messed up, so I'm thinking it's something with the skeleton and/or animation.

 

  I keep switching between body types, so I'm not quite sure what types I have in my LO.  My followers merge is about 60 mods with most being multiple followers. 

It would help to be specific here.  There was an earlier set of patches but my understanding is that they are no longer needed.

 

I have never used FG so I am unaware of the different addons.  If you could do a bit more trouble shooting I can help more.  Precisely which mod? Can you replicate it? When does it happen? etc

 

Hope to help with more info!

Link to comment

I’ve encountered spinning camera in a couple of places before, and I’ve noticed that it’s slightly controllable.

(The most recent example would be Deviously Cursed Loot, when locking myself into wooden stockade).

 

If you turn your head to a very specific angle it will stop the spinning, deviating from that angle will start the spin (slow spin if you move the tiniest amount, fraction of degree). Only left-right movement matters and it is super sensitive, close to impossible to keep it steady.

 

So the spin itself isn’t just a spin but a controllable left-right movement of the camera (At least for me, with my Rift S)

 

Ideal solution for VR would be to replace that left-right spin control with free look in any direction. Than we will no longer need to patch separate mods.

 

Maybe we should take a look at how Bethesda uses SetVehicle. During cart ride at the beginning we can look around in any direction without spinning. Do they use some kind of fix or use something different than SetVehicle for VR?

Link to comment
3 hours ago, JayDrizzle said:

Thanks!

I don't have Things in the Dark... so I am in the dark here.  I heard it was a bit buggy and needed console commands to complete.  So I haven't ever tested it.

 

I checked both Things in the Dark and From the Depths and did not find a SetVehicle command.  Are you sure it was that mod? Can you reproduce it reliably? When does it happen? Would love to solve it, but I need you to do a bit more troubleshooting.  Right now I am thinking that mod is not responsible for the spin.

 

Let me know!

 

There's a few different version of TID, but I get the spin if you go into the torture house and the DOM there puts you into one of the Zaz furniture.

 

Also, there's a kitchen there where you have spits that can cook meat slaves, if you put your self on the spit, the camera starts spinning.

 

I'll keep an eye out for more of this... but it will probably be a week or more before I'm modding it again so I can't test it.  I am looking forward to the Prison overhaul actually working.  Thanks muchly again!

Link to comment
3 hours ago, candriver1 said:

I’ve encountered spinning camera in a couple of places before, and I’ve noticed that it’s slightly controllable.

(The most recent example would be Deviously Cursed Loot, when locking myself into wooden stockade).

 

If you turn your head to a very specific angle it will stop the spinning, deviating from that angle will start the spin (slow spin if you move the tiniest amount, fraction of degree). Only left-right movement matters and it is super sensitive, close to impossible to keep it steady.

 

So the spin itself isn’t just a spin but a controllable left-right movement of the camera (At least for me, with my Rift S)

 

Ideal solution for VR would be to replace that left-right spin control with free look in any direction. Than we will no longer need to patch separate mods.

 

Maybe we should take a look at how Bethesda uses SetVehicle. During cart ride at the beginning we can look around in any direction without spinning. Do they use some kind of fix or use something different than SetVehicle for VR?

I know exactly what you mean with the left/right control.  I have talked to whom I conciser a LL master modder and it might not be the best to completely remove setVehicle() as it serves a purpose.  I am also not sure if it is possible to remove the command completely from SkyrimVR without breaking mods when they call that command.

 

I have read and myself experienced the SetVehicle spin in the intro cart ride so I am not sure it is risk free either. It seems to happen to people even on PSVR. In this video it effects the camera when there probably wasn't even a setvehicle call. I have tested all the following and only setvehicle fixes it (SetFreeCameraState, ForceThirdPerson, SetDontMove).  It seems to only effect a few mods and I don't mind either creating patches or alerting the mod authors to the cause and solution.

 

I have put myself in zaz pillory without inducing a spin.  I am using an earlier version of DCL.  I don't think that the eariler version of DCL actually put furniture into the wroldspace.  I could stand to be corrected though.

 

I just downloaded the newer version and there is a setvehicle() referrence and a new one for me (SetHeadTracking)

 

Spoiler

image.png.14724eff8761912b963778fceea32ec9.png

 

Anyway I will DM you a DCL V9 patch.  Test it and let me know if it stops the spin.  I will then share with the community.

If it is a zaz furniture I also sent a zaz v8+ Patch.

Link to comment
55 minutes ago, LeroyJenkinsBrother said:

 

There's a few different version of TID, but I get the spin if you go into the torture house and the DOM there puts you into one of the Zaz furniture.

 

Also, there's a kitchen there where you have spits that can cook meat slaves, if you put your self on the spit, the camera starts spinning.

 

I'll keep an eye out for more of this... but it will probably be a week or more before I'm modding it again so I can't test it.  I am looking forward to the Prison overhaul actually working.  Thanks muchly again!

 

Once again, I did not find anything in TID. BUT you did point me in the right direction.  I checked zaz and there are two references.  I will DM you the patch to test.

Link to comment
13 minutes ago, JayDrizzle said:

Anyway I will DM you a DCL V9 patch.  Test it and let me know if it stops the spin.  I will then share with the community.

I actually looked through scripts myself and I think it might be zadcFurnitureScript.psc from Devious Devices SE 5.1 that causes the spin.

 

(line 291) user.SetVehicle(self)

I think it should be changed to check for player (same as some other checks in same function):

If act != libs.PlayerRef
	user.SetVehicle(self)
EndIf

Unfortunately I don’t have creation kit installed to test it out myself.

Link to comment

Thanks for the fast response and the offer of help.  Please don't mind me because I am a space cadet.  I'm rebuilding my list right now, and I believe it's a different mod causing the issue.  I also remembered that I get that issue when another mod conflicts with the SL VR patch.  I had the same problem when I tried to add SL tools.

Link to comment
39 minutes ago, JayDrizzle said:

Good catch and no problem.  I sent you a DD5.1 Patch.  Let us know if it works.  I am currently on DD4.x as some people have been having trouble with DD5.  You might want to get into contact with @XenoDrake and see if you have any input. DD4 does not seem to utilize the SetVehicle so... no patch needed. Probably also why I didn't get the spin.

No more spinning but now there’s another problem, menu to break out is no longer available. And I have not waited for too long, but I have not seen any “time left” messages either. This may lead for players to be stuck permanently.

 

Compared to default script it also causes the device (stockade) to disappear and player pose is different (standing straight).

 

I’m guessing simply disabling SetVehicle is not going to work here.

 

Some thoughts:

Menu to break out might be tied to pressing buttons while in SetVehicle.

I think environment stockade device is removed and a new one created along with SetVehicle.

Player pose might be fixable by locking/unlocking VRIK, like SexLab VR Patch does.

 

Edit: Restored the default script and noticed that device is still missing (didn’t notice that before, with all the spinning) so that is unrelated to the fix. Buttons to break out work, and the pose is correct expect for free hands.

Link to comment

I completely get the pose not being there.  VIRK overrides most poses from the waist up to align with the motion controllers and HMD.  I have thought about mods sending a message to VIRK to disable the MCM bools for hands and arms.  (If in for a long haul you can deactivate these yourself) When in a yoke or arm bender they will align to then pose. That is a mod for another day... However, you SHOULD be holding your arms up or bent over in the pillory in real life! Consider it immersion. ?

 

The UI missing is a noodle scratcher.  I didn't see how commenting out the setvehicle() would remove a UI element from appearing, but looking at it closer gives me some clues.  Looks like the setvehicle is set to (self) and then that is the anchor point for the furniture, UI elements, etc.  There is an old set of UI code that could be reactivated, but it seems like we are pushing into a mod author zone.  Let me send you one with the original line intact and set another to (none) after the the whole function does it's setup.  Let me know if there is a short spin before it stops or not. 

 

If all else fails we can contact kimi and make a request or you can use DD4 which is spin free out of the box. (I just feel bad bothering the LL Powerhouses as they have real work to do)

 

Here is the whole function with an * for my placement.  Maybe give it a look over:

Spoiler

Function LockActor(actor act)        
    if !libs.SexLab.ActorLib.CanAnimate(act)
        return
    EndIf
    If act == libs.PlayerRef        
        Game.SetPlayerAIDriven()            
    EndIf
    user = act
    user.SetDoingFavor(False)                            
    If CurrentPose
        ActorUtil.RemovePackageOverride(user, CurrentPose)
    EndIf    
    if user != libs.PlayerRef
        If User.IsEquipped(clib.zadc_PrisonerChainsRendered)
            libs.removeDevice(User, clib.zadc_PrisonerChainsInventory, clib.zadc_PrisonerChainsRendered, libs.zad_DeviousHeavyBondage, destroydevice = true, skipmutex = true)
        EndIf
        If User == clib.SelectedUser
            clib.SelectedUser = None
        EndIf
        user.SetDontMove(True)
        user.SetRestrained(True)
        user.SetHeadTracking(False)
        Utility.Wait(0.5)
    EndIf
    ;OldScale = 1.0
    ;Float uScale = user.GetScale()    
    ;If uScale != 1.0 && uScale > 0.9
    ;    OldScale = uScale
    ;    user.SetScale(1.0)
    ;EndIf    
    user.moveto(self)    
    PosX = user.GetPositionX()
    PosY = user.GetPositionY()
    PosZ = user.GetPositionZ()    
    clib.StoreBondage(user, InvalidDevices, HideAllDevices)
    user.SetVehicle(self)        
    If ForceStripActor
        clib.StripOutfit(user)    
    EndIf    
    clib.SetNiOverrideOverride(user)
    ActorUtil.RemovePackageOverride(user, clib.zadc_pk_donothing)    
    Package Pose = clib.GetOverridePose(self)
    If Pose
        ; let's see if it's a valid one
        Bool isValidPose = False
        Int k = BoundPose.Length - 1
        While k >= 0
            If Pose == BoundPose[k]
                isValidPose = True
            EndIf
            k -= 1
        EndWhile
        If isValidPose
            ActorUtil.AddPackageOverride(user, Pose, 99)    
        Else
            ActorUtil.AddPackageOverride(user, PickRandomPose(), 99)    
        EndIf
    Else
        ActorUtil.AddPackageOverride(user, PickRandomPose(), 99)    
    EndIf
    User.EvaluatePackage()            
    self.disable()            
    If act == libs.PlayerRef
        Game.DisablePlayerControls(abMovement = true, abFighting = true, abSneaking = true, abMenu = true,    abActivate = false, abCamSwitch = false, abLooking = false, abJournalTabs = true)        
        ; if it's the player, we need to make sure she can try to escape
        UnregisterForAllKeys()    
        RegisterForKey(Input.GetMappedKey("Activate", 0))        
        If PreventWaitandSleep
            act.EquipItem(clib.zadc_NoWaitItem, True, True)
        EndIf
        Game.ForceThirdPerson()
        Game.SetCameraTarget(libs.PlayerRef)
    EndIf            
    clib.StoreDevice(user, self)
    SetLockShield()    
    DeviceEquippedAt = Utility.GetCurrentGameTime()
    ReleaseTimerStartedAt = Utility.GetCurrentGameTime()
    If ForceTimer
        isSelfBondage = True
    EndIf
    ApplyEffects(user)
    ApplyDevices(user)    
    RegisterForSingleUpdate(30)    
    LastBreakEscapeAttemptAt = 0.0
    LastStruggleEscapeAttemptAt = 0.0
    LastLockPickEscapeAttemptAt = 0.0
    LastUnlockAttemptAt = 0.0    
    EscapeBreakAttemptsMade = 0
    EscapeStruggleAttemptsMade = 0
    EscapeLockpickAttemptsMade = 0    
    lasthourdisplayed = 0
    LastPasserbyEventAt = 0.0
    OriginalBaseEscapeChance = BaseEscapeChance
    OriginalLockPickEscapeChance = LockPickEscapeChance
    OriginalBreakEscapeChance = BreakDeviceEscapeChance
    If SendDeviceModEvents
        SendDeviceEvent(True)
    EndIf
*    user.SetVehicle(None)
EndFunction

 

I haven't closely or logically followed the whole code to see if there is a timer or anything that might prevent the user.SetVehicle(None) until after something something something... I actually have to go soon and will check back tomorrow.  Hopefully your not stuck in that pillory overnight.

Link to comment

Menu is still missing unfortunately.

 

 

19 minutes ago, JayDrizzle said:

I completely get the pose not being there.  VIRK overrides most poses from the waist up to align with the motion controllers and HMD.  I have thought about mods sending a message to VIRK to disable the MCM bools for hands and arms.  (If in for a long haul you can deactivate these yourself) When in a yoke or arm bender they will align to then pose. That is a mod for another day... However, you SHOULD be holding your arms up or bent over in the pillory in real life! Consider it immersion. ?

Without the fix only the hands are free, and can be positioned correctly. With the fix the body is upright and bending over causes it to crouch.

Link to comment
1 minute ago, candriver1 said:

Menu is still missing unfortunately.

 

 

 

Without the fix only the hands are free, and can be positioned correctly. With the fix the body is upright and bending over causes it to crouch.

 

 

Sent you another version with a few zadclibs re-enabled during the compile.  Maybe I broke it with a fast edit, being lazy, and trying to avoid finding proper source files.

 

Did you get a temporary spin with the previous version?  What about the release timer update?

Link to comment
17 minutes ago, JayDrizzle said:

Did you get a temporary spin with the previous version?  What about the release timer update?

Got temporary spin, and saw timer message.

 

Tried third version of the fix, still can’t access the menu.

 

Edit: send me a compiled version without any SetVehicle changes to see if it is a compilation error.

Link to comment
1 hour ago, candriver1 said:

Got temporary spin, and saw timer message.

 

Tried third version of the fix, still can’t access the menu.

 

Edit: send me a compiled version without any SetVehicle changes to see if it is a compilation error.

 

 

I 100% figured out the setvehicle is the causing the spin. I am 95% sure the best way to prevent it.  I am also 90% sure that how I complied the new scripts might have borked other functions within the some of the original mods.  I will remake the patches correctly and post them soon.  I was lazy when acquiring and finding source files for some of the patches of mods I don't use. It is a compile error that I will rectify.  I need to get all the original source files again, undo my dirty edits, and find proper source files so they compile correctly.

Link to comment
14 hours ago, powergame214 said:

any possibility we might see a patch for Submissive Lola (and extended) or maybe Slaverun? Not sure what they use but whipping has always been on spin cycle with both of those.

 

 

So searching through the slaverun reloaded source scripts I can find the setvehicle but it looks like it is applied only to NPCs and shouldn't be causing the spin.  I didn't find any references in Submissive lola.

 

However ZAZ is a requirement for slaverun and submissive lola and it might be using the ZAZ pinmarker, which will cause camera spin.  I need you to download the ZAZ8+ No Spin Vr Patch and check if you are still spinning on those scenes.  Please report back to the community!

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