Jump to content

Recommended Posts

GIFT: Game Interface For Toys (Skyrim LE + SE + AE + VR | Fallout 4)

View File

Summary

 

This mod (GIFT) provides a gateway between supported games and various toys / devices that you might own IRL. Various events in-game trigger responses such as vibrations / shocks, or manipulating the user's lock on Chaster (if enabled).

 

This mod is very light-weight, and will not lag your game at all. This mod runs in the background and reads the Papyrus log that the game writes, and reacts to it.

 

View the README here for up-to-date documentation: https://github.com/MinLL/GameInterfaceForToys

 

Currently Supported Games

  • Skyrim (LE + SE + AE + VR).
    • SexLab
    • Devious Devices
    • Toys & Love
    • Sexlab Defeat
    • Naked Defeat
  • Fallout 4
    • AAF
    • AAF Violate
    • Devious Devices
    • Boston Devious Helper
  • Mount and Blade: BannerLord
    • Captive Events
    • TBCaptivity
    • BC Captor

 

 

Supported Toys

  • Lovense
  • Kizuna
  • Buttplug.io (Many different toy types)
  • Chaster (Chastity Integration)
  • DG-Lab Coyote (E-Stim)

 

 

 

Overview

Hey Folks! Decided to play a bit of Skyrim for the first time in years. Naturally, I wanted to include some of my new purchases in this gameplay. I've written a script to allow for Sex Toys (like Lovense) to react to events that happen in Skyrim. Currently the script responds to Devious Device vibration events, and SexLab scenes, as well as various world events (Such as being hit in combat). Open to more ideas for things to trigger them. This should work with any of Lovense's toys, though some may require additional scripting to fully take advantage of their features. This approach can also be expanded for other toys, assuming they expose a friendly API.

 

The mod plays different patterns in response to different events; For example, being hit with an arrow feels different than being hit by an axe. Anal feels different than Oral, etc.

 

As opposed to earlier versions, the current version of this mod does not require you to install Python, or any dependencies. Just download the mod, and run the executable. The source for this mod (And the latest version) is hosted on Github here.

 

This script does not currently directly with the Skyrim process at all. This script runs in the background parsing the Papyrus log that Skyrim generates, and reacts to patterns that occur within the log. No script load, no chance of crashes. I have recently added a small plugin to the mod which watches for in-game events, and writes entries to the log. Extremely light-weight, low load.

 

This script also supports Chaster! The current implementation requires a developer token (You can apply for this on Chaster). If others use this feature, I'll eventually add oauth support. This script can:

* Add time to a lock.

* Assign a task to the user of the lock (Task Extension)

* Roll the dice (Dice Extension)

* Spin the wheel of fortune (Wheel of fortune extension).

 

 

 

Features

Watches the log looking for in-game events such as DD vibrations and SexLab scenes. On finding either, sends a command to the toy to start a vibration. For SexLab scenes, stops the vibration when the scene is over. Varies the strength and pattern of the vibration depending on the source of the event.

If using Chaster, spins the wheel when your character is knocked down via Defeat. When the whole party is defeated, adds a configurable amount of time to your lock. If using e-stim, applies a mild shock when hit, scaling in intensity as more damage is taken.

 

Also watches the log for stack dumps, and immersively notifies you when these occur. These happen very rarely in my setup, but I always reload if they do.

 

 

 

Installation

View the full instructions and the project's documentation, here: https://github.com/MinLL/GameInterfaceForToys

 

 

Future Plans

Hmmm. More better?

 

 

 

Credits

Sirah - Buttplug.io and Kizuna implementations, and general contributions!

Polite_Paddemelon - DG-Lab support!

Zoollcar - XBox Controller and Winsound support!


  • Submitter
    Min
  • Submitted
    06/06/2022
  • Category
  • Requires
  • Regular Edition Compatible
    Yes

 

Edited by Min
Link to comment
35 minutes ago, VirginMarie said:

shush

Nothing stopping us from adding Toys support, either. Just share the log messages that show the toys activating / any other triggers, and I'll add support for it.

Edited by Min
Clarifying my sentence
Link to comment
5 minutes ago, Min said:

Nothing stopping us from adding Toys support, either. Just share the log messages with them, and I'll add support.

 

Toys&Love already has built in support... How to make Toys vibrate Real Life Accessories

 

Very different method from what you are doing. There's pros and cons... the main con being that the T&L implementation is not Universal like yours might become.

  • T&L has built in shake controller, with some MCM options, for things like pulsate, orgasm/squirting, and other events. Anytime you see camera shaking, or PC stagger, then T&L also shakes the controller with strength setting in the MCM
  • XInput compatible controllers (XBox etc) vibrate and buttplug supported IRL toys can take the place of the controller, so this means it's most IRL toys since Buttplug supports most
  • This covers the Toys&Love Love Scenes, and also SL scenes if you have SL, since Toys adds squirting to SL scenes

Now that said, if your solution is going to be far more universal, covering DD and beyond, it might still make good sense to include Toys&Love, as I don't think a user would want both solutions running at the same time.

 

What do you think? Still want to support Toys&Love? 

Link to comment
9 minutes ago, VirginMarie said:

 

Toys&Love already has built in support... How to make Toys vibrate Real Life Accessories

 

Very different method from what you are doing. There's pros and cons... the main con being that the T&L implementation is not Universal like yours might become.

  • T&L has built in shake controller, with some MCM options, for things like pulsate, orgasm/squirting, and other events. Anytime you see camera shaking, or PC stagger, then T&L also shakes the controller with strength setting in the MCM
  • XInput compatible controllers (XBox etc) vibrate and buttplug supported IRL toys can take the place of the controller, so this means it's most IRL toys since Buttplug supports most
  • This covers the Toys&Love Love Scenes, and also SL scenes if you have SL, since Toys adds squirting to SL scenes

Now that said, if your solution is going to be far more universal, covering DD and beyond, it might still make good sense to include Toys&Love, as I don't think a user would want both solutions running at the same time.

 

What do you think? Still want to support Toys&Love? 

Neat, cool to see people already doing this. Yeah! I'll add support for Toys&Love. I tried Toys out while getting this current playthrough going (Looks like you've since expanded to a full kit replacing SexLab too?), but didn't enjoy the themes in the exclusive content mods that exist for it as much as the exclusive mods in the DD space. I actually ran both in the same load-order for a while and it worked fine (Though this was just Toys, not Toys&Love).

 

While I'd love to see everyone use common frameworks so that everyone can use everything, I'm happy to see people still pursuing our shared interests on this game, even if it's with a different framework. :)

Link to comment
29 minutes ago, Min said:

Looks like you've since expanded to a full kit replacing SexLab too?

 

Yes. I was insane to do this but it's done. Orgies come next (multi-scene at same time).

 

29 minutes ago, Min said:

Neat, cool to see people already doing this. Yeah! I'll add support for Toys&Love. 

 

Ok that would be great. I think to make it cleaner for both of us, I should cause each Controller shake, to write a unique line to the log. It could be "[Toys] Controller Shake". Then that's all you look for. If I shake it 3 times, you'd get 3 lines.

 

This would mean its there in next release, but that won't be long... next release is planned for some day in June.

 

Yes there's likely log lines already for almost every case, but this changes depending on the verbose-ness setting in the MCM, and will be a pain in the ass to decipher for both of us.

 

So you can expect [Toys] Controller Shake in next release. It will be there as "critical" meaning user can't turn it off by accident. I will also turn it off if the user turns off the existing feature in the MCM. Sound good?

 

Edited by VirginMarie
Link to comment
16 minutes ago, VirginMarie said:

So you can expect [Toys] Controller Shake in next release. It will be there as "critical" meaning user can't turn it off by accident. I will also turn it off if the user turns off the existing feature in the MCM. Sound good?

Sounds great to me.

Link to comment
1 hour ago, Min said:

Oh! @VirginMarie If you could include the duration you want it to go for, and the strength (0-100 scale), that would be great.

 

ok the format is...

[*TOYS] ControllerShake / Left or Right rumble motor for controllers / Strength (0-100) / Seconds. This is what's already there just formatted for the log.

 

[*TOYS] ControllerShake Right, 90, 1.9

 

I'd imagine you might not use right/left but might as well have it there incase its a future thing.

Sample from an innocent virgin Orgy....

 

image.png

 

The release is later this month and it will be proceeded by a release candidate on our discord.

Link to comment
5 minutes ago, VirginMarie said:

 

The release is later this month and it will be proceeded by a release candidate on our discord.

 

Cool, I just added support to my local copy. Next time I upload a new version it will contain that change.

Link to comment

I do like the extra immersion by being able to attach things like Lovesence to the game. Now using Butthesda but it can be a bit picky.

There is also a project on LL 'SKStim' that adds support for E-stim devices. It's quite a hand full if you get zapped and brrrd in real life ;)

 

And also welcome back.

Link to comment
1 hour ago, naaitsab said:

I do like the extra immersion by being able to attach things like Lovesence to the game. Now using Butthesda but it can be a bit picky.

There is also a project on LL 'SKStim' that adds support for E-stim devices. It's quite a hand full if you get zapped and brrrd in real life ;)

 

And also welcome back.

 

Thanks. Neat, cool to see other people's approaches to the problem. I've got some plans for this one to customize / spice up my current playthrough further.

 

And, thanks. Been a long time! How have things been in these parts?

Link to comment
8 hours ago, Min said:

 

Thanks. Neat, cool to see other people's approaches to the problem. I've got some plans for this one to customize / spice up my current playthrough further.

 

And, thanks. Been a long time! How have things been in these parts?

Don't know if you have a E-Stim box yourself? If would be nice if it can be combined into 1 program. Running Butthesda and SKStim together is a bit difficult on the engine. 

 

There have been many community efforts made to add things and idea's to DD. As it was before it's a coming and going of contributors. But I'm glad to see the spirit still lives on. I would like there to be more quest/story DD mods but those are running a bit on a low pace for about a year now.

There is an open beta thread where new stuff, fixes and idea's are shared. I tried to modify your device hider script for a specific usecase as catsuits now play nice with corsets. but had not had much success with it. Bit over my head :P 

Link to comment
4 hours ago, naaitsab said:

Don't know if you have a E-Stim box yourself? If would be nice if it can be combined into 1 program. Running Butthesda and SKStim together is a bit difficult on the engine. 

 

There have been many community efforts made to add things and idea's to DD. As it was before it's a coming and going of contributors. But I'm glad to see the spirit still lives on. I would like there to be more quest/story DD mods but those are running a bit on a low pace for about a year now.

There is an open beta thread where new stuff, fixes and idea's are shared. I tried to modify your device hider script for a specific usecase as catsuits now play nice with corsets. but had not had much success with it. Bit over my head :P 

 

I actually just ordered one a few days ago. I'll be looking to add support when mine arrives. What type do you have / recommend?

 

I am also planning on adding Chaster integration - Add triggers (Like getting defeated) for adding time to an ongoing lock, assigning tasks, or otherwise interacting with it.

Link to comment
1 minute ago, Min said:

 

I actually just ordered one a few days ago. I'll be looking to add support when mine arrives. What type do you have / recommend?

 

I am also planning on adding Chaster integration - Add triggers (Like getting defeated) for adding time to an ongoing lock, assigning tasks, or otherwise interacting with it.

If you can source one or are good with soldering I can highly recommend the MK312-BT project which is a ET312 resurrection project. I also have a Estim 2B but that is collecting dust ever since I got the 312. It's miles better in every way. Well except portability. Also has wifi capability or bluetooth if you flash the ESP32 that way. The 2B has no built in connection. I can set you up with a reliable contact for 1, from the EU. Drop me a PM if interested.

 

It could also link into Emlalock. As it's "just" a call from the python script. Same goes for the E-stim option. Don't know if you can make python play sounds on a specific audio interface? I have my game on output X (Windows) and Estim on output Y so the game does not interfere with the stimming. I guess all users do it that way. Otherwise you get a bad time if a game gui sound or windows thing blasts trough it :P  Think it will need a gui for that to work a bit smoother, also for things like yes/no on specific events and Intiface port.

Link to comment
2 hours ago, naaitsab said:

If you can source one or are good with soldering I can highly recommend the MK312-BT project which is a ET312 resurrection project. I also have a Estim 2B but that is collecting dust ever since I got the 312. It's miles better in every way. Well except portability. Also has wifi capability or bluetooth if you flash the ESP32 that way. The 2B has no built in connection. I can set you up with a reliable contact for 1, from the EU. Drop me a PM if interested.

 

It could also link into Emlalock. As it's "just" a call from the python script. Same goes for the E-stim option. Don't know if you can make python play sounds on a specific audio interface? I have my game on output X (Windows) and Estim on output Y so the game does not interfere with the stimming. I guess all users do it that way. Otherwise you get a bad time if a game gui sound or windows thing blasts trough it :P  Think it will need a gui for that to work a bit smoother, also for things like yes/no on specific events and Intiface port.

I might hit you up on that if mine doesn't work out well. 

Yeah, I'm sure that I can play sounds on a specific interface through Python. And yeah, I might add a simple gui to it. Or, I might just do a curses based ui. I'll probably do that, easier. Playing with Requiem (Never played this style before) + adding feedback like this has breathed fresh life into this game for me, so I'm motivated to improve this little project a fair bit.

Link to comment
16 hours ago, Min said:

I might hit you up on that if mine doesn't work out well. 

Yeah, I'm sure that I can play sounds on a specific interface through Python. And yeah, I might add a simple gui to it. Or, I might just do a curses based ui. I'll probably do that, easier. Playing with Requiem (Never played this style before) + adding feedback like this has breathed fresh life into this game for me, so I'm motivated to improve this little project a fair bit.

It depends on your needs and your current device how far you can get with it. Most basic boxes have quite limited built-in patterns and most are not powerful enough to properly power a normal sized stainless plug (wayyy better than silicone stuff for estim).

 

It seems you can indeed use a specific device using this parameter

https://python-sounddevice.readthedocs.io/en/latest/usage.html#device-selection

Link to comment

New version is up:

  • Added Chaster support to the application. Currently has two defeat triggers, more to be added as I think of them. Two extensions that I added support for (But have not written triggers for yet) are rolling the dice, and assigning tasks. Open for ideas on how to utilize these!
  • Added Toys&Love support.
  • Made SexLab vibration trigger only fire when player is involved in scene.
Link to comment
15 hours ago, bondageloverxxx69 said:

Is it possible to add QiUi support in some way? I'm not sure it would be possible as I think the app is only on phone, but would be cool if you could find a bridge or something.

 

Edit: Perhaps through an android emulator?

Hmm. I don't think the phone is the problem, the phone app just communicates with Qiui's servers via an API it looks like. Just need to know the API that Qiui uses. I don't have a Qiui device though, so it would be difficult to figure out the endpoints / test this.

 

10 hours ago, MuhnMuh said:

Testing this sometime this week.

Could we possibly get an in detail process of how fully install this?

Can't see where i would add the .py file,

 

.py files are Python scripts. They're little programs that require an interpreter to run. You'll need to download and install the python interpreter (Direct link to download Here). Run the installer, and:

1) Click "Customize Installation"

2) Make sure to check the "py launcher" checkbox under Optional Features.

3) Check the "Associate files with Python" checkbox under Advanced Options.

4) Check the "Install for all users" checkbox under Advanced Options.

 

Before running the script, make sure that:

1) The Lovense Remote software is running on your PC.

2) Your PC has the adapter to communicate with your toys plugged in.

3) Verify that the Lovense software can successfully control whatever toys you intend to use.

 

After installing, you would do something like this:

1) Move the file you downloaded to your home directory (C:\Users\<username>)

2) Open up a command prompt (Hit windows key + R), type "cmd".

3) Navigate to your home directory via this command: "cd C:\Users\<username>")

4) Run this command: "python SkyrimToyInterface-<Version>.py"

 

If you receive this error upon running the script:

ModuleNotFoundError: No module named 'requests'

Run this command: "python -m pip install requests".

 

The script will  produce output like this, and continuously print / react to the Papyrus log:

[SkyrimToyInterface] [i] Vibrate - stop
[SkyrimToyInterface] [+]   {'code': 200, 'type': 'OK'}

 

 

I do recognize that this isn't a very user friendly implementation; I'm busy this weekend, but I can spend some time bundling this into an Executable that people can just double click / run next week if people are interested.

Edited by Min
Added output text
Link to comment
14 hours ago, Min said:

Hmm. I don't think the phone is the problem, the phone app just communicates with Qiui's servers via an API it looks like. Just need to know the API that Qiui uses. I don't have a Qiui device though, so it would be difficult to figure out the endpoints / test this.

 

I have two Qiui devices coming later this month. If you can walk me through the how of figuring it out, then I would be happy to provide the information you need.

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