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.


JoyFunScripter 0.13.1 - Make your own scripts!

Do you want to make your own scripts? Then give this application a go. It’s free for personal use & the only thing I ask is to give back to the community by sharing your scripts. :slight_smile:

We are looking for paid scripters at

Contact @Realcumber or @Raser1 to apply.

File on MEGA
Redistribution not allowed

System requirements

  • Windows operating system
  • .NET Framework 4.6.2
  • Microsoft Visual C++ 2015 Redistributable Update 3
  • LAV or K-Lite Video codecs

Do you have problems opening or playing videos? Try installing this:

Gamepad buttons

  • Left Stick: Change position (direction can be changed in the simulator settings)
  • Right Stick: Move selected points
  • L3 Single click: Select all points after current time
  • R3 Single click: Set start/end of selection
  • R3 Double click: Deselect all
  • Start: Play/Pause
  • Select: Toggle recording mode
  • A: Insert point
  • B: Delete nearest point
  • X (Paused): Copy last stroke
  • X (Playing): Speed boost x2
  • Y: Move nearest point to current time
  • D-Pad Up: Jump to next point (if available, otherwise jump to predicted position of next point)
  • D-Pad Down: Jump to previous point
  • D-Pad Left: Jump to next frame
  • D-Pad Right: Jump to previous frame
  • RB: 1 second forward
  • LB: 1 second back
  • RB: 1 second forward
  • LT: Slow down
  • RT: Speed up
  • LB+X or RB+X: Set current speed

Keyboard shortcuts

  • Space: Play/Pause
  • 0-9: Insert 0-90% point
  • . or - : Insert 100% point
  • Delete: Delete nearest point
  • Backspace: Delete recording up to last stroke. (recording mode only)
  • End: Move nearest point to current time
  • Up Arrow: Jump to next point
  • Down Arrow: Jump to previous point
  • Left Arrow: Jump to next frame
  • Right Arrow: Jump to previous frame
  • Ctrl+O: Open file(s)
  • Ctrl+S: Save script
  • D or Ctrl+D: Deselect all
  • Ctrl+C: Copy selected points
  • Ctrl+V: Paste points (left aligned)
  • Ctrl+Shift+V: Paste points (right aligned)
  • Ctrl+Alt+Shift+V: Paste points (original timing)
  • Shift+Arrow Keys: Move selected points
  • Ctrl+Shift+Arrow Keys: Move selected points (unlimited)
  • Page up: Jump to next frame + move nearest point with it
  • Page down: Jump to previous frame + move nearest point with it
  • Home: Insert new point based on previous stroke
  • Insert: Toggle wiggle mode
  • Pause: Toggle joystick (recording) mode
  • L: Toggle live testing mode. (sync Launch through ScriptPlayer)
  • F12: Toggle simplified view
  • F1-F6: Switch current scripting mode
  • Q: Switch between 180SBS and 2D
  • I: Invert selected points (depth)
  • E: Equalize timing of selected points
  • M: Merge selected points to a single point
  • S: Smooth selected points (recording mode only)
  • P: Show Preview
  • Z: Show Preview at 2x speed (Zoom)
  • R: Show Replay
  • = or * : Cycle through simulators
  • < and >: Increase/decrease speed by 25%
  • Numpad + and - : Increase/decrease speed by 25%


  • Drag on graph: Make selection
  • Left click on graph: Set start/end of selection
  • Right click on graph: Deselect all
  • Drag on points in graph: move timing / depth
  • Ctrl + click on points in graph: remove point
  • Shift + click in graph: insert new point
  • Scroll on graph: Zoom in/out
  • Scroll on video: Zoom in/out
  • Drag on video: move video
  • Drag on simulator bar (middle): move simulator bar
  • Drag on simulator bar (triangle): rotate + stretch simulator bar
  • Drag on simulator bar (sides): change width of simulator bar

Thank you!

now time to get a PC…


No PC yet? If you have a mac, this app alone is worth switching to PC for :stuck_out_tongue:

Amazing work @raser1!!!


Nice Guide! Thanks for that! Luckily I am building my new PC this Weekend since my old one is slow as hell. :wink:


Cheers! I am learning this tool and went to export a clip and failed. I set the beginning and end of the clip and went to export it. First try errored and said I needed ffmpeg. So I put that package into the JFS directory.
Then I tried to export the clip again. This time it said it was exporting the clip and then the program gave an error and offered to try to save. Then it exited. So I tried it again and this time the ffmpeg opened a dos screen and asked if I wanted to overwrite the previously saved program. I said yes and then JFS failed same as before. Here are screens. Help please!

JFS error error-132432331118140310.txt (878 Bytes)

1 Like

ive had a go with this, its alot to take in, getting used to new programs is always a struggle for me lol but i was daunted when i first started recording my own music and i got adobe audition, eventually i got the hang of it so hopefully this is the same :slight_smile:

but what i found helped in adobe audition was youtube had lots of video tutorials, literally showing you inside the program, video tutorials for each method of use and different functions, how they work and how to use them, i think a good video tutorial showing how to use the most commonly used modes on this would be super helpfull, obviously the written tutorial is great but if your like me, i prefer and learn much better from actually being shown how things work rather than reading instruction manuals,

but this is just a friendly suggestion, thanks so much for this program :slight_smile: i hope to one day master this thing!


I had to search for this older version of ffpmeg.exe. I found it and installed as you describe and it works!
So after trying 3 other releases of ffpmeg, also set up exactly this way, and getting failures I hope my efforts can help another should this happen to them!

Thanks for the help.


Is there an option to undo deleting points or can one be added? It is easy to accidentally lose work by thinking you are only deleting one point when you have several selected. I’ve had to redo work before because of wanting to remove an erroneous point and end up deleting a group instead. An undo option would save me from this while I learn how to use the tool better.


Unfortunately not. The best way I’ve gotten around this is to use a cloud storage service like Mega, Google Drive, or OneDrive and make sure versioning is turned on and enable autosave in JFS. Then, if you mess up you can go back and load the version from 10 minutes ago.


This, combined with copy pasting the missing part back in can be useful:

1 Like

I am probably doing it wrong but i cant seem to get live testing working like i want.

I got Scriptplayer set to whirlgig, and enabled live testing in JFS. Now when i play or pause a video with script in JFS i get scriptplayer and my Launch to play the strokes. But how do i get it to play new points i’ve added to the script while having the file active? Pressing save doesn’t update scriptplayer with the new points.



Please try this @Akali :slight_smile:


EDIT updated it to beta functions as described in hte post, got it checked now

I don’t have that option, im runing 1.1.0 no beta features



I have a question and at the same time a suggestion.

Would it be possible, to allow us to add more bookmarks and name them? With this, I could group the video into different sections. I made an example. Bad paint skills, sorry.

Something like this:

The names would only show, when I hover over the time bar. But I could always see these bookmarks. It’d be even better, if I could give them a different color.

This would especially help on longer videos. If there are sections, that I want to script later or I want to revisit again, I could just simply and quickly go to that section. I could also start to get an overview over the video and first group it into sections, before I start scripting.

This really would be just a qol-thing and to give a bit more organization to the scripting part. I may have a bit of an ocd, when it comes to organizing things and stuff, that’s why I came up with this idea :sweat:

Or does something like this already exists and it’s me being dumb again? If so, just ignore this, please :no_mouth:
I know we can already set a bookmark, but it seems to be limited to one bookmark and we can’t name them.

Thank you very much for reading.


Any guess on if this works in Linux with Wine? Or am I best off just setting up a windows virtual machine?

1 Like

Not sure if this has been answered somewhere else…

Is there a way to do live testing with the handy? I would like to see the hardware movement as I’m scripting.

Thank you!!

1 Like

Sorry, I dont think there is linux support - Virtual machine may be your best bet

EDIT: “see method below!”

1 Like

Yes, there is. On the bottom bar, you will see a little rocket icon. By activating this, live testing is available.

For live testing you also need this program: ScriptPlayer 1.1.0 - New Release (18.01.2020)

Connect your Handy with the script player, found under devices.
Set the script player to whirlgig, found under video player. Load the script you are working on and let it play. Handy now plays the script you are working on.

See also this, improve live testing.

Hope it helps.


Thank you for the reply. I’ve downloaded ScriptPlayer, but I don’t see an option to connect the handy under “devices”.

1 Like