fishburger67 Posted February 20, 2015 Author Posted February 20, 2015 If you want to ban every that uses a cloak spell then need to ban Skyrim itself. How about astronach with flame/frost ability? My ability is the same type. It presents ONLY on player char and act similar. Activating only in combat and in melee area only. Compensate to my nude girl defence by absorb some health and increase ONLY her arousal in a battle because she is succubus. Well, this is different than the SLA cloaking spell. It affected EVERY NPC within range. During the big battle scenes, every NPC in the battle had to get evaluated. If you spell only affects the player, it will have hardly any impact. I am doing my best BTW to evangelize for better programming practices so we aren't getting all these CTDs. About deadlocks/data mess. Lets suggest that during battle SexLab Aroused internally interacts with arousal of my PC in common way: It got explosre and starts to output debug. At the same time MY MOD (or any other) via StorageUtil changes SLAroused.ActorExposure. What we will get afterwards? All my input will be COMPLETELY ignored. This is not a deadlock. It is a data overwrite. If you are changing exposure, you should have already read the existing expose, added in what you wanted to increase or decrease it and wrote it back. If this happened at precisely the same time as Redux was writing it, one of the two writes would be overwritten by the other. Most programming languages have locking mechanisms for when something like this is critical. In 30 years of experience, I have only seen it used twice. The cost to implement locking is high and the benefits are low except in a very few selected cases. In this case, Redux and you are presumably affecting arousal in very small increments. Missing an increment on very rare occasions would not in my view be considered critical. That's why I ask you to create a 'gates' to awoid issues similar this one. Because if my mod enters via UpdateActorExplosure() or UpdateActorExplosureF() as intended everything will be OK. Version 15 implements this aleady: int eid = ModEvent.Create("slaUpdateExposure") ModEvent.PushForm(eid, actor) ModEvent.PushFloat(eid, 2.0) ModEvent.Send(eid) Thank you.
vpoteryaev Posted February 20, 2015 Posted February 20, 2015 Version 15 implements this aleady... My example was not about deadlock but data mess and loosing integrity, at first. And we can minimize that without triggers (semaphores, block sections etc.) by providing entry functions (public). But do not allow everyone (as you advised to me) 'hook in' into functions or change 'private' variables or properties. At second your custom event DOES NOT provide FLOAT functionality because your handler simply cast parameter to integer and transfer to standard UpdateActorExplosure() As attachment all that I'm asking for, made in 5 minutes on knee but not tested. seems no errors. note: I commented modified by me as ;vlk. Simply to find source.7z
fishburger67 Posted February 20, 2015 Author Posted February 20, 2015 Version 15 implements this aleady... My example was not about deadlock but data mess and loosing integrity, at first. And we can minimize that without triggers (semaphores, block sections etc.) by providing entry functions (public). But do not allow everyone (as you advised to me) 'hook in' into functions or change 'private' variables or properties. At second your custom event DOES NOT provide FLOAT functionality because your handler simply cast parameter to integer and transfer to standard UpdateActorExplosure() As attachment all that I'm asking for, made in 5 minutes on knee but not tested. seems no errors. Yes, you are right. It cast the float to an int. I'll have a look soon.
shadowhamster Posted February 21, 2015 Posted February 21, 2015 quick help pls? i didnt really get this is the description of the mod?!!!! AM i suposed to have the Cloak effect TURNED OFF in the NEW aroused Redux ? cuz in installation it says to turn off the old aroused cloak then blabla bla install new and wait , nothing about the settings in Redux version well i have it off now because it was like it when i installed redux....
vpoteryaev Posted February 21, 2015 Posted February 21, 2015 quick help pls? i didnt really get this is the description of the mod?!!!! AM i suposed to have the Cloak effect TURNED OFF in the NEW aroused Redux ? cuz in installation it says to turn off the old aroused cloak then blabla bla install new and wait , nothing about the settings in Redux version well i have it off now because it was like it when i installed redux.... About Redux, It has no matter if in MCM Cloak effect turned ON/OFF. Regardless your choice this functionality always disabled.
shadowhamster Posted February 21, 2015 Posted February 21, 2015 quick help pls? i didnt really get this is the description of the mod?!!!! AM i suposed to have the Cloak effect TURNED OFF in the NEW aroused Redux ? cuz in installation it says to turn off the old aroused cloak then blabla bla install new and wait , nothing about the settings in Redux version well i have it off now because it was like it when i installed redux.... About Redux, It has no matter if in MCM Cloak effect turned ON/OFF. Regardless your choice this functionality always disabled. Thank you for the quick response ^^!!!!!!
Arizona_Steve Posted February 21, 2015 Posted February 21, 2015 Tried this last night and my log was absolutely full of the following (not to mention a couple of freezes that led to me uninstalling this). [02/20/2015 - 09:28:58PM] Error: Cannot call value() on a None object, aborting function call stack: [None].SayOnHitByMagicEffectScript.OnEffectStart() - "SayOnHitByMagicEffectScript.psc" Line 13 [02/20/2015 - 09:28:58PM] Warning: Assigning None to a non-object variable named "::temp6" stack: [None].SayOnHitByMagicEffectScript.OnEffectStart() - "SayOnHitByMagicEffectScript.psc" Line 13 [02/20/2015 - 09:29:04PM] Error: Cannot call value() on a None object, aborting function call stack: [None].SayOnHitByMagicEffectScript.OnEffectStart() - "SayOnHitByMagicEffectScript.psc" Line 13 [02/20/2015 - 09:29:04PM] Warning: Assigning None to a non-object variable named "::temp5" stack: [None].SayOnHitByMagicEffectScript.OnEffectStart() - "SayOnHitByMagicEffectScript.psc" Line 13 [02/20/2015 - 09:29:04PM] Error: Cannot call value() on a None object, aborting function call stack: [None].SayOnHitByMagicEffectScript.OnEffectStart() - "SayOnHitByMagicEffectScript.psc" Line 13 [02/20/2015 - 09:29:04PM] Warning: Assigning None to a non-object variable named "::temp6" stack: [None].SayOnHitByMagicEffectScript.OnEffectStart() - "SayOnHitByMagicEffectScript.psc" Line 13 [02/20/2015 - 09:29:04PM] Error: Cannot call value() on a None object, aborting function call stack: [None].SayOnHitByMagicEffectScript.OnEffectStart() - "SayOnHitByMagicEffectScript.psc" Line 13 [02/20/2015 - 09:29:04PM] Warning: Assigning None to a non-object variable named "::temp5" stack: [None].SayOnHitByMagicEffectScript.OnEffectStart() - "SayOnHitByMagicEffectScript.psc" Line 13 [02/20/2015 - 09:29:04PM] Error: Cannot call value() on a None object, aborting function call stack: [None].SayOnHitByMagicEffectScript.OnEffectStart() - "SayOnHitByMagicEffectScript.psc" Line 13 [02/20/2015 - 09:29:04PM] Warning: Assigning None to a non-object variable named "::temp6" stack: [None].SayOnHitByMagicEffectScript.OnEffectStart() - "SayOnHitByMagicEffectScript.psc" Line 13
WaxenFigure Posted February 21, 2015 Posted February 21, 2015 Tried this last night and my log was absolutely full of the following (not to mention a couple of freezes that led to me uninstalling this). [02/20/2015 - 09:28:58PM] Error: Cannot call value() on a None object, aborting function call stack: [None].SayOnHitByMagicEffectScript.OnEffectStart() - "SayOnHitByMagicEffectScript.psc" Line 13 [02/20/2015 - 09:28:58PM] Warning: Assigning None to a non-object variable named "::temp6" stack: [None].SayOnHitByMagicEffectScript.OnEffectStart() - "SayOnHitByMagicEffectScript.psc" Line 13 [02/20/2015 - 09:29:04PM] Error: Cannot call value() on a None object, aborting function call stack: [None].SayOnHitByMagicEffectScript.OnEffectStart() - "SayOnHitByMagicEffectScript.psc" Line 13 [02/20/2015 - 09:29:04PM] Warning: Assigning None to a non-object variable named "::temp5" stack: [None].SayOnHitByMagicEffectScript.OnEffectStart() - "SayOnHitByMagicEffectScript.psc" Line 13 [02/20/2015 - 09:29:04PM] Error: Cannot call value() on a None object, aborting function call stack: [None].SayOnHitByMagicEffectScript.OnEffectStart() - "SayOnHitByMagicEffectScript.psc" Line 13 [02/20/2015 - 09:29:04PM] Warning: Assigning None to a non-object variable named "::temp6" stack: [None].SayOnHitByMagicEffectScript.OnEffectStart() - "SayOnHitByMagicEffectScript.psc" Line 13 [02/20/2015 - 09:29:04PM] Error: Cannot call value() on a None object, aborting function call stack: [None].SayOnHitByMagicEffectScript.OnEffectStart() - "SayOnHitByMagicEffectScript.psc" Line 13 [02/20/2015 - 09:29:04PM] Warning: Assigning None to a non-object variable named "::temp5" stack: [None].SayOnHitByMagicEffectScript.OnEffectStart() - "SayOnHitByMagicEffectScript.psc" Line 13 [02/20/2015 - 09:29:04PM] Error: Cannot call value() on a None object, aborting function call stack: [None].SayOnHitByMagicEffectScript.OnEffectStart() - "SayOnHitByMagicEffectScript.psc" Line 13 [02/20/2015 - 09:29:04PM] Warning: Assigning None to a non-object variable named "::temp6" stack: [None].SayOnHitByMagicEffectScript.OnEffectStart() - "SayOnHitByMagicEffectScript.psc" Line 13 Interesting since that code is not part of the Sexlab Aroused Redux mod. Which also means whatever was spamming your log is still in your game ready to crash you again if it finds a way to conflict with another mod. Please find out what mod that crap is spewing from so it can be put on a list if incompatible mods.
Quisling Posted February 22, 2015 Posted February 22, 2015 Tried this last night and my log was absolutely full of the following (not to mention a couple of freezes that led to me uninstalling this). [02/20/2015 - 09:28:58PM] Error: Cannot call value() on a None object, aborting function call stack: [None].SayOnHitByMagicEffectScript.OnEffectStart() - "SayOnHitByMagicEffectScript.psc" Line 13 [02/20/2015 - 09:28:58PM] Warning: Assigning None to a non-object variable named "::temp6" stack: [None].SayOnHitByMagicEffectScript.OnEffectStart() - "SayOnHitByMagicEffectScript.psc" Line 13 [02/20/2015 - 09:29:04PM] Error: Cannot call value() on a None object, aborting function call stack: [None].SayOnHitByMagicEffectScript.OnEffectStart() - "SayOnHitByMagicEffectScript.psc" Line 13 [02/20/2015 - 09:29:04PM] Warning: Assigning None to a non-object variable named "::temp5" stack: [None].SayOnHitByMagicEffectScript.OnEffectStart() - "SayOnHitByMagicEffectScript.psc" Line 13 [02/20/2015 - 09:29:04PM] Error: Cannot call value() on a None object, aborting function call stack: [None].SayOnHitByMagicEffectScript.OnEffectStart() - "SayOnHitByMagicEffectScript.psc" Line 13 [02/20/2015 - 09:29:04PM] Warning: Assigning None to a non-object variable named "::temp6" stack: [None].SayOnHitByMagicEffectScript.OnEffectStart() - "SayOnHitByMagicEffectScript.psc" Line 13 [02/20/2015 - 09:29:04PM] Error: Cannot call value() on a None object, aborting function call stack: [None].SayOnHitByMagicEffectScript.OnEffectStart() - "SayOnHitByMagicEffectScript.psc" Line 13 [02/20/2015 - 09:29:04PM] Warning: Assigning None to a non-object variable named "::temp5" stack: [None].SayOnHitByMagicEffectScript.OnEffectStart() - "SayOnHitByMagicEffectScript.psc" Line 13 [02/20/2015 - 09:29:04PM] Error: Cannot call value() on a None object, aborting function call stack: [None].SayOnHitByMagicEffectScript.OnEffectStart() - "SayOnHitByMagicEffectScript.psc" Line 13 [02/20/2015 - 09:29:04PM] Warning: Assigning None to a non-object variable named "::temp6" stack: [None].SayOnHitByMagicEffectScript.OnEffectStart() - "SayOnHitByMagicEffectScript.psc" Line 13 Interesting since that code is not part of the Sexlab Aroused Redux mod. Which also means whatever was spamming your log is still in your game ready to crash you again if it finds a way to conflict with another mod. Please find out what mod that crap is spewing from so it can be put on a list if incompatible mods. Think it's a vanilla bug, fixed in a recent Unofficial Patch. http://afkmods.iguanadons.net/index.php?/tracdown/issue/13701-dg-sayonhitbymagiceffectscriptpsc-errors/
NeatLL Posted February 23, 2015 Posted February 23, 2015 This might have been asked already, but the NPC arousal values do not seem to be updating like they should. I have other mods that trigger certain events when a certain Arousal level is reached (Aroused Animations, for example) that do not trigger when I enter the room, but do trigger when I manually update the NPC.
Loller99 Posted February 23, 2015 Posted February 23, 2015 I kind of not understand how to install this. I followed instructions, but when i try to set the nakedness function on the blush mod, it says that it relays on sexlab aroused redux, (which means it thinks i did not install it)
fishburger67 Posted February 23, 2015 Author Posted February 23, 2015 This might have been asked already, but the NPC arousal values do not seem to be updating like they should. I have other mods that trigger certain events when a certain Arousal level is reached (Aroused Animations, for example) that do not trigger when I enter the room, but do trigger when I manually update the NPC. Pretty sure this works fine. I have exactly the opposite problem in that my Sex Slaves are always aroused. Note that you or a follower must be naked for anything to happen. I kind of not understand how to install this. I followed instructions, but when i try to set the nakedness function on the blush mod, it says that it relays on sexlab aroused redux, (which means it thinks i did not install it) Have no idea about "the blush mod". If it is relying of some formId in it's check, that might be a problem. Suggest you post on their forum.
vpoteryaev Posted February 23, 2015 Posted February 23, 2015 To fishburger67. Yesterday i found that my PC Arousal grows with extremely high rate. Seems it SkyrimII joke with Dibellas Sisters , But now my PC reverted to exhibitionist regardless my choice. Dig deeper into code and found logical mistake with exposure calculated for exhibitionists. I think it's not really your Redux, but original SL Aroused fault. Now exposure is added if someone see naked exhibitionist, EVEN this one does not know about this. For example from back, and exhib never saw that person before and will never see that person afterwards. That's wrong. At my pow, Exposure must be added same way as usual. Only If naked Exhib see any person he/she exposures, regardless that person is looking at Exhib or not (exhib switch on his/her imagination that person will look at anyway). Thank you.
fishburger67 Posted February 24, 2015 Author Posted February 24, 2015 I did not change any of the computations done by the original, only how the actors are captured and evaluated. As far as I understand, exhibitionist is only applied on to the exhibitionist. There is no "bonus" to other NPCs seeing one, only the exhibitionist herself. Lots of mods fiddle with exposure directly. It's available directly in StorateUtil and my fiddling with the faction. I am sure Skyriml did it in his latest mods.
Neliahawk Posted February 24, 2015 Posted February 24, 2015 To fishburger67. Yesterday i found that my PC Arousal grows with extremely high rate. Seems it SkyrimII joke with Dibellas Sisters , But now my PC reverted to exhibitionist regardless my choice. Dig deeper into code and found logical mistake with exposure calculated for exhibitionists. I think it's not really your Redux, but original SL Aroused fault. Now exposure is added if someone see naked exhibitionist, EVEN this one does not know about this. For example from back, and exhib never saw that person before and will never see that person afterwards. That's wrong. At my pow, Exposure must be added same way as usual. Only If naked Exhib see any person he/she exposures, regardless that person is looking at Exhib or not (exhib switch on his/her imagination that person will look at anyway). Thank you. i had a similar problem in my last save... after a while i noticed that "something" always sets my characters exposure rate to 10 and marks the character as exhibitionist. (and i dont have arousal redux installed). noticed it because i had the arousal widget on and saw it jumping up all the time by 10 when my character was enslaved naked. i think in my case it was sexlab hormones that set these... but i am not totally sure as i stopped playing that save to install/update mods and start a new game later. (or maybe it was some enslave or collar mod... well not totally sure what caused it, but i think it was sexlab hormones.) Now exposure is added if someone see naked exhibitionist, EVEN this one does not know about this. For example from back, and exhib never saw that person before and will never see that person afterwards. That's wrong. i guess it would make more sense if the player must "see" who sees the player to get arousal increase from exhibitionist. i think its more about "knowing" that you might be seen and not seeing who sees you naked... as i.e. if you have a blindfold on you dont see who sees you either and then it still should go up because you know people are around that see you naked. maybe a 2nd exhibitionist exposure number setting might be something to add? so you have the normal exposure value when you see sex acts from others (i.e. you could set this high) and a extra one that you can set for when you are exhibitionist and seen by others. (and you could set this lower as more a low over time thing). just a random idea...
fishburger67 Posted February 24, 2015 Author Posted February 24, 2015 guess it would make more sense if the player must "see" who sees the player to get arousal increase from exhibitionist. People don't get aroused from seeing an exhibitionist, at least, no more than they would ANY naked NPC. Exhibitionists themselves get aroused when they are naked.
iggypop1 Posted February 25, 2015 Posted February 25, 2015 Hi Fishburger Im working on reorder my mods ex my log . Therein its stated that " Cannot open store for class "slaResetScr", missing file?" sla is sex lab aroused..yes? Its something with the scanner i guess Can you tell me whats wrong and what to do? Iggy Edit : In the MCM menu it tells me its version 15(20140124) but my NMM tells me its 16 . Maybe i just overwrote instead of uninstalled the old ? Is there any harm done(i have other mods dependent on Aroused) in uninstalling and reinstall? Yours Iggy
fishburger67 Posted February 25, 2015 Author Posted February 25, 2015 Hi Fishburger Im working on reorder my mods ex my log . Therein its stated that " Cannot open store for class "slaResetScr", missing file?" sla is sex lab aroused..yes? Its something with the scanner i guess Can you tell me whats wrong and what to do? Iggy Edit : In the MCM menu it tells me its version 15(20140124) but my NMM tells me its 16 . Maybe i just overwrote instead of uninstalled the old ? Is there any harm done(i have other mods dependent on Aroused) in uninstalling and reinstall? Yours Iggy You can safely ignore that error as slaResetScr is an empty old script for compatibility I guess. However, it is contain in the lastest version. You MCM should say 16. If it does not, you likely have loose files remaining from a previous install. In this case, you have two choices. Delete the old loose files in scripts that start with sla. Alternatively, you can uninstall the bsa version and install the loose version which will overwrite the old scripts. If it was me, I'd delete the old scripts because I don't like the messiness, just be careful. There are exactly 10 scripts in my install starting with sla. If you have other mods that put scripts there, it is possible that they could start with sla. As I said, just be careful. Here is a list of the scripts: slacloakeffscr slaConfigScr slaFrameworkScr slaInternalScr slamainscr slaNakedScript slaPlayerAliasScr slaResetScr slaScanAllScript slaUtilScr There will be a .pex file in the scripts directory and a .psc in the scripts\source directory.
iggypop1 Posted February 25, 2015 Posted February 25, 2015 Hi Fishburger Im working on reorder my mods ex my log . Therein its stated that " Cannot open store for class "slaResetScr", missing file?" sla is sex lab aroused..yes? Its something with the scanner i guess Can you tell me whats wrong and what to do? Iggy Edit : In the MCM menu it tells me its version 15(20140124) but my NMM tells me its 16 . Maybe i just overwrote instead of uninstalled the old ? Is there any harm done(i have other mods dependent on Aroused) in uninstalling and reinstall? Yours Iggy You can safely ignore that error as slaResetScr is an empty old script for compatibility I guess. However, it is contain in the lastest version. You MCM should say 16. If it does not, you likely have loose files remaining from a previous install. In this case, you have two choices. Delete the old loose files in scripts that start with sla. Alternatively, you can uninstall the bsa version and install the loose version which will overwrite the old scripts. If it was me, I'd delete the old scripts because I don't like the messiness, just be careful. There are exactly 10 scripts in my install starting with sla. If you have other mods that put scripts there, it is possible that they could start with sla. As I said, just be careful. Here is a list of the scripts: slacloakeffscr slaConfigScr slaFrameworkScr slaInternalScr slamainscr slaNakedScript slaPlayerAliasScr slaResetScr slaScanAllScript slaUtilScr There will be a .pex file in the scripts directory and a .psc in the scripts\source direct Thank you i will try your solution Edit: Loose files did it (but without the little a?) Thank you very kind Iggy
fishburger67 Posted February 25, 2015 Author Posted February 25, 2015 Hi Fishburger Im working on reorder my mods ex my log . Therein its stated that " Cannot open store for class "slaResetScr", missing file?" sla is sex lab aroused..yes? Its something with the scanner i guess Can you tell me whats wrong and what to do? Iggy Edit : In the MCM menu it tells me its version 15(20140124) but my NMM tells me its 16 . Maybe i just overwrote instead of uninstalled the old ? Is there any harm done(i have other mods dependent on Aroused) in uninstalling and reinstall? Yours Iggy You can safely ignore that error as slaResetScr is an empty old script for compatibility I guess. However, it is contain in the lastest version. You MCM should say 16. If it does not, you likely have loose files remaining from a previous install. In this case, you have two choices. Delete the old loose files in scripts that start with sla. Alternatively, you can uninstall the bsa version and install the loose version which will overwrite the old scripts. If it was me, I'd delete the old scripts because I don't like the messiness, just be careful. There are exactly 10 scripts in my install starting with sla. If you have other mods that put scripts there, it is possible that they could start with sla. As I said, just be careful. Here is a list of the scripts: slacloakeffscr slaConfigScr slaFrameworkScr slaInternalScr slamainscr slaNakedScript slaPlayerAliasScr slaResetScr slaScanAllScript slaUtilScr There will be a .pex file in the scripts directory and a .psc in the scripts\source direct Thank you i will try your solution Edit: Loose files did it (but without the little a?) Thank you very kind Iggy Yes, the a version only affects the bsa and includes the missing file you found. It always existed in the loose version.
BeamerMiasma Posted February 26, 2015 Posted February 26, 2015 This might have been asked already, but the NPC arousal values do not seem to be updating like they should. I have other mods that trigger certain events when a certain Arousal level is reached (Aroused Animations, for example) that do not trigger when I enter the room, but do trigger when I manually update the NPC. Pretty sure this works fine. I have exactly the opposite problem in that my Sex Slaves are always aroused. Note that you or a follower must be naked for anything to happen. Hi fishburger, what NeatLL describes is actually a real issue, but only for the faction rank in sla_Arousal, so if you call GetActorArousal directly you get the correct number (and at that moment of course the faction rank will be updated too, which makes the issue hard to track). The issue basically boils down to the fact that the faction rank is only updated when the actor has LOS of another naked actor, so if an actor doesn't see a naked actor for a day or so their faction rank will be vastly different from their actual arousal as reported by GetActorArousal. Long (technical) description: In slaMainScr.OnUpdate(), you call UpdateNakedArousal to update the exposure of all scanned NPCs and the PC for seeing naked people, or for being naked when they are exhibitionist. UpdateNakedArousal in turn calls slaFrameworkScr.UpdateActorExposure to increase the actor's exposure if they have LOS of a naked person. This function in turn calls SetActorExposure, where finally GetActorArousal is called which then updates the sla_Arousal faction rank. The problem is that GetActorArousal is never called for actors who don't have LOS of another naked actor (which can be all of them if there are no naked actors around). As a result the sla_Arousal faction rank is never updated, even though the arousal of the actors will be steadily changing due to the passing of time. This effectively means that sla_Arousal does not contain the arousal value for an actor the last time they were scanned, but rather it shows their arousal the last time they saw a nude person (or if they are exhibitionist, the last time they were seen naked). Since this can be a long time ago, this often causes an actor's sla_Arousal faction rank to jump from 0 to 100 when they finally do see a naked person - or when GetActorArousal is called by other means, like pressing the N hotkey. In order to make the sla_Arousal faction work as a lightweight way to poll arousal values, the faction rank has to be updated on every scanning round for all found actors, even when there are no naked people around, otherwise the only way to get the current arousal of an actor is to call GetActorArousal directly, which I believe is the thing the sla_Arousal faction is meant to prevent in the first place. I have attached a changed version of slamainscr.psc that fixes this issue. I've been running it myself for a few hours now and it works fine for me. I got a bit dizzy of keeping track of actor references with the 3 separate loops you had in the OnUpdate event, so I rolled all 3 of them up into 1 (nested) loop to update all NPCs and the PC in the same loop. It looks a bit different because of that, but functionally speaking the only change is (should be) that on every scan GetActorArousal is now called for every scanned actor and the PC, even when there are no naked people around. That guarantees that the rank in sla_Arousal always matches the arousal of the actor during the last scan. The only other change aside from OnUpdate is in UpdateNakedArousal where I made sure that GetActorArousal is called to update the faction rank even when there is no LOS. This was necessary to prevent GetActorArousal from being called more than once, since the loop inside OnUpdate does not know if UpdateNakedArousal will find LOS or not. I suppose the neater way would be to let GetActorArousal return true or false depending on if it updated the faction rank, but I did not want to change the interface in any way. I added comments to indicate where I made changes. Finally another minor issue I found while debugging: the SLActor08 alias in slaScanAll has the Reuse flag set, and the SLActor14 alias has the Allow Disabled flag set, but the Allow Reserved flag not. And the fix: slamainscr.psc Cheers.
fishburger67 Posted February 26, 2015 Author Posted February 26, 2015 This might have been asked already, but the NPC arousal values do not seem to be updating like they should. I have other mods that trigger certain events when a certain Arousal level is reached (Aroused Animations, for example) that do not trigger when I enter the room, but do trigger when I manually update the NPC. Pretty sure this works fine. I have exactly the opposite problem in that my Sex Slaves are always aroused. Note that you or a follower must be naked for anything to happen. Hi fishburger, what NeatLL describes is actually a real issue, but only for the faction rank in sla_Arousal, so if you call GetActorArousal directly you get the correct number (and at that moment of course the faction rank will be updated too, which makes the issue hard to track). The issue basically boils down to the fact that the faction rank is only updated when the actor has LOS of another naked actor, so if an actor doesn't see a naked actor for a day or so their faction rank will be vastly different from their actual arousal as reported by GetActorArousal. Long (technical) description: In slaMainScr.OnUpdate(), you call UpdateNakedArousal to update the exposure of all scanned NPCs and the PC for seeing naked people, or for being naked when they are exhibitionist. UpdateNakedArousal in turn calls slaFrameworkScr.UpdateActorExposure to increase the actor's exposure if they have LOS of a naked person. This function in turn calls SetActorExposure, where finally GetActorArousal is called which then updates the sla_Arousal faction rank. The problem is that GetActorArousal is never called for actors who don't have LOS of another naked actor (which can be all of them if there are no naked actors around). As a result the sla_Arousal faction rank is never updated, even though the arousal of the actors will be steadily changing due to the passing of time. This effectively means that sla_Arousal does not contain the arousal value for an actor the last time they were scanned, but rather it shows their arousal the last time they saw a nude person (or if they are exhibitionist, the last time they were seen naked). Since this can be a long time ago, this often causes an actor's sla_Arousal faction rank to jump from 0 to 100 when they finally do see a naked person - or when GetActorArousal is called by other means, like pressing the N hotkey. In order to make the sla_Arousal faction work as a lightweight way to poll arousal values, the faction rank has to be updated on every scanning round for all found actors, even when there are no naked people around, otherwise the only way to get the current arousal of an actor is to call GetActorArousal directly, which I believe is the thing the sla_Arousal faction is meant to prevent in the first place. I have attached a changed version of slamainscr.psc that fixes this issue. I've been running it myself for a few hours now and it works fine for me. I got a bit dizzy of keeping track of actor references with the 3 separate loops you had in the OnUpdate event, so I rolled all 3 of them up into 1 (nested) loop to update all NPCs and the PC in the same loop. It looks a bit different because of that, but functionally speaking the only change is (should be) that on every scan GetActorArousal is now called for every scanned actor and the PC, even when there are no naked people around. That guarantees that the rank in sla_Arousal always matches the arousal of the actor during the last scan. The only other change aside from OnUpdate is in UpdateNakedArousal where I made sure that GetActorArousal is called to update the faction rank even when there is no LOS. This was necessary to prevent GetActorArousal from being called more than once, since the loop inside OnUpdate does not know if UpdateNakedArousal will find LOS or not. I suppose the neater way would be to let GetActorArousal return true or false depending on if it updated the faction rank, but I did not want to change the interface in any way. I added comments to indicate where I made changes. Finally another minor issue I found while debugging: the SLActor08 alias in slaScanAll has the Reuse flag set, and the SLActor14 alias has the Allow Disabled flag set, but the Allow Reserved flag not. And the fix: slamainscr.psc Cheers. Good grief!! Thanks for all the work. I'll evaluate this carefully and put out a new version if it all looks ok (which I am sure it will). My only reservation is that this will change the values generated between the original and Redux and will make the Redux loop take a bit longer to execute because the call to getLOS is fairly expensive.
BeamerMiasma Posted February 26, 2015 Posted February 26, 2015 Good grief!! Thanks for all the work. I'll evaluate this carefully and put out a new version if it all looks ok (which I am sure it will). My only reservation is that this will change the values generated between the original and Redux and will make the Redux loop take a bit longer to execute because the call to getLOS is fairly expensive. Welcome The number of calls to getLOS stays exactly the same. Only the number of calls to GetActorArousal changes. The nested loop itself in OnUpdate should actually be a little more efficient this way. Of course the additional calls to GetActorArousal may cost (a little) extra time on each scan, however the only alternative for mod-authors who want to use SLA is to call GetActorArousal directly themselves, and if you have a couple of mods doing that you'll end up with a lot more calls to GetActorArousal, and a lot more frequent than once every 2 minutes
Macros14 Posted February 27, 2015 Posted February 27, 2015 I have a query if someone can shed some light on it please - Aroused seemed to working fine with my character with steadily increasing arousal level between sex until recently where I am finding the arousal level is decreasing rather than increasing! It seems to have started since I arrived in Solstheim or when I adopted the werewolf power, do you think they could be related? thanks
traveller_phi Posted February 27, 2015 Posted February 27, 2015 I have a query if someone can shed some light on it please - Aroused seemed to working fine with my character with steadily increasing arousal level between sex until recently where I am finding the arousal level is decreasing rather than increasing! It seems to have started since I arrived in Solstheim or when I adopted the werewolf power, do you think they could be related? thanks Has it been a while since your last time having sex? The way aroused is coded your arousal does start climbing back up again after sex. But if you go for long enough without sex, and aren't exposed to outside influences to arouse you, your arousal will drop again. Basically it is coded that if you go live in a convent/monestary, you will eventually lose all your desires. It is roughly based on how often you have sex. If you have sex 10 times in one day, your arousal will climb quickly afterwards, and take a long time to die down. But if you control your impulses and only have sex once every three or four days, then your arousal will climb more slowly after set, and perhaps switch over to decay mode sooner. I haven't done all the math to see if it actually decays sooner or not.
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