EroScripts is a community for scripts that sync up interactive sex toys with porn. Learn more.

To discover, download, and help choose what gets scripted, create an account.


1 Script for 2 Devices?

Is it possible for intiface w/ scriptplayer to control 2 toys at once with one script. For example if I have a thrusting toy and then a clitoral sucking toy…can they be controlled at the same time? Is it even possible to try to script for these different functionalities so intiface or scriptplayer know when to suck vs vibrate or thrust. OFS has a tab for different motions like suck and more but how will I tell one device to shhhh and another to go brrrrr?

1 Like

Pretty sure i have seen videos with multiple toys connected to initface. And the toys will react differently to the script based on the toy, but they will both react to everything scripted. So you cant have only one toy active during certain parts with 1 script.

I would love to see this feature, but im taking a guess and saying its either impossible or impractical with our current generation of sex toys. I believe there are no standards and they are to basic and accept to few commands to make this happen.

So for now run the second toy on a phone or something with its own script to achieve what you want.

1 Like

That would be interesting, adding another layer of depth to threesome pegging videos :sweat_smile:

1 Like

Yes, for me it’s for the female perspective and I plan to hook up both my vibrator/ clitoral toy and a thruster… to be safe I would have to remove my headset for thrusting scenes bc I don’t want it thrusting in me when it’s not supposed too…also not being able to see where it enters just sounds like ouchie :grimacing:…so I’m thinking I either have to have it in me the full time or break my immersion for a sec to put it in. My toy has a vibrating function as well and I know OFS has different motions in it so I’ll have to test to see if I can make it not thrust at first and just vibrate…same for my clit toy bc it vibrates and sucks.

You can connect more than 1 device to interface desktop, there is no issue there.
I just checked with handy (stroker) and a max (vibrator).
All of them will do the same within their limits (a stroker / truster will move and a vibrator will vibrate).
As for disabling the one that shouldn’t do the thing, you can open up the Device Manager (Device ->Show Devices) is ScriptPlayer and you just toggle the the device you do not want to react to the script, not the best solution, but it is definitely one.
Maybe you can find a macro app, that can move your mouse to a specific location and click on a second screen where you can keep that device manager open. And than you toggle it with a mouse click / key press.

1 Like

This is a fun problem to think through, but I don’t know that the software has quite caught up to your somewhat (for our community) unique needs…

I’m thinking along the lines of multi-axis support. Essentially a multi-axis toy needs more than one script to operate (one script for up/down, one script for rotate, one script for left/right, etc.). Your problem is similar in that you would need a separate script for each device.

Where it gets difficult though, is assigning the script to each individual toy. Perhaps someone with some experience dealing with multi-axis can speak to this, but I’m not sure you can actively assign a toy to a script with existing software. I can’t imagine it would be that difficult to create the software, but it seems it may never have come up so far.

I think that’s the trick though. I haven’t researched it fully, so I’m not saying FOR SURE it can’t be done with current software. Assume you’ll have to write a script for each device. And then try to figure out if there is software that will in effect, allow you to “send script A to toy A and send script B to toy B”. If you can solve that problem the rest is very possible (though very time consuming).

I do know that with standard software (ScriptPlayer and Intiface), you can connect multiple toys. The problem is that (which sits inside of Intiface) doesn’t differentiate and sends the same script to everything connected.

I love little problems like this, but I’m a lowly scripter (not a software developer). I wish you luck, and if I find anything useful I’ll pass it along.

1 Like

You should hit up the makers of or script player makers (mfp, script player, whatever). Seems like a pretty easy thing to figure out, but a job for the software developers for sure

The type of thing you are asking for is on my radar as something to look at (I’m a Software Engineer) I just have no time at the moment, but it is something i will get round to.
I will be looking at, firstly, one script to one device and how that is done - I will probably be doing the handy first (sorry!), and then a vibrator (Lovehoney desire) after that and seeing where i get to with them running side-by-side from two scripts. The initial motiviation for this is the Femdom videos, but I don’t see why it wouldn’t work for two other sets of toys (or 3… or 4… etc).

For teh above, my understanding from and its APIs are that each toy is individually addressable (Device Control | Buttplug Developer Guide and Example Application | Buttplug Developer Guide). And possibly that each part of the toy (if it has two vibrators for example) are also individually addressable, so it would also make sense to be able to send two different scripts to the same toy on the two different vibrators etc. I think this could simulate movement etc.

Anyway, I’m still new to all this writing apps for toys stuff, so i could wildly be wrong - but, in summary I do think this is doable with the current technologies and libraries we have available providing the device is listed on IoST

If anyone has any further insights or can point me in the direction of anything that you think would be helpful (or if i am miles off and completely wrong), hit me up.


I was thinking the same exact thing you were! I’m quite sure that funscripts can address the different motors in a toy…I only have experience from this by using the satisfyer app with my curvy 2+… in the app they have erotic stories that have scripts specifically written for them and the curvy 2+ is using two motors…one for basic vibration and the other for the airpulses/ sucking. During there “remotyca” stories they do have the specific motor change form on to off. does not support satisfyer devices just yet but x toys does and I’m super new to scripting but I’m going to see what goes on when I make scripts for my satisfyer there. I’m also worried about getting a Bluetooth thruster and not have it working/ everything I need. I’m looking at the zalo king which is on the iost list and is the only thrusting dildo/ vibrator there…and well If I invest in one I want to make sure it’s ideal and serve my purposes. I’m just starting this journey and there is so much to learn and do here though which is causing me to dive head first, I’m really excited to see what we can do…also to make more girls aware that stuff like this exists!

I have done no scripting in ofs really yet but the multi axis confuses me bc I thought u can already do all of the up down…pitch and roll… in one script in ofs…according the tutorial

I haven’t played with multiaxis yet either, but my understanding is that the app supports doing it in one place, but behind the scenes it’s putting together two (or more) scripts, which may or may not be in the same text file. To put it another way, there is one stream that controls one type of action and a separate set of data points that control another type of action. My apologies if I oversimplified it unnecessarily! It’s definitely a bit more complicated than I made it sound, but the idea I was trying to convey is that the problem is in addressing 2 toys individually (good luck @jamfries92!). Even if supports it, to the best of my knowledge none of the front-end software is capable of passing the scripts to it independently in an addressable way.

The simplest way to think about it is to consider it as two scripts, one for each device. When the software exists to address the two devices independently, then you’ll be all set.

So I’ve been playing around with those libraries I was talking about.

I can partially confirm what I said earlier, I can control and sync the handy and send it commands (have tested this). Which is the one device, and thats via BLE.

Will have to be after my next payday, but I’ll get hold of a two vibrator device from LH and try individual channels and two toys at once with multiple scripts. It does look like it will work.

Even if there is a limitation to one two, if there is a two vibrator/or one suck one buzz etc, it should be possible to - at a minimum - split it up like that anyway for one toy with what I have found so far. but i do feel much more confident this can be done for 2+ toys (i suppose bluetooth becomes the limiting factor how many we can connect to?)


Hi, thanks for looking into it! You would be my hero if you could get it to work! I’m in the buttplug discord and someone has stated that it doesn’t work with the zalo thruster because 1 is off for the vibe but 1 is the lowest for the thruster…so I guess there is no off for the thruster? You can take a look at this if you are curious: github zalo documentation

Hello, I am waiting for a second handy that the company sent me to do the Fallen Angel Marielle integration.
When I arrive I will be programming to make some kind of simple multi-device player, or something similar.
stay tuned to my posts
also check this post I made a tutorial to setup handy with a dildo

I know that you can connect the handy directly to scriptplayer then use intiface to connect vibrators. Script plays on both at same time. Catch is scriptplayer only lets you put the handy or the launch directly atm.

EDIT: Removed a complicated solution for controlling “his and hers” toys with different scripts.

Reading your first reply, I see both toys are actually for you.

No need to reinvent the wheel. It’s already been done and ready to go.

There are already Vac-U-Lock adapters in the OSR community Discord that have been designed for ‘the distaff side’, and MFP and OFS DO support a ‘vibe’ channel, and Tempest created the T-Vibe so that simplifies things tremendously.

That simplifies it to just using MFP + OSR with a Thrust and a Vibe (and maybe a suck - if your suction toy supports the connection) funscript.

MFP + 2 funscripts for thrust and vibe channels (with OFS, you could roll your own vibe channel script pretty easily) + OSR2 or SR6 + Vac-U-Loc adapter + Vac-U-Lock toy and you’re in business.

The existing set of hardware and software for the OSR family supports Thrust, Roll, Pitch, Twist, Vibe, Suction (presuming your suction toy is also ‘connectable’ via serial/UDP/something), and Lube.

I’m thinking I either have to have it in me the full time or break my immersion for a sec to put it in.

It’s the same for the gents. :smiley: if you adjust the position so that the “highest” point is just at the tip with a value of 90, and then the script goes to 100, you’ll move a little and…maybe you’ll be guided back “in”, maybe you’ll just get knocked aside! :smiley:

For women using a Vac-U-Lock adapter with an OSR2 or SR6 (the SR6, especially) is that your hip alignment isn’t going to change height THAT dramatically and the mechanical side of the equation (location of the tip of the thruster) isn’t going to change really at all.

Also, since you’re diving into OFS to create the Vibe/Suction scripts, it’s probably not a ton of extra effort to check the thrust script you want to use to make sure that any “re-entry” thrusts after a period of no-contact aren’t “Well, THAT escalated quickly” kinds of thrusts that you might be worried about handling.

1 Like

OK, thank you for replying… the different types of osr scripts is exactly what I was talking about earlier.

I’m going to have to re-read your post like 10x to completely understand it, but I think you are saying I can do it but I need a osr device as OFS already technically creates two scripts for the different functions of the osr? Or maybe you are saying that I don’t need an osr but rather just to utilize that multi axis tool in OFS?

Lastly, I have no idea what MFP is can you explain?

I also don’t want to put too much into one post but because I’m looking into building my own toy anyway can you give me some insight into some good 3D printers (I would love budget options but options in general is greatly appreciated).
I’m planning to make parts for toys… make a dildo or vibe and print out silicone with dragon skin fx pro silicone.

because I’m looking into building my own toy anyway can you give me some insight into some good 3D printers (I would love budget options but options in general is greatly appreciated).

Now we’re cookin’ with gas! :smiley:

MFP is MultiFunPlayer - a multi-axis script player that plays the multiple scripts you’ve created with OpenFunScripter (which I see you already found).

MFP can load multiple scripts created with OFS and play them simultaneously - just like OFS can create and save multiple scripts, one for each “channel” of motion. So…for the usage you talked about way up at the top here, you could have

MyHawtMovie.mp4 (the movie)
MyHawtMovie.funscript (control thrust with the toy)
MyHawtMovie.vibe.funscript (controls the vibrator on/off/speed/etc.)
MyHawtMovie.suck.funscript (controls the suction toy’s suction - IF it can be connected and controlled -dunno…)
MyHawtMovie.lube.funscript (if you build the ‘i-Lube’ attachment for the OSR)

but I need a osr device

NEED? Probably not. But it’s an existing solution that is ready to go today, and that’s going to be way easier than starting (mostly) from scratch with a different project.

There’s really two (possibly three) pieces to the puzzle here.

First, you have to be able to create scripts for each “axis” you want to control. In your case, those would be Thrust, Vibe, and Suck. You could do that with ANY scripting tool, but OFS allows you to create (and display and preview) all three at once. You still work on them one at a time, but you can at least SEE what the other two (or more) are doing.

The second piece of the puzzle is having a script player like MFP (MultiFunPlayer) that can use those scripts all at once.
Notice how there were five different scripts in the OFS screencap above, and there are five active “axis” in the screencap below.

The third piece of the puzzle is having hardware that can actually DO something with those axis, or else there’s no point. :smiley:

The SR6 has DEFINITELY got you covered there. (Action GIFs visible at the link) and I already linked the Vibe project that Tempest released, and the Vac-u-Lock adapter…

The 3D Printer is one of the best purchases I’ve made in the last few years - only slightly behind a VR headset. :smiley:

Looking at the options, I decided that a moving print HEAD seemed to make more sense than a moving print BED (less moving mass overall. I went with an Ender 5 Pro as the best balance between capability and price with a moving printhead. I’ve been super super happy with it, and it actually fits nicely on an IKEA Kallax bookshelf turned on its side in the closet in my home office.

OSR2 vs. SR6? I’ve built two OSR2s and an SR6, and the SR6 has been WAY more reliable and actually needed LESS maintenance than the OSR2 because the operational “load” is spread across 6 servos instead of mostly just 2. 6 servos will drive up the cost vs. 3 servos, but it’s worth it, IMO.


Just to simplify things up, MultiFunPlayer already does support multiple different scripts for multiple devices via buttplug connection and you dont need OSR to use it.
What was suggested above is that you can build just the OSR and you can technically add vibe support to it but its not the most user friendly thing to do, you also have to use wired vibes only.

In MultiFunPlayer you can “map” each axis script to one or more buttplug device like so:

In the above screenshot I used “Serial” connection for OSR and “” connection to add a vibe that responds to the same stroke/L0 script. This way you can easily mix many bluetooth toys with many scripts.

If you were to build a custom toy I would suggest either using TCode for the message format so that it is supported by existing multi script players, or somehow add it to buttplug so it is usable in MultiFunPlayer.