← Home SEEBIE90 DOCS
The SOFLAM Integration Core mod is published under the Arma Public License (APL)Example code is free to useSuggestions: Discord to the author

For other modders

1. Add the Core as a dependency New

One line in addon.gproj. Everything else in this section rests on it: the Core's classes exist for your scripts only if the Core is a dependency of your addon.

In plain wordsPut the Core's GUID into your addon.gproj. Without it, your scripts cannot see the Core's classes.
1. Get the Core→2. addon.gproj→3. One copy only→4. Prefix your classes→5. Check the compile

Step 1 – Get the Core

The Core is on the Arma Reforger Workshop: SOFLAM Integration Core. Its own project file says everything about it that matters here:

Example code – free to useSOFLAM Integration Core / addon.gproj
GameProject {
 ID "SOFLAMIntegrationCore"
 GUID "6A48B52029EA0F9A"
 TITLE "SOFLAM Integration Core"
 Dependencies {
  "58D0FB3206B6F859"
 }
}

The only dependency of the Core is the game itself (58D0FB3206B6F859). It has no dependency on WCS Armaments or any other mod, so it does not tie you to a WCS version.

Step 2 – List its GUID in your addon.gproj

Add 6A48B52029EA0F9A to the Dependencies of your addon. This is what the AH-1Z mod does (the other GUIDs are the game, the AH-1Z base mod and WCS Armaments):

Example code – free to useyour addon / addon.gproj
GameProject {
 ID "MyMod"
 GUID "<your own GUID>"
 TITLE "My mod"
 Dependencies {
  "6A48B52029EA0F9A" "58D0FB3206B6F859" "68981B7716C2E9DB" "629B2BA37EFFD577"
 }
}
NoteKeep your own ID, GUID and TITLE; only the dependency list is shared knowledge. A minimal mod needs just the game and the Core: "58D0FB3206B6F859" "6A48B52029EA0F9A".

Step 3 – Use one copy of the Core only

List the GUID from step 2 and no other build of the Core. Never load two copies of the Core at the same time (for example a second build you test with): two addons that define the same class break the compile, for every player. Publish your mod against the GUID above.

Step 4 – Prefix your classes

Your classes, RPC methods and input actions need a prefix of your own. If two addons define a class with the same name, EnforceScript does not report “one mod is broken”; it breaks the whole script module, for every player on the server. The same goes for a compile error in any loaded mod. That is why the Core uses GTG_SOFLAM_ for everything, and why the sibling aircraft mods use GTG_AH64_, GTG_AH1Z_ and so on.

Step 5 – Check that it compiles

Open your addon in the Workbench and let the scripts compile. A reference to GTG_SOFLAM_LaserTargetManager in your script is resolved at compile time. If the Core is not a dependency, that line is a compile error, and the whole script module fails.

What happens when the Core is missing

SituationResult
Your script mentions GTG_SOFLAM_*, the Core is not a dependencyCompile error in your addon. A compile error in any loaded mod takes the script module down for everybody on the server.
The Core is a dependency, so your mod cannot do its job without itSay required in your Workshop description, as the AH-64 mod does (“REQUIRED, please subscribe”).
You want the Core to be optionalA script reference cannot be optional. Use a bridge addon instead – step 5.
NoteIn the existing mods the dependency is a plain addon.gproj entry and every call into the Core is a normal compile-time reference. None of the mods checked reaches into the Core by name at runtime.
Example code on this page is free to use in your own projects (credit appreciated). The SOFLAM Integration Core mod is published under the Arma Public License (APL). Suggestions: Discord. Arma Reforger / Enfusion are trademarks of Bohemia Interactive.
Impressum · Privacy Policy