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.
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:
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):
GameProject {
ID "MyMod"
GUID "<your own GUID>"
TITLE "My mod"
Dependencies {
"6A48B52029EA0F9A" "58D0FB3206B6F859" "68981B7716C2E9DB" "629B2BA37EFFD577"
}
}
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
| Situation | Result |
|---|---|
Your script mentions GTG_SOFLAM_*, the Core is not a dependency | Compile 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 it | Say required in your Workshop description, as the AH-64 mod does (“REQUIRED, please subscribe”). |
| You want the Core to be optional | A script reference cannot be optional. Use a bridge addon instead – step 5. |
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.