Registering new effects

This required Codeware and Redscript.

Prerequisites

  • You already have an .es file with your custom effect

  • Using the method below will add Redscript and Codeware to your mod's dependencies

Merging your custom .es file into static_effects.csv

Create a new file in r6/scripts/yourname and call it something like registerEffects.reds. Paste the following content:

Originally provided by psibex
class EffectFactoryTest extends ScriptableService {
    private cb func OnLoad() {
        GameInstance.GetCallbackSystem().RegisterCallback(n"Resource/Loaded", this, n"OnEffectFactoryLoad")
            .AddTarget(ResourceTarget.Path(r"base\gameplay\game_effects\static_effects.csv"));
    }
    private cb func OnEffectFactoryLoad(event: ref) {
        let csv = event.GetResource() as C2dArray;
        ArrayPush(csv.data, ["my_effect", "mymod\effect.es"]);
    }
}

That's it. After this script gets executed, your effect is now available.

Last updated