Jump to content

Recommended Posts

On 4/22/2021 at 7:59 PM, arkinian said:

Thanks for posting the code for this in an accessible place. I spent a little time getting up and rolling (and connecting an Arduino over a serial port to see what was possible. There's really a lot of potential here and since I'm already deep into this I thought it might be worth sharing a bit of my process.

 


//EventFileScanner.cs
									case "vibrate effect start":
										System.Diagnostics.Debug.WriteLine("---PRIORITY---");
										System.Diagnostics.Debug.WriteLine("Devious Device vibrate START" + (float)json.Property("arg"));
										System.Diagnostics.Debug.WriteLine("---ENDPRIORITY---");
										float arg = (float)json.Property("arg");
										RunVibrationEventFunScript(json, LookupEventName(arg));
										Notification_Message?.Invoke(this, new StringArg("Deviouse Device vibrate " + arg));
										break;
									case "vibrate effect stop":
										System.Diagnostics.Debug.WriteLine("---PRIORITY---");
										System.Diagnostics.Debug.WriteLine("Devious Device vibrate STOP" + (float)json.Property("arg"));
										System.Diagnostics.Debug.WriteLine("---ENDPRIORITY---");
										StopVibrationEvent();
										Notification_Message?.Invoke(this, new StringArg("Deviouse Device vibrate stop " + (float)json.Property("arg")));
										break;

 

I looked into the DD events for vibration and it looks like the work is 90% of the way.  Using this information I mapped the possible combinations (there are collisions) so that you can lookup what event to play:

 


/// <summary>
		/// This is loosely based on the logic in DD which makes very little sense. We should try
		/// to patch it to add the argument.
		/// </summary>
		/// <param name="value">float level</param>
		/// <returns></returns>
		public static string LookupEventName(float value)
		{
			//try known values to be more precise...
			string key = value.ToString("0.00");
			int result = -1;
			//If we have it in the dictionary of known "non-collisions" we can accurately guess the value
			if (VIBRATION_LOOKUP.TryGetValue(key, out result))
			{
				value = result;
			}
			
			//Else we use the existing value based on the logic... there's ~ 20 or so unknown conditions
			if(value >= 5)
			{
				return "dd vibrator_verystrong1LP";
			}
			else if (value >= 4)
			{
				return "dd vibrator_strong1LP";
			}
			else if (value >= 3)
			{
				return "dd vibrator_standard1LP";
			}
			else if (value >= 2)
			{
				return "dd vibrator_weak1LP";
			}

			return "dd vibrator_veryweak1LP";
		}

 

It seems like it works from my limited testing, but there might need to be some structural changes. I created a script in node to analyze the sound files and create funscripts for all the vibration patterns. Honestly, they will need some cleanup but it should match what's going on in-game. 

 

If this looks like some code you could use I am happy to create an actual fork and send some patches via git. I think this method is heading in the right direction from my testing. It looks like Devious Devices sends stop/shock events pretty consistently at the end so these 30-35 second funscripts based on the sound loops work really well. Let me know if any of this is useful. There's a lot of tedious work to be done to make it work with everything, but for some of the core events I think this might be useful.

 

Again, thanks for sharing the code, this was a fun little side project and should make the game more interesting.

 

 

 

dd_vibration_funscripts.7z 16.79 kB · 2 downloads

 

I this for V3 of the OP or for the Butthesda V12 found on the discord?

Link to comment
  • 3 weeks later...
  • 5 weeks later...

Application is starting and detecting the Edge 2 (Hush not for some reason) and device events show up in the debugger. Funscripts textfile has data and ESP is loaded. But nothing happens. Selected Anal and vaginal with shock and vibrate.

Do I need to run another program to get it working?

Link to comment
On 5/12/2021 at 11:27 PM, Moonpaw said:

Can someone tell me how the FUCK i get this to work? Especially in regards to https://github.com/programotter/skybutt/releases/tag/v4

 

I am running windows 10 now. How the fuck do i set it up?

 

For starters, why isnt the controller rumble log created?

I will ignore your frustrated anger, and ask: did you install the linked requirements? See https://www.loverslab.com/files/file/1009-use-game-controller-as-vibrator/ which you need to install the plugin part of (don't run the java application) to produce the necessary logs.

Link to comment
On 4/23/2021 at 11:59 AM, arkinian said:

Thanks for posting the code for this in an accessible place. I spent a little time getting up and rolling (and connecting an Arduino over a serial port to see what was possible. There's really a lot of potential here and since I'm already deep into this I thought it might be worth sharing a bit of my process.

 


//EventFileScanner.cs
									case "vibrate effect start":
										System.Diagnostics.Debug.WriteLine("---PRIORITY---");
										System.Diagnostics.Debug.WriteLine("Devious Device vibrate START" + (float)json.Property("arg"));
										System.Diagnostics.Debug.WriteLine("---ENDPRIORITY---");
										float arg = (float)json.Property("arg");
										RunVibrationEventFunScript(json, LookupEventName(arg));
										Notification_Message?.Invoke(this, new StringArg("Deviouse Device vibrate " + arg));
										break;
									case "vibrate effect stop":
										System.Diagnostics.Debug.WriteLine("---PRIORITY---");
										System.Diagnostics.Debug.WriteLine("Devious Device vibrate STOP" + (float)json.Property("arg"));
										System.Diagnostics.Debug.WriteLine("---ENDPRIORITY---");
										StopVibrationEvent();
										Notification_Message?.Invoke(this, new StringArg("Deviouse Device vibrate stop " + (float)json.Property("arg")));
										break;

 

I looked into the DD events for vibration and it looks like the work is 90% of the way.  Using this information I mapped the possible combinations (there are collisions) so that you can lookup what event to play:

 


/// <summary>
		/// This is loosely based on the logic in DD which makes very little sense. We should try
		/// to patch it to add the argument.
		/// </summary>
		/// <param name="value">float level</param>
		/// <returns></returns>
		public static string LookupEventName(float value)
		{
			//try known values to be more precise...
			string key = value.ToString("0.00");
			int result = -1;
			//If we have it in the dictionary of known "non-collisions" we can accurately guess the value
			if (VIBRATION_LOOKUP.TryGetValue(key, out result))
			{
				value = result;
			}
			
			//Else we use the existing value based on the logic... there's ~ 20 or so unknown conditions
			if(value >= 5)
			{
				return "dd vibrator_verystrong1LP";
			}
			else if (value >= 4)
			{
				return "dd vibrator_strong1LP";
			}
			else if (value >= 3)
			{
				return "dd vibrator_standard1LP";
			}
			else if (value >= 2)
			{
				return "dd vibrator_weak1LP";
			}

			return "dd vibrator_veryweak1LP";
		}

 

It seems like it works from my limited testing, but there might need to be some structural changes. I created a script in node to analyze the sound files and create funscripts for all the vibration patterns. Honestly, they will need some cleanup but it should match what's going on in-game. 

 

If this looks like some code you could use I am happy to create an actual fork and send some patches via git. I think this method is heading in the right direction from my testing. It looks like Devious Devices sends stop/shock events pretty consistently at the end so these 30-35 second funscripts based on the sound loops work really well. Let me know if any of this is useful. There's a lot of tedious work to be done to make it work with everything, but for some of the core events I think this might be useful.

 

Again, thanks for sharing the code, this was a fun little side project and should make the game more interesting.

 

 

 

dd_vibration_funscripts.7z 16.79 kB · 27 downloads

I'd be very interested in testing this version, if you have the fork uploaded somewhere please :)

Link to comment
On 7/3/2021 at 10:35 AM, sirah said:

I'd be very interested in testing this version, if you have the fork uploaded somewhere please :)

 

Same here.

I was a little surprised that DD events were not already part of the program: it's the entire reason I installed it heh heh!

I asked in the Discord if the additions of that post had been implemented yet, but received no reply. 

 

Combine the regular DD events with the ones initiated by the Submission of Lola mod, and you have a very interesting playthrough!

Link to comment
On 7/5/2021 at 2:35 PM, mattardo said:

 

Same here.

I was a little surprised that DD events were not already part of the program: it's the entire reason I installed it heh heh!

I asked in the Discord if the additions of that post had been implemented yet, but received no reply. 

 

Combine the regular DD events with the ones initiated by the Submission of Lola mod, and you have a very interesting playthrough!

Firstly, thanks for the mention of the Submission of Lola mod, I hadn't seen that and it's fantastic!

 

I've made a branch to try to integrate the suggested code, but there's a few bits missing, particularly it's not currently able to *stop* vibrations correctly when the stop event comes through. If anyone wants to have a go at fixing the stop issue, I'd be grateful :) https://github.com/JPrivateLL/Butthesda/compare/master...programotter:forum-patch

Link to comment
  • 4 weeks later...
On 7/12/2021 at 4:34 PM, sirah forgot their email said:

Firstly, thanks for the mention of the Submission of Lola mod, I hadn't seen that and it's fantastic!

 

I've made a branch to try to integrate the suggested code, but there's a few bits missing, particularly it's not currently able to *stop* vibrations correctly when the stop event comes through. If anyone wants to have a go at fixing the stop issue, I'd be grateful :) https://github.com/JPrivateLL/Butthesda/compare/master...programotter:forum-patch

Have you been able to get the vibrations running on the custom code? I compiled the changes and ran the exe as admin. Penetration works (fine) but vibrations/shocks fail to work whatever I try. The link file seems to be updated so that seems to be ok

 

DD_VibrateEffectStart
{'mod':'dd','event':'Vibrate Effect Start','arg':0.700000}
DD_VibrateEffectStop
{'mod':'dd','event':'Vibrate Effect Stop','arg':0.700000}

 

Link to comment
On 8/8/2021 at 8:15 PM, naaitsab said:

Have you been able to get the vibrations running on the custom code? I compiled the changes and ran the exe as admin. Penetration works (fine) but vibrations/shocks fail to work whatever I try. The link file seems to be updated so that seems to be ok

 

DD_VibrateEffectStart
{'mod':'dd','event':'Vibrate Effect Start','arg':0.700000}
DD_VibrateEffectStop
{'mod':'dd','event':'Vibrate Effect Stop','arg':0.700000}

 

I apologise, I forgot to specify that it needs a different structure for the funscript files. Drop the contents of the attached in Butthesda\FunScripts\Devious Devices, all I did was copy the provided top-level funscripts to the appropriate body part directories.

vibration funscripts.7z

Link to comment
1 hour ago, sirah forgot their email said:

I apologise, I forgot to specify that it needs a different structure for the funscript files. Drop the contents of the attached in Butthesda\FunScripts\Devious Devices, all I did was copy the provided top-level funscripts to the appropriate body part directories.

vibration funscripts.7z 17.65 kB · 1 download

Thanks, will give it a try when there is some room for "alone time".

Link to comment
6 hours ago, itami_no_hana said:

I have ordered a Lovense Edge 2 toy recently and while I'm waiting for the delivery I wonder... do I absolutely have to switch to Windows 10 (currently running 7) to make Butthesda work? As I understand it uses Intiface which works only W10, right?

Correct. The 'framework' requires W10 to run. Besides that, W7 is out of support for a while now so upgrading is wise even without the need for Intiface. (you can btw still upgrade you W7 key for free to W10 ;) )

Link to comment
15 hours ago, naaitsab said:

Correct. The 'framework' requires W10 to run. Besides that, W7 is out of support for a while now so upgrading is wise even without the need for Intiface. (you can btw still upgrade you W7 key for free to W10 ;) )

This. They advertised the "free upgrade" for limited time, but they still work. lol. Windows 10 has become quite stable at this point, honestly. Most games perform better on Windows 10 than they did on Windows 7 too in my experience.

Link to comment
  • 2 weeks later...
On 8/9/2021 at 7:47 PM, sirah forgot their email said:

I apologise, I forgot to specify that it needs a different structure for the funscript files. Drop the contents of the attached in Butthesda\FunScripts\Devious Devices, all I did was copy the provided top-level funscripts to the appropriate body part directories.

vibration funscripts.7z 17.65 kB · 8 downloads


I had it working with the running/walking while having plugs/piercings equipped. I only missed the vibration part.
So I was really waiting for this update. I placed the contents in my E:\Program Files (x86)\Mod Organizer\mods\Butthesda\Funscripts\Devious Devices.

 

It still doesn't seem to work with vibrations. Did I do something wrong? see image for my folder dan butthesda screen.

Untitled print screen.png

Link to comment
14 minutes ago, deviant51 said:


I had it working with the running/walking while having plugs/piercings equipped. I only missed the vibration part.
So I was really waiting for this update. I placed the contents in my E:\Program Files (x86)\Mod Organizer\mods\Butthesda\Funscripts\Devious Devices.

 

It still doesn't seem to work with vibrations. Did I do something wrong? see image for my folder dan butthesda screen.

 

 

I tested it yesterday and with a small delay it seems to work as intended.

 

@sirah forgot their email the latest push on the github also seems to stop the events quite reliable. On a longer vibration event the plug (real one) did stop earlier then the ingame plug.

It would also be nice to get the intensity linked. It seems no matter what ingame vibration intensity is played, the real one has the same intensity every time.

There is also a noticeable delay between the game and the plug. Not sure if this is due to the BP api or something that can be tuned in the Butthesda project.

Link to comment

Thanks to another developer for getting the stop scripts working! I'm not sure what's up with the intensity, it's different for mine, but I'll see if I can test it again. I'll also see about getting an installer released of the new version for people who don't have the setup to build it themselves :)

 

36 minutes ago, deviant51 said:


I had it working with the running/walking while having plugs/piercings equipped. I only missed the vibration part.
So I was really waiting for this update. I placed the contents in my E:\Program Files (x86)\Mod Organizer\mods\Butthesda\Funscripts\Devious Devices.

 

It still doesn't seem to work with vibrations. Did I do something wrong? see image for my folder dan butthesda screen.

 

Your settings look fine. Double-check that if you go into the vibration folders in Butthesda\Funscripts\Devious Devices, then into the body part folders, the .funscript files contain script and not just the word "undefined". I usually use the Buttplug.io integration, I don't have an XBox controller to test that part with unfortunately.

Link to comment
4 hours ago, sirah forgot their email said:

Thanks to another developer for getting the stop scripts working! I'm not sure what's up with the intensity, it's different for mine, but I'll see if I can test it again. I'll also see about getting an installer released of the new version for people who don't have the setup to build it themselves :)

 

Your settings look fine. Double-check that if you go into the vibration folders in Butthesda\Funscripts\Devious Devices, then into the body part folders, the .funscript files contain script and not just the word "undefined". I usually use the Buttplug.io integration, I don't have an XBox controller to test that part with unfortunately.

they contain a file called "Vibrate.funscript" the older folders contain a "Penetrate.funscript"

could it be that they have a "_" instead of a space?

Link to comment
On 8/25/2021 at 1:58 PM, sirah forgot their email said:

No, that's how mine looks.

 

If you open them with a text editor, what is *in* those files? Is it what looks like a long script, or just the word "undefined"?

it says: 

{
  "version": "1.0",
  "inverted": false,
  "range": 100,
  "actions": [
    {
      "pos": 0,
      "at": 0
    },
    {
      "pos": 0,
      "at": 100
    },
    {
      "pos": 0,
      "at": 200
    },
    {
      "pos": 0,
      "at": 300
 etc, etc, etc.

Link to comment
On 8/29/2021 at 10:28 PM, deviant51 said:

it says: 

{
  "version": "1.0",
  "inverted": false,
  "range": 100,
  "actions": [
    {
      "pos": 0,
      "at": 0
    },
    {
      "pos": 0,
      "at": 100
    },
    {
      "pos": 0,
      "at": 200
    },
    {
      "pos": 0,
      "at": 300
 etc, etc, etc.

I heve the butthesda from march. could it be the wrong version? if it is, what version do I need?

Link to comment
  • 2 weeks later...

I think I have everything I need but I am getting stuck at installing Butthesda.exe.

 

I can run it as administrator but it does let me install it:

 

"Your administrator has blocked this application because it potentially poses a security risk to your computer"

 

Didn't have any issues with other .exes for mods. I am the administrator for this computer and installed Win 10 myself on it years ago.

 

Solutions??

Link to comment
On 9/11/2021 at 2:37 PM, CNPrivate said:

I think I have everything I need but I am getting stuck at installing Butthesda.exe.

 

I can run it as administrator but it does let me install it:

 

"Your administrator has blocked this application because it potentially poses a security risk to your computer"

 

Didn't have any issues with other .exes for mods. I am the administrator for this computer and installed Win 10 myself on it years ago.

 

Solutions??

There should be a way to pick "more info" and keep the file and run it anyway. Past that this depends on what Antivirus you are using. It seems to have caught it as a false positive.

 

The tool is safe but Windows 10 has made it quite annoying for files that are not signed to run without flagging various antiviruses/filters. But signing requires a lot of money for a license, which fan projects will not generally want to spend.

 

Look into ways to add it to a whitelist for your antivirus or bypass the protection temporarily. Not much else we can help with.

Link to comment

Dunno if I'm just stupid, but I have no idea where y'all are getting a Butthesda.exe. Only thing I can find online is the Github repository which doesn't include anything runnable unless you count the project file itself, and building it with Visual Studio just throws errors.

Clearly I'm doing something wrong since like nobody else has had this issue (or at least posted about it) in this forum.

Since I'm asking a question already, I can't get Papyrus logs to show up for the life of me. I *did* run the java file first if that somehow stops it from appearing. Logs from other mods do function as intended, just not this one. Mod should be installed correctly, the MCM menu appears.

A few people have asked about missing logs, but nobody's posted a fix or what the actual problem was if they were ever able to get it working.

I'm using Mod Organizer 2 instead of NMM, though I have no idea how that would stop this one particular mod from giving logs.

If running the file before first time does somehow stop logs from showing up, how can I fix this?


[09/14/2021 - 05:33:00AM] Cannot open store for class "dcc_sgo_questcontroller", missing file?
[09/14/2021 - 05:33:01AM] Error: Unable to link type of variable "SGOController" on object "sexlabcontrollerrumble"
[09/14/2021 - 05:33:01AM] Error: Unable to link types associated with function "RegModEvents" in state "" on object "sexlabcontrollerrumble".
[09/14/2021 - 05:33:01AM] Error: Unable to link types associated with function "OnPlayerLoadGame" in state "" on object "SexLabControllerRumbleAlias".

These show up looking through the regular Papyrus logs, don't know if that's enough to stop logs from showing up or not.

Anyone have any ideas? (for either question)

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