OFS script converter extension for rotary fuck machines
Description
This is an OpenFunscripter extension that can convert funscript patterns into power level variations suitable for any buttplug.io-supported rotary fuck machine.
Most penetrative fuck machines are built using piston motion systems. This makes them cheap to produce, but it also means their stroke position cannot be controlled in the same way that linear motion systems can. By contrast, most funscripts are made for masturbation sleeve devices, which can precisely adjust their stroke position. This allows them to be controlled effectively by alternating motion between 0-100 position values.
However, attempting to play back a regular funscript while connected to a rotary fuck machine results in irregular, uncontrollable bursts of power, which is very dangerous and can cause serious injuries. This extension aims to solve that problem, giving you control over the power level of your fuck machine while also attempting to match the machine’s RPM to the rhythm of the action.
Features
- A simple yet accurate cycle-time-to-power-level converter that only requires the min. and max. RPM of your device (with the toy attached) to work effectively
- Create and store custom device profiles for faster conversion
- A built-in unit converter utility helps you quickly translate between several types of values (cycle duration, power level, RPM, etc.)
- A built-in device profile estimator automatically computes the min. and max. RPM values for your device profile from just a few measurements
- Conversion logic based fully on peaks and troughs means not having to worry about how detailed the funscript patterns are
- Ample conversion options help you tailor the power level graph to better fit the content you are working on
- Quickly test your converted script by following the funscript-to-machine setup guide!
- Developed for OFS v3
Installation
- Download and extract the latest version of the extension from Releases
- Copy the
FM script converter
directory and add it to the OFS extensions directory (%appdata%/OFS3_data/extensions/
) - Start OpenFunscripter
- In the
Extensions
tab, hover over theFM script converter
list item and tickEnabled
andShow window
- Optionally, you can pin the extension window to the OFS GUI. I prefer dedicating the left side of the GUI to this extension
Changelog
v1.1.0 (02-Nov-23)
- Added device profile persistence via a Lua JSON library and profile management options (create/modify/remove)
- Renamed the “Device power level calculator” utility into a broader “Unit converter” utility and added “Number of cycles” and “Time period” fields to it
- Added a “Min./Max. RPM estimator” utility to make it easier to create custom device profiles
- Combined utilities into a “Device profile calibration utilities” menu
- Restructured the code into separate modules (
main.lua
now only handles the GUI) - Updated README to reflect new enhancements
v1.0.1 (26-Oct-23)
- Added functionality for debug options that was excluded by accident from the initial release.
v1.0.0 (25-Oct-23)
- Initial release.
Usage & Guides
Please read through the GitHub README as it contains ample usage instructions and several useful guides, such as measuring the RPM of devices and setting up the funscript-to-machine connection.
GUI Showcase
If you like this extension, please spread the word about it! May you happen to find the perfect configuration for your device? Be sure to share that knowledge in the comment sections where this is posted, or through GitHub issues (include your test results if possible)! Any feedback is welcome, so feel free to share your thoughts, suggestions for improvements or any bugs you may find.
Also, check out my other OFS extension project:
- OFS script statistics (GitHub) (EroScripts) - enables detailed script-wide statistics as an addition to the default statistics panel