Jump to content

Recommended Posts

View 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


 

Link to comment

The framework is being released in separate modules, as soon as we build them :)

 

This release is the registration module, which includes registration functionality, initialization manager (to safely initialize multiple mods in one go), uninstall manager (to easily uninstall mods), and information manager (to configure how/where mods should display/log their warnings/errors).

 

The framework, once complete with all modules, will offer modders the tools to build multiple compatible mods with a slavery theme :)

 

I honestly cannot post anything longer than this at the moment, as I am in a hurry. Please wait until we post the full description in a short while. But, for the time being, think of this as a module mainly targeted at modders.

Link to comment
  • 2 weeks later...

Was this brought about due to your other mods?  One looks like it was a start of this and the other just stopped with one quest.  That one seemed like it was going to be interesting.  But if this works like i am understanding it will be very useful.  Hopefully stop 5 mods from trying to activate at the same time and BOOM ctd.

Link to comment

holy shit an actual relationship framework?! this opens up numerous possibilities!

 

Yep, hopefully. I'm currently restructuring the APPS mod to make use of the relationship module.

 

Was this brought about due to your other mods?  One looks like it was a start of this and the other just stopped with one quest.  That one seemed like it was going to be interesting.  But if this works like i am understanding it will be very useful.  Hopefully stop 5 mods from trying to activate at the same time and BOOM ctd.

 

Yes, if mods are going to make use of this initialization method, they can now be safely initialized.

Link to comment

APPS will be probably the first mod which makes use of the framework. Devious Traps might be another mod which will make use of the framework at some point.

 

You should not use it right now when you just want to play the game. But you can help us giving suggestion for the MCM interface. If there are some bugs or if there are some unclear tooltips and so on :)

Link to comment

I wouldn't say there are no other slavery mods. Captured Dreams Shop for example has a great BDSM storyline, there is Darkwind Isle and of course SD+. I know that skyrimll is working on improving SD+ but you have to know this: Before he was taking it over it was already a complex mod. So it will take its time to improve it and cleaning out some bugs.

 

As for APPS: I don't know. Currently I'm updating it to the newest SexLab version, adding dialogues for male characters and make use of this framework. Maybe at the end of the week I can tell more, but no promises.

Link to comment

So far the MCM menu seems  to work fine. Everything selects deselects fine. Is there any specific things you want us to test and how often?

 

Thank you for taking the time for testing it and also for posting your results! :)

 

For the time being, we're interested in looking whether the menu is working (as you have already done) and if the instructions are clearly understood. The testing quests will use more and more features of the framework to that purpose.

 

How often? Well, with each new version, if you would be so kind! :D

Link to comment
  • 1 month later...

We have almost finished writing the next module, which is the actual relationship module!

 

We've set up some test "mods" to test out how it's working and if all goes well, we'll be able to release the first version of this module. Also, there is already a later version in the drawing table which will include a feature requested by a fellow modder.

Link to comment

We have updated now the documentation. It should cover the complete functionality for the latest version (still missing examples for most of the relationship functions).

 

If we don't encounter any major bugs we are probably ready to ship the next release in the next few days. It will contain a few bug fixes as well as the updated test package.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use