Mr H. 402 Posted September 15, 2019 I have the following config for a custom module. The module works fine and all but for the life of me I can't get the description to show when I double click on it in the editor. I have read again and again the (I think) quite cryptic doc. And simply can't figure it out Spoiler class Logic; class Module_F: Logic { class ArgumentsBaseUnits { class Units; }; class ModuleDescription; class AttributesBase { class Default; class Edit; class Combo; class Checkbox; class CheckboxNumber; class Units; }; }; class MRH_physicalHeli : Module_F { scope = 2; // Editor visibility; 2 will show it in the menu, 1 will hide it. scopeCurator = 1; // Curator visibility; 2 will show it in the menu, 1 will hide it. displayName = "MRH Is Heli Taxi"; // Name displayed in the menu icon = "\MRHHeliTaxi\Paa\heli.paa"; // Map icon. Delete this entry to use the default icon picture = "\MRHHeliTaxi\Paa\heli.paa"; portrait = "\MRHHeliTaxi\Paa\heli.paa"; vehicleClass = "Modules"; category = "MRH_MilsimTools_Modules"; function = "MRH_fnc_MilsimTools_HeliTaxi_isTaxiModuleInit"; // Name of function triggered once conditions are met functionPriority = 1; // Execution priority, modules with lower number are executed first. 0 is used when the attribute is undefined isGlobal = 0; // 0 for server only execution, 1 for remote execution on all clients upon mission start, 2 for persistent execution isTriggerActivated = 0; // 1 for module waiting until all synced triggers are activated isDisposable = 0; // 1 if modules is to be disabled once it's activated (i.e., repeated trigger activation won't work) dlc = "MRHMilsimTools"; class Attributes: AttributesBase { class Units: Units { property="MRH_HeliModule_Synched"; }; }; class ArgumentsBaseUnits{class Units;}; class Arguments: ArgumentsBaseUnits { class Units: Units { }; }; class ModuleDescription : ModuleDescription { description="Description"; sync[]= { "AnyVehicle" }; class AnyVehicle { description[] = { // Multi-line descriptions are supported "First line", "Second line" }; position = 0; // Position is taken into effect direction = 0; // Direction is taken into effect optional = 0; // Synced entity is optional duplicate = 1; // Multiple entities of this type can be synced synced[] = {"AnyVehicle"}; // Pre-define entities like "AnyBrain" can be used. See the list below }; }; }; Share this post Link to post Share on other sites
Mr H. 402 Posted September 15, 2019 Answering my own question: this seems to be the proper way. I still have doubts however about the sync/synced entities. The function does get anything the module it's synced too but I'd like to understand the sync things better. Spoiler class Logic; class Module_F: Logic { class ArgumentsBaseUnits { class Units; }; class ModuleDescription { class Anything; class AnyPerson; //class AnyVehicle; class AnyVehicle { description[] = { // Multi-line descriptions are supported "First line", "Second line" }; }; class AnyStaticObject; class AnyBrain; class AnyAI; class AnyPlayer; class Curator_F; class EmptyDetector; class Condition; }; class AttributesBase { class Default; class Edit; class Combo; class Checkbox; class CheckboxNumber; class ModuleDescription; class Units; }; }; class MRH_physicalHeli : Module_F { scope = 2; // Editor visibility; 2 will show it in the menu, 1 will hide it. scopeCurator = 1; // Curator visibility; 2 will show it in the menu, 1 will hide it. displayName = "MRH Is Heli Taxi"; // Name displayed in the menu icon = "\MRHHeliTaxi\Paa\heli.paa"; // Map icon. Delete this entry to use the default icon picture = "\MRHHeliTaxi\Paa\heli.paa"; portrait = "\MRHHeliTaxi\Paa\heli.paa"; vehicleClass = "Modules"; category = "MRH_MilsimTools_Modules"; function = "MRH_fnc_MilsimTools_HeliTaxi_isTaxiModuleInit"; // Name of function triggered once conditions are met functionPriority = 1; // Execution priority, modules with lower number are executed first. 0 is used when the attribute is undefined isGlobal = 0; // 0 for server only execution, 1 for remote execution on all clients upon mission start, 2 for persistent execution isTriggerActivated = 0; // 1 for module waiting until all synced triggers are activated isDisposable = 0; // 1 if modules is to be disabled once it's activated (i.e., repeated trigger activation won't work) dlc = "MRHMilsimTools"; class Attributes: AttributesBase { class Units: Units { property="MRH_HeliModule_Synched"; }; class ModuleDescription : ModuleDescription {}; }; //class ArgumentsBaseUnits{class Units;}; class Arguments: ArgumentsBaseUnits { class Units: Units { }; }; class ModuleDescription : ModuleDescription { description="Makes a helicopter slaved to a group. One helicopter in a different group must be synced with one unit from a group. The group will then have control of that helicopter provided they fit the conditions to call it (see options)"; position = 0; // Position is taken into effect direction = 0; // Direction is taken into effect optional = 0; // Synced entity is optional duplicate = 0; // Multiple entities of this type can be synced synced[] = {"AnyVehicle","AnyPerson"}; // Pre-define entities like "AnyBrain" can be used. See the list below sync[]= { "AnyVehicle","AnyPerson" }; }; }; Share this post Link to post Share on other sites