Search the Community
Showing results for tags 'f4se'.
-
Assimilation View File Last edit on 12/6/2023: Update description after making progress. Assimilation Nate or Nora are great fighters (just ask Strong!) and extremely valuable to the factions in the Commonwealth. Thus, if the player romances NPCs or their health gets too low then that faction may assimilate them by changing their looks or locking them into the faction. It consists of several small quests that trigger after certain events like your health getting too low or AAF animations. There are MCM options to control many mod features, for example whether romance is enabled or not. This mod complements LL mods like AAF Violate, Sexual Harassment and Sex 'Em Up and is similar in some ways to LL mods like Tattoo After Rape and Rad Morphing Redux. Features If the player health falls below a configurable value or after the player romances a partner of a particular faction, there is a chance that the player's hair, body, skin, clothes, and faction may be changed. The chance for a change to happen for each body section and for each faction is configurable through MCM. Hair - Your hair will be changed to something appropriate for that faction. Expect to get a mohawk for Raiders and a military cut Gunners. There are differences for male and female characters. Supported hair, beard, and pubic hair styles will also regrow over time or fall out from radiation. There are some penalties if your hair gets too long so you should find & drop some scissors on the ground and use them to trim up to avoid them. I could tell you what all the hairstyle possibilities are, but that would take away the fun and surprise. Currently, base game/DLC hairstyles are supported plus the following mods: Ponytail Hairstyles ANiceOakTree's Hairstyles Pubes Forever Commonwealth Cuts KS Hairdos KS Hairdos with Physics More can easily be added! Which ones would you like? Body - Your CBBE body will be morphed based on settings in MCM. Configure them as you see fit, but by default it is set for female characters making the breasts and butt bigger and the waist smaller, i.e. an hourglass figure for most factions except "settler" factions which are the opposite. It is possible to configure the settings for male and female characters. FEV - If you romance a super-mutant, then some FEV may sneak into your system and cause increased muscle mass and some increased strength side-effects. Beware! (This can be configured or disabled in MCM). Actions Effect Body - Similar to mods like WTTF. You eat - you get large, You swing & bash & workout - you get muscle, You lounge & get rads - you get thin (can be configured or disabled in MCM). Clothes - Your clothes will be changed to something appropriate for that faction. Expect to get a harness for Raiders and a suit for Triggermen. There are differences for male and female characters. There is an option to swap your clothing hats/helmets when combat starts/ends and an option to swap your clothing gas mask when bad weather starts/ends. I could tell you what all the apparel possibilities are, but that would take away the fun and surprise. Currently, base game/DLC apparel is supported plus the following mods: Harness Wardrobe Militarized Minutemen Wearable Super Mutant Armor Gunner Outfit Pack More can easily be added! Which ones would you like? Skin - If certain mods are installed, then tattoos can be applied to the entire body when first affected and thereafter one after romance, combat or helping faction members. Faction (version 3.0 and greater) - Your faction will be changed to that faction and possibly moved to a faction-friendly location. Your last partner will have a small dialogue to initiate it. You will remain in the faction until you help or romance enough faction members to leave the faction. When leaving, a small dialogue allows you to confirm leaving or remaining in the faction. While assimilated to the faction, you will gain a perk appropriate for that faction. Asking to help or romancing faction members may result in them offering gifts or to be a companion (up to 2). You will receive better gifts based on your faction reputation which can increase each time or when a non-faction member is killed. It can decrease as well! Talking to faction members using an assigned hotkey allows you to ask for info/gifts or help/romance them. Some faction members may be a doctor and can help heal you. NOTE: Some details on implementation here: To make other factions hate the player if they become a Raider, those factions must be modified to dislike the player. The faction relations are saved before faction assimilation and restored after un-assimilation, but there is some risk here if they never get restored properly. I have been careful to assure that doesn't happen in the scripts, but that said I would only play version 3.0 with faction assimilation enabled on a new game not your long-term game with 1000's of hours played. Post a comment if you notice an NPC is unexpectedly a friend or enemy after faction assimilation and I can likely fix it. NOTE: There is no quick undo for the changes once they happen. If the player's hair changes, then you're going to have to see John in Diamond City or Horatio in Vault 81 to get a new hairstyle. If the player's body or skin changes, then you're going to have to see Doc Crocker in Diamond City to fix it. You can put your other clothes back on if you don't like the ones given to you (the mod doesn't remove them), or some may play with mods where all your clothes are stripped and then the changed clothes will be the only ones you have! There are easy ways to change all of these with the showlooksmenu command, but role playing and continuing with whatever changes is more interesting. Installation Review the Conflicts and Requirements sections below then install with your favorite mod manager. Additional features are available in the mod if the Optional Mods listed below are installed. Version 3.0 and later has many portions re-written and it is unlikely that an upgrade from any 2.0 version will work properly. Versions 3.0 and later are so different that I would recommend starting a new game after download and installation. Conflicts Assimilation conflicts with the following other mods mostly because they are also modifying your faction relationships: Raider Pet - Does something similar to Assimilation for Raiders and you end up with the Raider Pet and Assimilation systems fighting each other. For the best experience, use one or the other. If there is a feature from Raider Pet that you miss when using Assimilation then let me know and I may be able to add something similar. Requirements Fallout 4 v1.10.162 or newer F4SE - needed for lots of expanded script functions MCM - needed for extensive configuration options Optional Mods AAF including some themes/animations - for animation triggering Tested with CBBE (LMK if you have another one where it works) - for body changes BodySlide - for body changes Looksmenu - for skin overlay changes Random Overlay Framework - for skin overlay changes Tattoo After Rape - for skin overlay changes F4z Ro D'oh - for better silent dialogue lines Credits Bethesda for Fallout 4 as without it none of this would be possible The F4SE Team for their great work in finishing what Bethesda did not registrator2000 for MCM a really great menu option framework dagobaking for AAF and probably a reason LoversLab exists expired6978 for LooksMenu making it easy to change the player's looks Invictusblade for Random Overlay Framework and having an API method that could be called to apply random overlays on the player twistedtrebla for Tattoo After Rape as I used the snippet of connecting to AAF from that mod jaam and Chosen Clue and EgoBallistic for their highly useful string functions LenAnderson for Rad Morphing Redux as I learned how to do the body morphing from that mod MxR for the mod review: https://www.youtube.com/watch?v=aGl2sOJyf88 Prioritized Issues (these will roll off each release) Updated DD forms for their latest release - FIXED, IN NEXT RELEASE Player Assimilated dialogue inappropriate for certain factions (BoS should only salute BoS members). Found/fixed what I could. - FIXED, IN NEXT RELEASE Mods that undress like CWSS or AN76 conflict when apparel is locked. Need a way to delay re-locking till after redress by those mods. Also, resetting the lock time. Tricky but probably not impossible. There is a difference between ones that should abort the redress (like conflicting clothing), and those that should delay and then re-lock (like undressing when using a toilet). Aborting the redress is already implemented/working, but the delay/re-lock is not. Watched for furniture forms on sit/getup and AN76 keyword. - FIXED, IN NEXT RELEASE Fusion Girl and True Wasteland Body (TWB) support. Both are similar to CBBE with slider names but different Vertices they effect and more spaces in the slider names (CBBE only has 2). Need to test spaces in slider names to make sure they are working correctly (can use "7B Upper" and "7B Lower" with CBBE for that) and pick "muscular" slider names/values to be affected for FEV. SKK Combat Stalkers only uses Friend/Enemy factions. Thus, if you are Raider assimilated and Raiders spawn to come after you, then they will be your enemy which doesn't make sense. Not sure how to fix this one as I cannot add the Combat Stalkers enemy faction into your friends because then (in Raider example) Super-mutants that spawn will be your friend. Challenging, no known solution. Hair stretching out and actor disappearing on AAF animations. This is not an issue with this mod and looks like it involves the timing of hair changes, but I would love to find a workaround. Challenging, no known solution. Prioritized Features (these will roll off each release) Body Metabolism - If you don't eat/exercise your body grows thinner by a small, balanced, configurable amount over time... like real people. - DONE, IN NEXT RELEASE Clothes Android Outfits - https://www.nexusmods.com/fallout4/mods/72806 Hair More Pubic Hair Overlays - https://www.nexusmods.com/fallout4/mods/72399 Lots More Female Hairstyles - https://www.nexusmods.com/fallout4/mods/10543 Lots More Male Hairstyles - https://www.nexusmods.com/fallout4/mods/10695 Lots More Facial Hair - https://www.nexusmods.com/fallout4/mods/10746 MiscHairstyle 1.6 (off-site download) - http://www.mediafire.com/file/kfac38dni6d53rp/MiscHairstyle1.6_by_Atherisz.7z/file - ON HOLD (optional, for males) More Hairstyles - Beards (off-site download) - http://www.mediafire.com/file/iztz7iidy6djz1e/MoreHairstyles-Beards.rar/file - ON HOLD Black Desert Online Hairs (requires new head style) - https://www.trophihunter.com/fallout4-mods/black-desert-online-hairs - ON HOLD What's New in Version 1.4.0 Initial version (it was revisioned several times privately before posting) 1.12.0 Support DLC and implement progressive hairstyles from long to short 2.0 Faction assimilation, create hairstyles/apparel databases, FEV effect, hair growth/loss, helmet swap on combat 2.5 Bug fixes and stability/error recovery improvements, gas mask swap on bad weather 2.6 Bug fixes from 2.5 release discovered right after release 2.7 Bug fixes still existing in 2.6 version 3.0 Assimilation via Combat & Theft, NPC Talking giving 7 generic side-quests with faction specific ones planned for future 3.1 Bug fixes from 3.0 release discovered right after release, Simple sit out ground feature to rest 3.2 Bug fixes from 3.1 release, shortcut consumables, Atom Cats faction assimilation, info popup menu Submitter louisthird Submitted 01/07/2021 Category Misc Sex Requires F4SE MCM
-
[Dev/Test/Beta] LL FourPlay community F4SE plugin v43 2023 05 06 View File ; ; Shared community library of utility function from LoverLab distributed with FourPlay resources as a F4SE plugin with sources included ; ; Version 43 for runtime 1.10.163 2021 09 13 by jaam and Chosen Clue and EgoBallistic and Fedim ; Runtime version: This file should be runtime neutral. The accompanying F4SE plugin (ll_fourplay_1_10_163.dll) is NOT! ; You need to always use a plugin corresponding with the game version you play. ; Plugin should be available just after F4SE has been updated for the modified runtime. ; Runtime versions lower than 1.10.138 will no longer be supported. ; Written and tested against F4SE 0.6.21. You should not use an older version of F4SE. ; ; ; Known issue: errors in description and untested functionalities. This is the topic for intermediate and/or test versions. The released version will be available as part of the Four_Play Community patch. This is also where the sources for the released plugin will be found. Current interface and available functions for v42: Scriptname LL_FourPlay Native Hidden ; ; Shared community library of utility function from LoverLab distributed with FourPlay resources as a F4SE plugin with sources included ; ; Version 43 for runtime 1.10.163 2021 09 13 by jaam and Chosen Clue and EgoBallistic and Fedim ; Runtime version: This file should be runtime neutral. The accompanying F4SE plugin (ll_fourplay_1_10_163.dll) is NOT! ; You need to always use a plugin corresponding with the game version you play. ; Plugin should be available just after F4SE has been updated for the modified runtime. ; Runtime versions lower than 1.10.138 will no longer be supported. ; Written and tested against F4SE 0.6.21. You should not use an older version of F4SE. ; ; ; ; Returns the version of this script (when someone has not forgotten to update it :) ) Float Function GetLLFPScriptVersion() global return 43.0 endFunction ; Returns the version of the plugin and servers to verify it is properly installed. Float Function GetLLFPPluginVersion() native global ; Custom profile: written into "Data\F4SE\Plugins" ; =============== ; Returns the full path for custom profile name. IE "WhereverYourGameIs\Data\F4SE\Plugins\name". Don't forget to provide the .ini extension. string Function GetCustomConfigPath(string name) native global ; Get the value of custom config string option string Function GetCustomConfigOption(string name, string section, string key) native global ; Get the value of custom config integer option (Use 0/1 for boolean) int Function GetCustomConfigOption_UInt32(string name, string section, string key) native global ; Get the value of custom config float option Float Function GetCustomConfigOption_float(string name, string section, string key) native global ; Sets the value of custom config string option (at most 66535 characters per option). The directories and path will be created as needed. If the result is false, the set did not happen. bool Function SetCustomConfigOption(string name, string section, string key, string value) native global ; Sets the value of custom config integer option. The directories and path will be created as needed. If the result is false, the set did not happen. bool Function SetCustomConfigOption_UInt32(string name, string section, string key, int data) native global ; Sets the value of custom config float option. The directories and path will be created as needed. If the result is false, the set did not happen. bool Function SetCustomConfigOption_float(string name, string section, string key, float data) native global ; Get all the keys and values contained in a section. Both at once to avoid discrepancies in the order. ; The keys are in VarToVarArray(Var[0]) as String[] and the values in VarToVarArray(Var[1]) as String[] Var[] Function GetCustomConfigOptions(string fileName, string section) native global ; Set a list of keys and values in a section. Any other existing key will be left alone. bool Function SetCustomConfigOptions(string fileName, string section, string[] keys, string[] values) native global ; Reset all the keys and values contained in a section. ; Any exiting key value pair will be suppressed first, so providing none arrays will effectivly removes all keys from the section. bool Function ResetCustomConfigOptions(string fileName, string section, string[] keys, string[] values) native global ; Get all the sections in a file. string[] Function GetCustomConfigSections(string fileName) native global ; For all array functions: ; The implementation as an arbitrary limitation of 32767 bytes buffer for all Keys, Values or sections involved. ; If needed because the limitation becomes a problem, another implementation can be done using memory allocation, though there will remain a limit imposed by Windows. ; When arrays for keys and values are provided, the count of elements in both arrays must be identical or the function fails on purpose. ; An empty value should be provided as a zero length string. TO BE TESTED ; ; Camera functions ; ================ ; ; Forces the FlyCam state. ; if activate is true and the FlyCam is not active AND the FXCam is not active either, the FlyCam will be activated. ; if activate is false and the FlyCam is active, the FlyCam will be deactivated. ; if the requested state is identical to the current state nothing is done. ; Returns whether the FlyCam was active or not before the call so mods can restore the previous state if needed. bool Function SetFlyCam(bool activate) native global ; TO BE TESTED ; Forces the FlyCam state. Alternative version that allows to pause/unpause the game when entering FlyCam ; if activate is true and the FlyCam is not active AND the FXCam is not active either, the FlyCam will be activated. ; if pause then the game will be paused ; if activate is false and the FlyCam is active, the FlyCam will be deactivated. ; otherwise if the requested activate is identical to the current state nothing is done. ; Returns whether the FlyCam was active or not before the call so mods can restore the previous state if needed. ;TBT; bool Function SetFlyCam2(bool activate, bool pause) native global ; TO BE TESTED - So far this is useless as scripts seem to be stopped while in pause mode :( ; Get the current state of the FlyCam bool Function GetFlyCam() native global ; Get the current pause state of the game bool Function GetPaused() native global ; Get the current state of the FXCam bool Function GetFXCam() native global ; Select the speed at which the FlyCam moves (identical to SetUFOCamSpeedMult/sucsm console command) ; The console command supports an optional second parameter to control rotation speed. ; The way it handles default value is not compatible so I use an explicit bool to select which speed to change ; Returns the previous value of the selected speed. float Function SetFlyCamSpeedMult(float speed, bool rotation=False) native global ; ; Power Armor/Race/Skeleton functions ; =================================== ; ; Returns the actor's race when in PowerArmor Race Function GetActorPowerArmorRace(Actor akActor) native global ; Returns the actor's skeleton when in PowerArmor string Function GetActorPowerArmorSkeleton(Actor akActor) native global ; Returns the actor's current skeleton, not affected by PowerArmor string Function GetActorSkeleton(Actor akActor) native global ;Chosen Clue Edit ; ; String functions ; ================ ; ; Returns the first index of the position the toFind string starts. You can use this to check if an animation has a tag on it. Is not case sensitive. Int Function StringFind(string theString, string toFind, int startIndex = 0) native global ; Returns the selected substring from theString. If no length is set, the entire string past the startIndex number is returned. string Function StringSubstring(string theString, int startIndex, int len = 0) native global ; Splits the string into a string array based on the delimiter given in the second parameter. ; As this function does ignore whitespace, putting a space as the delimiter will only result in a string being returned without spaces. string[] Function StringSplit(string theString, string delimiter = ",") native global ; Opposite of StringSplit. string Function StringJoin(string[] theStrings, string delimiter = ",") native global ; Converts an integer of any base to a hexadecimal string representation string Function IntToHexString(Int num) native global ; Converts a hexadecimal string to an integer Int Function HexStringToInt(String theString) native global ; ; Array functions ; =============== ; ;Just a precursor: This does not mean we can use Alias based scripts to store animations like sexlab does, as the F4SE team has yet to include a typedef of them in the F4SE CPP files. I am guessing that they haven't reverse engineered it yet. Form[] Function ResizeFormArray(Form[] theArray, int theSize, Form theFill = NONE) native global String[] Function ResizeStringArray(String[] theArray, int theSize, String theFill = "") native global Int[] Function ResizeIntArray(Int[] theArray, int theSize, Int theFill = 0) native global Float[] Function ResizeFloatArray(Float[] theArray, int theSize, Float theFill = 0.0) native global Bool[] Function ResizeBoolArray(Bool[] theArray, int theSize, Bool theFill = False) native global Var[] Function ResizeVarArray2(Var[] theArray, int theSize) native global Var[] Function ResizeVarArray(Var[] theArray, int theSize) global ; Because filling with invalid values will CTD ; Bugged for any version prior to 14 ; theFill will be ignored, but kept for compatibility. Anyway nobody used it ever as it would have CTD. Please use ResizeVarArray2 Int theFill = 0 return ResizeVarArrayInternal(theArray, theSize, theFill) endFunction ; if the int theSize is negative, the resulting array is a copy of the original array unchanged. ; Sets the minimum array size required by a mod. Returns false if the current value was greater. Bool Function SetMinimalMaxArraySize(int theMaxArraySize) native global ; This patches ArrayAdd and ArrayInsert so they respect that maximum. The value is memorised in ToolLib.ini ;[Custom Arrays] ;uMaxArraySize=nnnnnn ; ; !! Creating arrays that are too large will adversaly affect your game !! ; ; Keyword functions ; ================= ; ; Return the first keyword whose editorID is akEditorID Keyword Function GetKeywordByName(string akEditorID) native global ; Adds a keyword to a form (not only a reference). Does not persists. bool Function AddKeywordToForm(Form akForm, Keyword akKeyword) native global ; Delete a keyword from a form (not only a reference). Does not persists. bool Function DelKeywordFromForm(Form akForm, Keyword akKeyword) native global ; Return an array of all keywords loaded in game. Keyword[] Function GetAllKeywords() native global ; ; CrossHair functions ; ==================== ; ; Returns the Reference that is currently under the CrossHair. Returns None if there isn't one currently. ObjectReference Function LastCrossHairRef() native global ; Returns the last Actor that is or was under the CrossHair. Returns None until there is one since the game was (re)started. Actor Function LastCrossHairActor() native global ; ; ObjectReference functions ; ========================= ; ; Set the reference display name as a string without token. TO BE TESTED bool Function ObjectReferenceSetSimpleDisplayName(ObjectReference akObject, string displayName) native global ; ; Actor functions ; =============== ; ; Check if the ActorBase has a specific skin. TO BE TESTED bool Function ActorBaseIsClean(Actor akActor) native global ; Return the WNAM ARMO of either the actor base or the actor's race Form Function GetActorBaseSkinForm(Actor akActor) native global ; Copy the base skin of one actor onto another as a skin override, similar to what LooksMenu does bool Function CopyActorBaseskinForm(Actor akSourceActor, Actor akDestActor) native global ; MFG morph function provided by EgoBallistic ; Apply a MFG Morph to the actor bool Function MfgMorph(Actor akActor, int morphID, int intensity) native global ; Set all MFG Morph values to zero on an actor bool Function MfgResetMorphs(Actor akActor) native global ; Save an actor's MFG Morph values to an array of float Float[] Function MfgSaveMorphs(Actor akActor) native global ; Restore an array of saved MFG morph values to an actor bool Function MfgRestoreMorphs(Actor akActor, Float[] values) native global ; Copy the MFG morph values from one actor to another bool Function MfgCopyMorphs(Actor a0, Actor a1) native global ; Apply a set of MFG morphs to an actor. Morph ID morphIDs[x] will be set to values[x] bool Function MfgApplyMorphSet(Actor akActor, int[] morphIDs, int[] values) native global ; ; Collision functions ; =================== ; ; Set the collision state of a reference. Returns the previous state. TO BE TESTED _ currently fails. ;TBT; bool Function ObjectReferenceSetCollision(ObjectReference akObject, bool enable=True) native global ; Get the collision state of a reference. If akObject is None, return the global collision state (controlled by TCL). TO BE TESTED ;TBT; bool Function ObjectReferenceGetCollision(ObjectReference akObject) native global ; ; Cell Functions ; ============== ; ; Returns the number of references of type formType in cell. Use GetFormType() below for formType values. If formType is 0 this returns the count of all refs in the cell. Int Function GetNumRefsInCell(Cell akCell, Int formType) native global ; Returns nth reference of type formType in cell. If formType is 0 this returns the nth reference of any type. ObjectReference Function GetNthRefInCell(Cell akCell, Int index, Int formType) native global ; ; Misc. Form functions ; ==================== ; ; Returns the Editor ID of a Race. Originally GetFormEditorID, but passing in a form and using the F4SE function GetEditorID() has only worked on Quest and Race forms. So I've just made it for race forms only. String Function GetRaceEditorID(Race akForm) native global ; Returns the name of the plugin that created a form String Function OriginalPluginName(Form akForm) native global ; Returns the persistent ID of a form (excluding the load index) Should be compatible with esl files. (Fixed as of v18) Int Function OriginalPluginID(Form akForm) native global ; Returns whether a form is in a given leveled item list bool Function GetInLeveledItem(Leveleditem akList, Form akForm) native global ; Return a form's record flags Int Function GetRecordFlags(Form akForm) native global ; Return a form's formType Int Function GetFormType(Form akForm) native global ; Return whether form is persistent or not Bool Function IsPersistent(Form akForm) native global ; Set a form persistent or not. Returns false if form does not exist Bool Function SetPersistent(Form akForm, bool akFlag) native global ; ; Misc functions ; ============== ; ; Prints a message to the debug console. Exposes the internal F4SE function Console_Print using the code found in Papyrutil in Skyrim. bool Function PrintConsole(String text) native global ; ; HIDDEN Functions. Never call directly. ; ; hidden function, use ResizeVarArray instead Var[] Function ResizeVarArrayInternal(Var[] theArray, int theSize, Var theFill) native global ; ; Wav function (by Fedim) ; ; Plays a WAV file. FileName relative to "Data\Sound\Voice\" ; Option is possible "Data\Sound\Voice\MyPlugin\sound001.wav" Function PlaySoundWav(string FileName) native global ; Returns the current volume level of the player (-1 = 0xFFFFFFFF -> max) ; LowWord - left channel volume ; HeighWorg - right channel volume ; 0 <= volume <= 65535 (0xFFFF) int Function GetVolumeWav() native global ; Sets the volume of the player channels ; 0 <= volume <=65535 (0xFFFF) int Function SetVolumeWav(int volumeA, int volumeB) native global ; Randomly selects a line from the SectionText section of the "Data\F4SE\Plugins\PluginName.ini" file, plays the WAV and returns the text ; ini file must be UTF-8 encoded ; Sounds should be in the "Data\Sound\Voice\PluginName.esp\" String Function VoiceMessage(String PluginName, String SectionText) native global ; ; INI setting functions ; ===================== ; ; Functions to retrieve INI settings, e.g. Fallout4.ini, Fallout4Prefs.ini, Fallout4Custom.ini, mod .ini files in Data folder ; These functions retrieve the settings from the game engine, not from the INI files themselves. ; Parameter is the .ini setting name and section, fSettingName:SectionName. For example, fMinCurrentZoom:Camera ; Note that typing is strict, e.g. you cannot call GetINIFloat on an Int setting ; ; Return Float setting value or 0.0 if not found float Function GetINIFloat(string ini) native global ; Return Int setting value or 0 if not found int Function GetINIInt(string ini) native global ; Return Bool setting value or false if not found Bool Function GetINIBool(string ini) native global ; Return String setting value or NONE if not found String Function GetINIString(string ini) native global This is a community resource. It can be used in any way you wish in any mod. The released version can be re uploaded on other sites as needed but please do not duplicate on this site. Any part of the source code not provided as part of F4SE can be reused in your own work as you wish. Use this topic to comment, request and eventually propose new functionalities on the plugin. Also in v3: Compiled DLL properly named. Update to KK after test. Proved insufficient then commented out. new in v5: ; Select the speed at which the FlyCam moves (identical to SetUFOCamSpeedMult/sucsm console command) ; The console command supports an optional second parameter to control rotation speed. ; The way it handles default value is not compatible so I use an explicit bool to select which speed to change ; Returns the previous value of the selected speed. float Function SetFlyCamSpeedMult(float speed, bool rotation=False) native global new in v6: ; ; String functions ; ================ ; ;Returns the first index of the position the toFind string starts. You can use this to check if an animation has a tag on it. Is not case sensitive. Int Function StringFind(string theString, string toFind, int startIndex = 0) native global ;Returns the selected substring from theString. If no length is set, the entire string past the startIndex number is returned. string Function StringSubstring(string theString, int startIndex, int len = 0) native global ;Splits the string into a string array based on the delimiter given in the second parameter. ;As this function does ignore whitespace, putting a space as the delimiter will only result in a string being returned without spaces. string[] Function StringSplit(string theString, string delimiter = ",") native global ; Opposite of StringSplit. string Function StringJoin(string[] theStrings, string delimiter = ",") native global new in v7: ; ; Array functions ; =============== ; ;Just a precursor: This does not mean we can use Alias based scripts to store animations like sexlab does, as the F4SE team has yet to include a typedef of them in the F4SE CPP files. I am guessing that they haven't reverse engineered it yet. Form[] Function ResizeFormArray(Form[] theArray, int theSize, Form theFill = NONE) native global String[] Function ResizeStringArray(String[] theArray, int theSize, String theFill = "") native global Int[] Function ResizeIntArray(Int[] theArray, int theSize, Int theFill = 0) native global Float[] Function ResizeFloatArray(Float[] theArray, int theSize, Float theFill = 0.0) native global Bool[] Function ResizeBoolArray(Bool[] theArray, int theSize, Bool theFill = False) native global Var[] Function ResizeVarArray(Var[] theArray, int theSize) global ; if the int theSize is negative, the reulting array is a copy of the original array unchanged. ; ; Misc. Form functions ; ==================== ; ; Returns the Editor ID of a Race. Originally GetFormEditorID, but passing in a form and using the F4SE function GetEditorID() has only worked on Quest and Race forms. So I've just made it for race forms only. String Function GetRaceEditorID(Race akForm) native global new in V8: ; ; Keyword functions ; ================= ; ; Return the first keyword whose editorID is akEditorID Keyword Function GetKeywordByName(string akEditorID) native global ; Adds a keyword to a form (not a reference). Does not persists. bool Function AddKeywordToForm(Form akForm, Keyword akKeyword) native global ; Return an array of all keywords loaded in game. Keyword[] Function GetAllKeywords() native global new in v9.0 ; ; Shared community libray of utility function from LoverLab distributed with FourPlay ressources as a F4SE plugin with sources included ; ; Version 9 for runtime 1.10.20 2017 08 31 by jaam and Chosen Clue ; Runtime version: This file should be runtime neutral. The accompanying F4SE plugin (ll_fourplay_1_10_20.dll) is NOT! ; You need to always use a plugin corresponding with the game version you play. ; Plugin should be available just after F4SE has been updated for the modified runtime. ; Runtime versions lower than 1.10.20 will no longer be supported. ; Written and tested against F4SE 0.5.0. You should not use an older version of F4SE. ; ; Get the value of custom config float option Float Function GetCustomConfigOption_float(string name, string section, string key) native global ; Sets the value of custom config float option. The directories and path will be created as needed. If the result is false, the set did not happen. bool Function SetCustomConfigOption_float(string name, string section, string key, float data) native global ; Returns the name of the plugin that created a form String Function OriginalPluginName(Form akForm) native global ; Returns the persistent ID of a form (excluding the load index) Should be compatible with esl files. Int Function OriginalPluginID(Form akForm) native global ; Sets the minimum array size required by a mod. Returns false if the current value was greater. Bool Function SetMinimalMaxArraySize(int theMaxArraySize) native global ; This patches add and insert so they respect that maximum. The value is memorised in LL_FourPLay.ini ;[Custom Arrays] ;uMaxArraySize=nnnnnn ; ; !! Creating arrays that are too large will adversaly affect your game !! new in v10: fix the FxCam offset so the FlyCam works properly reuploaded v10 without the 1.9 DLL. For 1.9 use v8 version of the DLL new in v11: compatible with runtime version v1.10.26 new in v12: compatible with runtime version v1.10.40 new in v13: compatible with runtime version v1.10.50 new in v14: not needed for current version of four_play (nor the current alpha of FP 1.0) any version prior to 14 had an issue during ResizeVarArray or ResizeVarArrayInternal due to either copying uninitialized existing data or setting new data to the fill value. both are replaced with a fixed ResizeVarArray2 which lets the system initilize to null the arrays. (old prototype remains otherwise the papyrus log would complain loudly). new in v15: compatible with runtime version v1.10.64 new in v16: compatible with runtime version v1.10.75 new in v17: compatible with runtime version v1.10.82 new in v18: compatible with runtime version v1.10.89 fixed OriginalFormID added DelKeywordFromForm (but it untested at the moment). new in v20: fix for DelKeywordFromForm. ; Get all the keys and values contained in a section. Both at once to avoid discrepancies in the order. ; The keys are in VarToVarArray(Var[0]) as String[] and the values in VarToVarArray(Var[1]) as String[] Var[] Function GetCustomConfigOptions(string fileName, string section) native global ; Set a list of keys and values in a section. Any other existing key will be left alone. bool Function SetCustomConfigOptions(string fileName, string section, string[] keys, string[] values) native global ; Reset all the keys and values contained in a section. ; Any exiting key value pair will be suppressed first, so providing none arrays will effectivly removes all keys from the section. bool Function ResetCustomConfigOptions(string fileName, string section, string[] keys, string[] values) native global ; Get all the sections in a file. string[] Function GetCustomConfigSections(string fileName) native global ; For all array functions: ; The implementation as an arbitrary limitation of 32767 bytes buffer for all Keys, Values or sections involved. ; If needed because the limitation becomes a problem, another implementation can be done using memory allocation, though there will remain a limit imposed by Windows. ; When arrays for keys and values are provided, the count of elements in both arrays must be identical or the function fails on purpose. ; An empty value should be provided as a zero length string. TO BE TESTED ; ; CrossHair functions ; ==================== ; ; Returns the Reference that is currently under the CrossHair. Returns None if there isn't one currently. ObjectReference Function LastCrossHairRef() native global ; Returns the last Actor that is or was under the CrossHair. Returns None until there is one since the game was (re)started. Actor Function LastCrossHairActor() native global ; ; Misc functions ; ============== ; ; Prints a message to the debug console. Exposes the internal F4SE function Console_Print using the code found in Papyrutil in Skyrim. Function PrintConsole(String text) native global v21: Same as v20 but with the correct DLL. new in v22: compatible with runtime version v1.10.98 new in v24: compatible with runtime version v1.10.106 new in v25: DELETED. new in v26: compatible with runtime version v1.10.111 new in v27: compatible with runtime version v1.10.114 (untested for now but should work). new in v28: ; Return the WNAM ARMO (skin mesh) of either the actor base or the actor's race Form Function GetActorBaseSkinForm(Actor akActor) native global new in v29: compatible with runtime version v1.10.120 (untested for now but should work). new in v30: ; Returns whether a form is in a given leveled item list bool Function GetInLeveledItem(Leveleditem akList, Form akForm) native global new in v31: compatible with runtime version v1.10.130 new in v32: compatible with runtime version v1.10.138 new in v33: Bug fix for LastCrossHairActor by EgoBalistic. (Possible CTD, so please update) new in v34: Bug fix for SetMinimalMaxArraySize by EgoBalistic new in v35: new MFG morph functions and Scaleform integration by EgoBallistic. ; MFG morph function provided by EgoBallistic ; Apply a MFG Morph to the actor bool Function MfgMorph(Actor akActor, int morphID, int intensity) native global ; Set all MFG Morph values to zero on an actor bool Function MfgResetMorphs(Actor akActor) native global ; Save an actor's MFG Morph values to an array of float Float[] Function MfgSaveMorphs(Actor akActor) native global ; Restore an array of saved MFG morph values to an actor bool Function MfgRestoreMorphs(Actor akActor, Float[] values) native global ; Copy the MFG morph values from one actor to another bool Function MfgCopyMorphs(Actor a0, Actor a1) native global ; Apply a set of MFG morphs to an actor. Morph ID morphIDs[x] will be set to values[x] bool Function MfgApplyMorphSet(Actor akActor, int[] morphIDs, int[] values) native global new in v37: compatible with runtime version v1.10.162 and both F4SE 0.6.18 and 0.6.19 new in v38: compatible with runtime version v1.10.163 and 0.6.20/0.6.21 new in v39: new functions provided by EgoBallistic: ; Converts an integer of any base to a hexadecimal string representation string Function IntToHexString(Int num) native global ; Converts a hexadecimal string to an integer Int Function HexStringToInt(String theString) native global ; Copy the base skin of one actor onto another as a skin override, similar to what LooksMenu does bool Function CopyActorBaseskinForm(Actor akSourceActor, Actor akDestActor) native global ; Cell Functions ; ============== ; ; Returns the number of references of type formType in cell. Use GetFormType() below for formType values. If formType is 0 this returns the count of all refs in the cell. Int Function GetNumRefsInCell(Cell akCell, Int formType) native global ; Returns nth reference of type formType in cell. If formType is 0 this returns the nth reference of any type. ObjectReference Function GetNthRefInCell(Cell akCell, Int index, Int formType) native global ; Return a form's record flags Int Function GetRecordFlags(Form akForm) native global ; Return a form's formType Int Function GetFormType(Form akForm) native global new in v40: ; ; Wav function (by Fedim) ; ; Plays a WAV file. FileName relative to "Data\Sound\Voice\" ; Option is possible "Data\Sound\Voice\MyPlugin\sound001.wav" Function PlaySoundWav(string FileName) native global ; Returns the current volume level of the player (-1 = 0xFFFFFFFF -> max) ; LowWord - left channel volume ; HeighWorg - right channel volume ; 0 <= volume <= 65535 (0xFFFF) int Function GetVolumeWav() native global ; Sets the volume of the player channels ; 0 <= volume <=65535 (0xFFFF) int Function SetVolumeWav(int volumeA, int volumeB) native global ; Randomly selects a line from the SectionText section of the "Data\F4SE\Plugins\PluginName.ini" file, plays the WAV and returns the text ; ini file must be UTF-8 encoded ; Sounds should be in the "Data\Sound\Voice\PluginName.esp\" String Function VoiceMessage(String PluginName, String SectionText) native global compatible with runtime version v1.10.163 and 0.6.20/0.6.21 v40 was not properly packaged (same content as v39). V41 contains the correct compiled files to use. new in v42: ; Return whether form is persistent or not Bool Function IsPersistent(Form akForm) native global ; Set a form persistent or not. Returns false if form does not exist Bool Function SetPersistent(Form akForm, bool akFlag) native global new in v43 Ported from SKSE by EgoBallistic ; ; INI setting functions ; ===================== ; ; Functions to retrieve INI settings, e.g. Fallout4.ini, Fallout4Prefs.ini, Fallout4Custom.ini, mod .ini files in Data folder ; These functions retrieve the settings from the game engine, not from the INI files themselves. ; Parameter is the .ini setting name and section, fSettingName:SectionName. For example, fMinCurrentZoom:Camera ; Note that typing is strict, e.g. you cannot call GetINIFloat on an Int setting ; ; Return Float setting value or 0.0 if not found float Function GetINIFloat(string ini) native global ; Return Int setting value or 0 if not found int Function GetINIInt(string ini) native global ; Return Bool setting value or false if not found Bool Function GetINIBool(string ini) native global ; Return String setting value or NONE if not found String Function GetINIString(string ini) native global New in v44 New functions by EgoBallistic ; Return an Actor's actor flags (not the same as the Form flags) Int Function GetActorFlags(Actor akActor) native global ; Reset an actor's persistent Essential / Protected data ; Calling Actor.SetEssential() overrides the actor base value. Changing the state on the actor base will no longer have any effect, and ; neither will the Essential flag on Aliases. This function resets the override so ActorBase and alias flags will work again. bool Function ResetActorEssential(Actor akActor) native global ; Return an array of all the forms in a FormList Form[] Function FormListToArray(FormList akFormList) native global ; Return the form with the given formID from any type of plugin (esm, esl, esp) Form Function GetFormFromPlugin(String modName, Int formID) native global ; Return an array of forms given an array of plugin names and an array of form IDs Form[] Function GetFormArray(String[] modNames, Int[] formIDs) native global ; Populate a formlist with the forms given an array of plugin names and a corresponding array of form IDs Function PopulateFormlist(FormList akFormList, String[] modNames, Int[] formIDs) native global ; ; Animation functions ; =================== ; ; Functions to play animations on actors. They do basic sanity checking on the inputs so that None idles and actors, ; actors who are deleted or disabled, and actors with no AI middle process will not attempt to play idles. ; ; Make one actor play an idle Function PlayIdle(Actor akActor, Form akIdle) native global ; Make multiple actors play idles, in synch Function PlayMultipleIdles(Actor[] akActor, Form[] akIdle) native global Other files: Test-LLFP-vX-YYYYMMDD contains the current version of the test and verification mod for the plugin. Src-LLP-vX-YYYYMMDD contains version X source files and compiled resources for developers. Submitter jaam Submitted 07/22/2017 Category Modders Resources Requires Fallout 4 version 1.10.163 and F4SE 0.6.20 or later.
-
Living is Pain (alpha version) View File In post apocalyptic world, full of violence, it is hard to imagine that psyche of people remain intact. This is the framework that shows the idea how such world might affect psyche. Living is Pain (Alpha version) Disclaimer: work still in progress. No backward compatibility is assumed during alpha stage releases. This work was inspired by @twistedtrebla's Sex Attributes, so something could sound familiar to you. LiP Framework itself doesn't affect any aspect of gameplay, except cosmetic things that are not visible without mods like LiP UI. The purpose of framework - provide usefull functionality for new mods building. Several sample mods are available. Probably some gamers will found them interesting LiP Framework provides: - set of new attributes for any sentient life form in the Commonwealth - by default: humans, ghouls, 3rd gen synths, supermutants. - ability to extend sentient life forms list - many different customization points - logic of interdependency between these attributes - attributes value calculation routines - integration with other popular mods - large amount of configuration options Attributes and default dependencies: Actual purpose of attributes may vary depending on situation and game mechanics. Generic attributes, that reflects mental state of a character: Sexual attributes: Health attributes: Reasons of attributes changes available out of box Hits Kills Time elapsing Limits exceeding Combat finish Orgasm Orgasm failure AAF scene: Dependencies: F4SE Additional Attributes F4DS Integrations: Advanced Animation Framework Follow AAF FM to install and configure it. If you have AAF installed then LiP will automatically use information from AAF Dependencies if you want to have integration with AAF: AAF Themes and AAF Informer Devious Devices If you have DD installed then LiP will automatically use information about DD wearing Real Handcuffs If you have RH installed then LiP will automatically use information about RH wearing Commonwealth Captives If you have EBCC installed then captives will have reasonable LiP attributes assigned Mod Configuration Menu If you have MCM installed, LiP configuration page will be available Know Your Friend If your have KYF installed then LiP attributes will be shown for NCPs. Samples: LiP Effects - initiates arousal animation when actor receives orgasm notification. more mechanics could be added later LiP Morph - vagina/anus morhping depending on health attributes. Designed for FusionGirl Morph+ from @StaticPhobia2. Depends on LooksMenu Use LiP UI if you looking for option to display LiP attributes. More detailed techical description will be added over time TODO: Permissions: Credits: Submitter Dlinny_Lag Submitted 12/09/2021 Category Modders Resources Requires F4SE
-
AAF Informer (Beta) View File AAF Informer is the F4SE plugin to simplify obtaining of AAF scenes information in Papyrus scripts. AAF Informer consist of 3 parts: - AAFInformer.dll - F4SE plugin - AAFCollector.exe - service executable to parse AAF XML files - Info.pex/Info.psc - Papyrus script to access AAFInformer.dll API How it works: At the game start up AAFCollector.exe is started to parse AAF XML files. When it finishes all collected information memorised in F4SE plugin and later this information can be accessed via API calls from Papyrus script. Following information is available: - For scenes (actually, positions in AAF terminology) that you can see in AAF UI - see SceneInfo structure in Info.psc - For scene participant(s) - see ActorInfo in Info.psc Most information is obtained from tags defined by animation authors or by themes. Themes are essential to get information from AAF scenes. Without themes installed, most likely your script will not receive usefull information. Tags that defines types of actors (like F_F or F_M) are ignored. Actor types retrieved from animation definitions. Tags that defines furniture are ignored. Furniture information retrived from positionData XMLs Note: animation author's XML files and themes XML files contains a lot of mistakes. Fixing them is out of scope of this tool, but I hope all mistakes will be elimenated sooner or later. To simplify mistakes detection usefull logs could be found in %userprofile%\documents\My Games\Fallout4\F4SE\AAFInformer.log Also this log contains error messages generated by AAFCollector.exe Implementation details: What tags are supported? All tags falls into several categories: How values are applied to actors? Example of script Known issues: 1. Some positions contains location attribute that has multiple furniture groups separated by comma. Such locations are handled, but I can't test it as such position does not appear AAF UI. Probably defining multiple furniture groups is invalid location definition, but without original AAF source code it hard to say definitely. 2. I had no chances to test AAF sex overriding with keywords. So not sure is it even working. 3. With current system of tags it is not possible to recognize how actors are contacted with each other, so all contacts for actors with index greater than 0 are applied to actor with index 0. So scenes like "BP70 Lesbian Threesome..." might have irrelevant contact information. See below. Next steps: - try to introduce new tags system to allow definition of actors contacts exacly. This plugin will be updated on succees. - try to introduce new tags system to allow definition of Held/Love/Dom/Stim values for each actor. This plugin will be updated on succees. - try to introduce new tags system to allow definition of actor position for actors with index greater than 0. This plugin will be updated on succees. New system to define contacts beween actors in scenes. Feel free to request new features. Submitter Dlinny_Lag Submitted 08/21/2021 Category Framework & Resources Requires AAF, F4SE
-
Version 3.3
23,573 downloads
Last edit on 8/28/2023: Update description after 3.3 release. Assimilation Nate or Nora are great fighters (just ask Strong!) and extremely valuable to the factions in the Commonwealth. Thus, if the player romances NPCs or their health gets too low then that faction may assimilate them by changing their looks or locking them into the faction. It consists of several small quests that trigger after certain events like your health getting too low or AAF animations. There are MCM options to control many mod features, for example whether romance is enabled or not. This mod complements LL mods like AAF Violate, Sexual Harassment and Sex 'Em Up and is similar in some ways to LL mods like Tattoo After Rape and Rad Morphing Redux. Features If the player health falls below a configurable value or after the player romances a partner of a particular faction, there is a chance that the player's hair, body, skin, clothes, and faction may be changed. The chance for a change to happen for each body section and for each faction is configurable through MCM. Hair - Your hair will be changed to something appropriate for that faction. Expect to get a mohawk for Raiders and a military cut Gunners. There are differences for male and female characters. Supported hair, beard, and pubic hair styles will also regrow over time or fall out from radiation. There are some penalties if your hair gets too long so you should find & drop some scissors on the ground and use them to trim up to avoid them. I could tell you what all the hairstyle possibilities are, but that would take away the fun and surprise. Currently, base game/DLC hairstyles are supported plus the following mods: Ponytail Hairstyles ANiceOakTree's Hairstyles Pubes Forever Commonwealth Cuts KS Hairdos KS Hairdos with Physics More can easily be added! Which ones would you like? Body - Your CBBE body will be morphed based on settings in MCM. Configure them as you see fit, but by default it is set for female characters making the breasts and butt bigger and the waist smaller, i.e. an hourglass figure for most factions except "settler" factions which are the opposite. It is possible to configure the settings for male and female characters. FEV - If you romance a super-mutant, then some FEV may sneak into your system and cause increased muscle mass and some increased strength side-effects. Beware! (This can be configured or disabled in MCM). Actions Effect Body - Similar to mods like WTTF. You eat - you get large, You swing & bash & workout - you get muscle, You lounge & get rads - you get thin (can be configured or disabled in MCM). Clothes - Your clothes will be changed to something appropriate for that faction. Expect to get a harness for Raiders and a suit for Triggermen. There are differences for male and female characters. There is an option to swap your clothing hats/helmets when combat starts/ends and an option to swap your clothing gas mask when bad weather starts/ends. I could tell you what all the apparel possibilities are, but that would take away the fun and surprise. Currently, base game/DLC apparel is supported plus the following mods: Harness Wardrobe Militarized Minutemen Wearable Super Mutant Armor Gunner Outfit Pack More can easily be added! Which ones would you like? Skin - If certain mods are installed, then tattoos can be applied to the entire body when first affected and thereafter one after romance, combat or helping faction members. Faction (version 3.0 and greater) - Your faction will be changed to that faction and possibly moved to a faction-friendly location. Your last partner will have a small dialogue to initiate it. You will remain in the faction until you help or romance enough faction members to leave the faction. When leaving, a small dialogue allows you to confirm leaving or remaining in the faction. While assimilated to the faction, you will gain a perk appropriate for that faction. Asking to help or romancing faction members may result in them offering gifts or to be a companion (up to 2). You will receive better gifts based on your faction reputation which can increase each time or when a non-faction member is killed. It can decrease as well! Talking to faction members using an assigned hotkey allows you to ask for info/gifts or help/romance them. Some faction members may be a doctor and can help heal you. NOTE: Some details on implementation here: To make other factions hate the player if they become a Raider, those factions must be modified to dislike the player. The faction relations are saved before faction assimilation and restored after un-assimilation, but there is some risk here if they never get restored properly. I have been careful to assure that doesn't happen in the scripts, but that said I would only play version 3.0 with faction assimilation enabled on a new game not your long-term game with 1000's of hours played. Post a comment if you notice an NPC is unexpectedly a friend or enemy after faction assimilation and I can likely fix it. NOTE: There is no quick undo for the changes once they happen. If the player's hair changes, then you're going to have to see John in Diamond City or Horatio in Vault 81 to get a new hairstyle. If the player's body or skin changes, then you're going to have to see Doc Crocker in Diamond City to fix it. You can put your other clothes back on if you don't like the ones given to you (the mod doesn't remove them), or some may play with mods where all your clothes are stripped and then the changed clothes will be the only ones you have! There are easy ways to change all of these with the showlooksmenu command, but role playing and continuing with whatever changes is more interesting. Installation Review the Conflicts and Requirements sections below then install with your favorite mod manager. Additional features are available in the mod if the Optional Mods listed below are installed. Version 3.0 and later has many portions re-written and it is unlikely that an upgrade from any 2.0 version will work properly. Versions 3.0 and later are so different that I would recommend starting a new game after download and installation. Conflicts Assimilation conflicts with the following other mods mostly because they are also modifying your faction relationships: Raider Pet - Does something similar to Assimilation for Raiders and you end up with the Raider Pet and Assimilation systems fighting each other. For the best experience, use one or the other. If there is a feature from Raider Pet that you miss when using Assimilation then let me know and I may be able to add something similar. Requirements Fallout 4 v1.10.162 or newer F4SE - needed for lots of expanded script functions MCM - needed for extensive configuration options Optional Mods AAF including some themes/animations - for animation triggering Tested with CBBE (LMK if you have another one where it works) - for body changes BodySlide - for body changes Looksmenu - for skin overlay changes Random Overlay Framework - for skin overlay changes Tattoo After Rape - for skin overlay changes F4z Ro D'oh - for better silent dialogue lines Credits Bethesda for Fallout 4 as without it none of this would be possible The F4SE Team for their great work in finishing what Bethesda did not registrator2000 for MCM a really great menu option framework dagobaking for AAF and probably a reason LoversLab exists expired6978 for LooksMenu making it easy to change the player's looks Invictusblade for Random Overlay Framework and having an API method that could be called to apply random overlays on the player twistedtrebla for Tattoo After Rape as I used the snippet of connecting to AAF from that mod jaam and Chosen Clue and EgoBallistic for their highly useful string functions LenAnderson for Rad Morphing Redux as I learned how to do the body morphing from that mod MxR for the mod review: https://www.youtube.com/watch?v=aGl2sOJyf88 Prioritized Issues (these will roll off each release) Mods that undress like CWSS or AN76 conflict when apparel is locked. Need a way to delay re-locking till after redress by those mods. Also, resetting the lock time. Tricky but probably not impossible. There is a difference between ones that should abort the redress (like conflicting clothing), and those that should delay and then re-lock (like undressing when using a toilet). Aborting the redress is already implemented/working, but the delay/re-lock is not. Fusion Girl and True Wasteland Body (TWB) support. Both are similar to CBBE with slider names but different Vertices they effect and more spaces in the slider names (CBBE only has 2). Need to test spaces in slider names to make sure they are working correctly (can use "7B Upper" and "7B Lower" with CBBE for that) and pick "muscular" slider names/values to be affected for FEV. SKK Combat Stalkers only uses Friend/Enemy factions. Thus, if you are Raider assimilated and Raiders spawn to come after you, then they will be your enemy which doesn't make sense. Not sure how to fix this one as I cannot add the Combat Stalkers enemy faction into your friends because then (in Raider example) Super-mutants that spawn will be your friend. Challenging, no known solution. Hair stretching out and actor disappearing on AAF animations. This is not an issue with this mod and looks like it involves the timing of hair changes, but I would love to find a workaround. Challenging, no known solution. Prioritized Features (these will roll off each release) Clothes Android Outfits - https://www.nexusmods.com/fallout4/mods/72806 Hair Lots More Female Hairstyles - https://www.nexusmods.com/fallout4/mods/10543 Lots More Male Hairstyles - https://www.nexusmods.com/fallout4/mods/10695 Lots More Facial Hair - https://www.nexusmods.com/fallout4/mods/10746 MiscHairstyle 1.6 (off-site download) - http://www.mediafire.com/file/kfac38dni6d53rp/MiscHairstyle1.6_by_Atherisz.7z/file - ON HOLD (optional, for males) More Hairstyles - Beards (off-site download) - http://www.mediafire.com/file/iztz7iidy6djz1e/MoreHairstyles-Beards.rar/file - ON HOLD Black Desert Online Hairs (requires new head style) - https://www.trophihunter.com/fallout4-mods/black-desert-online-hairs - ON HOLD What's New in Version 1.4.0 Initial version (it was revisioned several times privately before posting) 1.12.0 Support DLC and implement progressive hairstyles from long to short 2.0 Faction assimilation, create hairstyles/apparel databases, FEV effect, hair growth/loss, helmet swap on combat 2.5 Bug fixes and stability/error recovery improvements, gas mask swap on bad weather 2.6 Bug fixes from 2.5 release discovered right after release 2.7 Bug fixes still existing in 2.6 version 3.0 Assimilation via Combat & Theft, NPC Talking giving 7 generic side-quests with faction specific ones planned for future 3.1 Bug fixes from 3.0 release discovered right after release, Simple sit out ground feature to rest 3.2 Bug fixes from 3.1 release, shortcut consumables, Atom Cats faction assimilation, info popup menu 3.3 Bug fix from 3.2 release, issue with Atom Cats faction assimilation - finish Atom Cats assimilation or go back to save before assimilation before updating -
im sure you'll ask why, f4se has AAF, yea but for some reason whenever i open the f4se launcher thing no mod files apear, but when i open it with the normal fallout launcher, all mod files are back... except the most important one which is f4se, im sure ive tried just about everything and i am ready to just give up, so yea, if you know of any nice nsfw mods that dont require f4se, it would be really nice if you could link them.
-
Hello, I stopped playing fallout 4 a little while ago and decided to come back. Came back and updated all my mods accordingly in terms of compatibility with the mods I have. I double checked to see if my game would launch and it did launch just fine after updating mods. However I noticed I needed something new which is required. Buffout 4 and its requirements. So I downloaded them buffout and the address one via mod manager and the other two manually like suggested. Now f4se wont launch. I know its buffouts fault because when I disable it, I can launch F4SE just fine. This could be just me being dumb, but im literally clueless how to fix this issue. Any help is appreciated! Thank you for your time!
-
I think i installed it correctly. Though i put the global instance on a network drive. But as the title implies, it doesn't work in-game. I drag and dropped everything in the 7z, over to my fallout 4 game directory. Then i set it up in MO2... and then moved onto getting some mods. Mostly weapon and sex-related mods. AAF Violate, and almost all of the recommended animation mods(and of course their requirements, if possible to find.) Doombased weapons merged. Plus a few other mods, to tweak the experience. A few more weapon mods, and skins. CBBE, BodySlide, and a few other mods to add onto that. And that seems to be it. I've tried running as administrator, and reinstalling F4SE... but it doesn't work. I'll try moving the instance, to a local drive, and restarting my pc. Then come back with the result. However, i doubt that this'll fix the issue.
-
-
If I open my FO4 using F4SE, non of the player related subtitles during the time that player has control show up. Doesn't matter if it's a mod dialogue or not. Without F4SE... it works. Any ideas what might be causing this? ____________________________________________________________________________________________________________________________Load Order in the attached files because it was LONG! but it doesn't go above the limit cause only 251 are ESP --------------------------------------------------------------------------------------------------------------------------------- Fix: F4z Ro D'oh is the problem. Remove it. loadorder.txt
-
LiP UI View File UI for Living is Pain LiP UI UI for displaying LiP atrtibutes for player and NPCs. UI for NPCs displayed in AAF scenes only. Outside of AAF scenes one could use Know Your Friend to see LiP attributes of NPC Requires Living is Pain 0.6.1 or higher with its dependencies. Mod can be configured via MCM if it is installed. For player and NPCs same UI widget is displayed (see screenshot above) Widget displays LiP attributes in 4 sections: 1. Attributes related to body areas that can be stimulated 2. Mental attributes 3. Other attributes 4. Failed orgasms counter TODO: Sources available at GitHub Submitter Dlinny_Lag Submitted 01/04/2022 Category Other Requires F4SE, LiP
-
Ive recently tried to get back into FO4, but ive run into a snag. MO2 doesn't want to work with F4SE. I installed the f4se right, made the correct path to select it MO2, even made a path for the scripts in it. But when i try to use it i get a locked MO2, a black screen taking up 3/4 of my screen for about 7 seconds, then it goes away and MO2 unlocks. what am i doing wrong?
-
So I can’t save my games in Fallout 4 at all. However I can with F4SE which is weird to me. Anyway, I can’t get my mods to work with F4SE. I use MO2 and installed F4SE properly. The installation is similar to Skyrim. I’ve tried running F4SE through steam, the Skyrim directory but no good, they just have different problems.
-
So I can’t save my games in Fallout 4 at all. However I can with F4SE which is weird to me. Anyway, I can’t get my mods to work with F4SE. I use MO2 and installed F4SE properly. The installation is similar to Skyrim. I’ve tried running F4SE through steam, the Skyrim directory but no good, they just have different problems.
-
Hello folks. So I'll be honest I don't know exactly what is going wrong at this point but after a fresh install and new game, trawling all the other threads with people reporting a similar issue and still not getting things running properly I'm asking for help in case I'm just being derpy and missing something obvious. Essentially I have the game all running fine (stability wise, no crashes). However some animations in the same sets wont play but some will. For example violate will sometimes work. So far human/bloatfly have triggered and correctly worked, the Super mutant ones seem to be hit and miss, sometimes it will chain together and work as expected, other times it cuts immediately throws the scene aborted message. And the deathclaw and feral ghoul ones have just locked the characters in place and no animation plays? And as I'm not the most modding savvy etc I dont know which mod is the one not working properly. F4SE should definitely be installed correctly, followed the installation instructions to a T, (both the .dll's, the .exe, and the Data folder. Made certain the data folder was merged and not creating a data folder within the data folder so NOT \common\Fallout 4\Data\Data) That said in the MCM AAF is not an option and home key does nothing so i'm inclined to say it's F4SE (as in a different thread DagobaKing was adamant that AAF wouldn't be the issue in such a circumstance). Any ideas? Thanks!
-
Hi and thanks to anyone who responds and tries to help. I am not that great with mods. A while back I posted this issue and someone gave suggestions. I did exactly what they said and I still have the problem. That person provided me the patch that should have solved my issue. Thank you to that person for trying. Unfortunately, I cannot find the topic I started so I have to start over. Sorry about that. In the future, is there a way to find the topics I posted or commented on specifically without scrolling through over 100 pages? I have Fp_Prostitution 2_7_1 installed. When I load the game I get a error message stating F4se is improperly installed. I know it is installed correctly. When I uninstall FP_Prostitution I no longer get the error message. I will list all my mods below. When I use the sex gun in Four-Play everything works fine. Everyone strips and does their naughty's. No issues. When I solicit, the animations work fine but everyone keeps their clothes on when they are supposed to strip. On the bright side, at least I do still get paid haha. However, it is irritating that the actors involved don't strip. On my other computer everything works fine. Can someone please help me resolve this or point me to another prostitution mod. All I am looking for is a way to be able to walk up to people and solicit them. Back stories and quests aren't really necessary to me. I do like the idea of building a brothel. Here is my mod list as it appears in Vortex: 01: (CBBEP Curvy) tighter vault suit with physics 1.0 02: AAF-the 1 patch to rule them all 1.1.1 03: AAF patch for Leito and Fomod 3.2.7 04: Advanced animation framework Beta 93 05: Armour & Weapons keyword community resource 8.51 06: Armorsmith extended 4.6 07: Beautiful female enemies 2.0 08: Beautiful female settlers 2.0 fomod hotfix 09: Better settler 2.0 DLC master fomod 10: Bodyslide & outfit studio 4.7.4 11: Caliente's beautiful bodies enhancer 2.6.2 12: CBBE companions with bodyslide (and unique female player paths) 1.0 13: Crazy animations (mod manager gun version) 3.11.17.7 14: Eli's armor compendium cbbe & bodyslide 1.5 15: Erotic paintings (doesn't give version number) 16: Fo4 animations by leito 2.0a.7z 17: Four-Play 0.0.8.2.7z 18: FP patch 2_6_1 (runtime neutral) 19: FP Prostitution 2.7.1 20: Frankly urban cloth all in one v03 21: girly animations 4.3.1 22: increased build limit enhanced 4k DD is a god all in 1 enhanced build limit epic 2.0 23: Looksmenu 1.6.16 24: Lots more facial hair 1.21 25: Lots more female hairstyles 1.33 26: Lots more male hairstyles 1.21 27: Mandy custom voiced companion Mandy 2.1 28: Mod configuration menu 1.37 29: More varied body shapes and skins cbbe 0.4 30: Nezzer's ultimate collection 1.0 31: NMC's bundle medium 1.0 32: Pimp workshop 1.8 33: Ponytail hairstyles by Azar 2_5a BA2 version 34: Rustbelt flora 0.5 35: Sydney the companion 1.1.2 36: Tori standalone companion release 1.23 37: Vinfamy_CP_1_4 38: Vivid fallout all in one best choice 1.3
-
Version 1.0
365 downloads
Here is a preset of a very lovely and attractive young miss named Susan who is sure to turn the heads of commonwealthers. Requires the following mods to work *Looskmenu *Fallout 4 script extender *THbrows *Mischairstyles *Zella's hair color collection To install, just move the susan.json file into the following directory Computer/Local Disk/Program Files (x86)/Steam/steamapps/common/fallout 4/data/f4se/plugins/f4ee/presets -
Version v46
131,518 downloads
; ; Shared community library of utility function from LoverLab distributed with FourPlay resources as a F4SE plugin with sources included ; ; Version 43 for runtime 1.10.163 2021 09 13 by jaam and Chosen Clue and EgoBallistic and Fedim ; Runtime version: This file should be runtime neutral. The accompanying F4SE plugin (ll_fourplay_1_10_163.dll) is NOT! ; You need to always use a plugin corresponding with the game version you play. ; Plugin should be available just after F4SE has been updated for the modified runtime. ; Runtime versions lower than 1.10.138 will no longer be supported. ; Written and tested against F4SE 0.6.21. You should not use an older version of F4SE. ; ; ; Known issue: errors in description and untested functionalities. This is the topic for intermediate and/or test versions. The released version will be available as part of the Four_Play Community patch. This is also where the sources for the released plugin will be found. Current interface and available functions for v42: Scriptname LL_FourPlay Native Hidden ; ; Shared community library of utility function from LoverLab distributed with FourPlay resources as a F4SE plugin with sources included ; ; Version 43 for runtime 1.10.163 2021 09 13 by jaam and Chosen Clue and EgoBallistic and Fedim ; Runtime version: This file should be runtime neutral. The accompanying F4SE plugin (ll_fourplay_1_10_163.dll) is NOT! ; You need to always use a plugin corresponding with the game version you play. ; Plugin should be available just after F4SE has been updated for the modified runtime. ; Runtime versions lower than 1.10.138 will no longer be supported. ; Written and tested against F4SE 0.6.21. You should not use an older version of F4SE. ; ; ; ; Returns the version of this script (when someone has not forgotten to update it :) ) Float Function GetLLFPScriptVersion() global return 43.0 endFunction ; Returns the version of the plugin and servers to verify it is properly installed. Float Function GetLLFPPluginVersion() native global ; Custom profile: written into "Data\F4SE\Plugins" ; =============== ; Returns the full path for custom profile name. IE "WhereverYourGameIs\Data\F4SE\Plugins\name". Don't forget to provide the .ini extension. string Function GetCustomConfigPath(string name) native global ; Get the value of custom config string option string Function GetCustomConfigOption(string name, string section, string key) native global ; Get the value of custom config integer option (Use 0/1 for boolean) int Function GetCustomConfigOption_UInt32(string name, string section, string key) native global ; Get the value of custom config float option Float Function GetCustomConfigOption_float(string name, string section, string key) native global ; Sets the value of custom config string option (at most 66535 characters per option). The directories and path will be created as needed. If the result is false, the set did not happen. bool Function SetCustomConfigOption(string name, string section, string key, string value) native global ; Sets the value of custom config integer option. The directories and path will be created as needed. If the result is false, the set did not happen. bool Function SetCustomConfigOption_UInt32(string name, string section, string key, int data) native global ; Sets the value of custom config float option. The directories and path will be created as needed. If the result is false, the set did not happen. bool Function SetCustomConfigOption_float(string name, string section, string key, float data) native global ; Get all the keys and values contained in a section. Both at once to avoid discrepancies in the order. ; The keys are in VarToVarArray(Var[0]) as String[] and the values in VarToVarArray(Var[1]) as String[] Var[] Function GetCustomConfigOptions(string fileName, string section) native global ; Set a list of keys and values in a section. Any other existing key will be left alone. bool Function SetCustomConfigOptions(string fileName, string section, string[] keys, string[] values) native global ; Reset all the keys and values contained in a section. ; Any exiting key value pair will be suppressed first, so providing none arrays will effectivly removes all keys from the section. bool Function ResetCustomConfigOptions(string fileName, string section, string[] keys, string[] values) native global ; Get all the sections in a file. string[] Function GetCustomConfigSections(string fileName) native global ; For all array functions: ; The implementation as an arbitrary limitation of 32767 bytes buffer for all Keys, Values or sections involved. ; If needed because the limitation becomes a problem, another implementation can be done using memory allocation, though there will remain a limit imposed by Windows. ; When arrays for keys and values are provided, the count of elements in both arrays must be identical or the function fails on purpose. ; An empty value should be provided as a zero length string. TO BE TESTED ; ; Camera functions ; ================ ; ; Forces the FlyCam state. ; if activate is true and the FlyCam is not active AND the FXCam is not active either, the FlyCam will be activated. ; if activate is false and the FlyCam is active, the FlyCam will be deactivated. ; if the requested state is identical to the current state nothing is done. ; Returns whether the FlyCam was active or not before the call so mods can restore the previous state if needed. bool Function SetFlyCam(bool activate) native global ; TO BE TESTED ; Forces the FlyCam state. Alternative version that allows to pause/unpause the game when entering FlyCam ; if activate is true and the FlyCam is not active AND the FXCam is not active either, the FlyCam will be activated. ; if pause then the game will be paused ; if activate is false and the FlyCam is active, the FlyCam will be deactivated. ; otherwise if the requested activate is identical to the current state nothing is done. ; Returns whether the FlyCam was active or not before the call so mods can restore the previous state if needed. ;TBT; bool Function SetFlyCam2(bool activate, bool pause) native global ; TO BE TESTED - So far this is useless as scripts seem to be stopped while in pause mode :( ; Get the current state of the FlyCam bool Function GetFlyCam() native global ; Get the current pause state of the game bool Function GetPaused() native global ; Get the current state of the FXCam bool Function GetFXCam() native global ; Select the speed at which the FlyCam moves (identical to SetUFOCamSpeedMult/sucsm console command) ; The console command supports an optional second parameter to control rotation speed. ; The way it handles default value is not compatible so I use an explicit bool to select which speed to change ; Returns the previous value of the selected speed. float Function SetFlyCamSpeedMult(float speed, bool rotation=False) native global ; ; Power Armor/Race/Skeleton functions ; =================================== ; ; Returns the actor's race when in PowerArmor Race Function GetActorPowerArmorRace(Actor akActor) native global ; Returns the actor's skeleton when in PowerArmor string Function GetActorPowerArmorSkeleton(Actor akActor) native global ; Returns the actor's current skeleton, not affected by PowerArmor string Function GetActorSkeleton(Actor akActor) native global ;Chosen Clue Edit ; ; String functions ; ================ ; ; Returns the first index of the position the toFind string starts. You can use this to check if an animation has a tag on it. Is not case sensitive. Int Function StringFind(string theString, string toFind, int startIndex = 0) native global ; Returns the selected substring from theString. If no length is set, the entire string past the startIndex number is returned. string Function StringSubstring(string theString, int startIndex, int len = 0) native global ; Splits the string into a string array based on the delimiter given in the second parameter. ; As this function does ignore whitespace, putting a space as the delimiter will only result in a string being returned without spaces. string[] Function StringSplit(string theString, string delimiter = ",") native global ; Opposite of StringSplit. string Function StringJoin(string[] theStrings, string delimiter = ",") native global ; Converts an integer of any base to a hexadecimal string representation string Function IntToHexString(Int num) native global ; Converts a hexadecimal string to an integer Int Function HexStringToInt(String theString) native global ; ; Array functions ; =============== ; ;Just a precursor: This does not mean we can use Alias based scripts to store animations like sexlab does, as the F4SE team has yet to include a typedef of them in the F4SE CPP files. I am guessing that they haven't reverse engineered it yet. Form[] Function ResizeFormArray(Form[] theArray, int theSize, Form theFill = NONE) native global String[] Function ResizeStringArray(String[] theArray, int theSize, String theFill = "") native global Int[] Function ResizeIntArray(Int[] theArray, int theSize, Int theFill = 0) native global Float[] Function ResizeFloatArray(Float[] theArray, int theSize, Float theFill = 0.0) native global Bool[] Function ResizeBoolArray(Bool[] theArray, int theSize, Bool theFill = False) native global Var[] Function ResizeVarArray2(Var[] theArray, int theSize) native global Var[] Function ResizeVarArray(Var[] theArray, int theSize) global ; Because filling with invalid values will CTD ; Bugged for any version prior to 14 ; theFill will be ignored, but kept for compatibility. Anyway nobody used it ever as it would have CTD. Please use ResizeVarArray2 Int theFill = 0 return ResizeVarArrayInternal(theArray, theSize, theFill) endFunction ; if the int theSize is negative, the resulting array is a copy of the original array unchanged. ; Sets the minimum array size required by a mod. Returns false if the current value was greater. Bool Function SetMinimalMaxArraySize(int theMaxArraySize) native global ; This patches ArrayAdd and ArrayInsert so they respect that maximum. The value is memorised in ToolLib.ini ;[Custom Arrays] ;uMaxArraySize=nnnnnn ; ; !! Creating arrays that are too large will adversaly affect your game !! ; ; Keyword functions ; ================= ; ; Return the first keyword whose editorID is akEditorID Keyword Function GetKeywordByName(string akEditorID) native global ; Adds a keyword to a form (not only a reference). Does not persists. bool Function AddKeywordToForm(Form akForm, Keyword akKeyword) native global ; Delete a keyword from a form (not only a reference). Does not persists. bool Function DelKeywordFromForm(Form akForm, Keyword akKeyword) native global ; Return an array of all keywords loaded in game. Keyword[] Function GetAllKeywords() native global ; ; CrossHair functions ; ==================== ; ; Returns the Reference that is currently under the CrossHair. Returns None if there isn't one currently. ObjectReference Function LastCrossHairRef() native global ; Returns the last Actor that is or was under the CrossHair. Returns None until there is one since the game was (re)started. Actor Function LastCrossHairActor() native global ; ; ObjectReference functions ; ========================= ; ; Set the reference display name as a string without token. TO BE TESTED bool Function ObjectReferenceSetSimpleDisplayName(ObjectReference akObject, string displayName) native global ; ; Actor functions ; =============== ; ; Check if the ActorBase has a specific skin. TO BE TESTED bool Function ActorBaseIsClean(Actor akActor) native global ; Return the WNAM ARMO of either the actor base or the actor's race Form Function GetActorBaseSkinForm(Actor akActor) native global ; Copy the base skin of one actor onto another as a skin override, similar to what LooksMenu does bool Function CopyActorBaseskinForm(Actor akSourceActor, Actor akDestActor) native global ; MFG morph function provided by EgoBallistic ; Apply a MFG Morph to the actor bool Function MfgMorph(Actor akActor, int morphID, int intensity) native global ; Set all MFG Morph values to zero on an actor bool Function MfgResetMorphs(Actor akActor) native global ; Save an actor's MFG Morph values to an array of float Float[] Function MfgSaveMorphs(Actor akActor) native global ; Restore an array of saved MFG morph values to an actor bool Function MfgRestoreMorphs(Actor akActor, Float[] values) native global ; Copy the MFG morph values from one actor to another bool Function MfgCopyMorphs(Actor a0, Actor a1) native global ; Apply a set of MFG morphs to an actor. Morph ID morphIDs[x] will be set to values[x] bool Function MfgApplyMorphSet(Actor akActor, int[] morphIDs, int[] values) native global ; ; Collision functions ; =================== ; ; Set the collision state of a reference. Returns the previous state. TO BE TESTED _ currently fails. ;TBT; bool Function ObjectReferenceSetCollision(ObjectReference akObject, bool enable=True) native global ; Get the collision state of a reference. If akObject is None, return the global collision state (controlled by TCL). TO BE TESTED ;TBT; bool Function ObjectReferenceGetCollision(ObjectReference akObject) native global ; ; Cell Functions ; ============== ; ; Returns the number of references of type formType in cell. Use GetFormType() below for formType values. If formType is 0 this returns the count of all refs in the cell. Int Function GetNumRefsInCell(Cell akCell, Int formType) native global ; Returns nth reference of type formType in cell. If formType is 0 this returns the nth reference of any type. ObjectReference Function GetNthRefInCell(Cell akCell, Int index, Int formType) native global ; ; Misc. Form functions ; ==================== ; ; Returns the Editor ID of a Race. Originally GetFormEditorID, but passing in a form and using the F4SE function GetEditorID() has only worked on Quest and Race forms. So I've just made it for race forms only. String Function GetRaceEditorID(Race akForm) native global ; Returns the name of the plugin that created a form String Function OriginalPluginName(Form akForm) native global ; Returns the persistent ID of a form (excluding the load index) Should be compatible with esl files. (Fixed as of v18) Int Function OriginalPluginID(Form akForm) native global ; Returns whether a form is in a given leveled item list bool Function GetInLeveledItem(Leveleditem akList, Form akForm) native global ; Return a form's record flags Int Function GetRecordFlags(Form akForm) native global ; Return a form's formType Int Function GetFormType(Form akForm) native global ; Return whether form is persistent or not Bool Function IsPersistent(Form akForm) native global ; Set a form persistent or not. Returns false if form does not exist Bool Function SetPersistent(Form akForm, bool akFlag) native global ; ; Misc functions ; ============== ; ; Prints a message to the debug console. Exposes the internal F4SE function Console_Print using the code found in Papyrutil in Skyrim. bool Function PrintConsole(String text) native global ; ; HIDDEN Functions. Never call directly. ; ; hidden function, use ResizeVarArray instead Var[] Function ResizeVarArrayInternal(Var[] theArray, int theSize, Var theFill) native global ; ; Wav function (by Fedim) ; ; Plays a WAV file. FileName relative to "Data\Sound\Voice\" ; Option is possible "Data\Sound\Voice\MyPlugin\sound001.wav" Function PlaySoundWav(string FileName) native global ; Returns the current volume level of the player (-1 = 0xFFFFFFFF -> max) ; LowWord - left channel volume ; HeighWorg - right channel volume ; 0 <= volume <= 65535 (0xFFFF) int Function GetVolumeWav() native global ; Sets the volume of the player channels ; 0 <= volume <=65535 (0xFFFF) int Function SetVolumeWav(int volumeA, int volumeB) native global ; Randomly selects a line from the SectionText section of the "Data\F4SE\Plugins\PluginName.ini" file, plays the WAV and returns the text ; ini file must be UTF-8 encoded ; Sounds should be in the "Data\Sound\Voice\PluginName.esp\" String Function VoiceMessage(String PluginName, String SectionText) native global ; ; INI setting functions ; ===================== ; ; Functions to retrieve INI settings, e.g. Fallout4.ini, Fallout4Prefs.ini, Fallout4Custom.ini, mod .ini files in Data folder ; These functions retrieve the settings from the game engine, not from the INI files themselves. ; Parameter is the .ini setting name and section, fSettingName:SectionName. For example, fMinCurrentZoom:Camera ; Note that typing is strict, e.g. you cannot call GetINIFloat on an Int setting ; ; Return Float setting value or 0.0 if not found float Function GetINIFloat(string ini) native global ; Return Int setting value or 0 if not found int Function GetINIInt(string ini) native global ; Return Bool setting value or false if not found Bool Function GetINIBool(string ini) native global ; Return String setting value or NONE if not found String Function GetINIString(string ini) native global This is a community resource. It can be used in any way you wish in any mod. The released version can be re uploaded on other sites as needed but please do not duplicate on this site. Any part of the source code not provided as part of F4SE can be reused in your own work as you wish. Use this topic to comment, request and eventually propose new functionalities on the plugin. Also in v3: Compiled DLL properly named. Update to KK after test. Proved insufficient then commented out. new in v5: ; Select the speed at which the FlyCam moves (identical to SetUFOCamSpeedMult/sucsm console command) ; The console command supports an optional second parameter to control rotation speed. ; The way it handles default value is not compatible so I use an explicit bool to select which speed to change ; Returns the previous value of the selected speed. float Function SetFlyCamSpeedMult(float speed, bool rotation=False) native global new in v6: ; ; String functions ; ================ ; ;Returns the first index of the position the toFind string starts. You can use this to check if an animation has a tag on it. Is not case sensitive. Int Function StringFind(string theString, string toFind, int startIndex = 0) native global ;Returns the selected substring from theString. If no length is set, the entire string past the startIndex number is returned. string Function StringSubstring(string theString, int startIndex, int len = 0) native global ;Splits the string into a string array based on the delimiter given in the second parameter. ;As this function does ignore whitespace, putting a space as the delimiter will only result in a string being returned without spaces. string[] Function StringSplit(string theString, string delimiter = ",") native global ; Opposite of StringSplit. string Function StringJoin(string[] theStrings, string delimiter = ",") native global new in v7: ; ; Array functions ; =============== ; ;Just a precursor: This does not mean we can use Alias based scripts to store animations like sexlab does, as the F4SE team has yet to include a typedef of them in the F4SE CPP files. I am guessing that they haven't reverse engineered it yet. Form[] Function ResizeFormArray(Form[] theArray, int theSize, Form theFill = NONE) native global String[] Function ResizeStringArray(String[] theArray, int theSize, String theFill = "") native global Int[] Function ResizeIntArray(Int[] theArray, int theSize, Int theFill = 0) native global Float[] Function ResizeFloatArray(Float[] theArray, int theSize, Float theFill = 0.0) native global Bool[] Function ResizeBoolArray(Bool[] theArray, int theSize, Bool theFill = False) native global Var[] Function ResizeVarArray(Var[] theArray, int theSize) global ; if the int theSize is negative, the reulting array is a copy of the original array unchanged. ; ; Misc. Form functions ; ==================== ; ; Returns the Editor ID of a Race. Originally GetFormEditorID, but passing in a form and using the F4SE function GetEditorID() has only worked on Quest and Race forms. So I've just made it for race forms only. String Function GetRaceEditorID(Race akForm) native global new in V8: ; ; Keyword functions ; ================= ; ; Return the first keyword whose editorID is akEditorID Keyword Function GetKeywordByName(string akEditorID) native global ; Adds a keyword to a form (not a reference). Does not persists. bool Function AddKeywordToForm(Form akForm, Keyword akKeyword) native global ; Return an array of all keywords loaded in game. Keyword[] Function GetAllKeywords() native global new in v9.0 ; ; Shared community libray of utility function from LoverLab distributed with FourPlay ressources as a F4SE plugin with sources included ; ; Version 9 for runtime 1.10.20 2017 08 31 by jaam and Chosen Clue ; Runtime version: This file should be runtime neutral. The accompanying F4SE plugin (ll_fourplay_1_10_20.dll) is NOT! ; You need to always use a plugin corresponding with the game version you play. ; Plugin should be available just after F4SE has been updated for the modified runtime. ; Runtime versions lower than 1.10.20 will no longer be supported. ; Written and tested against F4SE 0.5.0. You should not use an older version of F4SE. ; ; Get the value of custom config float option Float Function GetCustomConfigOption_float(string name, string section, string key) native global ; Sets the value of custom config float option. The directories and path will be created as needed. If the result is false, the set did not happen. bool Function SetCustomConfigOption_float(string name, string section, string key, float data) native global ; Returns the name of the plugin that created a form String Function OriginalPluginName(Form akForm) native global ; Returns the persistent ID of a form (excluding the load index) Should be compatible with esl files. Int Function OriginalPluginID(Form akForm) native global ; Sets the minimum array size required by a mod. Returns false if the current value was greater. Bool Function SetMinimalMaxArraySize(int theMaxArraySize) native global ; This patches add and insert so they respect that maximum. The value is memorised in LL_FourPLay.ini ;[Custom Arrays] ;uMaxArraySize=nnnnnn ; ; !! Creating arrays that are too large will adversaly affect your game !! new in v10: fix the FxCam offset so the FlyCam works properly reuploaded v10 without the 1.9 DLL. For 1.9 use v8 version of the DLL new in v11: compatible with runtime version v1.10.26 new in v12: compatible with runtime version v1.10.40 new in v13: compatible with runtime version v1.10.50 new in v14: not needed for current version of four_play (nor the current alpha of FP 1.0) any version prior to 14 had an issue during ResizeVarArray or ResizeVarArrayInternal due to either copying uninitialized existing data or setting new data to the fill value. both are replaced with a fixed ResizeVarArray2 which lets the system initilize to null the arrays. (old prototype remains otherwise the papyrus log would complain loudly). new in v15: compatible with runtime version v1.10.64 new in v16: compatible with runtime version v1.10.75 new in v17: compatible with runtime version v1.10.82 new in v18: compatible with runtime version v1.10.89 fixed OriginalFormID added DelKeywordFromForm (but it untested at the moment). new in v20: fix for DelKeywordFromForm. ; Get all the keys and values contained in a section. Both at once to avoid discrepancies in the order. ; The keys are in VarToVarArray(Var[0]) as String[] and the values in VarToVarArray(Var[1]) as String[] Var[] Function GetCustomConfigOptions(string fileName, string section) native global ; Set a list of keys and values in a section. Any other existing key will be left alone. bool Function SetCustomConfigOptions(string fileName, string section, string[] keys, string[] values) native global ; Reset all the keys and values contained in a section. ; Any exiting key value pair will be suppressed first, so providing none arrays will effectivly removes all keys from the section. bool Function ResetCustomConfigOptions(string fileName, string section, string[] keys, string[] values) native global ; Get all the sections in a file. string[] Function GetCustomConfigSections(string fileName) native global ; For all array functions: ; The implementation as an arbitrary limitation of 32767 bytes buffer for all Keys, Values or sections involved. ; If needed because the limitation becomes a problem, another implementation can be done using memory allocation, though there will remain a limit imposed by Windows. ; When arrays for keys and values are provided, the count of elements in both arrays must be identical or the function fails on purpose. ; An empty value should be provided as a zero length string. TO BE TESTED ; ; CrossHair functions ; ==================== ; ; Returns the Reference that is currently under the CrossHair. Returns None if there isn't one currently. ObjectReference Function LastCrossHairRef() native global ; Returns the last Actor that is or was under the CrossHair. Returns None until there is one since the game was (re)started. Actor Function LastCrossHairActor() native global ; ; Misc functions ; ============== ; ; Prints a message to the debug console. Exposes the internal F4SE function Console_Print using the code found in Papyrutil in Skyrim. Function PrintConsole(String text) native global v21: Same as v20 but with the correct DLL. new in v22: compatible with runtime version v1.10.98 new in v24: compatible with runtime version v1.10.106 new in v25: DELETED. new in v26: compatible with runtime version v1.10.111 new in v27: compatible with runtime version v1.10.114 (untested for now but should work). new in v28: ; Return the WNAM ARMO (skin mesh) of either the actor base or the actor's race Form Function GetActorBaseSkinForm(Actor akActor) native global new in v29: compatible with runtime version v1.10.120 (untested for now but should work). new in v30: ; Returns whether a form is in a given leveled item list bool Function GetInLeveledItem(Leveleditem akList, Form akForm) native global new in v31: compatible with runtime version v1.10.130 new in v32: compatible with runtime version v1.10.138 new in v33: Bug fix for LastCrossHairActor by EgoBalistic. (Possible CTD, so please update) new in v34: Bug fix for SetMinimalMaxArraySize by EgoBalistic new in v35: new MFG morph functions and Scaleform integration by EgoBallistic. ; MFG morph function provided by EgoBallistic ; Apply a MFG Morph to the actor bool Function MfgMorph(Actor akActor, int morphID, int intensity) native global ; Set all MFG Morph values to zero on an actor bool Function MfgResetMorphs(Actor akActor) native global ; Save an actor's MFG Morph values to an array of float Float[] Function MfgSaveMorphs(Actor akActor) native global ; Restore an array of saved MFG morph values to an actor bool Function MfgRestoreMorphs(Actor akActor, Float[] values) native global ; Copy the MFG morph values from one actor to another bool Function MfgCopyMorphs(Actor a0, Actor a1) native global ; Apply a set of MFG morphs to an actor. Morph ID morphIDs[x] will be set to values[x] bool Function MfgApplyMorphSet(Actor akActor, int[] morphIDs, int[] values) native global new in v37: compatible with runtime version v1.10.162 and both F4SE 0.6.18 and 0.6.19 new in v38: compatible with runtime version v1.10.163 and 0.6.20/0.6.21 new in v39: new functions provided by EgoBallistic: ; Converts an integer of any base to a hexadecimal string representation string Function IntToHexString(Int num) native global ; Converts a hexadecimal string to an integer Int Function HexStringToInt(String theString) native global ; Copy the base skin of one actor onto another as a skin override, similar to what LooksMenu does bool Function CopyActorBaseskinForm(Actor akSourceActor, Actor akDestActor) native global ; Cell Functions ; ============== ; ; Returns the number of references of type formType in cell. Use GetFormType() below for formType values. If formType is 0 this returns the count of all refs in the cell. Int Function GetNumRefsInCell(Cell akCell, Int formType) native global ; Returns nth reference of type formType in cell. If formType is 0 this returns the nth reference of any type. ObjectReference Function GetNthRefInCell(Cell akCell, Int index, Int formType) native global ; Return a form's record flags Int Function GetRecordFlags(Form akForm) native global ; Return a form's formType Int Function GetFormType(Form akForm) native global new in v40: ; ; Wav function (by Fedim) ; ; Plays a WAV file. FileName relative to "Data\Sound\Voice\" ; Option is possible "Data\Sound\Voice\MyPlugin\sound001.wav" Function PlaySoundWav(string FileName) native global ; Returns the current volume level of the player (-1 = 0xFFFFFFFF -> max) ; LowWord - left channel volume ; HeighWorg - right channel volume ; 0 <= volume <= 65535 (0xFFFF) int Function GetVolumeWav() native global ; Sets the volume of the player channels ; 0 <= volume <=65535 (0xFFFF) int Function SetVolumeWav(int volumeA, int volumeB) native global ; Randomly selects a line from the SectionText section of the "Data\F4SE\Plugins\PluginName.ini" file, plays the WAV and returns the text ; ini file must be UTF-8 encoded ; Sounds should be in the "Data\Sound\Voice\PluginName.esp\" String Function VoiceMessage(String PluginName, String SectionText) native global compatible with runtime version v1.10.163 and 0.6.20/0.6.21 v40 was not properly packaged (same content as v39). V41 contains the correct compiled files to use. new in v42: ; Return whether form is persistent or not Bool Function IsPersistent(Form akForm) native global ; Set a form persistent or not. Returns false if form does not exist Bool Function SetPersistent(Form akForm, bool akFlag) native global new in v43 Ported from SKSE by EgoBallistic ; ; INI setting functions ; ===================== ; ; Functions to retrieve INI settings, e.g. Fallout4.ini, Fallout4Prefs.ini, Fallout4Custom.ini, mod .ini files in Data folder ; These functions retrieve the settings from the game engine, not from the INI files themselves. ; Parameter is the .ini setting name and section, fSettingName:SectionName. For example, fMinCurrentZoom:Camera ; Note that typing is strict, e.g. you cannot call GetINIFloat on an Int setting ; ; Return Float setting value or 0.0 if not found float Function GetINIFloat(string ini) native global ; Return Int setting value or 0 if not found int Function GetINIInt(string ini) native global ; Return Bool setting value or false if not found Bool Function GetINIBool(string ini) native global ; Return String setting value or NONE if not found String Function GetINIString(string ini) native global New in v44 New functions by EgoBallistic ; Return an Actor's actor flags (not the same as the Form flags) Int Function GetActorFlags(Actor akActor) native global ; Reset an actor's persistent Essential / Protected data ; Calling Actor.SetEssential() overrides the actor base value. Changing the state on the actor base will no longer have any effect, and ; neither will the Essential flag on Aliases. This function resets the override so ActorBase and alias flags will work again. bool Function ResetActorEssential(Actor akActor) native global ; Return an array of all the forms in a FormList Form[] Function FormListToArray(FormList akFormList) native global ; Return the form with the given formID from any type of plugin (esm, esl, esp) Form Function GetFormFromPlugin(String modName, Int formID) native global ; Return an array of forms given an array of plugin names and an array of form IDs Form[] Function GetFormArray(String[] modNames, Int[] formIDs) native global ; Populate a formlist with the forms given an array of plugin names and a corresponding array of form IDs Function PopulateFormlist(FormList akFormList, String[] modNames, Int[] formIDs) native global ; ; Animation functions ; =================== ; ; Functions to play animations on actors. They do basic sanity checking on the inputs so that None idles and actors, ; actors who are deleted or disabled, and actors with no AI middle process will not attempt to play idles. ; ; Make one actor play an idle Function PlayIdle(Actor akActor, Form akIdle) native global ; Make multiple actors play idles, in synch Function PlayMultipleIdles(Actor[] akActor, Form[] akIdle) native global New in v46 - Fixed Hex to int conversion - Catch with the latest F4SE sources (v0.6.23) - Fixed HexStringToInt() so that values above 0x00FFFFFF are handled correctly - Fixed PopulateFormList() so that formlist additions are persistent between saves Other files: Test-LLFP-vX-YYYYMMDD contains the current version of the test and verification mod for the plugin. Src-LLP-vX-YYYYMMDD contains version X source files and compiled resources for developers. -
Version 0.7.8
3,183 downloads
AAF Informer is the F4SE plugin to simplify obtaining of AAF scenes information in Papyrus scripts. AAF Informer consist of 3 parts: - AAFInformer.dll - F4SE plugin - AAFCollector.exe - service executable to parse AAF XML files - Info.pex/Info.psc - Papyrus script to access AAFInformer.dll API How it works: At the game start up AAFCollector.exe is started to parse AAF XML files. When it finishes all collected information memorised in F4SE plugin and later this information can be accessed via API calls from Papyrus script. Following information is available: - For scenes (actually, positions in AAF terminology) that you can see in AAF UI - see SceneInfo structure in Info.psc - For scene participant(s) - see ActorInfo in Info.psc Most information is obtained from tags defined by animation authors or by themes. Themes are essential to get information from AAF scenes. Without themes installed, most likely your script will not receive usefull information. Tags that defines types of actors (like F_F or F_M) are ignored. Actor types retrieved from animation definitions. Tags that defines furniture are ignored. Furniture information retrived from positionData XMLs Note: animation author's XML files and themes XML files contains a lot of mistakes. Fixing them is out of scope of this tool, but I hope all mistakes will be elimenated sooner or later. To simplify mistakes detection usefull logs could be found in %userprofile%\documents\My Games\Fallout4\F4SE\AAFInformer.log Also this log contains error messages generated by AAFCollector.exe Implementation details: What tags are supported? All tags falls into several categories: How values are applied to actors? Example of script Known issues: 1. Some positions contains location attribute that has multiple furniture groups separated by comma. Such locations are handled, but I can't test it as such position does not appear AAF UI. Probably defining multiple furniture groups is invalid location definition, but without original AAF source code it hard to say definitely. 2. I had no chances to test AAF sex overriding with keywords. So not sure is it even working. 3. With current system of tags it is not possible to recognize how actors are contacted with each other, so all contacts for actors with index greater than 0 are applied to actor with index 0. So scenes like "BP70 Lesbian Threesome..." might have irrelevant contact information. See below. Next steps: - try to introduce new tags system to allow definition of actors contacts exacly. This plugin will be updated on succees. - try to introduce new tags system to allow definition of Held/Love/Dom/Stim values for each actor. This plugin will be updated on succees. - try to introduce new tags system to allow definition of actor position for actors with index greater than 0. This plugin will be updated on succees. New system to define contacts beween actors in scenes. Sample file with contacts that handles tentacles made by Snapdragon_ Feel free to request new features. -
Version 0.6.3
2,731 downloads
In post apocalyptic world, full of violence, it is hard to imagine that psyche of people remain intact. This is the framework that shows the idea how such world might affect psyche. Living is Pain (Alpha version) Disclaimer: work still in progress. No backward compatibility is assumed during alpha stage releases. This work was inspired by @twistedtrebla's Sex Attributes, so something could sound familiar to you. LiP Framework itself doesn't affect any aspect of gameplay, except cosmetic things that are not visible without mods like LiP UI. The purpose of framework - provide usefull functionality for new mods building. Several sample mods are available. Probably some gamers will found them interesting LiP Framework provides: - set of new attributes for any sentient life form in the Commonwealth - by default: humans, ghouls, 3rd gen synths, supermutants. - ability to extend sentient life forms list - many different customization points - logic of interdependency between these attributes - attributes value calculation routines - integration with other popular mods - large amount of configuration options Attributes and default dependencies: Actual purpose of attributes may vary depending on situation and game mechanics. Generic attributes, that reflects mental state of a character: Sexual attributes: Health attributes: Reasons of attributes changes available out of box Hits Kills Time elapsing Limits exceeding Combat finish Orgasm Orgasm failure AAF scene: Dependencies: F4SE Additional Attributes F4DS Integrations: Advanced Animation Framework Follow AAF FM to install and configure it. If you have AAF installed then LiP will automatically use information from AAF Dependencies if you want to have integration with AAF: AAF Themes and AAF Informer Devious Devices If you have DD installed then LiP will automatically use information about DD wearing Real Handcuffs If you have RH installed then LiP will automatically use information about RH wearing Commonwealth Captives If you have EBCC installed then captives will have reasonable LiP attributes assigned Mod Configuration Menu If you have MCM installed, LiP configuration page will be available Know Your Friend If your have KYF installed then LiP attributes will be shown for NCPs. Samples: LiP Effects - initiates arousal animation when actor receives orgasm notification. more mechanics could be added later LiP Morph - vagina/anus morhping depending on health attributes. Designed for FusionGirl Morph+ from @StaticPhobia2. Depends on LooksMenu Use LiP UI if you looking for option to display LiP attributes. More detailed techical description will be added over time TODO: Permissions: Credits: -
Version 0.6.5
879 downloads
UI for Living is Pain LiP UI UI for displaying LiP atrtibutes for player and NPCs. UI for NPCs displayed in AAF scenes only. Outside of AAF scenes one could use Know Your Friend to see LiP attributes of NPC Requires Living is Pain 0.6.1 or higher with its dependencies. Mod can be configured via MCM if it is installed. For player and NPCs same UI widget is displayed (see screenshot above) Widget displays LiP attributes in 4 sections: 1. Attributes related to body areas that can be stimulated 2. Mental attributes 3. Other attributes 4. Failed orgasms counter TODO: Sources available at GitHub -
Looksmenu Pantyhose Overlay View File I take no credit for this. The file I based everything off of was ported to racemenu for skyrim by @b3lisario. If @b3lisario has an issue I will immediately pull the file. This is a port of UNP Racemenu Pantyhose overlay for Fallout 4. I thought Fallout 4 could use one and I did use the Skyrim one alot. There is currently 28 pantyhose, tights and faux thigh high includes. I am constantly messing with it. If it goes over well, I might publish it to nexus. I'm just testing the waters out here first Here is what is included: Black Tights Black Pantyhose High Waisted Black Tights Blackout Tights Black Faux Thigh Highs Blue Tights Blue Pantyhose Grey Tights Grey Pantyhose White Tights White Pantyhose White Faux Thigh Highs Pink Tights Pink Pantyhose Pink Blackout Tights Pink Faux Thigh Highs Tan Tights Tan Pantyhose Suntan Tights Suntan Pantyhose Purple Tights Purple Pantyhose Teal Tights Teal Pantyhose Navy Tights Navy Pantyhose Red Tights Red Pantyhose I think that's everything. looksmenu pantyhose.7z Submitter irsuv Submitted 07/17/2018 Category Armor & Clothing Requires f4ae
- 13 replies
-
2
-
- looksmenu
- looks menu
- (and 4 more)
-
View File Here is a preset of a very lovely and attractive young miss named Susan who is sure to turn the heads of commonwealthers. Requires the following mods to work *Looskmenu *Fallout 4 script extender *THbrows *Mischairstyles *Zella's hair color collection To install, just move the susan.json file into the following directory Computer/Local Disk/Program Files (x86)/Steam/steamapps/common/fallout 4/data/f4se/plugins/f4ee/presets Submitter ChokingHazard Submitted 01/05/2018 Category Other Requires Looksmenu, Fallout 4 Script Extender, THbrows, MiscHairstyles, Zella's Hiar Color Collection
-
[Edit 2018-01-08: Updated to Beta 4] This mod is currently in Beta. I have not found any breaking errors in my testing. I am looking for feedback, especially: does it work? are there any bugs? how is the balance, especially for the surrender part (too many/not enough surrenders)? any obvious improvements or features that I missed? Holdup is my take on a mod to improve the pacify/surrender mechanism of Fallout 4. The design goals for this mod are: it should feel like a balanced and natural part of the game it should be as compatible as possible with other mods players should be able to disable individual features if they don't like them, or if they are incompatible with other mods they are using This mod consists of multiple features that can individually be enabled and disabled if you have Mod Configuration Menu installed. If you don't have MCM, the default settings will be used instead (all features/options enabled). The following features are currently implemented: Pacify (player must have the Intimidation perk): Implements changes to the Pacify action. It will now work on NPCs of any level. Chance is improved when player is in power armor and when NPCs are caught sleeping; chance is reduced when NPCs are in power armor. Additional options that can be enabled/disabled in MCM: Ignore player sheathing weapon to allow hacking terminals etc. Use special Holdup action when catching NPCs by surprise from close distance. The chance of success is greatly improved in this situation. Surrender: Allows NPCs to surrender if a fight goes poorly for them (they are wounded or even crippled, or you defeated their allies). Civilians may surrender rather quickly. More confident NPCs will still fight to their death, unless you impress them by defeating many of their allies. NPCs who surrender are cowed and will stay peaceful even if you put away your weapon (so you can for example hack a terminal in the same room). This feature does not require the player to have the Intimidation perk. Rob: Allows the player to rob NPCs who have been pacified, held up, or who have surrendered. This is done by activating them while crouching. This replaces the pickpocket action. Additional options that can be enabled/disabled in MCM: Allow to undress NPCs when robbing them such that the outfit can be taken, too. Undressing will ignore devious devices. Tie Up (new in Beta 4): Allows the player to tie up NPCs who have been pacified, held up, or who have surrendered. Requirements: Hard requirements: F4SE Soft requirements: Mod Configuration Menu [https://www.nexusmods.com/fallout4/mods/21497/?] Devious Devices (not for functionality, just for rope visuals of tied up NPCs) [https://www.loverslab.com/topic/73925-devious-devices/] Installation: Just install with any mod manager. If installing manually, copy everything from the Data folder to Fallout 4's Data folder. Mod Organizer 2 users: Make sure to use one of the new builds (2.1.0 +) as the MCM will not work with the old builds (2.0.x). License: CC0 1.0 - basically you can do whatever you want with this mod and the sources (script sources are included and installed), including the very primitive fomod installer. A copy of the license is included in the archive but not installed with the mod. Dowload: Holdup 1.0 Beta 4.zip (previous version: Holdup 1.0 Beta 3.zip) Some random screenshots: