Jump to content

Recommended Posts

Posted
10 hours ago, Wintersdeath said:

I've most likely screwed something up myself, but I'm having this issue where breasts and penises will stretch out or in the case of breasts behave like plastic bags and go completely inside the woman's body. I've tried reinstalling everything and I've reduced my load order down a good chunk, but I still can't seem to get rid of the issue.c21f67b6006be0522e3e33f17716a2bf.jpg.ef0f182a2c70e60af8cb1ccc87d7e76f.jpgload1.png.394dc099768c9372f83bad93b598ebd6.pngload2.png.558b706c5c8e8cb89386133adb4a379b.pngload3.png.7656c2b9fd9881bc991191e61a73647e.png

Normal at startup...........breast physics mod not playing well with others. Will become normal when you leave this scene..

Posted

BUG REPORT

 

I'm trying to nail down a issue where actors equip wrong outfits after scene ends.
It looks to be AAF bug, reproducable on my setup with following steps:

 

    1. Wear some outfit A (e.g vaultsuit), use some means to start and stop a AAF scene for position "STEP 1"
    [tested with gunner underarmor and torso armor, seems to occur with any outfit or combination]
    2. Unequip and/or drop outfit A
    3. Start and stop another scene via some means for position "STEP 3"
    [note: position should contain positions with startEquipmentSet and stopEquipmentSet rules]
    [AAF UI can be used to start and stop scenes]

 

Attached QA_Submission.7z contains Mangolia dance positions STEP 1 and STEP 3 to reproduce,
requires included default equipmentSetData rulesets from AAF installer. AAF versions 154, 147 IIRC, unmodified.

 

Expected result after step 3:


    After scene started in step 3, actor should not be wearing outfit A.

 

Actual result after step 3:


    Actor reequips outfit A [if dropped a copy will be added to inventory].
    If outfit A during step 1 had multiple pieces like gloves and pants
    (as separate armor pieces), and instead of dropping A, we equip different outfit B,
    those pieces of A with slots not preset in B will be equipped.

 

Custom AAF settings if relevant:

    default_scene_duration        = 30
    reequip_delay                      = 5
    force_thirdperson_on_exit    = true
    hide_compass                      = false
    remove_pipboy                    = false
    default_furniture_preference = 100

 

If equipped items are stored in a map of <slot, item> then it seems it's updated
without removing previous keys between scenes. I have seen this with just base AAF
and one animation without any special rules other than default equipmentSetData.xml
with resetAll enabled for all actors. Looks like you need to play positions with
equipmentSetRules to trigger this. If someone can reproduce this reequipping on
their setup, it would be most helpful.

 

EquipmentSetData rules used in testing, one of the options from installer:

	<equipmentSet id="unEquip">
		<condition>
			<unEquip bipedSlot="Hair Top"/>
			<unEquip bipedSlot="Hair Long"/>
			<unEquip bipedSlot="FaceGen Head"/>
			<unEquip bipedSlot="BODY"/>
			<unEquip bipedSlot="L Hand"/>
			<unEquip bipedSlot="R Hand"/>
			<unEquip bipedSlot="[U] Torso"/>
			<unEquip bipedSlot="[U] L Arm"/>
			<unEquip bipedSlot="[U] R Arm"/>
			<unEquip bipedSlot="[U] L Leg"/>
			<unEquip bipedSlot="[U] R Leg"/>
			<unEquip bipedSlot="[A] Torso"/>
			<unEquip bipedSlot="[A] L Arm"/>
			<unEquip bipedSlot="[A] R Arm"/>
			<unEquip bipedSlot="[A] L Leg"/>
			<unEquip bipedSlot="[A] R Leg"/>
			<unEquip bipedSlot="Headband"/>
			<unEquip bipedSlot="Eyes"/>
			<unEquip bipedSlot="Beard"/>
			<unEquip bipedSlot="Mouth"/>
			<unEquip bipedSlot="FX"/>
			<unEquip bipedSlot="Unnamed1"/>
		</condition>
	</equipmentSet>

	<equipmentSet id="reEquip">
		<condition>
			<reEquip resetAll="true"/>
		</condition>
	</equipmentSet>

 

QA_Submission.7z

Posted

Hey @dagobaking?

 

Is there any way to block vanilla activation of an actor in a solo AAF animation? Specifically prevent me from clicking on them and having them pop out of the animation and float in the air doing the restrained NPC peepee dance? :) It'd be even better if I could still activate them but they would stay put.

 

What I'm trying to do is make Bondage furniture that uses AAF instead of the vanilla furniture system since that's a huge pain in the ass, and AAF is easy.

 

Edit: Oh! Nevermind That only happens if it's a commandable Teammate NPC and I can easily temporarily remove that status in the script.

Posted
7 hours ago, requiredname65 said:

BUG REPORT

 

I'm trying to nail down a issue where actors equip wrong outfits after scene ends.
It looks to be AAF bug, reproducable on my setup with following steps:

 

    1. Wear some outfit A (e.g vaultsuit), use some means to start and stop a AAF scene for position "STEP 1"
    [tested with gunner underarmor and torso armor, seems to occur with any outfit or combination]
    2. Unequip and/or drop outfit A
    3. Start and stop another scene via some means for position "STEP 3"
    [note: position should contain positions with startEquipmentSet and stopEquipmentSet rules]
    [AAF UI can be used to start and stop scenes]

 

Attached QA_Submission.7z contains Mangolia dance positions STEP 1 and STEP 3 to reproduce,
requires included default equipmentSetData rulesets from AAF installer. AAF versions 154, 147 IIRC, unmodified.

 

Expected result after step 3:


    After scene started in step 3, actor should not be wearing outfit A.

 

Actual result after step 3:


    Actor reequips outfit A [if dropped a copy will be added to inventory].
    If outfit A during step 1 had multiple pieces like gloves and pants
    (as separate armor pieces), and instead of dropping A, we equip different outfit B,
    those pieces of A with slots not preset in B will be equipped.

 

Custom AAF settings if relevant:

    default_scene_duration        = 30
    reequip_delay                      = 5
    force_thirdperson_on_exit    = true
    hide_compass                      = false
    remove_pipboy                    = false
    default_furniture_preference = 100

 

If equipped items are stored in a map of <slot, item> then it seems it's updated
without removing previous keys between scenes. I have seen this with just base AAF
and one animation without any special rules other than default equipmentSetData.xml
with resetAll enabled for all actors. Looks like you need to play positions with
equipmentSetRules to trigger this. If someone can reproduce this reequipping on
their setup, it would be most helpful.

 

EquipmentSetData rules used in testing, one of the options from installer:


	<equipmentSet id="unEquip">
		<condition>
			<unEquip bipedSlot="Hair Top"/>
			<unEquip bipedSlot="Hair Long"/>
			<unEquip bipedSlot="FaceGen Head"/>
			<unEquip bipedSlot="BODY"/>
			<unEquip bipedSlot="L Hand"/>
			<unEquip bipedSlot="R Hand"/>
			<unEquip bipedSlot="[U] Torso"/>
			<unEquip bipedSlot="[U] L Arm"/>
			<unEquip bipedSlot="[U] R Arm"/>
			<unEquip bipedSlot="[U] L Leg"/>
			<unEquip bipedSlot="[U] R Leg"/>
			<unEquip bipedSlot="[A] Torso"/>
			<unEquip bipedSlot="[A] L Arm"/>
			<unEquip bipedSlot="[A] R Arm"/>
			<unEquip bipedSlot="[A] L Leg"/>
			<unEquip bipedSlot="[A] R Leg"/>
			<unEquip bipedSlot="Headband"/>
			<unEquip bipedSlot="Eyes"/>
			<unEquip bipedSlot="Beard"/>
			<unEquip bipedSlot="Mouth"/>
			<unEquip bipedSlot="FX"/>
			<unEquip bipedSlot="Unnamed1"/>
		</condition>
	</equipmentSet>

	<equipmentSet id="reEquip">
		<condition>
			<reEquip resetAll="true"/>
		</condition>
	</equipmentSet>

 

QA_Submission.7z 529 B · 0 downloads

Thank you for the detailed report and QA submission. This is actually expected behavior. The way it works is that upon the first scene per game session that an actor engages in AAF "records" the outfit they are wearing. And then that is the outfit it reverts back to when the resetAll command is made. It never re-records that original outfit.

 

I could make it re-record the outfit at the beginning of each scene. But, the problem with that is that sometimes there are sequentially run scenes before the equipment reaches the timer to re-equip. So, then the outfit that gets recorded and they revert to is actually just the unequipped outfit. They end up being permanently unequipped.

 

I may be able to write in some kind of path where it only allows a re-recording of the outfit once it is allowed to re-equip. Will think about it.

6 hours ago, Tentacus said:

Edit: Oh! Nevermind That only happens if it's a commandable Teammate NPC and I can easily temporarily remove that status in the script.

Good to hear. The code that locks NPC in place has in fact been relaxed a little recently. This is because using "SetRestrained(True)" prevents them from triggering combat alarm events, which I want to use to make actors exit animations (as they naturally would if people started shooting firearms around them). It appeared that they were otherwise stable without SetRestrained. But, some circumstances like yours could cause them to break loose. Glad to hear that you found a work-around.

Posted
43 minutes ago, dagobaking said:

Thank you for the detailed report and QA submission. This is actually expected behavior. The way it works is that upon the first scene per game session that an actor engages in AAF "records" the outfit they are wearing. And then that is the outfit it reverts back to when the resetAll command is made. It never re-records that original outfit.

 

I could make it re-record the outfit at the beginning of each scene. But, the problem with that is that sometimes there are sequentially run scenes before the equipment reaches the timer to re-equip. So, then the outfit that gets recorded and they revert to is actually just the unequipped outfit. They end up being permanently unequipped.

 

I may be able to write in some kind of path where it only allows a re-recording of the outfit once it is allowed to re-equip. Will think about it.

Damn, it really seemed like a bug when vendored stuff was readded later, easy way to print caps too.


Perhaps with something like this where if resetHistory is set, then "recorded" outfits are cleared after re-requipping has finished?

<equipmentSet id="unEquip">
  <condition>
  	<unEquip bipedSlot="BODY"/>
  </condition>
</equipmentSet>

<equipmentSet id="reEquip">
  <condition isPlayer="false">
  	<reEquip resetAll="true"/>
  </condition>
  <condition isPlayer="true">
  	<reEquip resetAll="true" resetHistory="true" />
  </condition>
</equipmentSet>

 

Posted
2 hours ago, dagobaking said:

Good to hear. The code that locks NPC in place has in fact been relaxed a little recently. This is because using "SetRestrained(True)" prevents them from triggering combat alarm events, which I want to use to make actors exit animations (as they naturally would if people started shooting firearms around them). It appeared that they were otherwise stable without SetRestrained. But, some circumstances like yours could cause them to break loose. Glad to hear that you found a work-around.

Ahh... That explains the tell-tale peepee dance. I didn't think you used Set restrained in the past.  I just need to decide what is the best universal way to make an NPC temporarily non commandable that won't break custom followers.

Posted
21 hours ago, requiredname65 said:

Damn, it really seemed like a bug when vendored stuff was readded later, easy way to print caps too.


Perhaps with something like this where if resetHistory is set, then "recorded" outfits are cleared after re-requipping has finished?


<equipmentSet id="unEquip">
  <condition>
  	<unEquip bipedSlot="BODY"/>
  </condition>
</equipmentSet>

<equipmentSet id="reEquip">
  <condition isPlayer="false">
  	<reEquip resetAll="true"/>
  </condition>
  <condition isPlayer="true">
  	<reEquip resetAll="true" resetHistory="true" />
  </condition>
</equipmentSet>

 

I don't think it would really make sense in XML as most users would typically like it to apply to all resets or not. So, more of an ini setting candidate...

Posted

As has been noted, common.xsd has some teething issues.
Following hack silences bogus errors on tagData.xml tag-elements regarding missing 'id' and 'rule' attributes or elements:

--- "Advanced Animation Framework/AAF/common.xsd"       2020-08-16 23:44:52.205946300 +0300
+++ "Staged Leito Plus Erection Fix/AAF/common.xsd"     2020-11-19 14:16:20.590269100 +0200
@@ -250,13 +250,13 @@
     </xs:simpleContent>
   </xs:complexType>
   <xs:complexType name="tagType">
-    <xs:sequence>
+    <!-- <xs:sequence>
       <xs:element type="ruleType" name="rule" maxOccurs="unbounded" minOccurs="1"/>
-    </xs:sequence>
-    <xs:attribute type="xs:string" name="id" use="required"/>
-    <xs:attribute type="xs:string" name="position"/>
-    <xs:attribute type="xs:string" name="tags"/>
-    <xs:attribute type="xs:boolean" name="replace"/>
+    </xs:sequence> -->
+    <!-- <xs:attribute type="xs:string" name="id" use="required"/> -->
+    <xs:attribute type="xs:string" name="position" use="required"/>
+    <xs:attribute type="xs:string" name="tags" use="required"/>
+    <xs:attribute type="xs:boolean" name="replace" use="optional"/>
   </xs:complexType>
   <xs:complexType name="equipmentRulesDataType">
     <xs:sequence>

No side-effects yet discovered, may the user beware.

Posted
14 hours ago, dagobaking said:

If you can make an AAF_QA file that reproduces the issue I can troubleshoot.

# README.txt

This is a QA submission for stuck 'unjoining' after scene bug.

It doesn't have requirements outside AAF 154b and included LL_FourPlay.dll

Step to reproduce:
  1. open AAF menu
  2. find a valid actor
  3. walk up it and hover crosshair over it such that interaction menu is shown [E) Talk ...]
  4. open console and run command cgf "QA.Run" to start a scene sequence.
  5. after scene has ended, aaf menu shows actor[0] as 'unjoining',
     if this happens any mod subscribed to AAF:OnSceneEnd fails
  6. profit?
 

Submission uses master  format but it's all the same with separate files.

Any changes to default AAF settings are in attached .ini if it makes a difference.

Let me know if this fails to repo on your setup, so far after 5 tries it has manifested on mine.

 

Sidenote: if StopScene get's called while transition

to first position is still playing, scene breaks. But's not the point.

 

QA_Unjoining.7z

custom_AAF_settings.ini

Posted
1 hour ago, requiredname65 said:

# README.txt

This is a QA submission for stuck 'unjoining' after scene bug.

It doesn't have requirements outside AAF and LL_FourPlay.dll

Step to reproduce:
  1. open AAF menu
  2. find a valid actor
  3. walk up it and hover crosshair over it such that interaction menu is shown [E) Talk ...]
  4. open console and run command cgf "QA.Run" to start a scene sequence.
  5. after scene has ended, aaf menu shows actor[0] as 'unjoining',
     if this happens any mod subscribed to AAF:OnSceneEnd fails
  6. profit?
 

Submission uses master  format but it's all the same with separate files.

Any changes to default AAF settings are in attached .ini if it makes a difference.

Let me know if this fails to repo on your setup, so far after 5 tries it has manifested on mine.

 

Sidenote: if StopScene get's called while transition

to first position is still playing, scene breaks. But's not the point.

 

QA_Unjoining.7z 2.73 kB · 0 downloads

custom_AAF_settings.ini 1.87 kB · 0 downloads

Last I checked ... FourPlay wasn't supported in any way for AAF.  I Only mention this as it can cause many issues for some that use it and all the support channels won't support any use of it. Leaving those very limited assistance if any.

 

The only legit reason to have it as far as I have been told is for those authors that are working on porting over any Fourplay mods to AAF.

Posted
1 hour ago, RitualClarity said:

Last I checked ... FourPlay wasn't supported in any way for AAF.  I Only mention this as it can cause many issues for some that use it and all the support channels won't support any use of it. Leaving those very limited assistance if any.

 

The only legit reason to have it as far as I have been told is for those authors that are working on porting over any Fourplay mods to AAF.

Well that QA uses a papyrus native function provided by LL_FourPlay.dll, it is used to get actor under crosshair, I lifted it from FP_FamilyPlannedEnhanced. As for using FourPlay with animations or it's fp-proxy, I do no such thing.

 

It can function without it but I would have to implement another way to pass in a actor reference. Issues demonstrated in QA will raise from another mods liek hardship which don't use that dll as far as I have seen.

Posted
40 minutes ago, requiredname65 said:

Well that QA uses a papyrus native function provided by LL_FourPlay.dll, it is used to get actor under crosshair, I lifted it from FP_FamilyPlannedEnhanced. As for using FourPlay with animations or it's fp-proxy, I do no such thing.

 

It can function without it but I would have to implement another way to pass in a actor reference. Issues demonstrated in QA will raise from another mods liek hardship which don't use that dll as far as I have seen.

:D .. I just wanted to get that out there as someone will try to use FourPlay with AAF. (not the .dll ) Not understanding what you are doing. ;) 

Posted

Fair. I'd like to believe such persons would know what they are doing but I tend to daydream.

I mentioned dll since [even if it's included in aaf] it's is required component for demonstration.

Also I wished to dispel doubt of bug rising from mixing of aaf and fp.

 

It's bit weird since scene gets stuck in 'unjoining' if some script calls api.ChangePosition,

but starting a scene via AAF menu and using pgUp|pgDown to change positions won't,

neither will scenes started from scripts if there's no calls to api.ChangePosition. If scene is

unjoining and new scene is started via same method, does position changes then new scene

seems to exit correctly, in past version they would accumulate, but here there is only one,

the first scene started in this manner.

Posted
4 hours ago, RitualClarity said:

Last I checked ... FourPlay wasn't supported in any way for AAF.

Common confusion there... AAF still relies on the LLFP library, though these days the "FP" in its name is purely of historical significance.

Posted
2 hours ago, requiredname65 said:

scene gets stuck in 'unjoining' if some script calls api.ChangePosition

This sounds like a symptom of scripts built against a different version of AAF than the one being used, since AAF changed a parameter name for an animation ending function in the latest public release.

Posted
1 hour ago, vaultbait said:

This sounds like a symptom of scripts built against a different version of AAF than the one being used, since AAF changed a parameter name for an animation ending function in the latest public release.

Not applicable in this case.  Submitted qa was built against latest public aaf version 154b using following ppj as input to official compiler. Fallout 4\Data\Scripts\Source\* only contains unzipped source files from ck installation. This is same behavior as reported on hardship thread while back.

Spoiler

<?xml version='1.0'?>

<PapyrusProject xmlns="PapyrusProject.xsd"

    Flags="Institute_Papyrus_Flags.flg"

    Output="H:\Steam-library\SteamApps\common\Mod Organizer 2\mods\QA_Unjoining\Scripts\"

    Optimize="true"

    Release="false"

    >

    <Imports>

        <Import>.</Import>

        <Import>H:\Steam-library\SteamApps\common\Mod Organizer 2\mods\Advanced Animation Framework\Scripts\Source\User</Import>

        <Import>H:\Steam-library\SteamApps\common\Mod Organizer 2\mods\F4SE Scripts - runtime 1.10.163 - build 0.6.21\Scripts\Source\User</Import>

        <Import>H:\Steam-library\SteamApps\common\Fallout 4\Data\Scripts\Source\User</Import>

        <Import>H:\Steam-library\SteamApps\common\Fallout 4\Data\Scripts\Source\CreationClub</Import>

        <Import>H:\Steam-library\SteamApps\common\Fallout 4\Data\Scripts\Source\DLC06</Import>

        <Import>H:\Steam-library\SteamApps\common\Fallout 4\Data\Scripts\Source\DLC05</Import>

        <Import>H:\Steam-library\SteamApps\common\Fallout 4\Data\Scripts\Source\DLC04</Import>

        <Import>H:\Steam-library\SteamApps\common\Fallout 4\Data\Scripts\Source\DLC03</Import>

        <Import>H:\Steam-library\SteamApps\common\Fallout 4\Data\Scripts\Source\DLC02</Import>

        <Import>H:\Steam-library\SteamApps\common\Fallout 4\Data\Scripts\Source\DLC01</Import>

        <Import>H:\Steam-library\SteamApps\common\Fallout 4\Data\Scripts\Source\Base</Import>

    </Imports>

    <Scripts>

        <Script>QA</Script>

    </Scripts>

</PapyrusProject>

 

Even then, when StopScene was changed, scene didn't even try to exit but call failed. Here, call to StopScene doesn't fail, aaf ui shows progression into exiting state but OnUnlockActor() from aaf_mainquest is trying to call memberfunctions of actor script on None object. In every case, first element of actors to StartScene was always Game.GetPlayer() or playerRef outside this qa script.

Spoiler

[11/21/2020 - 02:45:57AM] error: Unable to call IsDeleted - no native object bound to the script object, or object is of incorrect type

stack:

    [None].Actor.IsDeleted() - "<native>" Line ?

    [AAF_MainQuest (09000F99)].aaf:aaf_mainquestscript.OnUnlockActor() - "C:\Games\MO2_BASE\mods\AAF_DEV\Scripts\Source\User\AAF\AAF_MainQuestScript.psc" Line 1501

[11/21/2020 - 02:45:57AM] warning: Assigning None to a non-object variable named "::temp439"

stack:

    [AAF_MainQuest (09000F99)].aaf:aaf_mainquestscript.OnUnlockActor() - "C:\Games\MO2_BASE\mods\AAF_DEV\Scripts\Source\User\AAF\AAF_MainQuestScript.psc" Line 1501

[11/21/2020 - 02:45:57AM] error: Unable to call HasKeyword - no native object bound to the script object, or object is of incorrect type

stack:

    [None].Actor.HasKeyword() - "<native>" Line ?

    [AAF_MainQuest (09000F99)].aaf:aaf_mainquestscript.OnUnlockActor() - "C:\Games\MO2_BASE\mods\AAF_DEV\Scripts\Source\User\AAF\AAF_MainQuestScript.psc" Line 1508

[11/21/2020 - 02:45:57AM] warning: Assigning None to a non-object variable named "::temp430"

stack:

    [AAF_MainQuest (09000F99)].aaf:aaf_mainquestscript.OnUnlockActor() - "C:\Games\MO2_BASE\mods\AAF_DEV\Scripts\Source\User\AAF\AAF_MainQuestScript.psc" Line 1508

[11/21/2020 - 02:45:57AM] error: Unable to call HasKeyword - no native object bound to the script object, or object is of incorrect type

stack:

    [None].Actor.HasKeyword() - "<native>" Line ?

    [AAF_MainQuest (09000F99)].aaf:aaf_mainquestscript.OnUnlockActor() - "C:\Games\MO2_BASE\mods\AAF_DEV\Scripts\Source\User\AAF\AAF_MainQuestScript.psc" Line 1512

[11/21/2020 - 02:45:57AM] warning: Assigning None to a non-object variable named "::temp438"

stack:

    [AAF_MainQuest (09000F99)].aaf:aaf_mainquestscript.OnUnlockActor() - "C:\Games\MO2_BASE\mods\AAF_DEV\Scripts\Source\User\AAF\AAF_MainQuestScript.psc" Line 1512

[11/21/2020 - 02:45:57AM] error: Unable to call SetAlpha - no native object bound to the script object, or object is of incorrect type

stack:

    [None].Actor.SetAlpha() - "<native>" Line ?

    [AAF_MainQuest (09000F99)].aaf:aaf_mainquestscript.OnUnlockActor() - "C:\Games\MO2_BASE\mods\AAF_DEV\Scripts\Source\User\AAF\AAF_MainQuestScript.psc" Line 1520

[11/21/2020 - 02:45:57AM] error: Unable to call PlayIdle - no native object bound to the script object, or object is of incorrect type

stack:

    [None].Actor.PlayIdle() - "<native>" Line ?

    [AAF_MainQuest (09000F99)].aaf:aaf_mainquestscript.OnUnlockActor() - "C:\Games\MO2_BASE\mods\AAF_DEV\Scripts\Source\User\AAF\AAF_MainQuestScript.psc" Line 1522

[11/21/2020 - 02:45:57AM] warning: Assigning None to a non-object variable named "::temp430"

stack:

    [AAF_MainQuest (09000F99)].aaf:aaf_mainquestscript.OnUnlockActor() - "C:\Games\MO2_BASE\mods\AAF_DEV\Scripts\Source\User\AAF\AAF_MainQuestScript.psc" Line 1522

[11/21/2020 - 02:45:57AM] error: Unable to call RemoveKeyword - no native object bound to the script object, or object is of incorrect type

stack:

    [None].Actor.RemoveKeyword() - "<native>" Line ?

    [AAF_MainQuest (09000F99)].aaf:aaf_mainquestscript.OnUnlockActor() - "C:\Games\MO2_BASE\mods\AAF_DEV\Scripts\Source\User\AAF\AAF_MainQuestScript.psc" Line 1556

[11/21/2020 - 02:45:57AM] error: Unable to call Delete - no native object bound to the script object, or object is of incorrect type

stack:

    [None].Actor.Delete() - "<native>" Line ?

    [AAF_MainQuest (09000F99)].aaf:aaf_mainquestscript.OnUnlockActor() - "C:\Games\MO2_BASE\mods\AAF_DEV\Scripts\Source\User\AAF\AAF_MainQuestScript.psc" Line 1595

 

Posted
15 hours ago, requiredname65 said:

# README.txt

This is a QA submission for stuck 'unjoining' after scene bug.

It doesn't have requirements outside AAF 154b and included LL_FourPlay.dll

Step to reproduce:
  1. open AAF menu
  2. find a valid actor
  3. walk up it and hover crosshair over it such that interaction menu is shown [E) Talk ...]
  4. open console and run command cgf "QA.Run" to start a scene sequence.
  5. after scene has ended, aaf menu shows actor[0] as 'unjoining',
     if this happens any mod subscribed to AAF:OnSceneEnd fails
  6. profit?
 

Submission uses master  format but it's all the same with separate files.

Any changes to default AAF settings are in attached .ini if it makes a difference.

Let me know if this fails to repo on your setup, so far after 5 tries it has manifested on mine.

 

Sidenote: if StopScene get's called while transition

to first position is still playing, scene breaks. But's not the point.

 

QA_Unjoining.7z 2.73 kB · 0 downloads

custom_AAF_settings.ini 1.87 kB · 0 downloads

Thank you for putting this together.

 

It produces some strange results. I was able to make a code change in AAF that partially fixed this. It allowed the scene to fully end if you press end (no freezing on unjoining). However, the StopScene call did not seem to trigger at the right time. Very oddly, it WOULD trigger as soon as you manually end the scene (pressing end).

 

I did a bunch of testing to try and rule out any issues with queue systems, etc. in AAF. It appears that there is something about the way its written in Papyrus causing this weird pause of that last command. Can you try re-structuring the QA script to test that? For instance, try storing the API function in a script var and referencing the API that way, use OnTimer instead of Utility.Wait to stagger the commands (or make a manual trigger for each stage). Try not using GetAPI or Game.GetPlayer() and use previously established vars instead. It could even have something to do with starting the test script via console. Perhaps use a key press listener to initiate the test.

 

The None errors in OnUnlockActor seemed to go away after I added some trace commands to AAF_MainQuestScript and compiled it. So, I'm thinking there was something out of sync there that just required a compile to fix. Unfortunately, those errors going away didn't seem to fix the odd delayed StopScene command issue from above.

Posted
3 hours ago, dagobaking said:

Thank you for putting this together.

 

It produces some strange results. I was able to make a code change in AAF that partially fixed this. It allowed the scene to fully end if you press end (no freezing on unjoining). However, the StopScene call did not seem to trigger at the right time. Very oddly, it WOULD trigger as soon as you manually end the scene (pressing end).

 

I did a bunch of testing to try and rule out any issues with queue systems, etc. in AAF. It appears that there is something about the way its written in Papyrus causing this weird pause of that last command. Can you try re-structuring the QA script to test that? For instance, try storing the API function in a script var and referencing the API that way, use OnTimer instead of Utility.Wait to stagger the commands (or make a manual trigger for each stage). Try not using GetAPI or Game.GetPlayer() and use previously established vars instead. It could even have something to do with starting the test script via console. Perhaps use a key press listener to initiate the test.

 

The None errors in OnUnlockActor seemed to go away after I added some trace commands to AAF_MainQuestScript and compiled it. So, I'm thinking there was something out of sync there that just required a compile to fix. Unfortunately, those errors going away didn't seem to fix the odd delayed StopScene command issue from above.

F4 scripting docs don't mention it but docs for skyrim have some discussion on slowness of game.getplayer, could be source of timing issue you described.

Utility.Wait is latent so it could very well tick away while console is up. I'll whip up a key press version asap.

 

Outside of excessive usage of Game.GetPlayer and global function, it's structured after hardship mod.
Using saved vars, removal of Game.GetPlayer calls in later stages and removing GetAPI() calls didn't change observable behaviour.

I'll make changes to test for points you brought up and implement it as a quest instead of global script.
In the mean time attached script is still started from console, uses global function and Utility.Wait but avoids Get* calls after setting up vars [ kinda, still need to GetPositionSettings ].

with same observable outcome. Scene appears to have been stopped, actors are not animating, player has controls and equipment is restored.

A real head scratcher.

 

QA_Unjoining2.7z

Posted
22 hours ago, requiredname65 said:

# README.txt

This is a QA submission for stuck 'unjoining' after scene bug.

It doesn't have requirements outside AAF 154b and included LL_FourPlay.dll

Step to reproduce:
  1. open AAF menu
  2. find a valid actor
  3. walk up it and hover crosshair over it such that interaction menu is shown [E) Talk ...]
  4. open console and run command cgf "QA.Run" to start a scene sequence.
  5. after scene has ended, aaf menu shows actor[0] as 'unjoining',
     if this happens any mod subscribed to AAF:OnSceneEnd fails
  6. profit?
 

Submission uses master  format but it's all the same with separate files.

Any changes to default AAF settings are in attached .ini if it makes a difference.

Let me know if this fails to repo on your setup, so far after 5 tries it has manifested on mine.

 

Sidenote: if StopScene get's called while transition

to first position is still playing, scene breaks. But's not the point.

 

QA_Unjoining.7z 2.73 kB · 2 downloads

custom_AAF_settings.ini 1.87 kB · 2 downloads

Ok, you clearly know more about this than I do, so I'll defer to your judgement. Having me show up twice is a real pain in the ascot.

 

:bawling:

Posted

Alright im gonna repost this since I havent gotten a reply. I have reinstalled F4SE and AAF multiple times, despite this my AAF Scene Manager fails to open after I press enter. I can open the Wizard and press enter to scan but after that no HUD will open for the Scenes.

Posted
34 minutes ago, VonHelton said:

Ok, you clearly know more about this than I do, so I'll defer to your judgement. Having me show up twice is a real pain in the ascot.

 

:bawling:

I dunno man, I'd hazard a guess that our issues aren't related.

Posted
13 minutes ago, _Polski_ said:

Alright im gonna repost this since I havent gotten a reply. I have reinstalled F4SE and AAF multiple times, despite this my AAF Scene Manager fails to open after I press enter. I can open the Wizard and press enter to scan but after that no HUD will open for the Scenes.

Mods that play more than one animation in sequence have NOT been updated to the latest AAF version, and therefore will hang AAF at 0%, 30% or 60%.......

 

:exclamation:

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