modParams: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
No edit summary
m (Some wiki formatting)
 
(11 intermediate revisions by 3 users not shown)
Line 6: Line 6:
|gr1= Mods and Addons
|gr1= Mods and Addons


|descr= Returns list of mod parameters according to given options, values are in same order as the given options. Available options are:
|descr= Returns list of mod parameters according to given options, values are in same order as the given options.
{{{!}} style{{=}}"border-spacing: 1.5em 0"
 
{{!}} <tt>"name"</tt> {{!}}{{!}} [[String]] {{!}}{{!}} Name to be shown (Arma 3 instead of A3, etc.)
|s1= [[modParams]] [modClass, options]
 
|p1= modClass: [[String]] - mod classname
 
|p2= options: [[Array]] of [[String]]s - can be: <spoiler>
{{{!}} class="wikitable"
! Option
! [[:Category:Data Types|Data Type]]
! Description
{{!}}-
{{!}} {{hl|"name"}}
{{!}} [[String]]
{{!}} Name to be shown (Arma 3 instead of A3, etc.)
{{!}}-
{{!}}-
{{!}} <tt>"picture"</tt> {{!}}{{!}} [[String]] {{!}}{{!}} Picture shown in Mod Launcher
{{!}} {{hl|"picture"}}
{{!}} [[String]]
{{!}} Picture shown in Mod Launcher
{{!}}-
{{!}}-
{{!}} <tt>"logo"</tt> {{!}}{{!}} [[String]] {{!}}{{!}} Logo to be shown in Main Menu
{{!}} {{hl|"logo"}}
{{!}} [[String]]
{{!}} Logo to be shown in Main Menu
{{!}}-
{{!}}-
{{!}} <tt>"logoOver"</tt> {{!}}{{!}} [[String]] {{!}}{{!}} Logo to be shown in Main Menu when mouse is over
{{!}} {{hl|"logoOver"}}
{{!}} [[String]]
{{!}} Logo to be shown in Main Menu when mouse is over
{{!}}-
{{!}}-
{{!}} <tt>"logoSmall"</tt> {{!}}{{!}} [[String]] {{!}}{{!}} Small version of logo, prepared for drawing small icons
{{!}} {{hl|"logoSmall"}}
{{!}} [[String]]
{{!}} Small version of logo, prepared for drawing small icons
{{!}}-
{{!}}-
{{!}} <tt>"tooltip"</tt> {{!}}{{!}} [[String]] {{!}}{{!}} Tooltip to be shown on mouse over  
{{!}} {{hl|"tooltip"}}
{{!}} [[String]]
{{!}} Tooltip to be shown on mouse over  
{{!}}-
{{!}}-
{{!}} <tt>"tooltipOwned"</tt> {{!}}{{!}} [[String]] {{!}}{{!}} Tooltip to be shown on mouse over the icon when DLC is owned by player
{{!}} {{hl|"tooltipOwned"}}
{{!}} [[String]]
{{!}} Tooltip to be shown on mouse over the icon when DLC is owned by player
{{!}}-
{{!}}-
{{!}} <tt>"action"</tt> {{!}}{{!}} [[String]] {{!}}{{!}} URL to be triggered when mod button is clicked
{{!}} {{hl|"action"}}
{{!}} [[String]]
{{!}} URL to be triggered when mod button is clicked
{{!}}-
{{!}}-
{{!}} <tt>"actionName"</tt> {{!}}{{!}} [[String]] {{!}}{{!}} What to put on Action Button
{{!}} {{hl|"actionName"}}
{{!}} [[String]]
{{!}} What to put on Action Button
{{!}}-
{{!}}-
{{!}} <tt>"overview"</tt> {{!}}{{!}} [[String]] {{!}}{{!}} Overview text visible in expansion menu
{{!}} {{hl|"overview"}}
{{!}} [[String]]
{{!}} Overview text visible in expansion menu
{{!}}-
{{!}}-
{{!}} <tt>"hidePicture"</tt> {{!}}{{!}} [[Boolean]] {{!}}{{!}} Do not show mod picture icon in the main menu mod list
{{!}} {{hl|"hidePicture"}}
{{!}} [[Boolean]]
{{!}} Do not show mod picture icon in the main menu mod list
{{!}}-
{{!}}-
{{!}} <tt>"hideName"</tt> {{!}}{{!}} [[Boolean]] {{!}}{{!}} Do not show mod name in the main menu mod list
{{!}} {{hl|"hideName"}}
{{!}} [[Boolean]]
{{!}} Do not show mod name in the main menu mod list
{{!}}-
{{!}}-
{{!}} <tt>"defaultMod"</tt> {{!}}{{!}} [[Boolean]] {{!}}{{!}} Default mods cannot be moved or disabled by Mod Launcher
{{!}} {{hl|"defaultMod"}}
{{!}} [[Boolean]]
{{!}} Default mods cannot be moved or disabled by Mod Launcher
{{!}}-
{{!}}-
{{!}} <tt>"serverOnly"</tt> {{!}}{{!}} [[Boolean]] {{!}}{{!}} Mod does not have to be installed on client in order to play on server with this mod running
{{!}} {{hl|"serverOnly"}}
{{!}} [[Boolean]]
{{!}} Mod does not have to be installed on client in order to play on server with this mod running
{{!}}-
{{!}}-
{{!}} <tt>"active"</tt> {{!}}{{!}} [[Boolean]] {{!}}{{!}} Active mod (activated through command line or stored in profile by mod launcher)
{{!}} {{hl|"active"}}
{{!}} [[Boolean]]
{{!}} Active mod (activated through command line or stored in profile by mod launcher)
{{Feature|important|Note that {{hl|"active"}} does not actually tell if a mod is actually running.}}
{{!}}}
{{!}}}
{{Feature | Informative | Please note that <tt>"active"</tt> Does not actually tell you if a mod is running / pretends to be running.}}
</spoiler>
 
|s1= [[modParams]] [modClass, options]


|p1= modClass: [[String]] - Class name of the mod
|r1= [[Array]] - retrieved requested data on success or empty array {{hl|[]}}


|p2= options: [[Array]] - See description
|x1= <sqf>_data = modParams ["Kart", ["name", "logo", "picture"]];</sqf>


|r1= [[Array]] - Retrieved requested data on success or empty array {{ic|[]}}
|seealso= [[configSourceModList]] [[configSourceMod]]
 
|x1= <code>_data = [[modParams]] ["Kart", ["name", "logo", "picture"]];</code>
 
|seealso= [[configSourceModList]], [[configSourceMod]]
}}
}}


<dl class="command_description">
{{Note
 
|user= Killzone_Kid
<dt><dt>
|timestamp= 20170424212500
<dd class="notedate">Posted on April 24, 2017 - 21:25 (UTC)</dd>
|text= This command used to spam .[[rpt]] when queried mod didn't exist, making it little awkward to use for testing if mod is active. For example:  
<dt class="note">[[User:Killzone Kid|Killzone Kid]]</dt>
<sqf>_superDuperModEnabled = modParams ["super_duper", ["active"]] param [0, false];</sqf>
<dd class="note">This command used to spam .[[rpt]] when queried mod didn't exist, making it little awkward to use for testing if mod is active. For example:  
<code>_superDuperModEnabled = [[modParams]] ["super_duper", ["active"]] [[param]] [0, [[false]]];</code>
Since v1.69 the command would fail silently if mod didn't exist, but would still log .rpt error if the mod name passed to the command was empty or there was an error processing one of the passed options.
Since v1.69 the command would fail silently if mod didn't exist, but would still log .rpt error if the mod name passed to the command was empty or there was an error processing one of the passed options.
</dd>
}}


<dt></dt>
{{Note
<dd class="notedate">Posted on February 26, 2021 - 16:42 (UTC)</dd>
|user= heyoxe
<dt class="note">[[User:heyoxe|heyoxe]]</dt>
|timestamp= 20210226164200
<dd class="note">
|text= For each value, it will first read the value from the {{hl|mod.cpp}} file, if the value is not in it (or the files does not exist), it will try to read it from the {{hl|CfgMods}} entry as long as it has the '''exact''' same name. If you try to get {{hl|"name"}} and the command cannot find it in either of those locations, it will return the same value as the {{hl|modClass}} input.<br>
For each value, it will first read the value from the <tt>mod.cpp</tt> file, if the value is not in it (or the files does not exist), it will try to read it from the <tt>CfgMods</tt> entry as long as it has the '''exact''' same name. If you try to get <tt>"name"</tt> and the command cannot find it in either of those locations, it will return the same value as the <tt>modClass</tt> input.<br>
In practice, this means that content from user mods will always be read from {{hl|mod.cpp}} and never from the {{hl|CfgMods}}.
In practice, this means that content from user mods will always be read from <tt>mod.cpp</tt> and never from the <tt>CfgMods</tt>.
}}
</dd>
 
</dl>


{{Note
{{Note
|user= mikero
|user= mikero
|timestamp= 20211007162117
|timestamp= 20211007162117
|text= Later versions of PboProject and it's friends will '''never''' allow a cfgmods to appear in a pbo. Instead, if not present, it will scribble it out to a mod.cpp
|text= Later versions of PboProject and its friends with arma as the intended engine, will '''never''' allow a cfgmods to appear in a pbo. Instead, it will scribble it out to a mod.cpp in the mods\ folder that this pbo was intended for.
}}
}}

Latest revision as of 16:04, 27 July 2022

Hover & click on the images for description

Description

Description:
Returns list of mod parameters according to given options, values are in same order as the given options.
Groups:
Mods and Addons

Syntax

Syntax:
modParams [modClass, options]
Parameters:
modClass: String - mod classname
options: Array of Strings - can be:
Option Data Type Description
"name" String Name to be shown (Arma 3 instead of A3, etc.)
"picture" String Picture shown in Mod Launcher
"logo" String Logo to be shown in Main Menu
"logoOver" String Logo to be shown in Main Menu when mouse is over
"logoSmall" String Small version of logo, prepared for drawing small icons
"tooltip" String Tooltip to be shown on mouse over
"tooltipOwned" String Tooltip to be shown on mouse over the icon when DLC is owned by player
"action" String URL to be triggered when mod button is clicked
"actionName" String What to put on Action Button
"overview" String Overview text visible in expansion menu
"hidePicture" Boolean Do not show mod picture icon in the main menu mod list
"hideName" Boolean Do not show mod name in the main menu mod list
"defaultMod" Boolean Default mods cannot be moved or disabled by Mod Launcher
"serverOnly" Boolean Mod does not have to be installed on client in order to play on server with this mod running
"active" Boolean Active mod (activated through command line or stored in profile by mod launcher)
Note that "active" does not actually tell if a mod is actually running.
↑ Back to spoiler's top
Return Value:
Array - retrieved requested data on success or empty array []

Examples

Example 1:
_data = modParams ["Kart", ["name", "logo", "picture"]];

Additional Information

See also:
configSourceModList configSourceMod

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note
Killzone_Kid - c
Posted on Apr 24, 2017 - 21:25 (UTC)
This command used to spam .rpt when queried mod didn't exist, making it little awkward to use for testing if mod is active. For example:
_superDuperModEnabled = modParams ["super_duper", ["active"]] param [0, false];
Since v1.69 the command would fail silently if mod didn't exist, but would still log .rpt error if the mod name passed to the command was empty or there was an error processing one of the passed options.
heyoxe - c
Posted on Feb 26, 2021 - 16:42 (UTC)
For each value, it will first read the value from the mod.cpp file, if the value is not in it (or the files does not exist), it will try to read it from the CfgMods entry as long as it has the exact same name. If you try to get "name" and the command cannot find it in either of those locations, it will return the same value as the modClass input.
In practice, this means that content from user mods will always be read from mod.cpp and never from the CfgMods.
mikero - c
Posted on Oct 07, 2021 - 16:21 (UTC)
Later versions of PboProject and its friends with arma as the intended engine, will never allow a cfgmods to appear in a pbo. Instead, it will scribble it out to a mod.cpp in the mods\ folder that this pbo was intended for.