Jump to content

Recommended Posts

Posted
On 3/6/2024 at 1:48 PM, snaketysnake said:

Hey there! Do I need a lovense dongle to use GIFT? 

 

Not especially.  On Linux, you can use a recent (5.1+ I think ?) bluetooth dongle, but not entirely sure about Windows.

Posted (edited)
4 hours ago, mangalo said:

 

Not especially.  On Linux, you can use a recent (5.1+ I think ?) bluetooth dongle, but not entirely sure about Windows.

After some struggling I connected a lovense hush 2 to gift. Somehow gift gui freezes while reading the papyrus.0.log in game and there are no vibrations on the toy during sex events. Afterwards I found out that I did not flag sexlab events in "configure events". I hope next time I play skyrim VR, it will work. I wish the readme was more thorough than now :(

Edited by snaketysnake
Posted
On 1/21/2024 at 2:09 PM, steamst said:

Is there a way to use it on arm computers?
Visual Studio does not yet support python on arm64.
(I run Skyrim on Windows arm in a virtual machine on my mac)

I fail when I try to install 
python.exe -m pip install dxcam

 

Strop of the error messages:

 

      Project version: 1.26.3
      WARNING: Failed to activate VS environment: Could not parse vswhere.exe output

      ..\..\meson.build:1:0: ERROR: Unknown compiler(s): [['icl'], ['cl'], ['cc'], ['gcc'], ['clang'], ['clang-cl'], ['pgcc']]
      The following exception(s) were encountered:
      Running `icl ""` gave "[WinError 2] File not found"
      Running `cl /?` gave "[WinError 2] File not found"
      Running `cc --version` gave "[WinError 2] File not found"
      Running `gcc --version` gave "[WinError 2] File not found"
      Running `clang --version` gave "[WinError 2] File not found"
      Running `clang-cl /?` gave "[WinError 2] File not found"
      Running `pgcc --version` gave "[WinError 2] File not found"

Visual Studio is installed, but not the python workload, as it does not exist.

 

Hi @steamst,

 

This error stems from GIFT's reliance on the dxcam package for its screen reading interface, which doesn't appear to work properly in a virtual machine (or under ARM, I can't tell).

 

Luckily, if you're only trying to use GIFT with Skyrim, you don't need dxcam at all, since GIFT reads Skyrim's papyrus log to detect in-game actions instead. I've released a patched, untested version of GIFT without dxcam support. See if it works for you:

 

https://github.com/inertaert/GameInterfaceForToys/releases/tag/1.4.4-dxcam-workaround

 

Best of luck!

 

(Disclaimer: I am @inertaert on GitHub, a contributor to the GameInterfaceForToys project and partially responsible for the DG-LAB Coyote E-stim integration.)

 

 

Posted
On 2/27/2024 at 7:42 PM, PergidaSans said:

I can't GIFT to start at all.

 

The window launches and closes a split second after.

 

I've tried installing latest Python version, the one linked and uninstalling all of them.

 

I couldn't find another answer in this thread. Am i doing something wrong?

 

 

Hi @PergidaSans,

 

if you've downloaded GameInterfaceForToys as an executable (exe) and it crashes immediately, you can instead try downloading the the project's source code and running it directly from the Windows Command Prompt (cmd.exe) instead. If nothing else, this will keep a terminal window open and let you see what kind of error you're dealing with.

 

Note: GameInterfaceForToys is written in Python, so you need to have Python installed for this.

 

1. Head to the releases page for GameInterfaceForToys on GitHub: https://github.com/MinLL/GameInterfaceForToys/releases

2. Download the Source Code (zip) from the latest release and extract the contents of the zip archive somewhere on your harddisk.

3. Run cmd.exe and cd/change directory to the folder containing the file GameInterfaceForToys.py.

4. Run the following commands:

 

# Create a local virtual environment for the project's required dependencies (this is currently best practice for package management in Python)
python -m venv venv

# Activate the virtual environment
venv\Scripts\activate.bat

# Install the project's dependencies as outlined in requirements.txt
pip install -r requirements.txt

# Run GIFT in the python interpreter
python GameInterfaceForToys.py

 

 

Copy/paste the error log from the terminal here and we'll figure out what's wrong.

 

Cheers.

 

Posted (edited)
On 11/20/2023 at 5:22 AM, Noe Wan said:

Hey everyone,

 

I've been trying to get this to work with FO4.  I'm using Lovense and using their software.  GIFT seems to be configured properly.  I can test and my various Lovense toys will vibrate.  However, nothing seems to respond in FO4, there's no vibrations for any event.  I've set all the events to enable.  I'm not sure if it might be a mod issue, or if I've overlooked something.  It's been several years since I last set up mods for either Skyrim or FO4.  I started with a fresh install of FO4 and fresh downloads of mods which I installed with Mod Organizer 2.

 

Character's name is Eirwen Zeimer.  Here is a portion of the output surrounding a sex scene:

 

...

 

Hi @Noe Wan,

 

Sorry for the late reply.

 

I've reviewed your log, and one thing does stand out. GameInterfaceForToys seems to only register when an AAF sex scene ends, but not when it begins. So your vibrator never receives the signal to start vibrating. This is obvious from log excerpts like this one:

 

[11/19/2023 - 08:02:36PM] BDH-INFO - OnAnimationStart||[bdh:bdh_animationlib <BDH_LibQuest (3D01E7C1)>]
[11/19/2023 - 08:02:55PM] Rogg DDManager: OnMCMOpen()
[11/19/2023 - 08:02:55PM] Rogg DDManager: MCM_PrepareAllowed() - start: _i = -1
[11/19/2023 - 08:03:00PM] Rogg DDManager: MCM_PrepareAllowed() - ready
[11/19/2023 - 08:03:22PM] BDH-INFO - OnAnimationStop||[bdh:bdh_animationlib <BDH_LibQuest (3D01E7C1)>]
[GameInterfaceForToys] Sex_end
[GameInterfaceForToys] Toy Vibrate - stop
[GameInterfaceForToys] Sending vibrate command
[GameInterfaceForToys] [+]   {'code': 200, 'type': 'OK'}

 

GameInterfaceForToys sees the line BDH-INFO - OnAnimationStop and triggers the "sex_end" function, telling your vibrator to stop vibrating when a sex scene is over, but there is no corresponding "sex_start" function called by GameInterfaceForToys telling your vibrator to start when a sex scene is announced with the corresponding line BDH-INFO OnAnimationStart.

 

We can see why, if we review the search strings (regex, or regular expressions) relating to AAF that GameInterfaceForToys looks for in the Fallout 4 log:

 

# aaf.yaml
- Sex Start:
    regex: ".+DD: Player in AAF animation.*"
    function: sex_start_simple
    group: default
    toy_class: vibrator
- Sex End:
    regex: .+BDH-INFO - OnAnimationStop.*
    function: sex_end
    toy_class: vibrator

https://github.com/MinLL/GameInterfaceForToys/blob/master/data/events/games/fallout4/aaf.yaml

 

In short, GameInterfaceForToys does not recognize the string as a trigger to start vibrations, because it looks for the string DD: Player in AAF animation instead of BDH-INFO OnAnimationStart.

 

I don't own Fallout 4 and have no experience with AAF, so I can only guess as to why @Min wrote the regex this way. Maybe it is to avoid players from being vibrated when NPCs have scenes with each other? #feature-not-a-bug? ;)

 

In any case, I believe the issue can be temporarily fixed/worked around by replacing, in the file mentioned above, the line

 

regex: ".+DD: Player in AAF animation.*"

 

with

 

regex: .+BDH-INFO - OnAnimationStart.*

 

 

Here's a patched version of GameInterfaceForToys with the change:

 

https://github.com/inertaert/GameInterfaceForToys/releases/tag/1.4.4-aaf-workaround

 

It's a work-around and we probably should fix the issue properly, but let me know if it works for you or at least breaks in interesting ways.

 

Best regards.

 

Edited by MongooseFront
Posted (edited)

I am struggling with running GIFT on Skyrim VR.

 

When skyrim is not running, GIFT works perfect: the toy receives vibrations at etc. But when Skyrim is running and GIFT starts reading logs, the GIFT GUI freezes and refuses to transfer vibrations. I can't even access the app.

 

Should I try building app via cmd?

 

upd: I use version 1.4.3 from github with gui. 

 

Upd2: IT WORKS! If anyone struggles with freezing app, just increase window update frequency from 0.01 to 0.1. 

Edited by snaketysnake
  • 2 weeks later...
Posted
On 3/8/2024 at 4:29 PM, MongooseFront said:

 

We can see why, if we review the search strings (regex, or regular expressions) relating to AAF that GameInterfaceForToys looks for in the Fallout 4 log:

 

# aaf.yaml
- Sex Start:
    regex: ".+DD: Player in AAF animation.*"
    function: sex_start_simple
    group: default
    toy_class: vibrator
- Sex End:
    regex: .+BDH-INFO - OnAnimationStop.*
    function: sex_end
    toy_class: vibrator

https://github.com/MinLL/GameInterfaceForToys/blob/master/data/events/games/fallout4/aaf.yaml

 

In short, GameInterfaceForToys does not recognize the string as a trigger to start vibrations, because it looks for the string DD: Player in AAF animation instead of BDH-INFO OnAnimationStart.

 

I don't own Fallout 4 and have no experience with AAF, so I can only guess as to why @Min wrote the regex this way. Maybe it is to avoid players from being vibrated when NPCs have scenes with each other? #feature-not-a-bug? ;)

 

In any case, I believe the issue can be temporarily fixed/worked around by replacing, in the file mentioned above, the line

 

regex: ".+DD: Player in AAF animation.*"

 

with

 

regex: .+BDH-INFO - OnAnimationStart.*

 

 

 



This worked for me for FO4. Thank you.

  • 1 month later...
Posted
C:\Users\julius\Skyrim\GIFT\GameInterfaceForToys-1.4.4># Create a local virtual environment for the project's required dependencies (this is currently best practice for package management in Python)
'#' is not recognized as an internal or external command,
operable program or batch file.

C:\Users\julius\Skyrim\GIFT\GameInterfaceForToys-1.4.4>python -m venv venv
Python was not found; run without arguments to install from the Microsoft Store, or disable this shortcut from Settings > Manage App Execution Aliases.

C:\Users\julius\Skyrim\GIFT\GameInterfaceForToys-1.4.4>
C:\Users\julius\Skyrim\GIFT\GameInterfaceForToys-1.4.4># Activate the virtual environment
'#' is not recognized as an internal or external command,
operable program or batch file.

C:\Users\julius\Skyrim\GIFT\GameInterfaceForToys-1.4.4>venv\Scripts\activate.bat
The system cannot find the path specified.

C:\Users\julius\Skyrim\GIFT\GameInterfaceForToys-1.4.4>
C:\Users\julius\Skyrim\GIFT\GameInterfaceForToys-1.4.4># Install the project's dependencies as outlined in requirements.txt
'#' is not recognized as an internal or external command,
operable program or batch file.

C:\Users\julius\Skyrim\GIFT\GameInterfaceForToys-1.4.4>pip install -r requirements.txt
'pip' is not recognized as an internal or external command,
operable program or batch file.

C:\Users\julius\Skyrim\GIFT\GameInterfaceForToys-1.4.4>
C:\Users\julius\Skyrim\GIFT\GameInterfaceForToys-1.4.4># Run GIFT in the python interpreter
'#' is not recognized as an internal or external command,
operable program or batch file.

C:\Users\julius\Skyrim\GIFT\GameInterfaceForToys-1.4.4>python GameInterfaceForToys.py

 

@MongooseFront Ok so i followed your instructions (or tried to). I hope this is useful.

 

I tried reinstalling python because i read the error and tested again, but this is the result after 2 attempts ^.

 

Posted

Does this somehow work natively with say Solace in terms of strokes?  Or would that have to be timed somehow to the animation?

  • 3 weeks later...
Posted

for some reason my DD is putting an extra white space in "[06/09/2024 - 04:32:13AM] [Zad]: EndThirdPersonAnimation( Anna,False)" right before my name and its prevent the toy to stop. 

StopThirdPersonAnimation on the other hand is perfectly fine. anyone hase any solutions to this?

the python code seems pretty complex for me to figure out.

Posted (edited)

btw the program is writen extremly well the orgnization and everything is perfet. stupid DD has one extra space in it fucking everything up 😞

Edited by anastasa1
Posted (edited)

There also seems to be a bug with GIFT not stopping the vibrations. This happens with the GIFT On Hit settings. It registers the hit happening and activates the toy, but it doesn't stop it, it just continues to vibrate indefinitely.  From the log it seems like it reads and detects the device, sends the command, it goes through, but it gives an error- : Result False Code 500 "message". "cannot read property "min" of null".

 

Found out it happens only while using the dongle. When connected to the phone app everything works great!

Edited by adama001
  • 4 weeks later...
Posted
On 6/9/2024 at 9:34 AM, anastasa1 said:

for some reason my DD is putting an extra white space in "[06/09/2024 - 04:32:13AM] [Zad]: EndThirdPersonAnimation( Anna,False)" right before my name and its prevent the toy to stop. 

StopThirdPersonAnimation on the other hand is perfectly fine. anyone hase any solutions to this?

the python code seems pretty complex for me to figure out.

 

Edit the file data\events\games\skyrim\deviousdevices.yml

 

Change the DD End Third Person Animation regex to the following:

regex: .*EndThirdPersonAnimation\([ ]{0,1}{GIFT_ACTOR_NAME}.+

Posted (edited)
On 5/18/2024 at 4:17 PM, PergidaSans said:

@MongooseFront Ok so i followed your instructions (or tried to). I hope this is useful.

 

I tried reinstalling python because i read the error and tested again, but this is the result after 2 attempts ^.

 

 

Hey again,

 

yeah it looks like Python hasn't been installed properly. Or, at least, the terminal can't find the python executable. When installing python, did you check the "add python.exe to PATH" checkbox?

 

 

python_path.webp.ab7f26432472a1f6f1f6e6c0b440c8a6.webp

 

Regards.

Edited by MongooseFront
  • 4 weeks later...
Posted (edited)

can't get GIFT to do anything at all, because i can't configure it. It gives this error when i click SAVE from the settings window.

image.png.56c5ce95fbd3014417e8c97e8a1eea60.png

I tried editing the YAML directly but theres nothing in there to define which "Supported Toys" to use...

GIFT 1.4.4, don't evenk know what a Coyote, just hoping to connect to Lovense app on my phone

edit:
okay running the python script via terminal it at least saves the file...

but then on reboot gives this error, failling to connect:

 

PermissionError: [WinError 10013] An attempt was made to access a socket in a way forbidden by its access permissions

 

What permissions does it need and how to give? Neither windows firewall entries or admin privileges work...
Also its now in a 31 day free trial??

Edited by eicosa
Posted (edited)

 

Heya @eicosa,

 

Alright, let's look at this. You're attempting to connect GIFT to a lovense toy, yes? Well first of all, as far as I know, GIFT doesn't speak to the lovense app, it speaks directly to the toy via a Bluetooth connection. (edit: I am wrong about this.)

 

Second, Coyote is a particular e-stim (electro stimulation) device that GIFT sort-of supports. If you don't use a Coyote, then the script/config file shouldn't have anything setting enabled that has to do with the Coyote, as it might lead GIFT into thinking that it is supposed to connect to a device that isn't there.

 

Third, regarding this:

 

On 7/30/2024 at 6:58 AM, eicosa said:


Also its now in a 31 day free trial??

 

GIFT is not trial-ware! It is open source and will always be free. But the project depends on an open source library (PySimpleGUI) which earlier this year rug-pulled its users and started charging money for its use. That's why unrelated projects like GIFT suddenly has an intrusive pop-up asking users to pay.

 

I have urged @Min to migrate the project to another library (see here https://github.com/MinLL/GameInterfaceForToys/issues/22 ), but I haven't been able to reach Min for months, so the issue remains unresolved.

 

(If you're familiar with pulling code from GitHub and installing/running python environments, then you can use the forked, trial-ware free version here, until Min updates the main project.)

 

Best regards.

Edited by MongooseFront
GIFT actually uses lovense's app and/or dongle.
Posted (edited)

@MongooseFront i have the same error as eicosa, on a clean install, , seems no matter what i tick/untick in the config the result is always that same error happens, im not trying to connect dg lab, just my controller,

Edited by peperoach
Posted
On 8/10/2024 at 11:05 PM, peperoach said:

@MongooseFront i have the same error as eicosa, on a clean install, , seems no matter what i tick/untick in the config the result is always that same error happens, im not trying to connect dg lab, just my controller,

Same issue for me, cant make it work with xbox controller

Posted (edited)

Hi, I'm trying to make this works, but I seem unable to get past the setting step

On a fresh install, I go inside Settings, I check XToys inside supported toys, then Save.

GIFT instantly crash and from now on crash immediately on start up. I still managed to screenshot the console on it's 0.5s showing time.

 

Need some help please.

image.png

Edited by Mahosys
Posted

 

On 7/30/2024 at 6:58 AM, eicosa said:

PermissionError: [WinError 10013] An attempt was made to access a socket in a way forbidden by its access permissions

 

What permissions does it need and how to give? Neither windows firewall entries or admin privileges work...
 

 

 

Alright, with regards to this. This appears to be a networking issue on your PC. GameInterfaceForToys is trying to open a port on your local machine which is either a) between 0-1024 and thus a privileged, well-known system port, b) already in use by another process (or GIFT itself, if it didn't close properly last time!), or c) blocked by a local firewall.

 

GIFT opens different ports depending on which toy is loaded. Looking at settings.py, for instance, shows three potential culprits (12345, 20010, and 80):

 

 

BUTTPLUG_SERVER_ADDRESS = "ws://127.0.0.1:12345"  # Whatever Intiface Central says your Server Address is
LOVENSE_HOST = "127.0.0.1:20010"
MAUSTEC_HOST = "ws://192.168.0.230:80"

 

 

Since you're connecting to Lovense on your phone, it's probably the port 20010, or whichever port you've put in in the configuration menu.

 

One way to find out is to scan your PC for currently open ports and see if the port in question is already open by some other process:

 

netstat -na | findstr 20010

 

I'm just guessing here, obviously. If you can provide exactly which port is the issue, we can narrow down the problem.

 

Best regards.

 

Posted (edited)
On 8/10/2024 at 10:05 PM, peperoach said:

@MongooseFront i have the same error as eicosa, on a clean install, , seems no matter what i tick/untick in the config the result is always that same error happens, im not trying to connect dg lab, just my controller,

 

@BallsOfTheSoul, @peperoach, @jariabila,

 

Update: Fixed in GIFT version 1.4.4-2 . It has GameInterfaceForToys.exe, but is based on the working August 2023 version of 1.4.4 and doesn't throw the KeyError: "DG-Lab Coyote" exception.

 

 

Original comment:

 

Yeah, it seems like the current release with the GameInterfaceForToys.exe executable ("GIFT-1.4.4.zip") is based on a broken build.

 

The latest release version is 1.4.4 from August 2023, but the executable version seems newer, having been released in late July 2024. This executable version no longer supports DG-Labs Coyote natively, while the older python "Source code" version still does:

 

Screenshot2024-08-17at16-09-38ReleaseGIFT1.4.4MinLL_GameInterfaceForToys.webp.dcc9667fac16c7e776f8e2d2f694d79c.webp

 

 

This might be reason why users are getting KeyError errors when running the executable: The settings menu is trying to configure a device that has been ripped out of the codebase. If you instead run GameInterfaceForToys.py in a python environment, which is based on an older version of the code, then it runs fine.

 

I can't reach @Min, so I can't tell what's going on. Maybe the Github Actions workflow is broken.

 

However, although the executable is not working, you can still download the original source code (zip) version directly and following the instructions for running the project in Python instead.

 

Best regards.

Edited by MongooseFront
Added fixed version
Posted (edited)
On 8/13/2024 at 7:37 PM, Mahosys said:

Hi, I'm trying to make this works, but I seem unable to get past the setting step

On a fresh install, I go inside Settings, I check XToys inside supported toys, then Save.

GIFT instantly crash and from now on crash immediately on start up. I still managed to screenshot the console on it's 0.5s showing time.

 

Need some help please.

 

 

@Mahosys,

 

Sorry about that! The script was missing a crucial dependency needed to connect with XToys. It should be fixed now.

 

Download GIFT v. 1.4.4-2 here.

 

Let me know if it works for you.

 

Cheers.

 

 

Edited by MongooseFront

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...