BIS fnc initVehicle: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "<h3 style="display:none">Bottom Section</h3>" to "")
m (Text replacement - "[[Arma 3: Vehicle Customization" to "[[Arma 3: Vehicle Customisation")
 
(31 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Function
{{RV|type=function


| arma3
|game1= arma3
|version1= 1.42


|1.42
|arg= local


|arg= local |Argument=
|eff= global


|eff= global |Effect=
|gr1= Vehicles


|gr1 = Vehicles
|descr= This function changes the textures, animation sources and/or mass of a given vehicle.<br>
Unless explicitly mentioned , the function will restore the initial state of every animation sources of the given object (see {{Link|#Example 3}}).


| This function changes the textures, animation sources and/or mass of a given vehicle.<br>
|s1= [vehicle, variant, animations, mass] call [[BIS_fnc_initVehicle]]
The use of '''BIS_fnc_initVehicle_customization''' variable in a vehicle's init field is possible (see '''Example 4''')
{{Informative|Unless explicitly mentioned (see '''Example 3'''), the function will restore the initial state of every animation sources of the given object.}}
 
'''Additional information:'''
* [http://dev.arma3.com/post/oprep-vehicle-customization OPREP]
* [[Vehicle_Customization_(VhC)]]
<!--
=========================
The following are examples from function's header
=========================
 
1) Do nothing because default VAR texture and VAR animation are "false"
result = [this] call bis_fnc_initVehicle;
 
2) Restore default texture and animation sources (reset)
result = [this, true, true] call bis_fnc_initVehicle;
 
3) Randomize everything according to the config file
result = [this, "", []] call bis_fnc_initVehicle; //<-- Preferred
result = [this, "", ""] call bis_fnc_initVehicle;
 
4) Skip everything
result = [this, nil, nil] call bis_fnc_initVehicle; //<-- Prefered
result = [this, false, false] call bis_fnc_initVehicle;
 
5) Apply the given texture and ignore the animations
Priority is given to [missionConfigFile, "CfgVehicleTemplates"]
result = [this, "TemplateName", nil] call bis_fnc_initVehicle;
 
6) random weighted on the given texture sources and their probability, then randomize the animation sources according to the config file
result = [this, ["MyTextureSource1", 0.5, "MyTextureSource2", 0.6], []] call bis_fnc_initVehicle;
 
7) MyAnimationSource1 phase has a 50% chance to be set to 1 and MyAnimationSource2 has a 70% chance to be set to 1
result = [this, nil, ["MyAnimationSource1", 0.5, "MyAnimationSource2", 0.7]] call bis_fnc_initVehicle;
 
8) MyAnimationSource1 phase will be 1 whereas MyAnimationSource2 will be set to 0
result = [this, nil, ["MyAnimationSource1", 1, "MyAnimationSource2", 0]] call bis_fnc_initVehicle;
 
9) Change animation sources with a given template
result = [this, nil, "MyTemplate"] call bis_fnc_initVehicle;
 
10) Change animation source with a given array of probabilities but skip the reset of all animation sources
// Algo: Skip the change of texture, [don't reste of the animation sources, proceed the given animation sources with their, probabilities], skip the change of mass
result = [this, nil, [false,"MyAnimationSource1", 0.5, "MyAnimationSource2", 0.8], nil] call bis_fnc_initVehicle;
 
11) Restore the vehicle to its default state as defined in the config (texture, animation sources, mass) (For the texture, the first item of the texture list is used)
result = [this, true, true, true] call bis_fnc_initVehicle;
-->
 
 
| [vehicle, variant, animations, mass] call [[BIS_fnc_initVehicle]]


|p1= vehicle: [[Object]] - vehicle to customize
|p1= vehicle: [[Object]] - vehicle to customize
Line 68: Line 19:
|p2= variant: (Optional, default [[false]])
|p2= variant: (Optional, default [[false]])
* [[Boolean]] - [[true]] to restore default texture source, [[false]] to skip texture source change
* [[Boolean]] - [[true]] to restore default texture source, [[false]] to skip texture source change
* [[Array]] - Array of texture sources with their probability, to format {{Inline code|["textureSource1", 0.5, "textureSource2", 0.5]}}
* [[Array]] - texture sources with their probability in format <sqf inline>["textureSource1", 0.5, "textureSource2", 0.5]</sqf>
* [[String]] - Variant class name - from the <tt>[[configFile]] >> [[CfgVehicles]]</tt> or from the <tt>[[missionConfigFile]] >> [[Description.ext#CfgVehicleTemplates|CfgVehicleTemplates]]</tt>
* [[String]] - variant class name - from <sqf inline>configFile >> "CfgVehicles"</sqf> or <sqf inline>missionConfigFile >> "CfgVehicleTemplates"</sqf> (see [[Description.ext#CfgVehicleTemplates|CfgVehicleTemplates]])
* [[Number]] - index of the texture source (same as the old system)
* [[Number]] - index of the texture source (same as the old system)


|p3= animations: (Optional, default [[false]])
|p3= animations: (Optional, default [[false]])
* [[Boolean]] - [[true]] to restore init phase of every animation sources
* [[Boolean]] - [[true]] to restore init phase of every animation sources
* [[Array]] - Array of animation sources with their probability, to format {{Inline code|["animationSource1", 0.5, "animationSource2", 0.5]}}<br>'''NOTE:''' if the first element is wrong, it will skip the rest of the animation sources
* [[Array]] - animation sources with their probability in format <sqf inline>["animationSource1", 0.5, "animationSource2", 0.5]</sqf>{{Feature|important|
* [[String]] - variant class name - from the <tt>[[configFile]] >> [[CfgVehicles]]</tt> or from the <tt>[[missionConfigFile]] >> [[Description.ext#CfgVehicleTemplates|CfgVehicleTemplates]]</tt>
If the first element is wrong, it will skip the rest of the animation sources!}}
 
* [[String]] - variant class name - from <sqf inline>configFile >> "CfgVehicles"</sqf> or <sqf inline>missionConfigFile >> "CfgVehicleTemplates"</sqf> (see [[Description.ext#CfgVehicleTemplates|CfgVehicleTemplates]])


|p4= mass: (Optional, default [[false]])
|p4= mass: (Optional, default [[false]])
Line 82: Line 33:
* [[Number]] - mass to remove/add to the vehicle
* [[Number]] - mass to remove/add to the vehicle


|r1= [[Boolean]] - function success or not


| [[Boolean]] - function success or not
|x1= <sqf>result = [this, "", []] call BIS_fnc_initVehicle;</sqf>


|x1= <code>result = [<nowiki/>[[this]], "", []] [[call]] [[BIS_fnc_initVehicle]];</code>
|x2= <sqf>result = [this, ["MyTextureSource1", 0.5, "MyTextureSource2", 0.6], []] call BIS_fnc_initVehicle;</sqf>


|x2= <code>result = [<nowiki/>[[this]], ["MyTextureSource1", 0.5, "MyTextureSource2", 0.6], []] [[call]] [[BIS_fnc_initVehicle]];</code>
|x3= <sqf>result = [this, nil, ["MyAnimationSource1", 0.5, "MyAnimationSource2", 0.7]] call BIS_fnc_initVehicle;</sqf>


|x3= <code>result = [<nowiki/>[[this]], [[nil]], ["MyAnimationSource1", 0.5, "MyAnimationSource2", 0.7]] [[call]] [[BIS_fnc_initVehicle]];</code>
|x4= <sqf>
// randomise camo net options with 50% probability
[vehicle player, false, ["showcamonethull", 0.5, "showcamonetturret", 0.5, "showcamonetcannon", 0.5, "showslathull", 0.5]] call BIS_fnc_initVehicle;
</sqf>


|x4= <code>[[this]] [[setVariable]] ["'''BIS_fnc_initVehicle_customization'''", [[false]], [[false]]]; {{codecomment|// set in an init field}}</code>
|x6= <sqf>
// force show all camo net options. Use animationNames to get all available animation sources. Vehicles that don't support certain animations are simply ignored.
[vehicle player, false, ["showcamonethull", 1, "showcamonetturret", 1, "showcamonetcannon", 1, "showslathull", 1]] call BIS_fnc_initVehicle;
</sqf>


| [[Vehicle Customization (VhC)]], [[Description.ext#CfgVehicleTemplates|CfgVehicleTemplates]], [[Description.ext#disableRandomization|disableRandomization]]
|seealso= [[BIS_fnc_saveVehicle]] [[BIS_fnc_loadVehicle]] [[Arma 3: Vehicle Customisation]]
}}
}}
[[Category:Functions|{{uc:initVehicle}}]]
[[Category:{{Name|arma3}}: Functions|{{uc:initVehicle}}]]
<!-- CONTINUE Notes -->
<dl class="command_description">
<dd class="notedate">Posted on December 1, 2018 - 00:25 (UTC)</dd>
<dt class="note">[[User:HazJ|HazJ]]</dt>
<dd class="note">
Randomise camo net options with 50% probability:
<code>result = [vehicle player, FALSE, ["showcamonethull", 0.5, "showcamonetturret", 0.5, "showcamonetcannon", 0.5, "showslathull", 0.5]] [[call]] [[BIS_fnc_initVehicle]];</code>
Force show all camo net options:
<code>result = [vehicle player, FALSE, ["showcamonethull", 1, "showcamonetturret", 1, "showcamonetcannon", 1, "showslathull", 1]] [[call]] [[BIS_fnc_initVehicle]];</code>
Use [[animationNames]] to get all available animation sources. Vehicles that don't support certain animations are simply ignored.
</dd>
</dl>
<!-- DISCONTINUE Notes -->

Latest revision as of 22:57, 8 April 2024

Hover & click on the images for description

Description

Description:
This function changes the textures, animation sources and/or mass of a given vehicle.
Unless explicitly mentioned , the function will restore the initial state of every animation sources of the given object (see Example 3).
Execution:
call
Groups:
Vehicles

Syntax

Syntax:
[vehicle, variant, animations, mass] call BIS_fnc_initVehicle
Parameters:
vehicle: Object - vehicle to customize
variant: (Optional, default false)
animations: (Optional, default false)
  • Boolean - true to restore init phase of every animation sources
  • Array - animation sources with their probability in format ["animationSource1", 0.5, "animationSource2", 0.5]
    If the first element is wrong, it will skip the rest of the animation sources!
  • String - variant class name - from configFile >> "CfgVehicles" or missionConfigFile >> "CfgVehicleTemplates" (see CfgVehicleTemplates)
mass: (Optional, default false)
  • Boolean - true to set the default mass, false to disable the mass change
  • Number - mass to remove/add to the vehicle
Return Value:
Boolean - function success or not

Examples

Example 1:
result = [this, "", []] call BIS_fnc_initVehicle;
Example 2:
result = [this, ["MyTextureSource1", 0.5, "MyTextureSource2", 0.6], []] call BIS_fnc_initVehicle;
Example 3:
result = [this, nil, ["MyAnimationSource1", 0.5, "MyAnimationSource2", 0.7]] call BIS_fnc_initVehicle;
Example 4:
// randomise camo net options with 50% probability [vehicle player, false, ["showcamonethull", 0.5, "showcamonetturret", 0.5, "showcamonetcannon", 0.5, "showslathull", 0.5]] call BIS_fnc_initVehicle;
Example 6:
// force show all camo net options. Use animationNames to get all available animation sources. Vehicles that don't support certain animations are simply ignored. [vehicle player, false, ["showcamonethull", 1, "showcamonetturret", 1, "showcamonetcannon", 1, "showslathull", 1]] call BIS_fnc_initVehicle;

Additional Information

See also:
BIS_fnc_saveVehicle BIS_fnc_loadVehicle Arma 3: Vehicle Customisation

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