Search the Community
Showing results for tags 'wip'.
-
Version v53-20250105
170,587 downloads
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 52 for runtime 1.10.984 2024 08 19 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_984.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.984 will no longer be supported. ; Written and tested against F4SE 0.7.2. 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 52.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 ; Sets reference angle in degrees. Will not cause load screen if called on Player Function SetRefAngle(ObjectReference akRef, float x, float y, float z) native global ; Sets no-collision state on reference Function SetRefNoCollision(ObjectReference akRef, bool abState) native global ; Get the scale of a reference Float Function GetScale(ObjectReference akRef) native global ; Set the scale of a reference Function SetScale(ObjectReference akRef, Float afScale) 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 ; 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 ; Sets an actor's position. Directly moves the ref so does not cause load screen if called on player Function SetActorPosition(Actor akActor, float x, float y, float z) native global ; Enable collisions for specific actor Function EnableActorCollision(Actor akActor) native global ; Disable collisions for specific actor Function DisableActorCollision(Actor akActor) native global ; Snap actor out of whatever interaction (furniture, etc) they are in Function ActorStopInteractingQuick(Actor akActor) native global ; Force AI package Function ActorSetPackageOverride(Actor akActor, Form pkg) native global ; Clear forced AI Package Function ActorClearPackageOverride(Actor akActor) native global ; Returns whether the actor is currently ignoring combat (e.g. due to package flags) Bool Function ActorGetIgnoringCombat(Actor akActor) native global ; Force the actor to ignore combat or not, overriding any package flags Function ActorSetIgnoringCombat(Actor akActor, Bool abIgnoreCombat) native global ; Update actor 3D equipment only (less expensive than QueueUpdate 0xC) Function ActorUpdateEquipment(Actor akActor) native global ; Update Player Character 3D Function PlayerUpdateEquipment() 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 - updated in v51 Bool Function IsPersistent(Form akForm) native global ; Set a form persistent or not. Returns false if form does not exist - updated in v51 Bool Function SetPersistent(Form akForm, bool akFlag) 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 ; Given an array of FormID Ints that was packed as Var via VarArrayToVar(), return the array of corresponding forms Form[] Function GetFormArrayFromVar(Var akVar) 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 ; ; AAF functions ; ============== ; ; Return an array of actors near akRef who qualify for AAF animations Actor[] Function AAF_PerformActorScan(ObjectReference akRef, float radius) native global ; Return the actor gender as seen by AAF Bool Function AAF_GetGender(Actor targetActor) native global ; Collects statistics on an actor for use by the Scaleform Var[] Function AAF_MakeActorData(Actor targetActor, Bool includeDistance, Keyword[] conditionKeywords) native global ; Collects statistics on location objects for use by the Scaleform Var[] Function AAF_MakeLocationData(ObjectReference target, Bool includeDistance = False) native global ; Returns whether an object is suitable for use as an animation location Bool Function AAF_IsValidLocation(ObjectReference targetLocation, Var[] actorGroup) native global ; Converts the internal representation of AAF's furniture list to an array of Forms as Var Var[] Function AAF_ProcessFurnitureList(Var[] akArgs) native global ; Returns an array of LocationData, packed as a Var, of all the valid locations for animations within the given radius from the scan location Var Function AAF_GetLocationData(int scanLocation, Var[] furnitureForms, Var[] furnitureSources, Var[] actorGroup, Bool quickScan, Float scanRadius) native global ; Returns whether an actor has any keywords in the blocked keywords list Bool Function AAF_GetBlockedStatus(Actor akActor) native global ; Returns whether an actor is valid for AAF use (not dead, not disabled/deleted, etc.) Bool Function AAF_IsValidActor(Actor akActor) native global ; Returns whether an actor is valid for use and not currently in an animation Bool Function AAF_IsAvailableActor(Actor akActor) 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 ; Enable or disable blinking. Disabling allows MFG morphs to work on eyelids (morph ID 18 and 41) Function SetAllowBlinking(Bool allowed) 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 ; ; 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 an array of actors play a corresponding array of idles, in synch Function PlayMultipleIdles(Actor[] akActor, Form[] akIdle) native global ; Stop the actor's current idle Function StopCurrentIdle(Actor akActor) native global Looks like I delteted the list of updates Well the first post is a lot shorter now. Also there is now a GitHub site to host the sources for this and other tools of mine at https://github.com/Lkdb5RDr v52-20240902 is a hotfix for v52-20240821 v53-20250105 fixes loading in fallout 1.10.163. -
[Dev/Test/Beta] LL FourPlay community F4SE plugin v53 2025 01 05 View File 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 52 for runtime 1.10.984 2024 08 19 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_984.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.984 will no longer be supported. ; Written and tested against F4SE 0.7.2. 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 52.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 ; Sets reference angle in degrees. Will not cause load screen if called on Player Function SetRefAngle(ObjectReference akRef, float x, float y, float z) native global ; Sets no-collision state on reference Function SetRefNoCollision(ObjectReference akRef, bool abState) native global ; Get the scale of a reference Float Function GetScale(ObjectReference akRef) native global ; Set the scale of a reference Function SetScale(ObjectReference akRef, Float afScale) 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 ; 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 ; Sets an actor's position. Directly moves the ref so does not cause load screen if called on player Function SetActorPosition(Actor akActor, float x, float y, float z) native global ; Enable collisions for specific actor Function EnableActorCollision(Actor akActor) native global ; Disable collisions for specific actor Function DisableActorCollision(Actor akActor) native global ; Snap actor out of whatever interaction (furniture, etc) they are in Function ActorStopInteractingQuick(Actor akActor) native global ; Force AI package Function ActorSetPackageOverride(Actor akActor, Form pkg) native global ; Clear forced AI Package Function ActorClearPackageOverride(Actor akActor) native global ; Returns whether the actor is currently ignoring combat (e.g. due to package flags) Bool Function ActorGetIgnoringCombat(Actor akActor) native global ; Force the actor to ignore combat or not, overriding any package flags Function ActorSetIgnoringCombat(Actor akActor, Bool abIgnoreCombat) native global ; Update actor 3D equipment only (less expensive than QueueUpdate 0xC) Function ActorUpdateEquipment(Actor akActor) native global ; Update Player Character 3D Function PlayerUpdateEquipment() 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 - updated in v51 Bool Function IsPersistent(Form akForm) native global ; Set a form persistent or not. Returns false if form does not exist - updated in v51 Bool Function SetPersistent(Form akForm, bool akFlag) 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 ; Given an array of FormID Ints that was packed as Var via VarArrayToVar(), return the array of corresponding forms Form[] Function GetFormArrayFromVar(Var akVar) 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 ; ; AAF functions ; ============== ; ; Return an array of actors near akRef who qualify for AAF animations Actor[] Function AAF_PerformActorScan(ObjectReference akRef, float radius) native global ; Return the actor gender as seen by AAF Bool Function AAF_GetGender(Actor targetActor) native global ; Collects statistics on an actor for use by the Scaleform Var[] Function AAF_MakeActorData(Actor targetActor, Bool includeDistance, Keyword[] conditionKeywords) native global ; Collects statistics on location objects for use by the Scaleform Var[] Function AAF_MakeLocationData(ObjectReference target, Bool includeDistance = False) native global ; Returns whether an object is suitable for use as an animation location Bool Function AAF_IsValidLocation(ObjectReference targetLocation, Var[] actorGroup) native global ; Converts the internal representation of AAF's furniture list to an array of Forms as Var Var[] Function AAF_ProcessFurnitureList(Var[] akArgs) native global ; Returns an array of LocationData, packed as a Var, of all the valid locations for animations within the given radius from the scan location Var Function AAF_GetLocationData(int scanLocation, Var[] furnitureForms, Var[] furnitureSources, Var[] actorGroup, Bool quickScan, Float scanRadius) native global ; Returns whether an actor has any keywords in the blocked keywords list Bool Function AAF_GetBlockedStatus(Actor akActor) native global ; Returns whether an actor is valid for AAF use (not dead, not disabled/deleted, etc.) Bool Function AAF_IsValidActor(Actor akActor) native global ; Returns whether an actor is valid for use and not currently in an animation Bool Function AAF_IsAvailableActor(Actor akActor) 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 ; Enable or disable blinking. Disabling allows MFG morphs to work on eyelids (morph ID 18 and 41) Function SetAllowBlinking(Bool allowed) 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 ; ; 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 an array of actors play a corresponding array of idles, in synch Function PlayMultipleIdles(Actor[] akActor, Form[] akIdle) native global ; Stop the actor's current idle Function StopCurrentIdle(Actor akActor) native global Looks like I delteted the list of updates Well the first post is a lot shorter now. Also there is now a GitHub site to host the sources for this and other tools of mine at https://github.com/Lkdb5RDr v52-20240902 is a hotfix for v52-20240821 Submitter jaam Submitted 07/22/2017 Category Modders Resources Requirements Fallout 4 version 1.10.984.0 only and F4SE 0.7.2 or later.
-
Aela made two new friends today and after a bit of running around to check closed doors they agreed to gather and listen to their master. Today's lesson will be "stripping for beginners". But first a small presentation is in order, Aela you go first. Then your friend Ria who is a bit shy. It's understandable since she had the surprise of being awakened by a stranger in the middle of the night. She was so scared she stripped right away when asked. . And finally Njada who managed to make her master run three times around Jorrvaskr, but everything is forgiven now. So stripping. Well it's not like you have the choice, but you can always say no. But with the right arguments she is easily convinced. And there you go, good girl. Don't you feel better now? You have set an example you are allowed to put back your clothes. Yes, it can be confusing at times. Now let's see if your friends have been listening.
- 2 comments
-
2
-
What happened to Whiterun? People used to care for each others. I have been screaming for hours now in Jorrvaskr's basement. The guys have disappeared and Tilma goes on with cleaning as if nothing was happening. I have always assumed she was an hagraven in disguise. Everything started after we rejected this bitch of Uthgerd. Soon after she paired with this stranger we had never seen before and they went together chasing bandits. I thought they were supposed to bring them to jail, but it seems more and more people are having servants in town, and I start to wonder. Meanwhile Uthgerd seems to be having a great time watching me suffer. I heard their story many times now. How they traveled to fort Greymoor and had fun chasing bandits, capturing them and whipping them until they begged for mercy. Some are quick to learn, while others can get angry about the situation and need to be taught better. Their new business really seems to be profitable Would who have thought Uthgerd would be capable of such wrongdoing. She was so honest and gentle when we first met
-
Sometimes I wonder how I could have let that happened to me. I thought we were friends and I let my guard down. I should have known better, if the slaver value is higher than her merchandise, then sooner or later she will join them in the cart. That's it, here I am bound like those I used to train. The one I once called friend, I mean business partner, is now giving me a private lesson on discipline. We are in the middle of nowhere and the occasional patrol guards look more amused than anything. I can hear them laughing and discussing the price they are ready to pay. Am I worth that little? They can go to hell, the bandit supply is not endless. One day it will be their turn. There are no such things as a free man or a free woman in this business model. Thanks to master, that will change soon...
-
I was allowed a bit of time to write to my fans. I know I was in a very bad place last time I wrote and some of you were on the edge to start an expedition to come and rescue me. Don't worry everything is fine. I am happy now!
-
Last year I set out to make a simple unique player race, initially based on Daz G9. It was actually “finished” last October, but was put on hold because It needed to use a custom .mat for some of the textures, and there was no way to make a .mat until ~2 months later. In those two months, I stumbled across what I believe to be the source assets for vanilla starfield's humans on 3dscanstore.com. So I bought some of those, and found them to be far better looking than anything from Daz, though less versatile. I started working out ways to get the best out of both of them, had a few ideas…and managed to feature-creep the project so much that over a year later, it's only very recently reached a playable state. If all continues going well, the project goes into a public (discord) beta in the not too distant future, then I’ll do a full release later on (though that’s going to be a while.) Brief overview/planned features: - This is a unique player race, with full body, head, and all headparts replaced. Besides hair, there are zero vanilla meshes for the body or any of the headparts. - The aim is to create a playable race and customization framework for users to make whatever they wish, with more control than could be achieved with just a body replacer. I know this isn’t everyone’s cup of tea. I decided to do player-specific race for a lot of reasons, but the biggest reason was so I didn’t have to live under the tyranny of another Bethesda neck seam, and simply replacing the vanilla head without re-generating NPC faces + textures is a terrible idea for performance reasons. - It's current “default” shape is so close to the vanilla female body that almost all of the vanilla outfits fit without clipping out of the box. That doesn't mean that you won’t be able to make anything you want of course, but it aims to prioritize more natural, realistic shapes. - All the normal chargen options will still exist in game, but the best features will be in an optional external chargen system that runs entirely in blender. There are several reasons for doing this: It bypasses pretty much all limitations of the vanilla chargen system, gives users total freedom to make basically whatever character they want, down to every pore, freckle, and wrinkle if desired, for both the texture and the actual shape of the mesh. Features like scars, body piercings, tattoos, etc can be baked into the character directly, which is not possible in chargen yet. This way allows for higher fidelity textures, saves VRAM, and gives much more flexibility. External chargen also allows you to bypass the hardcoded 1k face texture limit (chargen textures over 1k resolution get forcibly downscaled and end up looking significantly worse than vanilla resolution). The majority of the skin detail is sampled from scan data, and will be baked at export - all characters made have a 100% unique set scan-grade textures generated. - It will come with a full set of default morphs, just like CBBE, BHUNP, Fusion Girl, etc all have, but thanks to blender's geometry nodes, it is out of the box compatible with all daz g8, g8.1, and g9 body morphs that don't change the character's proportions (like arm length, height, etc.) It is also very easy to add support for any other body's morphs if there are any others that warrant support (though many non-native morphs might not look great due to topology differences). Once it is possible to edit vanilla SF animations (or simply add offsets to some bone transforms per-animation) it's probable that all morphs and proportions can be supported, as well as body shapes from other sources, such as the animation-ready body scans from 3dscanstore.com, or characters ported directly from other games. - As for heads, it is compatible with all head/face morphs from Daz g8, g8.1, and g9, scanned heads/faces from 3dscanstore.com and texturing.xyz's Vface, as well as keentools' facebuilder, and Epic’s metahumans. No modelling ability or extra software is required. For those who want to sculpt their own head shape, scripts and geometry nodes correctly place all headparts, fit the eyeballs, generate the skeleton_facebones, and generate all of the performance morphs for face animations, including vertex color morphs, unique and precisely fitted to whatever shape you made. - For those who want to use this race but keep their existing vanilla face preset - It has 100% support for vanilla starfield face morphs. The head mesh has a morph that was wrapped + aligned at 3x subd, all chargen morphs and textures were transferred with extreme precision, then corrected if neccessary. All 700+ vanilla chargen/face customization texture options have been projected/transferred to the new UVs. The morphs were checked for Sarah, Andreja, and Amoli and match exactly. - If you’re worried that this is going to be a ton of effort, too much work, and not worth dealing with – exporting will be basically one click, for everything, all at once. The entire export process is scripted – When satisfied with the body shape and skin, all textures are automatically baked at whatever resolution you choose, performance morphs are generated, headparts are all conformed and fitted (eyes, brows, lashes, teeth, and all hair, plus all the morphs for those), the mesh is split into its individual parts, and everything is exported straight to the mod folder, ready to go. - Because all of the meshes, morphs, and textures are created from a single source at the same time, neck + arm seams are minimal. It is not possible to be 100% seamless due to vertex/UV quantization, among other things. (I do have a theoretical way to get to almost 100%, but its probably not necessary) - Bonus: users won’t ever have to worry about ChargenMenu or anything else being out of date, since morphs and presets can be handled completely outside of the game in most cases. All of the blender chargen features have been tested in isolation and work, but I have not yet started trying to put all of them into single user-friendly package. There are still some things that need to be decided before much progress on that can be made. The main thing needing to be figured out is performance (last time I tried it was using 24gb vram and 30gb+ of ram, despite half or more of the features not even being implemented at that point... I know of a lot of optimizations that can be done, but probably still need to squeeze out a bit more). The other main thing to be worked out is how to best handle clothes fitting - I've heard that OS+BS are in development, but I'm not sure yet if they could be compatible for what I need them to do. Outfit studio needs a conversion reference to convert clothes to different body shapes, this project by design doesn't really have a single reference, and there isn’t a good way to generate the procedural "clothes fitting" morphs (part of a seperate project, possibly more on that later...), and even if it could, i'm not sure if morph transferring can do as clean of a job as i'd want in all cases - there are other ways to do that with geonodes, cloth physics simulation, etc. but will almost certainly be much slower. __________ Don't have a lot of pictures at the moment - The face here is a blend of Victoria 9 and Sophie #102 – Texturing.xyz made with an earlier setup (blending face base shapes from multiple sources is supported). The texture-generator stuff wasn't implemented at all at that point, so I think the texture there is the one from the vface mixed with something from g9: and here's a basic default-ish body made when testing out the shape blending geonodes, made from g8, g9, and a little bit of a zwrapped 3dscanstore body. Mod authors, animators, etc: If you’re interested in testing/helping make decisions during the pre-alpha stage, I’d love to have a few more eyes on things, and some feedback/ insight on some of the other planned features I didn’t mention here (physics, muscular deformation/ bone modifiers, animations, etc). Mod users: I’m not quite ready to do a public beta – that will be soon – but I’m open to any and all suggestions/ideas/feature requests etc. I'll be posting updates periodically, and as soon as the beta is ready, i'll share a discord link here.
- 49 replies
-
33
-
Version 0.4-p8
159,503 downloads
Real-Time Body Physics is a highly experimental mod for the Sims 4 that attempts to add real-time body physics to sims. Currently, only the breasts and butt are targeted, but other parts could be added in the future. The mod works via a fake DirectX 9 DLL that behaves just like the real deal, but injects a little extra code into the rendering loop (See: https://en.wikipedia.org/wiki/Hooking). The source code is included for those that want to see how it works. Please read the included "README.html" file before using this mod. It explains how to install, configure, and control the mod in-game. Note for those with an Intel GPU: You'll need to tweak a Sims 4 configuration file for RTBP to work. Go to your game installation directory + "/Game/Bin/" (the same place you put "d3d9.dll"), and open the file "GraphicsRules.sgr". Find the line that says "setProp $ConfigGroup EnableSoftwareSkinning true" (for me it was on line 117) and replace the part that says "true" to "false". This will enable hardware skinning for Intel hardware and allow RTBP to work. Note on DirectX 11: A recent update added DirectX 11 support to the Sims 4. RTBP was designed around the original version of the game that uses DirectX 9. For RTBP to function, the D3D9 version of the game needs to be used (D3D11 support is coming). To explicitly launch the D3D9 version of the Sims 4, find your installation directory and execute "...\Game\Bin\TS4_DX9_x64.exe". You can also choose to switch to the D3D9 version of the game in the game options. RTBP 2020-08-12.webm Butt Physics.webm RTBP 2020-08-12.webm Bonus: If you'd like, you can try out the super duper, highly experimental, RTBP GUI tool that allows you to Alt+Tab out of the game and change settings on the fly via the RTBP Command Server using a user friendly GUI interface: * Screenshot is out of date. The RTBP GUI Tool is a work in progress and more features will be added soon. Beware that you can send values to RTBP that might break it and cause body parts to disappear. RTBP GUI Preview Breasts.webm RTBP GUI Preview Ass.webm RTBP GUI Preview Breasts.webm Bonus 2: Having a bit of trouble installing RTBP? Try out the RTBP installer. Just select the RTBP zip file you'd like to install, your Sims 4 installation directory, and your Sims 4 mods directory. The RTBP Installer will attempt to automatically detect these paths, so if you're unsure, I recommend going with the default values. Update 2023-11-11: The new versions of the RTBP Commander and Installer have been bundled to save space. Note that this version of the installer is incompatible with older versions of RTBP. Download both of them here: RTBP GUI Tools 2024-05-30.zip Update 2023-04-01: Origin has been depreciated and replaced with the EA App. The RTBP installer will no longer look for your Sims 4 installation in the Origin game directory. Update 2023-03-24: Added the EA App game installation directory to the list of potential Sims 4 game installation directories. The requisite libraries required for RTBP to function will be individually tested during installation. Update 2022-08-13: The RTBP Installer should now detect when GShade is installed and make the changes necessary for RTBP compatibility. Update 2022-07-26: Improved logging. Update 2021-11-18: The RTBP Installer now has an uninstallation wizard. Bonus 3: Looking for a more bleeding edge version of RTBP? Download the latest preview and/or experimental release here. These releases need to be manually installed, so they're for more advanced users. Documentation and script mods aren't typically included with these: RTBP v0.4-p9-e1 2024-09-13.zip- 14 reviews
-
362
-
- experimental
- boobs
-
(and 2 more)
Tagged with:
-
Cyber resources WIP View File My first attempt at modding. I am posting here for suggestions on what more to add/advice on how to improve it. The armor sets are in the lucky 38 penthouse next to the big computer. You may use this in your own mods without permission. Submitter Voidson22222 Submitted 08/07/2023 Category Models & Textures Requirements
-
Version 1.0.0
264 downloads
Filthy Heritage - PAH Slavers Home 4.0 - RUS 4.0 Примечание: 1. Я НЕ создавал этот мод. Эта честь принадлежит талантливому hydragorgon; 2. Портировал на SE талантливый nomkaz: Перевод вы можете использовать, распространять и обновлять по своему усмотрению. Описание: Этот мод добавляет около 200 НПС, попавших в беду: караваны рабов, домашние рабы, заложники и бандиты в неволе. Многие NPC ведут диалог, а некоторые являются торговцами. На данный момент этот мод в основном для визуальной привлекательности. Этот мод НЕ моделирует реальную экономику работорговли; пока это просто визуальный мод. C более расширенным описанием вы сможете ознакомиться на странице оригинала. Рекомендации: Hydra Slavegirls - Voice Pack - Добавляет озвучку. PAHE - Позволяет поработить некоторых безхозных рабов-НПС. Ретекстуры для улучшения внешности добавленных НПС. ЭТО ТОЛЬКО ПЕРЕВОД. Оригинал скачиваем из первоисточника , а также на той странице вы найдёте более подробную информацию о моде. -
Hydra Slavegirls SSE 1.0 - RUS View File Filthy Heritage - PAH Slavers Home 4.0 - RUS 4.0 Примечание: 1. Я НЕ создавал этот мод. Эта честь принадлежит талантливому hydragorgon; 2. Портировал на SE талантливый nomkaz: Перевод вы можете использовать, распространять и обновлять по своему усмотрению. Описание: Этот мод добавляет около 200 НПС, попавших в беду: караваны рабов, домашние рабы, заложники и бандиты в неволе. Многие NPC ведут диалог, а некоторые являются торговцами. На данный момент этот мод в основном для визуальной привлекательности. Этот мод НЕ моделирует реальную экономику работорговли; пока это просто визуальный мод. C более расширенным описанием вы сможете ознакомиться на странице оригинала. Рекомендации: Hydra Slavegirls - Voice Pack - Добавляет озвучку. PAHE - Позволяет поработить некоторых безхозных рабов-НПС. Ретекстуры для улучшения внешности добавленных НПС. ЭТО ТОЛЬКО ПЕРЕВОД. Оригинал скачиваем из первоисточника , а также на той странице вы найдёте более подробную информацию о моде. Submitter NeiTroll Submitted 09/14/2024 Category Adult Mods Requirements SexLab Framework SE, Zaz Animations SE Regular Edition Compatible No
-
Update to 0.4: 1) Duplicates now have different base price and weigh. 2) Changed Legendary duplicate buffs. Previous mechanic was not working properly. Legendary items can still be enchanted and tempered. 3) Mod now requires "Unofficial Skyrim Legendary/Special Edition Patch" to be installed. Updating from previous version: New game is recommended when updating mod from version 0.3. If you previously patched an armor mod using _AdvancedCrafting_PatchMod.pas you will need to patch is again using the new version of _AdvancedCrafting_PatchMod.pas. Or get an original unpatched version of your armor mod and patch it with new _AdvancedCrafting_PatchMod.pas as usual. Description: Allows you to craft high tier armor and weapons with better base stats (armor/damage). Equipment quality depends on your Smithing and relevant armor/combat skills (Heavy Armor skill for heavy armor, One-Handed skill for one-handed swords and maces, Marksmen for bows and crossbows). Works for vanilla armor and weapon. Moded armor must be patched using Tes5Edit to support Advanced Crafting (more about that later). For LE: Advanced Crafting LE 0.4.7z For SE: Advanced Crafting SE 0.4.7z TesEdit/SSedit Patch script: _AdvancedCrafting_PatchMod.7z Changes in 0.3: 1) Added buffs to Legendary Weapons; 2) Updated patch for Complete Crafting Overhaul. Changes in 0.2: 1) Added SE version of the mod; 2) Added crafting recipes for Skyforge; 3) Added missing scripts for legendary tier armor. Now it will give small buffs when equipped; 4) Fixed an issue with crafting recipes that give several items at once (gold and silver rings). Now Advanced Crafting will add the correct number of rings; 5) Some improvements for Complete Crafting Overhaul patches. Now every crafting recipe has its own "crafting item". This will allow papyrus to return a correct recipe even if the crafted item has multiple recipes. How does it work? This mod creates 8 duplicates of every craftable armor and assigns them different base stats. When you craft something one of this duplicates will be added to your inventory instead of vanilla armor. The higher your crafting skill is the better duplicate you will get. Duplicated armor can be tempered and enchanted as ordinary armor. Requirements: For LE: 1) All DLCs 2) SKSE (latest version) 3) Unofficial Skyrim Legendary Edition Patch (https://www.nexusmods.com/skyrim/mods/71214) 4) PapyrusUtil for LE (https://www.loverslab.com/files/file/484-papyrusutil-leseae/) 5) (Optional) Tes5Edit 4.0.4 - https://www.nexusmods.com/skyrim/mods/25859 - Will be needed to patch armor mods using a simple script. For SE: 1) All DLCs, including "ccBGSSSE001-Fish" and "ccBGSSSE025-AdvDSGS" 2) SKSE (latest version) 3) Unofficial Skyrim Special Edition Patch - USSEP (https://www.nexusmods.com/skyrimspecialedition/mods/266) 4) PapyrusUtil SE https://www.nexusmods.com/skyrimspecialedition/mods/13048 5) (Optional) SSEEdit - https://www.nexusmods.com/skyrimspecialedition/mods/164 - Will be needed to patch armor mods using a simple script. Compatibility: Advanced Crafting changes vanilla crafting recipes which makes it incompatible with most crafting overhauls. A separate patch is required if you want to use it with other crafting overhauls. Complete Crafting Overhaul_Remade: For LE: CCOR_AC_Patch LE.esp For SE: CCOR_AC_Patch SE.esp Place CCOR_AC_Patch.esp below Complete Crafting Overhaul_Remade.esp and LRG Advanced Crafting.esm Patching armor mods: _AdvancedCrafting_PatchMod.7z Place _AdvancedCrafting_PatchMod.pas in "Edit Scripts" folder inside Tes5Edit. By default Advanced Crafting works only with vanilla Skyrims armor and weapons. If you want to craft high-tier equipment from other mods you need to patch those mods by using Tes5Edit (or SSEEdit for Special Edition). To patch a mod open it and "LRG Advanced Crafting.esm" in Tes5Edit and run a script "_AdvancedCrafting_PatchMod.pas" on one of the armor or weapon entries. Please note: by patching we are going to edit the armor mod file. You may want to make a backup copy of your armor mod before proceeding. 1) Select "LRG Advanced Crafting.esm" and the mod you want to patch and press OK to open them; 2) Wait until TesEtil finishes opening selected mod. In the right you will a line "Background Loader: finished" when its done. Left window displays opened selected mods and their dependencies. 3) Click on the plus sign on the left-hand side of the mod you want to patch. Click on the plus sign on Armor or Weapon. Right-click on one of the entries in Armor or Weapon categories and select "Apply Script..."; 4) Click on the "Script" section and select "_AdvancedCrafting PatchMod"; 5) Click OK to start the script; 6) Wait for patching to complete. You will see a line "Done: applying script" whenthe process is finished. 7) The above mentioned script will prepare mod to be used with Advanced Crafting. It will create duplicates of every craftable armor and weapon in the mod, attach required papyrus scripts and make new crafting and tempering recipes. 8 ) Save changes we done to the mod; 9) Make sure you tick the mod in the pop-up window and press OK. Pathing is done and we close TesEdit. Older Versions:
-
View File Smutty Space Ponies https://discord.gg/x3TxX5x Come visit the Discord! You can see exactly what I'm doing for the next updates there, as well as throw suggestions at me, for portraits, technologies, whatever! Smutty Space Ponies (SSP) adds in two new portrait groups, the first one being Anthro Equestrians which is listed below. United Ponies (163 Total Portraits.) (48 Ruler Portraits.) (90 Pony Portraits.) (18 Zebra Portraits) Changelings (47 Total Portraits.) Griffons (11 Total Portraits.) Zebra (35 Total Portraits.) Diamond Dogs (16 Total Portraits.) And the second portrait group is Feral Equestrians. United Feral Ponies (83 Total Portraits.) (14 Ruler Portraits.) (69 (Nice) Pony Potraits.) Feral Zebra (11 Total Portraits.) New portraits are added whenever I happen upon something that looks good enough, but if you want to suggest some, feel free to! My patreon if you wish to support my lewd horse endeavours. https://www.patreon.com/bigdeeter Submitter Orichalum Submitted 04/27/2019 Category Stellaris Requires
- 79 replies
-
11
-
- species/portrait
- prescripted empires
-
(and 2 more)
Tagged with:
-
View File _-_Slave_Girls_-_ This mod adds about 200 npcs in various states of distress all throughout Skyrim. There are slave caravans, house slaves, hostages, and bandits in bondage. Many of the NPCs have dialogue, and some are merchants. At the moment this mod is mostly for visual appeal, but I have plans to add scripts and quests as soon as I can get online more regularly. I use alot of extra NPC mods because I think they add alot to the random element of the game. That's what Slavegirls does. This mod DOES NOT simulate an actual slave trading economy; it's just flavor so far. Thanks alot to all the Lover's Lab community for helping me make this mod decent. _Requirements_ There are only two requirements, but they both require FNIS and SKSE at least. Check the pages carefully, please. One version 826 and up, you NEED both the main and texture downloads Sexlab Framework http://www.loverslab.com/topic/16623-skyrim-sexlab-sex-animation-framework-v159c-updated-oct-3rd/ ZaZAnimationPack http://www.loverslab.com/topic/17062-zaz-animation-pack-2015-07-02/ _Patches_ Copy over the main esp No-Nude Males _More Info_ There are quite a few different types of slavegirl in the mod, and even a few slaveguys too. I use many different AI packages to tune the mod, but there are still bugs. If you see a slave standing around doing nothing, just wait an hour. She'll usually end up getting herself into trouble somehow. Some NPCs are Sexlab Forbidden to preserve their bondage, but there's a patch to change that included. Here's a brief explanation of most of the types of slavegirls out there. Slavegirls- These are house slaves serving the more wealthy denizens of Skyrim. They have been trained throughly, and so have a certain amount of freedom. Many slavegirls have dialogue. Townies- Most of the settlements have a townie or two with personal slaves to serve them. Some are paid champions protecting a given territory. Many of these lucky folk are merchants including a.. Rare gem dealer in Solitude Rare book dealer in Dawnstar Dealer in soul gems and enchanted objects in Whiterun Scroll dealer in Windhelm Skooma dealer in Riften And hopefully more soon... Adventurers- Small groups of adventurers travel the wilds of Skyrim, slave girls rushing behind them to catch up. You can often find them in taverns and inns, or discussing important business with their ragtag associates. Be careful because some of these adventurers are quite powerful! Some of them are merchants too, including.. Travelling alchemists selling potions and other apothecary needs Orc wanderers selling their ethnic weaponry A Dungeoneer selling Dwemer artifacts and metals And also more soon.. Slave Caravans- Various slave traders and their drooling cronies drive helpless slavegirls all along the roads of Skyrim. They are quite tough, and will defend their merchandise with their lives. Hostages- In some cities the guards keep groups of hostages in case their families are willing to pay ransom for their safe return. Many of these poor girls are prisoners of war. Vignettes- These poor ladies are stuck in states of almost total bondage, depending of course on buggy AI packages. If you see one standing around, just wait for an hour. thanks for downloading hydragorgon Submitter hydragorgon Submitted 03/06/2014 Category Other Requires Zaz Animation Pack Sexlab Special Edition Compatible
-
Farelle Animations for AAF - Foot(ball) Lovers Update - Alpha View File JULY 14 2018 UPDATE 0.1.2 : Foot(ball) Lovers Update Disclaimer : This animation package is a Work in Progress (WIP). You may encounter bugs and other issues with these animations. This file will be updated frequently so do not hesitate to follow it to stay up to date ! I do not condone having fun with bestiality or other things in real life, this is PURELY FICTIONAL, remember it when playing the game please. DESCRIPTION This is my Work in Progress animation package for the Advanced Animation Framework created by Dagobaking. Thanks to the awesome rigs from Leito, I started creating some animations for the Fallout universe. The main goal of this package is to create missing animations and animations that are asked by the community. Each updates of this animation package will focus on one animation story. An animation story represent one big animation with multiple animations in it. For example : Teasing, Handjob, Blowjob, etc... I have already alot of ideas for the next updates but do not hesitate to give realistic ideas that can fit into this package. I want it to be close to a lore friendly animation pack so do not ask for some wildly things. ANIMATION LIST INITIAL RELEASE (Testing purposes, but decided to keep it in the package) - JULY 8 2018 Forced Blowjob Stage 1 Forced Blowjob Stage 2 LUSTY SUPERMUTANTS (Alpha 0.1.0) - JULY 8 2018 Supermutants Threesome Teasing with Female Supermutants Threesome Handjob with Female Supermutants Threesome Blowjob with Female Supermutants Threesome Gangbang with Female FOOT(BALL) LOVERS (Alpha 0.1.2) - JULY 14 2018 Female Feetjob with Male REQUIREMENTS F4SE - Last version AAF - Last version INSTALLATION MOD ORGANIZER : Simply import the ZIP file like you would do with any other mod, do not forget to activate the esp in the right window. NEXUS MOD MANAGER : I don't use the NMM anymore so I didn't create this package to be used with it. You can try, but you might face issues. If you do, extract the ZIP file content into your DATA folder in the Fallout 4 game directory. BUGS - NO SOUND ! Well this is not really a bug but this will come in later updates, maybe. - Alignments are off sometimes. I can't do alot about that since it can be related to the terrain where the animation is playing. - Mouths doesn't work, limited by the rigs, can't do anything about that at the moment. - Other bugs, tell me in the comment section what you are facing. Remember that AAF error messages are not related to my animations. CREDITS Dagobaking - Advanced Animation Framework, advice, tips and alot more, thanks again ! Leito - Awesome ready to use rigs. CG! - Advice and tips Polistiro - Alpha testing, tips and advice ShadeAnimator - Documentation to create animations for Fallout 4 Loverslab users - Without you, nobody would create anything for the game Besthesda - Cool game guys Everyone that i forgot to mention in this credits section. PERMISSIONS This mod is a Loverslab only mod. I don't want this mod to be uploaded anywhere else, and precisely not on Nexus or Bethesda.com You are not allowed to include this animation package in any commercial or donation taking projects. You cannot use this package to make money of it. You are allowed to use this animation package without modifying its content. HAVE FUN ! Submitter Farelle Submitted 07/08/2018 Category Animation Requires AAF, F4SE
- 67 replies
-
21
-
[BETA] Stylized coochies View File A fool's quest of mine - these are three rigged vagina conversions of the bag of baginas meshes on Smutbase. But instead of a competent mesh engineer, you got me. All three variants are rigged with vaginal and anal opening bones, and are for both female and male sims. They can be added via CAS, or assigned via the Wicked Whims body selector function. Keep in mind this set is definitely in a 'BETA' level of polish, and will receive updates as I am able to iron them out more. Please read below for known caveats, and what you can do to help, if you'd like to. You may use, modify, or expand upon these as much as you see fit! My one request is that you do not paywall these or modifications of them in any way, shape, or form. CAVEATS (aka known issues): The overlay these use to blend into the skin is pretty 'heavy' , and works best with 'cartoony'/soft overlays/skins. The overlay used in the preview is one of the cartoon overlays by Northern Siberia Winds. It may not blend perfectly under all lighting settings, even then. The body's morphs and shading can look a bit crunchy in some areas, at the moment. Because the parts partially use the penis UV space, they will run into issues with 'heavier' amounts of pubic hair. I'm working on a set compatible, and it will likely be the first update to this file. The male models are... of questionable quality. The puffy and nofrills vaginas for men have been marked as EXPERIMENTAL until I can iron them out a bit more. Due to the sheer amount of different animations and creators and how they do things, these vaginas are not 100% going to 'line up' with every single animation. Additionally, I am unable to test effectively as a single person, which is why I have chosen to make a beta release - so other people can help hone in on specific issues. If you'd like to help speed up the polishing process, screenshots of any kind of mesh weirdness would be appreciated! This allows me to target specific issues instead of running in circles trying to fix everything at once. LAUNDRY LIST: Pubic hairs Fix up specific rig/uv_1/shading bugs Improve overlay texture Submitter BorderofExtacy Submitted 07/31/2024 Category Body Parts Requires Wickedwhims by TURBODRIVER
-
Version 1.1.0
6,045 downloads
A fool's quest of mine - these are three rigged vagina conversions of the bag of baginas meshes on Smutbase. But instead of a competent mesh engineer, you got me. All three variants are rigged with vaginal and anal opening bones, and are for both female and male sims. They can be added via CAS, or assigned via the Wicked Whims body selector function. Keep in mind this set is definitely in a 'BETA' level of polish, and will receive updates as I am able to iron them out more. Please read below for known caveats, and what you can do to help, if you'd like to. You may use, modify, or expand upon these as much as you see fit! My one request is that you do not paywall these or modifications of them in any way, shape, or form. CAVEATS (aka known issues): The overlay these use to blend into the skin is pretty 'heavy' , and works best with 'cartoony'/soft overlays/skins. The overlay used in the preview is one of the cartoon overlays by Northern Siberia Winds. It may not blend perfectly under all lighting settings, even then. The body's morphs and shading can look a bit crunchy in some areas, at the moment. Because the parts partially use the penis UV space, they will run into issues with 'heavier' amounts of pubic hair. I'm working on a set compatible, and it will likely be the first update to this file. The male models are... of questionable quality. The puffy and nofrills vaginas for men have been marked as EXPERIMENTAL until I can iron them out a bit more. Due to the sheer amount of different animations and creators and how they do things, these vaginas are not 100% going to 'line up' with every single animation. Additionally, I am unable to test effectively as a single person, which is why I have chosen to make a beta release - so other people can help hone in on specific issues. If you'd like to help speed up the polishing process, screenshots of any kind of mesh weirdness would be appreciated! This allows me to target specific issues instead of running in circles trying to fix everything at once. LAUNDRY LIST: Pubic hairs Fix up specific rig/uv_1/shading bugs Improve overlay texture -
View File Rimnosis - NSFW Rimnosis: A Rimworld Hypnosis Mod Rimworld always seemed to lack the ability to change pawn's feelings towards events or actions. So I decided to try and fix that, along with some weapons and armor that may also help. >>NOTICE: CURRENTLY WIP<< Aphrodisiac gas, weapons, and buildings are currently implemented. Mood boosting Statues implemented (thanks nabber for code help) Always download the latest version, I am not going to provide support for older versions when I can barely understand how my mod works in the present. >>REQUIRED MODS<< Since people keep bugging me about issues relating to the mods I used to make Rimnosis, I'm just going to list them. If you don't have these, then its probably not my mod's fault. https://steamcommunity.com/sharedfiles/filedetails/?id=2012627964 https://steamcommunity.com/sharedfiles/filedetails/?id=2062943477 https://gitgud.io/Ed86/rjw If you need any help, I'm very active on the RJW discord Credits: WolfoftheWest - XML Code and Idea Magenta_Ivy, VFE-P Team, Gas Traps and Shells Team, and Core for various textures a flock of birds, Nabber, VFE-P Team, and Gas Traps and Shells Team for various C# code Geyser addon has been merged into the main mod thanks to flock of birds new code Any comments that the download link isn't working will be ignored, I provided the direct link to the github in the description, if you can't download from LL then just get it from the source >>GITHUB DOWNLOAD<< To download in Github, click the link below, click the green Code button at the top right of the preview area, download Zip, put Zip in your mods folder, unzip with unzipper of choice (i use 7zip). https://github.com/WolfoftheWest/Rimnosis Submitter WolfoftheWest1 Submitted 12/24/2020 Category Rimworld
- 42 replies
-
6
-
Castration Framework (Up for Adoption) View File IMPORTANT: Make sure XPMSE is installed correctly. This mod is up A quick-and-dirty mod that can be used to remove the balls from any NPC seen as Male by Sexlab. This blocks their arousal. (NOTE: Does not currently prevent pregnancy except through SGO, more coming soon) Use AddItemMenu to get the castration knife. Requirements: -Racemenu (for NiOverride) -XP32 Maximum Skeleton Extended (node scaling is used) -Sexlab Aroused (preferably SLAX) -Schlongs of Skyrim -Gender Bender (recommended, not required) for futa support Features: -Castration and decastration via MCM menu or knife -Penectomies (nullification, removes the dick but not the balls) Known bugs: -Certain revealing armors may not realize the NPC is castrated Coming later: Nothing Submitter brrrryes Submitted 12/28/2021 Category Framework & Resources Requires Racemenu, XPMSE, SLAX, SOS, SkyUI Special Edition Compatible Yes
- 116 replies
-
4
-
- castration
- wip
-
(and 1 more)
Tagged with:
-
Amazons of Skyrim View File === DISCLAIMER === If you not a fan of female muscles, or you just find muscle women is disgusting - just leave this place right now. Author is not responsible for injuring your sense of beauty. This mod adds five playable races (only female versions), as well as special abilities and equipment for them. Contains custom animation pack (work with FNIS) and MCM for more detailed configuration. === RACES === Amazon Warrior The Amazons hail from a valley hidden deep within Skyrim's mountains. A lifestyle of harsh training under the presence of a local magical anomaly gives them incredible muscle mass and power. Amazon warriors have unmatched physical strength. Their attacks do extra damage and they can fight for days without rest. Even novice Amazon warriors can hold their own against the most experienced fighters of other races. Amazon Warlord The Amazons hail from a valley hidden deep within Skyrim's mountains. A lifestyle of harsh training under the presence of a local magical anomaly gives them incredible muscle mass and power. Amazon warriors have unmatched physical strength. Their attacks do extra damage and they can fight for days without rest. Warlords are experienced Amazon warriors. One Warlord is more than a match for an entire Imperial centuria. Amazon Adept The Amazons hail from a valley hidden deep within Skyrim's mountains. A lifestyle of harsh training under the presence of a local magical anomaly gives them incredible muscle mass and power. Amazon mages channel magic through their musculature to greatly increase the power of all spells. Their muscles continually generate vast amounts of magicka. The raw magic power of even young Amazon Adepts exceeds that of most mages of other races. Amazon Warlock The Amazons hail from a valley hidden deep within Skyrim's mountains. A lifestyle of harsh training under the presence of a local magical anomaly gives them incredible muscle mass and power. Amazon mages channel magic through their musculature to greatly increase the power of all spells. Their muscles continually generate vast amounts of magicka. A Warlock's mastery of Amazonian muscle-based magic grants her peerless magical power. Amazon Matriarch The Amazons hail from a valley hidden deep within Skyrim's mountains. A lifestyle of harsh training under the presence of a local magical anomaly gives them incredible muscle mass and power. The Matriarchs are the rulers of the Amazons. The limits of a Matriarch's martial and magical abilities are unknown. === ABILITIES === === SPELLS === == MOD ARCHIVE CONTENT == Two body variants: body with un-removable underwear and complicatedly nude body. Five different skin textures with different types of veins. Six different skeleton variants: XS, S, M, L, XL, XXL, XXXL. Seven different variants of normal maps for different muscle relief. Two plugins variants: 1) Common .esp plugin. 2) Pseudo-esm plugin (.esp plugin with .esm flag). Will load first in your load order. Extra data: ECE data for Enhanced Character Edit users. RaceMenu character presets for RaceMenu users. BodySlide data for making conversions (for experienced users). FNIS PCEA animation pack. If you have troubles with animations from main mod - use this pack instead. HDT custom preset for breasts and butt jiggles. === ARMOR ARCHIVE CONTENT === 60+ sets of premade armors, vanilla remakes and others. Most of them goes in two variants - full and cut. New weapons. === REQUIREMENTS === Skyrim Dragonborn DLC Dawnguard DLC RaceCompatibility for Skyrim and Dawnguard XPMSE HDT Physics Extension FNIS FNIS_PCEA2 for alternative animation pack. NetImmerse Override (standalone or as part of Racemenu) for armors high heels. SkyUI for MCM-Menu. ===RECOMMENDATIONS === Better Jumping - if you want to use really high jumps (300+ points). Skyrim - Enhanced Camera - SKSE-plugin for better first person experience. === INSTALLATION === Use any mod manager you want and run install. Choose any options you want. If you are ECE user - don't forget ECE-part of the mod! After finishing install don't forget to run FNIS! In the character creation menu set character gender to female before switching to Amazon races (or may occur bug with not-working passive abilities). If you are ECE user - in the character creation menu go to the slot-load part and select "Preset 1" "Preset 2" or "Preset 3". This loads pre-defined preset with various skeleton bones scaling. Only after this you can tweak your character's face! Don't forget to use MCM for further customization. === BUGS AND LIMITATIONS === Because of modified skeleton you can expect clipping or other weird things in some poses or animations. Because of custom body, this race can't normally wear vanilla armors. May appear some strange bugs in beast form or vampire lord form, especially for ECE users. For obtain armors - use AddItemMenu. Or you can found all armors in a sack near the Warrior's Stone. Because of Skyrim engine limitation, If you want to use really high jumps (300+ points) you need to install Better Jumping (SKSE Plugin), or you may stuck in mid-air during high jumps. Some animation mods may overwrite animations from my pack or set it to "vanilla" state. If this happens - use PCEA variant instead. If you use mods, that changes basic jump height, leave Jump option disabled in MCM. If you use mods, that changes attack and move speed - leave this options disabled in MCM. === THANKS AND CREDITS === Tigersan - for normal maps. HHaleyy - for Fair Skin textures. Groovtama - for skeleton. tktk1 - for ECE. Septfox - for more sliders for ECE. Caliente - for BodySlide TMPhoenix - for Race Compatibility crossfire1616 - for invaluable help in testing and screenshots kinghulk - for help in testing and screenshots Donegan - for help in testing and screenshots shidoni, resist112, debrarshackelford, RocketNow - for testing and general help bigsmitty2 - for testing and polishing English translation. clanomega2501 - for SSE version of the old True Amazons mod. Animation creators (all of them) - for animations that I used in my pack. All who I forgot to mention here. Old versions of this mod (True Amazons) can be found here. Ah, and sorry about my bad english. Submitter Azazellz Submitted 04/06/2017 Category Races Requires RaceCompatibility, HDT Physics Extension, XPMSE Special Edition Compatible Yes
- 1,608 replies
-
18
-
TSEX and TSEX Hardship Alpha (Modders resource) View File These unfinished mods are presented as-is for playing and as a modders resource. Anyone who wants to continue developing them has the permission of the authors (@Tentacus and @requiredname65) We are not in any way responsible for the content of any derivitive works. DESCRIPTION: TSEX: The Master mod. Originally meant to hold content that could be used in more mods than just Hardship, this can still be used as such by whoever wants to make it a requirement. It contains numerous global variables, keywords, sounds, and functions This Master also provides a framework of sorts containing numerous new systems, such as a sex drive and trauma system, as well as offering new solo actions like Masturbation and dancing. TSEX Hardship (Requires TSEX): The continuation of the Hardship: Beggar Whore mod (See original mod page for more information). Implementing the new features of TSEX as well as adding some new features. such as Threesomes. This is being posted on a new page because The original "Finished" version of Hardship 1.5 will remain it's own thing. WHAT'S IN THERE (as far as we can remember): - Massively improved MCM - Control your character's expressions/demeanor - Pregnancy system integration with FPE keeping in mind TSEX scene context. - Threesomes for raider rapes. - Cum overlays for both genders and reactions. - Character attributes and histories are expanded. - More character attribute aware content. - Torture mechanics from masters and doms. (slavery system not implemented, but hooks are in there) - Bondage equipment - Sex skills and perks. - Sex Achievments (Though this is dumb and pointless) - Carnal needs and trauma system. - Dancing, suggestive posing that may attract lustful actors. - Injury by beatings will leave bruise overlays on player. - Animated beating scenes interweaved with text boxes. - Branding system for females (no male sets available). - Relationship system for other mods. (Omoshiroi) - Hack some robots and discover a prewar pleasure subroutine. (Really? This sounds neat) - Threesomes for Codmann couple when both are invited to home plate party, requires BP70 animation pack. (I approve of this as I had the same idea) - 'Pillow talk' scene after hanky panky. - Menacing raider might be willing to let character go with a chem bribe. (Cool idea!) - Velma mode. Raiders may steal your glasses. THINGS WE DIDN'T GET TO: - Male dom NPC. Sorry. - Characters to teach the player to dance - Player slavery system (Though lots of elements of it are in there and ready to be utilized if someone takes up the mod) - Improved Isabel dialogue using new BDSM training hooks (Again, it wouldn't be too hard for someone to pick up these threads.) IN CLOSING: While playable, these mods are in an alpha state, and have bugs, some of which may be serious. Some originally planned features are incomplete, or excluded altogether I will provide no support for this mod. frankly I wouldn't know how as requiredname65 has added a lot in recent builds (as you might have guessed from my comments above ). However I am willing to answer questions for anyone wanting to take up the mod or help requiredname65 with their own efforts to continue. requiredname65, may or may not pop in to the forum if they so desire. It's my sincere wish that someone take this and run with it, I only regret that I let it get so out of hand and wasn't able to accomplish all my big ideas, and also that I didn't drop it a lot sooner and unintentionally lead some of you on. Big thanks to all the help and support requiredname65 has given. Without them this wouldn't be as complete as it is. See main Hardship thread for legacy thanks. Requirements: It requires everything Hardship does, so o look there for the detailed info. EXCEPTIONS include Rufgt's old animations, which aren't needed any more, and maybe Staged Leito Plus... This will probably work fine with just UAP's XMLs. instead. In addition to those requirements this needs: Vanilla DLCs May not need them all but I can't be arsed to figure out which it does at this point Atomic Lust Hard requirement. Savage Cabbage Hard requirement for raider threesomes... Maybe something else? ?♂️ BP70 needed for Codman scene. FPE Optional, for pregnancy support. FAQ: Q: Who is this for? A: Tinkerers who want to check out the new features and get a taste for what might have been or modders who wish to take up the challenge for finishing this project. Q: Who is this NOT for: A: Those new to modding, or AAF, or anyone wanting a polished smooth experience. Play Hardship Beggar Whore instead. Q: How do I _______? A: Nope... I am deadly serious about not providing support. Sorry. Please do help eachother though as you always have in the main Hardship thread. Credits: @Rufgt cunnilingus anim. @Gray User Various animations @kziitd facial @JB. bruise overlays @requiredname65bruise overlays, pregnancy system, making the messge windows not blinding and a ton of other shit. @DixiePig slave collar. @Polistiro cum overlays Ascendia for blindfold mesh Ender Guney for tiny snippet of royalty free track I used for Hardship disable sound. If I missed anything do let me know. It's been a long couple of years. Submitter Tentacus Submitted 05/23/2022 Category Framework & Resources Requires DLCs,Savage Cabbage, Atomic Lust,BP70,AAF, FO4 Animations by Leito, AAF Themes, Real Handcuffs
- 357 replies
-
8
-
Today I want to document a couple of issues I've had when animating for SexLab. Maybe someone can shed some light. The first relates to head-tracking remaining active during scenes. It appears that if the game considers the PC to be behind the NPC during a scene, the NPC's spine malfunctions, causing them to gyrate and float whenever their spine bones are animated. The "bHeadTrackSpine" variable seems suspicious here. This is a clip of the issue: We can disable the NPC's head-tracking by setting the "IsNPC" flag to 0 in the console (as shown), and while this fixes the floating, it will break the NPC unless reverted after the scene ends. This can probably be automated in SexLab by somebody with the know-how. I have managed to circumvent the problem by messing with rotation scripts in SLAL's json file, but it's not ideal. This is apparently a long-standing bug. The second issue has actors sinking through the "Noble Bed" when in use. I believe this is because Skyrim's beds are such different heights. I considered making a replacer to level them off, but there's probably an easier fix. A couple of WIPs:
-
View File This is a very crude mash-up style loincloth (male underwear) mod, mainly developed for the use together with SoS: Schlongs of Skyrim. [UPDATED]: Uploaded SAM (only) supported version on vectorplexus.com: https://vectorplexus.com/files/file/123-vlsimu-vanilla-like-schlong-interactive-male-underwear-for-sam/ Features: Almost vanilla-looking (loincloth-style) underwear for male actors, with flexible front side 'apron' that can move in accordance with the movement of the wearer's schlong. That is to say, no more his schlong sticking directly out from the cloth. Compatible with BOTH SoS: Schlongs of Skyrim - Full (v 3.0.4) AND SoS - Light (v 1.0.4). Sorry, so far not the body-builder mesh support (Normal body only). WIP Sundracon SoS mesh (you can find somewhere in LL) and its variant, SMSOSL: Sundracon Male Schlongs of Skyrim - Light can be also supported (use the alternative meshes in [optional] folder in the sub-folder of the mesh (Boo's Sundracon SoS) / separate optional download package (SMSOSL). Use equipment slot 56 (instead of slot 52, unlike other male underwear mod), so it does not hide your PC's manly bit entirely while he put it on. No Script, very light-weight (i.e. low poly mesh/low-res texture...) Constructable with one roll of linen wrap and two leather strips, at the tanning rack. No smithing skill/perk required. Supposed to be hidden under (almost) all vanilla armors or clothes. Male only. If female can try put it on, the underwear will just not show up on their body (i,e. she will remain nude). Its assets also should work well with the other (female-only) underwear mod, Vanilla Underwear for all (One piece version) by Andrelo (http://www.nexusmods.com/skyrim/mods/69490/). For more detail, check the article below. The mod itself does not distribute the underwear to other NPCs in the game. Although I personally cannot recommend, if you REALLY wish to achieve such a thing, check the relevant article below. v. 0.2(+): added crafting only (i.e. not distributed to NPCs) three variants of the underwears. Red (linen: additionally requiring five pieces of Red Mountain Flowers as dye when crafted), Green (linen: additionally requiring five pieces of Lavenders as dye), and soft touch leather one (requiring one piece of Leather instead of Linen Wrap). Requirements: DLC Dawnguard/ Dragonborn SoS: Schlongs of Skyrim (Full/ Light, both are OK) (http://www.loverslab.com/files/file/498-sos-schlongs-of-skyrim/) Compatible Skeleton with SoS like XPMSE (http://www.nexusmods.com/skyrim/mods/68000/) SKSE (http://skse.silverlock.org/) as their prerequisite. : they are indispensable for the flexible movement of the front side 'apron' of the underwear. Besides, who would like to try this WIP 'interactive/ responsive' underwear without SoS installed? Known Incompatibilities/ Problems: Any other armor/ cloth mod that occupies the equipment slot 56. I assume that, however, few male armor mods use this slot, and even if female actor tries to put it on, other equipments (using the same slot) should be prioritized in the game. non-vanilla armors/ clothes will not hide the underwear unless the patch is not made (how to make it compatible with TESVEdit, check SS below). http://imgur.com/GTmOVO5 Some clippings especially while sneaking/ running. Due to its nature of tweaking armor add-ons of all the vanilla armors and clothes to hide the slot 56, I assume that I carry forwards almost all the 'fixes' of armor add-ons done by USLEEP (and CRF as well) that can be done without any dependency also into this mod's .esp. Fixes of the other overhaul mods like CCF are currently not supported, however. How to install/uninstall and get the underwear Just install and activate the (main) .esp file by NMM or Mod organizer. vanilla_male_NPC_outfitlist_vlsimu.esp is (UNRECOMMENDED) OPTIONAL. Unless you really wish to try the feature of distributing the underwear to male NPCs, just ignore it and don't download. Recommended Load order: definitely after the massive equipment/ armors/ clothes overhaul mods like USLEEP/ WAF/ CCF/ CCOR. Otherwise, it matters little. The underwear will not be added in your inventory just by installing. You have to craft it at the tanning rack (recipe: one roll of linen wrap and two leather strips). Alternatively, you can resort to console or Additemmenu(http://www.nexusmods.com/skyrim/mods/64905/) Probably Safe to uninstall unless you put the underwear on or have it inventory (if so, just discard it into some barrels around before un-install). v. 0.2(+): It must be safe to update just by overwriting the existing assets as well as .esp. Also the latest underwear's .esp is compatible with the 0.1(a)'s optional .esp for the underwear distribution to NPCs (It means that you don't have to update the latter if you don't mind four missing entries of the male underwear in some NPC's inventory). How its assets can be integrated with Andrelo's Vanilla Underwear for all: Install both mods (the order should be irrelevant). meshes/ textures from both mods are to be found in the sub-folder named 'VanillaUnderwear', under meshes (textures)>clothes DISABLE (DELETE) THIS MOD's .esp/ back up both mods' .esp somewhere. Open VanillaUnderwear.esp, with TESVEdit, and edit some entries in her/his original .esp as shown below in the album. http://imgur.com/a/Wo0x4 How to distribute the underwear to other NPCs in the game? (though I strongly wish to dissuade you to try) #Except for the option A, you will definitely need some basic knowledge on TESVedit/ CK. Option A: Use Underpants (http://www.loverslab.com/files/file/1878-underpants/) Option B: Integrate this mod's asset with Andrelo's Vanilla Underwear for ALL, and rely on her/ his other mods, Outfit filter and updater (http://www.nexusmods.com/skyrim/mods/71342/) and Undergarment distribution (http://www.nexusmods.com/skyrim/mods/71308/). Option ? If you achieve it by non-scripting ways, you can make use of my optional .esp, titled as vanilla_male_npc_outfitlist_vlsimu.esp, as instructed below. Put vanilla_male_npc_outfitlist_vlsimu.esp below in your load order (preferably just above your bashed/merged patch). Open this .esp and your other mods together with TESVEdit. Carry forward all the conflicting record into NPC's outfit entry of this .esp (see SS). http://imgur.com/5fSa1L1 NB: You have to make a patch by yourself by tweaking the outfit list of other additional mods. NB2: If you install vanilla_male_npc_outfitlist_vlsimu.esp in course of your play through (i.e. not from the new game), the actors those who had already appeared in the game would be not affected by this outfit change. So, it's best to install vanilla_male_npc_outfitlist_vlsimu.esp from the new game. Sorry for your inconvenience. Recommended Mods: RUSTIC CLOTHING (http://www.nexusmods.com/skyrim/mods/69784/? copy its maleunderwear.dds and maleunderwear_n.dds from the original location (textures>actors>character>male) to this mod's textures folder (textures>clothes>VanillaUnderwear). It will improve the aesthetic quality of your PC's loincloth drastically. FAQ: 'It's so ugly. Even uglier than the vanilla!': Sorry, I definitely lack the very basic skill of mesh-handling software like blender. Besides, the vanilla male underwear texture does not have the high-res variant in official texture pack (that I originally intended to use for improving the quality of texture). 'Why the loincloth? I prefer more sophisticated one!': Check RUMP: Rydin Underwear for Men Pack (http://www.loverslab.com/files/file/2662-rydin-underwear-for-men-pack/) 'I wanted to distribute the underwear to male NPC only, but found that some female NPCs actually not only had, but also put it on. Are they perverts? Or, does your outfit-list.esp have some problems?': Well, without relying on the script, it is sometimes impossible to distinguish between male and female NPCs, especially when they are generated from the same, mix-gendered leveled list. So, as a fail safe, I made the female world model of this loin-cloth as nude (as if she wears nothing). I know they try to put any item (including this underwear) on, but so, it will not cause any (visual) harm on female..... 'Futa support?': Currently No. I don't know about the game mechanics, but I assume that it is usually difficult to distinguish between the futa and other female actors, and to apply the (visible) vlsimu underwear to the non-schlongified female actor would cause visual glitch (please see my SS album post in the support thread). Permission for Re-Use: Just credit the original mod author of SOS - Male Skimpy Crouch underwear for SOS, DarkSchneiderBS, who implemented the interactivity to the mesh, would be enough. What I did is basically to mess up the awful mash-up job and to tweak .esp a bit only. What should be done in the future: Find the possible remaining bugs/ missing entries in the entry of Armor Add-on or NPCs' outfit list (optional .esp). Improve the asset of the ground object (especially for the additional, colored one) Female/ SAM support (not so soon, definitely not before September, I afraid ......) +++ Credits: SOS - Male Skimpy Crouch underwear for SOS by DarkSchneiderBS (http://www.loverslab.com/files/file/1016-sos-male-skimpy-crouch-underwear-for-sos/) for the flexible mesh/ weighting of the front side 'apron'. It was her/him who invented the interactive mesh, and I just adapted it to the vanilla-style underwear. v. 0.2(+): HD Sacks Retexture by Mazarin (http://www.nexusmods.com/skyrim/mods/2836/) for the re-texture base (cloth/ soft-leather). Compared with other candidate material (some of them were clearly high-resolution like 1K/ even 2K), only 512x512 resolution pieces of her/his sack looked really good so that I decided to re-texture of the loincloth based on them. Other meshes and textures come from vanilla assets. Submitter y_sengaku Submitted 06/03/2017 Category Armor & Clothing Requires DLC DG, DLC DB, SoS: Schlongs of Skyrim (either Full/ Light) (http://www.loverslab.com/files/file/498-sos-schlongs-of-skyrim/) Special Edition Compatible View File
- 71 replies
-
1
-
- sos
- schlongs of skyrim
-
(and 8 more)
Tagged with:
-
Slave Girls by hydragorgon SE View File Slave Girls by hydragorgon SE I DID NOT create this mod. It was created by the indomitable @hydragorgon, and all rights and privileges belong to them. I messaged Hydragorgon a while back asking for perms to upload this but they have been M.I.A. since last December, so I took a gamble and decided to go ahead and share. If Hydragorgon comes back and doesn't want this conversion to be posted they have the right to... BURN IT DOWN! All I did was Combine the Main Files and Texture Files, Optimize the textures and meshes for Skyrim Special Edition, and convert the ESPs to Form 44. The following copied from the original LE upload page by hydragorgon: About This File _-_Slave_Girls_-_ This mod adds about 200 npcs in various states of distress all throughout Skyrim. There are slave caravans, house slaves, hostages, and bandits in bondage. Many of the NPCs have dialogue, and some are merchants. At the moment this mod is mostly for visual appeal, but I have plans to add scripts and quests as soon as I can get online more regularly. I use alot of extra NPC mods because I think they add alot to the random element of the game. That's what Slavegirls does. This mod DOES NOT simulate an actual slave trading economy; it's just flavor so far. Thanks alot to all the Lover's Lab community for helping me make this mod decent. _Requirements_ There are only two requirements, but they both require FNIS SE and SKSE64 at least. Check the pages carefully, please. Sexlab Framework SE Zaz Animations SE _Patches_ Copy over the main esp No-Nude Males _More Info_ There are quite a few different types of slavegirl in the mod, and even a few slaveguys too. I use many different AI packages to tune the mod, but there are still bugs. If you see a slave standing around doing nothing, just wait an hour. She'll usually end up getting herself into trouble somehow. Some NPCs are Sexlab Forbidden to preserve their bondage, but there's a patch to change that included. Here's a brief explanation of most of the types of slavegirls out there. Slavegirls- These are house slaves serving the more wealthy denizens of Skyrim. They have been trained throughly, and so have a certain amount of freedom. Many slavegirls have dialogue. Townies- Most of the settlements have a townie or two with personal slaves to serve them. Some are paid champions protecting a given territory. Many of these lucky folk are merchants including a.. Rare gem dealer in Solitude Rare book dealer in Dawnstar Dealer in soul gems and enchanted objects in Whiterun Scroll dealer in Windhelm Skooma dealer in Riften And hopefully more soon... Adventurers- Small groups of adventurers travel the wilds of Skyrim, slave girls rushing behind them to catch up. You can often find them in taverns and inns, or discussing important business with their ragtag associates. Be careful because some of these adventurers are quite powerful! Some of them are merchants too, including.. Travelling alchemists selling potions and other apothecary needs Orc wanderers selling their ethnic weaponry A Dungeoneer selling Dwemer artifacts and metals And also more soon.. Slave Caravans- Various slave traders and their drooling cronies drive helpless slavegirls all along the roads of Skyrim. They are quite tough, and will defend their merchandise with their lives. Hostages- In some cities the guards keep groups of hostages in case their families are willing to pay ransom for their safe return. Many of these poor girls are prisoners of war. Vignettes- These poor ladies are stuck in states of almost total bondage, depending of course on buggy AI packages. If you see one standing around, just wait for an hour. thanks for downloading hydragorgon If you enjoy my conversion work and would like to toss a coin to my coffee fund, you can visit my Patreon ~ Nomkaz Submitter nomkaz Submitted 06/15/2019 Category Adult Mods Requires SexLab Framework SE, Zaz Animations SE Regular Edition Compatible No