Popular Post h38fh2mf Posted April 9, 2016 Popular Post Share Posted April 9, 2016 TL;DR: how to fix pure virtual function call crash with SL. 1. download and install SKSE plugin attached to this post (not source). Before 1.62: 2. open [b]scripts/source/sslActorAlias.psc[/b] where you have SL installed. 3. find all lines with "SetScale" and comment it out by putting ; symbol in front of the line. 4. recompile script [b]sslActorAlias[/b] 2. or wait someone else to do it and post their compiled script. I don't have CK installed on this PC so I can't do it now. Nukaboil has posted a compiled version here: [url=http://www.loverslab.com/topic/60287-instructions-for-fixing-pure-virtual-function-call-crash/?p=1528558]http://www.loverslab.com/topic/60287-instructions-for-fixing-pure-virtual-function-call-crash/?p=1528558[/url] for SL 1.61b! SL 1.62 or higher: 2. disable all scaling in SL MCM. Side effects:SetVehicle papyrus command no longer rescales actor. That means mod like 0Seksy will no longer rescale actors automatically with SetVehicle and uneven scale actors will not align properly during that mod's animations! I haven't used that mod in a while, if it uses SetScale manually then it will still work properly. Other mods that rely on SetVehicle command may or may not be affected depending how they use it. If you still have this crash: 1. Make sure SKSE plugin was installed correctly and is loaded (SKSE log will show). 2. Make sure you recompiled the sslActorAlias script successfully after you commented out those lines or installed someone else's compiled script properly and have the correct SL version for that script. 3. Some other mod may also be using SetScale on actor, consult with that mod author or point him to this topic. The crash happens at the exact time the command is executed so that may be a clue. 4. There are also some other ways this crash can happen that is not fixed in this post. Long description: Hello, a while ago I said that pure virtual function call can be fixed and PMed Ashal how to do it but he seems to have not updated SL in a long time so it's still a problem for some. So here are instructions how to fix. Cause of crash is when scale of actor is changed too fast which causes movement controller to be recreated and if it's already being recreated then it will crash. Think something like this: while true game.getplayer().setscale(1) endwhile Causes the crash within few seconds. The only reason SL uses SetScale at all is because SetVehicle command automatically sets scale of actor to 1.0, solution to crash is to disable this behavior of SetVehicle and comment out all uses of SetScale in SL. SKSE plugin does this: *((char*)0x6AAC5F) = (char)0xEB; SetVehicleFixPlugin.zip SetVehicleFixPlugin - Source.zip 26 Link to comment
nukaboil Posted April 11, 2016 Share Posted April 11, 2016 You're a goddamned hero. 1 Link to comment
nukaboil Posted April 11, 2016 Share Posted April 11, 2016 Well, it worked for a while, anyway. Link to comment
h38fh2mf Posted April 11, 2016 Author Share Posted April 11, 2016 Did you follow the instructions with recompiling that script? It only works if SetScale command is not used at all. 1 Link to comment
h38fh2mf Posted April 16, 2016 Author Share Posted April 16, 2016 Read the instructions in first post. Plugin itself doesn't fix crash. Link to comment
nukaboil Posted April 16, 2016 Share Posted April 16, 2016 What does the plugin do? (Sorry for being an idiot) Can I just change the script in notepad++? You mention the CK but I'm using mod organizer so I can just edit the script it's installed Also wouldn't disabled the scale actors in the MCM have the same effect? Link to comment
h38fh2mf Posted April 16, 2016 Author Share Posted April 16, 2016 SL uses papyrus command "SetVehicle" to lock NPC and player from moving for animations. This command has a side effect that resets or messes up scale of actor. To combat this SL will use SetScale command on the actor again right after this. This command can cause the crash if used rapidly. The plugin removes the side effect of SetVehicle command so that scale is not messed with, which means SL doesn't have to use the SetScale command anymore. That means it can be commented out completely. Just editing the script is not enough you have to recompile it too. Let someone else do this and hopefully they will post it here, I can't do it either right now. Disabling scale actor in MCM doesn't accomplish this because that option is about evening scale of actor and not this as far as I know. 2 Link to comment
nukaboil Posted April 16, 2016 Share Posted April 16, 2016 Okay, after learning how, I've edited and compiled sslActorAlias. I've commented out all mentions of SetScale, but it's possible my poor knowledge has let me make some mistake, so here's the edited source and if h38 deems it safe, then for other users like me I've uploaded the compiled version 1 Link to comment
h38fh2mf Posted April 16, 2016 Author Share Posted April 16, 2016 Yeah looks fine, is this from 1.61b ? So people will know if they download it then it must be for their exact version. Link to comment
WraithSlayer Posted April 16, 2016 Share Posted April 16, 2016 I assume this fix prevents SexLab's Even Actor Height option from working? Link to comment
h38fh2mf Posted April 16, 2016 Author Share Posted April 16, 2016 Yea it would, since the scaling is disabled. Link to comment
nukaboil Posted April 17, 2016 Share Posted April 17, 2016 It's worked for me so far. No more PVFC crashes since I made the new script. Link to comment
Guest ffabris Posted April 17, 2016 Share Posted April 17, 2016 Thanks for posting this, appreciated! Maybe put in downloads so more find it? Link to comment
thesteve812 Posted April 26, 2016 Share Posted April 26, 2016 I've been a long time lurker. Just wanted to post a thank you for this fix. Link to comment
GeorgiaCav Posted April 30, 2016 Share Posted April 30, 2016 Awesome work, gents. EDIT: Just to make sure I'm understanding this: You have to have BOTH the SetVehicleFixPlugin by h38fh2mf AND the compiled sslActorAlias.pex script by Nukaboil, right? I tried using just the sslActorAlias script and ended up with automatically-resizing npc's in every animation. My PC got raped by the Ebony Warrior, for example, and he shrunk down to about 6ft tall (from something like 7'6", a difference of about half a meter for metric users). I tried manually doing setscale 1 in the console but had to do it over and over as anytime the animation changed the npc would re-scale to the smaller size (my PC is about .95 or so). Using both together seems to have fixed the issue. Npc's no longer automatically rescale. I still haven't tested extensively to see if I'm getting PVFC crashes with both, but with the sslActorAlias script alone I hadn't had a PVFC in something like six hours of gameplay, where previously it had been crashing on every third scene or so. Link to comment
Stephbx Posted May 26, 2016 Share Posted May 26, 2016 I have a problem since i installed this fix. The fix in itself work great, but combined with PSQ, it result in a no ragdoll death when using killing sex actions. The NPC will be dead but stil breathing and generaly suspended standing in an ackward angle. The only way to correct it i found is to resurrect kill the caractere in the console. Link to comment
Funnybizness Posted June 1, 2016 Share Posted June 1, 2016 Oh my goodness...I finally got to play after months of just animating and I got the error right after using sexlab solutions...thank the Gods I found this. Thank you so damn much. Link to comment
Ashal Posted June 8, 2016 Share Posted June 8, 2016 As a quick note + bump to this... SexLab 1.62 has a disable scaling option, which will automatically disable all calls to setscale() by sexlab so you don't need to comment them out and recompile the script for this to work anymore. Just install the SKSE plugin here then enable 1.62's disable scaling option and you should be good to go. 5 Link to comment
Guest Posted June 22, 2016 Share Posted June 22, 2016 TL;DR: how to fix pure virtual function call crash with SL. 1. download and install SKSE plugin attached to this post (not source). e-virtual-function-call-crash/?p=1528558[/url] for SL 1.61b! SL 1.62 or higher: 2. disable all scaling in SL MCM. Side effects: *((char*)0x6AAC5F) = (char)0xEB; Thank you for this. I have SL 1.62. Which file should I download; first or second? Link to comment
h38fh2mf Posted June 22, 2016 Author Share Posted June 22, 2016 Read Ashal's last post before yours. Link to comment
Guest Posted June 23, 2016 Share Posted June 23, 2016 Thank you... sorry.. didn't see his post.. . Link to comment
Niimua Posted April 26, 2017 Share Posted April 26, 2017 Thank you so much!!! <3 This saved my game! I was getting so frustrated again... trying to google and find other "solutions"... And this actually works Link to comment
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