OpenFunscripter is a mighty tool to create scripts but if you are creating patters you will notice that it can be hard to get something done without moving every single points by yourself. Luckily OFS supports Lua which gives you the possibility to create some little scripts that can help you to make scripting easier.
This topic is meant as a Lua Script Collection so it would be nice if you could also share your scripts if you have done any. This might help other people to start scripting or improve their scripts.
To use the scripts you just have to copy them to the script directory which can be found under: Special Functions / Custom Functions / Script Directory
Adds new evenly distributed points between all selected points.
EqualPositions
Lets you define the upper and lower positions.
InvertPositions
Inverts the selection in Y direction
InvertTimestamps
Inverts the selection in X direction.
ScaleTimestamps
Scales the selected timestamps to increase or decrease the speed by 0.5x - 10x.
Wave
Adds a wave to the selection. This script is very versatile if you overlay them.
Needs a little bit of trial and error to get what you want.
WaveEnd
This is an extension to the Wave script which lets you also set the end values. I have made it as a separate script so you donāt have to edit both points for normal waves.
Starting values and end values are different.
Sawtooth
If only the upper or lower points are selected then it will shift the timestamps forth and back a little to create the sawtooth effect.
If you select all points then it will compress and decrompress the selected area in waves. Works best if executed multiple times with small values.
Select-PointsToSkip
This script will deselect a number of points in a selection giving you more control.
Select the first curve by starting the selection at the first point and skip 1.
Select the second curve by starting the selection at the second point and skip 1.
Select the middle points by starting the selection at the second point and skip 2.
Adding and removing points this way can help to create some unique patterns.
I have wondered if you could make a lua that makes a fade in of the stroke length? I donāt know much about how these lua work so I donāt feel I can write them.
Specifically the function would allow a level to start and a level to end. This would save me a lot of moving points!
Anyway I love that you are sharing these!
Just added AddPoints to the collection to get used to the language and to waste some time
Dunno what you mean. Can you draw a picture to explain your request?
Fading like in the StrokeGenerator of HandyControl? If yes, then this is a different approach and if you want to apply it on an existing script then you need to analyse the script and shift positions and timestamps which is way more complicated than just to create this on the fly.
I was always thinking that lua scripts could be a really good approach for people who try to script multiple axes, something like this:
You create a copy of the script
You select the whole script and run a lua script that converts it into pitch, roll or other axis
You modify the script from there
Mostly because during handjobs or blowjobs the certain twisting movements are kinda repetitive, so something that could modify the up & down strokes for you to give you a starting point for other axes could be a good idea, then you just remove unnecessary parts and have something close to the actual action on screen.
Itās probably easier in my head, but I guess that someone talented can do some really cool stuff with lua scripts. Even some mathematical functions can be a fun way to modify existing scripts - gaussian distribution, trigonometric functions and all.
Dunno how the rotation axis works and if that even feels realistic but its probably possible to increase the point density with the spline smoothing function to have more points to calculate the slope of the blue stroke curve. This will result in the red line which then needs to be simplified.
Iām gonna waste, errr i mean, iām gonna spend so much time messing with this.
This is exactly what i was hoping was somehow possible. Trying to do this manually would be a nightmare, So thanks so much for posting this, otherwise iād probably never have known it was possible.
This is an extension to the Wave script which lets you also set the end values. I have made it as a separate script so you donāt have to edit both points for normal waves.
This lua script is based on EqualPositions script by @Lucifie. The script moves all top points to the defined position while maintaining the stroke lenghts. Best used with high values (50-100), using too low values might shorten strokes.
Before:
After:
MovePointsToBottom
This lua script is based on EqualPositions script by @Lucifie. The script moves all bottom points to the defined position while maintaining the stroke lenghts. Best used with low values (0-50), using too high values might shorten strokes.
Thanks for the move to top/bottom scripts. Theyāre really useful!
I would like to humbly make a reques for all the LUA experts out there.
It would be really great to be able to highlight a set of points and have an LUA script change the height of all the top points so that all strokes match as closely to a user defined speed as possible. So we could easily set sections to 150 units/s, 300 units/s etc without changing the timing of points.
Another LUA that I believe would be very useful when doing Multi-Axis would be something that added a pre determined number of points between the top and bottom position (ideally 2) that would allow for easy adjustment of Pitch motions during blowjobs and girl on top scenes. For example, when a neck is bending back and forward during BJās or when hips are twerkin or grinding in cowgirl position. At the moment I currently use the Add Points LUA from a copied version of the Y-Axis then select middle positions only and then adjust accordingly. Thereās a pretty standard shape that usually takes form during two staple moves during BJ/cowgirl scenes. The neck/hip āflickā. This isnāt replicated well with the standard stroke shape of a top and bottom point and usually requires an additional point next to both the top and bottom that delays the Pitch change in either direction.
These look really cool but I cant seem to get them to work?
If I select two points and use lets say , sawtooth or wave should it add this inbetween those points? Or do I have to add all these points first?
I tried using add point which generates a long line of points, selecting them and then tried to apply wave but it only seemed to move those points along without adding a wave.
Hey I noticed there were new Lua scripts your mega folder, āmove proportionally to ā¦ā I was curious how that was different that what was there before?
This is super useful - is there any way to increase the amplitude? Basically like your MovePointsToTop/MovePointsToBottom but the opposite. Modify the stroke point by changing both. Take the center of the stroke, and increase the amplitude by a magnitude?
Oh, it looks like the move proportionally does this? Iāll give that a shot.