• Announcements

    • Ashal

      SITE MOVED - IN READ ONLY MODE   12/08/2015

      Please use http://www.loverslab.com moving forward. Site has been restored to a previous version, and this one placed into a read-only mode. This is available for a limited time so users may reference/copy content that has been lost in the transition. This will no longer be accessible by December 22nd, 2015.

APPS Dev Team

Members
  • Content count

    12
  • Joined

  • Last visited

Posts posted by APPS Dev Team


  1. Updated the framework to version 1.1.7b

    Added new functionality to the framework which allows mods to group actors together and update their Relationship Points by a common value. Also mods now can link global variables to those groups and get them updated by the framework whenever one of the actor in the group was updated.

    New functions added:


        • CreatePrivateGroup() : Create a group which is only accessable by your mod
        • CreatePublicGroup() : Create a group which can be shared through every mod
        • DeletePrivateGroup() : Deletes a private group
        • DeletePublicGroup() : Deletes a public group. Should be used with care because other mods could rely on the group
        • IsPublicGroupCreated() : Checks if a public group exists
        • AddToPrivateGroup() : Adds an actor to the specified private group
        • AddToPublicGroup() : Adds an actor to the specified public group
        • RemoveFromPrivateGroup() : Removes an actor from a private group
        • RemoveFromPublicGroup() : Removes an actor from a public group
        • ModPrivateGroupRS() : Applies the specified RP to all actors in the private group
        • ModPublicGroupRS() : Applies the specified RP to all actors in the public group
        • LinkPrivateGroupWithGV() : Link a global variable with a private group and get this global updated everytime the RP of any actor changes
        • LinkPublicGroupWithGV() : Link a global variable with a public group and get this global updated everytime the RP of any actor changes

    Global variable links can be of one of the three types:

    1. Highest: The global variable will be updated with the highest RP of any actor has in the group
    2. Lowest: The global variable will be updated with the lowest RP of any actor in the group
    3. Average: The global variable will be updated with the average RP of all actors in the group

    2

  2. MO Skyrim Tool Launcher

    View / Download File

    Description:

    Meant to be associated with files like NiFs, ESPs, ESMs and the like. Actually every file type you want.

    it was mainly created to fix some flaws between NiFSkope and MO, where associating MO+NiFSkope with NiFs would never allow you to load a file from a mod that you installed in MO, as access to those directories is locked for enabled mods when MO is started and the called program is handled by MO.

    To accomplish this, the program emulates the virtual path, by replacing MOs mod folder with Skyrims data path.

    Example:

    - Source file = C:\MO\Mods\APPS\Meshes\Architecture\APPS\FirePlace.NiF

    - Fixed path = C:\Steam\SteamApps\Common\Skyrim\Data\Meshes\Architecture\APPS\FirePlace.NiF

    As a result this only works for mods, that are installed in MO.

    if the source file is not part of a mod that's installed in MO, then path emulation is not available.

    And by design, this programs let's you choose from a multiple of programs (if configured) with a simple double click on a file, this program is associated with.

    Other functions:

    The program can set the working folder for the called application.

    This can be handy, if the program uses it's working folder when browsing for files.

    This does NOT override the default behaviour for programs that call the "Open File Dialogue" with standard settings as then Windows will use the user documents folder as starting folder.

    The following folders can be assigned as working directory:

    - the source folder of the source file,

    - the folder the called program is installed in,

    - Skyrims Data folder,

    - the emulated path,

    - Auto Mode.

    if the assigned working directory is not available/could not be found, the program will use Auto Mode.

    if anything else than the numbers 1 to 4 are entered, the entered value will be threated as path.

    The AutoMode will choose in the following order, based on what's available:

    emulated path, folder of the source file, Skyrims Data folder, the install folder of the called program.

    Side note:

    Some program need their install folder to be the working directory, as else they'll not be able to find their files.

    This can be done by configuring the program accordingly, so the use of this folder is forced for specific programs.

    See the next section for details.

    if the source file can not be found, the program will try to keep as many valid data as possible, whereby this data is split as followed:

    - file w/o extension,

    - full path (i may include checking each folder in the full path, but no promisses),

    - drive.

    This way the browse dialogue will start with the available valid data, instead of the default directory.

    Meaning: You start browsing from the available folder and/or drive, which should save you some time.

    Convert to 8.3 convention for path and file names.

    This is available for the source path & file, the path and executable for available programs and MOs path and executable.

    As for the source path and file, this bypasses a bug in MO and is only applied to the file name itself, if it contains a space, so the original (long) file name is preserved.

    As for the other options to convert to 8.3, this can be used for programs that have problems with long path and/or file names or with to many sub directories and to shorten the commandline.

    Configuration:

    This program uses an iNi file for configuring programs, while 2 Skyrim programs are hardcoded and by this don't need to be added to the iNi.

    Those programs are:

    - Creation Kit

    - Archive.EXE

    The listet Papyrus Compiler Wrapper is still a W.i.P. and will no longer be displayed in later version, if the APPS PapCompWrapper is not installed. So this entry can be ignored as it's of no use in combination with the vanilla Papyrus compiler.

    An iNi file, including a comment section with explanations at it's beginning, is part of the download.

    if the iNi file got lost or screwed up, here the template for V0.0.0.6 of this program:

    ;[...]    : The section is the name of the program, that'll be displayed in the list.;Path	 : Must contain only the full path to the programs executable.;EXE	  : Must contain only the executable name of the program, including extension.;FileType : The files types (files extensions) the program supports.;WorkDir  : The working directory for the program. Can have the following values:;		   1 = if an file is given, the directorie of this file will be the WorkDir.;		   2 = The folder of the program will be the WorkDir.;		   3 = Uses Skyrims data folder as WorkDir.;		   4 = The emulated path will be the WorkDir, if applicable. if set to this, but MO is not used, AutoMode will take place.;		   if you leave this empty, the programm will try to determine itself, but programs that need their dir as WorkDir may not work.;		   The order for AutoMode is: EmuPath, SourcePath, SkyimData, ProgPath.;		   if filled with anything else, then the listed number, the value will be interpreted fixed as path.;PathEmu  : Bool value (0 or 1) that disables (0) or enables (1) the usage of the Path Emulation.;		   in case of MO, MOSKTL will try to emulate the vanilla path, that will be available thru MO for the given file.;		   The path will have to have a valid vanilla path structure, Like Meshes\*, Textures\* aso inside it.;		   So everything after a vanilla folder will be appended to <SkyrimPath>\Data\, like <SkyrimPath>\Data\Meshes\*.;Use83Path:    Converts the programs path and executable into the 8.3 convention.;		   This might bypass additional errors in MOs parameter handling and can be used;		   for programs that don't work correctly with long paths and filenames or to many sub directories and;		   it's usefull (in tandem with Use83Src & USe83MO) to shorten the commandline.;The order the programs are listed here, is the order, the programs will be displayed in the list.;The only exception are programs that are registered for a filetype and this type of file is given.;As then those programs will be listed first, but in case of multiple still in the order they appear here.;Entries in the [MOTL] block are settings to control this program.;Use83Src  : Converts the source path and maybe the file name into the 8.3 convention.;		    Meant to bypass an error in MO, where MO removes quotes from paths that contain spaces, so those files could not be loaded.;		    The name of the source file will only be converted, if it has a space in it's name. This should help preserve long file names.;		    Boolean value: 0 = off, 1 = on;Use83Progs: Same as Use83Src, but converts the path and executable name of MO and launched programs.;		    Meant to avoid possible other errors and to shorten the command line.;Minimize  : Enables the minimize checkbox by default, so this program minimizes after laucnhing a tool, instead of closing itself.;		    if minimizing is your prefered method, you don't have to click the checkbox everytime as long as this option enabled.;		    Boolean value: 0 = off, 1 = on[MOTL]Use83Src=0Use83Progs=0Minimize=0[NiFSkope]Path=H:\Patches\The Elder Scrolls V - Skyrim\Mod Organizer\Tools\NiFSkopeEXE=NiFSkope.EXEFileType=NiFWorkDir=4PathEmu=1[TES5Edit]Path=H:\Patches\The Elder Scrolls V - Skyrim\Mod Organizer\Tools\TES5EditEXE=TES5Edit.EXEFileType=ESP, ESMWorkDir=2PathEmu=1[TESVTranslator]Path=h:\Patches\The Elder Scrolls V - Skyrim\Mod Organizer\Tools\TESV TranslatorEXE=TESVTranslator.EXEFileType=ESP, ESM, STRiNGS, iLSTRiNGS, DLSTRiNGSWorkDir=4PathEmu=1[SaveTool]Path=h:\Patches\The Elder Scrolls V - Skyrim\Mod Organizer\Tools\SaveToolEXE=SaveTool.EXEFileType=ESS, SKSEWorkDir=1PathEmu=0[BSAopt]Path=h:\Patches\The Elder Scrolls IV - Oblivion\BSAopt V2.0.0EXE=BSAopt x64.EXEFileType=BSAWorkDir=1PathEmu=0[Test]Path=C:\Test 1, 2, 3\EXE=Test_1.EXEFileType=WorkDir=PathEmu=

    The GUi:

    Programs that are configured in this programs iNi will be displayed in the in the list of available programs in the same order, they are listet in the iNi.

    So if you want to change the order in the list of available programs, just move the iNi blocks accordingly.

    The only exception are programs that are registered for a specific file type and that match the file type of the source file.

    Those will always be displayed on top (with a ">" as prefix), but still in the same order, they have in the iNi.

    The open file dialogue will use the last opened path as source folder or fallback to MOs mod folder, Skyrims Data folder or this programs install folder - in this order.

    The LOG window is usually of no big use, unless you notice something is missing, like a registered program.

    Programs that can not be found, will be displayed in the log window and not added to the list of available programs, because ... uhm ... they're not available.

    The "Source file" text box is locked and can not be altered. This may change later.

    To-Do:

    - add support for multiple files [canceled - will not be included]

    - add Drag & Drop support

    - make the source file text box editable

    - check if the source path is an installed MO mod and check if this mod is enabled in MO and offer activating it if needed, as else EmuPath will not work

    - create context menu entries for this program and all programs managed by it, incl. MO versions

    - when opening a file that's not registered with this program, try to get the associated program and offer to add it to the iNi, followed by registering itself for this filetype

    - if only a file was handed over, add current dir as path (for all command prompt lovers)

    - add wildcard support for file types so HexEditors and such are always offered

    - minimize to tray

    - other stuff, like fixes and suggestions

    installation:

    Simply unpack into MOs install folder.

    Updating from earlier versions:

    Unpack into MOs install folder, overwrite and you're good to go.

    if you already have a custom ini from before V0.0.0.6, those are the changes for manual adding:

    - comment section

    - MOTL settings, right below the comments

    A spoiler inside the configuration spoiler shows the iNi, so you can copy & paste the new entries.

    Note:

    The program can work without MO (disabling its MO support), but then looses it's main functionality it was created for.

    You'll still have the comfort of calling any program (that's configured in this programs iNi) available with a simple double click on a file, this program is associated with.

    Feel free to post bug reports, suggestions or questions.

    ©CG!

    A.P.P.S. Dev Team


    2

  3. SerialStrip

    View / Download File

    Now we are also stripping your bras and panties!

    :lol:

    Also stripping both PC and NPC!

    :lol:

    Description

    The SerialStrip plugin brings improved stripping functionality to Skyrim. No more will clothes and armor instantly disappear from the actor when he/she undresses. Instead, with SerialStrip the actor will methodically go from weapons to gloves, to helmet, to boots, to cuirass etc, removing each group of items in turn and playing appropriate stripping animations by aqqh!

    The plugin works both for vanilla and modded items. It is designed to look for the "NoStrip" keyword to avoid stripping un-strippable items and will even try to resolve multi-slot issues and slot-keyword mismatching in modded armor. Also, if the user has SexLab installed and has configured some slots as unstrippable, SerialStrip will take it into account.

    Thanks to Shinji72 who reviewed our mod you can see SerialStrip in action:

    Also thanks to MMOxReview to review our mod on his out:

    Modders can easily integrate SerialStrip into their mods: they only need to send a specific ModEvent and SerialStrip will automatically activate and strip the actor.

    :exclamation: SerialStrip is a modders' resource: on its own, it does nothing. It needs other mods to activate it, e.g. SerialStripper

    Serial Stripper

    The SerialStripper plugin is a companion plugin for SerialStrip. It can activate it, it offers an MCM menu to configure it and provides the ability to initiate player stripping on keypress! Single taps will just remove one group of clothing whereas a prolonged keypress will completely undress the player. Needless to say, it needs SerialStrip to work!

    Beta

    Beta releases include new functionality but they may also contain some bugs. Please let us know if you find any :P

    Most importantly, we are interested in getting feedback about any items you may find that don't strip properly so that we can improve on our stripping algorithm.

    Features under beta testing currently: NPC stripping support.

    Requirements

    Skyrim Sctipt Extender (SKSE)

    SkyUI

    Fores New Idles in Skyrim (FNIS)

    PapyrusUtil (This is also bundled with SexLab. So, you don't need to install it if you have SexLab.)

    Recommended Mods

    Auto Unequip Ammo : strongly recommended to allow quiver stripping too!

    SexLab : allows configuring the slots that will be stripped and offers something to do after removing those clothes!

    Updating

    Before updating, use the SerialStripper's Uninstall command from the MCM menu to uninstall both SerialStrip and SerialStripper. Then save your game, quit, remove the mods and install the new versions.

    Credits

    Coding: Antono, Heromaster

    Animations: aqqh

    Original idea: CGi, Heromaster

    German translation: CGi, Heromaster

    French translation: Narsilien80

    Extra special thanks to aqqh for his animations and all the help he provides to the APPS team in general!

    Changelog

    SerialStrip v1.1.1-beta

    - Brings functionality for stripping NPCs (only one at a time - no multithreading yet).

    v1.0.4

    - Stable.

    - Added uninstall functionality in the code. Modders can use it by calling the Uninstall() function.

    - Localized to English, German and French.

    v1.0.3-beta

    - Easier and safer update path: values and arrays are initialized on each game load.

    v1.0.2-beta

    - Improved underwear detection: now will ignore main-body keywords if they are found on underwear, thus avoiding detecting bras and panties as main-body armor.

    - Will now detect if rings are worn along with gloves and, if so, they will be removed first. Otherwise they will be removed at a later stage.

    - Fixed animations mix-up (removing panties was animating like bras and vice-versa).

    v1.0.1-beta

    - Fixed issue with animations not playing if SS was started when sneaking/jumping/sprinting etc: now SS will not kick in unless player is in default state.

    - Fixed issue where NoStrip keyword was ignored.

    - Fixed issue where unrelated items were stripping during main-body (cuirass) stripping.

    - Fixed issue where SexLab stripping configuration was not enforced.

    v1.0-beta

    Initial beta release.

    SerialStripper v1.1.1-beta

    - Makes use of SerialStrip's functionality for stripping NPCs. Just put the NPC in your crosshairs and press the button. If there's nothing under the crosshairs, the PC will strip.

    v1.0.4.2

    - Corrected French translation by Narsilien80.

    v1.0.2

    - Stable.

    - Added uninstall options in the MCM menu. The parent mod SerialStrip can also be uninstalled through there.

    - Localized to English, German and French.

    v.1.0

    - Initial beta release.


    41

  4. Favor Return Overhaul

    View / Download File

    Description

    Welcome to Favor Return Overhaul. This little mod changes some vanilla behavior to radiant quest givers. Normally, if you sell firewood, vegetables or gift a coin to a beggar you immediately are friendly with him. This mod changes this.

    Now they are not befriending you immediately. You will have to sell more firewood, more vegetables, spend more money to get their friendship.

    This mod is currently available in the following languages:

    English.jpg?dl=1_German.jpg?dl=1

    Please be aware that the new dialogue options for the beggar are only voiced in German.

    Requirements

    Needs APPS - Framework Version 1.1.5b or higher and its dependencies.

    Installation

    Just install this mod and let it overwrite all scripts. This mod has incorporated the latest USKP 2.1.0 patch. If you are using Mod Organizer, drag this mod at the end in the left pane.

    If you get the symbol that it is overwriting other files, check under conflicts which mods will be overwritten. Please report any mod, apart from the vanilla plugins and the USKP, which will be overwritten. I then can check and see if I can create a compatibility patch.

    Configuration

    When you install the mod, under SKSE\Plugins\StorageUtilData\ you'll find a FavorReturnOverhaul.json file. Open it up with an editor of your choice and edit the values of your choice.

    Quest changes

    • Chop Wood now requires you to sell more than just 1 firewood to befriend with the quest giver
    • Gather Wheat requires you to sell more than just 1 vegetable to befriend with the quest giver
    • Mine Ore requires you to sell more than just 1 ore to befriend with the quest giver
    • Quest all Beggars Have requires to spend more than 1 septim to befriend with the beggar
      • Additionally you can now spend 5 or 25 septims
      • Changed the buff duration the beggar is giving you depending how much money you have given him (25 gold would give you the vanilla buff)

      [*]Quest all Drunk Have requires you to give more than one time a mead to befriend with the drunk

      • Pay attention that the amount of mead is not counting toward the relationship, only how many times you have given him one (or more)


    0

  5. Updated the framework to version 1.1.5b. Here is a more detailed summary:

    Added function GetBaseAPI() to APPS_FW_Core

    Allows a mod to access the base API without creating a property for it or by extending APPS_FW_Registrar.

    Added function WouldGiveRP() to APPS_FW_Relationship

    This function returns how much RP would be given, when a mod wants to add a certain amount of Relationship Points. Useful for breakpoints which are between two Relationship Ranks, ie:

     

    If(CurrentRP < 150)    If(RS.WouldGiveRP(Foreman, PlayerFirewoodCount * JsonUtil.GetFloatValue("FavorReturnOverhaul", "RPPerFirewood") + RS.GetRelationshipPoints(Foreman)) >= 150)        RS.SetRelationshipPoints(Foreman, 150)    Else        RS.ModRelationshipPoints(Foreman, PlayerFirewoodCount * JsonUtil.GetFloatValue("FavorReturnOverhaul", "RPPerFirewood"))    EndIfEndIf
    Added private function _CalculateRP() to APPS_FW_Relationship

    Unless you know what you are doing, you shouldn't use this function. Only noted down for changelog documentation.

    Added interface support for common know languages

    Although all languages except German are still in English.

    0

  6. APPS - Framework

    View / Download File

    Description

    The APPS - Framework is a collection of tools and settings mainly aimed for modders while allowing players to change how mods interact with the functionality this framework is providing.

    The current release is a beta version. Although the code was tested for bugs and odd behavior, we want to encourage modders to write little test plugins which make use of the framework in order to have a larger test base and see if the code is stable enough.

    Also, we would like the users to test the interface and let us know if they are missing something which should be included in the MCM menu.

    Installation

    Just download the the main file and install it with your Mod Manager of your choice. If you want to test the functionality and want to see how to use the framework itself we recommend to download the test package as well.

    The framework requires you to have PapyrusUtil and SkyUI installed.

    Modules

    Info Manager

    For modders:

    This module allows you to make use of a more convenient way to push infos, warnings and errors from your mod through the framework. You can choose what kind of messages you want to provide and how you want to provide them.

    For players:

    For each and every mod which is redirecting messages through the framework you can set up how you want to be informed. You can just accept what the mod author has set up or change the settings to your liking.

    You are even able to completely disable logging for your game session (a game session is valid until closing the game) while in-game. So, if you want just to play and don't care about any error output you can do so. And if you change your mind you can also turn it back on, on the fly.

    Init/Uninstall Manager

    For modders:

    If your mod needs to set up some things before it can be fully activated, you can pass the framework your init quest. It will then be displayed for the player in the MCM menu in a list, together with all the other init quests from other mods. The ordering of this list can be easily changed through the menu.

    Mods' init quests will be chained and called one after another to allow for a more safe way to init your mod. You can be sure that every mod, which allows their initialization process to be handled by the framework, does not interfere with your initialization. You can also provide a tooltip to let the player know if your mod needs to be placed in a specific order.

    The more mods support this way of initializing , the less bugs will happen through this critical stage of the mod because it will be more unlikely that the Papyrus engine will skip some of the code due to technical reasons. Also, since the player can set up them in a specific order (and if the order is setup the way your mods need it) you can make sure that your mod will be installed after or before certain mods, if you require it.

    You can also provide the framework with an uninstall quest so you don't have to write an extra MCM menu just for deinstalling your mod.

    For players:

    You can change the order in which mods should be initialized. You can build an initialization chain for them or you can manually initialize them. You have control over when these mods should be initialized.

    Relationship module

    For modders:

    This module allows you to create versatile relationships and combine it with the Skyrim's internal relationship system. Or you can decide to make those working independent from each other.

    Relationship points are from -499 to 499 and represent a similar structure as the vanilla system. With this module you are able to add or subtract relationship points which are calculated against a multiplier. The default multiplier value going from 0 - 100/-100 is 1.0 while from 100 to 200/-100 to -200 is 0.5. That means if you add 100 points to an actor this would result in 100 points if the current rank is 0 and 50 points if the current rank is 1.

    You can set a sync mode between this system and the vanilla system. Values are: 0 - disabled, 1 - from RS mod to vanilla only, 2 - from vanilla to RS only, 3 - both ways. The sync mode can be set globally which will then be applied to every actor. You also can set on specific actors which does overwrite the global setting.

    For example: You set global sync mode to 0 but also set a local sync mode for Heimskr to 3. The local value wins and ignores the global value.

    You also can fine tune the relationship multipliers globally/locally. Same rules applies as above. A multiplier must be a positive float number and can be set for each rank to rank.

    All those settings are regulated by priorities. You can change the values as you like, but if your mod has not the highest priority, your changes will not be applied. The user decides, which mod he wants to have the highest priority. Your values will be saved and when the priority order changes and your mod is now on the highest priority your changes will be applied immediatly w/o needing an interaction from your mod.

    Only one mod can have the highest priority at all time. Let's say there is Mod A and Mod B. Mod A has the highest priority and changes local relationship multipliers on different actors, nothing else. Mod B changes the global relationship multiplier and a local relationship multiplier which conflicts with one of the changes of Mod A. What happens now, that the global relationship multiplier will be applied from Mod B (because Mod A hasn't set any global relationship multipliers) and all of the local relationship multipliers are applied by Mod A including the one which conflicts with Mod B.

    ----

    You can change the relationship points two ways: One way is with the function ModRelationshipPoints() which applies the multiplier and the second one is by using the function SetRelationshipPoints() which sets the relationship to to passed value w/o modifiers.

    You also can ask the framework for how many relationship points are needed for the next or previous rank.

    Those functions can be used by any mods w/o registering to the module in the first place. You only need to register your mod if you are planning to change the default settings.

    For players:

    You can set up the priority order and have the control about which mod should change the values. In the next mini releases we will work on the MCM menu, where you can see, what the mods do change exaclty and use those informations to arrange the priority order.

    Documentation

    The documenation can be seen here: https://github.com/heromaster/APPS---Framework/wiki/

    Permissions

    - You are not allowed to upload this file to other sites under any circumstances

    - You can convert this file to work with other games as long as you credit us as the creator of the file

    - You are allowed to modify our files and release bug fixes or improve on the features so long as you credit us as the original creator

    - You are allowed to use the assets in this file without permission as long as you credit us

    - You are not allowed to use assets from this file in any mods/files that are being sold, for money, on Steam Workshop or other platforms


    12