Jump to content

Bugfixes for various mods (SexistGuards, SL Kidnapped Redux)


Recommended Posts

Posted

Bugfixes for various mods (SexistGuards, SL Kidnapped Redux)

View File

Kidnapped Redux

 

Still Beta:

 

- "Abandoned House Only" not functioning -> The function itself is working again however:

- "Abandoned House Only" inescapable because load door not functioning if house never entered. -> Still there. you must kill the kidnapper and let you teleport out or console command out. It seems to work if you already visited the places. (aka if you made Molag Bal's Horror House quest and the Dark Brotherhood one)

 

- Creatures sometimes not working and also even with zero percent Human Kidnapper chance still at least one of them is one. -> fixed but needs some more testing

 

- Kidnapper do nothing and stand idle -> fixed but needs testing

 

- only one of them does something while everyone else stands awkward around -> fixed but needs testing

 

etc:
- Some better Code/Performance due to deleted double Loops and better if else commands.

- Possible better stability due to possible OutOfArray and NullReference Exception in original Code.

 

Change:

-only actors that are allied to the main ambusher's faction can join

-player faction system changed, so that kidnapper (and those around them) don't attack the PC.

-added Blacklist for locations, however unfilled at this time.

-cowardly Attackers (like deer or elks) attack now making them actual viable kidnappers

-cow scenario changed to dwarven construct.

-chicken scenario changed to riekling one.

-deer and elk one combined to make room for death hound scenario.

-added other DLC creatures to other scenarios (such as chaurus hunters to the chaurus scenario).

 

Most of theses changes and bugfixes came from @mushroomcap so big thanks to him.

 

Credit of course to the original Authors.

vinfamy for

 

  Sexistguards

Sexist/DerogatoryGuards, NPCs and Player Comments 2.91b has a problem with RapeComments. They often times don't stop after the act so the PC is constantly cursing its attacker while picking flowers etc. This was especially apparent if you used SLSO.

This fix should prevent that and shuts the PC after the act is done. This will also work with SLSO.

THIS WILL NOT WORK IF YOU MANUALLY END THE ACT. If you use the Sexlab key to stop the act then the event seems to not get triggered. The current workaround in stopping and then starting the comments again will still work.

 

What did i do:

I added the SLSO event "OrgasmSeparate" aswell as ending the Stage inside the "SexEnd" Event.

 

Attention: First Mod/Bugfix from me. I only tested it a bit with SLSO. Works on my end. Still consider it a beta for now. No beta anymore, enough people downloaded it and it seems fine :)

Requires the original mod. Overwrite with mine.

 

Credit of course to the original Authors.

JimmyJimJim for

 

 

 

 


  • Submitter
  • Submitted
    11/23/2019
  • Category
  • Requires
    Sexistguards, Kidnapped Redux
  • Special Edition Compatible
    No

 

Posted

well good to see someone making patches for this mod. Would it be possible to fix the bug that breaks commentary for sexlab scenes when in free camera? thats the issue that bugs me the most.

Posted
13 hours ago, PubliusNV said:

Is this an update to SexistGuards 2.91 or 2.91b?

2.91b. Thats the version I used. Might work for the other one aswell.

 

8 hours ago, cbvbadlarry said:

well good to see someone making patches for this mod. Would it be possible to fix the bug that breaks commentary for sexlab scenes when in free camera? thats the issue that bugs me the most.

Several other mods have this Problem. And from my understanding its a limitation of the engine. If you are not controlling a character then you don't have subtitles or something similar. Maybe there were some mods who circumvented that, but that would surely require substantial rewriting. Something i'm not capable of.

  • 1 month later...
Posted

It was still choosing one human kidnapper for me, so I took a look at the script, and changed one thing, and I think it works now?

SLKR Script Edit.zip

Posted
8 hours ago, mushroomcap said:

It was still choosing one human kidnapper for me, so I took a look at the script, and changed one thing, and I think it works now?

In only changed the Code for filtering who goes with you not the attackers themselves, true.

 

Your "codechosen < 25" should be "codechosen < 24", right?

You also deleted "cumulative < TotalChances". Two possibilities: This code does nothing because "cumulative <= Dice"  is always before that OR its there to prevent a wrongly "chosen one" if "akGlobal[codeChosen].GetValueInt()" is able to give a value higher then 1. I would let it stay there, or are you sure that this can't happen?

 

The idea with setting the Globalvalue to 1 if under akCreaturelength was spot on, however.

 

 

I made also a very small chance to "Addchances". Which does nothing or fixes a potential bug at determining the "CreatureTotalChances". Depending again on "akGlobal[currentElement].GetValueInt()".

I also changed "codechosen < 49" and "codechosen < 24" to "codeChosen < akLength" and "codeChosen < akCreatureLength", because the values seem to derive from them.

 

Would you try this one out? Or look into it and see if i made a glaring mistake somewhere?

SL Kidnapped Redux 4.1.1 Patch A1.rar

Posted

Index 24 of the FindKidnappersQuest array is the SLKR_FindSpringgan quest, which is still a creature quest. That's why I put it as "< 25". You can also write it as "<= 24" or "<= akCreatureLength". It was the same for akLength. 48 is the last index of the array. So that's why it was "< 49", and why "< akLength" works just as well.

 

The "cumulative < TotalChances" was just something I had tried doing to try and fix the issue. I don't think it really did much of anything. I left it in though because if I understand the code correctly, it's possible for it to keep rolling even after it's passed the last available index, which might cause issues theoretically, if I'm understanding it correctly? At the very least, having it in there might save some scripting time, however small.

 

Edit: Wait, I'm not sure what you mean by I deleted it. I added it in there?

 

Edit: To elaborate on why I added it in there. Hypothetically, let's say index 35 is the only one enabled. That means the dice roll is rolling for a number between 0 and 1. Once the "while" function gets to index 35, cumulative becomes 1. As long as the dice roll keeps rolling more than or equal to 1, it will keep going, even though there's no more active indexes. So if it rolls 1 several more times, it'll land on an index that isn't active. I'm not sure what that will do exactly, but I imagine it's probably not great? I feel like it would either just not work, or it would activate a type of kidnappers that are supposed to be disabled.

Posted
3 hours ago, mushroomcap said:

Index 24 of the FindKidnappersQuest array is the SLKR_FindSpringgan quest, which is still a creature quest. That's why I put it as "< 25". You can also write it as "<= 24" or "<= akCreatureLength". It was the same for akLength. 48 is the last index of the array. So that's why it was "< 49", and why "< akLength" works just as well.

Ah, i thought 23 is the last one. I changed the Code from "codeChosen < akCreatureLength" to "codeChosen <= akCreatureLength".

 

3 hours ago, mushroomcap said:

The "cumulative < TotalChances" was just something I had tried doing to try and fix the issue. I don't think it really did much of anything. I left it in though because if I understand the code correctly, it's possible for it to keep rolling even after it's passed the last available index, which might cause issues theoretically, if I'm understanding it correctly? At the very least, having it in there might save some scripting time, however small.

 

Edit: Wait, I'm not sure what you mean by I deleted it. I added it in there?

Well fuck me. I probably looked at the wrong side at the time i compared the two.

The Original has "While cumulative <= Dice && codeChosen < 49" while yours has "While cumulative < TotalChances && cumulative <= Dice && codeChosen < 49". My bad.

 

3 hours ago, mushroomcap said:

Edit: To elaborate on why I added it in there. Hypothetically, let's say index 35 is the only one enabled. That means the dice roll is rolling for a number between 0 and 1. Once the "while" function gets to index 35, cumulative becomes 1. As long as the dice roll keeps rolling more than or equal to 1, it will keep going, even though there's no more active indexes. So if it rolls 1 several more times, it'll land on an index that isn't active. I'm not sure what that will do exactly, but I imagine it's probably not great? I feel like it would either just not work, or it would activate a type of kidnappers that are supposed to be disabled.

The Problem lies in the "akGlobal[codeChosen].GetValueInt()" Function. If it only gives a value between 0 and 1 all is fine and dandy. If its possible however that it can give a value of 2 or higher then you would try to access a value which isn't there. Either you get immediately a OutofArray Exception or you get a nothing/null back and the ".GetValueInt()" Function will fire a NullReference Exception. Best case is Errors in Papyrus and a failed Kidnap attempt. Worst Case is an immediate CTD. That's why i also think it your change is a good addition :)

 

Do you want to be credited with the help of the new patch? Some people don't want this so i ask before i do.

 

Also i try to find a way to fix the Abandoned House Load Door bug and found this file on google. A bit Scary.

Posted

I couldn't leave well enough alone. I was still having issues where even though the main ambusher was a creature now, after the kidnapping, human ambushers would join in and be the first to rape (which turns out because human attackers are processed before creatures are, even if you were kidnapped by creatures). Not only that, but any and every actor within a five mile radius would come and join in, from rabbits to dragons (literally, a dragon teleported into the bandit tower where I was kidnapped by bandits), whether you were kidnapped by bandits or draugr. So I edited the code so that only actors that were allied to the main ambusher's faction could join in, AND I made it so that human actors would only be processed if the SLKR_BeastialityKidnapper_Global was 0, and vice versa for creatures. And I cleaned up the code a bit and removed some unnecessary parts that were rendered needless by the changes. So far, it seems to be working.

SLKR Edit.zip

Posted

Well, I obsessively fiddled with the script for hours, but I think I finally solved one of SexLab Kidnapped's biggest issues, as far as I can tell so far, which is that it would just stop right after you were kidnapped, and nothing would happen. Apparently, sometimes the actor indexes don't get filled in time, and Is3DLoaded doesn't like calling on a none and will just cancel the whole function, which is why everything just stops. So I put an extra parameter in there with the Is3DLoaded functions which will check if the actor indexes they're being used on aren't nones. Also, I changed the FindRapists function a bit more. Before, when scanning for human actors, it would use any actor race, including creatures. All of them. Even the ones that should be disabled, the ones that won't be called on when the function scans for creature actors. I dunno why it was set up that way. But I changed it so that it won't use creatures that have been disabled in the MCM. It'll still scan for creatures, but since I already added the parameter to only search for allies of the ambusher's factions, it'll only use creatures the human actors are allied with. So... bandits and their dogs. Farmers and their horses. Necromancers and the undead. Etc. At least, theoretically it should be that way. I can only test so much myself.

SLKR Edit 3.zip

Posted

You changed "if currentElement <= akcreaturelength" back to "if currentElement == akcreaturelength". The change from me was wrong? Line 278.

 

In "OrgyStart" the statement you changed "!SexLab.IsActorActive(currentAttacker) && currentAttacker && currentAttacker.Is3DLoaded()" shouldn't "currentattacker" be the first one? I don't know enough about the Papyrus engine but usually it would check "!SexLab.

IsActorActive(currentAttacker)" before "currentattacker" which might lead to problems. If true then

"!sexActors[1].IsDead() && sexActors[1] && sexActors[1].Is3DLoaded()" is worse since here it will probably lead to the same error as before where kidnap will not do anything, because if "sexActors[1]" is empty then "!sexActors[1].IsDead()" leads to an error. Same for "sexActors[2]". Lines: 519, 578, 613, 634 and 663

I don't know enough about the engine to say that for sure, however.

 

2 hours ago, mushroomcap said:

...and Is3DLoaded doesn't like calling on a none and will just cancel the whole function, which is why everything just stops.

Right now he would skip the attacker and go to the next one. If there are non or not loaded in time it would lead to the same conclusion. No Error but nothing would happen. Do you think a "while" like  "while sexActors[1] && !sexActors[1].IsDead() && sexActors[1].Is3DLoaded() && TimesTried < 5" would help here, instead of an if?

 

Posted
On 1/12/2020 at 7:51 AM, V3rius said:

You changed "if currentElement <= akcreaturelength" back to "if currentElement == akcreaturelength". The change from me was wrong? Line 278.

Oops. I didn't mean to do that.

On 1/12/2020 at 7:51 AM, V3rius said:

In "OrgyStart" the statement you changed "!SexLab.IsActorActive(currentAttacker) && currentAttacker && currentAttacker.Is3DLoaded()" shouldn't "currentattacker" be the first one? I don't know enough about the Papyrus engine but usually it would check "!SexLab.

IsActorActive(currentAttacker)" before "currentattacker" which might lead to problems. If true then

"!sexActors[1].IsDead() && sexActors[1] && sexActors[1].Is3DLoaded()" is worse since here it will probably lead to the same error as before where kidnap will not do anything, because if "sexActors[1]" is empty then "!sexActors[1].IsDead()" leads to an error. Same for "sexActors[2]". Lines: 519, 578, 613, 634 and 663

I don't know enough about the engine to say that for sure, however.

That makes more sense. I was just tired yesterday and it didn't occur to me.

On 1/12/2020 at 7:51 AM, V3rius said:

Right now he would skip the attacker and go to the next one. If there are non or not loaded in time it would lead to the same conclusion. No Error but nothing would happen. Do you think a "while" like  "while sexActors[1] && !sexActors[1].IsDead() && sexActors[1].Is3DLoaded() && TimesTried < 5" would help here, instead of an if?

Yeah, that's a good idea.

 

EDIT: I made some more fixes, but had to leave for work, so I can't upload them yet. But the changes include:

- I made it so that when it scans for rapists during the human scenario, it has to pick a humanoid for the main kidnapper before it scans in all the other rapists.

- Changed the quest aliases in the plug-in. Thy had IsPlayableRace as conditions, which would leave out races like vampires and elders and afflicted, as well as creatures. I changed it so it just scans for actors that aren't the player now.

- also took an unnecessary "while" out of the orgystart function. With it in there, it would have each rapist rape each victim before moving onto the next rapist. This didn't make sense and also lead to issues. The issue was that if the scene didn't start in enough time, the rapist would move onto the next victim while still in a scene with one. Also, it would end up that only a couple rapists would have their fun before the whole gangbang was even over, because several rounds had gone by with only a couple of them. Not to mention, now multiple victims will get raped simultaneously.

 

Two things I'm not sure how to fix yet: if there are more actors in an area than there are indexes in the rapist array, the extras will still be hostile and try attacking the victims. I'm sure there's some way to deal with this that I haven't figured out yet

 

Also, you can be teleported to deadend and questlocked locations. Not sure how to prevent that yet either. Maybe there could be some kind of location blacklist function.

 

EDIT: Here's the updated plugin and script

 

EDIT: And here is another where it should check if the location of the main ambusher is not in a blacklisted location by checking if the location is in a formlist. Locations can be added to the formlist in the plugin. I don't know at the moment which locations should be added. If I happen upon any, I'll add them, or others can chime in about which ones should be avoided.

 

EDIT: Added the player and victim aliases to the dunPrisonerFaction, which is friends with most other factions, so that should hopefully stop actors attacking the victims.

 

 

 

SLKR Edit 6.zip

Posted

@mushroomcap

I just shortly looked over the code and couldn't find anything wrong. I uploaded at it is and changed the main page a bit.

Some people reported in the SL Kidnapped main mod page that there are problems with the revenge quest. Like missing people or the quest staying active after the main Culprit died. Did not happen to me though. Otherwise i think the main bugs should be fixed and more testing is required. I try to look into it this weekend. However I don't wanna stop you from doing anything :)

 

@ everyone who downloaded Kidnapped Patches:

If you downloaded the mod and played a bit with it then please tell us with which Patch and if you encountered any bugs. Even a small "no problems here with Patch XY" might help.

Posted

I downloaded Patch C2 and I have the problem mentioned in the description still:

- Kidnapper do nothing and stand idle -> fixed but needs testing

- only one of them does something while everyone else stands awkward around -> fixed but needs testing

 

Tends to happen after 5 or 6 SL events. Also tried triggering off fellow victims and some other functions and problem continued.

 

My mod list is quite long so it could be conflicting with something, but didn't notice anything obvious.

Posted

I may have fixed that. I've edited some more things.

- Fixed FilterRapists function. For some reason, the first rapist would never join in. Not sure why exactly, but it's fixed nonetheless.

- Creatures would still do nothing during human kidnapping events. This was because of the way the animations were chosen. I've fixed it.

- Cowardly creatures would not initiate combat, so having them as kidnappers was pointless. I've now made it so that it will temporarily changed their confidence so that they will initiate combat during an ambush.

- Before, the FindRapists quest aliases would fill, and grab any and all actors so that they would gather around the scene. And it would grab both human and creature scenario aliases regardless of which scenario was actually running, as well. They wouldn't join in, because of the changes I already made, but they would still gather around. Now, I made it so that if they're not actually going to join in, the script will clear the alias.

- I changed it so that instead of adding the victims to the MagicCharmFaction, it'll add them to the appropriate factions based on your kidnappers. This is especially experimental, and for some reason, I cannot get flame atronachs to work. They keep turning hostile. Needs testing.

- Other minor edits to the script.

 

EDIT: One issue I've been struggling to find a solution to is the packages that are attached to the actors via quest alias. The animation that play from the package (like rapists cheering) will interrupt sexlab scenes. I haven't been able to figure out how to stop this from happening. Although.. I think Defeat does a similar thing, and the scenes in that don't get interrupted, so maybe I'll have a look at how Defeat does it the next time I have time.

 

EDIT: Ok, I think I see how Defeat does it. It uses the SexLabActive keyword as a condition. I was doing something similar, but trying to use the SexLabAnimatingFaction as a condition instead. I'm gonna switch it to the keyword and see if that helps.

 

EDIT: Alright, I think I've got everything in nice working order.

- Fixed the atronach problem. They shouldn't turn hostile now. If anyone has any problems with any other actors turning hostile, let me know.

- Changing the package condition from the faction to the keyword seems to be working.

- Fixed a minor thing I forgot to change in the script when I changed the faction feature. It would have prevented creature scenarios from working.

- Changed the atronach scenario so that frost and storm atronachs can also be picked.

- Took out the cow scenario (because who's gonna use it?) and replaced it with a dwarven construct scenario.

- Made another experimental change. Added a function in that should force dragons to land for the duration of the orgy. Don't know if this works yet. Haven't tested it.

 

EDIT: Redid the faction system again. There was issues with the way it was before in that actors that shouldn't be enemies with the player would attack the player when they joined said factions. Also took frost and storm atronachs out of the atronach scenario, at least for now, because they were attacking each other.

 

 

 

SLKR Edit 8.zip

Posted

@mushroomcap

 

With SLKR Edit 8 attempted with bandit and necromancers, with and without followers. Everyone stood around after kidnap with no events running after 2 or 3 SL events consistently.

 

Let me know if there is any helpful info I can provide.

 

Edit: Did note that it seemed just to run 1 SL event before breaking when there was a single kidnapper in the cell. 

Posted

I'm not sure what the problem could be. I haven't had that issue so far. Maybe reverting the faction system will help though?

 

I reverted the faction system back to MagicCharmFaction and dunPrisonersFaction. Trying to add the victims to individual factions based on the kidnappers ended up having way too many issues that I couldn't solve.

 

Also took out the dragon landing function because it just didn't work.

 

EDIT: actually, I think I might know what your error is, but it will have to wait til I get home to fix it.

 

 

SLKR Edit 9.zip

Posted

I am very happy that SL Kidnapped is continuing to be worked on. I would like to offer a suggestion (if you are allowed to add it). I would like the option to toggle the gender/races that are able to assault you when kidnapped. If this is a suggestion better asked to Vinfamy, I will post it on the original mod page.

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