BIS fnc garage: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
No edit summary
m (Text replacement - "(Optional, default {{hl|[]}})" to "(Optional, default <sqf inline>[]</sqf>)")
 
(69 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{Function|= Comments
{{RV|type=function
____________________________________________________________________________________________


| arma3 |= Game name
|game1= arma3
|version1= 1.42


|1.42|= Game version
|gr1= Vehicles
____________________________________________________________________________________________


| Splendid Virtual Arsenal Garage<br><br>
|gr2= Broken Functions


'''Modes''':
|descr= Splendid&trade; Virtual Arsenal Garage.
*"Open" - Open the Arsenal
**0 (Optional): BOOL - true to open full Arsenal, with all categories and items available (default: false)|= Description


____________________________________________________________________________________________
|s1= [mode, params] call [[BIS_fnc_garage]]


| [mode,params] [[call]] [[BIS_fnc_garage]] |= Syntax
|p1= mode: [[String]] - (Optional, default "Open") '''case-sensitive'''. Can be "Open"; other cases are for internal use


|p1= [mode,params]: [[Array]] |= Parameter 1
|p2= params: [[Anything]] - (Optional, default <sqf inline>[]</sqf>) depending on ''mode'', can be:
* "Open": [fullGarage, garageCentre]
** fullGarage: [[Boolean]] - (Optional, default [[false]])
** garageCentre: [[Object]] - (Optional, default [[objNull]]) the garage centre as vehicle; will be deleted on opening


|p2= mode: [[String]] |= Parameter 2
|r1= [[Nothing]]


|p3= params: [[Any]] |= Parameter 3
|x1= <sqf>[] call BIS_fnc_garage;</sqf>


| [[Nothing]] |= Return value
|x2= <sqf>
____________________________________________________________________________________________
player addAction ["Open Garage", {


|x1= <code>["Open",true] [[call]] BIS_fnc_garage;</code>|=
// create a position 30 meters infront of the player
|x2= <code>[[this]] [[addAction]] ["Open Garage",{
_pos = player getPos [30,getDir player];


//Create a position 30 meters infront of the player
// create empty helipad at the position and save it in the global variable BIS_fnc_garage_center
_pos = [ [[player]], 30, [[getDir]] [[player]] ] [[call]] [[BIS_fnc_relPos]];
BIS_fnc_garage_center = createVehicle ["Land_HelipadEmpty_F", _pos, [], 0, "CAN_COLLIDE"];


//Create empty helipad at the position and save it in the global variable BIS_fnc_garage_center
["Open", true] call BIS_fnc_garage;
BIS_fnc_garage_center = [[createVehicle]] [ "Land_HelipadEmpty_F", _pos, [], 0, "CAN_COLLIDE" ];  
}];
</sqf>
 
|x3= <sqf>
player addAction ["Open Garage", {
 
// create a position 30 meters infront of the player
_pos = player getPos [30, getDir player];


[ "Open", [[true]] <nowiki>]</nowiki> [[call]] [[BIS_fnc_garage]];  
// create empty helipad at the position
_vehicle = createVehicle ["Land_HelipadEmpty_F", _pos, [], 0, "CAN_COLLIDE"];
 
// pass created vehicle to function for use as position
["Open", [true, _vehicle]] call BIS_fnc_garage;
}];
}];
</code>|=
</sqf>
|x3= <code>[[this]] [[addAction]] ["Open Garage",{


//Create a position 30 meters infront of the player
|seealso= [[BIS_fnc_arsenal]] [[Arsenal]]
_pos = [ [[player]], 30, [[getDir]] [[player]] ] [[call]] [[BIS_fnc_relPos]];
}}


//Create empty helipad at the position
{{Note
_vehicle = [[createVehicle]] [ "Land_HelipadEmpty_F", _pos, [], 0, "CAN_COLLIDE" ];
|user= Larrow
|timestamp= 20150531070900
|text= Available namespace variables
<sqf>missionNamespace
BIS_fnc_arsenal_center // copy of BIS_fnc_garage_center
BIS_fnc_arsenal_fullGarage // holds param 1 of "open" statement
BIS_fnc_arsenal_group // Group spawned vehicle is created in, default players group
BIS_fnc_arsenal_type // --- 0 - Arsenal, 1 - Garage
BIS_fnc_garage_center // Hold a reference to an OBJECT of where to spawn selected garage vehicle
BIS_fnc_garage_centerType // ? // default selected vehicle model from config
BIS_fnc_garage_data // Array of vehicles for garage tabs - see below
BIS_fnc_garage_turretPaths // ? // []


//Pass created vehicle to function for use as position
uiNamespace
["Open",[ [[true]], _vehicle ]<nowiki>]</nowiki> [[call]] [[BIS_fnc_garage]];
BIS_fnc_arsenal_cam // null if arsenal is not open else holds reference to arsenal display
}];
BIS_fnc_arsenal_toggleSpace // ?
</code>|=
BIS_fnc_garage_defaultClass // Default class to display
____________________________________________________________________________________________
BIS_fnc_garage_stats // min and max values of config ["maxspeed","armor","fuelcapacity","threat"] of cfgVehicles >> crew
</sqf>
 
Available scripted eventHandlers
<sqf>
// [namespace event is stored in, event name, passed variables]
[missionNamespace, "garageOpened", [_display, _toggleSpace]]
[missionNamespace, "garageClosed", [displayNull, uiNamespace getVariable ["BIS_fnc_arsenal_toggleSpace", false]]]
</sqf>
 
Structure of BIS_fnc_garage_data
<sqf>
BIS_fnc_garage_data = [
// CARS
[
//model
"\a3\soft_f\offroad_01\offroad_01_unarmed_f",
// config paths of classes that use above model
[
config.bin/CfgVehicles/C_Offroad_01_F,
config.bin/CfgVehicles/B_G_Offroad_01_F
],
"\a3\soft_f\mrap_02\mrap_02_gmg_f",
[
config.bin/CfgVehicles/O_MRAP_02_gmg_F
]
],
[], // ARMOR
[], // HELIS
[], // PLANES
[], // NAVAL
[] // STATICS
]
</sqf>
}}


| [[Arsenal]]|= See also
{{Note
|user= .kju
|timestamp= 20180501144000
|text= The above overview isn't fully correct:


# BIS_fnc_garage_centerType returns by default the model path of the "default class" <sqf>getText (configFile >> "cfgvehicles" >> _classDefault >> "model")</sqf> yet once a vehicle is selected it returns its class name.
# BIS_fnc_garage_center returns by default the player reference, yet otherwise the created vehicle object
}}
}}

Latest revision as of 18:09, 8 November 2023

Hover & click on the images for description

Description

Description:
Splendid™ Virtual Arsenal Garage.
Execution:
call
Groups:
VehiclesBroken Functions

Syntax

Syntax:
[mode, params] call BIS_fnc_garage
Parameters:
mode: String - (Optional, default "Open") case-sensitive. Can be "Open"; other cases are for internal use
params: Anything - (Optional, default []) depending on mode, can be:
  • "Open": [fullGarage, garageCentre]
    • fullGarage: Boolean - (Optional, default false)
    • garageCentre: Object - (Optional, default objNull) the garage centre as vehicle; will be deleted on opening
Return Value:
Nothing

Examples

Example 1:
[] call BIS_fnc_garage;
Example 2:
player addAction ["Open Garage", { // create a position 30 meters infront of the player _pos = player getPos [30,getDir player]; // create empty helipad at the position and save it in the global variable BIS_fnc_garage_center BIS_fnc_garage_center = createVehicle ["Land_HelipadEmpty_F", _pos, [], 0, "CAN_COLLIDE"]; ["Open", true] call BIS_fnc_garage; }];
Example 3:
player addAction ["Open Garage", { // create a position 30 meters infront of the player _pos = player getPos [30, getDir player]; // create empty helipad at the position _vehicle = createVehicle ["Land_HelipadEmpty_F", _pos, [], 0, "CAN_COLLIDE"]; // pass created vehicle to function for use as position ["Open", [true, _vehicle]] call BIS_fnc_garage; }];

Additional Information

See also:
BIS_fnc_arsenal Arsenal

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
Larrow - c
Posted on May 31, 2015 - 07:09 (UTC)
Available namespace variables
missionNamespace BIS_fnc_arsenal_center // copy of BIS_fnc_garage_center BIS_fnc_arsenal_fullGarage // holds param 1 of "open" statement BIS_fnc_arsenal_group // Group spawned vehicle is created in, default players group BIS_fnc_arsenal_type // --- 0 - Arsenal, 1 - Garage BIS_fnc_garage_center // Hold a reference to an OBJECT of where to spawn selected garage vehicle BIS_fnc_garage_centerType // ? // default selected vehicle model from config BIS_fnc_garage_data // Array of vehicles for garage tabs - see below BIS_fnc_garage_turretPaths // ? // [] uiNamespace BIS_fnc_arsenal_cam // null if arsenal is not open else holds reference to arsenal display BIS_fnc_arsenal_toggleSpace // ? BIS_fnc_garage_defaultClass // Default class to display BIS_fnc_garage_stats // min and max values of config ["maxspeed","armor","fuelcapacity","threat"] of cfgVehicles >> crew
Available scripted eventHandlers
// [namespace event is stored in, event name, passed variables] [missionNamespace, "garageOpened", [_display, _toggleSpace]] [missionNamespace, "garageClosed", [displayNull, uiNamespace getVariable ["BIS_fnc_arsenal_toggleSpace", false]]]
Structure of BIS_fnc_garage_data
BIS_fnc_garage_data = [ // CARS [ //model "\a3\soft_f\offroad_01\offroad_01_unarmed_f", // config paths of classes that use above model [ config.bin/CfgVehicles/C_Offroad_01_F, config.bin/CfgVehicles/B_G_Offroad_01_F ], "\a3\soft_f\mrap_02\mrap_02_gmg_f", [ config.bin/CfgVehicles/O_MRAP_02_gmg_F ] ], [], // ARMOR [], // HELIS [], // PLANES [], // NAVAL [] // STATICS ]
.kju - c
Posted on May 01, 2018 - 14:40 (UTC)
The above overview isn't fully correct:
  1. BIS_fnc_garage_centerType returns by default the model path of the "default class"
    getText (configFile >> "cfgvehicles" >> _classDefault >> "model")
    yet once a vehicle is selected it returns its class name.
  2. BIS_fnc_garage_center returns by default the player reference, yet otherwise the created vehicle object