Funscript.io - a website for playing, modifying and generating funscripts!

Is it me or it doesn’t work for handy? I connect using the code but it doesn’t play back.

Same thing, this is on mobile so I’m not sure if it would be different on a desktop.

Can upload to list scripts, but can’t add them to any of the options to modify or play.

[edit] Can confirm it is functional for desktop from what I can tell.

@defucilis the work that goes into this :pray:t2:

Are there plans to add a bar or an on-screen script positions like in the original non beta version? I like to test and see how the script looks before connecting my Handy to see if I want to use it.
I sometimes use the orignal non beta version for that, but there is no audio control for some reason and some videos are loud AF.

Anyone know if i can add like two actions before the the first action in a script, (at a time before and relative to first action).
The purpose would be to set my own starting position and a slow first movement, to always have a known safe way to enter and begin scripts.

I guess i could do it manually with notepad and a calculator, but would be nice to do it more elegantly with a program.

Yeah that’s been on my list for ages. I actually do have some concrete plans to revisit this project, fix some bugs and add some missing features (for secret reasons that I can’t talk about yet :wink: )

@Seraphine yep, you could create a new custom modifier and use this code (replace the array of extraActions with whatever you like)

actions => {
    const extraActions = [
        { pos: 0, at: 0 },
        { pos: 100, at: 1000 },
    ];
    const offsetTime = extraActions.slice(-1)[0].at;

    const newActions = [];
    for(let i = 0; i < actions.length + extraActions.length; i++) {
        if(i < extraActions.length) {
            newActions.push(extraActions[i]);
            continue;
        }
        const offsetAction = { ...actions[i - extraActions.length] };
        offsetAction.at += offsetTime;
        newActions.push(offsetAction);
    }
    return newActions;
}

wow thank you for making that! unfortunately it don’t fully do what i ment.

i now managed to change the code you made into something that creates what i wanted

actions => {

const extraActions = [
    { pos: 100, at: 2000},
    { pos: 100, at: -4000 },
    { pos: 50, at: -1000},
];

const newActions = [];
for(let i = 0; i < actions.length + extraActions.length; i++) {
    if(i < extraActions.length) {

        if(extraActions[i].at >= 0){
            newActions.push(extraActions[i]);
        }
        else{
            extraActions[i].at = actions[0].at + extraActions[i].at;
            newActions.push(extraActions[i]);
        }

        continue;
    }

    newActions.push(actions[i - extraActions.length]);
}
return newActions;

}

Ah yeah that makes sense, glad you were able to use it as a starting point :smiley: