OpenFunscripter - another scripting tool - 2.0.0 release

@gagax123 Is the OFS configuration file for 1.3.1.a compatible with 1.2.1 so that I can copy from my old OFS installation?

@sentinel yes it is and yes you can

1 Like

Is it possible or could it be added if its not to have a scripting mode where you control time with the arrow keys kinda like the people who script with numpad but then enter points with the mouse. I find the recording mode cool but the action often speeds up and slows down so its hard to pick a speed. So I would like to click on the measuring stick when and where I want a point while controlling speed frame by frame.

@Analair By default shift clicking the simulator will add a point at that height.
You can remove the need to hold shift by going into Options->Keys->Modifiers and clearing the shift modifier.
You can also use right shift which is close to the arrow keys.

The thing is I’m not actually checking if the mouse is on the simulator so if you clear the modifier and click at the same height as the simulator a point is added. I may fix this. some time

Edit: On second thought the best thing you can do is go to Options->Keys->Modifiers and rebind to the right ctrl key. So one hand on the arrow keys + right ctrl and the other on the mouse.

So im a noob to scripting and have tried FunScripter but to no avail. I downloaded the zip of OFS off the GitHub Repo but there is no .exe in order to install it. Am I missing something?

@Jazzyjas00 If you want an installer then download the exe instead of the zip. The zip is a distribution for those that don’t want to run an installer or who what to run multiple versions of OFS side by side.

That’s what I was looking for thanks.

I’ve managed to clear some major road blocks on the way to the new “Lua Extension API”.
I got things to compile correctly on Linux by not linking libmpv and instead dynamically loading mpv functions at runtime. I ported this to windows aswell cause why not.
And I finally found a way extension can run code in other threads without blocking UI and without causing undefined behaviour similar to the original Lua scripting in fact it’s the same way by copying the data :joy:.

I also tried writing an actual reference for this new API so it’s less obscure.
So this is the first draft.
LuaApiReference.md

Unlike the intial Lua scripting this new API is very easily extensible.
And it’s soooo much more efficient too.

Pretty hyped about this probably going to create a new release soon.

2 Likes

@sentinel Thanks for the help, couldn’t find the exe installer yesterday but dug around and found it. Thanks Again, be on the look out for some CH vids from me. Im working on several at the moment.

1 Like

Just a heads up, idk if this is just on my PC but whenever I open a video that has a ’ in the file name it crashes (the metadata editor stops responding). Removing the ’ fixes it.

@noodledude I can’t reproduce this :neutral_face:

Weird, must just be me. Might also be a windows 11 thing (I’m using the dev release)

Could it be ´ or ` and not ’ (i.e. characters that can also be used with some letters like é, è) ? Just a thought.

Still can’t reproduce. There may be something else going on though.
I’m not going to install windows 11 any time soon :sweat:

I just created another release. v1.4.0
You can now use the new Lua API there shouldn’t be any breaking changes anymore.
Check the reference to see how it works: LuaApiReference.md

Note:
You can use luasocket inside extensions without doing anything however I’m thinking of removing it because it’s not well documented and very impractical.
The reason you would want to use this is for inter process communication and raw tcp/udp sockets aren’t very easy to use especially not in a high level language like Lua.

So if you want to write an extension which needs to communicate with another program or hit a server using http let me know.
I think http support and maybe websocket support would be supperiour to raw tcp/udp sockets.
It would be a large amount of work so I wouldn’t want to do it, if it wouldn’t get used.

3 Likes

thanks for the the realeses !

Can you merge scripts ? import script A, add script B making a Script C = a+b

1 Like

Does anyone have a list of extensions for OpenFunscripter? I’m curious if they could make scripting life easier.
Thanks for the great tool!

The ones that are integrated with OFS:

Other than that I ocassionaly use HandyControl 1.2.0 to limit speed in the scripts / create fancy heatmaps.

2 Likes

Yes you can.

  1. Import the video/audio for your “C” script. (Loading scripts without video/audio is not supported)
  2. In the main menubar “Project”->“Add…”->“Add extisting” to add your “A” script.
  3. In the main menubar “Project”->“Add…”->“Add extisting” to add your “B” script.
  4. You should now have 3 timelines. Copy the sections you want from “B” / “A” to “C” via ctrl+c / ctrl+v
  5. When done you can remove “A” & “B” from the project via “Project”->“Remove”
1 Like

thanks, that’s great ! i didn’t think of making the compilation video before joining the scripts.