dosfox Posted August 9, 2025 Posted August 9, 2025 Does anybody know if it is possible for a male to show erection while body slot 33 is equipped? I am trying to edit some blowjob animations so the female just takes her hat and glasses off, and the male remains clothed. The female stuff works fine but the only way i can get male to show erection is by unequipping slot 33. Thanks ...
datguyjack Posted August 9, 2025 Posted August 9, 2025 On 8/6/2025 at 12:55 AM, Evi1Panda said: 1.60 Beta 4. It is in doc file at least. I FINALLY discovered the problem after going through all my mods. Turns out RSE_II was the problem. Don't know why but with it gone violate and all other mods work properly now. 1
Evi1Panda Posted August 9, 2025 Author Posted August 9, 2025 7 hours ago, dosfox said: Does anybody know if it is possible for a male to show erection while body slot 33 is equipped? I am trying to edit some blowjob animations so the female just takes her hat and glasses off, and the male remains clothed. The female stuff works fine but the only way i can get male to show erection is by unequipping slot 33. Thanks ... It can be implemented using papyrus.
dosfox Posted August 9, 2025 Posted August 9, 2025 36 minutes ago, Evi1Panda said: It can be implemented using papyrus. Oh, that's beyond my skillset. I'm just exploring how far animations can be altered within the limits of altering the original xml files. Thanks for the reply. BTW, thank you very much for this last round of updates. I know you are busy (i'm keeping an eager eye on your Diverse Bodies mod!) but you solved a series of complex compatibility problems and published updates in record time. Thanks for explaining your progress, and thanks for patiently answering our questions. Legend. 3
ahemtomatobasil Posted August 10, 2025 Posted August 10, 2025 13 hours ago, Evi1Panda said: It can be implemented using papyrus. Thank you, Panda, for everything you do. 1
ahemtomatobasil Posted August 10, 2025 Posted August 10, 2025 On 8/3/2025 at 12:07 PM, Evi1Panda said: The old Violate works for me without any problems. Panda, which version of Violate are you using?
SquareBun Posted August 10, 2025 Posted August 10, 2025 (edited) 13 hours ago, ahemtomatobasil said: Panda, which version of Violate are you using? I have a last version that works well with NAF. Edited August 10, 2025 by SquareBun 1
ahemtomatobasil Posted August 10, 2025 Posted August 10, 2025 5 hours ago, SquareBun said: I have a last version that works well with NAF. Not sure what I was doing wrong. I have it working just fine now
tatecook Posted August 11, 2025 Posted August 11, 2025 Very useful mod, just wish it could work with Sex Education.
SquareBun Posted August 11, 2025 Posted August 11, 2025 6 hours ago, tatecook said: Very useful mod, just wish it could work with Sex Education. it works fine (version 1.22); I haven't tried 1.23 yet
tatecook Posted August 11, 2025 Posted August 11, 2025 I have only tried 1.23 ... I get no perk points like I did with AAF.
Evi1Panda Posted August 12, 2025 Author Posted August 12, 2025 (edited) AAF_MainQuestScript.psc Spoiler ;#################################################################################################################### ;################################## ALL EVENTS AND FUNCTIONS BELOW IS REMOVED ####################################### ;#################################################################################################################### ;*removed functions saved just for compability with old mods, often it does and returns not that things that you're ; expected. AVOID TO USE IT. Bool Function exitPowerArmor(Actor akActor) if mesDebug PrintLog("WARNING : some mod requested for not implemented exitPowerArmor function!\nSENT ARG1 : " + akActor); endif return False EndFunction Bool Function getBlockedStatus(Actor akActor) if mesDebug PrintLog("WARNING : some mod requested for not implemented getBlockedStatus function!\nSENT ARG1 : " + akActor); endif return False EndFunction Bool Function isValidActor(Actor akActor) if mesDebug PrintLog("WARNING : some mod requested for not implemented isValidActor function!\nSENT ARG1 : " + akActor); endif return True EndFunction Bool Function isAvailableActor(Actor akActor) if mesDebug PrintLog("WARNING : some mod requested for not implemented isAvailableActor function!\nSENT ARG1 : " + akActor); endif return True EndFunction FormList Function GetActorTypeList() if mesDebug PrintLog("WARNING : some mod requested for not implemented GetActorTypeList function!"); endif return none; EndFunction int Function GetVersion() ;dummy return 171; EndFunction String Function GetBuild() ;dummy return "Beta"; EndFunction ;#################################################################################################################### Function EveryTime_Initialization() if mesDebug PrintLog("WARNING : some mod requested for not implemented EveryTime_Initialization function!"); endif EndFunction Function OneTime_Initialization() if mesDebug PrintLog("WARNING : some mod requested for not implemented OneTime_Initialization function!"); endif EndFunction Event FollowersScript.CompanionChange(FollowersScript akSender, Var[] akArgs) EndEvent Event OnMenuOpenCloseEvent(string asMenuName, bool abOpening) EndEvent Event ObjectReference.OnCellLoad(ObjectReference akSender) EndEvent Event OnKeyUp(int keyCode, float time) EndEvent Event OnHit(ObjectReference akTarget, ObjectReference akAggressor, Form akSource, Projectile akProjectile, bool abPowerAttack, \ bool abSneakAttack, bool abBashAttack, bool abHitBlocked, string apMaterial) EndEvent Event OnDistanceGreaterThan(ObjectReference akObj1, ObjectReference akObj2, float afDistance) EndEvent Function OnLoadComplete(bool success, string menuName, string sourceVar, string destVar, string assetPath) if mesDebug PrintLog("WARNING : some mod requested for not implemented OnLoadComplete function!\nSENT ARG1 : " + success + ", ARG2 : " + menuName + ", ARG3 : " + sourceVar + ", ARG4 : " + destVar + ", ARG5 : " + assetPath); endif EndFunction Event Actor.OnCombatStateChanged(Actor akSender, Actor akTarget, int aeCombatState) EndEvent ; ; CALLS FROM FLASH: ; Function OnDataLoaded(Var[] kWatchForms, Var[] kWatchSources, Var[] sourceCheckArray, Var[] inputKeyCodes, Var[] gameSettings, Var[] aTypeForms, Var[] aTypeSources, Var[] aKeywordsUsed) if mesDebug PrintLog("WARNING : some mod requested for not implemented OnDataLoaded function!\nSENT ARG1 : " + kWatchForms + ", ARG2 : " + kWatchSources + ", ARG3 : " + sourceCheckArray + ", ARG4 : " + inputKeyCodes + ", ARG5 : " + gameSettings + ", ARG6 : " + aTypeForms + ", ARG7 : " + aTypeSources + ", ARG8 : " + aKeywordsUsed); endif EndFunction Function registerProtectedEquipment(Var[] protectedEquipmentFormID) if mesDebug PrintLog("WARNING : some mod requested for not implemented registerProtectedEquipment function!\nSENT ARG1 : " + protectedEquipmentFormID); endif EndFunction Var Function getActiveCompanions() if mesDebug PrintLog("WARNING : some mod requested for not implemented getActiveCompanions function!"); endif return none; EndFunction Function OnPerformanceTest() if mesDebug PrintLog("WARNING : some mod requested for not implemented OnPerformanceTest function!"); endif EndFunction Function OnDisplayMessage(string asMessageBoxText) if mesDebug PrintLog("WARNING : some mod requested for not implemented OnDisplayMessage function!\nSENT ARG1 : " + asMessageBoxText); endif EndFunction Function OnGetClothesData(int actorFormID) if mesDebug PrintLog("WARNING : some mod requested for not implemented OnGetClothesData function!\nSENT ARG1 : " + actorFormID); endif EndFunction Function OnLookAt(int actorFormID, int focusFormID, Bool beIntense) if mesDebug PrintLog("WARNING : some mod requested for not implemented OnLookAt function!\nSENT ARG1 : " + actorFormID + ", ARG2 : " + focusFormID + ", ARG3 : " + beIntense); endif EndFunction Function OnWalkTo(Int actorFormID, Float x, Float y, Float z, Float a, Bool usePackages = True, Bool skipWalk = False, Bool keepPowerArmor = False) if mesDebug PrintLog("WARNING : some mod requested for not implemented OnWalkTo function!\nSENT ARG1 : " + actorFormID + ", ARG2 : " + x + ", ARG3 : " + y + ", ARG4 : " + z + ", ARG5 : " + a + ", ARG6 : " + usePackages + ", ARG7 : " + skipWalk + ", ARG8 : " + keepPowerArmor); endif EndFunction Function applyWalkQuest(Actor targetActor, ObjectReference walkMarker, Bool usePackages = True, Bool skipWalk = False) if mesDebug PrintLog("WARNING : some mod requested for not implemented applyWalkQuest function!\nSENT ARG1 : " + targetActor + ", ARG2 : " + walkMarker + ", ARG3 : " + usePackages + ", ARG4 : " + skipWalk); endif EndFunction ; Putting walk events in the wrong section just because it is easier to work with next to OnWalkTo above. ; Function OnWalkComplete(Actor akActor) if mesDebug PrintLog("WARNING : some mod requested for not implemented OnWalkComplete function!\nSENT ARG1 : " + akActor); endif EndFunction Function OnPlayerWalkComplete() if mesDebug PrintLog("WARNING : some mod requested for not implemented OnWalkComplete function!"); endif EndFunction Function reportWalkComplete(Actor akActor, Bool success, Bool invalidActor = False) if mesDebug PrintLog("WARNING : some mod requested for not implemented reportWalkComplete function!\nSENT ARG1 : " + akActor + ", ARG2 : " + success + ", ARG3 : " + invalidActor); endif EndFunction Function OnGetCoordinates(Int objectFormID) if mesDebug PrintLog("WARNING : some mod requested for not implemented OnGetCoordinates function!\nSENT ARG1 : " + objectFormID); endif EndFunction Function copyEquipmentItem(Actor a, Actor b, int slot) if mesDebug PrintLog("WARNING : some mod requested for not implemented copyEquipmentItem function!\nSENT ARG1 : " + a + ", ARG2 : " + b + ", ARG3 : " + slot); endif EndFunction Function copyClothes(Actor a, Actor b) if mesDebug PrintLog("WARNING : some mod requested for not implemented copyClothes function!\nSENT ARG1 : " + a + ", ARG2 : " + b); endif EndFunction Function copyWatchedKeywords(Actor targetActor) if mesDebug PrintLog("WARNING : some mod requested for not implemented copyWatchedKeywords function!\nSENT ARG1 : " + targetActor); endif EndFunction Function copyOverlays(Actor a, Actor b) if mesDebug PrintLog("WARNING : some mod requested for not implemented copyOverlays function!\nSENT ARG1 : " + a + ", ARG2 : " + b); endif EndFunction Function copySkinOverride(Actor a, Actor b) if mesDebug PrintLog("WARNING : some mod requested for not implemented copySkinOverride function!\nSENT ARG1 : " + a + ", ARG2 : " + b); endif EndFunction Function copyMorphs(Actor a, Actor b) if mesDebug PrintLog("WARNING : some mod requested for not implemented copyMorphs function!\nSENT ARG1 : " + a + ", ARG2 : " + b); endif EndFunction Function copyMFG(Actor a, Actor b) if mesDebug PrintLog("WARNING : some mod requested for not implemented copyMFG function!\nSENT ARG1 : " + a + ", ARG2 : " + b); endif EndFunction Function OnUpdateCoordinates(Int actorFormID, Float x, Float y, Float z, Float a) if mesDebug PrintLog("WARNING : some mod requested for not implemented OnUpdateCoordinates function!\nSENT ARG1 : " + actorFormID + ", ARG2 : " + x + ", ARG3 : " + y + ", ARG4 : " + z + ", ARG5 : " + a); endif EndFunction ;Function OnUpdateActorValues(Int actorFormID, Var[] actorValueFormID, Var[] actorValueSource, Var[] statValue) ;EndFunction Function OnLoadActorValues(Int actorFormID, Var[] actorValueFormID, Var[] actorValueSource) if mesDebug PrintLog("WARNING : some mod requested for not implemented OnLoadActorValues function!\nSENT ARG1 : " + actorFormID + ", ARG2 : " + actorValueFormID + ", ARG3 : " + actorValueSource); endif EndFunction Function addActiveActor(Actor targetActor) if mesDebug PrintLog("WARNING : some mod requested for not implemented addActiveActor function!\nSENT ARG1 : " + targetActor); endif EndFunction Function OnLockActor(Var[] lockParameters) if mesDebug PrintLog("WARNING : some mod requested for not implemented OnLockActor function!\nSENT ARG1 : " + lockParameters); endif EndFunction Function DoLockActor(Var[] lockParameters) if mesDebug PrintLog("WARNING : some mod requested for not implemented DoLockActor function!\nSENT ARG1 : " + lockParameters); endif EndFunction Function resetActiveActors() if mesDebug PrintLog("WARNING : some mod requested for not implemented resetActiveActors function!"); endif EndFunction Function BlockPlayerActions() if mesDebug PrintLog("WARNING : some mod requested for not implemented BlockPlayerActions function!"); endif EndFunction Function UnBlockPlayerActions() if mesDebug PrintLog("WARNING : some mod requested for not implemented UnBlockPlayerActions function!"); endif EndFunction Function removeTemporaryItems(Int actorFormID) if mesDebug PrintLog("WARNING : some mod requested for not implemented removeTemporaryItems function!\nSENT ARG1 : " + actorFormID); endif EndFunction Function OnUnlockActor(Var[] unlockParameters) if mesDebug PrintLog("WARNING : some mod requested for not implemented OnUnlockActor function!\nSENT ARG1 : " + unlockParameters); endif EndFunction Function reEquipAll(Actor targetActor) if mesDebug PrintLog("WARNING : some mod requested for not implemented reEquipAll function!\nSENT ARG1 : " + targetActor); endif EndFunction Function reEquip(Actor targetActor, Armor targetArmor) if mesDebug PrintLog("WARNING : some mod requested for not implemented reEquip function!\nSENT ARG1 : " + targetActor + ", ARG2 : " + targetArmor); endif EndFunction Function OnAttackExit(Var[] args) if mesDebug PrintLog("WARNING : some mod requested for not implemented OnAttackExit function!\nSENT ARG1 : " + args); endif EndFunction Function OnTrace(String inputString, int aiSeverity = 0) if mesDebug PrintLog("WARNING : some mod requested for not implemented OnTrace function!\nSENT ARG1 : " + inputString + ", ARG2 : " + aiSeverity); endif EndFunction Function registerInput(int[] inputKeyCodes) if mesDebug PrintLog("WARNING : some mod requested for not implemented registerInput function!\nSENT ARG1 : " + inputKeyCodes); endif EndFunction Function sendEvent(string eventType, Var[] eventData = None) if mesDebug PrintLog("WARNING : some mod requested for not implemented sendEvent function!\nSENT ARG1 : " + eventType + ", ARG2 : " + eventData); endif EndFunction Var[] Function makeLocationData(ObjectReference target, Bool includeDistance = False) if mesDebug PrintLog("WARNING : some mod requested for not implemented makeLocationData function!\nSENT ARG1 : " + target + ", ARG2 : " + includeDistance); endif return none; EndFunction Function populateAttractionQualities() if mesDebug PrintLog("WARNING : some mod requested for not populateAttractionQualities ClearBanner function!"); endif EndFunction Struct AttractionQuality String id Float minimum Float maximum ActorValue aValue EndStruct AttractionQuality Function makeAttractionQuality(String id, ActorValue aValue, Float minimum = 1.0, Float maximum = 10.0) if mesDebug PrintLog("WARNING : some mod requested for not implemented makeAttractionQuality function!\nSENT ARG1 : " + id + ", ARG2 : " + aValue + ", ARG3 : " + minimum + ", ARG4 : " + maximum); endif return none; EndFunction Function generateAttractionValues(Actor targetActor) if mesDebug PrintLog("WARNING : some mod requested for not implemented generateAttractionValues function!\nSENT ARG1 : " + targetActor); endif EndFunction Float Function getAttraction(Actor actorA, Actor actorB) PrintLog("WARNING : some mod requested for not implemented getAttraction function!\nSENT ARG1 : " + actorA + ", ARG2 : " + actorB) return 0; EndFunction Var[] Function getAttractionProfile(Actor targetActor) if mesDebug PrintLog("WARNING : some mod requested for not implemented getAttractionProfile function!\nSENT ARG1 : " + targetActor); endif return none; EndFunction Var[] Function getAttractionQualities(Actor targetActor) if mesDebug PrintLog("WARNING : some mod requested for not implemented getAttractionQualities function!\nSENT ARG1 : " + targetActor); endif return none; EndFunction Var[] Function makeActorData(Actor targetActor, Bool includeDistance = False) if mesDebug PrintLog("WARNING : some mod requested for not implemented makeActorData function!\nSENT ARG1 : " + targetActor + ", ARG2 : " + includeDistance); endif return none; EndFunction Function OnLoadActorData(int requestID, int actorFormID) if mesDebug PrintLog("WARNING : some mod requested for not implemented OnLoadActorData function!\nSENT ARG1 : " + requestID + ", ARG2 : " + actorFormID); endif EndFunction Function OnLoadMultipleActorData(int requestID, Var[] actorFormID) if mesDebug PrintLog("WARNING : some mod requested for not implemented OnLoadMultipleActorData function!\nSENT ARG1 : " + requestID + ", ARG2 : " + actorFormID); endif EndFunction Function OnGetLocationData(int requestID, int scanLocation, Var[] furnitureForms, Var[] furnitureSources, Var[] actorGroup, Bool quickScan = False, Float scanRadius = -1.0) if mesDebug PrintLog("WARNING : some mod requested for not implemented OnGetLocationData function!\nSENT ARG1 : " + requestID + ", ARG2 : " + scanLocation + ", ARG3 : " + furnitureForms + ", ARG4 : " + furnitureSources + ", ARG5 : " + actorGroup + ", ARG6 : " + quickScan + ", ARG7 : " + scanRadius); endif EndFunction Bool Function isValidLocation(ObjectReference targetLocation, Var[] actorGroup) if mesDebug PrintLog("WARNING : some mod requested for not implemented isValidLocation function!\nSENT ARG1 : " + targetLocation + ", ARG2 : " + actorGroup); endif return false; EndFunction Function applyISM(int ISMForm, String ISMSource, Float impactStrength) if mesDebug PrintLog("WARNING : some mod requested for not implemented applyISM function!\nSENT ARG1 : " + ISMForm + ", ARG2 : " + ISMSource + ", ARG3 : " + impactStrength); endif EndFunction Function registerConditionKeywords(Var[] aKeywordsUsed) if mesDebug PrintLog("WARNING : some mod requested for not implemented registerConditionKeywords function!\nSENT ARG1 : " + aKeywordsUsed); endif EndFunction Function registerKeywordWatch(Var[] kWatchForms, Var[] kWatchSources) if mesDebug PrintLog("WARNING : some mod requested for not implemented registerKeywordWatch function!\nSENT ARG1 : " + kWatchForms + ", ARG2 : " + kWatchSources); endif EndFunction Actor[] Function performActorScan(Float areaMultiplier = 1.0) if mesDebug PrintLog("WARNING : some mod requested for not implemented performActorScan function!\nSENT ARG1 : " + areaMultiplier); endif EndFunction Var[] Function processActors(Actor[] kActorArray) if mesDebug PrintLog("WARNING : some mod requested for not implemented processActors function!\nSENT ARG1 : " + kActorArray); endif return none; EndFunction Function OnStartWizard() if mesDebug PrintLog("WARNING : some mod requested for not implemented OnStartWizard function!"); endif EndFunction Function OnStartCompanionWizard() if mesDebug PrintLog("WARNING : some mod requested for not implemented OnStartCompanionWizard function!"); endif EndFunction Function OnSetCompanions(Var[] actorFormIDs, Bool value) if mesDebug PrintLog("WARNING : some mod requested for not implemented OnSetCompanions function!\nSENT ARG1 : " + actorFormIDs + ", ARG2 : " + value); endif EndFunction Function lookAt(Int actorFormID) if mesDebug PrintLog("WARNING : some mod requested for not implemented lookAt function!\nSENT ARG1 : " + actorFormID); endif EndFunction Var[] Function getClothesData(Actor[] actors) if mesDebug PrintLog("WARNING : some mod requested for not implemented getClothesData function!\nSENT ARG1 : " + actors); endif return none; EndFunction Var[] Function getActorClothes(Actor a) if mesDebug PrintLog("WARNING : some mod requested for not implemented getClothesData function!\nSENT ARG1 : " + a); endif return none; EndFunction Function applyEquipByForm(Int actorFormID, Int equipmentForm, String source) if mesDebug PrintLog("WARNING : some mod requested for not implemented applyEquipByForm function!\nSENT ARG1 : " + actorFormID + ", ARG2 : " + equipmentForm + ", ARG3 : " + source); endif EndFunction Function applyUnEquipByForm(Int actorFormID, Int equipmentForm, String source) if mesDebug PrintLog("WARNING : some mod requested for not implemented applyUnEquipByForm function!\nSENT ARG1 : " + actorFormID + ", ARG2 : " + equipmentForm + ", ARG3 : " + source); endif EndFunction Bool Function checkEquipmentValidity(Form equipment) if mesDebug PrintLog("WARNING : some mod requested for not implemented checkEquipmentValidity function!\nSENT ARG1 : " + equipment); endif return false; EndFunction Function setGameID(String newID) if mesDebug PrintLog("WARNING : some mod requested for not implemented setGameID function!\nSENT ARG1 : " + newID); endif EndFunction Function saveGAME_DATA(String value) if mesDebug PrintLog("WARNING : some mod requested for not implemented saveGAME_DATA function!\nSENT ARG1 : " + value); endif EndFunction String Function getGAME_DATA() if mesDebug PrintLog("WARNING : some mod requested for not implemented getGAME_DATA function!"); endif return ""; EndFunction Function OnNudgeActors(Var[] actorID, Float xChange, Float yChange, Float aChange, Float zChange) if mesDebug PrintLog("WARNING : some mod requested for not implemented OnNudgeActors function!\nSENT ARG1 : " + actorID + ", ARG2 : " + xChange + ", ARG3 : " + yChange + ", ARG4 : " + aChange + ", ARG5 : " + zChange); endif EndFunction Function playObjectAnimation() if mesDebug PrintLog("WARNING : some mod requested for not implemented playObjectAnimation function!"); endif EndFunction Function initAnimation(Var[] target, Var[] idleForm, Var[] idleSource, Var[] initParams, Var[] x, Var[] y, Var[] z, Var[] a) if mesDebug PrintLog("WARNING : some mod requested for not implemented initAnimation function!\nSENT ARG1 : " + target + ", ARG2 : " + idleForm + ", ARG3 : " + idleSource + ", ARG4 : " + initParams + ", ARG5 : " + x + ", ARG6 : " + y + ", ARG7 : " + z + ", ARG8 : " + a); endif EndFunction Function startMultipleIdles(Var[] target, Var[] idleForm, Var[] idleSource, Bool isPlayerInvolved = True, Bool doAnimationReset = False) if mesDebug PrintLog("WARNING : some mod requested for not implemented startMultipleIdles function!\nSENT ARG1 : " + target + ", ARG2 : " + idleForm + ", ARG3 : " + idleSource + ", ARG4 : " + isPlayerInvolved + ", ARG5 : " + doAnimationReset); endif EndFunction Function removeExpression(int actorFormID) if mesDebug PrintLog("WARNING : some mod requested for not implemented removeExpression function!\nSENT ARG1 : " + actorFormID); endif EndFunction Function changeExpression(int actorFormID, int keywordFormID) if mesDebug PrintLog("WARNING : some mod requested for not implemented changeExpression function!\nSENT ARG1 : " + actorFormID + ", ARG2 : " + keywordFormID); endif EndFunction Function alterExpression(int keywordFormID) if mesDebug PrintLog("WARNING : some mod requested for not implemented alterExpression function!\nSENT ARG1 : " + keywordFormID); endif EndFunction Function getMFGTarget() if mesDebug PrintLog("WARNING : some mod requested for not implemented getMFGTarget function!"); endif EndFunction Function sayTopic(int actorFormID, int keywordFormID, int topicFormID, int voiceTypeFormID) if mesDebug PrintLog("WARNING : some mod requested for not implemented sayTopic function!\nSENT ARG1 : " + actorFormID + ", ARG2 : " + keywordFormID + ", ARG3 : " + topicFormID + ", ARG4 : " + voiceTypeFormID); endif EndFunction Function removeOverlays(int actorFormID, Var[] UID) if mesDebug PrintLog("WARNING : some mod requested for not implemented removeOverlays function!\nSENT ARG1 : " + actorFormID + ", ARG2 : " + UID); endif EndFunction Function doLocationAnimation(int locationFormID, String animationID) if mesDebug PrintLog("WARNING : some mod requested for not implemented doLocationAnimation function!\nSENT ARG1 : " + locationFormID + ", ARG2 : " + animationID); endif EndFunction Function addOverlays(int actorFormID, Var[] templates) if mesDebug PrintLog("WARNING : some mod requested for not implemented addOverlays function!\nSENT ARG1 : " + actorFormID + ", ARG2 : " + templates); endif EndFunction Function updateEquipment(Var[] actorFormID, Var[] equipment, Var[] isEquip) if mesDebug PrintLog("WARNING : some mod requested for not implemented updateEquipment function!\nSENT ARG1 : " + actorFormID + ", ARG2 : " + equipment + ", ARG3 : " + isEquip); endif EndFunction Function updateMorphs(Var[] actorFormID, Var[] isFemale, Var[] morph, Var[] value, Bool updateArmor = False) if mesDebug PrintLog("WARNING : some mod requested for not implemented updateMorphs function!\nSENT ARG1 : " + actorFormID + ", ARG2 : " + isFemale + ", ARG3 : " + morph + ", ARG4 : " + value + ", ARG5 : " + updateArmor); endif EndFunction Function updatePhysics(Var[] actorFormID, Var[] physics, Var[] value) if mesDebug PrintLog("WARNING : some mod requested for not implemented updatePhysics function!\nSENT ARG1 : " + actorFormID + ", ARG2 : " + physics + ", ARG3 : " + value); endif EndFunction Function reverseTrace(String traceText) if mesDebug PrintLog("WARNING : some mod requested for not implemented reverseTrace function!\nSENT ARGS : " + traceText); endif EndFunction Actor[] Function getActorArrayFromFormIDArray(Var formIDVar) if mesDebug PrintLog("WARNING : some mod requested for not implemented getActorArrayFromFormIDArray function!\nSENT ARGS : " + formIDVar); endif return none; EndFunction Var[] Function processFurnitureList(Var[] akArgs) if mesDebug PrintLog("WARNING : some mod requested for not implemented processFurnitureList function!\nSENT ARGS : " + akArgs); endif return none EndFunction Var[] Function processStatArguments(Var[] akArgs) if mesDebug PrintLog("WARNING : some mod requested for not implemented processStatArguments function!\nSENT ARGS : " + akArgs); endif return none; EndFunction Var[] Function processActorDataArguments(Var[] akArgs) if mesDebug PrintLog("WARNING : some mod requested for not implemented processActorDataArguments function!\nSENT ARGS : " + akArgs); endif return none; EndFunction Function startQuickScene() if mesDebug PrintLog("WARNING : some mod requested for not implemented startQuickScene function!"); endif EndFunction Function returnToPowerArmor(Actor targetActor) if mesDebug PrintLog("WARNING : some mod requested for not implemented returnToPowerArmor function!\nSENT ARGS : " + targetActor); endif EndFunction Bool Function getAPIDebugOn() return false; EndFunction Float Function getDefaultSceneDuration() return mcmSettings_defaultDuration; EndFunction Bool Function getDefaultIgnoreCombat() return mcmSettings_defaultIgnoreCombat; EndFunction String Function getSWFPath() if mesDebug PrintLog("WARNING : some mod requested for not implemented getSWFPath function!"); endif return ""; EndFunction String Function getGameID() if mesDebug PrintLog("WARNING : some mod requested for not implemented getGameID function!"); endif return "" EndFunction Var Function GetProtectedEquipmentKeywords() if mesDebug PrintLog("WARNING : some mod requested for not implemented GetProtectedEquipmentKeywords function!"); endif return None EndFunction Var[] Function processOnAAFReady(Var[] akArgs) if mesDebug PrintLog("WARNING : some mod requested for not implemented processOnAAFReady function!"); endif return None EndFunction Look, if anyone wants to help with improving compatibility with different mods - you can participate in implementing features from AAF that are not available now. Many of these features can be implemented directly only on papyrus and work quite well. If you need some new feature for papyrus for implementation - let me know what the point of this feature is and I will try to add it. p.s. This is not the most recent version of AAF, probably something changed there, so there may be more functions to be implemented. I don't follow the development of AAF, and I doubt that at the moment there is a need to add something different than what is already implemented. I've shared my point many times - an animation framework should run animations, not do everything. For all sorts of calculations of attractiveness and other do not understand what should be other mods. Edited August 12, 2025 by Evi1Panda 1
dosfox Posted August 12, 2025 Posted August 12, 2025 55 minutes ago, Evi1Panda said: ... if anyone wants to help with improving compatibility with different mods - you can participate in implementing features from AAF that are not available now. ... These options are already available in AAF .ini, and would be useful as NAFbridge MCM settings: reequip_delay = 10 ; Length of delay before reEquipping actors after animations complete in seconds (-1 to disable delay) stopmorph_delay = 10 ; Length of delay before applying the stopMorph to actors after animations complete in seconds (-1 to disable delay) walk_timeout = 30 ; After this number of seconds, consider the walking phase failed and skip to animation. -1 to disable. These options are not available in AAF .ini, but would be also be very useful in the NAFbridge MCM: unequip_delay = 10 ; Length of delay before unEquipping actors before animations begin in seconds (-1 to disable delay) startmorph_delay = 10 ; Length of delay before applying the startMorph to actors before animations begin in seconds (-1 to disable delay) A hotkey assignment for "Stop all active animations" 1
Evi1Panda Posted August 12, 2025 Author Posted August 12, 2025 (edited) 22 minutes ago, dosfox said: These options are already available in AAF .ini, and would be useful as NAFbridge MCM settings: reequip_delay = 10 ; Length of delay before reEquipping actors after animations complete in seconds (-1 to disable delay) stopmorph_delay = 10 ; Length of delay before applying the stopMorph to actors after animations complete in seconds (-1 to disable delay) walk_timeout = 30 ; After this number of seconds, consider the walking phase failed and skip to animation. -1 to disable. These options are not available in AAF .ini, but would be also be very useful in the NAFbridge MCM: unequip_delay = 10 ; Length of delay before unEquipping actors before animations begin in seconds (-1 to disable delay) startmorph_delay = 10 ; Length of delay before applying the startMorph to actors before animations begin in seconds (-1 to disable delay) A hotkey assignment for "Stop all active animations" I implemented walk_timeout a long time ago, I don't remember if you can change timeout value, I think I set it to 10 seconds - it doesn't make much sense to wait any longer. A hotkey assignment for “Stop all active animations” - the key to stop all animations is also very long time ago in MCM in debug (I do not remember what it is called, but you wrote about you've been used it). I don't see any point in making it as a hotkey, but it can be generally done using MCM menu tools pretty easily if someone really needs it. reequip_delay, unequip_delay, stopmorph_delay, startmorph_delay - can you explain cases in which this could be useful? Edited August 12, 2025 by Evi1Panda
dosfox Posted August 12, 2025 Posted August 12, 2025 3 minutes ago, Evi1Panda said: A hotkey assignment for “Stop all active animations” - the key to stop all animations is also very long time ago in msm in debug (I do not remember what it is called, but you wrote about you've been used it). I don't see any point in making it as a hotkey, but it's generally done with vanilla MCM menu tools pretty easily if someone really needs it. If there are active Autonomy-generated animations when you leave a location by fast travel, NPCs engaged in those animations will often be unequipped when you return to that location. I usually turn Autonomy off by hotkey before fast-travelling, but turning all active scenes off through MCM or NAF GUI takes SO many keystrokes. A hotkey would be really nice. 14 minutes ago, Evi1Panda said: reequip_delay, unequip_delay, stopmorph_delay, startmorph_delay - can you explain cases in which this could be useful? Especially when SKIP WALK is ON and actors teleport to the location, a small delay while NPCs "prepare" for the scene smooths the transition. I used to use that setting with AAF and it looked much better than a sex scene just blipping into existence. 23 minutes ago, Evi1Panda said: I implemented walk_timeout a long time ago, I don't remember if you can change timeout value, It is just ON/OFF setting. 1
SquareBun Posted August 12, 2025 Posted August 12, 2025 Is it possible to implement a hotkey in MCM with the function of interrupting all active animations? So as not to enter the NAF interface every time... 2
dosfox Posted August 14, 2025 Posted August 14, 2025 Hey @Evi1Panda, Since you are working on the AAF api, could you perhaps look at this? Spoiler I check my save files regularly, and this Unattached Instance occurs in every playthrough. Unattached instances are very rare in my installation but this one persists. If deleted it will recur in the next save file. The mods associated with the instance are Autonomy, Commonwealth Moisturizer, MSWL and AAF_API itself. All these mods are working except MSWL. Are the above mods making calls to AAF that your version doesn't recognise?
Evi1Panda Posted August 15, 2025 Author Posted August 15, 2025 (edited) On 8/14/2025 at 2:24 PM, dosfox said: Hey @Evi1Panda, Since you are working on the AAF api, could you perhaps look at this? Reveal hidden contents I check my save files regularly, and this Unattached Instance occurs in every playthrough. Unattached instances are very rare in my installation but this one persists. If deleted it will recur in the next save file. The mods associated with the instance are Autonomy, Commonwealth Moisturizer, MSWL and AAF_API itself. All these mods are working except MSWL. Are the above mods making calls to AAF that your version doesn't recognise? InputEnableLayer is a class that is used to control the input methods available to the player. As for this behavior - I can't say for sure, probably some specifics of implementation. I am using an some of old version of MSWL (maybe it wasn't update and I am using last, it is probably 1.2.1 ver). I am pretty sure it works fine for me. Apart from the fact that it's basically dumb in general and takes quite a while to start up - obviously related to the execution of scripting algorithms. In fact, you have to stand still after sleeping for some time for the mod to work and start the scene. If you run away immediately after sleeping, nothing happens. Edited August 15, 2025 by Evi1Panda
dosfox Posted August 16, 2025 Posted August 16, 2025 16 hours ago, Evi1Panda said: ... I can't say for sure, probably some specifics of implementation ... I only brought up this issue because it doesn't occur with the vanilla AAF installation. Unattached script instances are not considered a critical error in FO4, but as i said Unattached script instances are extremely rare in my game, and are usually resolved by going back to the previous clean save, not by deleting them. There is very little information to be found about Unattached scripts in FO4. They are meant to occur in the vanilla game, but i can't say i've ever seen that. The only ones i've seen are related to installed mods. However there are warnings that unattached scripts may hog resources and slow the game, that's why i brought it to your attention. 16 hours ago, Evi1Panda said: ... I am using an some of old version of MSWL ... Apart from the fact that it's basically dumb in general and takes quite a while to start up - obviously related to the execution of scripting algorithms. In fact, you have to stand still after sleeping for some time for the mod to work and start the scene. If you run away immediately after sleeping, nothing happens. For me MSWL works perfectly several times, then stops working altogether. I am using MSWL v.1.2.1, your mod Patch Companion Ivy & MSWL and usually have at least one other vanilla or Thuggyverse companion. Several playthroughs ago i experimented with uninstall MSWL > clean save > reinstall MSWL, but the result was always the same - MSWL functioning with Ivy several times, then not working at all. I've given up on it for the time being ...
dosfox Posted August 16, 2025 Posted August 16, 2025 @Evi1Panda Just another thought about AAF functions that are not currently implemented in NAFbridge - the AAF F11 key (Player character has sex with target NPC). Could this be implemented in such a way that the animation be called to occur on the furniture the PC or target NPC is currently using? That would almost make MSWL redundant for me, and be a lot of immersive fun otherwise ... 😋 1
boldfugur Posted August 22, 2025 Posted August 22, 2025 Until AAF fixes there code ANY form of NAF will cause AAF to display an error, not allow you to play fallout 4. FORCING you to actually uninstall anything NAF, Yes If you are wondering it would Indeed make AAF actual spyware under the sub definition Infostealer, the recipient? the mod. I Don't have to remind people AAF is playing a dangerous, frankly illegal game of FAFO Information has been sent to the admins on site. Sorry for the rant but people should know the truth, included is the error you get when you use naf. Infostealer:Scan devices for specific data, like passwords and communication data, and transmit it to the attacker. 2
Dlinny_Lag Posted August 22, 2025 Posted August 22, 2025 4 hours ago, boldfugur said: it would Indeed make AAF actual spyware under the sub definition Infostealer, the recipient? the mod. I Don't have to remind people AAF is playing a dangerous, frankly illegal game of FAFO Totally wrong. See FAQ 1
Andy14 Posted August 22, 2025 Posted August 22, 2025 People who incorporate routines into their mods to search user folders for mods that directly compete with their own mod and then make it difficult for the user to use the software are, in my opinion, criminal scum. These people should no longer be allowed a platform on Loverslab, Nexus, etc. What the hell does this self-absorbed asshole care about what mods I have installed?! 5
izzyknows Posted August 22, 2025 Posted August 22, 2025 1 hour ago, Andy14 said: What the hell does this self-absorbed asshole care about what mods I have installed?! Simply a narcissist in their death throws desperately trying to maintain control. But in true narcissistic fashion has ripped off their cloak of deception and exposed their true selves. All the while blaming everyone else for their immoral and often times criminal actions. 3
boldfugur Posted August 22, 2025 Posted August 22, 2025 3 hours ago, Andy14 said: People who incorporate routines into their mods to search user folders for mods that directly compete with their own mod and then make it difficult for the user to use the software are, in my opinion, criminal scum. These people should no longer be allowed a platform on Loverslab, Nexus, etc. What the hell does this self-absorbed asshole care about what mods I have installed?! im still waiting to hear back from mods about this. The issue was raised in the "official" aaf discord But its now being memed on, ignored. 1
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