alex77r4 Posted November 1, 2021 Posted November 1, 2021 (edited) 1 hour ago, Scrab said: This is certainly interesting, I wasnt aware that GoToState() would actually suspend execution of the calling Script if the new State has an OnBeginState() Event I come from the wiki and say it very clear: GotoState Notes GotoState doesn't return until the OnEndState event of the current state and the OnBeginState event of the new state finish running. (And the events won't overlap) That mean, the function of the script that execute GotoState is suspended and not resumed until OnEndState and OnBeginState are completely executed. 1 hour ago, Scrab said: This explains why the Debug Notification isnt working correctly sometimes. However, ClearAggressor() is only called A) when a Knockdown failed to complete (e.g. the Victim got healed or a Selective Filter deems a Scene invalid) or B) the Scene failed to start entirely e.g. by some internal Error from whatever frame youre using I cant see how it would explain anything regarding the Aggression issues though I start analyzing your mod this weekend and i go directly to the most easy and evident problem. I'm investigating the rest of the problems. Probably, another of the most big problem come from cross execution over multiple actors. I presume the OnHit() and all their derived cascade calls are executed in a simultaneous way by multiple actors. I see in my log something like: dd/mm/aaaa 12:00:00 [Yamete] asa llamamos a EnterKnockdown con mySelf: 1234 y Aggressor: 5678 dd/mm/aaaa 12:00:00 [Yamete] asa llamamos a EnterKnockdown con mySelf: 5678 y Aggressor: 1234 That are two simultaneous executions, in the same second, of the two same actors that put them-self in Bleed-out at the same time. Probably caused because one of them(1234) was affected, for example, by a fire spell, while hit the launcher of the spell(5678). Of course, that cause a clearly cross execution and one of them can end in sex scene while the other fail and break everything. I see log lines where one mage (4455) launch a fire ball and hit multiple actors causing the execution of multiple OnHit over different actors having all of them the same aggressor. For example, a fire ball with a range of 5 meters that hit 3 actors generate this: dd/mm/aaaa 12:00:00 [Yamete] asa llamamos a EnterKnockdown con mySelf: 1234 y Aggressor: 4455 dd/mm/aaaa 12:00:00 [Yamete] asa llamamos a EnterKnockdown con mySelf: 5678 y Aggressor: 4455 dd/mm/aaaa 12:00:00 [Yamete] asa llamamos a EnterKnockdown con mySelf: 1111 y Aggressor: 4455 That cause the multiple processing of the same aggressor and cause the crossing execution of the scripts where one of them, for example the 1111, can pass all the verification's and start a scene, theoretically, adding the necessary spells for the actors not be attacked by others... but... as the others two tries have failed, the failed running scripts remove the protection spells causing the actors are in scene but without the protection spells. I'm thinking on how solve this problems in an easy way and the only solution, for now, is create a new faction like Yam_Processing to add the actors to this faction immediately in the first line of OnHit. In that way, i try reduce the possibility of the same actor can be processed, at the same time, by simultaneous OnHit over multiple actors. But this is only a idea. I must implement it, test it and look the different results to determine if is a real solution. Edited November 1, 2021 by alex77r4 1
chang7710 Posted November 1, 2021 Posted November 1, 2021 (edited) Thanks you for nice mod. If you don't mind. Could you make a hooking option for DA? Death Alternative -- Resurrection -- at Skyrim Special Edition Nexus - Mods and Community (nexusmods.com) DA is old mod. DA Resurrection is redux mod for the old one and require the old one. DA Resurrection fix many bugs of the old. This mod can fill rape-after scenarios much more. You can seek information Defeat mod. Defeat mod have hooking function for DA. Edited November 1, 2021 by chang7710
Scrab Posted November 1, 2021 Author Posted November 1, 2021 (edited) 1 hour ago, alex77r4 said: I come from the wiki and say it very clear: GotoState 1 hour ago, alex77r4 said: I'm thinking on how solve this problems in an easy way and the only solution, for now, is create a new faction like Yam_Processing to add the actors to this faction immediately in the first line of OnHit. In that way, i try reduce the possibility of the same actor can be processed, at the same time, by simultaneous OnHit over multiple actors. Now that you say that, I actually did do that in V3. There was a big Scan Script which had some functionality for thread safety; this didnt entirely fix the issue however to a point where I felt it would be redundant Factions.. Id love to just use a List here but the closest we got to them are Formlists and Im not sure how fast they are.. or StorageUtil. Im not sure how fast Factions are in fact. A lot of this certainly comes down to Speed. If I flag both Victim & Aggressor in some way (Faction, List, Keyword, idk) it should effectively negate both variations of the "fire simultaneously" - but this only applies if the snippets execute fast enough and dont overlap (in which case that would just bring us back to a different variation of the original issue) Thanks a lot for the effort youre putting into this btw \E Took a lil time and created something like this with Storage Util Both Aggressor and Victim will be sorted into a Formlist when being hit which will disallow them to be used as Aggressors anywhere else The Aggressor will be cleared after the individual Scenario as usual The Victim will be cleared when a Scenario failed to start or leaves Bleedout .. thinking about it, its probably also possible to just set an Int Flag to the Actor in Question which would avoid save bloat & might be faster to check than anything else, huh Anyway, this here is just for testing, in case you didnt already do it. Others can also try this if they want YamMain.pscYamFollower.pscYamActor.pscYamPlayerMonitor.pscYamScanReferences.psc YamPlayerMonitor.pexYamMain.pexYamFollower.pexYamActor.pexYamScanReferences.pex Edited November 1, 2021 by Scrab
rodrigo2 Posted November 1, 2021 Posted November 1, 2021 On 10/27/2021 at 8:41 AM, HabibHanson said: Are there any plans to adapt this to include npc-npc combat? Would totally replace defeat with this if that happened. Apologies if this has already been answered. Yes, Yamete does have functional npc-npc combat. I just saw this work while doing a practice PT. An Argonian traveling apotecary (I use Travelers of Skyrim) defeated a bandit mage (I have OBIS patrols installed) and proceeded to have his way with the bandit. The colored messaging function worked as well. I may have found an instance where npc versus npc worked out of sight of my PC . My PC came upon a bunch of dead bodies near the giant camp that's near Whiterun tower. Some of the dead NPCs were bandits, others were vampires, and some of the bodies were naked. I found the missing clothing on nearby dead NPCs. My guess is that the bandits defeated the vampires and were going to town on the vamps when the giant noticed and broke up the party by killing everybody!
Scrab Posted November 1, 2021 Author Posted November 1, 2021 1 hour ago, chang7710 said: Could you make a hooking option for DA? Ye, thats on my 2do, more or less Yamete will use its own advanced Consequence Algorithm so Ill have to see how exactly I will do this
alex77r4 Posted November 1, 2021 Posted November 1, 2021 1 hour ago, Scrab said: Took a lil time and created something like this with Storage Util I'm making some test and can't use Faction because add and remove from faction are delayed calls that suspend the script at least one frame. Practically, any access to the default store class from the base game is delayed and we can't use them for this. We are forced to use StorageUtil because is made in DLL and all the calls to DLL's are instant = non delayed no matter how many time need the DLL to process the call. Use FormList is a bit slow but i think is much better than store the data directly over each actor because the FormList can say us globally all the actors that are locked in an exact moment and, if some clear is not made, exist inside the FormList and we can revise the code to find where fail. I go to include your FormList addition inside my version and go to make more test.
alex77r4 Posted November 1, 2021 Posted November 1, 2021 3 hours ago, Scrab said: Both Aggressor and Victim will be sorted into a Formlist when being hit which will disallow them to be used as Aggressors anywhere else The Aggressor will be cleared after the individual Scenario as usual The Victim will be cleared when a Scenario failed to start or leaves Bleedout Your FormList not work correctly but after making a small change seems start working correctly. Look here: GoToState("Busy") If(!akAggressor as Actor || StorageUtil.FormListFind(Scan, "YamProcessing", akAggressor) > -1 || StorageUtil.FormListFind(Scan, "YamProcessing", mySelf) > -1) GoToState("") return ElseIf(!StorageUtil.FormListAdd(Scan, "YamProcessing", akAggressor, false) || !StorageUtil.FormListAdd(Scan, "YamProcessing", mySelf, false)) ; I think that must not be made here because if we can not add it, probably, is because allready are inside the FormList ; Do you know another motive? Then, if they are inside the FormList left the others function remove them when correspond ; StorageUtil.FormListRemove(Scan, "YamProcessing", akAggressor) ; StorageUtil.FormListRemove(Scan, "YamProcessing", mySelf) GoToState("") return EndIf With that small change seem to works very good and the OpCode is making CALLSTATIC = instant call to StorageUtil: Spoiler CALLMETHOD GoToState self ::nonevar "Busy" ;@line 34 CAST ::temp0 akAggressor ;@line 35 NOT ::temp1 ::temp0 ;@line 35 CAST ::temp1 ::temp1 ;@line 35 JUMPT ::temp1 label1 ;@line 35 CAST ::temp2 ::Scan_var ;@line 35 CAST ::temp3 akAggressor ;@line 35 CALLSTATIC storageutil FormListFind ::temp4 ::temp2 "YamProcessing" ::temp3 ;@line 35 COMPAREGT ::temp5 ::temp4 -1 ;@line 35 CAST ::temp1 ::temp5 ;@line 35 label1: CAST ::temp1 ::temp1 ;@line 35 JUMPT ::temp1 label2 ;@line 35 CAST ::temp2 ::Scan_var ;@line 35 CAST ::temp3 ::mySelf_var ;@line 35 CALLSTATIC storageutil FormListFind ::temp4 ::temp2 "YamProcessing" ::temp3 ;@line 35 COMPAREGT ::temp5 ::temp4 -1 ;@line 35 CAST ::temp1 ::temp5 ;@line 35 label2: JUMPF ::temp1 label5 ;@line 35 CALLMETHOD GoToState self ::nonevar "" ;@line 36 RETURN none ;@line 37 JUMP label0 label5: CAST ::temp2 ::Scan_var ;@line 38 CAST ::temp3 akAggressor ;@line 38 CALLSTATIC storageutil FormListAdd ::temp4 ::temp2 "YamProcessing" ::temp3 false ;@line 38 NOT ::temp5 ::temp4 ;@line 38 CAST ::temp5 ::temp5 ;@line 38 JUMPT ::temp5 label3 ;@line 38 CAST ::temp2 ::Scan_var ;@line 38 CAST ::temp3 ::mySelf_var ;@line 38 CALLSTATIC storageutil FormListAdd ::temp4 ::temp2 "YamProcessing" ::temp3 false ;@line 38 NOT ::temp6 ::temp4 ;@line 38 CAST ::temp5 ::temp6 ;@line 38 label3: JUMPF ::temp5 label4 ;@line 38 CALLMETHOD GoToState self ::nonevar "" ;@line 43 RETURN none ;@line 44 JUMP label0 label4: label0: CAST ::temp7 akSource ;@line 46 ASSIGN source ::temp7 ;@line 46 CAST ::temp8 akSource ;@line 47 ASSIGN enchant ::temp8 ;@line 47 CAST ::temp1 source ;@line 48 JUMPF ::temp1 label7 ;@line 48 CALLMETHOD IsHostile source ::temp6 ;@line 48 NOT ::temp5 ::temp6 ;@line 48 CAST ::temp1 ::temp5 ;@line 48 label7: CAST ::temp5 ::temp1 ;@line 48 JUMPT ::temp5 label9 ;@line 48 CAST ::temp6 enchant ;@line 48 JUMPF ::temp6 label8 ;@line 48 CALLMETHOD IsHostile enchant ::temp6 ;@line 48 NOT ::temp5 ::temp6 ;@line 48 CAST ::temp6 ::temp5 ;@line 48 label8: CAST ::temp5 ::temp6 ;@line 48 label9: JUMPF ::temp5 label10 ;@line 48 CAST ::temp2 ::Scan_var ;@line 49 CAST ::temp3 akAggressor ;@line 49 CALLSTATIC storageutil FormListRemove ::temp4 ::temp2 "YamProcessing" ::temp3 false ;@line 49 CAST ::temp2 ::Scan_var ;@line 50 CAST ::temp3 ::mySelf_var ;@line 50 CALLSTATIC storageutil FormListRemove ::temp4 ::temp2 "YamProcessing" ::temp3 false ;@line 50 CALLMETHOD GotoState self ::nonevar "" ;@line 51 RETURN none ;@line 52 JUMP label6 label10: label6: The only CALLMETHOD = delayed calls was the GotoState and we can't remove it. Now, i'm a bit more near to locate others problems but this time i need your help. I explain: The first time my Player character is knocked down by a bandit everything works, the scene is launched and i'm not attacked. But the second time not works. I follow the code to the OnBeginState() in State Rushed, exactly this verification fail: Spoiler If(!mySelf.HasMagicEffectWithKeyword(bleedoutMarkKW) || mySelf.IsDead()) Debug.Trace("[Yamete] Actor:"+mySelf +" NOT have HasMagicEffectWithKeyword(bleedoutMarkKW)"+bleedoutMarkKW+ " IsDead:"+mySelf.IsDead()) clearAggressor() ResetGroup(true) return EndIf At this point i'm a bit lost. You have a lot of keywords, spells and code and i not know why that check fail and can't solve the problem.
Scrab Posted November 1, 2021 Author Posted November 1, 2021 (edited) 12 minutes ago, alex77r4 said: Your FormList not work correctly but after making a small change seems start working correctly. Look here: The reason why this is there is because if the Call to StorageUtil fails on the 2nd Call (the one that sorts in mySelf) I have to remove the aggressor again otherwise that one would be stuck in the List Admittedly removing mySelf is pointless but akAggressor is kind of necessary - unless I split it up of course which would probably be the smarter move; ayah 12 minutes ago, alex77r4 said: I think that must not be made here because if we can not add it, probably, is because allready are inside the FormList ; Do you know another motive? Then, if they are inside the FormList left the others function remove them when correspond and idk which reasons there are for it not being able to be added. If this is the case then ye, we could speed this up even more but Im not entirely sure when something cant be added 12 minutes ago, alex77r4 said: At this point i'm a bit lost. You have a lot of keywords, spells and code and i not know why that check fail and can't solve the problem. bleedoutMarkKW points at a keyword used by any and all custom Bleedouts. - this means Type 0, Regular, Withered, Death Sentence & Claimed In Rushed, when you fall into Bleedout what is happening is not that youre just playing the Animation but youre actually having Type0 applied to you Type0 is a Custom Bleedout used by Yamete which lasts only 10 seconds (I think it was 10 seconds?) and can be cursed like any other Bleedout Mark too by healing the Victim This check here is intended to cancel the Animation if the Victim no longer has Type0 applied to it - since Type0 lasts 10 seconds and the delay here is only ~4 seconds Type0 should still be applied by the time this is checked unless it has been cured through manual intervention Edited November 1, 2021 by Scrab
alex77r4 Posted November 1, 2021 Posted November 1, 2021 (edited) 4 hours ago, Scrab said: Type0 is a Custom Bleedout used by Yamete which lasts only 10 seconds (I think it was 10 seconds?) and can be cursed like any other Bleedout Mark too by healing the Victim This check here is intended to cancel the Animation if the Victim no longer has Type0 applied to it - since Type0 lasts 10 seconds and the delay here is only ~4 seconds Type0 should still be applied by the time this is checked unless it has been cured through manual intervention That is the key but was a bit hard to determine exactly was happening because, really, my Player Character not fail always in the second try. Sometimes fail in the first, others times in the second, but others times in the next try. For other side, if i disable my followers and go alone practically always works but when i have my 3 followers around me a lot of times fail. That was not happening yesterday but, as we add the New Lock FormList, i start thinking in a problem on it. Then, i disable it and practically always works but sometimes fail. That was one of the things i'm investigating.... Why sometimes fail and only sometimes??? Well... the answer is a bit complex.... and is caused by the multiple execution of the scripts. The first thing i go to see was the time of the spells. You talk about 10 seconds but my ESP have only 5 seconds for the spells Yam_BleedoutMark0, 1 and 2 but the Yam_BleedoutMark3 only have one (1) second.... I not know why... But that spells was working practically always yesterday... Why not works today??? Because yesterday we not have the New Lock FormList. Then, we have multiple and simultaneous execution of OnHit() at the same time over different actors. Each one of that OnHit() call EnterKnockdown() that change the State and fire multiple executions of OnBeginState() and each one of them call Main.BleedOutEnter(mySelf, 0) that apply the spell multiple times. In that way, when Papyrus check the verification: If(!mySelf.HasMagicEffectWithKeyword(bleedoutMarkKW) || mySelf.IsDead()) As the spell has been applied multiple times the elapsed time of the spell practically always was below the 5 seconds and the check pass. But whit the New Lock FormList we only have one Onhit() running, only one EnterKnockdown and the GotoState is executed only one time. As the OnBeginState() only apply the spell one time calling Main.BleedOutEnter(mySelf, 0) and we have a Utilit.Wait(3.4) the game only have 1.6 seconds to make a lot things. When i'm alone, without followers, my game have less work and, a lot of times, can run enough fast to run the check before the 5 seconds expire. But when i carry my followers, the game have more work, more mesh, more textures, less frames and, of course, Papyrus have more work to do... then, the 5 seconds of time is not enough and the check fail. Log lines of one fail: Spoiler 11/01/2021 - 05:20:24PM] [Yamete] asa llamamos a EnterKnockdown con mySelf:[MRTSelfEVPScript < (371AEF15)>] y Aggressor:[Actor < (000543E5)>] in self:[MRTSelfEVPScript < (371AEF15)>] 11/01/2021 - 05:20:24PM] [Yamete] Enter Rushed on Follower1 with Aggressor:[Actor < (000543E5)>] in self:[MRTSelfEVPScript < (371AEF15)>] 11/01/2021 - 05:20:29PM] [Yamete] Actor:[MRTSelfEVPScript < (371AEF15)>] NOT have HasMagicEffectWithKeyword(bleedoutMarkKW)[Keyword <Yam_Bleedout_Marks (522BC0AC)>] IsDead:False From 20:24 to 20:29 was elapsed, exactly, the 5 seconds of the spell and the check fail. I up the time of the spells to 10 seconds and now the check never fail and every actor in Knock Down is processed. If the animation not show can be by others motives like MCM parámeters or problems in SexLab. Another problem solved. I go to make more test because i think we have more problems. Edited November 1, 2021 by alex77r4
Scrab Posted November 1, 2021 Author Posted November 1, 2021 31 minutes ago, alex77r4 said: 1 and 2 but the Yam_BleedoutMark3 only have one (1) second.... I not know why... Bleedout Marks (1+) were Cloaks during Beta and Cloaks that have a Duration of sub 1 second are behaving similar to Pollings, firing their OnEffectStart & -Finish Effects constantly. The Duration is ignored now that they are simple Abilities. Its just a left over from Beta Half of the stuff you say below doesnt really make sense btw; the Call Stack should never randomly throw References around and return a false positive because it checked the wrong Reference Creating a more thread save environment seems to certainly be a trigger of some sort though I wont question why or how. Good thing the solution was fairly trivial
chang7710 Posted November 1, 2021 Posted November 1, 2021 7 hours ago, Scrab said: Ye, thats on my 2do, more or less Yamete will use its own advanced Consequence Algorithm so Ill have to see how exactly I will do this Thanks a lot!
qalavix Posted November 1, 2021 Posted November 1, 2021 I may have just encountered a(nother) bug/glitch. I wandered to the Treva's Watch front gate and got assaulted and defeated by the bandits there, and thrown on my back, and ... stayed there, unable to move/spellcast/fight. For several minutes. While the bandits slow-clapped. =( Spoiler The way I got out of it was using the SLAroused Status/Masturbate key to start a masturbation anim; then everything was fine. Yamete version is 4.1, package downloaded yesterday. I have the Alternate Bleedout (animations) selected. I'm still building the new playthrough modlist, so 'not that many mods installed'. I could still access inventory, map, etc., while on my back (I consider that a feature, not a bug!) MCM -> Yamete! -> Debug -> ForceStopCombatQuest didn't do anything I could tell. I didn't try pausing the mod. It's entirely possible I screwed something up... But, maybe a 'break out of animation' entry in the Debug menu could be added? Still, at least it activated (and otherwise has been working, at least for 3 encounters), unlike Defeat 5.3.5 and Defeat Baka Edition 1.3.1, neither of which I could get to activate. Feature to Discuss and Think About: store an outfit in the mod to simulate Attackers Ripped Off My Armor Exposing My Sexy Underwear Before Assaulting Me.
lordkimbo29 Posted November 1, 2021 Posted November 1, 2021 Okay, so I am trying out this mod for the first time. I am using ver. 3.2LE. All I need is a relatively simple NPC combat sex mod without any of the extra stuff that seems to have made it into ver. 4.X. However, I am not sure how to exclude creatures from engaging in combat sex. I thought I deselected the relevant creature options in the MCM but creatures end up in this weird bleedout state for a bit, followed by a completely regenerated health bar and another round of combat. This goes on endlessly since I can't select the disabled creature for gameplay options like I can for defeated NPCs. I end up just leaving the area. Anyway is there a way to just kill creatures normally without the Yamete bleedout system from taking place? Thanks.
alex77r4 Posted November 1, 2021 Posted November 1, 2021 31 minutes ago, Scrab said: the Call Stack should never randomly throw References around and return a false positive because it checked the wrong Reference Seems that you not understand the problem. Papyrus never return a false positive, until the code is bad, because Papyrus always make what the code say. When i say "your mod is executing multiple scripts at the same time and the scripts overlap" is because that was in that way. Any developer can understand it but i go to explain it again in other way. You have a quest with 8 alias what can be filled by followers and 15 alias that can be filed by bandits. The followers are attached to the script Yam_Follower and the bandits are attached to Yam_Actor. When one Follower alias is filled the game create a instance of the script Yam_Follower and when the bandit are filled a instance of Yam_Actor is created. What do you think that go to make Papyrus when the follower start fighting against the bandit? By pure logic, each hit over each actor are cached by each OnHit() of each alias. When the bandit hit the follower the papyrus log say: Onhit on follower 5555 catch hit from bandit 6666 When the follower hit the bandit the papyrus log say: Onhit on bandit 6666 catch hit from follower 5555 Each onhit() on each script of each actor call EnterKnockdown() that change the State and force the execution of OnBeginState() that have the lines: mySelf.AddSpell(calmMark, false) aggressor.AddSpell(calmMark, false) Inside the script Yam_Follower self is 5555 and aggressor is 6666 Inside the script Yam_Actor self is 6666 and aggressor is 5555 In that way, each hit of one actor over the other cast again the spells over the TWO actors, no matter if is myselft or aggressor, and re-apply the spells and renew the expire time causing that, sometimes, the spells not disappear for a very long time. Simply, because the actors are fighting one against the other. Really, papyrus was executing in parallel at the same time the hits of one actor over the other. But as the actors are crossed the scripts are crossed. The same happen when a mage launch a fire ball. Each actor affected by the fireball execute their own OnHit causing multiple and simultaneous executions of the same code at the same time because all the alias share practically the same source code. The State Busy only protect from execute multiple times OnHit() over the same actor. OnHit can be called multiple times for each real hit when using enchanted weapons or spells. The State Busy cover us to execute only one of them. But that is applied to each individual OnHit of each actor. Not protect from the cross execution caused when, in the script Yam_Follower myself is 5555 and aggressor is 6666 and, in the script Yam_Actor, myself is 6666 and aggressor is 5555. That is covered only with the New Lock FormList.
pinkfluf Posted November 1, 2021 Posted November 1, 2021 1 hour ago, lordkimbo29 said: Anyway is there a way to just kill creatures normally without the Yamete bleedout system from taking place? Thanks. Hi Under "follower/npc" settings - on the right hand side (ignore the text blur that says its for followers as it applies to npcs) set "Heal NPC after" to 0% Check filters have creatures unticked If you get CTD's then untick "check for hostility" under "general" settings.
Djlegends Posted November 1, 2021 Posted November 1, 2021 11 hours ago, Scrab said: Ye, thats on my 2do, more or less Yamete will use its own advanced Consequence Algorithm so Ill have to see how exactly I will do this you can also try to link it with YeOlde - Respawn 1
pinkfluf Posted November 1, 2021 Posted November 1, 2021 I've been tinkering with voices, which sounds better? Our Auction Hall. I'm afraid it is currently undergoing.. construction workWG.wav or Our Auction Hall. I'm afraid it is currently undergoing.. construction workBHG.wav then.. I have been told about your youneeek abilities. and would like to offer youBHG.wav or I have been told about your youneeek abilities. and would like to offer youWG.wav The WG output takes longer to produce than the Bespoke Hifi Gain Model, some words sound weird in xva so I've tried to make them sound better by spelling em phonetically i.e "youneek". I don't like it sounding like a robot so I would probably tinker with this for a while (I'm a semi-perfectionist).
rodrigo2 Posted November 2, 2021 Posted November 2, 2021 Okay, my PC got caught up in a complex battle. There was a patrol of bandits which ran into a patrol of Thalmor. Then a merchant caravan of three NPCs got involved. They probably started off fighting the bandits but after being accidently hit by the Thalmor's destruction magic, the merchants started to fight the Thalmor as well. My PC tried to fight the bandits but was hit and went into bleedout. At some point, she began to be able to move again but could no longer use her weapons. What was I supposed to do regain full control of my PC? Nothing in the debug section helped!
pinkfluf Posted November 2, 2021 Posted November 2, 2021 Hi Sounds like you were in "bleedout until combat ends" and then were in "withered" mode. It should be on the same page as resolution etc.
Scrab Posted November 2, 2021 Author Posted November 2, 2021 4 hours ago, rodrigo2 said: My PC tried to fight the bandits but was hit and went into bleedout. At some point, she began to be able to move again but could no longer use her weapons. What was I supposed to do regain full control of my PC? In the console "epc" but for the record, Yamete never disables your controls mid combat. The thing it does to not make you move while Bleeding out is something else Controls are only disabled during the Black Market Intro (twice) and when porting with Left for Dead but then you wouldve gotten a blackout & all exits of this Quest Enable Controls again Are you using OStim perhaps? I remember an issue some have with that Frame that causes the controls to glitch out after a Scene. Not sure if Sai fixeed that yet - or if its an issue with OStim specifically - though
Scrab Posted November 2, 2021 Author Posted November 2, 2021 7 hours ago, pinkfluf said: I've been tinkering with voices, which sounds better? Honestly? I can barely understand a word Guess Female Khajiit is far from viable for xVASynth :^) When thinking about how Charon Speaks you can imagine a Harkon with some Astrid mixed in. Think of a character that always speaks indifferent with an underlying line of superiority but also lacking any kind of arrogance
rodrigo2 Posted November 2, 2021 Posted November 2, 2021 3 hours ago, Scrab said: In the console "epc" but for the record, Yamete never disables your controls mid combat. The thing it does to not make you move while Bleeding out is something else Controls are only disabled during the Black Market Intro (twice) and when porting with Left for Dead but then you wouldve gotten a blackout & all exits of this Quest Enable Controls again Are you using OStim perhaps? I remember an issue some have with that Frame that causes the controls to glitch out after a Scene. Not sure if Sai fixeed that yet - or if its an issue with OStim specifically - though I use SL Framework. Trying to describe again what happened, my PC was about to be assaulted by a bandit mage when suddenly some NPC put the bandit mage in bleedout. At that point, my PC was able to move but not able to use her weapons.
Scrab Posted November 2, 2021 Author Posted November 2, 2021 1 hour ago, rodrigo2 said: I use SL Framework. Trying to describe again what happened, my PC was about to be assaulted by a bandit mage when suddenly some NPC put the bandit mage in bleedout. At that point, my PC was able to move but not able to use her weapons. Not sure whats happening considering that I never explicitly disable combat controls but that sounds like it would be fixed by implementing alex77r4's suggestions 1
alex77r4 Posted November 2, 2021 Posted November 2, 2021 (edited) 11 hours ago, rodrigo2 said: Okay, ... My PC tried to fight the bandits but was hit and went into bleedout. At some point, she began to be able to move again but could no longer use her weapons. What was I supposed to do regain full control of my PC? Nothing in the debug section helped! 3 hours ago, rodrigo2 said: I use SL Framework. Trying to describe again what happened, my PC was about to be assaulted by a bandit mage when suddenly some NPC put the bandit mage in bleedout. At that point, my PC was able to move but not able to use her weapons. That happen when SetPlayerAIDriven was enabled but not disabled. Is a Papyrus command that, as i know, not have equivalent in Console Command. Then, the only way to enable and disable SetPlayerAIDriven is, in a strictly and obligatory way, execute a script that make it. I presume you have Aroused. Then, press the aroused key, by default N, for at least 3 second and release it to launch a masturbation over the player and solve the problem. Additionally, if you have ZAZ Animation Pack, you can go to the MCM and, in Player Control Center, press Force Player AI and Release. Edited November 2, 2021 by alex77r4 2
alex77r4 Posted November 3, 2021 Posted November 3, 2021 (edited) On 1/27/2021 at 1:36 PM, Scrab said: Known Issues Leaving Cells while an Actor is in Bleedout may glitch that Actor out, causing them to be stuck in Bleedout until forced to play a different Animation (e.g. Stagger). This Bug is caused by Havok being unable to reset an Actors Animations while their 3D isn't properly loaded in. I consider this Bug to be impossible to fix in any reasonable fashion If you happen to know a simple & reliable Solution to this, feel free to contact me Create some alias in Yam_ScanReload with special conditions like IsActor, IsBleedingOut, HasLoaded3D, GetDistance > 4000 or 4500 and attach a script to reset the Bleeding state and the animation. I thing the maximum distance to have 3DLoaded is 5000. With distance 4500 the actor must be inside the loaded cells but too far to see it. If you not want break Yam_ScanReload or have problems to include and process that actors create another quest. The idea is to select only bleed-out actors that are too far from the player and reset their bleed state and animation before they unload. That way the player can run away and leave the battle with the bleeding actors behind, but as they move far away from them the quest captures him and restores his bleeding state before losing 3DLoaded. Edited November 3, 2021 by alex77r4
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