zapsaber/README.md

1.9 KiB
Executable File

ZapSaber

Bzzzt!

Improving Beat Saber scores through estim since 2022!

Configuration

Configuration is done through a JSON file named config.json in the same directory as zapsaber.py. It must look something like this:

{
    "username": "<your username>",
    "apiKey": "<your API key>",
    "code": "<your shocker's code>",
    "comboA": 100,
    "comboB": 300,
    "comboABreak": ["vibrate", 1.0, 20],
    "comboBBreak": ["shock", 1.0, 5],
    "fail": ["shock", 2.0, 10]
}

The values for combo breaks and fail is an array.

  1. vibrate, shock, and beep (if action is beep, intensity is ignored)
  2. Duration
  3. Intensity

Note: In some instances, DataPuller will double-count blocks for combos after the first combo is broken, so you may want to modify your comboB accordingly. You can find this out by setting up an overlay and recording your play through OBS. Watch the combo number, and if it goes up by 2 for every bloq on more than one map, take that into account.

Running

You'll need Python 3.9+ and Poetry:

pip install poetry

Install dependencies:

poetry update

Ensure you have the DataPuller mod from Mod Assistant installed, then start up Beat Saber and run ZapSaber!

poetry run python zapsaber.py

Safety

Please note that you are exercising. You are exercising and you are in VR, where you can't see stuff, and you have electronics strapped to your head. It's already a pretty bad idea to wear a shocker around your neck, but you definitely shouldn't in this case. May I suggest the outside of the thigh? It's meaty, safe to zap, and I promise it still smarts quite a bit.

Also, since the possibility of stumbling is real, it's a good idea to set sensible limits on your zaps. Depending on your tolerance, shocking above, say, 15 may not be a good idea. Stumbling and breaking your $1000 Index should be avoided, if possible.