From 1aa53098939ca256caefa26e3cb421aedf9ef40c Mon Sep 17 00:00:00 2001 From: Spoffy Date: Thu, 5 Jan 2023 23:38:09 +0000 Subject: [PATCH 01/34] Fixes team change function --- .../functions/core/teams/fn_force_team_change.sqf | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/mission/functions/core/teams/fn_force_team_change.sqf b/mission/functions/core/teams/fn_force_team_change.sqf index d001391d..dd475c8e 100644 --- a/mission/functions/core/teams/fn_force_team_change.sqf +++ b/mission/functions/core/teams/fn_force_team_change.sqf @@ -22,20 +22,16 @@ private _playerGroup = _player getVariable ["vn_mf_db_player_group", "FAILED"]; private _playerGroupArray = missionNamespace getVariable [_playerGroup,[]]; ["changedTeams", [_player, _team]] call para_g_fnc_event_dispatch; -_player setVariable ["vn_mf_db_player_group", _team, true]; // Remove the player from their original team's group array _playerGroupArray deleteAt (_playerGroupArray find _player); -missionNamespace setVariable [_playerGroup, _playerGroupArray]; publicVariable _playerGroup; -// add them to the new team -private _nextPlayerTeam = _player getVariable ["vn_mf_db_player_group", "FAILED"]; -private _nextPlayerTeamArray = missionNamespace getVariable [_nextPlayerTeam, []]; +// Add the player to the new team's player list. +_player setVariable ["vn_mf_db_player_group", _team, true]; +private _nextPlayerTeamArray = missionNamespace getVariable [_team, []]; _nextPlayerTeamArray pushBackUnique _player; - -missionNamespace setVariable [_nextPlayerGroup, _nextPlayerGroupArray]; -publicVariable _nextPlayerGroup; +publicVariable _nextPlayerTeam; [[_team], { [] call vn_mf_fnc_task_refresh_tasks_client; From 90be15c01ab3171fe5efb14e3e7e80f21bbf9de9 Mon Sep 17 00:00:00 2001 From: Spoffy Date: Sat, 7 Jan 2023 19:51:55 +0000 Subject: [PATCH 02/34] Refactors zone progression, for clarity and robustness --- mission/config/functions.hpp | 2 + .../ui/taskroster/fn_tr_overview_init.sqf | 6 +- .../director/fn_director_complete_zone.sqf | 39 ++++++++++ .../systems/director/fn_director_init.sqf | 26 ++++--- .../systems/director/fn_director_job.sqf | 76 ++++--------------- .../fn_director_open_connected_zones.sqf | 12 +-- .../director/fn_director_open_zone.sqf | 18 ++++- .../fn_director_process_active_zone.sqf | 61 +++++++++++++++ .../systems/tasks/fn_task_complete.sqf | 2 +- .../functions/systems/zones/fn_zones_init.sqf | 4 - .../systems/zones/fn_zones_manager_job.sqf | 4 +- .../defend/fn_task_defend_counterattack.sqf | 14 +--- mission/functions/tasks/fn_zone_connector.sqf | 6 +- .../tasks/primary/fn_task_pri_capture.sqf | 10 --- 14 files changed, 169 insertions(+), 111 deletions(-) create mode 100644 mission/functions/systems/director/fn_director_complete_zone.sqf create mode 100644 mission/functions/systems/director/fn_director_process_active_zone.sqf diff --git a/mission/config/functions.hpp b/mission/config/functions.hpp index 29bf1f83..86b58344 100644 --- a/mission/config/functions.hpp +++ b/mission/config/functions.hpp @@ -178,8 +178,10 @@ class CfgFunctions class director_init {}; class director_job {}; class director_check_mission_end {}; + class director_complete_zone {}; class director_open_connected_zones {}; class director_open_zone {}; + class director_process_active_zone {}; class director_zones_in_range_of_bases {}; }; diff --git a/mission/functions/core/ui/taskroster/fn_tr_overview_init.sqf b/mission/functions/core/ui/taskroster/fn_tr_overview_init.sqf index ef929c5e..a4656a36 100644 --- a/mission/functions/core/ui/taskroster/fn_tr_overview_init.sqf +++ b/mission/functions/core/ui/taskroster/fn_tr_overview_init.sqf @@ -71,8 +71,10 @@ if(!isNull _task)then }; //set Zone names and setup the Ctrl with the proper Filter +private _activeZoneNames = missionNamespace getVariable ["mf_g_dir_activeZoneNames", []]; + { - if(_forEachIndex > (count vn_mf_activeZones) -1)then + if(_forEachIndex > (count _activeZoneNames) -1)then { _x ctrlSetText ""; _x setVariable ["activeZone",""]; @@ -80,7 +82,7 @@ if(!isNull _task)then _x ctrlSetEventhandler ["buttonClick",""]; _x ctrlSetTextColor [0,0,0,0]; }else{ - private _curZoneData = vn_mf_activeZones#_forEachIndex; + private _curZoneData = _activeZoneNames # _forEachIndex; private _markerText = markerText _curZoneData; private _zoneName = if(isLocalized _markerText)then{localize _markerText}else{_markerText}; _x ctrlSetText _zoneName; diff --git a/mission/functions/systems/director/fn_director_complete_zone.sqf b/mission/functions/systems/director/fn_director_complete_zone.sqf new file mode 100644 index 00000000..36963d67 --- /dev/null +++ b/mission/functions/systems/director/fn_director_complete_zone.sqf @@ -0,0 +1,39 @@ +/* + File: fn_director_complete_zone.sqf + Author: Spoffy + Date: 2023-01-07 + Last Update: 2023-01-07 + Public: Yes + + Description: + Closes down an active zone, and marks it as completed. + + Parameter(s): + _zone - Zone to complete [STRING] + + Returns: + Nothing + + Example(s): + ["zone_ba_ria"] call vn_mf_fnc_director_complete_zone; +*/ + +params ["_zone"]; + +if !(_zone in mf_s_dir_activeZones) exitWith { + ["WARNING", format ["Attempting to close inactive zone '%1'", _zone]] call para_g_fnc_log; +}; + +private _zoneInfo = mf_s_dir_activeZones get _zone; + +private _task = _zoneInfo getOrDefault ["currentTask", objNull]; +if !([_task] call vn_mf_fnc_task_is_completed) then { + [_task, 'SUCCEEDED'] call vn_mf_fnc_task_complete; +}; + +[_zone] call vn_mf_fnc_zones_capture_zone; +[] call vn_mf_fnc_director_open_connected_zones; + +mf_s_dir_activeZones deleteAt _zone; +mf_g_dir_activeZoneNames = keys mf_s_dir_activeZones; +publicVariable "mf_g_dir_activeZoneNames"; \ No newline at end of file diff --git a/mission/functions/systems/director/fn_director_init.sqf b/mission/functions/systems/director/fn_director_init.sqf index 30294015..67ac3b0d 100644 --- a/mission/functions/systems/director/fn_director_init.sqf +++ b/mission/functions/systems/director/fn_director_init.sqf @@ -18,10 +18,12 @@ */ //Array in format - [Task Object] -mf_s_activeZones = []; -mf_s_siegedZones = []; +mf_s_dir_activeZones = createHashMap; mf_s_baseZoneUnlockDistance = 4000; +mf_g_dir_activeZoneNames = []; +publicVariable "mf_g_dir_activeZoneNames"; + //Delay between actions. mf_s_dir_action_delay = 1200; mf_s_dir_current_action = [objNull]; @@ -31,12 +33,18 @@ mf_s_dir_action_fired = true; //Mark it as dispatched, so we reset back to a new //Create tasks for any zones that aren't captured, but are connected a captured zone. [] call vn_mf_fnc_director_open_connected_zones; -//If none can be opened, we're at game start - need to open one manually. -if (mf_s_activeZones isEqualTo []) then -{ - { - [_x] call vn_mf_fnc_director_open_zone; - } forEach (getArray (missionConfigFile >> "map_config" >> "starting_zones")); -}; + +// Trigger a zone process whenever a task completes there, to make the zones feel more responsive. +[ + "taskCompleted", + [{ + params ["_handlerParams", "_eventParams"]; + _eventParams params ["_taskDataStore"]; + private _zoneName = _taskDataStore getVariable ["taskMarker", ""]; + if (_zoneName in mf_s_dir_activeZones) then { + [_zoneName] call vn_mf_fnc_director_process_active_zone; + }; + }, []] +] call para_g_fnc_event_add_handler; ["gameplay_director", vn_mf_fnc_director_job, [], 15] call para_g_fnc_scheduler_add_job; \ No newline at end of file diff --git a/mission/functions/systems/director/fn_director_job.sqf b/mission/functions/systems/director/fn_director_job.sqf index fd3d9d1f..f7fbfc7e 100644 --- a/mission/functions/systems/director/fn_director_job.sqf +++ b/mission/functions/systems/director/fn_director_job.sqf @@ -4,7 +4,7 @@ Public: No Description: - Periodic job that runs the gameplay director. + Periodic job that runs the gameplay director, which manages the main game flow. Parameter(s): None @@ -16,71 +16,25 @@ ["gameplay_director", vn_mf_fnc_director_job, [], 30] call para_g_fnc_scheduler_add_job; */ -//////////////////////////////////////// -// New task handling - Main game flow // -//////////////////////////////////////// +///////////////////////////////////////////////////////////////////////////////// +// Identify the zones which have tasks finished and therefore need processing. // +///////////////////////////////////////////////////////////////////////////////// -private _completedZones = mf_s_siegedZones select {[_x # 1] call vn_mf_fnc_task_is_completed}; -mf_s_siegedZones = mf_s_siegedZones - _completedZones; +private _zonesToProcess = []; -if (count _completedZones > 0) then { - [] call vn_mf_fnc_director_open_connected_zones; -}; + private _zone = _x; + private _info = _y; -/////////////////////// -// Mission end state // -/////////////////////// - -[] call vn_mf_fnc_director_check_mission_end; - -//////////////// -// AI Actions // -//////////////// - -// AI action system. -// AI periodically makes "actions" or "moves" against the players. -// This section of code handles deciding which move to make, executing those moves, and monitoring their progress. - -if (true) exitWith {}; - -if ([mf_s_dir_current_action # 0] call vn_mf_fnc_task_is_completed && serverTime > mf_s_dir_next_action_time) then -{ - //Action has fired, we're waiting for completion - if (mf_s_dir_action_fired) exitWith - { - mf_s_dir_next_action_time = serverTime + mf_s_dir_action_delay; - ["Next Intel", mf_s_dir_next_action_time, true] call vn_mf_fnc_timerOverlay_setGlobalTimer; - mf_s_dir_action_fired = false; + if ([_info getOrDefault ["currentTask", objNull]] call vn_mf_fnc_task_is_completed) then { + _zonesToProcess pushBack _zone; }; +} forEach mf_s_dir_activeZones; - private _zonesWithPlayerCount = mf_s_zone_markers apply {[count (allPlayers inAreaArray _x), _x]}; - _zonesWithPlayerCount sort false; - - private _selectedZone = _zonesWithPlayerCount # 0; - - diag_log format ["VN MikeForce: Director: Selected Zone: %1", str _selectedZone]; - if (_selectedZone # 0 == 0) exitWith {}; - private _selectedZoneMarker = _selectedZone # 1; - - //If bases in zone, attack them. - private _nearbyBases = para_g_bases inAreaArray _selectedZoneMarker; - if (count _nearbyBases > 0) then { - //Launch an FOB attack. - private _basesWithBuildingCount = _nearbyBases apply {[count (_x getVariable "para_g_buildings"), _x]}; - _basesWithBuildingCount sort false; - private _largestBase = _basesWithBuildingCount select 0 select 1; - mf_s_dir_current_action = [(["defend_base", _selectedZoneMarker, [["targetBase", _largestBase], ["prepTime", mf_s_dir_attack_prep_time]]] call vn_mf_fnc_task_create) # 1]; - } else { - mf_s_dir_current_action = [(["defend_counterattack", _selectedZoneMarker, [["prepTime", mf_s_dir_attack_prep_time]]] call vn_mf_fnc_task_create) # 1]; - }; +{ [_x] call vn_mf_fnc_director_process_active_zone } forEach _zonesToProcess; - //Hide timer - [] call vn_mf_fnc_timerOverlay_removeGlobalTimer; - mf_s_dir_action_fired = true; -}; +/////////////////////// +// Mission end state // +/////////////////////// -//Check if AI knows about players -//Check if those players are in a zone -//If so, start timer -//to start with, maybe actually just check if players are in the zone? +[] call vn_mf_fnc_director_check_mission_end; \ No newline at end of file diff --git a/mission/functions/systems/director/fn_director_open_connected_zones.sqf b/mission/functions/systems/director/fn_director_open_connected_zones.sqf index 61bf70bb..714e79aa 100644 --- a/mission/functions/systems/director/fn_director_open_connected_zones.sqf +++ b/mission/functions/systems/director/fn_director_open_connected_zones.sqf @@ -15,18 +15,18 @@ Example(s): [parameter] call vn_fnc_myFunction */ -private _connectedZones = []; +private _startingZones = getArray (missionConfigFile >> "map_config" >> "starting_zones"); +private _potentialZonesToOpen = _startingZones; private _capturedZones = (mf_s_zones select {_x select struct_zone_m_captured}) apply {_x select struct_zone_m_marker}; -private _activeZones = mf_s_activeZones apply {_x # 0}; -private _siegedZones = mf_s_siegedZones apply {_x # 0}; +private _activeZones = keys mf_s_dir_activeZones; { - _connectedZones append (getArray (missionConfigFile >> "map_config" >> "zones" >> _x) apply {_x # 0}); + _potentialZonesToOpen append (getArray (missionConfigFile >> "map_config" >> "zones" >> _x) apply {_x # 0}); } forEach _capturedZones; -_connectedZones = _connectedZones arrayIntersect _connectedZones; +_potentialZonesToOpen = _potentialZonesToOpen arrayIntersect _potentialZonesToOpen; -private _zonesToOpen = _connectedZones - _capturedZones - _activeZones - _siegedZones; +private _zonesToOpen = _potentialZonesToOpen - _capturedZones - _activeZones; { [_x] call vn_mf_fnc_director_open_zone; diff --git a/mission/functions/systems/director/fn_director_open_zone.sqf b/mission/functions/systems/director/fn_director_open_zone.sqf index 0dfc8763..1d743fa3 100644 --- a/mission/functions/systems/director/fn_director_open_zone.sqf +++ b/mission/functions/systems/director/fn_director_open_zone.sqf @@ -1,4 +1,5 @@ /* + // TODO - Rename to make_zone_active File: fn_director_open_zone.sqf Author: Savage Game Design Public: No @@ -17,5 +18,20 @@ */ params ["_zone"]; +if (_zone in mf_s_dir_activeZones) exitWith { + ["WARNING", format ["Cannot activate already active zone '%1'", _zone]] call para_g_fnc_log; +}; + +["INFO", format ["Make zone '%1' an active zone", _zone]] call para_g_fnc_log; + private _taskStore = ["capture_zone", _zone] call vn_mf_fnc_task_create select 1; -mf_s_activeZones pushBack [_zone, _taskStore]; \ No newline at end of file + +private _activeZoneInfo = createHashMapFromArray [ + ["state", "capture"], + ["currentTask", _taskStore] +]; + +mf_s_dir_activeZones set [_zone, _activeZoneInfo]; + +mf_g_dir_activeZoneNames = keys mf_s_dir_activeZones; +publicVariable "mf_g_dir_activeZoneNames"; \ No newline at end of file diff --git a/mission/functions/systems/director/fn_director_process_active_zone.sqf b/mission/functions/systems/director/fn_director_process_active_zone.sqf new file mode 100644 index 00000000..43972109 --- /dev/null +++ b/mission/functions/systems/director/fn_director_process_active_zone.sqf @@ -0,0 +1,61 @@ +/* + File: fn_director_process_active_zone.sqf + Author: Spoffy + Date: 2023-01-07 + Last Update: 2023-01-07 + Public: Yes + + Description: + Checks the current status of the zone, and handles the flow for that zone if needed. + For example, creating a new task or completing the zone. + + Parameter(s): + _zone - The zone name [STRING] + + Returns: + Nothing + + Example(s): + ["zone_ba_ria"] call vn_mf_fnc_director_process_active_zone; +*/ + +params ["_zone"]; + +if !(_zone in mf_s_dir_activeZones) exitWith { + ["WARNING", format ["Attempted to process inactive zone '%1'", _zone]] call para_g_fnc_log; +}; + +private _zoneInfo = mf_s_dir_activeZones get _zone; + +private _currentState = _zoneInfo get "state"; +private _task = _zoneInfo get "currentTask"; +private _taskIsCompleted = [_task] call vn_mf_fnc_task_is_completed; +private _taskResult = _task getVariable ["taskResult", ""]; + +if (_taskIsCompleted) then { + if (_currentState isEqualTo "capture") exitWith { + ["INFO", format ["Zone '%1' captured, moving to counterattack", _zone]] call para_g_fnc_log; + + private _counterattackTask = ((["defend_counterattack", _zone, [["prepTime", 180]]] call vn_mf_fnc_task_create) # 1); + _zoneInfo set ["state", "counterattack"]; + _zoneInfo set ["currentTask", _counterattackTask]; + }; + + if (_currentState isEqualTo "counterattack") exitWith { + if (_taskResult isEqualTo "FAILED") exitWith { + ["INFO", format ["Zone '%1' defend against counterattack failed, moving to recapture zone", _zone]] call para_g_fnc_log; + + private _zoneData = mf_s_zones select (mf_s_zones findIf {_zone isEqualTo (_x select struct_zone_m_marker)}); + [[_zoneData]] call vn_mf_fnc_sites_generate; + + private _captureZoneTask = ["capture_zone", _zone] call vn_mf_fnc_task_create select 1; + _zoneInfo set ["state", "capture"]; + _zoneInfo set ["currentTask", _captureZoneTask]; + }; + + // Task is finished, and hasn't failed + ["INFO", format ["Zone '%1' counterattack successfully defended against, completing zone", _zone]] call para_g_fnc_log; + [_zone] call vn_mf_fnc_director_complete_zone; + }; +}; + diff --git a/mission/functions/systems/tasks/fn_task_complete.sqf b/mission/functions/systems/tasks/fn_task_complete.sqf index 239faa6e..79b44bc0 100644 --- a/mission/functions/systems/tasks/fn_task_complete.sqf +++ b/mission/functions/systems/tasks/fn_task_complete.sqf @@ -24,7 +24,7 @@ params ["_taskDataStore", "_completionType", ["_rankPointsReward", objNull]]; private _taskClass = _taskDataStore getVariable "taskClass"; private _taskArrayPos = vn_mf_tasks findIf {_x select 1 isEqualTo _taskDataStore}; -//Invalid task! Abort! Abort! +// Prevents an already completed task from being completed twice, or trying to complete an invalid task if (_taskArrayPos < 0) exitWith { false }; diff --git a/mission/functions/systems/zones/fn_zones_init.sqf b/mission/functions/systems/zones/fn_zones_init.sqf index 34005414..35030cbf 100644 --- a/mission/functions/systems/zones/fn_zones_init.sqf +++ b/mission/functions/systems/zones/fn_zones_init.sqf @@ -67,10 +67,6 @@ mf_s_zone_markers = []; ["Loading zone data"] call BIS_fnc_log; -//TODO - Remove -vn_mf_activeZones = []; //This gets publicVariable'd in the make_active call -publicVariable "vn_mf_activeZones"; - vn_mf_completedZones = ["GET", "completed_zones", []] call para_s_fnc_profile_db select 1; publicVariable "vn_mf_completedZones"; ["zone_manager", vn_mf_fnc_zones_manager_job, [], 30] call para_g_fnc_scheduler_add_job; diff --git a/mission/functions/systems/zones/fn_zones_manager_job.sqf b/mission/functions/systems/zones/fn_zones_manager_job.sqf index 818216a4..41ccc830 100644 --- a/mission/functions/systems/zones/fn_zones_manager_job.sqf +++ b/mission/functions/systems/zones/fn_zones_manager_job.sqf @@ -65,9 +65,9 @@ //private _store = _schedulerCurrentJob; -//For now, this uses vn_mf_activeZones +//For now, this uses mf_s_dir_activeZones //Later, this should be all zones < 100 % presence, but only when spawning optimisations are in. -//private _activeZones = vn_mf_activeZones; +//private _activeZones = keys mf_s_dir_activeZones; //private _mfPlayers = (allPlayers select {groupId group _x == "MikeForce"}); //private _ghPlayers = (allPlayers select {groupId group _x == "GreenHornets"}); diff --git a/mission/functions/tasks/defend/fn_task_defend_counterattack.sqf b/mission/functions/tasks/defend/fn_task_defend_counterattack.sqf index ce1255eb..0b143808 100644 --- a/mission/functions/tasks/defend/fn_task_defend_counterattack.sqf +++ b/mission/functions/tasks/defend/fn_task_defend_counterattack.sqf @@ -27,6 +27,7 @@ _taskDataStore setVariable ["INIT", { //Required parameters private _marker = _taskDataStore getVariable "taskMarker"; + private _markerPos = getMarkerPos _marker; private _hqs = (localNamespace getVariable ["sites_hq", []]) inAreaArray _marker; private _prepTime = _taskDataStore getVariable ["prepTime", 0]; @@ -43,7 +44,7 @@ _taskDataStore setVariable ["INIT", { }; [[ - ["prepare_zone", _zonePosition] + ["prepare_zone", _markerPos] ]] call _fnc_initialSubtasks; }]; @@ -132,15 +133,6 @@ _taskDataStore setVariable ["defend_zone", { _enemyHoldZone && {_enemyZoneHeldTime > (_taskDataStore getVariable ["failureTime", 5 * 60])} ) then { - private _zone = _taskDataStore getVariable "taskMarker"; - private _selectZone = mf_s_siegedZones findIf {_zone in _x}; - mf_s_siegedZones deleteAt _selectZone; - - private _zoneData = mf_s_zones select (mf_s_zones findIf {_zone isEqualTo (_x select struct_zone_m_marker)}); - - [[_zoneData]] call vn_mf_fnc_sites_generate; - [_zone] call vn_mf_fnc_director_open_zone; - ["FAILED"] call _fnc_finishSubtask; ["FAILED"] call _fnc_finishTask; }; @@ -151,8 +143,6 @@ _taskDataStore setVariable ["AFTER_STATES_RUN", { if (_taskDataStore getVariable ["zoneDefended", false] ) then { - private _zone = _taskDataStore getVariable "taskMarker"; - [_zone] call vn_mf_fnc_zones_capture_zone; ["SUCCEEDED"] call _fnc_finishTask; }; }]; diff --git a/mission/functions/tasks/fn_zone_connector.sqf b/mission/functions/tasks/fn_zone_connector.sqf index 17598e13..b7b780cb 100644 --- a/mission/functions/tasks/fn_zone_connector.sqf +++ b/mission/functions/tasks/fn_zone_connector.sqf @@ -43,7 +43,7 @@ _taskDataStore setVariable ["build_checkpoint", { //If another connector has told us to abort, we abort. if ( _taskDataStore getVariable ["abortConnector", false] - || (_taskDataStore getVariable "newZone") in vn_mf_activeZones + || (_taskDataStore getVariable "newZone") in keys mf_s_dir_activeZones || (_taskDatastore getVariable "newZone") in vn_mf_completedZones ) exitWith { @@ -69,7 +69,7 @@ _taskDataStore setVariable ["FINISH", { //Cancel other connectors if we have enough zones active. //Not entirely happy with how we're cancelling the task. //Maybe cancelling should be built into the state machine framework? - if (count vn_mf_activeZones + 1 >= vn_mf_targetNumberOfActiveZones) then { + if (count keys mf_s_dir_activeZones + 1 >= vn_mf_targetNumberOfActiveZones) then { private _otherRelatedConnectors = vn_mf_tasks select {_x select 1 getVariable "taskClass" == "zone_connector"}; @@ -82,7 +82,7 @@ _taskDataStore setVariable ["FINISH", { //Protection from a race condition, where two or more connectors might be in the 'FINISH' state at the same time //Without this check, it would make multiple zones active, which might go over our limit. - if (count vn_mf_activeZones < vn_mf_targetNumberOfActiveZones) then { + if (count keys mf_s_dir_activeZones < vn_mf_targetNumberOfActiveZones) then { (_taskDataStore getVariable "newZone") call vn_mf_fnc_zones_make_zone_active; }; diff --git a/mission/functions/tasks/primary/fn_task_pri_capture.sqf b/mission/functions/tasks/primary/fn_task_pri_capture.sqf index f4a5f0b0..b4e6cfea 100644 --- a/mission/functions/tasks/primary/fn_task_pri_capture.sqf +++ b/mission/functions/tasks/primary/fn_task_pri_capture.sqf @@ -99,15 +99,5 @@ _taskDataStore setVariable ["AFTER_STATES_RUN", { }]; _taskDataStore setVariable ["FINISH", { - private _zone = _taskDataStore getVariable "taskMarker"; - _taskDataStore getVariable "aiObjectives" apply {[_x] call para_s_fnc_ai_obj_finish_objective}; - - private _taskStore = ((["defend_counterattack", _zone, [["prepTime", 180]]] call vn_mf_fnc_task_create) # 1); - - //Put the besieged zone off to the side for now to prevent an infinite loop - private _selectZone = mf_s_activeZones findIf {_zone isEqualTo (_x select struct_zone_m_marker)}; - mf_s_siegedZones pushBack [_zone, _taskStore]; - mf_s_activeZones deleteAt _selectZone; - }]; From 9a39b77450f8b21e92354fe4f828cb2698a5d273 Mon Sep 17 00:00:00 2001 From: Spoffy Date: Sun, 8 Jan 2023 23:59:44 +0000 Subject: [PATCH 03/34] Adds counter attack lost notification --- mission/config/notifications.hpp | 9 +++++++++ .../tasks/defend/fn_task_defend_counterattack.sqf | 1 + mission/stringtable.xml | 4 ++++ 3 files changed, 14 insertions(+) diff --git a/mission/config/notifications.hpp b/mission/config/notifications.hpp index 589be5c9..e1ccdca7 100644 --- a/mission/config/notifications.hpp +++ b/mission/config/notifications.hpp @@ -47,6 +47,15 @@ class CfgNotifications iconPicture = "\A3\ui_f\data\Map\Markers\Military\warning_ca.paa"; }; + class CounterAttackLost + { + title = $STR_vn_mf_notification_title_counter_attack; + description = $STR_vn_mf_notification_desc_counter_attack_lost; + priority = 7; + color[] = {0.8,0.5,0,1}; + iconPicture = "\A3\ui_f\data\Map\Markers\Military\warning_ca.paa"; + }; + class NewSupportRequest { title = $STR_vn_mf_notification_title_new_support_request; diff --git a/mission/functions/tasks/defend/fn_task_defend_counterattack.sqf b/mission/functions/tasks/defend/fn_task_defend_counterattack.sqf index 0b143808..d3b7974f 100644 --- a/mission/functions/tasks/defend/fn_task_defend_counterattack.sqf +++ b/mission/functions/tasks/defend/fn_task_defend_counterattack.sqf @@ -133,6 +133,7 @@ _taskDataStore setVariable ["defend_zone", { _enemyHoldZone && {_enemyZoneHeldTime > (_taskDataStore getVariable ["failureTime", 5 * 60])} ) then { + ["CounterAttackLost", ["", [_zone] call vn_mf_fnc_zone_marker_to_name]] remoteExec ["para_c_fnc_show_notification", 0]; ["FAILED"] call _fnc_finishSubtask; ["FAILED"] call _fnc_finishTask; }; diff --git a/mission/stringtable.xml b/mission/stringtable.xml index 6efbcc64..4cd1e72c 100644 --- a/mission/stringtable.xml +++ b/mission/stringtable.xml @@ -594,6 +594,10 @@ All critical tasks completed. Enemy counter attack in %2 minutes. All critical tasks completed. Enemy counter attack in %2 minutes. + + The enemy counter-attack was successful. Zone %1 has been lost. + The enemy counter-attack was successful. Zone %1 has been lost. + No sandbags in inventory No sandbags in inventory From 5144a8b9653a29a7b15bc3e8e134ad60a0c8ccf3 Mon Sep 17 00:00:00 2001 From: Spoffy Date: Mon, 9 Jan 2023 00:22:13 +0000 Subject: [PATCH 04/34] Bumps version to v1.00.03 indev --- maps/altis/mission.sqm | 2 +- maps/cam_lao_nam/mission.sqm | 2 +- maps/vn_khe_sanh/mission.sqm | 2 +- maps/vn_the_bra/mission.sqm | 2 +- mission/version.hpp | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/maps/altis/mission.sqm b/maps/altis/mission.sqm index eeda8f7d..86ac24cd 100644 --- a/maps/altis/mission.sqm +++ b/maps/altis/mission.sqm @@ -326,7 +326,7 @@ class Mission assetType="Free"; class Intel { - briefingName="Mike Force (v1.00.02)"; + briefingName="Mike Force (v1.00.03 Indev)"; timeOfChanges=1800.0002; startWeather=0.30000001; startWind=0.1; diff --git a/maps/cam_lao_nam/mission.sqm b/maps/cam_lao_nam/mission.sqm index 45dfa3f9..538d486c 100644 --- a/maps/cam_lao_nam/mission.sqm +++ b/maps/cam_lao_nam/mission.sqm @@ -404,7 +404,7 @@ class Mission appId=1227700; class Intel { - briefingName="Mike Force (v1.00.02)"; + briefingName="Mike Force (v1.00.03 Indev)"; resistanceWest=0; timeOfChanges=1800.0002; startWeather=0.34999999; diff --git a/maps/vn_khe_sanh/mission.sqm b/maps/vn_khe_sanh/mission.sqm index 1d403d1f..fb685cb4 100644 --- a/maps/vn_khe_sanh/mission.sqm +++ b/maps/vn_khe_sanh/mission.sqm @@ -275,7 +275,7 @@ class Mission assetType="Free"; class Intel { - briefingName="Mike Force (v1.00.02)"; + briefingName="Mike Force (v1.00.03 Indev)"; timeOfChanges=1800.0002; startWeather=0.25; startWind=0.1; diff --git a/maps/vn_the_bra/mission.sqm b/maps/vn_the_bra/mission.sqm index 7af28ff2..87ef501d 100644 --- a/maps/vn_the_bra/mission.sqm +++ b/maps/vn_the_bra/mission.sqm @@ -267,7 +267,7 @@ class Mission assetType="Free"; class Intel { - briefingName="Mike Force (v1.00.02)"; + briefingName="Mike Force (v1.00.03 Indev)"; timeOfChanges=1800.0002; startWeather=0.25; startWind=0.1; diff --git a/mission/version.hpp b/mission/version.hpp index cd9b3a76..085e2ec1 100644 --- a/mission/version.hpp +++ b/mission/version.hpp @@ -1,2 +1,2 @@ // Remember to update this in the mission.sqm too! -#define VN_MF_VERSION v1.00.02 \ No newline at end of file +#define VN_MF_VERSION v1.00.03 Indev \ No newline at end of file From 3d5261a1b31db30cbb66b3f38b752a7b7e209f5e Mon Sep 17 00:00:00 2001 From: Spoffy Date: Sat, 28 Jan 2023 23:25:35 +0000 Subject: [PATCH 05/34] Adds parameter to scale number of AI --- mission/config/params.hpp | 18 ++++++++++++++++++ mission/para_server_init.sqf | 4 ++-- mission/stringtable.xml | 8 ++++++++ 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/mission/config/params.hpp b/mission/config/params.hpp index d26c82f5..c7462e77 100644 --- a/mission/config/params.hpp +++ b/mission/config/params.hpp @@ -76,6 +76,24 @@ class hard_ai_limit_desc class Spacer1_0 : Spacer0 {}; +class ai_scaling +{ + title = $STR_vn_mf_param_ai_scaling; + values[] = {25, 50, 75, 100, 150, 200, 250, 300}; + texts[] = {"25%", "50%", "75%", "100%", "150%", "200%", "250%", "300%"}; + default = 100; +}; + +class ai_scaling_desc +{ + title = $STR_vn_mf_param_ai_scaling_desc; + values[] = {""}; + texts[] = {""}; + default = ""; +}; + +class Spacer1_1 : Spacer0 {}; + // gamemode specific start class buildables_require_vehicles { diff --git a/mission/para_server_init.sqf b/mission/para_server_init.sqf index 4fd061b9..a19f97fb 100644 --- a/mission/para_server_init.sqf +++ b/mission/para_server_init.sqf @@ -93,8 +93,8 @@ para_s_bf_respawn_supply_cost = 50; // Set desired number of simultaneously active zones. vn_mf_targetNumberOfActiveZones = 1; -// Set number of enemies per player. -para_g_enemiesPerPlayer = 2; +// Set number of enemies per player. Scale the default value by the percentage set in the config options. +para_g_enemiesPerPlayer = ((["ai_scaling", 100] call BIS_fnc_getParamValue) / 100) * 2; //Global variable, so it needs syncing across the network. publicVariable "para_g_enemiesPerPlayer"; diff --git a/mission/stringtable.xml b/mission/stringtable.xml index 4cd1e72c..4d2b155c 100644 --- a/mission/stringtable.xml +++ b/mission/stringtable.xml @@ -746,6 +746,14 @@ [High performance impact] The maximum number of AI the mission will ever have simultaneously. [High performance impact] The maximum number of AI the mission will ever have simultaneously. + + ==== AI Quantity Scaling ==== + ==== AI Quantity Scaling ==== + + + [High performance impact] Global AI scaling. Higher is more AI for everything, lower is less. + [High performance impact] Global AI scaling. Higher is more AI for everything, lower is less. + Restrict vehicles/weapons based on rank. Recommended to reduce griefing. Restrict vehicles/weapons based on rank. Recommended to reduce griefing. From c8e87cb7ef43e74cd63313dec4f61b981363e078 Mon Sep 17 00:00:00 2001 From: Spoffy Date: Sat, 28 Jan 2023 23:46:51 +0000 Subject: [PATCH 06/34] Adds changelog for 1.00.03 --- mission/config/changelog.hpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/mission/config/changelog.hpp b/mission/config/changelog.hpp index 567d45e2..4d6eb000 100644 --- a/mission/config/changelog.hpp +++ b/mission/config/changelog.hpp @@ -1,4 +1,16 @@ class Changelog { + class 1_00_03 { + version = "1.00.03"; + date = "28th January 2023"; + changes[] = { + "[New] Adds a mission parameter to scale the number of AI (and therefore difficulty)", + "[Change] Added a notification when counterattacks are failed", + "[Fix] Zone progression rewritten to be more robust (fewer bugs)", + "[Fix] Headless clients should be much more effective at hosting AI", + "[Fix] Team swapping no longer causes an error" + }; + }; + class 1_00_02 { version = "1.00.02"; date = "9th October 2022"; From 232bbe78c4e1feb76431ab90d6d9ed27123ed3f7 Mon Sep 17 00:00:00 2001 From: Spoffy Date: Sun, 14 May 2023 17:05:39 +0100 Subject: [PATCH 07/34] Reworks vehicle spawning to be spawn point based --- mission/config/functions.hpp | 20 ++- .../subconfigs/vehicle_respawn_info.hpp | 38 ++-- .../fn_packageforslingloading.sqf | 8 +- .../fn_veh_asset_3DEN_spawn_point.sqf | 41 +++++ ..._package_underwater_wreck_action_local.sqf | 7 +- ...h_asset_add_package_wreck_action_local.sqf | 9 +- .../fn_veh_asset_add_spawn_point.sqf | 89 ++++++++++ .../fn_veh_asset_add_unlock_action.sqf | 10 +- .../fn_veh_asset_add_vehicle.sqf | 77 -------- ...eh_asset_assign_vehicle_to_spawn_point.sqf | 39 ++++ .../fn_veh_asset_create_spawn_point_id.sqf | 27 +++ .../fn_veh_asset_get_by_id.sqf | 21 --- ...asset_get_spawn_point_info_from_config.sqf | 29 +++ .../fn_veh_asset_init_vehicle.sqf | 35 ---- .../fn_veh_asset_job.sqf | 153 +--------------- .../fn_veh_asset_key.sqf | 20 --- .../fn_veh_asset_lock_vehicle.sqf | 12 +- .../fn_veh_asset_marker_create.sqf | 11 +- .../fn_veh_asset_marker_delete.sqf | 11 +- .../fn_veh_asset_marker_update_position.sqf | 10 +- .../fn_veh_asset_package_wreck.sqf | 42 ++--- .../fn_veh_asset_process_spawn_point.sqf | 167 ++++++++++++++++++ ..._package_underwater_wreck_action_local.sqf | 6 +- .../fn_veh_asset_remove_spawn_point.sqf | 23 +++ .../fn_veh_asset_remove_vehicle.sqf | 24 --- .../fn_veh_asset_respawn.sqf | 60 ++++--- .../fn_veh_asset_respawn_job.sqf | 10 +- .../fn_veh_asset_set_active.sqf | 14 +- .../fn_veh_asset_set_disabled.sqf | 14 +- .../fn_veh_asset_set_idle.sqf | 14 +- .../fn_veh_asset_set_repairing.sqf | 21 +-- .../fn_veh_asset_set_respawning.sqf | 18 +- .../fn_veh_asset_set_wrecked.sqf | 22 ++- ...n_veh_asset_setup_package_wreck_action.sqf | 8 +- ...asset_setup_package_wreck_action_local.sqf | 12 +- .../fn_veh_asset_subsystem_init.sqf | 36 +--- .../fn_veh_asset_unlock_vehicle.sqf | 10 +- 37 files changed, 627 insertions(+), 541 deletions(-) create mode 100644 mission/functions/systems/vehicle_asset_manager/fn_veh_asset_3DEN_spawn_point.sqf create mode 100644 mission/functions/systems/vehicle_asset_manager/fn_veh_asset_add_spawn_point.sqf delete mode 100644 mission/functions/systems/vehicle_asset_manager/fn_veh_asset_add_vehicle.sqf create mode 100644 mission/functions/systems/vehicle_asset_manager/fn_veh_asset_assign_vehicle_to_spawn_point.sqf create mode 100644 mission/functions/systems/vehicle_asset_manager/fn_veh_asset_create_spawn_point_id.sqf delete mode 100644 mission/functions/systems/vehicle_asset_manager/fn_veh_asset_get_by_id.sqf create mode 100644 mission/functions/systems/vehicle_asset_manager/fn_veh_asset_get_spawn_point_info_from_config.sqf delete mode 100644 mission/functions/systems/vehicle_asset_manager/fn_veh_asset_init_vehicle.sqf delete mode 100644 mission/functions/systems/vehicle_asset_manager/fn_veh_asset_key.sqf create mode 100644 mission/functions/systems/vehicle_asset_manager/fn_veh_asset_process_spawn_point.sqf create mode 100644 mission/functions/systems/vehicle_asset_manager/fn_veh_asset_remove_spawn_point.sqf delete mode 100644 mission/functions/systems/vehicle_asset_manager/fn_veh_asset_remove_vehicle.sqf diff --git a/mission/config/functions.hpp b/mission/config/functions.hpp index 86b58344..bfbf28ab 100644 --- a/mission/config/functions.hpp +++ b/mission/config/functions.hpp @@ -288,33 +288,35 @@ class CfgFunctions { file = "functions\systems\vehicle_asset_manager"; class packageforslingloading {}; - class veh_asset_add_package_wreck_action_local {}; + class veh_asset_3DEN_spawn_point {}; class veh_asset_add_package_underwater_wreck_action_local {}; + class veh_asset_add_package_wreck_action_local {}; + class veh_asset_add_spawn_point {}; class veh_asset_add_unlock_action {}; - class veh_asset_add_vehicle {}; - class veh_asset_get_by_id {}; - class veh_asset_init_vehicle {}; - class veh_asset_key {}; + class veh_asset_assign_vehicle_to_spawn_point {}; + class veh_asset_create_spawn_point_id {}; + class veh_asset_get_spawn_point_info_from_config {}; class veh_asset_job {}; class veh_asset_lock_vehicle {}; class veh_asset_marker_create {}; class veh_asset_marker_delete {}; class veh_asset_marker_update_position {}; class veh_asset_package_wreck {}; + class veh_asset_process_spawn_point {}; class veh_asset_remove_package_underwater_wreck_action_local {}; - class veh_asset_remove_vehicle {}; + class veh_asset_remove_spawn_point {}; class veh_asset_respawn {}; + class veh_asset_respawn_job {}; class veh_asset_set_active {}; class veh_asset_set_disabled {}; class veh_asset_set_idle {}; - class veh_asset_setup_package_wreck_action {}; - class veh_asset_setup_package_wreck_action_local {}; class veh_asset_set_repairing {}; class veh_asset_set_respawning {}; class veh_asset_set_wrecked {}; + class veh_asset_setup_package_wreck_action {}; + class veh_asset_setup_package_wreck_action_local {}; class veh_asset_subsystem_init {}; class veh_asset_unlock_vehicle {}; - class veh_asset_respawn_job {}; }; class system_vehicle_creation_detection diff --git a/mission/config/subconfigs/vehicle_respawn_info.hpp b/mission/config/subconfigs/vehicle_respawn_info.hpp index 328341ef..38afc4fd 100644 --- a/mission/config/subconfigs/vehicle_respawn_info.hpp +++ b/mission/config/subconfigs/vehicle_respawn_info.hpp @@ -34,19 +34,31 @@ class wreck_long time = 60; }; -//Jeeps + Small Cars -class vn_b_wheeled_m151_01 : respawn_short {}; -class vn_b_wheeled_m151_02 : respawn_short {}; -class vn_b_wheeled_m151_mg_01 : respawn_medium {}; -class vn_b_wheeled_m151_mg_02 : respawn_medium {}; -class vn_b_wheeled_m151_mg_03 : respawn_medium {}; -class vn_b_wheeled_m151_mg_04 : respawn_medium {}; -class vn_b_wheeled_m151_mg_05 : respawn_medium {}; -class vn_b_wheeled_m151_mg_06 : respawn_medium {}; -class vn_c_car_01_01 : respawn_short {}; -class vn_c_car_02_01 : respawn_short {}; -class vn_c_car_03_01 : respawn_short {}; -class vn_c_car_04_01 : respawn_short {}; +class unarmed_m151 : respawn_short { + class vehicles { + class vn_b_wheeled_m151_01 {}; + class vn_b_wheeled_m151_02 {}; + }; +}; + +class armed_m151 : respawn_medium { + class vehicles { + class vn_b_wheeled_m151_mg_02 {}; + class vn_b_wheeled_m151_mg_03 {}; + class vn_b_wheeled_m151_mg_04 {}; + class vn_b_wheeled_m151_mg_05 {}; + class vn_b_wheeled_m151_mg_06 {}; + }; +}; + +class civilian_cars : respawn_short { + class vehicles { + class vn_c_car_01_01 {}; + class vn_c_car_02_01 {}; + class vn_c_car_03_01 {}; + class vn_c_car_04_01 {}; + }; +}; //Transport trucks class vn_b_wheeled_m54_01 : respawn_medium {}; diff --git a/mission/functions/systems/vehicle_asset_manager/fn_packageforslingloading.sqf b/mission/functions/systems/vehicle_asset_manager/fn_packageforslingloading.sqf index 9270c402..a49451ae 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_packageforslingloading.sqf +++ b/mission/functions/systems/vehicle_asset_manager/fn_packageforslingloading.sqf @@ -7,14 +7,14 @@ Remote execution handler for packaging a vehicle asset. Parameter(s): - _id - Id of the vehicle asset to package [String] + _vehicle - Vehicle asset to package [Object] Returns: nothing Example(s): - ["myVehicle"] call vn_mf_fnc_package_for_slingloading + ["myVehicle"] call vn_mf_fnc_package_for_slingloading */ -params ["_id", "_trigger"]; +params ["_vehicle"]; -[_id, _trigger] call vn_mf_fnc_veh_asset_package_wreck; +[_vehicle] call vn_mf_fnc_veh_asset_package_wreck; diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_3DEN_spawn_point.sqf b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_3DEN_spawn_point.sqf new file mode 100644 index 00000000..32e140c3 --- /dev/null +++ b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_3DEN_spawn_point.sqf @@ -0,0 +1,41 @@ +/* + File: fn_veh_asset_3DEN_spawn_point.sqf + Author: Savage Game Design + Public: Yes + + Description: + Makes a 3DEN entity into a spawn point, using the synchronized objects. + + Workaround for being unable to sync two objects together in 3DEN without at least one being a unit. + + Should only be used in the `init` field in the 3DEN editor. + + Parameter(s): + _spawnPointSettings - Spawn point config: either the full config as a hashmap, or the config name. [HashMap/String] + _textureSelection - Selection to apply a the spawn point image texture to. Nil for no texture [NUMBER or STRING] + + Returns: + Nothing + + Example(s): + ['civilian_cars'] call vn_mf_fnc_veh_asset_3DEN_spawn_point; +*/ + +params ["_spawnPointSettings", "_textureSelection"]; + +private _synchronizedObjects = synchronizedObjects this; +private _spawnLocationObject = objNull; + +private _spawnObjectIndex = _synchronizedObjects findIf {_x isKindOf "Helper_Base_F"}; +if (_spawnObjectIndex > -1) then { + _spawnLocationObject = _synchronizedObjects select _spawnObjectIndex; +} else { + _spawnLocationObject = this; +}; + +private _spawnPointObjects = _synchronizedObjects select {!(_x isKindOf "Helper_Base_F")}; + +[_spawnPointObjects select 0, _spawnPointSettings, _spawnLocationObject, _this param [1]] call vn_mf_fnc_veh_asset_add_spawn_point; + +deleteVehicle this; +deleteVehicle _spawnLocationObject; \ No newline at end of file diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_add_package_underwater_wreck_action_local.sqf b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_add_package_underwater_wreck_action_local.sqf index f62f633b..4eccdfdb 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_add_package_underwater_wreck_action_local.sqf +++ b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_add_package_underwater_wreck_action_local.sqf @@ -15,21 +15,20 @@ Example(s): Not to be directly called */ -params ["_id", "_target"]; +params ["_target"]; -private _actionVariable = format ["veh_asset_package_underwater_wreck_action_%1", _id]; +private _actionVariable = format ["veh_asset_package_underwater_wreck_action_%1", netId _target]; private _existingActionId = player getVariable _actionVariable; if (!isNil "_existingActionId") exitWith {}; - private _actionId = player addAction [ "Package underwater wreck", { params ["_target", "_caller", "_actionId", "_args"]; ["packageforslingloading", _args] call para_c_fnc_call_on_server; }, - [_id, _target], + [_target], 1.5, false, true, diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_add_package_wreck_action_local.sqf b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_add_package_wreck_action_local.sqf index 139c93af..447fdd06 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_add_package_wreck_action_local.sqf +++ b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_add_package_wreck_action_local.sqf @@ -8,15 +8,14 @@ Parameter(s): - _id - Id of vehicle asset [Number] - _target - Object addAction is to be added to [Object] + _target - Vehicle addAction is to be added to [Object] Returns: nothing Example(s): none */ -params ["_id", "_target"]; +params ["_target"]; ["AddPackageWreck", [player, []]] call para_g_fnc_event_dispatch; @@ -24,9 +23,9 @@ _target addAction [ "Package wreck for transport", { params ["_target", "_caller", "_actionId", "_args"]; - ["packageforslingloading", _args] call para_c_fnc_call_on_server; + ["packageforslingloading", [_target]] call para_c_fnc_call_on_server; }, - [_id, _trigger], + [], 1.5, false, true, diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_add_spawn_point.sqf b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_add_spawn_point.sqf new file mode 100644 index 00000000..d1f4810b --- /dev/null +++ b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_add_spawn_point.sqf @@ -0,0 +1,89 @@ +/* + File: fn_veh_asset_add_spawn_point.sqf + Author: Savage Game Design + Public: Yes + + Description: + Adds a vehicle spawn point to the vehicle asset system. + + Parameter(s): + _obj - Object to add the vehicle spawning actions to [Object] + _spawnPointSettings - Spawn point config: either the full config as a hashmap, or the config name. [HashMap/String] + _spawnLocation - Where to spawn new vehicles, array of [position, direction] [ARRAY] + _textureSelection - Select to apply an editor preview texture to. Nil for no texture [NUMBER or STRING] + + Returns: + Spawn point info [HashMap] + + Example(s): + None +*/ + +if (!isServer) exitWith {}; + +params ["_obj", "_spawnPointSettings", "_spawnLocation", "_textureSelection"]; + +if (_obj getVariable ["veh_asset_isSpawnPoint", false]) exitWith { + diag_log format ["VN MikeForce: [WARNING] Attempting to make object a vehicle spawn point twice: %1 at %2", typeOf _obj, getPos _obj]; +}; + +if (_spawnPointSettings isEqualType "") then { + _spawnPointSettings = [missionConfigFile >> "gamemode" >> "vehicle_respawn_info" >> _spawnPointSettings] call vn_mf_fnc_veh_asset_get_spawn_point_info_from_config; +}; + +if (_spawnLocation isEqualType objNull) then { + _spawnLocation = [getPosASL _spawnLocation, getDir _spawnLocation]; +}; + +// This allows this function to be called even if the system isn't initialised yet. +if (isNil "vn_mf_veh_asset_spawn_points") then { + vn_mf_veh_asset_spawn_points = createHashMap; +}; + +if (_spawnPointSettings getOrDefault ["respawnType", ""] isEqualTo "") then { + diag_log format ["VN MikeForce: [WARNING] Spawn point info has no respawn type set, using defaults: %1 at %2", typeOf _obj, getPos _obj]; + _spawnPointSettings set ["respawnType", "RESPAWN"]; +}; + +if (_spawnPointSettings getOrDefault ["time", ""] isEqualTo "") then { + diag_log format ["VN MikeForce: [WARNING] Spawn point info has no respawn time set, using defaults: %1 at %2", typeOf _obj, getPos _obj]; + _spawnPointSettings set ["time", 10]; +}; + +if !(isNil "_textureSelection" || _spawnPointSettings get "vehicles" isEqualTo []) then { + private _image = getText (configFile >> "CfgVehicles" >> (_spawnPointSettings get "vehicles" select 0) >> "editorPreview"); + if (_image isNotEqualTo "") then { + _obj setObjectTextureGlobal [ + _textureSelection, + _image + ]; + }; +}; + +if (isNil "_spawnLocation") exitWith { + diag_log format ["VN MikeForce: [ERROR] Unable to create spawn point, no spawn location given: %1 at %2", typeOf _obj, getPos _obj]; +}; + +private _spawnPoint = createHashMap; + +_spawnPoint set ["id", [] call vn_mf_fnc_veh_asset_create_spawn_point_id]; +_spawnPoint set ["settings", _spawnPointSettings]; +_spawnPoint set ["currentVehicle", objNull]; +_spawnPoint set ["status", createHashMapFromArray [ + ["state", "IDLE"], + ["lastChanged", serverTime] +]]; +_spawnPoint set ["marker", ""]; +_spawnPoint set ["spawnLocation", createHashMapFromArray [ + ["pos", _spawnLocation # 0], + ["dir", _spawnLocation # 1], + ["searchForEmptySpace", false] +]]; +//lastClassSpawned is available, but should be nil on creation +//nextSpawnLocationOverride is available, but shouldn't be in the HashMap by default. It has the same structure as "spawnLocation" + +vn_mf_veh_asset_spawn_points set [_spawnPoint get "id", _spawnPoint]; + +// TODO - Add actions and status + +_spawnPoint \ No newline at end of file diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_add_unlock_action.sqf b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_add_unlock_action.sqf index a445911a..ad984b6b 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_add_unlock_action.sqf +++ b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_add_unlock_action.sqf @@ -7,25 +7,23 @@ Adds an action that unlocks a vehicle that's in simulation disabled mode. Parameter(s): - _id - Id of vehicle asset [Number] + _vehicle - Vehicle to add unlock action to [Object] Returns: nothing Example(s): none */ -params ["_id"]; - -private _vehicle = [_id] call vn_mf_fnc_veh_asset_get_by_id select struct_veh_asset_info_m_vehicle; +params ["_vehicle"]; [ _vehicle, "Unlock vehicle", { params ["_target", "_caller", "_id", "_args"]; - [_args select 0] call vn_mf_fnc_veh_asset_unlock_vehicle; + [_target] call vn_mf_fnc_veh_asset_unlock_vehicle; }, - [_id], + [], 1.5, false, true, diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_add_vehicle.sqf b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_add_vehicle.sqf deleted file mode 100644 index e1d70e0e..00000000 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_add_vehicle.sqf +++ /dev/null @@ -1,77 +0,0 @@ -/* - File: fn_veh_asset_add_vehicle.sqf - Author: Savage Game Design - Public: No - - Description: - Adds a vehicle to the respawn system. - - Parameter(s): - _veh - Vehicle in its starting location to add to the repsawn subsystem [Object] - _id - ID to give the vehicle [Number] - _respawnType - "RESPAWN" for respawn behaviour, "WRECK" for wreck behaviour [String] - _time - Time to respawn or time to repair, depending on if type is "RESPAWN" or "WRECK" [Number] - - Returns: nothing - - Example(s): none -*/ - -if (!isServer) exitWith {}; - -params ["_veh", "_id", ["_respawnType", ""], ["_time", -1]]; - -//Make sure our global id array is ready for use -if (isNil "veh_asset_vehicle_ids") then { - veh_asset_vehicle_ids = []; -}; - -//Attempt to get parameters if none provided -if (_respawnType == "" || _time < 0) then { - private _config = missionConfigFile >> "gamemode" >> "vehicle_respawn_info" >> typeOf _veh; - if (isClass (_config)) then { - _respawnType = getText (_config >> "RespawnType"); - _time = getNumber (_config >> "Time"); - }; -}; - -if (_respawnType == "" || _time < 0) then { - diag_log format ["VN MikeForce: [WARNING] Vehicle of type '%1' has no respawn config, using defaults", typeOf _veh]; - _respawnType = "NONE"; - _time = 0; -}; - -//Prevent re-adding the same vehicle. It's a risk if add_vehicle is called from 'init' -if (_id in veh_asset_vehicle_ids) exitWith {}; - -veh_asset_vehicle_ids pushBack _id; - -//Save variables so we can restore them later. -private _initialVariables = []; -{ - _initialVariables pushBack [_x, _veh getVariable _x]; -} forEach allVariables _veh; - -//Create a new vehicle info struct. -private _vehicleInfo = call struct_veh_asset_info_fnc_create; - -//Record info about the respawn position of the vehicle -private _vectorDirUp = [vectorDir _veh, vectorUp _veh]; -_vehicleInfo set [ - struct_veh_asset_info_m_spawn_info, - [typeOf _veh, _vectorDirUp, getPosWorld _veh, _initialVariables] -]; - -_vehicleInfo set [ - struct_veh_asset_info_m_respawn_info, - [_respawnType, _time, [0,0,0]] -]; - -_vehicleInfo set [ - struct_veh_asset_info_m_vehicle, - _veh -]; - -missionNamespace setVariable [_id call vn_mf_fnc_veh_asset_key, _vehicleInfo]; - -[_id, _veh, true] call vn_mf_fnc_veh_asset_init_vehicle; \ No newline at end of file diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_assign_vehicle_to_spawn_point.sqf b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_assign_vehicle_to_spawn_point.sqf new file mode 100644 index 00000000..5a0a709f --- /dev/null +++ b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_assign_vehicle_to_spawn_point.sqf @@ -0,0 +1,39 @@ +/* + File: fn_veh_asset_assign_vehicle_to_spawn_point.sqf + Author: Savage Game Design + Public: No + + Description: + Assigns a vehicle to the given spawn point + + Parameter(s): + _spawnPoint - Spawn point the vehicle is assigned to [HashMap] + _vehicle - Vehicle to initialise [Object] + + Returns: nothing + + Example(s): none +*/ + +params ["_spawnPoint", "_vehicle"]; + +_vehicle setVariable ["veh_asset_spawnPointId", _spawnPoint get "id", true]; +_spawnPoint set ["currentVehicle", _vehicle]; +_spawnPoint set ["lastClassSpawned", typeOf _vehicle]; + +[_vehicle] call vn_mf_fnc_veh_asset_add_unlock_action; +[_spawnPoint] call vn_mf_fnc_veh_asset_set_idle; + +_vehicle addEventHandler ["RopeAttach", {[_this # 2] call vn_mf_fnc_veh_asset_unlock_vehicle}]; + +//Handle vehicle team locking +private _lockTeamArr = []; +private _lockTeamConfig = missionConfigFile >> "gamemode" >> "vehicle_lock_info" >> typeOf _vehicle; +if (isClass (_lockTeamConfig)) then { + private _lockTeam = getText (_lockTeamConfig >> "lockTeam"); + if !(_lockTeam == "Unlocked") then { + _lockTeamArr pushBack _lockTeam; + }; +}; + +[_vehicle, _lockTeamArr] call vn_mf_fnc_lock_vehicle_to_teams; diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_create_spawn_point_id.sqf b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_create_spawn_point_id.sqf new file mode 100644 index 00000000..5315c4fe --- /dev/null +++ b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_create_spawn_point_id.sqf @@ -0,0 +1,27 @@ +/* + File: fn_veh_asset_create_spawn_point_id.sqf + Author: Spoffy + Date: 2023-05-08 + Last Update: 2023-05-08 + Public: No + + Description: + Generates a new ID for a new spawn point + + Parameter(s): + None + + Returns: + Unique ID for the spawn point [String] + + Example(s): + [] call vn_mf_fnc_veh_asset_create_spawn_point_id; +*/ + +if (isNil "veh_asset_spawn_point_counter") then { + veh_asset_spawn_point_counter = 0; +}; + +veh_asset_spawn_point_counter = veh_asset_spawn_point_counter + 1; + +format ["%1", veh_asset_spawn_point_counter] diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_get_by_id.sqf b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_get_by_id.sqf deleted file mode 100644 index e554114d..00000000 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_get_by_id.sqf +++ /dev/null @@ -1,21 +0,0 @@ -/* - File: fn_veh_asset_get_by_id.sqf - Author: Savage Game Design - Public: Yes - - Description: - Retrieves the vehicle asset info with the given id - - Parameter(s): - _id - ID of the vehicle asset [STRING] - - Returns: - Vehicle asset info if it exists, [] otherwise [ARRAY] - - Example(s): - ["myId"] call vn_mf_fnc_veh_asset_get_by_id -*/ - -params ["_id"]; - -missionNamespace getVariable [_id call vn_mf_fnc_veh_asset_key, []] \ No newline at end of file diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_get_spawn_point_info_from_config.sqf b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_get_spawn_point_info_from_config.sqf new file mode 100644 index 00000000..43d3d010 --- /dev/null +++ b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_get_spawn_point_info_from_config.sqf @@ -0,0 +1,29 @@ +/* + File: fn_veh_asset_get_spawn_point_info_from_config.sqf + Author: Spoffy + Date: 2023-05-08 + Last Update: 2023-05-08 + Public: No + + Description: + Retrieves spawn point settings from a config file. + + Parameter(s): + _config - Config entry for the spawn point [Config] + + Returns: + Spawn point info [HashMap] + + Example(s): + [missionConfigFile >> "SpawnPointConfigs" >> "mySpawnPoint"] call vn_mf_fnc_veh_asset_get_spawn_point_info_from_config; +*/ + +params ["_config"]; + +private _spawnPointInfo = createHashMap; + +_spawnPointInfo set ["respawnType", getText (_config >> "respawnType")]; +_spawnPointInfo set ["time", getNumber (_config >> "time")]; +_spawnPointInfo set ["vehicles", "true" configClasses (_config >> "vehicles") apply {configName _x}]; + +_spawnPointInfo \ No newline at end of file diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_init_vehicle.sqf b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_init_vehicle.sqf deleted file mode 100644 index 271d69e7..00000000 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_init_vehicle.sqf +++ /dev/null @@ -1,35 +0,0 @@ -/* - File: fn_veh_asset_init_vehicle.sqf - Author: Savage Game Design - Public: No - - Description: - Initialises a vehicle on respawn - - Parameter(s): - _id - ID to give the vehicle [Number] - _vehicle - Vehicle to initialise [Object] - _firstInit - Whether this is being called as part of adding the vehicle to the asset system [Boolean, defaults to false] - - Returns: nothing - - Example(s): none -*/ - -params ["_id", "_vehicle", ["_firstInit", false]]; - -_vehicle setVariable ["vehAssetId", _id]; -[_id] call vn_mf_fnc_veh_asset_add_unlock_action; -[_id] call vn_mf_fnc_veh_asset_set_idle; -_vehicle addEventHandler ["RopeAttach", {[_this # 2 getVariable "vehAssetId"] call vn_mf_fnc_veh_asset_unlock_vehicle}]; - -//Handle vehicle team locking -private _lockTeamArr = []; -private _lockTeamConfig = missionConfigFile >> "gamemode" >> "vehicle_lock_info" >> typeOf _vehicle; -if (isClass (_lockTeamConfig)) then { - private _lockTeam = getText (_lockTeamConfig >> "lockTeam"); - if !(_lockTeam == "Unlocked") then { - _lockTeamArr pushBack _lockTeam; - }; -}; -[_vehicle, _lockTeamArr] call vn_mf_fnc_lock_vehicle_to_teams; diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_job.sqf b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_job.sqf index 82d56d4a..e65ba99d 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_job.sqf +++ b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_job.sqf @@ -14,158 +14,13 @@ Example(s): none */ -/* -Vehicle states: -["IDLE", _timeIdleBegan, _idleMarker] - Not currently in use -["ACTIVE"] - Vehicle is currently in use -["WRECKED", _positionOfWreck] - Vehicle is wrecked -["REPAIRING", _timeRepairFinishes] - Time vehicle repair began -["RESPAWNING", _timeToRespawnAt] -*/ - private _doMarkerUpdate = serverTime > (vn_mf_veh_asset_markerLastUpdate + vn_mf_veh_asset_markerUpdateDelay); if (_doMarkerUpdate) then { vn_mf_veh_asset_markerLastUpdate = serverTime; }; -//This is a separate function, so we can exit early with exitWith. -//This is basically a state machine for every vehicle. -//First it does state transitions, then handles the states. -private _fnc_processVehicle = { - params ["_id"]; - private _vehicleInfo = [_id] call vn_mf_fnc_veh_asset_get_by_id; - private _vehicle = _vehicleInfo select struct_veh_asset_info_m_vehicle; - _vehicleInfo select struct_veh_asset_info_m_respawn_info params ["_respawnType", "_respawnTime", "_positionOverride"]; - _vehicleInfo select struct_veh_asset_info_m_spawn_info params ["_type", "_dir", "_spawnPos", "_vars"]; - private _stateData = _vehicleInfo select struct_veh_asset_info_m_state_data; - //Need this to be a function, as state can change at various points, and it always needs to be up to date. - private _fnc_getState = {_vehicleInfo select struct_veh_asset_info_m_state_data}; - private _state = 0; - - if(!alive _vehicle) then { - [_id] call vn_mf_fnc_veh_asset_unlock_vehicle; - }; - - //Vehicle is dead, and has no respawn type - remove it from the system. - if (!alive _vehicle && _respawnType == "NONE") exitWith { - [_id] call vn_mf_fnc_veh_asset_remove_vehicle; - }; - - //Vehicle is dead, and hasn't be transitioned to a "DEAD" state. - if (!alive _vehicle && !((call _fnc_getState select _state) in ["RESPAWNING", "REPAIRING", "WRECKED"])) then { - if (_respawnType == "WRECK") exitWith { - [_id] call vn_mf_fnc_veh_asset_set_wrecked; - }; - - if (_respawnType == "RESPAWN") exitWith { - [_id, _respawnTime] call vn_mf_fnc_veh_asset_set_respawning; - }; - }; - - if (!canMove _vehicle) then { - if ((call _fnc_getState select _state) in ["ACTIVE", "IDLE"]) then { - [_id] call vn_mf_fnc_veh_asset_set_disabled; - }; - } else { - if (crew _vehicle findIf {alive _x} > -1) then { - //No alive crew in vehicle makes it IDLE - if ((call _fnc_getState select _state) in ["IDLE", "DISABLED"]) then { - [_id] call vn_mf_fnc_veh_asset_set_active; - }; - } else { - //Active if we have crew in - if ((call _fnc_getState select _state) in ["ACTIVE", "DISABLED"]) then { - [_id] call vn_mf_fnc_veh_asset_set_idle; - }; - }; - }; - - if ((call _fnc_getState select _state) == "WRECKED") then { - //If it's wrecked, but the object no longer exists, create a placeholder for it - so we don't make it unretrievable accidentally - if (isNull _vehicle) then { - _vehicle = ["vn_wheeled_m54_01_wreck", ASLtoAGL (_stateData select 1)] call para_g_fnc_create_vehicle; - _vehicleInfo set [struct_veh_asset_info_m_vehicle, _vehicle]; - - [_id] call vn_mf_fnc_veh_asset_setup_package_wreck_action; - }; - - if (vn_mf_markers_wreck_recovery findIf {_vehicle inArea _x} > -1) then { - [_id, _respawnTime] call vn_mf_fnc_veh_asset_set_repairing; - }; - - { - if ((call _fnc_getState select _state) == "REPAIRING") then { continue }; //don't recover repairing vehicles. - - private _vehicleDistance = _vehicle distance2D _x; - private _recoveryBuildingPos = getPosWorld _x; - - if (_vehicleDistance <= 20) then - { - private _vehicleName = [configFile >> "CfgVehicles" >> _type] call BIS_fnc_displayName; - private _canRecover = [_x, _respawnTime, _vehicleName] call para_s_fnc_bf_wreck_recovery_availablity_check; //check if recovery building can recover. - - if(_canRecover) then - { - _vehicleInfo set [struct_veh_asset_info_m_respawn_info, [_respawnType, _respawnTime, _recoveryBuildingPos]]; - [_id, _respawnTime] call vn_mf_fnc_veh_asset_set_repairing; - }; - }; - } forEach para_s_bf_wreck_recovery_buildings; - }; - - //Place a marker if a vehicle has been idle too long - if ((call _fnc_getState select _state) == "IDLE") then { - //If vehicle went idle too long ago, and there's no abandoned marker set, and it's too far from respawn - if ( - serverTime - (call _fnc_getState select 1) > vn_mf_veh_asset_abandonedTimer - && _vehicle distance2D _spawnPos > vn_mf_veh_asset_abandonedMinDistance - ) then { - private _marker = _vehicleInfo select struct_veh_asset_info_m_marker; - if (_marker == "") then { - [_id, "IDLE"] call vn_mf_fnc_veh_asset_marker_create; - }; - }; - - if ( - // vehicle isn't locked - !(_vehicle getVariable ["vn_mf_g_veh_asset_locked", false]) && - // we've waited long enough since being idle - (serverTime - (call _fnc_getState select 1)) > vn_mf_veh_asset_relock_time && - // we haven't just toggled the vehicle lock - (serverTime - (_vehicle getVariable ["vn_mf_g_veh_asset_lock_last_toggled", 0])) > vn_mf_veh_asset_relock_time && - // we're near to a surface - getPosATL _vehicle select 2 < 2 && - // have zero velocity - vectorMagnitude velocity _vehicle < 1 && - //check that the vic is not slingloaded - isNull ropeAttachedTo _vehicle && - // no crew - crew _vehicle isEqualTo [] && - // vehicle is alive - alive _vehicle && - // vehicle is in a valid place to lock - { - vn_mf_veh_asset_lock_all_idle_vehicles || - { vn_mf_veh_asset_lock_idle_vehicle_markers findIf {_vehicle inArea _x} > -1 } - } - ) then { - [_id] call vn_mf_fnc_veh_asset_lock_vehicle; - }; - }; - - //Update lock status, if a vehicle was unlocked but left idle - - //Update marker position if it exists, and it's been too long. - if (_doMarkerUpdate && !((call _fnc_getState select _state) in ["RESPAWNING", "REPAIRING"])) then { - [_id] call vn_mf_fnc_veh_asset_marker_update_position; - }; - - //Check if a vehicle should be respawned - if ((call _fnc_getState select _state) in ["RESPAWNING", "REPAIRING"] && {(call _fnc_getState select 1) < serverTime}) then { - vn_mf_vehicles_to_respawn pushBackUnique _id; - }; -}; - { - [_x] call _fnc_processVehicle; -} forEach veh_asset_vehicle_ids; + private _id = _x; + private _spawnInfo = _y; + [_spawnInfo, _doMarkerUpdate] call vn_mf_fnc_veh_asset_process_spawn_point; +} forEach vn_mf_veh_asset_spawn_points; diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_key.sqf b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_key.sqf deleted file mode 100644 index 48ef5ea5..00000000 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_key.sqf +++ /dev/null @@ -1,20 +0,0 @@ -/* - File: fn_veh_asset_key.sqf - Author: Savage Game Design - Public: Yes - - Description: - Produces the key used to store a vehicle with the given id. - - Parameter(s): - _id - Vehicle id [STRING] - - Returns: - Key associated with that vehicle [STRING] - - Example(s): - ["myId"] call vn_mf_fnc_veh_asset_key -*/ -params ["_id"]; - -format ["veh_asset_vehicle_info_%1", _id] \ No newline at end of file diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_lock_vehicle.sqf b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_lock_vehicle.sqf index bca82565..48b50c2b 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_lock_vehicle.sqf +++ b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_lock_vehicle.sqf @@ -4,21 +4,19 @@ Public: No Description: - Locks a vehicle asset + Locks a vehicle asset Parameter(s): - _id - Id of the vehicle asset [Number] + _vehicle - Vehicle to lock [Object] Returns: - None + None Example(s): - [22] call vn_mf_fnc_veh_asset_lock_vehicle + [cursorObject] call vn_mf_fnc_veh_asset_lock_vehicle */ -params ["_id"]; - -private _vehicle = [_id] call vn_mf_fnc_veh_asset_get_by_id select struct_veh_asset_info_m_vehicle; +params ["_vehicle"]; //Prevent locking if a player is within 10 (?) metres if (allPlayers inAreaArray [getPos _vehicle, 10, 10] isNotEqualTo [] || _vehicle getVariable ["vn_mf_g_veh_asset_locked", false]) exitWith {}; diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_marker_create.sqf b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_marker_create.sqf index 029c6489..5fece861 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_marker_create.sqf +++ b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_marker_create.sqf @@ -7,7 +7,7 @@ Creates a marker of the specific type for every player, localized. Replaces any previous markers. Parameter(s): - _id - Id of the vehicle asset [Number] + _spawnPoint - Spawn point to create the marker for [HashMap] _type - Type of marker [String] Returns: nothing @@ -16,10 +16,9 @@ */ -params ["_id", "_type"]; +params ["_spawnPoint", "_type"]; -private _vehicleInfo = [_id] call vn_mf_fnc_veh_asset_get_by_id; -private _vehicle = _vehicleInfo select struct_veh_asset_info_m_vehicle; +private _vehicle = _spawnPoint get ["currentVehicle", objNull]; private _textGenerator = [ [_type, _vehicle], @@ -46,7 +45,7 @@ private _textGenerator = [ } ]; -private _markerName = format ["marker_%1", _id]; +private _markerName = format ["marker_%1", _spawnPoint get "id"]; [_markerName, getPos _vehicle, _textGenerator] call para_g_fnc_create_localized_marker; _markerName setMarkerType "mil_marker"; @@ -57,4 +56,4 @@ if (_type in ["WRECK", "DISABLED"]) then { _markerName setMarkerColor "ColorBlue"; }; -_vehicleInfo set [struct_veh_asset_info_m_marker, _markerName]; \ No newline at end of file +_spawnPoint set ["marker", _markerName]; \ No newline at end of file diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_marker_delete.sqf b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_marker_delete.sqf index 0e5ba084..e4195850 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_marker_delete.sqf +++ b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_marker_delete.sqf @@ -4,22 +4,21 @@ Public: No Description: - Deletes the current marker for a vehicle. + Deletes the current marker for a spawn point. Parameter(s): - _id - Id of the vehicle asset [Number] + _spawnPoint - Spawn point to delete the vehicle marker from [HashMap] Returns: nothing Example(s): none */ -params ["_id"]; +params ["_spawnPoint"]; -private _vehicleInfo = [_id] call vn_mf_fnc_veh_asset_get_by_id; -private _marker = _vehicleInfo select struct_veh_asset_info_m_marker; +private _marker = _spawnPoint getOrDefault ["marker", ""]; if (_marker != "") then { [_marker] call para_g_fnc_delete_localized_marker; - _vehicleInfo set [struct_veh_asset_info_m_marker, ""]; + _spawnPoint set [_marker, ""]; }; \ No newline at end of file diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_marker_update_position.sqf b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_marker_update_position.sqf index 9b886ea5..784c1bc0 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_marker_update_position.sqf +++ b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_marker_update_position.sqf @@ -7,21 +7,19 @@ Updates the position of an existing marker. Parameter(s): - _id - Id of the vehicle asset [Number] + _spawnPoint - Spawn point whose marker should be updated [HashMap] Returns: nothing Example(s): none */ +params ["_spawnPoint"]; -params ["_id", "_type"]; - -private _vehicleInfo = [_id] call vn_mf_fnc_veh_asset_get_by_id; -private _marker = _vehicleInfo select struct_veh_asset_info_m_marker; +private _marker = _spawnPoint getOrDefault ["marker", ""]; if (_marker == "") exitWith {}; -private _vehicle = _vehicleInfo select struct_veh_asset_info_m_vehicle; +private _vehicle = _spawnPoint get ["currentVehicle", objNull]; [ [_marker, _vehicle], diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_package_wreck.sqf b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_package_wreck.sqf index 4c75f8c4..c4ada53c 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_package_wreck.sqf +++ b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_package_wreck.sqf @@ -7,33 +7,39 @@ Packages a non-slingloadable wreck into a box for slingloading. Parameter(s): - _id - Id of the wrecked vehicle [Number] + _vehicle - Vehicle to package [Object] Returns: nothing Example(s): none */ -params ["_id", ["_trigger", objNull]]; +params ["_vehicle"]; -private _vehicleInfo = [_id] call vn_mf_fnc_veh_asset_get_by_id; -private _vehicle = _vehicleInfo select struct_veh_asset_info_m_vehicle; -private _dir = getDir _vehicle; -private _pos = getPos _vehicle; -private _actionsArray = _trigger getVariable ["vn_mf_veh_asset_trigger_action_array", false]; -diag_log format ["Package Wreck Trigger: %1, Actions: %2", _trigger, _actionsArray]; -deleteVehicle _vehicle; -deleteVehicle _trigger; +private _spawnPointId = _vehicle getVariable "veh_asset_spawnPointId"; +if (isNil "_spawnPointId") exitWith {}; +private _spawnPoint = vn_mf_veh_asset_spawn_points get _spawnPointId; +if (isNil "_spawnPoint") exitWith {}; +private _dir = getDir _vehicle; +private _pos = getPos _vehicle; -//Replace the vehicle with a box +// Swap out the vehicle for a box before deleting the original vehicle. private _box = ["vn_us_komex_medium_01", [0,0,0]] call para_g_fnc_create_vehicle; +_box setVariable ["veh_asset_spawnPointId", _spawnPointId]; +_spawnPoint set ["currentVehicle", _box]; +deleteVehicle _vehicle; + +// Move the box to the vehicle's old position _box setDir _dir; + if (_pos # 2 < 0) then { _pos = [_pos # 0, _pos # 1, 0.1]; }; + private _emptyPos = _pos findEmptyPosition [0, 50, "vn_us_komex_medium_01"]; + if (count _emptyPos == 0) then { _emptyPos = _pos isFlatEmpty [75, -1, -1, 1, -1]; if (count _emptyPos == 0) then { @@ -44,24 +50,14 @@ if (count _emptyPos == 0) then { } else { _box setPos _emptyPos; }; + _box allowDamage false; _box setMass 2500; // temporary fix for the inability to lift this with AFM _box setVelocity [0,0,0]; + //Need to persist allowDamage on locality changes. //Slingloaded items are very prone to locality changes. [_box, false] call para_s_fnc_allow_damage_persistent; - -_vehicleInfo set [struct_veh_asset_info_m_vehicle, _box]; -_box setVariable ['vehAssetId', _id]; - -if (_actionsArray isEqualType []) then { - { - private _playerVehicle = _x # 0; - private _triggerAddAction = _x # 1; - _playerVehicle removeAction _triggerAddAction; - } forEach _actionsArray; -}; - //Clear out cargo clearBackpackCargoGlobal _box; clearWeaponCargoGlobal _box; diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_process_spawn_point.sqf b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_process_spawn_point.sqf new file mode 100644 index 00000000..691f678d --- /dev/null +++ b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_process_spawn_point.sqf @@ -0,0 +1,167 @@ +/* + File: fn_veh_asset_process_spawn_point.sqf + Author: Spoffy + Date: 2023-05-14 + Last Update: 2023-05-14 + Public: No + + Description: + Updates a spawn point, handling any state changes, marker updates, etc. + + Should be run periodically. By default is executed from fn_veh_asset_job.sqf + + Parameter(s): + _spawnPoint - Spawn point to update [HashMap] + _doMarkerUpdate - Should the vehicle's marker be updated [Boolean] + + Returns: + Nothing + + Example(s): + [_spawnPoint] call vn_mf_fnc_veh_asset_process_spawn_point; +*/ + +/* +Vehicle states: +["IDLE", _timeIdleBegan, _idleMarker] - Not currently in use +["ACTIVE"] - Vehicle is currently in use +["WRECKED", _positionOfWreck] - Vehicle is wrecked +["REPAIRING", _timeRepairFinishes] - Time vehicle repair began +["RESPAWNING", _timeToRespawnAt] +*/ + +//This is a separate function, so we can exit early with exitWith. +//This is basically a state machine for every vehicle. +//First it does state transitions, then handles the states. +params ["_spawnPoint", "_doMarkerUpdate"]; + +private _vehicle = _spawnPoint getOrDefault ["currentVehicle", objNull]; +private _settings = _spawnPoint get "settings"; +private _respawnType = _settings get "respawnType"; + +if(!alive _vehicle) then { + [_vehicle] call vn_mf_fnc_veh_asset_unlock_vehicle; +}; + +//Vehicle is dead, and hasn't be transitioned to a "DEAD" state. +if (!alive _vehicle && !((_spawnPoint get "status" get "state") in ["RESPAWNING", "REPAIRING", "WRECKED"])) then { + if (_respawnType == "WRECK") exitWith { + [_spawnPoint] call vn_mf_fnc_veh_asset_set_wrecked; + }; + + if (_respawnType == "RESPAWN") exitWith { + [_spawnPoint, _settings get "time"] call vn_mf_fnc_veh_asset_set_respawning; + }; +}; + +if (!canMove _vehicle) then { + if ((_spawnPoint get "status" get "state") in ["ACTIVE", "IDLE"]) then { + [_spawnPoint] call vn_mf_fnc_veh_asset_set_disabled; + }; +} else { + if (crew _vehicle findIf {alive _x} > -1) then { + //Active if we have crew in + if ((_spawnPoint get "status" get "state") in ["IDLE", "DISABLED"]) then { + [_spawnPoint] call vn_mf_fnc_veh_asset_set_active; + }; + } else { + //No alive crew in vehicle makes it IDLE + if ((_spawnPoint get "status" get "state") in ["ACTIVE", "DISABLED"]) then { + [_spawnPoint] call vn_mf_fnc_veh_asset_set_idle; + }; + }; +}; + +if ((_spawnPoint get "status" get "state") == "WRECKED") then { + //If it's wrecked, but the object no longer exists, create a placeholder for it - so we don't make it unretrievable accidentally + if (isNull _vehicle) then { + // TODO - make this use the actual wreck if possible + _vehicle = ["vn_wheeled_m54_01_wreck", ASLtoAGL (_stateData select 1)] call para_g_fnc_create_vehicle; + _spawnPoint set ["currentVehicle", _vehicle]; + + [_vehicle] call vn_mf_fnc_veh_asset_setup_package_wreck_action; + }; + + if (vn_mf_markers_wreck_recovery findIf {_vehicle inArea _x} > -1) exitWith { + [_spawnPoint, _settings get "time"] call vn_mf_fnc_veh_asset_set_repairing; + }; + + // Only check this if we're still in the wreckeed state + { + private _vehicleDistance = _vehicle distance2D _x; + private _recoveryBuildingPos = getPosASL _x; + private _recoveryBuildingDir = getDir _x; + + if (_vehicleDistance <= 20) then + { + private _vehicleClass =_spawnPoint get ["lastClassSpawned", _spawnpoint get "settings" get "vehicles" select 0]; + private _vehicleName = [configFile >> "CfgVehicles" >> _vehicleClass] call BIS_fnc_displayName; + private _canRecover = [_x, _settings get "time", _vehicleName] call para_s_fnc_bf_wreck_recovery_availablity_check; //check if recovery building can recover. + + if(_canRecover) then + { + _spawnPoint set ["nextSpawnLocationOverride", createHashMapFromArray [ + ["pos", _recoveryBuildingPos], + ["dir", _recoveryBuildingDir], + ["searchForEmptySpace", true] + ]]; + [_spawnPoint, _settings get "time"] call vn_mf_fnc_veh_asset_set_repairing; + }; + }; + } forEach para_s_bf_wreck_recovery_buildings; +}; + +//Place a marker if a vehicle has been idle too long +if ((_spawnPoint get "status" get "state") == "IDLE") then { + private _timeSpentIdle = serverTime - (_spawnPoint get "status" get "lastChanged"); + //If vehicle went idle too long ago, and there's no abandoned marker set, and it's too far from respawn + if ( + _timeSpentIdle > vn_mf_veh_asset_abandonedTimer + && _vehicle distance2D (_spawnPoint get "spawnLocation" get "pos") > vn_mf_veh_asset_abandonedMinDistance + ) then { + if (_spawnPoint get "marker" == "") then { + [_spawnPoint, "IDLE"] call vn_mf_fnc_veh_asset_marker_create; + }; + }; + + if ( + // vehicle isn't locked + !(_vehicle getVariable ["vn_mf_g_veh_asset_locked", false]) && + // we've waited long enough since being idle + _timeSpentIdle > vn_mf_veh_asset_relock_time && + { + // we haven't just toggled the vehicle lock + (serverTime - (_vehicle getVariable ["vn_mf_g_veh_asset_lock_last_toggled", 0])) > vn_mf_veh_asset_relock_time && + // we're near to a surface + getPosATL _vehicle select 2 < 2 && + // have zero velocity + vectorMagnitude velocity _vehicle < 1 && + //check that the vic is not slingloaded + isNull ropeAttachedTo _vehicle && + // no crew + crew _vehicle isEqualTo [] && + // vehicle is alive + alive _vehicle && + // vehicle is in a valid place to lock + { + vn_mf_veh_asset_lock_all_idle_vehicles || + { vn_mf_veh_asset_lock_idle_vehicle_markers findIf {_vehicle inArea _x} > -1 } + } + } + ) then { + [_vehicle] call vn_mf_fnc_veh_asset_lock_vehicle; + }; +}; + +//Update marker position if it exists, and it's been too long. +if (_doMarkerUpdate && !((_spawnPoint get "status" get "state") in ["RESPAWNING", "REPAIRING"])) then { + [_spawnPoint] call vn_mf_fnc_veh_asset_marker_update_position; +}; + +//Check if a vehicle should be respawned +if ( + (_spawnPoint get "status" get "state") in ["RESPAWNING", "REPAIRING"] && + {(_spawnPoint get "status" getOrDefault ["finishesAt", 0]) < serverTime} +) then { + vn_mf_spawn_points_to_respawn pushBackUnique (_spawnPoint get "id"); +}; \ No newline at end of file diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_remove_package_underwater_wreck_action_local.sqf b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_remove_package_underwater_wreck_action_local.sqf index 07abd3a6..13d5122e 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_remove_package_underwater_wreck_action_local.sqf +++ b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_remove_package_underwater_wreck_action_local.sqf @@ -7,16 +7,16 @@ Removes the package underwater wreck action from the player Parameter(s): - _id - Vehicle asset ID + _vehicle - Vehicle to remove package action from [Object] Returns: nothing Example(s): Not to be directly called */ -params ["_id"]; +params ["_vehicle"]; -private _actionVariable = format ["veh_asset_package_underwater_wreck_action_%1", _id]; +private _actionVariable = format ["veh_asset_package_underwater_wreck_action_%1", netId _vehicle]; private _actionId = player getVariable _actionVariable; if (isNil "_actionId") exitWith {}; diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_remove_spawn_point.sqf b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_remove_spawn_point.sqf new file mode 100644 index 00000000..cad91b6a --- /dev/null +++ b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_remove_spawn_point.sqf @@ -0,0 +1,23 @@ +/* + File: fn_veh_asset_remove_spawn_point.sqf + Author: Savage Game Design + Public: Yes + + Description: + Removes a spawn point from the asset manager + + Parameter(s): + _id - Id of the spawn point to remove [STRING] + + Returns: + None + + Example(s): + ["mySpawnPointId"] call vn_mf_fnc_veh_asset_remove_spawn_point; +*/ +params ["_id"]; + +vn_mf_veh_asset_spawn_points deleteAt _id; + +//TODO - Remove "package wreck for transport" if wreck has it. +//Shouldn't be an issue with our use case... for now. \ No newline at end of file diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_remove_vehicle.sqf b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_remove_vehicle.sqf deleted file mode 100644 index a2d9822f..00000000 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_remove_vehicle.sqf +++ /dev/null @@ -1,24 +0,0 @@ -/* - File: fn_veh_asset_remove_vehicle.sqf - Author: Savage Game Design - Public: Yes - - Description: - Removes a vehicle from the asset manager - - Parameter(s): - _id - Id of the vehicle to remove [STRING] - - Returns: - None - - Example(s): - ["myVehicleId"] call vn_mf_fnc_veh_asset_remove_vehicle; -*/ -params ["_id"]; - -veh_asset_vehicle_ids deleteAt (veh_asset_vehicle_ids find _id); -missionNamespace setVariable [_id call vn_mf_fnc_veh_asset_key, nil]; - -//TODO - Remove "package wreck for transport" if wreck has it. -//Shouldn't be an issue with our use case... for now. \ No newline at end of file diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_respawn.sqf b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_respawn.sqf index 08af9719..0b68f654 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_respawn.sqf +++ b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_respawn.sqf @@ -4,25 +4,30 @@ Public: No Description: - Respawns a vehicle asset. + Respawns the last spawned vehicle at the given spawnpoint. Parameter(s): - _id - Id of vehicle asset [Number] + _spawnPoint - Spawn point to respawn [HashMap] Returns: nothing Example(s): none */ -params ["_id"]; +params ["_spawnPoint"]; -private _vehicleInfo = [_id] call vn_mf_fnc_veh_asset_get_by_id; -_vehicleInfo select struct_veh_asset_info_m_respawn_info params ["_respawnType", "_respawnTime", "_positionOverride"]; -private _spawnInfo = _vehicleInfo select struct_veh_asset_info_m_spawn_info; -_spawnInfo params ["_className", "_vectorDirUp", "_position", "_initialVariables"]; -private _vehicle = objNull; +private _respawnType = _spawnPoint get "settings" get "respawnType"; +private _respawnTime = _spawnPoint get "settings" get "time"; +private _classToSpawn = _spawnPoint getOrDefault ["lastClassSpawned", _spawnpoint get "settings" get "vehicles" select 0]; +private _spawnLocation = _spawnPoint getOrDefault ["nextSpawnLocationOverride", _spawnPoint get "spawnLocation"]; + +if (isNil "_classToSpawn") exitWith {}; +if (!isClass (configFile >> "CfgVehicles" >> _classToSpawn)) exitWith { + diag_log format ["VN MikeForce: [ERROR] Unable to respawn vehicle, class %1 is invalid", _classToSpawn]; +}; -private _oldVehicle = _vehicleInfo select struct_veh_asset_info_m_vehicle; +private _vehicle = objNull; +private _oldVehicle = _spawnPoint getOrDefault ["currentVehicle", objNull]; _oldVehicle enableSimulationGlobal false; deleteVehicle _oldVehicle; @@ -30,32 +35,29 @@ deleteVehicle _oldVehicle; sleep 1; isNil { - _vehicle = [_className, [0,0,0], [], 0, "CAN_COLLIDE"] call para_g_fnc_create_vehicle; + _vehicle = [_classToSpawn, [0,0,0], [], 0, "CAN_COLLIDE"] call para_g_fnc_create_vehicle; _vehicle enableSimulationGlobal false; - _vehicle setVectorDirAndUp _vectorDirUp; - - if !(_positionOverride isEqualTo [0,0,0]) then { - _positionOverride = _positionOverride findEmptyPosition [0, 50, _className]; - _vehicle setPos _positionOverride; - _vehicleInfo set [struct_veh_asset_info_m_respawn_info, [_respawnType, _respawnTime, [0,0,0]]]; - } else { - _vehicle setPosWorld _position; - } + + private _position = _spawnLocation get "pos"; + if (_spawnLocation getOrDefault ["searchForEmptySpace", false]) then { + private _newPosition = _position findEmptyPosition [0, 50, _classToSpawn]; + if (_newPosition isNotEqualTo []) then { + _position = AGLtoASL _newPosition; + }; + }; + + _vehicle setDir (_spawnLocation get "dir"); + _vehicle setPosASL _position; + + // Location override is only valid for 1 respawn. + _spawnPoint deleteAt "nextSpawnLocationOverride"; }; //This restores UAV drivers. Shouldn't need it in VN, but better safe than sorry. -if (getNumber (configfile >> "CfgVehicles" >> _className >> "isUAV") > 0 && count crew _vehicle > 0) then { +if (getNumber (configfile >> "CfgVehicles" >> _classToSpawn >> "isUAV") > 0 && count crew _vehicle > 0) then { createVehicleCrew _vehicle; }; -//Restore initial variables -//TODO: Un-network this, once teamLock is fixed to be less buggy with respawn. -{ - _vehicle setVariable [_x select 0, _x select 1, true]; -} forEach _initialVariables; - -_vehicleInfo set [struct_veh_asset_info_m_vehicle, _vehicle]; - -[_id, _vehicle] call vn_mf_fnc_veh_asset_init_vehicle; +[_spawnPoint, _vehicle] call vn_mf_fnc_veh_asset_assign_vehicle_to_spawn_point; _vehicle enableSimulationGlobal true; diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_respawn_job.sqf b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_respawn_job.sqf index 8958772f..6492f2b2 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_respawn_job.sqf +++ b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_respawn_job.sqf @@ -13,7 +13,11 @@ Example(s): none */ -if (vn_mf_vehicles_to_respawn isEqualTo []) exitWith {}; +if (vn_mf_spawn_points_to_respawn isEqualTo []) exitWith {}; -private _vehicle = vn_mf_vehicles_to_respawn deleteAt 0; -[_vehicle] spawn vn_mf_fnc_veh_asset_respawn; +private _spawnPointId = vn_mf_spawn_points_to_respawn deleteAt 0; +private _spawnPoint = vn_mf_veh_asset_spawn_points get _spawnPointId; + +if (isNil "_spawnPoint") exitWith {}; + +[_spawnPoint] spawn vn_mf_fnc_veh_asset_respawn; diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_active.sqf b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_active.sqf index 13d62eeb..c3cb9c3b 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_active.sqf +++ b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_active.sqf @@ -4,17 +4,21 @@ Public: No Description: - Marks a vehicle asset as being in active use. + Marks a spawn point's vehicle as being in active use. Parameter(s): - _id - Id of vehicle asset [Number] + _spawnPoint - Spawn point whose vehicle should be set as active [HashMap] Returns: nothing Example(s): none */ -params ["_id"]; +params ["_spawnPoint"]; -[_id] call vn_mf_fnc_veh_asset_get_by_id set [struct_veh_asset_info_m_state_data, ["ACTIVE"]]; -[_id] call vn_mf_fnc_veh_asset_marker_delete; \ No newline at end of file +_spawnPoint set ["status", createHashMapFromArray [ + ["state", "ACTIVE"], + ["lastChanged", serverTime] +]]; + +[_spawnPoint] call vn_mf_fnc_veh_asset_marker_delete; \ No newline at end of file diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_disabled.sqf b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_disabled.sqf index bf0700f3..4371209f 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_disabled.sqf +++ b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_disabled.sqf @@ -4,17 +4,21 @@ Public: No Description: - Sets a vehicle asset to disabled. + Sets a spawn point's vehicle asset to disabled. Parameter(s): - _id - Id of vehicle asset [Number] + _spawnPoint - Spawn point whose vehicle should be set as disabled [HashMap] Returns: nothing Example(s): none */ -params ["_id"]; +params ["_spawnPoint"]; -[_id] call vn_mf_fnc_veh_asset_get_by_id set [struct_veh_asset_info_m_state_data, ["DISABLED", serverTime]]; -[_id, "DISABLED"] call vn_mf_fnc_veh_asset_marker_create; \ No newline at end of file +_spawnPoint set ["status", createHashMapFromArray [ + ["state", "DISABLED"], + ["lastChanged", serverTime] +]]; + +[_spawnPoint, "DISABLED"] call vn_mf_fnc_veh_asset_marker_create; \ No newline at end of file diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_idle.sqf b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_idle.sqf index 10b0a49f..6c0e08ef 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_idle.sqf +++ b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_idle.sqf @@ -4,19 +4,21 @@ Public: No Description: - Sets a vehicle asset to idle. + Sets a spawn point's vehicle status to idle. Parameter(s): - _id - Id of vehicle asset [Number] + _spawnPoint - Spawn point whose status should be set to idle [Object] Returns: nothing Example(s): none */ -params ["_id"]; +params ["_spawnPoint"]; -private _vehicle = [_id] call vn_mf_fnc_veh_asset_get_by_id; -_vehicle set [struct_veh_asset_info_m_state_data, ["IDLE", serverTime]]; +_spawnPoint set ["status", createHashMapFromArray [ + ["state", "IDLE"], + ["lastChanged", serverTime] +]]; -[_id] call vn_mf_fnc_veh_asset_marker_delete; \ No newline at end of file +[_spawnPoint] call vn_mf_fnc_veh_asset_marker_delete; \ No newline at end of file diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_repairing.sqf b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_repairing.sqf index 0bb7bb6e..31658a73 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_repairing.sqf +++ b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_repairing.sqf @@ -4,10 +4,10 @@ Public: No Description: - Marks a vehicle as being repaired. + Marks a spawn point's vehicle as being repaired. Parameter(s): - _id - Id of vehicle asset [Number] + _spawnPoint - Spawn point of vehicle asset [HashMap] _repairTime - Time to repair the vehicle [Number, defaults to 0] Returns: nothing @@ -15,17 +15,18 @@ Example(s): none */ -params ["_id", "_repairTime"]; - -private _vehicleInfo = [_id] call vn_mf_fnc_veh_asset_get_by_id; +params ["_spawnPoint", "_repairTime"]; if (isNil "_repairTime") then { - _repairTime = _vehicleInfo select struct_veh_asset_info_m_respawn_info select 1; + _repairTime = _spawnPoint get "settings" getOrDefault ["time", 0]; }; -_vehicleInfo set [struct_veh_asset_info_m_state_data, ["REPAIRING", serverTime + _repairTime]]; +_spawnPoint set ["status", createHashMapFromArray [ + ["state", "REPAIRING"], + ["lastChanged", serverTime], + ["finishesAt", serverTime + _repairTime] +]]; -[_id] call vn_mf_fnc_veh_asset_marker_delete; +[_spawnPoint] call vn_mf_fnc_veh_asset_marker_delete; -private _vehicle = _vehicleInfo select struct_veh_asset_info_m_vehicle; -_vehicle hideObjectGlobal true; \ No newline at end of file +_spawnPoint getOrDefault ["currentVehicle", objNull] hideObjectGlobal true; \ No newline at end of file diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_respawning.sqf b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_respawning.sqf index 1a8ccbbd..9cb9871c 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_respawning.sqf +++ b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_respawning.sqf @@ -4,10 +4,10 @@ Public: No Description: - Marks a vehicle asset as respawning. + Marks a spawn point as respawning its vehicle. Parameter(s): - _id - Id of vehicle asset [Number] + _spawnPoint - Spawn point in the process of respawning [HashMap] _repairTime - When to respawn. Pulled from the info if not [Number, defaults to 0] Returns: nothing @@ -15,14 +15,16 @@ Example(s): none */ -params ["_id", "_respawnTime"]; - -private _vehicleInfo = [_id] call vn_mf_fnc_veh_asset_get_by_id; +params ["_spawnPoint", "_respawnTime"]; if (isNil "_respawnTime") then { - _respawnTime = _vehicleInfo select struct_veh_asset_info_m_respawn_info select 1; + _respawnTime = _spawnPoint get "settings" getOrDefault ["time", 0]; }; -_vehicleInfo set [struct_veh_asset_info_m_state_data, ["RESPAWNING", serverTime + _respawnTime]]; +_spawnPoint set ["status", createHashMapFromArray [ + ["state", "RESPAWNING"], + ["lastChanged", serverTime], + ["finishesAt", serverTime + _respawnTime] +]]; -[_id] call vn_mf_fnc_veh_asset_marker_delete; +[_spawnPoint] call vn_mf_fnc_veh_asset_marker_delete; diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_wrecked.sqf b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_wrecked.sqf index 7632aebb..84a30a93 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_wrecked.sqf +++ b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_wrecked.sqf @@ -7,32 +7,36 @@ Marks a vehicle asset as wrecked. Wrecks it if it isn't already. Parameter(s): - _id - Id of vehicle asset [Number] + __spawnPoint - Spawn point whose vehicle should be set as wrecked [HashMap] Returns: nothing Example(s): none */ -params ["_id"]; +params ["_spawnPoint"]; -private _vehicleInfo = [_id] call vn_mf_fnc_veh_asset_get_by_id; -private _vehicle = _vehicleInfo select struct_veh_asset_info_m_vehicle; +private _vehicle = _spawnPoint getOrDefault ["currentVehicle", objNull]; //if it's deleted, not a lot we can do about it, as we have no position! Might as well just set it to repair. if (isNull _vehicle) exitWith { - ["VN MikeForce: Vehicle %1 was deleted and respawn type is Wreck. Sending to repair", _id] call BIS_fnc_logFormat; - [_id] call vn_mf_fnc_veh_asset_set_repairing; + ["VN MikeForce: Vehicle for spawn point %1 was deleted and respawn type is Wreck. Sending to repair", _spawnPoint get "id"] call BIS_fnc_logFormat; + [_spawnPoint] call vn_mf_fnc_veh_asset_set_repairing; }; -_vehicleInfo set [struct_veh_asset_info_m_state_data, ["WRECKED", getPosASL _vehicle, getDir _vehicle]]; +_spawnPoint set ["status", createHashMapFromArray [ + ["state", "WRECKED"], + ["lastChanged", serverTime], + ["posASL", getPosASL _vehicle], + ["dir", getDir _vehicle] +]]; //Kaboom. We don't want TWO vehicles by accident. if (alive _vehicle) then { _vehicle setDamage 1; }; -[_id] call vn_mf_fnc_veh_asset_setup_package_wreck_action; +[_vehicle] call vn_mf_fnc_veh_asset_setup_package_wreck_action; -[_id, "WRECK"] call vn_mf_fnc_veh_asset_marker_create; +[_spawnPoint, "WRECK"] call vn_mf_fnc_veh_asset_marker_create; diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_setup_package_wreck_action.sqf b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_setup_package_wreck_action.sqf index d2b5d683..24168de9 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_setup_package_wreck_action.sqf +++ b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_setup_package_wreck_action.sqf @@ -7,19 +7,17 @@ Prepares a wreck to be loaded into a crate. Parameter(s): - _id - Id of vehicle asset [Number] + _vehicle - Vehicle to add action to [Object] Returns: nothing Example(s): none */ -params ["_id"]; - -private _vehicle = [_id] call vn_mf_fnc_veh_asset_get_by_id select struct_veh_asset_info_m_vehicle; +params ["_vehicle"]; [ - [_id, _vehicle], + [_vehicle], "vn_mf_fnc_veh_asset_setup_package_wreck_action_local", 0, _vehicle diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_setup_package_wreck_action_local.sqf b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_setup_package_wreck_action_local.sqf index 8b938286..8099263b 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_setup_package_wreck_action_local.sqf +++ b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_setup_package_wreck_action_local.sqf @@ -16,29 +16,27 @@ Example(s): none */ -params ["_id", "_target"]; +params ["_target"]; private _trigger = createTrigger ["EmptyDetector", _target, false]; _trigger attachTo [_target]; _trigger setTriggerArea [75, 75, 0, false, -1]; _trigger setTriggerActivation ["ANYPLAYER", "PRESENT", true]; -_trigger setVariable ["veh_asset_id", _id]; _trigger setVariable ["vehicle", _target]; _trigger setTriggerStatements [ "this && surfaceIsWater getPos thisTrigger && vehicle player in thisList", - "[thisTrigger getVariable 'veh_asset_id', thisTrigger getVariable 'vehicle'] call vn_mf_fnc_veh_asset_add_package_underwater_wreck_action_local", - "[thisTrigger getVariable 'veh_asset_id', thisTrigger getVariable 'vehicle'] call vn_mf_fnc_veh_asset_remove_package_underwater_wreck_action_local" + "[thisTrigger getVariable 'vehicle'] call vn_mf_fnc_veh_asset_add_package_underwater_wreck_action_local", + "[thisTrigger getVariable 'vehicle'] call vn_mf_fnc_veh_asset_remove_package_underwater_wreck_action_local" ]; -_target setVariable ["veh_asset_trigger", _trigger]; _target addEventHandler ["Deleted", { params ["_object"]; private _trigger = _object getVariable "veh_asset_trigger"; if (!isNil "_trigger") then { - [_trigger getVariable 'veh_asset_id', _trigger getVariable 'vehicle'] call vn_mf_fnc_veh_asset_remove_package_underwater_wreck_action_local; + [_object] call vn_mf_fnc_veh_asset_remove_package_underwater_wreck_action_local; deleteVehicle _trigger; }; }]; -[_id, _target] call vn_mf_fnc_veh_asset_add_package_wreck_action_local; \ No newline at end of file +[_target] call vn_mf_fnc_veh_asset_add_package_wreck_action_local; \ No newline at end of file diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_subsystem_init.sqf b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_subsystem_init.sqf index 4861e608..9d2c1c6b 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_subsystem_init.sqf +++ b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_subsystem_init.sqf @@ -14,25 +14,10 @@ */ params [["_lockIdleVehicleMarkers", []]]; -//Create the struct we use to store vehicle data. -//Makes it easier to clean up. -[ - "veh_asset_info", - [ - "vehicle", - "spawn_info", - //Default to not respawning - ["respawn_info", {["NONE", 0, [0,0,0]]}], - //Starts in IDLE state. - ["state_data", {["IDLE", 0]}], - //No initial marker - ["marker", {""}] - ] -] call para_g_fnc_create_struct; - -//Unique identifier for every vehicle registered with the respawn system. -if (isNil "veh_asset_vehicle_ids") then { - veh_asset_vehicle_ids = []; +// Map from unique ID to a hashmap describing the spawn point. +// Avoid double-init, as can be initialised by adding a spawn point in the `init` box in 3DEN. +if (isNil "vn_mf_veh_asset_spawn_points") then { + vn_mf_veh_asset_spawn_points = createHashMap; }; //Vehicles are marked as abandoned after 5 minutes. @@ -49,15 +34,6 @@ vn_mf_veh_asset_lock_idle_vehicle_markers = _lockIdleVehicleMarkers; //Time to re-lock a vehicle vn_mf_veh_asset_relock_time = 30; //Vehicles to respawn var init -vn_mf_vehicles_to_respawn = []; - - -private _vehiclesToAdd = synchronizedObjects vn_mf_veh_asset_logic; -private _count = 1; -{ - [_x, format ["%1-%2", typeOf _x, _count]] call vn_mf_fnc_veh_asset_add_vehicle; - _count = _count + 1; -} forEach _vehiclesToAdd; - -["vehicle_asset_manager", vn_mf_fnc_veh_asset_job, [], 5] call para_g_fnc_scheduler_add_job; +vn_mf_spawn_points_to_respawn = []; +["vehicle_asset_manager", vn_mf_fnc_veh_asset_job, [], 5] call para_g_fnc_scheduler_add_job; \ No newline at end of file diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_unlock_vehicle.sqf b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_unlock_vehicle.sqf index cba732be..1578084f 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_unlock_vehicle.sqf +++ b/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_unlock_vehicle.sqf @@ -7,18 +7,16 @@ Unlocks a locked vehicle asset Parameter(s): - _id - Id of the vehicle asset [Number] + _vehicle - Vehicle to unlock [Object] Returns: - None + None Example(s): - [22] call vn_mf_fnc_veh_asset_unlock_vehicle + [22] call vn_mf_fnc_veh_asset_unlock_vehicle */ -params ["_id"]; - -private _vehicle = [_id] call vn_mf_fnc_veh_asset_get_by_id select struct_veh_asset_info_m_vehicle; +params ["_vehicle"]; if !(_vehicle getVariable ["vn_mf_g_veh_asset_locked", false]) exitWith {}; From 813ef87dc15aef1f2e3b83d0eedb318eb5f2036a Mon Sep 17 00:00:00 2001 From: Spoffy Date: Fri, 19 May 2023 18:38:55 +0100 Subject: [PATCH 08/34] Adds imported version of BI garage Makes the garage vaguely work Adds more garage fixes --- mission/config/functions.hpp | 8 + mission/config/ui/garage/garage.hpp | 1130 +++++ mission/config/ui/ui_main.hpp | 4 +- .../systems/garage/fn_garage_arsenal.sqf | 3697 +++++++++++++++++ .../garage/fn_garage_create_ui_callback.sqf | 26 + .../systems/garage/fn_garage_open.sqf | 876 ++++ .../garage/fn_garage_register_display.sqf | 74 + 7 files changed, 5814 insertions(+), 1 deletion(-) create mode 100644 mission/config/ui/garage/garage.hpp create mode 100644 mission/functions/systems/garage/fn_garage_arsenal.sqf create mode 100644 mission/functions/systems/garage/fn_garage_create_ui_callback.sqf create mode 100644 mission/functions/systems/garage/fn_garage_open.sqf create mode 100644 mission/functions/systems/garage/fn_garage_register_display.sqf diff --git a/mission/config/functions.hpp b/mission/config/functions.hpp index bfbf28ab..d1f38b17 100644 --- a/mission/config/functions.hpp +++ b/mission/config/functions.hpp @@ -190,6 +190,14 @@ class CfgFunctions class earplugs {}; }; + class system_garage { + file = "functions\systems\garage"; + class garage_arsenal {}; + class garage_create_ui_callback {}; + class garage_open {}; + class garage_register_display {}; + }; + class system_player_markers { file = "functions\systems\player_markers"; diff --git a/mission/config/ui/garage/garage.hpp b/mission/config/ui/garage/garage.hpp new file mode 100644 index 00000000..8aa76d9a --- /dev/null +++ b/mission/config/ui/garage/garage.hpp @@ -0,0 +1,1130 @@ +import RscActivePicture; +import RscButtonArsenal; +import RscButtonMenu; +import RscControlsGroup; +import RscControlsGroupNoScrollbars; +import RscEdit; +import RscFrame; +import RscListBox; +import RscListNBox; +import RscMessageBox; +import RscPicture; +import RscProgress; +import RscText; +import RscTitle; + + +class vn_mf_garage_disp_garage +{ + idd = -1; + enableSimulation = 1; + onLoad = "with uiNamespace do { ['Init', _this] call (missionNamespace getVariable 'vn_mf_fnc_garage_open')}"; + onUnload = "with uiNamespace do { ['Exit', _this] call (missionNamespace getVariable 'vn_mf_fnc_garage_open')}"; + icon = "\A3\Ui_f\data\Logos\a_64_ca.paa"; + logo = "\A3\Ui_f\data\Logos\arsenal_1024_ca.paa"; + class ControlsBackground + { + class BlackLeft: RscText + { + colorBackground[] = {0,0,0,1}; + x = "safezoneXAbs"; + y = "safezoneY"; + w = "safezoneXAbs - safezoneX"; + h = "safezoneH"; + }; + class BlackRight: BlackLeft + { + x = "safezoneX + safezoneW"; + }; + class MouseArea: RscText + { + idc = 899; + style = 16; + x = "safezoneX"; + y = "safezoneY"; + w = "safezoneW"; + h = "safezoneH"; + }; + }; + class Controls + { + class ArrowLeft: RscButton + { + idc = 992; + text = "-"; + x = -1; + y = -1; + w = "1 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + }; + class ArrowRight: ArrowLeft + { + idc = 993; + text = "+"; + x = -1; + y = -1; + w = "1 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + }; + class BackgroundLeft: RscText + { + fade = 1; + idc = 994; + x = "safezoneX + (1 + 1.5 * 2) * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "safezoneY + 0.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "15 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "safezoneH - 2.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorBackground[] = {0,0,0,0.5}; + }; + class BackgroundRight: BackgroundLeft + { + idc = 995; + x = "safezoneX + safezoneW - 17.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + }; + class LineIcon: RscFrame + { + fade = 1; + idc = 1803; + x = -1; + y = -1; + w = 0; + h = 0; + colorText[] = {0,0,0,1}; + }; + class LineTabLeft: RscText + { + fade = 1; + idc = 1804; + x = -1; + y = -1; + w = "0.6 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "1.4 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorBackground[] = {0,0,0,1}; + }; + class LineTabLeftSelected: RscText + { + idc = 1805; + x = "safezoneX"; + y = -1; + w = "0.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "1.4 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorBackground[] = {0,0,0,0.8}; + }; + class LineTabRight: LineTabLeft + { + idc = 1806; + }; + class Tabs: RscFrame + { + fade = 1; + idc = 1800; + x = "safezoneX + 0.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "safezoneY + 0.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "1.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "40 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorText[] = {0,0,0,0}; + }; + class FrameLeft: RscFrame + { + fade = 1; + idc = 1801; + x = "safezoneX + (1 + 1.5 * 2) * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "safezoneY + 0.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "15 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "safezoneH - 2.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorText[] = {0,0,0,1}; + }; + class FrameRight: FrameLeft + { + fade = 1; + idc = 1802; + x = "safezoneX + safezoneW - 17.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + }; + class Load: RscProgress + { + fade = 1; + idc = 990; + style = 0; + texture = "#(argb,8,8,3)color(1,1,1,1)"; + colorBar[] = {1,1,1,1}; + colorFrame[] = {0,0,0,1}; + x = "safezoneX"; + y = "safezoneY + safezoneH - 0.0 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "safezoneW"; + h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + }; + class LoadCargo: Load + { + fade = 1; + idc = 991; + x = "safezoneX + safezoneW - 17.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "safezoneY + safezoneH - 11.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "15 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + }; + class Message: RscText + { + fade = 1; + idc = 996; + x = "safezoneX + (0.5 * safezoneW) - (0.5 * ((safezoneW - 36 * ( ((safezoneW / safezoneH) min 1.2) / 40)) max 0.4))"; + y = "21.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))"; + w = "((safezoneW - 36 * ( ((safezoneW / safezoneH) min 1.2) / 40)) max 0.4)"; + h = "1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorBackground[] = {0,0,0,0.7}; + style = 2; + shadow = 0; + text = ""; + sizeEx = "0.8 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + }; + class Space: RscControlsGroup + { + x = "safezoneX + safezoneW * 0.5 - 4 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "safezoneY"; + show = 0; + idc = 27903; + w = "8.1 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + class controls + { + class SpaceArsenalBackground: RscText + { + idc = 26603; + x = "0 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "0 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "4 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorBackground[] = {0,0,0,0.7}; + }; + class SpaceArsenal: RscActivePicture + { + idc = 26803; + text = "\a3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\spaceArsenal_ca.paa"; + x = "1 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "0 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "2 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + tooltip = "$STR_A3_Arsenal"; + }; + class SpaceGarageBackground: SpaceArsenalBackground + { + idc = 26604; + x = "4.1 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "0 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "4 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorBackground[] = {0,0,0,0.7}; + }; + class SpaceGarage: SpaceArsenal + { + idc = 26804; + text = "\a3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\spaceGarage_ca.paa"; + x = "5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "0 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "1.99996 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + tooltip = "$STR_A3_Garage"; + }; + }; + }; + class ControlBar: RscControlsGroupNoScrollbars + { + w = "safezoneW"; + idc = 44046; + x = "0.5 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX)"; + y = "23.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))"; + h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + class controls + { + class ButtonClose: RscButtonMenu + { + idc = 44448; + text = "$STR_DISP_CLOSE"; + x = "0 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "0 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "((safezoneW - 1 * ( ((safezoneW / safezoneH) min 1.2) / 40)) * 0.2) - 0.1 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + shortcuts[] = {"0x00050000 + 1"}; + tooltip = "$STR_A3_RscDisplayGarage_ButtonClose_tooltip"; + }; + class ButtonInterface: ButtonClose + { + idc = 44151; + text = "$STR_CA_HIDE"; + x = "2 * ((safezoneW - 1 * ( ((safezoneW / safezoneH) min 1.2) / 40)) * 0.1)"; + w = "((safezoneW - 1 * ( ((safezoneW / safezoneH) min 1.2) / 40)) * 0.1) - 0.1 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + tooltip = "$STR_A3_RscDisplayArsenal_ButtonInterface_tooltip"; + }; + class ButtonRandom: ButtonInterface + { + idc = 44150; + text = "$STR_A3_RscDisplayArsenal_ButtonRandom"; + x = "3 * ((safezoneW - 1 * ( ((safezoneW / safezoneH) min 1.2) / 40)) * 0.1)"; + tooltip = "$STR_A3_RscDisplayGarage_ButtonRandom_tooltip"; + }; + class ButtonSave: ButtonInterface + { + idc = 44146; + text = "$STR_DISP_INT_SAVE"; + x = "4 * ((safezoneW - 1 * ( ((safezoneW / safezoneH) min 1.2) / 40)) * 0.1)"; + tooltip = "$STR_A3_RscDisplayGarage_ButtonSave_tooltip"; + }; + class ButtonLoad: ButtonInterface + { + idc = 44147; + text = "$STR_DISP_INT_LOAD"; + x = "5 * ((safezoneW - 1 * ( ((safezoneW / safezoneH) min 1.2) / 40)) * 0.1)"; + tooltip = "$STR_A3_RscDisplayGarage_ButtonLoad_tooltip"; + }; + class ButtonExport: ButtonInterface + { + idc = 44148; + text = "$STR_A3_RscDisplayArsenal_ButtonExport"; + x = "6 * ((safezoneW - 1 * ( ((safezoneW / safezoneH) min 1.2) / 40)) * 0.1)"; + tooltip = "$STR_A3_RscDisplayGarage_ButtonExport_tooltip"; + }; + class ButtonImport: ButtonInterface + { + idc = 44149; + text = "$STR_A3_RscDisplayArsenal_ButtonImport"; + x = "7 * ((safezoneW - 1 * ( ((safezoneW / safezoneH) min 1.2) / 40)) * 0.1)"; + tooltip = "$STR_A3_RscDisplayGarage_ButtonImport_tooltip"; + }; + class ButtonTry: ButtonInterface + { + idc = 44347; + text = "$STR_A3_RscDisplayArsenal_ButtonOK"; + x = "8 * ((safezoneW - 1 * ( ((safezoneW / safezoneH) min 1.2) / 40)) * 0.1)"; + tooltip = "$STR_A3_RscDisplayGarage_ButtonTry_tooltip"; + shortcuts[] = {"0x00050000 + 0",28,57,156}; + }; + class ButtonOK: ButtonInterface + { + idc = 44346; + text = "$STR_DISP_CLOSE"; + x = "9 * ((safezoneW - 1 * ( ((safezoneW / safezoneH) min 1.2) / 40)) * 0.1)"; + tooltip = "$STR_A3_RscDisplayGarage_ButtonOK_tooltip"; + }; + }; + }; + class Info: RscControlsGroup + { + x = "safezoneX + safezoneW - 20.1 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "safezoneY + safezoneH - 4.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + fade = 1; + idc = 25815; + w = "17.6 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "3 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + class controls + { + class InfoBackground: RscText + { + idc = 24515; + x = "2.6 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "0 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "15 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "2.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorBackground[] = {0,0,0,1}; + }; + class InfoName: RscText + { + idc = 24516; + x = "2.6 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "0 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "15 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + sizeEx = "1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + }; + class InfoAuthor: RscText + { + idc = 24517; + x = "2.6 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "15 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorText[] = {1,1,1,0.5}; + sizeEx = "0.8 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + }; + class DLCBackground: RscText + { + fade = 1; + idc = 24518; + x = "0 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "0 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "2.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "2.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorBackground[] = {0,0,0,0.5}; + }; + class DLCIcon: RscActivePicture + { + enabled = 0; + fade = 1; + color[] = {1,1,1,1}; + colorActive[] = {1,1,1,1}; + idc = 24715; + text = "#(argb,8,8,3)color(1,1,1,1)"; + x = "0 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "0 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "2.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "2.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + }; + }; + }; + class Stats: RscControlsGroupNoScrollbars + { + x = "safezoneX + safezoneW - 17.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "safezoneY + safezoneH - 10.6 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + fade = 1; + enable = 0; + idc = 28644; + w = "15 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "6 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + class controls + { + class StatsBackground: RscText + { + idc = 27347; + x = "0 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "0 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "15 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "6 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorBackground[] = {0,0,0,0.5}; + }; + class Stat1: RscProgress + { + colorBar[] = {1,1,1,1.0}; + colorFrame[] = {0,0,0,0}; + idc = 27348; + x = "0.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "0.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "14 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "0.9 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + }; + class Stat2: Stat1 + { + idc = 27349; + x = "0.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "14 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "0.9 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + }; + class Stat3: Stat1 + { + idc = 27350; + x = "0.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "2.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "14 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "0.9 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + }; + class Stat4: Stat1 + { + idc = 27351; + x = "0.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "3.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "14 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "0.9 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + }; + class Stat5: Stat1 + { + idc = 27352; + x = "0.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "4.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "14 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "0.9 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + }; + class StatText1: RscText + { + shadow = 0; + colorShadow[] = {1,1,1,1.0}; + idc = 27353; + x = "0.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "0.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "14 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "0.9 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorText[] = {0,0,0,1}; + colorBackground[] = {1,1,1,0.1}; + sizeEx = "0.8 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + }; + class StatText2: StatText1 + { + idc = 27354; + x = "0.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "14 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "0.9 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorText[] = {0,0,0,1}; + colorBackground[] = {1,1,1,0.1}; + sizeEx = "0.8 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + }; + class StatText3: StatText1 + { + idc = 27355; + x = "0.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "2.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "14 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "0.9 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorText[] = {0,0,0,1}; + colorBackground[] = {1,1,1,0.1}; + sizeEx = "0.8 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + }; + class StatText4: StatText1 + { + idc = 27356; + x = "0.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "3.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "14 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "0.9 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorText[] = {0,0,0,1}; + colorBackground[] = {1,1,1,0.1}; + sizeEx = "0.8 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + }; + class StatText5: StatText1 + { + idc = 27357; + x = "0.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "4.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "14 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "0.9 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorText[] = {0,0,0,1}; + colorBackground[] = {1,1,1,0.1}; + sizeEx = "0.8 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + }; + }; + }; + class MouseBlock: RscText + { + idc = 898; + style = 16; + x = "safezoneX"; + y = "safezoneY"; + w = "safezoneW"; + h = "safezoneH"; + }; + class Template: RscControlsGroup + { + fade = 1; + idc = 35919; + x = "10 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; + y = "0.9 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; + w = "20 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "22.2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + class controls + { + class Title: RscTitle + { + style = 0; + colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.13])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.54])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.21])","(profilenamespace getvariable ['GUI_BCG_RGB_A',0.8])"}; + idc = 34619; + text = ""; + x = "0 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "0 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "20 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + }; + class MainBackground: RscText + { + idc = 34622; + x = "0 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "1.1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "20 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "20 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorBackground[] = {0,0,0,0.8}; + }; + class Column1: RscText + { + idc = 34620; + x = "0.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "1.6 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "19 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "17.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorBackground[] = {1,1,1,0.2}; + }; + class Column2: RscText + { + idc = 34623; + x = "9.05 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "1.6 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "1.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "17.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorBackground[] = {1,1,1,0.1}; + }; + class Column3: RscText + { + idc = 34624; + x = "12.85 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "1.6 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "1.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "17.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorBackground[] = {1,1,1,0.1}; + }; + class Column4: RscText + { + idc = 34625; + x = "15.7 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "1.6 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "0.95 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "17.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorBackground[] = {1,1,1,0.1}; + }; + class Column5: RscText + { + idc = 34626; + x = "17.6 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "1.6 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "0.95 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "17.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorBackground[] = {1,1,1,0.1}; + }; + class TextName: RscText + { + style = 1; + idc = 34621; + text = "$STR_DISP_GAME_NAME"; + x = "0.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "19.6 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "5.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorBackground[] = {0,0,0,0.2}; + sizeEx = "0.8 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + }; + class EditName: RscEdit + { + idc = 35020; + x = "6 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "19.6 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "13.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + sizeEx = "0.8 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + }; + class ValueName: RscListNBox + { + columns[] = {0.0,0.45,0.55,0.65,0.75,0.8,0.85,0.9,0.95}; + idc = 35119; + x = "0.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "1.6 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "19 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "17.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + sizeEx = "0.8 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + }; + class ButtonOK: RscButtonMenu + { + idc = 36019; + text = "$STR_DISP_OK"; + x = "15 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "21.2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + }; + class ButtonCancel: RscButtonMenu + { + idc = 36020; + text = "$STR_DISP_CANCEL"; + x = "0 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "21.2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + }; + class ButtonDelete: RscButtonMenu + { + idc = 36021; + text = "$STR_DISP_DELETE"; + x = "9.9 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "21.2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + }; + }; + }; + class MessageBox: RscMessageBox{}; + class TabCar: RscButtonArsenal + { + idc = "930 + 0"; + idcx = 930; + text = "\A3\Ui_f\data\GUI\Rsc\RscDisplayGarage\Car_ca.paa"; + x = "safezoneX + 0.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "safezoneY + 0.5 * 0.04 + 0 * 0.04"; + w = "(1.4 * 2) * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "(1.4 * 2) * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + tooltip = "$STR_A3_RscDisplayGarage_tab_Car"; + }; + class IconCar: RscPicture + { + idc = "900 + 0"; + idcx = 900; + x = -1; + y = -1; + w = "(1.4 * 2) * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "1.4 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + color[] = {1,1,1,0.8}; + }; + class ListCar: RscListBox + { + idc = "960 + 0"; + idcx = 960; + x = "safezoneX + (1 + 1.5 * 2) * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "safezoneY + 0.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "15 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "safezoneH - 2.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + sizeEx = "1.4 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorBackground[] = {0,0,0,0}; + colorSelectBackground[] = {1,1,1,0.5}; + colorSelectBackground2[] = {1,1,1,0.5}; + colorPictureSelected[] = {1,1,1,1}; + colorSelect[] = {1,1,1,1}; + colorSelect2[] = {1,1,1,1}; + colorPictureRightSelected[] = {1,1,1,1}; + }; + class ListDisabledCar: RscText + { + idc = "860 + 0"; + x = "safezoneX + (1 + 1.5 * 2) * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "safezoneY + 0.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "15 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "safezoneH - 2.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + sizeEx = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + text = "$STR_lib_info_na"; + style = 2; + show = 0; + colorText[] = {1,1,1,0.15}; + shadow = 0; + }; + class TabTank: RscButtonArsenal + { + idc = "930 + 1"; + idcx = 931; + text = "\A3\Ui_f\data\GUI\Rsc\RscDisplayGarage\Tank_ca.paa"; + x = "safezoneX + 0.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "safezoneY + 0.5 * 0.04 + 3 * 0.04"; + w = "(1.4 * 2) * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "(1.4 * 2) * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + tooltip = "$STR_A3_RscDisplayGarage_tab_Tank"; + }; + class IconTank: RscPicture + { + idc = "900 + 1"; + idcx = 901; + x = -1; + y = -1; + w = "(1.4 * 2) * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "1.4 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + color[] = {1,1,1,0.8}; + }; + class ListTank: RscListBox + { + idc = "960 + 1"; + idcx = 961; + x = "safezoneX + (1 + 1.5 * 2) * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "safezoneY + 0.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "15 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "safezoneH - 2.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + sizeEx = "1.4 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorBackground[] = {0,0,0,0}; + colorSelectBackground[] = {1,1,1,0.5}; + colorSelectBackground2[] = {1,1,1,0.5}; + colorPictureSelected[] = {1,1,1,1}; + colorSelect[] = {1,1,1,1}; + colorSelect2[] = {1,1,1,1}; + colorPictureRightSelected[] = {1,1,1,1}; + }; + class ListDisabledTank: RscText + { + idc = "860 + 1"; + x = "safezoneX + (1 + 1.5 * 2) * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "safezoneY + 0.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "15 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "safezoneH - 2.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + sizeEx = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + text = "$STR_lib_info_na"; + style = 2; + show = 0; + colorText[] = {1,1,1,0.15}; + shadow = 0; + }; + class TabHelicopter: RscButtonArsenal + { + idc = "930 + 2"; + idcx = 932; + text = "\A3\Ui_f\data\GUI\Rsc\RscDisplayGarage\Helicopter_ca.paa"; + x = "safezoneX + 0.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "safezoneY + 0.5 * 0.04 + 6 * 0.04"; + w = "(1.4 * 2) * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "(1.4 * 2) * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + tooltip = "$STR_A3_RscDisplayGarage_tab_Helicopter"; + }; + class IconHelicopter: RscPicture + { + idc = "900 + 2"; + idcx = 902; + x = -1; + y = -1; + w = "(1.4 * 2) * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "1.4 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + color[] = {1,1,1,0.8}; + }; + class ListHelicopter: RscListBox + { + idc = "960 + 2"; + idcx = 962; + x = "safezoneX + (1 + 1.5 * 2) * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "safezoneY + 0.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "15 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "safezoneH - 2.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + sizeEx = "1.4 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorBackground[] = {0,0,0,0}; + colorSelectBackground[] = {1,1,1,0.5}; + colorSelectBackground2[] = {1,1,1,0.5}; + colorPictureSelected[] = {1,1,1,1}; + colorSelect[] = {1,1,1,1}; + colorSelect2[] = {1,1,1,1}; + colorPictureRightSelected[] = {1,1,1,1}; + }; + class ListDisabledHelicopter: RscText + { + idc = "860 + 2"; + x = "safezoneX + (1 + 1.5 * 2) * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "safezoneY + 0.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "15 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "safezoneH - 2.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + sizeEx = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + text = "$STR_lib_info_na"; + style = 2; + show = 0; + colorText[] = {1,1,1,0.15}; + shadow = 0; + }; + class TabPlane: RscButtonArsenal + { + idc = "930 + 3"; + idcx = 933; + text = "\A3\Ui_f\data\GUI\Rsc\RscDisplayGarage\Plane_ca.paa"; + x = "safezoneX + 0.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "safezoneY + 0.5 * 0.04 + 9 * 0.04"; + w = "(1.4 * 2) * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "(1.4 * 2) * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + tooltip = "$STR_A3_RscDisplayGarage_tab_Plane"; + }; + class IconPlane: RscPicture + { + idc = "900 + 3"; + idcx = 903; + x = -1; + y = -1; + w = "(1.4 * 2) * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "1.4 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + color[] = {1,1,1,0.8}; + }; + class ListPlane: RscListBox + { + idc = "960 + 3"; + idcx = 963; + x = "safezoneX + (1 + 1.5 * 2) * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "safezoneY + 0.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "15 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "safezoneH - 2.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + sizeEx = "1.4 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorBackground[] = {0,0,0,0}; + colorSelectBackground[] = {1,1,1,0.5}; + colorSelectBackground2[] = {1,1,1,0.5}; + colorPictureSelected[] = {1,1,1,1}; + colorSelect[] = {1,1,1,1}; + colorSelect2[] = {1,1,1,1}; + colorPictureRightSelected[] = {1,1,1,1}; + }; + class ListDisabledPlane: RscText + { + idc = "860 + 3"; + x = "safezoneX + (1 + 1.5 * 2) * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "safezoneY + 0.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "15 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "safezoneH - 2.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + sizeEx = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + text = "$STR_lib_info_na"; + style = 2; + show = 0; + colorText[] = {1,1,1,0.15}; + shadow = 0; + }; + class TabNaval: RscButtonArsenal + { + idc = "930 + 4"; + idcx = 934; + text = "\A3\Ui_f\data\GUI\Rsc\RscDisplayGarage\Naval_ca.paa"; + x = "safezoneX + 0.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "safezoneY + 0.5 * 0.04 + 12 * 0.04"; + w = "(1.4 * 2) * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "(1.4 * 2) * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + tooltip = "$STR_A3_RscDisplayGarage_tab_Naval"; + }; + class IconNaval: RscPicture + { + idc = "900 + 4"; + idcx = 904; + x = -1; + y = -1; + w = "(1.4 * 2) * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "1.4 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + color[] = {1,1,1,0.8}; + }; + class ListNaval: RscListBox + { + idc = "960 + 4"; + idcx = 964; + x = "safezoneX + (1 + 1.5 * 2) * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "safezoneY + 0.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "15 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "safezoneH - 2.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + sizeEx = "1.4 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorBackground[] = {0,0,0,0}; + colorSelectBackground[] = {1,1,1,0.5}; + colorSelectBackground2[] = {1,1,1,0.5}; + colorPictureSelected[] = {1,1,1,1}; + colorSelect[] = {1,1,1,1}; + colorSelect2[] = {1,1,1,1}; + colorPictureRightSelected[] = {1,1,1,1}; + }; + class ListDisabledNaval: RscText + { + idc = "860 + 4"; + x = "safezoneX + (1 + 1.5 * 2) * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "safezoneY + 0.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "15 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "safezoneH - 2.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + sizeEx = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + text = "$STR_lib_info_na"; + style = 2; + show = 0; + colorText[] = {1,1,1,0.15}; + shadow = 0; + }; + class TabStatic: RscButtonArsenal + { + idc = "930 + 5"; + idcx = 935; + text = "\A3\Ui_f\data\GUI\Rsc\RscDisplayGarage\Static_ca.paa"; + x = "safezoneX + 0.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "safezoneY + 0.5 * 0.04 + 15 * 0.04"; + w = "(1.4 * 2) * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "(1.4 * 2) * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + tooltip = "$STR_A3_RscDisplayGarage_tab_Static"; + }; + class IconStatic: RscPicture + { + idc = "900 + 5"; + idcx = 905; + x = -1; + y = -1; + w = "(1.4 * 2) * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "1.4 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + color[] = {1,1,1,0.8}; + }; + class ListStatic: RscListBox + { + idc = "960 + 5"; + idcx = 965; + x = "safezoneX + (1 + 1.5 * 2) * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "safezoneY + 0.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "15 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "safezoneH - 2.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + sizeEx = "1.4 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorBackground[] = {0,0,0,0}; + colorSelectBackground[] = {1,1,1,0.5}; + colorSelectBackground2[] = {1,1,1,0.5}; + colorPictureSelected[] = {1,1,1,1}; + colorSelect[] = {1,1,1,1}; + colorSelect2[] = {1,1,1,1}; + colorPictureRightSelected[] = {1,1,1,1}; + }; + class ListDisabledStatic: RscText + { + idc = "860 + 5"; + x = "safezoneX + (1 + 1.5 * 2) * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "safezoneY + 0.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "15 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "safezoneH - 2.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + sizeEx = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + text = "$STR_lib_info_na"; + style = 2; + show = 0; + colorText[] = {1,1,1,0.15}; + shadow = 0; + }; + class TabAnimationSources: RscButtonArsenal + { + idc = "930 + 19"; + idcx = 949; + text = "\A3\Ui_f\data\GUI\Rsc\RscDisplayGarage\AnimationSources_ca.paa"; + x = "safezoneX + safezoneW - 2 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "safezoneY + 0.5 * 0.04 + 0 * 0.04"; + w = "(1.4 * 1) * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "(1.4 * 1) * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + tooltip = "$STR_A3_RscDisplayGarage_tab_AnimationSources"; + }; + class IconAnimationSources: RscPicture + { + idc = "900 + 19"; + idcx = 919; + x = -1; + y = -1; + w = "(1.4 * 1) * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "1.4 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + color[] = {1,1,1,0.8}; + }; + class ListAnimationSources: RscListBox + { + idc = "960 + 19"; + idcx = 979; + x = "safezoneX + safezoneW - 17.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "safezoneY + 0.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "15 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "15 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + sizeEx = "1.4 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorBackground[] = {0,0,0,0}; + colorSelectBackground[] = {1,1,1,0.5}; + colorSelectBackground2[] = {1,1,1,0.5}; + colorPictureSelected[] = {1,1,1,1}; + colorSelect[] = {1,1,1,1}; + colorSelect2[] = {1,1,1,1}; + colorPictureRightSelected[] = {1,1,1,1}; + }; + class ListDisabledAnimationSources: RscText + { + idc = "860 + 19"; + x = "safezoneX + safezoneW - 17.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "safezoneY + 0.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "15 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "15 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + sizeEx = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + text = "$STR_lib_info_na"; + style = 2; + show = 0; + colorText[] = {1,1,1,0.15}; + shadow = 0; + }; + class TabTextureSources: RscButtonArsenal + { + idc = "930 + 20"; + idcx = 950; + text = "\A3\Ui_f\data\GUI\Rsc\RscDisplayGarage\TextureSources_ca.paa"; + x = "safezoneX + safezoneW - 2 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "safezoneY + 0.5 * 0.04 + 1.5 * 0.04"; + w = "(1.4 * 1) * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "(1.4 * 1) * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + tooltip = "$STR_A3_RscDisplayGarage_tab_TextureSources"; + }; + class IconTextureSources: RscPicture + { + idc = "900 + 20"; + idcx = 920; + x = -1; + y = -1; + w = "(1.4 * 1) * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "1.4 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + color[] = {1,1,1,0.8}; + }; + class ListTextureSources: RscListBox + { + idc = "960 + 20"; + idcx = 980; + x = "safezoneX + safezoneW - 17.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "safezoneY + 0.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "15 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "15 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + sizeEx = "1.4 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorBackground[] = {0,0,0,0}; + colorSelectBackground[] = {1,1,1,0.5}; + colorSelectBackground2[] = {1,1,1,0.5}; + colorPictureSelected[] = {1,1,1,1}; + colorSelect[] = {1,1,1,1}; + colorSelect2[] = {1,1,1,1}; + colorPictureRightSelected[] = {1,1,1,1}; + }; + class ListDisabledTextureSources: RscText + { + idc = "860 + 20"; + x = "safezoneX + safezoneW - 17.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "safezoneY + 0.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "15 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "15 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + sizeEx = "2 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + text = "$STR_lib_info_na"; + style = 2; + show = 0; + colorText[] = {1,1,1,0.15}; + shadow = 0; + }; + delete TabPrimaryWeapon; + delete IconPrimaryWeapon; + delete ListPrimaryWeapon; + delete TabSecondaryWeapon; + delete IconSecondaryWeapon; + delete ListSecondaryWeapon; + delete TabHandgun; + delete IconHandgun; + delete ListHandgun; + delete TabUniform; + delete IconUniform; + delete ListUniform; + delete TabVest; + delete IconVest; + delete ListVest; + delete TabBackpack; + delete IconBackpack; + delete ListBackpack; + delete TabHeadgear; + delete IconHeadgear; + delete ListHeadgear; + delete TabGoggles; + delete IconGoggles; + delete ListGoggles; + delete TabNVGs; + delete IconNVGs; + delete ListNVGs; + delete TabBinoculars; + delete IconBinoculars; + delete ListBinoculars; + delete TabMap; + delete IconMap; + delete ListMap; + delete TabGPS; + delete IconGPS; + delete ListGPS; + delete TabRadio; + delete IconRadio; + delete ListRadio; + delete TabCompass; + delete IconCompass; + delete ListCompass; + delete TabWatch; + delete IconWatch; + delete ListWatch; + delete TabFace; + delete IconFace; + delete ListFace; + delete TabVoice; + delete IconVoice; + delete ListVoice; + delete TabInsignia; + delete IconInsignia; + delete ListInsignia; + delete TabItemOptic; + delete IconItemOptic; + delete ListItemOptic; + delete TabItemAcc; + delete IconItemAcc; + delete ListItemAcc; + delete TabItemMuzzle; + delete IconItemMuzzle; + delete ListItemMuzzle; + delete TabCargoMag; + delete IconCargoMag; + delete ListCargoMag; + delete TabCargoThrow; + delete IconCargoThrow; + delete ListCargoThrow; + delete TabCargoPut; + delete IconCargoPut; + delete ListCargoPut; + delete TabCargoMisc; + delete IconCargoMisc; + delete ListCargoMisc; + }; +}; \ No newline at end of file diff --git a/mission/config/ui/ui_main.hpp b/mission/config/ui/ui_main.hpp index e4ea0d85..e5520690 100644 --- a/mission/config/ui/ui_main.hpp +++ b/mission/config/ui/ui_main.hpp @@ -10,4 +10,6 @@ #include "taskroster\ui_tr_base.hpp" // Example display -#include "Example\vn_mf_RscDisplayExample.hpp" \ No newline at end of file +#include "Example\vn_mf_RscDisplayExample.hpp" + +#include "garage\garage.hpp" \ No newline at end of file diff --git a/mission/functions/systems/garage/fn_garage_arsenal.sqf b/mission/functions/systems/garage/fn_garage_arsenal.sqf new file mode 100644 index 00000000..b06e6618 --- /dev/null +++ b/mission/functions/systems/garage/fn_garage_arsenal.sqf @@ -0,0 +1,3697 @@ +/* + Author: + Karel Moricky, modified by Killzone_Kid + + Adapted for Mike Force by Savage Game Design + + Description: + Splendid arsenal viewer + + Parameter(s): + + 0: STRING - mode + 1: ANY - params (see below) + + Modes: + "Open" - Open the Arsenal + 0 (Optional): BOOL - true to open full Arsenal, with all categories and items available (default: false) + + "Preload" - Preload item configs for Arsenal (without preloading, configs are parsed the first time Arsenal is opened) + No params + + "AmmoboxInit" - Add virtual ammobox. Action to access the Arsenal will be added automatically on all clients. + 0: OBJECT - ammobox + 1 (Optional): BOOL - true to make all weapons and items in the game available in the box (default: false) + 2 (Optional): Condition for showing the Arsenal action (default: {true}) + Passed arguments are the same as in addAction condition, i.e., _target - the box, _this - caller + + "AmmoboxExit" - Remove virtual ammobox + 0: OBJECT - ammobox + + + Returns: + NOTHING +*/ + +#include "\A3\ui_f\hpp\defineDIKCodes.inc" +#include "\A3\Ui_f\hpp\defineResinclDesign.inc" + +#define SELF_NAME "vn_mf_fnc_garage_arsenal" +#define SELF_FUNC (missionNamespace getVariable SELF_NAME) +#define GARAGE_FUNC_NAME "vn_mf_fnc_garage_open" +#define GARAGE_FUNC (missionNamespace getVariable GARAGE_FUNC_NAME) +#define MAKE_UI_CALLBACK_FUNC (missionNamespace getVariable "vn_mf_fnc_garage_create_ui_callback") + +#define DEFAULT_MATERIAL "\a3\data_f\default.rvmat" +#define DEFAULT_TEXTURE "#(rgb,8,8,3)color(0,0,0,0)" +#define FADE_DELAY 0.15 + +disableserialization; + +private _fullVersion = missionnamespace getvariable ["BIS_fnc_arsenal_fullArsenal", false]; // INCLUDE IDENTITY +private _broadcastUpdates = isMultiplayer && _fullVersion; +private _mode = param [0, "Open", [displaynull, ""]]; +private _confirmAction = param [2, false]; +private _fastLookupTable = uiNamespace getVariable ["bis_fnc_arsenal_data", locationNull]; + +_this = param [1, []]; + +private _fnc_getFaceConfig = +{ + private _faces = missionnamespace getvariable ["BIS_fnc_arsenal_faces", [[],[]]]; + private _faceIndex = _faces select 0 findIf { _this == _x }; + if (_faceIndex > -1) exitWith { _faces select 1 select _faceIndex }; + configNull +}; + +private _fnc_setUnitInsignia = +{ + params ["_unit", "_insignia", ["_global", false]]; + + private _index = getArray (configFile >> "CfgVehicles" >> getText (configFile >> "CfgWeapons" >> uniform _unit >> "ItemInfo" >> "uniformClass") >> "hiddenSelections") findIf { _x == "insignia" }; + private _materialArray = [_index, getText (configfile >> "CfgUnitInsignia" >> _insignia >> "material") call {[_this, DEFAULT_MATERIAL] select (_this isEqualTo "")}]; + private _textureArray = [_index, getText (configfile >> "CfgUnitInsignia" >> _insignia >> "texture") call {[_this, DEFAULT_TEXTURE] select (_this isEqualTo "")}]; + + _unit setVariable ["BIS_fnc_setUnitInsignia_class", [_insignia, nil] select (_insignia isEqualTo ""), true]; + + if (_global) exitWith + { + _unit setObjectMaterialGlobal _materialArray; + _unit setObjectTextureGlobal _textureArray; + }; + + _unit setObjectMaterial _materialArray; + _unit setObjectTexture _textureArray; +}; + +private _fnc_getUnitInsignia = { _this getVariable ["BIS_fnc_setUnitInsignia_class", ""] }; + +private _fnc_addBinoculars = +{ + params ["_unit", "_binocs"]; + _unit removeWeapon binocular _unit; + private _magazine = getArray (configFile >> "cfgWeapons" >> _binocs >> "magazines") param [0, ""]; + if (_magazine != "") then + { + if (_unit canAdd _magazine) exitWith + { + isNil + { + _unit addMagazine _magazine; + _unit addWeapon _binocs; + }; + }; + + if (!isNull uniformContainer _unit) exitWith + { + isNil + { + uniformContainer _unit addMagazineCargoGlobal [_magazine, 1]; + _unit addWeapon _binocs; + }; + }; + + if (!isNull vestContainer _unit) exitWith + { + isNil + { + vestContainer _unit addMagazineCargoGlobal [_magazine, 1]; + _unit addWeapon _binocs; + }; + }; + + if (!isNull backpackContainer _unit) exitWith + { + isNil + { + backpackContainer _unit addMagazineCargoGlobal [_magazine, 1]; + _unit addWeapon _binocs; + }; + }; + + _unit forceAddUniform getText (configFile >> "CfgVehicles" >> "C_man_1" >> "uniformClass"); + _unit addmagazine _magazine; + _unit addWeapon _binocs; + removeUniform _unit; + } + else + { + _unit addWeapon _binocs; + }; +}; + +#define IDCS_LEFT\ + IDC_RSCDISPLAYARSENAL_TAB_PRIMARYWEAPON,\ + IDC_RSCDISPLAYARSENAL_TAB_SECONDARYWEAPON,\ + IDC_RSCDISPLAYARSENAL_TAB_HANDGUN,\ + IDC_RSCDISPLAYARSENAL_TAB_UNIFORM,\ + IDC_RSCDISPLAYARSENAL_TAB_VEST,\ + IDC_RSCDISPLAYARSENAL_TAB_BACKPACK,\ + IDC_RSCDISPLAYARSENAL_TAB_HEADGEAR,\ + IDC_RSCDISPLAYARSENAL_TAB_GOGGLES,\ + IDC_RSCDISPLAYARSENAL_TAB_NVGS,\ + IDC_RSCDISPLAYARSENAL_TAB_BINOCULARS,\ + IDC_RSCDISPLAYARSENAL_TAB_MAP,\ + IDC_RSCDISPLAYARSENAL_TAB_GPS,\ + IDC_RSCDISPLAYARSENAL_TAB_RADIO,\ + IDC_RSCDISPLAYARSENAL_TAB_COMPASS,\ + IDC_RSCDISPLAYARSENAL_TAB_WATCH,\ + IDC_RSCDISPLAYARSENAL_TAB_FACE,\ + IDC_RSCDISPLAYARSENAL_TAB_VOICE,\ + IDC_RSCDISPLAYARSENAL_TAB_INSIGNIA + +#define IDCS_RIGHT\ + IDC_RSCDISPLAYARSENAL_TAB_ITEMOPTIC,\ + IDC_RSCDISPLAYARSENAL_TAB_ITEMACC,\ + IDC_RSCDISPLAYARSENAL_TAB_ITEMMUZZLE,\ + IDC_RSCDISPLAYARSENAL_TAB_ITEMBIPOD,\ + IDC_RSCDISPLAYARSENAL_TAB_CARGOMAG,\ + IDC_RSCDISPLAYARSENAL_TAB_CARGOMAGALL,\ + IDC_RSCDISPLAYARSENAL_TAB_CARGOTHROW,\ + IDC_RSCDISPLAYARSENAL_TAB_CARGOPUT,\ + IDC_RSCDISPLAYARSENAL_TAB_CARGOMISC\ + +#define IDCS [IDCS_LEFT,IDCS_RIGHT] + +#define INITTYPES\ + private _types = [];\ + _types set [IDC_RSCDISPLAYARSENAL_TAB_UNIFORM,["Uniform"]];\ + _types set [IDC_RSCDISPLAYARSENAL_TAB_VEST,["Vest"]];\ + _types set [IDC_RSCDISPLAYARSENAL_TAB_BACKPACK,["Backpack"]];\ + _types set [IDC_RSCDISPLAYARSENAL_TAB_HEADGEAR,["Headgear"]];\ + _types set [IDC_RSCDISPLAYARSENAL_TAB_GOGGLES,["Glasses"]];\ + _types set [IDC_RSCDISPLAYARSENAL_TAB_NVGS,["NVGoggles"]];\ + _types set [IDC_RSCDISPLAYARSENAL_TAB_BINOCULARS,["Binocular","LaserDesignator"]];\ + _types set [IDC_RSCDISPLAYARSENAL_TAB_PRIMARYWEAPON,["AssaultRifle","MachineGun","SniperRifle","Shotgun","Rifle","SubmachineGun"]];\ + _types set [IDC_RSCDISPLAYARSENAL_TAB_SECONDARYWEAPON,["Launcher","MissileLauncher","RocketLauncher"]];\ + _types set [IDC_RSCDISPLAYARSENAL_TAB_HANDGUN,["Handgun"]];\ + _types set [IDC_RSCDISPLAYARSENAL_TAB_MAP,["Map"]];\ + _types set [IDC_RSCDISPLAYARSENAL_TAB_GPS,["GPS","UAVTerminal"]];\ + _types set [IDC_RSCDISPLAYARSENAL_TAB_RADIO,["Radio"]];\ + _types set [IDC_RSCDISPLAYARSENAL_TAB_COMPASS,["Compass"]];\ + _types set [IDC_RSCDISPLAYARSENAL_TAB_WATCH,["Watch"]];\ + _types set [IDC_RSCDISPLAYARSENAL_TAB_FACE,[]];\ + _types set [IDC_RSCDISPLAYARSENAL_TAB_VOICE,[]];\ + _types set [IDC_RSCDISPLAYARSENAL_TAB_INSIGNIA,[]];\ + _types set [IDC_RSCDISPLAYARSENAL_TAB_ITEMOPTIC,[]];\ + _types set [IDC_RSCDISPLAYARSENAL_TAB_ITEMACC,[]];\ + _types set [IDC_RSCDISPLAYARSENAL_TAB_ITEMMUZZLE,[]];\ + _types set [IDC_RSCDISPLAYARSENAL_TAB_ITEMBIPOD,[]];\ + _types set [IDC_RSCDISPLAYARSENAL_TAB_CARGOMAG,[]];\ + _types set [IDC_RSCDISPLAYARSENAL_TAB_CARGOMAGALL,[]];\ + _types set [IDC_RSCDISPLAYARSENAL_TAB_CARGOTHROW,[/*"Grenade","SmokeShell"*/]];\ + _types set [IDC_RSCDISPLAYARSENAL_TAB_CARGOPUT,[/*"Mine","MineBounding","MineDirectional"*/]];\ + _types set [IDC_RSCDISPLAYARSENAL_TAB_CARGOMISC,["FirstAidKit","Medikit","MineDetector","Toolkit"]]; + +#define GETVIRTUALCARGO\ + private _virtualItemCargo =\ + (missionnamespace call bis_fnc_getVirtualItemCargo) +\ + (_cargo call bis_fnc_getVirtualItemCargo) +\ + items _center +\ + assigneditems _center +\ + primaryweaponitems _center +\ + secondaryweaponitems _center +\ + handgunitems _center +\ + [uniform _center,vest _center,headgear _center,goggles _center];\ + private _virtualWeaponCargo = [];\ + {\ + _weapon = _x call bis_fnc_baseWeapon;\ + _virtualWeaponCargo set [count _virtualWeaponCargo,_weapon];\ + {\ + private ["_item"];\ + _item = gettext (_x >> "item");\ + if !(_item in _virtualItemCargo) then {_virtualItemCargo set [count _virtualItemCargo,_item];};\ + } foreach ((configfile >> "cfgweapons" >> _x >> "linkeditems") call bis_fnc_returnchildren);\ + } foreach ((missionnamespace call bis_fnc_getVirtualWeaponCargo) + (_cargo call bis_fnc_getVirtualWeaponCargo) + weapons _center + [binocular _center]);\ + private _virtualMagazineCargo = (missionnamespace call bis_fnc_getVirtualMagazineCargo) + (_cargo call bis_fnc_getVirtualMagazineCargo) + magazines _center;\ + private _virtualBackpackCargo = (missionnamespace call bis_fnc_getVirtualBackpackCargo) + (_cargo call bis_fnc_getVirtualBackpackCargo) + [backpack _center]; + +#define STATS_WEAPONS\ + ["reloadtime","dispersion","maxzeroing","hit","mass","initSpeed"],\ + [true,true,false,true,false,false] + +#define STATS_EQUIPMENT\ + ["passthrough","armor","maximumLoad","mass"],\ + [false,false,false,false] + +#define ADDBINOCULARSMAG\ + _magazines = getarray (configfile >> "cfgweapons" >> _item >> "magazines");\ + if (count _magazines > 0) then {_center addmagazine (_magazines select 0);}; + +#define CONDITION(ITEMLIST) (_fastLookupTable getVariable [_item, false] && { _fullVersion || { "%ALL" in ITEMLIST } || { ITEMLIST findIf { _item == _x } > -1 } }) +#define ERROR if !(_item in _disabledItems) then {_disabledItems set [count _disabledItems,_item];}; + +//--- Function to get item DLC. Don't use item itself, but the first addon in which it's defined. SOme items are re-defined in mods. +//#define GETDLC {configsourcemod _this} +#define GETDLC\ + {\ + private _dlc = "";\ + private _addons = configsourceaddonlist _this;\ + if (count _addons > 0) then {\ + private _mods = configsourcemodlist (configfile >> "CfgPatches" >> _addons select 0);\ + if (count _mods > 0) then {\ + _dlc = _mods select 0;\ + };\ + };\ + _dlc\ + } + + +#define ADDMODICON\ + {\ + private _dlcName = _this call GETDLC;\ + if (_dlcName != "") then {\ + _ctrlList lbsetpictureright [_lbAdd,(modParams [_dlcName,["logo"]]) param [0,""]];\ + _modID = _modList find _dlcName;\ + if (_modID < 0) then {_modID = _modList pushback _dlcName;};\ + _ctrlList lbsetvalue [_lbAdd,_modID];\ + };\ + }; + +//--- Defautl mod list for sorting +#define MODLIST ["","curator","kart","heli","mark","expansion","expansionpremium"] + +#define CAM_DIS_MAX 7 + +/////////////////////////////////////////////////////////////////////////////////////////// +if (_mode isEqualTo "draw3D") exitWith +{ + private _display = BIS_fnc_arsenal_display; + + private _cam = uinamespace getvariable ["BIS_fnc_arsenal_cam", objnull]; + private _center = missionnamespace getvariable ["BIS_fnc_arsenal_center", player]; + private _target = missionnamespace getvariable ["BIS_fnc_arsenal_target", player]; + + BIS_fnc_arsenal_campos params ["_dis", "_dirH", "_dirV", "_targetPos"]; + + [_target, [_dirH + 180, -_dirV, 0]] call bis_fnc_setobjectrotation; + _target attachto [_center, _targetPos, ""]; //--- Reattach for smooth movement + + //_cam setvectordirandup [vectordirvisual _target, vectorupvisual _target]; + //_cam setPosASL (_target modeltoworldvisualworld [0, -_dis, 0]); //--- Don't use setPosASL, can be blacklisted on server + _cam attachto [_target,[0, -_dis, 0],""]; + _cam setdir 0; + + //--- Make sure the camera is not underground + if ((getPosASLVisual _cam select 2) < (getPosASLVisual _center select 2)) then + { + //_cam setPosASL (_target modeltoworldvisualworld [0, -_dis * (((getPosASLVisual _target select 2) - (getPosASLVisual _center select 2)) / ((getPosASLVisual _target select 2) - (getPosASLVisual _cam select 2) + 0.001)), 0]); + _cam attachto [_target,[0, -_dis * (((getPosASLVisual _target select 2) - (getPosASLVisual _center select 2)) / ((getPosASLVisual _target select 2) - (getPosASLVisual _cam select 2) + 0.001)), 0],""]; + _cam setdir 0; + }; + + if (BIS_fnc_arsenal_type == 0) then + { + _selections = []; + _selections set [IDC_RSCDISPLAYARSENAL_TAB_UNIFORM, ["Pelvis", [+0.00, +0.00, -0.00]]]; + _selections set [IDC_RSCDISPLAYARSENAL_TAB_VEST, ["Spine3", [+0.00, +0.00, +0.00]]]; + _selections set [IDC_RSCDISPLAYARSENAL_TAB_BACKPACK, ["Spine3", [+0.00, -0.20, +0.00]]]; + _selections set [IDC_RSCDISPLAYARSENAL_TAB_HEADGEAR, ["Head_axis", [+0.00, +0.00, +0.00]]]; + _selections set [IDC_RSCDISPLAYARSENAL_TAB_GOGGLES, ["Pilot", [-0.04, +0.05, +0.00]]]; + _selections set [IDC_RSCDISPLAYARSENAL_TAB_NVGS, ["Pilot", [+0.00, -0.05, +0.05]]]; + _selections set [IDC_RSCDISPLAYARSENAL_TAB_BINOCULARS, ["Pilot", [+0.04, +0.05, +0.00]]]; + _selections set [IDC_RSCDISPLAYARSENAL_TAB_PRIMARYWEAPON, ["proxy:\A3\Characters_F\Proxies\weapon.001", [+0.00, +0.00, +0.00]]]; + _selections set [IDC_RSCDISPLAYARSENAL_TAB_SECONDARYWEAPON, ["proxy:\A3\Characters_F\Proxies\launcher.001", [+0.00, +0.00, +0.00]]]; + _selections set [IDC_RSCDISPLAYARSENAL_TAB_HANDGUN, ["proxy:\A3\Characters_F\Proxies\pistol.001", [+0.00, +0.00, +0.00]]]; + _selections set [IDC_RSCDISPLAYARSENAL_TAB_MAP, ["",[0, 0,0]]];//["Pelvis", [-0.15, +0.05, +0.00]]]; + _selections set [IDC_RSCDISPLAYARSENAL_TAB_GPS, ["",[0, 0,0]]];//["Pelvis", [-0.05, +0.10, +0.00]]]; + _selections set [IDC_RSCDISPLAYARSENAL_TAB_RADIO, ["",[0, 0,0]]];//["Pelvis", [+0.05, +0.10, +0.00]]]; + _selections set [IDC_RSCDISPLAYARSENAL_TAB_COMPASS, ["",[0, 0,0]]];//["Pelvis", [+0.15, +0.05, +0.00]]]; + _selections set [IDC_RSCDISPLAYARSENAL_TAB_WATCH, ["",[0, 0,0]]];//["LeftForeArmRoll", [+0.00, +0.00, +0.00]]]; + _selections set [IDC_RSCDISPLAYARSENAL_TAB_FACE, ["Head_axis", [+0.05, +0.10, -0.05]]]; + _selections set [IDC_RSCDISPLAYARSENAL_TAB_VOICE, ["",[0, 0,0]]];//["Head_axis", [-0.05, +0.10, -0.05]]]; + _selections set [IDC_RSCDISPLAYARSENAL_TAB_INSIGNIA, ["LeftShoulder", [+0.00, +0.00, +0.00]]]; + //_selections set [IDC_RSCDISPLAYARSENAL_TAB_MISC, ["",[0, 0,0]]];//["", [+0.00, +0.00, +0.00]]]; + + //_cam = (uinamespace getvariable ["BIS_fnc_arsenal_cam",player]); + //_target = (uinamespace getvariable ["BIS_fnc_arsenal_target",player]); + //_alpha = (1 / (_cam distance _target) - 1/3) * 0.75; + + _fade = 1; + { + _selPos = _center selectionposition (_x select 0); + //if (_selPos distance [0,0,0] > 0) then { + if (_selPos vectorDistanceSqr [0,0,0] > 0) then { + //_selPos = [_selPos,_x select 1] call bis_fnc_vectorAdd; + //_pos = _center modeltoworldvisual _selPos; + //_uiPos = worldtoscreen _pos; + _uiPos = worldtoscreen (_center modeltoworldvisual (_selPos vectorAdd (_x select 1))); + if (count _uiPos > 0) then { + //_fade = _fade min (_uiPos distance BIS_fnc_arsenal_mouse); + _fade = _fade min (_uiPos distance2D BIS_fnc_arsenal_mouse); + _index = _foreachindex; + _ctrlPos = []; + { + _ctrl = _display displayctrl (_x + _index); + _ctrlPos = ctrlposition _ctrl; + _ctrlPos set [0,(_uiPos select 0) - (_ctrlPos select 2) * 0.5]; + _ctrlPos set [1,(_uiPos select 1) - (_ctrlPos select 3) * 0.5]; + _ctrl ctrlsetposition _ctrlPos; + _ctrl ctrlcommit 0; + } foreach [IDC_RSCDISPLAYARSENAL_ICON,IDC_RSCDISPLAYARSENAL_ICONBACKGROUND]; + + _ctrlList = _display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + _foreachindex); + _ctrlLineIcon = _display displayctrl IDC_RSCDISPLAYARSENAL_LINEICON; + if (ctrlfade _ctrlList == 0) then { + _ctrlLinePosX = (_uiPos select 0) - (_ctrlPos select 2) * 0.5; + _ctrlLineIcon ctrlsetposition [ + (_uiPos select 0) - (_ctrlPos select 2) * 0.5, + _uiPos select 1, + (ctrlposition _ctrlList select 0) + (ctrlposition _ctrlList select 2) - _ctrlLinePosX, + 0 + ]; + _ctrlLineIcon ctrlsetfade 0; + _ctrlLineIcon ctrlcommit 0; + } else { + if (ctrlfade _ctrlLineIcon == 0) then { + _ctrlLineIcon ctrlsetfade 0.01; + _ctrlLineIcon ctrlcommit 0; + _ctrlLineIcon ctrlsetfade 1; + _ctrlLineIcon ctrlcommit FADE_DELAY; + }; + }; + }; + }; + } foreach _selections; + + _fade = ((_fade - safezoneW * 0.1) * safezoneW) max 0; + { + _index = _foreachindex; + _ctrl = _display displayctrl (IDC_RSCDISPLAYARSENAL_ICON + _index); + _ctrlFade = if !(ctrlenabled _ctrl) then {0} else {_fade}; + { + _ctrl = _display displayctrl (_x + _index); + _ctrl ctrlsetfade _ctrlFade; + _ctrl ctrlcommit 0; + } foreach [IDC_RSCDISPLAYARSENAL_ICON,IDC_RSCDISPLAYARSENAL_ICONBACKGROUND]; + } foreach _selections; + }; + + //--- Grid + _sphere = missionnamespace getvariable ["BIS_fnc_arsenal_sphere",objnull]; + if (is3DEN) then { + for "_x" from -5 to 5 step 1 do { + drawLine3D [ + _sphere modeltoworld [_x,-5,0], + _sphere modeltoworld [_x,+5,0], + [0.03,0.03,0.03,1] + ]; + }; + for "_y" from -5 to 5 step 1 do { + drawLine3D [ + _sphere modeltoworld [-5,_y,0], + _sphere modeltoworld [+5,_y,0], + [0.03,0.03,0.03,1] + ]; + }; + }; +}; + +/////////////////////////////////////////////////////////////////////////////////////////// +if (_mode isEqualTo "Mouse") exitwith +{ + params ["_ctrl", "_mX", "_mY"]; + BIS_fnc_arsenal_mouse = [_mX, _mY]; + + private _cam = uinamespace getvariable ["BIS_fnc_arsenal_cam", objnull]; + private _center = missionnamespace getvariable ["BIS_fnc_arsenal_center", player]; + private _target = missionnamespace getvariable ["BIS_fnc_arsenal_target", player]; + + BIS_fnc_arsenal_campos params ["_dis", "_dirH", "_dirV", "_targetPos"]; + BIS_fnc_arsenal_buttons params ["_LMB", "_RMB"]; + + if (isnull _ctrl) then { _LMB = [0,0] }; //--- Init + + if (count _LMB > 0) then + { + _LMB params ["_cX", "_cY"]; + BIS_fnc_arsenal_buttons set [0, [_mX, _mY]]; + + boundingboxreal _center params ["_minBox", "_maxBox"]; + private _centerSizeBottom = _minBox select 2; + private _centerSizeUp = _maxBox select 2; + private _centerSize = sqrt ([_minBox select 0, _minBox select 1] distance2D [_maxBox select 0, _maxBox select 1]); + + private _z = _targetPos select 2; + _targetPos = _targetPos getPos [(_cX - _mX) * _centerSize, _dirH - 90]; + _z = (_z - (_cY - _mY) * _centerSize) max _centerSizeBottom min _centerSizeUp; + _targetPos = [0,0,0] getPos [([0,0,0] distance2D _targetPos) min _centerSize, [0,0,0] getDir _targetPos]; + _targetPos set [2, _z max ((_minBox select 2) + 0.2)]; + //_targetPos set [2,(_targetPos select 2) max 0.1]; + + //--- Do not let target go below ground + //_posZmin = 0.1; + //_targetWorldPosZ = (_center modelToWorldVisualWorld _targetPos) select 2; + //if (_targetWorldPosZ < _posZmin) then { _targetPos set [2, (_targetPos select 2) - _targetWorldPosZ + _posZmin] }; + + BIS_fnc_arsenal_campos set [3, _targetPos]; + }; + + if (count _RMB > 0) then + { + _RMB params ["_cX", "_cY"]; + + private _dX = (_cX - _mX) * 0.75; + private _dY = (_cY - _mY) * 0.75; + private _z = _targetPos select 2; + + _targetPos = [0,0,0] getPos [[0,0,0] distance2D _targetPos, ([0,0,0] getDir _targetPos) - _dX * 180]; + _targetPos set [2, _z]; + + BIS_fnc_arsenal_campos set [1, (_dirH - _dX * 180) % 360]; + BIS_fnc_arsenal_campos set [2, (_dirV - _dY * 100) max -89 min 89]; + BIS_fnc_arsenal_campos set [3, _targetPos]; + BIS_fnc_arsenal_buttons set [1, [_mX,_mY]]; + }; + + if (isnull _ctrl) then { BIS_fnc_arsenal_buttons = [[],[]] }; + + //--- Terminate when unit is dead + if (!alive _center || isnull _center) then + { + (ctrlparent (_this select 0)) closedisplay 2; + }; +}; + +/////////////////////////////////////////////////////////////////////////////////////////// +if (_mode == "Open") exitWith // case insensitive +{ + if !(isnull (uinamespace getvariable ["BIS_fnc_arsenal_cam", objnull])) exitwith { "Arsenal Viewer is already running" call bis_fnc_logFormat }; + + missionNamespace setVariable ["BIS_fnc_arsenal_fullArsenal", param [0, false, [false]]]; + missionNamespace setVariable ["BIS_fnc_arsenal_cargo", param [1, objnull, [objnull]]]; + + private _center = param [2, player, [player]]; + if (!local _center) exitWith { ["Center must exist and be local"] call BIS_fnc_error }; + missionNamespace setVariable ["BIS_fnc_arsenal_center", _center]; + + private _displayMission = [] call BIS_fnc_displayMission; + if !(isnull finddisplay 312) then { _displayMission = finddisplay 312 }; + if (is3DEN) then { _displayMission = finddisplay 313 }; + _displayMission createdisplay "RscDisplayArsenal"; +}; + +switch _mode do +{ + /////////////////////////////////////////////////////////////////////////////////////////// + case "MouseButtonDown": { BIS_fnc_arsenal_buttons set [_this select 1, [_this select 2, _this select 3]] }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "MouseButtonUp": { BIS_fnc_arsenal_buttons set [_this select 1,[]] }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "MouseZChanged": + { + private _cam = uinamespace getvariable ["BIS_fnc_arsenal_cam", objnull]; + private _center = missionnamespace getvariable ["BIS_fnc_arsenal_center", player]; + private _target = missionnamespace getvariable ["BIS_fnc_arsenal_target", player]; + + //_disMax = if (bis_fnc_arsenal_type > 0) then {sizeof typeof _center * 1.5} else {CAM_DIS_MAX}; + private _disMax = if (bis_fnc_arsenal_type > 0) then { (boundingboxreal _center select 0 vectordistance (boundingboxreal _center select 1)) * 1.5 } else { CAM_DIS_MAX }; + private _dis = BIS_fnc_arsenal_campos select 0; + _dis = _dis - ((_this select 1) / 10); + _dis = _dis max (_disMax * 0.15) min _disMax; + BIS_fnc_arsenal_campos set [0, _dis]; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "Init": + { + private _CFGVEHICLES = configfile >> "CfgVehicles"; + ["bis_fnc_arsenal"] call bis_fnc_startloadingscreen; + + private _display = _this select 0; + private _toggleSpace = uinamespace getvariable ["BIS_fnc_arsenal_toggleSpace", false]; + private _center = missionnamespace getvariable ["BIS_fnc_arsenal_center", player]; + + BIS_fnc_arsenal_type = 0; //--- 0 - Arsenal, 1 - Garage + BIS_fnc_arsenal_toggleSpace = nil; + + if !(is3DEN) then + { + if (_fullVersion) then + { + if (missionname == "Arsenal") then + { + moveout player; + player switchaction "playerstand"; + [player,0] call bis_fnc_setheight; + }; + + //--- Default appearance (only at the mission start) + if (time < 1) then + { + uinamespace getvariable ["bis_fnc_arsenal_defaultClass", []] params + [ + ["_defaultClass", "", [""]], + ["_defaultItems", [], [[]]], + ["_defaultShow", -1, [0]] + ]; + + if (isclass (_CFGVEHICLES >> _defaultClass)) then + { + //--- Load specific class (e.g., when defined by mod browser) + [player, _defaultClass] call bis_fnc_loadinventory; + uinamespace setvariable ["bis_fnc_arsenal_defaultItems", _defaultItems]; + uinamespace setvariable ["bis_fnc_arsenal_defaultShow", _defaultShow]; + } + else + { + //--- Randomize default loadout + [ + player, + selectRandom (("getnumber (_x >> 'scope') > 1 && gettext (_x >> 'simulation') == 'soldier'" configclasses _CFGVEHICLES) apply {configname _x}) + ] + call bis_fnc_loadinventory; + }; + + player switchMove ""; + uinamespace setvariable ["bis_fnc_arsenal_defaultClass", nil]; + }; + }; + }; + + //INITTYPES + ["InitGUI", [_display, SELF_NAME]] call SELF_FUNC; + ["Preload"] call SELF_FUNC; + ["ListAdd", [_display]] call SELF_FUNC; + ["ListSelectCurrent", [_display]] call SELF_FUNC; + + //--- Save default weapon type + BIS_fnc_arsenal_selectedWeaponType = switch currentweapon _center do + { + case (primaryweapon _center): {0}; + case (secondaryweapon _center): {1}; + case (handgunweapon _center): {2}; + default {-1}; + }; + + //--- Load stats + if (isnil {uinamespace getvariable "bis_fnc_arsenal_weaponStats"}) then { + uinamespace setvariable [ + "bis_fnc_arsenal_weaponStats", + [ + ("getnumber (_x >> 'scope') == 2 && getnumber (_x >> 'type') < 5") configclasses (configfile >> "cfgweapons"), + STATS_WEAPONS + ] call bis_fnc_configExtremes + ]; + }; + if (isnil {uinamespace getvariable "bis_fnc_arsenal_equipmentStats"}) then { + _statsEquipment = [ + ("getnumber (_x >> 'scope') == 2 && getnumber (_x >> 'itemInfo' >> 'type') in [605,701,801]") configclasses (configfile >> "cfgweapons"), + STATS_EQUIPMENT + ] call bis_fnc_configExtremes; + _statsBackpacks = [ + ("getnumber (_x >> 'scope') == 2 && getnumber (_x >> 'isBackpack') == 1") configclasses (configfile >> "cfgvehicles"), + STATS_EQUIPMENT + ] call bis_fnc_configExtremes; + + _statsEquipmentMin = _statsEquipment select 0; + _statsEquipmentMax = _statsEquipment select 1; + _statsBackpacksMin = _statsBackpacks select 0; + _statsBackpacksMax = _statsBackpacks select 1; + for "_i" from 2 to 3 do { //--- Ignore backpack armor and passThrough, has no effect + _statsEquipmentMin set [_i,(_statsEquipmentMin select _i) min (_statsBackpacksMin select _i)]; + _statsEquipmentMax set [_i,(_statsEquipmentMax select _i) max (_statsBackpacksMax select _i)]; + }; + + uinamespace setvariable ["bis_fnc_arsenal_equipmentStats",[_statsEquipmentMin,_statsEquipmentMax]]; + }; + + with missionnamespace do { + [missionnamespace,"arsenalOpened",[_display,_toggleSpace]] call bis_fnc_callscriptedeventhandler; + }; + ["bis_fnc_arsenal"] call bis_fnc_endloadingscreen; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "InitGUI": + { + params ["_display", "_function"]; + + BIS_fnc_arsenal_display = _display; + BIS_fnc_arsenal_mouse = [0,0]; + BIS_fnc_arsenal_buttons = [[],[]]; + BIS_fnc_arsenal_action = ""; + + private _center = missionnamespace getvariable ["BIS_fnc_arsenal_center", player]; + _center hideobject false; + cuttext ["","plain"]; + showcommandingmenu ""; + //["#(argb,8,8,3)color(0,0,0,1)",false,nil,0.1,[0,0.5]] spawn bis_fnc_textTiles; + + //--- Force internal view to enable consistent screen blurring. Restore the original view after closing Arsenal. + BIS_fnc_arsenal_cameraview = cameraview; + player switchcamera "internal"; + + showhud false; + + if (is3DEN) then + { + private _isArsenal = _function == SELF_NAME; + private _centerOrig = _center; + private _centerPos = getPosASLVisual _centerOrig vectorAdd [0,0,500]; + + private _sphere = createvehicle ["Sphere_3DEN",_centerPos, [], 0, "none"]; + _sphere setDir 0; + _sphere setPosASL _centerPos; + _sphere setobjecttexture [0,"#(argb,8,8,3)color(0.93,1.0,0.98,0.028,co)"]; + _sphere setobjecttexture [1,"#(argb,8,8,3)color(0.93,1.0,0.98,0.01,co)"]; + + private _params = [typeof _centerOrig, _centerPos, [], 0, "none"]; + _center = if (_isArsenal) then { createagent _params } else { createvehicle _params }; + _center setDir 0; + _center setPosASL getPosASLVisual _sphere; //[getPosASLVisual _sphere select 0,getPosASLVisual _sphere select 1,(getPosASLVisual _sphere select 2) - 4]; + _center switchmove animationstate _centerOrig; + _center switchaction "playerstand"; + + if (_isArsenal) then + { + [_centerOrig, [_center, "arsenal"]] call bis_fnc_saveInventory; + [_center, [_center, "arsenal"]] call bis_fnc_loadInventory; + } + else + { + { _center setobjecttexture [_foreachindex, _x] } foreach getobjecttextures _centerOrig; + + { + private _configname = configname _x; + private _params = [_configname, _centerOrig animationphase _configname, true]; + _center animate _params; + _center animateDoor _params; + [_center, _centerOrig animationphase _configname] call compile (getText(configfile >> "CfgVehicles" >> typeOf _center >> "AnimationSources" >> _configname >> "onPhaseChanged")); + } + foreach configproperties [configfile >> "cfgvehicles" >> typeof _center >> "animationsources", "isclass _x"]; + }; + + _center enablesimulation false; + + //--- Create light for night editing (code based on BIS_fnc_3DENFlashlight) + _intensity = 20; + _light = "#lightpoint" createvehicle _centerPos; + _light setlightbrightness _intensity; + _light setlightambient [1,1,1]; + _light setlightcolor [0,0,0]; + _light lightattachobject [_sphere,[0,0,-_intensity * 7]]; + + //--- Save to global variables, so it can be deleted latger + missionnamespace setvariable ["BIS_fnc_arsenal_light",_light]; + missionnamespace setvariable ["BIS_fnc_arsenal_centerOrig",_centerOrig]; + missionnamespace setvariable ["BIS_fnc_arsenal_center",_center]; + missionnamespace setvariable ["BIS_fnc_arsenal_sphere",_sphere]; + + //--- Use the same vision mode as in Eden + missionnamespace setvariable ["BIS_fnc_arsenal_visionMode",-2 call bis_fnc_3DENVisionMode]; + ["ShowInterface",false] spawn bis_fnc_3DENInterface; + if (get3denactionstate "togglemap" > 0) then { do3DENAction "togglemap" }; + }; + + _display displayaddeventhandler ["mousebuttondown",["['MouseButtonDown',_this]", SELF_NAME] call MAKE_UI_CALLBACK_FUNC]; + _display displayaddeventhandler ["mousebuttonup",["['MouseButtonUp',_this]", SELF_NAME] call MAKE_UI_CALLBACK_FUNC]; + _display displayaddeventhandler ["keydown",["['KeyDown',_this]", SELF_NAME] call MAKE_UI_CALLBACK_FUNC]; + + _ctrlMouseArea = _display displayctrl IDC_RSCDISPLAYARSENAL_MOUSEAREA; + _ctrlMouseArea ctrladdeventhandler ["mousemoving",["['Mouse',_this]", SELF_NAME] call MAKE_UI_CALLBACK_FUNC]; + _ctrlMouseArea ctrladdeventhandler ["mouseholding",["['Mouse',_this]", SELF_NAME] call MAKE_UI_CALLBACK_FUNC]; + _ctrlMouseArea ctrladdeventhandler ["mousebuttonclick",["['TabDeselect',[ctrlparent (_this select 0),_this select 1]]", SELF_NAME] call MAKE_UI_CALLBACK_FUNC]; + _ctrlMouseArea ctrladdeventhandler ["mousezchanged",["['MouseZChanged',_this]", SELF_NAME] call MAKE_UI_CALLBACK_FUNC]; + ctrlsetfocus _ctrlMouseArea; + + _ctrlMouseBlock = _display displayctrl IDC_RSCDISPLAYARSENAL_MOUSEBLOCK; + _ctrlMouseBlock ctrlenable false; + _ctrlMouseBlock ctrladdeventhandler ["setfocus",{_this spawn {disableserialization; (_this select 0) ctrlenable false; (_this select 0) ctrlenable true;};}]; + + _ctrlMessage = _display displayctrl IDC_RSCDISPLAYARSENAL_MESSAGE; + _ctrlMessage ctrlsetfade 1; + _ctrlMessage ctrlcommit 0; + + _ctrlInfo = _display displayctrl IDC_RSCDISPLAYARSENAL_INFO_INFO; + _ctrlInfo ctrlsetfade 1; + _ctrlInfo ctrlcommit 0; + + _ctrlStats = _display displayctrl IDC_RSCDISPLAYARSENAL_STATS_STATS; + _ctrlStats ctrlsetfade 1; + _ctrlStats ctrlenable false; + _ctrlStats ctrlcommit 0; + + //--- UI event handlers + _ctrlButtonInterface = _display displayctrl IDC_RSCDISPLAYARSENAL_CONTROLSBAR_BUTTONINTERFACE; + _ctrlButtonInterface ctrladdeventhandler ["buttonclick", ["['buttonInterface',[ctrlparent (_this select 0)]]", SELF_NAME] call MAKE_UI_CALLBACK_FUNC]; + + _ctrlButtonRandom = _display displayctrl IDC_RSCDISPLAYARSENAL_CONTROLSBAR_BUTTONRANDOM; + _ctrlButtonRandom ctrladdeventhandler ["buttonclick", ["['buttonRandom',[ctrlparent (_this select 0)]]", SELF_NAME] call MAKE_UI_CALLBACK_FUNC]; + + _ctrlButtonSave = _display displayctrl IDC_RSCDISPLAYARSENAL_CONTROLSBAR_BUTTONSAVE; + _ctrlButtonSave ctrladdeventhandler ["buttonclick",["['buttonSave',[ctrlparent (_this select 0)]]", SELF_NAME] call MAKE_UI_CALLBACK_FUNC]; + + _ctrlButtonLoad = _display displayctrl IDC_RSCDISPLAYARSENAL_CONTROLSBAR_BUTTONLOAD; + _ctrlButtonLoad ctrladdeventhandler ["buttonclick",["['buttonLoad',[ctrlparent (_this select 0)]]", SELF_NAME] call MAKE_UI_CALLBACK_FUNC]; + + _ctrlButtonExport = _display displayctrl IDC_RSCDISPLAYARSENAL_CONTROLSBAR_BUTTONEXPORT; + _ctrlButtonExport ctrladdeventhandler ["buttonclick",["['buttonExport',[ctrlparent (_this select 0),'init']]", _function] call MAKE_UI_CALLBACK_FUNC]; + _ctrlButtonExport ctrlenable isServer; // only server can copy to clipboard in MP + + _ctrlButtonImport = _display displayctrl IDC_RSCDISPLAYARSENAL_CONTROLSBAR_BUTTONIMPORT; + _ctrlButtonImport ctrladdeventhandler ["buttonclick",["['buttonImport',[ctrlparent (_this select 0),'init']]", _function] call MAKE_UI_CALLBACK_FUNC]; + _ctrlButtonImport ctrlenable !ismultiplayer; // cannot copy from clipboard in MP + + _ctrlButtonOK = _display displayctrl IDC_RSCDISPLAYARSENAL_CONTROLSBAR_BUTTONOK; + _ctrlButtonOK ctrladdeventhandler ["buttonclick",["['buttonOK',[ctrlparent (_this select 0),'init']]", _function] call MAKE_UI_CALLBACK_FUNC]; + + _ctrlButtonTry = _display displayctrl IDC_RSCDISPLAYARSENAL_CONTROLSBAR_BUTTONTRY; + _ctrlButtonTry ctrladdeventhandler ["buttonclick",["['buttonTry',[ctrlparent (_this select 0)]]", GARAGE_FUNC_NAME] call MAKE_UI_CALLBACK_FUNC]; + + _ctrlArrowLeft = _display displayctrl IDC_RSCDISPLAYARSENAL_ARROWLEFT; + _ctrlArrowLeft ctrladdeventhandler ["buttonclick",["['buttonCargo',[ctrlparent (_this select 0),-1]]", SELF_NAME] call MAKE_UI_CALLBACK_FUNC]; + + _ctrlArrowRight = _display displayctrl IDC_RSCDISPLAYARSENAL_ARROWRIGHT; + _ctrlArrowRight ctrladdeventhandler ["buttonclick",["['buttonCargo',[ctrlparent (_this select 0),+1]]", SELF_NAME] call MAKE_UI_CALLBACK_FUNC]; + + _ctrlTemplateButtonOK = _display displayctrl IDC_RSCDISPLAYARSENAL_TEMPLATE_BUTTONOK; + _ctrlTemplateButtonOK ctrladdeventhandler ["buttonclick",["['buttonTemplateOK',[ctrlparent (_this select 0)]]", _function] call MAKE_UI_CALLBACK_FUNC]; + + _ctrlTemplateButtonCancel = _display displayctrl IDC_RSCDISPLAYARSENAL_TEMPLATE_BUTTONCANCEL; + _ctrlTemplateButtonCancel ctrladdeventhandler ["buttonclick",["['buttonTemplateCancel',[ctrlparent (_this select 0)]]", SELF_NAME] call MAKE_UI_CALLBACK_FUNC]; + + _ctrlTemplateButtonDelete = _display displayctrl IDC_RSCDISPLAYARSENAL_TEMPLATE_BUTTONDELETE; + _ctrlTemplateButtonDelete ctrladdeventhandler ["buttonclick",["['buttonTemplateDelete',[ctrlparent (_this select 0)],true]", SELF_NAME] call MAKE_UI_CALLBACK_FUNC]; + + _ctrlTemplateValue = _display displayctrl IDC_RSCDISPLAYARSENAL_TEMPLATE_VALUENAME; + _ctrlTemplateValue ctrladdeventhandler ["lbselchanged",["['templateSelChanged',[ctrlparent (_this select 0)]]", SELF_NAME] call MAKE_UI_CALLBACK_FUNC]; + _ctrlTemplateValue ctrladdeventhandler ["lbdblclick",["['buttonTemplateOK',[ctrlparent (_this select 0)]]", _function] call MAKE_UI_CALLBACK_FUNC]; + + //--- Menus + _ctrlIcon = _display displayctrl IDC_RSCDISPLAYARSENAL_TAB; + _sortValues = uinamespace getvariable ["bis_fnc_arsenal_sort",[]]; + + if !(isnull _ctrlIcon) then + { + _ctrlIconPos = ctrlposition _ctrlIcon; + _ctrlTabs = _display displayctrl IDC_RSCDISPLAYARSENAL_TABS; + _ctrlTabsPos = ctrlposition _ctrlTabs; + _ctrlTabsPosX = _ctrlTabsPos select 0; + _ctrlTabsPosY = _ctrlTabsPos select 1; + _ctrlIconPosW = _ctrlIconPos select 2; + _ctrlIconPosH = _ctrlIconPos select 3; + _columns = (_ctrlTabsPos select 2) / _ctrlIconPosW; + _rows = (_ctrlTabsPos select 3) / _ctrlIconPosH; + _gridH = ctrlposition _ctrlTemplateButtonOK select 3; + + { + _idc = _x; + _ctrlIcon = _display displayctrl (IDC_RSCDISPLAYARSENAL_ICON + _idc); + _ctrlTab = _display displayctrl (IDC_RSCDISPLAYARSENAL_TAB + _idc); + _mode = if (_idc in [IDCS_LEFT]) then {"TabSelectLeft"} else {"TabSelectRight"}; + + { + _x ctrladdeventhandler [ + "buttonclick", + [ + format ["['%2',[ctrlparent (_this select 0),%1]]", _idc, _mode], + _function + ] call MAKE_UI_CALLBACK_FUNC + ]; + _x ctrladdeventhandler ["mousezchanged",["['MouseZChanged',_this]", SELF_NAME] call MAKE_UI_CALLBACK_FUNC]; + } + foreach [_ctrlIcon,_ctrlTab]; + + _sort = _sortValues param [_idc,0]; + _ctrlSort = _display displayctrl (IDC_RSCDISPLAYARSENAL_SORT + _idc); + _ctrlSort ctrladdeventhandler ["lbselchanged",[format ["['lbSort',[_this,%1]]", _idc], SELF_NAME] call MAKE_UI_CALLBACK_FUNC]; + _ctrlSort lbsetcursel _sort; + _sortValues set [_idc,_sort]; + + _ctrlList = _display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + _idc); + _ctrlList ctrlenable false; + _ctrlList ctrlsetfade 1; + _ctrlList ctrlsetfontheight (_gridH * 0.8); + _ctrlList ctrlcommit 0; + + _ctrlList ctrladdeventhandler ["lbselchanged",[format ["['SelectItem',[ctrlparent (_this select 0),(_this select 0),%1]]", _idc], _function] call MAKE_UI_CALLBACK_FUNC]; + _ctrlList ctrladdeventhandler ["lbdblclick",[format ["['ShowItem',[ctrlparent (_this select 0),(_this select 0),%1]]", _idc], SELF_NAME, nil, 'spawn'] call MAKE_UI_CALLBACK_FUNC]; + + _ctrlListDisabled = _display displayctrl (IDC_RSCDISPLAYARSENAL_LISTDISABLED + _idc); + _ctrlListDisabled ctrlenable false; + + _ctrlSort ctrlsetfade 1; + _ctrlSort ctrlcommit 0; + } + foreach IDCS; + }; + + uinamespace setvariable ["bis_fnc_arsenal_sort",_sortValues]; + ['TabDeselect',[_display,-1]] call SELF_FUNC; + ['SelectItem',[_display,controlnull,-1]] call (missionNamespace getvariable _function); + + _ctrlButtonClose = _display displayctrl IDC_RSCDISPLAYARSENAL_CONTROLSBAR_BUTTONCLOSE; + _ctrlButtonClose ctrladdeventhandler ["buttonclick", + format [ + "%1; true", + ["['buttonClose',[ctrlparent (_this select 0)]]", SELF_NAME, nil, 'spawn'] call MAKE_UI_CALLBACK_FUNC + ] + ]; + + if (is3DEN) then + { + _ctrlButtonClose ctrlsettext localize "STR_DISP_CANCEL"; + _ctrlButtonClose ctrlsettooltip ""; + _ctrlButtonOK ctrlsettext localize "STR_DISP_OK"; + _ctrlButtonOK ctrlsettooltip ""; + } + else + { + if (missionname == "Arsenal") then + { + _ctrlButtonClose ctrlsettext localize "STR_DISP_ARCMAP_EXIT"; + }; + + if (missionname != "arsenal") then + { + _ctrlButtonOK ctrlsettext ""; + _ctrlButtonOK ctrlenable false; + _ctrlButtonOK ctrlsettooltip ""; + _ctrlButtonTry ctrlsettext ""; + _ctrlButtonTry ctrlenable false; + _ctrlButtonTry ctrlsettooltip ""; + }; + }; + + { + _ctrl = _display displayctrl _x; + _ctrl ctrlenable false; + _ctrl ctrlsetfade 1; + _ctrl ctrlcommit 0; + } + foreach + [ + IDC_RSCDISPLAYARSENAL_FRAMELEFT, + IDC_RSCDISPLAYARSENAL_FRAMERIGHT, + IDC_RSCDISPLAYARSENAL_BACKGROUNDLEFT, + IDC_RSCDISPLAYARSENAL_BACKGROUNDRIGHT, + IDC_RSCDISPLAYARSENAL_LINEICON, + IDC_RSCDISPLAYARSENAL_LINETABLEFT, + IDC_RSCDISPLAYARSENAL_LINETABRIGHT, + IDC_RSCDISPLAYARSENAL_TEMPLATE_TEMPLATE + ]; + + if (_fullVersion && !is3DEN) then + { + if (missionname == "Arsenal") then + { + _ctrlSpace = _display displayctrl IDC_RSCDISPLAYARSENAL_SPACE_SPACE; + _ctrlSpace ctrlshow true; + { + _ctrl = _display displayctrl (_x select 0); + _ctrlBackground = _display displayctrl (_x select 1); + _ctrl ctrladdeventhandler ["buttonclick", + format [ + "%1; true", + ["['buttonSpace',_this]", SELF_NAME, nil, 'spawn'] call MAKE_UI_CALLBACK_FUNC + ] + ]; + if (_foreachindex == bis_fnc_arsenal_type) then + { + _ctrl ctrlenable false; + _ctrl ctrlsettextcolor [1,1,1,1]; + _ctrlBackground ctrlsetbackgroundcolor [0,0,0,1]; + }; + } + foreach + [ + [IDC_RSCDISPLAYARSENAL_SPACE_SPACEARSENAL,IDC_RSCDISPLAYARSENAL_SPACE_SPACEARSENALBACKGROUND], + [IDC_RSCDISPLAYARSENAL_SPACE_SPACEGARAGE,IDC_RSCDISPLAYARSENAL_SPACE_SPACEGARAGEBACKGROUND] + ]; + } + else + { + _ctrlSpace = _display displayctrl IDC_RSCDISPLAYARSENAL_SPACE_SPACE; + _ctrlSpace ctrlsetposition [-1,-1,0,0]; + _ctrlSpace ctrlcommit 0; + }; + } + else + { + { + _tab = _x; + { + _ctrl = _display displayctrl (_tab + _x); + _ctrl ctrlshow false; + _ctrl ctrlenable false; + _ctrl ctrlremovealleventhandlers "buttonclick"; + _ctrl ctrlremovealleventhandlers "mousezchanged"; + _ctrl ctrlremovealleventhandlers "lbselchanged"; + _ctrl ctrlremovealleventhandlers "lbdblclick"; + _ctrl ctrlsetposition [0,0,0,0]; + _ctrl ctrlcommit 0; + } + foreach [IDC_RSCDISPLAYARSENAL_TAB,IDC_RSCDISPLAYARSENAL_ICON,IDC_RSCDISPLAYARSENAL_ICONBACKGROUND]; + } + foreach + [ + IDC_RSCDISPLAYARSENAL_TAB_FACE, + IDC_RSCDISPLAYARSENAL_TAB_VOICE, + IDC_RSCDISPLAYARSENAL_TAB_INSIGNIA + ]; + + _ctrlSpace = _display displayctrl IDC_RSCDISPLAYARSENAL_SPACE_SPACE; + _ctrlSpace ctrlsetposition [-1,-1,0,0]; + _ctrlSpace ctrlcommit 0; + }; + + //--- Camera init + private _camPosVar = format ["BIS_fnc_arsenal_campos_%1", BIS_fnc_arsenal_type]; + if (isNil { missionnamespace getvariable _camPosVar }) then + { + // force reset on mission restart + missionnamespace setvariable [_camPosVar, [[10,-45,15,[0,0,-1]], [5,0,0,[0,0,0.85]]] select (BIS_fnc_arsenal_type == 0)]; + }; + + BIS_fnc_arsenal_campos = +(missionnamespace getVariable _camPosVar); + private _posCenter = getPosASLVisual _center; + + private _target = createagent ["Logic", _posCenter, [], 0, "none"]; + //_target setPosASL _posCenter; + _target attachto [_center, BIS_fnc_arsenal_campos select 3, ""]; + missionnamespace setvariable ["BIS_fnc_arsenal_target", _target]; + + private _cam = "camera" camcreate _posCenter; + //_cam setPosASL _posCenter; + _cam cameraeffect ["internal", "back"]; + _cam campreparefocus [-1,-1]; + _cam campreparefov 0.35; + _cam camcommitprepared 0; + //cameraEffectEnableHUD true; + showcinemaborder false; + BIS_fnc_arsenal_cam = _cam; + ["#(argb,8,8,3)color(0,0,0,1)",false,nil,0,[0,0.5]] call bis_fnc_textTiles; + + //--- Camera reset + ["Mouse", [controlnull, 0, 0]] call SELF_FUNC; + BIS_fnc_arsenal_draw3D = addMissionEventHandler ["draw3D", { with uiNamespace do { ["draw3D"] call SELF_FUNC } }]; + + setacctime (missionnamespace getvariable ["BIS_fnc_arsenal_acctime",1]); + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "Preload": + { + private _data = missionNamespace getVariable "bis_fnc_arsenal_data"; + + if (isNil "_data" || isNull _fastLookupTable || _this isEqualTo true) then // or force preload + { + deleteLocation _fastLookupTable; + _fastLookupTable = createLocation ["Invisible", [0,0,0], 0, 0]; + + private _CFGWEAPONS = configFile >> "CfgWeapons"; + private _CFGMAGAZINES = configFile >> "CfgMagazines"; + + private _fnc_dataPushBack = + { + params ["_index", "_className"]; + _data select _index pushBack _className; + _fastLookupTable setVariable [_className, true]; + true + }; + + private _fnc_testItemAndStore = + { + params ["_config", "_className"]; + if (getNumber (_config >> "scope") == 0) exitWith {}; + _fastLookupTable setVariable [_className, true]; + //while { getNumber (_config >> "scope") == 1 } do { _config = inheritsFrom _config }; + //if (getNumber (_config >> "scope") == 2 ) then { _fastLookupTable setVariable [_className, true] }; + }; + + ["bis_fnc_arsenal_preload"] call BIS_fnc_startLoadingScreen; + INITTYPES + _data = []; + { _data set [_x, []] } forEach IDCS; + + private _configArray = ( + ("true" configClasses _CFGWEAPONS) + + ("true" configClasses (configFile >> "CfgVehicles")) + + ("true" configClasses (configFile >> "CfgGlasses")) + ); + + { + private _itemAdded = false; + private _className = configName _x; + private _itemScope = if (isNumber (_x >> "scopeArsenal")) then { getNumber (_x >> "scopeArsenal") } else { getNumber (_x >> "scope") }; + + if ( + _itemScope == 2 + && + { getText (_x >> "model") != "" } + && + { if (isArray (_x >> "muzzles")) then { _className call bis_fnc_baseWeapon == _className } else { true } } //-- Check if base weapon (true for all entity types) + ) + then + { + _className call bis_fnc_itemType params ["_weaponTypeCategory", "_weaponTypeSpecific"]; + if (_weaponTypeCategory != "VehicleWeapon") then + { + private _typesDataIndex = _types findIf { _weaponTypeSpecific in _x }; // _types is part of macro + if (_typesDataIndex > -1) then { _itemAdded = [_typesDataIndex, _className] call _fnc_dataPushBack }; + }; + }; + + if (!_itemAdded) then { [_x, _className] call _fnc_testItemAndStore }; + + progressLoadingScreen linearConversion [0, count _configArray, _foreachindex + 1, 0, 1, true]; + } + foreach _configArray; + + //--- Faces + if (!is3DEN) then + { + private _faces = [[],[]]; //[names,configs] - all faces + { + { + private _itemAdded = false; + private _className = configName _x; + + if (getText (_x >> "head") != "" && _className != "Default") then + { + _faces select 0 pushBack _className; + _faces select 1 pushBack _x; + if (getNumber (_x >> "disabled") > 0) exitWith {}; + _itemAdded = [IDC_RSCDISPLAYARSENAL_TAB_FACE, _className] call _fnc_dataPushBack; + }; + + if (!_itemAdded) then { [_x, _className] call _fnc_testItemAndStore }; + } + forEach ("true" configClasses _x); + } + forEach ("true" configClasses (configfile >> "cfgfaces")); + + // store all faces names and configs + missionNamespace setVariable ["BIS_fnc_arsenal_faces", _faces]; + + //--- Voices + { + private _itemAdded = false; + private _className = configName _x; + private _itemScope = if (isNumber (_x >> "scopeArsenal")) then { getNumber (_x >> "scopeArsenal") } else { getNumber (_x >> "scope") }; + + if ( + _itemScope == 2 + && + getText (_x >> "protocol") != "RadioProtocolBase" + ) + then + { + _itemAdded = [IDC_RSCDISPLAYARSENAL_TAB_VOICE, _className] call _fnc_dataPushBack; + }; + + if (!_itemAdded) then { [_x, _className] call _fnc_testItemAndStore }; + } + forEach ("true" configClasses (configFile >> "cfgVoice")); + + //--- Insignia + { + private _itemAdded = false; + private _className = configName _x; + private _itemScope = if (isNumber (_x >> "scope")) then { getNumber (_x >> "scope") } else { 2 }; + + if (_itemScope == 2) then + { + _itemAdded = [IDC_RSCDISPLAYARSENAL_TAB_INSIGNIA, _className] call _fnc_dataPushBack; + }; + + if (!_itemAdded) then { [_x, _className] call _fnc_testItemAndStore }; + } + foreach ("true" configclasses (configfile >> "cfgunitinsignia")); + }; + + //--- Magazines - Put and Throw + private _magazinesThrowPut = []; + + { + _x params ["_weapon", "_tab"]; + private _magazines = []; + { + { + private _mag = toLower _x; + if (_magazines pushBackUnique _mag > -1) then + { + private _cfgMag = _CFGMAGAZINES >> _mag; + private _itemAdded = false; + private _className = configName _cfgMag; + + if (getNumber (_cfgMag >> "scope") == 2 || getNumber (_cfgMag >> "scopeArsenal") == 2) then + { + _itemAdded = [_tab, _className] call _fnc_dataPushBack; + _magazinesThrowPut pushBack _mag; + }; + + if (!_itemAdded) then { [_cfgMag, _className] call _fnc_testItemAndStore }; + }; + } + foreach getarray (_x >> "magazines"); + } + foreach ("true" configClasses (_CFGWEAPONS >> _weapon)); + } + foreach + [ + ["throw", IDC_RSCDISPLAYARSENAL_TAB_CARGOTHROW], + ["put", IDC_RSCDISPLAYARSENAL_TAB_CARGOPUT] + ]; + + //--- Magazines + //private _ctrlList = _display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + IDC_RSCDISPLAYARSENAL_TAB_CARGOMAGALL); + { + private _itemAdded = false; + private _className = configName _x; + + if ( + getNumber (_x >> "type") > 0 + && + { + (getNumber (_x >> "scope") == 2 || getNumber (_x >> "scopeArsenal") == 2) + && + { !(toLower _className in _magazinesThrowPut) } + } + ) + then + { + _itemAdded = [IDC_RSCDISPLAYARSENAL_TAB_CARGOMAGALL, _className] call _fnc_dataPushBack; + }; + + if (!_itemAdded) then { [_x, _className] call _fnc_testItemAndStore }; + } + foreach ("true" configClasses _CFGMAGAZINES); + + missionNamespace setVariable ["bis_fnc_arsenal_data", _data]; + + // allow in loadout + private _whitelist = ["Default", "NoVoice"]; + {_fastLookupTable setVariable [_x, true]} forEach _whitelist; + // disallow in loadout + private _blacklist = ["U_VirtualMan_F"]; + {_fastLookupTable setVariable [_x, false]} forEach _blacklist; + + uiNamespace setVariable ["bis_fnc_arsenal_data", _fastLookupTable]; + ["bis_fnc_arsenal_preload"] call bis_fnc_endloadingscreen; + true + } else { + false + }; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "Exit": + { + removemissioneventhandler ["draw3D", BIS_fnc_arsenal_draw3D]; + + private _target = missionnamespace getvariable ["BIS_fnc_arsenal_target",player]; + private _cam = uinamespace getvariable ["BIS_fnc_arsenal_cam",objnull]; + _camData = [getPosASLVisual _cam,(getPosASLVisual _cam) vectorfromto (getPosASLVisual _target)]; + _cam cameraeffect ["terminate","back"]; + camdestroy _cam; + + //--- Select correct weapon based on animation + private _center = (missionnamespace getvariable ["BIS_fnc_arsenal_center",player]); + private _selectedWeaponType = uinamespace getvariable ["BIS_fnc_arsenal_selectedWeaponType",-1]; + switch _selectedWeaponType do + { + case 0: {_center selectweapon primaryweapon _center;}; + case 1: {_center selectweapon secondaryweapon _center;}; + case 2: {_center selectweapon handgunweapon _center;}; + }; + + //--- Restore 3DEN settings + if (is3DEN) then { + private _sphere = missionnamespace getvariable ["BIS_fnc_arsenal_sphere",objnull]; + private _light = missionnamespace getvariable ["BIS_fnc_arsenal_light",objnull]; + deletevehicle _center; + deletevehicle _sphere; + deletevehicle _light; + + get3DENCamera cameraeffect ["internal","back"]; + ["ShowInterface",true] call bis_fnc_3DENInterface; + (missionnamespace getvariable ["BIS_fnc_arsenal_visionMode",0]) call bis_fnc_3DENVisionMode; + }; + + //--- Restore original camera view + player switchcamera BIS_fnc_arsenal_cameraview; + + showhud true; + + // exit + missionNamespace setvariable [format ["BIS_fnc_arsenal_campos_%1", BIS_fnc_arsenal_type], +BIS_fnc_arsenal_campos]; + + BIS_fnc_arsenal_cam = nil; + BIS_fnc_arsenal_display = nil; + BIS_fnc_arsenal_type = nil; + BIS_fnc_arsenal_mouse = nil; + BIS_fnc_arsenal_buttons = nil; + BIS_fnc_arsenal_action = nil; + BIS_fnc_arsenal_campos = nil; + BIS_fnc_arsenal_selectedWeaponType = nil; + BIS_fnc_arsenal_cameraview = nil; + + deletevehicle (missionnamespace getvariable ["BIS_fnc_arsenal_target", objnull]); + + missionNameSpace setVariable ["BIS_fnc_arsenal_acctime", acctime]; + missionNameSpace setVariable ["BIS_fnc_arsenal_target", nil]; + missionNameSpace setVariable ["BIS_fnc_arsenal_center", nil]; + missionNameSpace setVariable ["BIS_fnc_arsenal_centerOrig", nil]; + missionNameSpace setVariable ["BIS_fnc_arsenal_cargo", nil]; + + setacctime 1; + + if !(isnull curatorcamera) then { + curatorcamera setPosASL (_camData select 0); + curatorcamera setvectordir (_camData select 1); + curatorcamera cameraeffect ["internal","back"]; + }; + + // sync udentity in MP if full version + if (_broadcastUpdates) then + { + [_center, face _center, speaker _center] call BIS_fnc_setIdentity; + [_center, _center call _fnc_getUnitInsignia, true] call _fnc_setUnitInsignia; + }; + + with missionnamespace do { + [missionnamespace,"arsenalClosed",[displaynull,uinamespace getvariable ["BIS_fnc_arsenal_toggleSpace",false]]] call bis_fnc_callscriptedeventhandler; + }; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "ListAdd": + { + private _CFGVEHICLES = configfile >> "CfgVehicles"; + private _CFGWEAPONS = configfile >> "CfgWeapons"; + private _CFGMAGAZINES = configfile >> "CfgMagazines"; + private _CFGGLASSES = configfile >> "CfgGlasses"; + private _CFGVOICE = configfile >> "CfgVoice"; + private _CFGUNITINSIGNIA = configfile >> "CfgUnitInsignia"; + + private _display = _this select 0; + private _center = missionnamespace getvariable ["BIS_fnc_arsenal_center",player]; + private _cargo = missionnamespace getvariable ["BIS_fnc_arsenal_cargo",objnull]; + private _lbAdd = -1; + private _xCfg = configfile; + private _modList = MODLIST; + private _fnc_addModIcon = ADDMODICON; + private _listDefaults = + [ + [primaryweapon _center call bis_fnc_baseWeapon], // IDC_RSCDISPLAYARSENAL_TAB_PRIMARYWEAPON + [secondaryweapon _center call bis_fnc_baseWeapon], // IDC_RSCDISPLAYARSENAL_TAB_SECONDARYWEAPON + [handgunweapon _center call bis_fnc_baseWeapon], // IDC_RSCDISPLAYARSENAL_TAB_HANDGUN + [uniform _center], // IDC_RSCDISPLAYARSENAL_TAB_UNIFORM + [vest _center], // IDC_RSCDISPLAYARSENAL_TAB_VEST + [backpack _center], // IDC_RSCDISPLAYARSENAL_TAB_BACKPACK + [headgear _center], // IDC_RSCDISPLAYARSENAL_TAB_HEADGEAR + [goggles _center], // IDC_RSCDISPLAYARSENAL_TAB_GOGGLES + [hmd _center], // IDC_RSCDISPLAYARSENAL_TAB_NVGS + [binocular _center], // IDC_RSCDISPLAYARSENAL_TAB_BINOCULARS + [], // IDC_RSCDISPLAYARSENAL_TAB_MAP + [], // IDC_RSCDISPLAYARSENAL_TAB_GPS + [], // IDC_RSCDISPLAYARSENAL_TAB_RADIO + [], // IDC_RSCDISPLAYARSENAL_TAB_COMPASS + [], // IDC_RSCDISPLAYARSENAL_TAB_WATCH + [face _center], // IDC_RSCDISPLAYARSENAL_TAB_FACE + [speaker _center], // IDC_RSCDISPLAYARSENAL_TAB_VOICE + [_center call _fnc_getUnitInsignia], // IDC_RSCDISPLAYARSENAL_TAB_INSIGNIA + + [], // IDC_RSCDISPLAYARSENAL_TAB_ITEMOPTIC + [], // IDC_RSCDISPLAYARSENAL_TAB_ITEMACC + [], // IDC_RSCDISPLAYARSENAL_TAB_ITEMMUZZLE + [], // IDC_RSCDISPLAYARSENAL_TAB_ITEMBIPOD + [], // IDC_RSCDISPLAYARSENAL_TAB_CARGOMAG + [], // IDC_RSCDISPLAYARSENAL_TAB_CARGOMAGALL + [], // IDC_RSCDISPLAYARSENAL_TAB_CARGOTHROW + [], // IDC_RSCDISPLAYARSENAL_TAB_CARGOPUT + [] // IDC_RSCDISPLAYARSENAL_TAB_CARGOMISC + ]; + + GETVIRTUALCARGO + + { + if (_fullVersion || { !(_foreachindex in [IDC_RSCDISPLAYARSENAL_TAB_FACE, IDC_RSCDISPLAYARSENAL_TAB_VOICE, IDC_RSCDISPLAYARSENAL_TAB_INSIGNIA]) }) then + { + private _ctrlList = _display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + _foreachindex); + private _list = +_x; + + //--- Make sure the current items are available + { + private _item = _x; + if (!(_item isEqualTo "") && { _list findIf { _x == _item } < 0 }) then { _list pushBack _item }; + } + foreach (_listDefaults select _foreachindex); + + switch _foreachindex do + { + case IDC_RSCDISPLAYARSENAL_TAB_PRIMARYWEAPON; + case IDC_RSCDISPLAYARSENAL_TAB_SECONDARYWEAPON; + case IDC_RSCDISPLAYARSENAL_TAB_HANDGUN: + { + _virtualCargo = _virtualWeaponCargo; + _virtualAll = _fullVersion || {"%ALL" in _virtualCargo}; + + { + if (_virtualAll || {_x in _virtualCargo}) then { + _xCfg = _CFGWEAPONS >> _x; + _displayName = gettext (_xCfg >> "displayName"); + _lbAdd = _ctrlList lbadd _displayName; + _ctrlList lbsetdata [_lbAdd,_x]; + _ctrlList lbsetpicture [_lbAdd,gettext (_xCfg >> "picture")]; + _ctrlList lbsettooltip [_lbAdd,format ["%1\n%2",_displayName,_x]]; + _xCfg call _fnc_addModIcon; + }; + } + foreach _list; + }; + case IDC_RSCDISPLAYARSENAL_TAB_UNIFORM; + case IDC_RSCDISPLAYARSENAL_TAB_VEST; + case IDC_RSCDISPLAYARSENAL_TAB_HEADGEAR; + case IDC_RSCDISPLAYARSENAL_TAB_NVGS; + case IDC_RSCDISPLAYARSENAL_TAB_MAP; + case IDC_RSCDISPLAYARSENAL_TAB_GPS; + case IDC_RSCDISPLAYARSENAL_TAB_RADIO; + case IDC_RSCDISPLAYARSENAL_TAB_COMPASS; + case IDC_RSCDISPLAYARSENAL_TAB_WATCH: { + _virtualCargo = _virtualItemCargo; + _virtualAll = _fullVersion || {"%ALL" in _virtualCargo}; + { + if (_virtualAll || {_x in _virtualCargo}) then { + _xCfg = _CFGWEAPONS >> _x; + _displayName = gettext (_xCfg >> "displayName"); + _lbAdd = _ctrlList lbadd _displayName;; + _ctrlList lbsetdata [_lbAdd,_x]; + _ctrlList lbsetpicture [_lbAdd,gettext (_xCfg >> "picture")]; + _ctrlList lbsettooltip [_lbAdd,format ["%1\n%2",_displayName,_x]]; + _xCfg call _fnc_addModIcon; + }; + } + foreach _list; + }; + case IDC_RSCDISPLAYARSENAL_TAB_BINOCULARS: { + _virtualCargo = _virtualWeaponCargo + _virtualItemCargo; + _virtualAll = _fullVersion || {"%ALL" in _virtualCargo}; + { + if (_virtualAll || {_x in _virtualCargo}) then { + _xCfg = _CFGWEAPONS >> _x; + _displayName = gettext (_xCfg >> "displayName"); + _lbAdd = _ctrlList lbadd _displayName; + _ctrlList lbsetdata [_lbAdd,_x]; + _ctrlList lbsetpicture [_lbAdd,gettext (_xCfg >> "picture")]; + _ctrlList lbsettooltip [_lbAdd,format ["%1\n%2",_displayName,_x]]; + _xCfg call _fnc_addModIcon; + }; + } + foreach _list; + + }; + case IDC_RSCDISPLAYARSENAL_TAB_GOGGLES: + { + _virtualCargo = _virtualItemCargo; + _virtualAll = _fullVersion || {"%ALL" in _virtualCargo}; + { + if (_virtualAll || {_x in _virtualCargo}) then + { + _xCfg = _CFGGLASSES >> _x; + _displayName = gettext (_xCfg >> "displayName"); + _lbAdd = _ctrlList lbadd _displayName; + _ctrlList lbsetdata [_lbAdd,_x]; + _ctrlList lbsetpicture [_lbAdd,gettext (_xCfg >> "picture")]; + _ctrlList lbsettooltip [_lbAdd,format ["%1\n%2",_displayName,_x]]; + _xCfg call _fnc_addModIcon; + }; + } + foreach _list; + }; + case IDC_RSCDISPLAYARSENAL_TAB_BACKPACK: + { + _virtualCargo = _virtualBackpackCargo; + _virtualAll = _fullVersion || {"%ALL" in _virtualCargo}; + { + if (_virtualAll || {_x in _virtualCargo}) then + { + _xCfg = _CFGVEHICLES >> _x; + _displayName = gettext (_xCfg >> "displayName"); + _lbAdd = _ctrlList lbadd _displayName; + _ctrlList lbsetdata [_lbAdd,_x]; + _ctrlList lbsetpicture [_lbAdd,gettext (_xCfg >> "picture")]; + _ctrlList lbsettooltip [_lbAdd,format ["%1\n%2",_displayName,_x]]; + _xCfg call _fnc_addModIcon; + }; + } + foreach _list; + }; + + case IDC_RSCDISPLAYARSENAL_TAB_FACE: + { + { + _xCfg = _x call _fnc_getFaceConfig; + _displayName = getText (_xCfg >> "displayName"); + if (_displayName isEqualTo "") then { _displayName = _x }; + _lbAdd = _ctrlList lbadd _displayName; + _ctrlList lbsetdata [_lbAdd, _x]; + //_ctrlList lbsetpicture [_lbAdd, gettext (_xCfg >> "texture")]; + _ctrlList lbsettooltip [_lbAdd, format ["%1\n%2",_displayName, _x]]; + _xCfg call _fnc_addModIcon; + } + foreach _list; + }; + + case IDC_RSCDISPLAYARSENAL_TAB_VOICE: + { + { + _xCfg = _CFGVOICE >> _x; + _displayName = getText (_xCfg >> "displayName"); + if (_displayName isEqualTo "") then { _displayName = _x }; + _lbAdd = _ctrlList lbadd _displayName; + _ctrlList lbsetdata [_lbAdd,_x]; + _ctrlList lbsetpicture [_lbAdd,gettext (_xCfg >> "icon")]; + _ctrlList lbsettooltip [_lbAdd,format ["%1\n%2",_displayName,_x]]; + _xCfg call _fnc_addModIcon; + } + foreach _list; + }; + + case IDC_RSCDISPLAYARSENAL_TAB_INSIGNIA: + { + { + _xCfg = _CFGUNITINSIGNIA >> _x; + _displayName = getText (_xCfg >> "displayName"); + if (_displayName isEqualTo "") then { _displayName = _x }; + _lbAdd = _ctrlList lbadd _displayName; + _ctrlList lbsetdata [_lbAdd, _x]; + _ctrlList lbsetpicture [_lbAdd,gettext (_xCfg >> "texture")]; + _ctrlList lbsettooltip [_lbAdd,format ["%1\n%2",_displayName,_x]]; + _xCfg call _fnc_addModIcon; + } + foreach _list; + }; + + case IDC_RSCDISPLAYARSENAL_TAB_CARGOMAGALL; + case IDC_RSCDISPLAYARSENAL_TAB_CARGOTHROW; + case IDC_RSCDISPLAYARSENAL_TAB_CARGOPUT: { + _virtualCargo = _virtualMagazineCargo; + _virtualAll = _fullVersion || {"%ALL" in _virtualCargo}; + _columns = count lnbGetColumnsPosition _ctrlList; + { + if (_virtualAll || {_x in _virtualCargo}) then { + _xCfg = _CFGMAGAZINES >> _x; + _lbAdd = _ctrlList lnbaddrow ["",gettext (_xCfg >> "displayName"),str 0]; + _ctrlList lnbsetdata [[_lbAdd,0],_x]; + _ctrlList lnbsetpicture [[_lbAdd,0],gettext (_xCfg >> "picture")]; + _ctrlList lnbsetvalue [[_lbAdd,0],getnumber (_xCfg >> "mass")]; + _ctrlList lbsettooltip [_lbAdd * _columns,format ["%1\n%2",gettext (_xCfg >> "displayName"),_x]]; + }; + } foreach _list; + }; + case IDC_RSCDISPLAYARSENAL_TAB_CARGOMISC: { + _virtualCargo = _virtualItemCargo; + _virtualAll = _fullVersion || {"%ALL" in _virtualCargo}; + _columns = count lnbGetColumnsPosition _ctrlList; + { + if (_virtualAll || {_x in _virtualCargo}) then { + _xCfg = _CFGWEAPONS >> _x; + _lbAdd = _ctrlList lnbaddrow ["",gettext (_xCfg >> "displayName"),str 0]; + _ctrlList lnbsetdata [[_lbAdd,0],_x]; + _ctrlList lnbsetpicture [[_lbAdd,0],gettext (_xCfg >> "picture")]; + _ctrlList lnbsetvalue [[_lbAdd,0],getnumber (_xCfg >> "itemInfo" >> "mass")]; + _ctrlList lbsettooltip [_lbAdd * _columns,format ["%1\n%2",gettext (_xCfg >> "displayName"),_x]]; + }; + } + foreach _list; + }; + }; + + //--- Add item + if !( + _foreachindex in [ + IDC_RSCDISPLAYARSENAL_TAB_FACE, + IDC_RSCDISPLAYARSENAL_TAB_VOICE, + IDC_RSCDISPLAYARSENAL_TAB_CARGOMAG, + IDC_RSCDISPLAYARSENAL_TAB_CARGOMAGALL, + IDC_RSCDISPLAYARSENAL_TAB_CARGOTHROW, + IDC_RSCDISPLAYARSENAL_TAB_CARGOPUT, + IDC_RSCDISPLAYARSENAL_TAB_CARGOMISC + ] + ) then { + _lbAdd = _ctrlList lbadd format [" <%1>",localize "str_empty"]; + _ctrlList lbsetvalue [_lbAdd,-1]; + }; + + if (ctrltype _ctrlList == 102) then { + _ctrlList lnbsort [1,false]; + } else { + //lbsort _ctrlList; + _ctrlSort = _display displayctrl (IDC_RSCDISPLAYARSENAL_SORT + _foreachindex); + _sortValues = uinamespace getvariable ["bis_fnc_arsenal_sort",[]]; + ["lbSort",[[_ctrlSort,_sortValues param [_foreachindex,0]],_foreachindex]] call SELF_FUNC; + }; + }; + } + foreach (missionnamespace getvariable ["bis_fnc_arsenal_data", []]); + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "ListSelectCurrent": + { + private _display = param [0, uinamespace getvariable ["bis_fnc_arsenal_display", displaynull], [displaynull]]; + private _defaultItems = uinamespace getvariable ["bis_fnc_arsenal_defaultItems", []]; + private _defaultShow = uinamespace getvariable ["bis_fnc_arsenal_defaultShow", -1]; + + { + private _ctrlList = _display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + _foreachindex); + //--- Sort alphabetically + //if (ctrltype _ctrlList == 5) then {lbsort _ctrlList;}; + + //--- Select current + private _center = missionnamespace getvariable ["BIS_fnc_arsenal_center", player]; + private _select = true; + + //--- Check if some item was marked for selection manually + private _defaultItem = _defaultItems param [_foreachindex,[],["",[]]]; + if !(_defaultItem isEqualType []) then { _defaultItem = [_defaultItem] }; + + private _current = if (count _defaultItem == 0) then + { + switch _foreachindex do + { + case IDC_RSCDISPLAYARSENAL_TAB_UNIFORM: {uniform _center}; + case IDC_RSCDISPLAYARSENAL_TAB_VEST: {vest _center}; + case IDC_RSCDISPLAYARSENAL_TAB_BACKPACK: {backpack _center}; + case IDC_RSCDISPLAYARSENAL_TAB_HEADGEAR: {headgear _center}; + case IDC_RSCDISPLAYARSENAL_TAB_GOGGLES: {goggles _center}; + case IDC_RSCDISPLAYARSENAL_TAB_NVGS: {hmd _center}; + case IDC_RSCDISPLAYARSENAL_TAB_BINOCULARS: {binocular _center}; + case IDC_RSCDISPLAYARSENAL_TAB_PRIMARYWEAPON: {primaryweapon _center call bis_fnc_baseWeapon param [0,""] }; + case IDC_RSCDISPLAYARSENAL_TAB_SECONDARYWEAPON: {secondaryweapon _center call bis_fnc_baseWeapon param [0,""] }; + case IDC_RSCDISPLAYARSENAL_TAB_HANDGUN: {handgunweapon _center call bis_fnc_baseWeapon param [0,""] }; + case IDC_RSCDISPLAYARSENAL_TAB_MAP; + case IDC_RSCDISPLAYARSENAL_TAB_GPS; + case IDC_RSCDISPLAYARSENAL_TAB_RADIO; + case IDC_RSCDISPLAYARSENAL_TAB_COMPASS; + case IDC_RSCDISPLAYARSENAL_TAB_WATCH: {assigneditems _center}; + case IDC_RSCDISPLAYARSENAL_TAB_FACE: { face _center }; + case IDC_RSCDISPLAYARSENAL_TAB_VOICE: { speaker _center }; + case IDC_RSCDISPLAYARSENAL_TAB_INSIGNIA: { _center call _fnc_getUnitInsignia }; + default {_select = false; ""}; + }; + } + else + { + if (_defaultShow < 0) then { ["ShowItem", [_display, _ctrlList, _foreachindex]] spawn SELF_FUNC }; + _defaultItem select 0 param [0,"",[""]] + }; + + if (_select) then + { + if !(_current isEqualtype []) then { _current = [_current] }; + + private _selectIndex = -1; + for "_l" from 0 to (lbsize _ctrlList - 1) do + { + if (_current findIf { _ctrlList lbdata _l == _x } > -1) exitwith { _selectIndex = _l }; + }; + + if (_selectIndex > -1) exitWith { _ctrlList lbsetcursel _selectIndex }; + + if (_foreachindex != IDC_RSCDISPLAYARSENAL_TAB_FACE && _foreachindex != IDC_RSCDISPLAYARSENAL_TAB_VOICE && _current isEqualTo [""]) exitWith { _ctrlList lbsetcursel 0 }; + + // select nothing + _ctrlList lbsetcursel -1; + }; + + //--- Add default items (must be done here, because the weapon UI where it would make sense is hidden) + if (count _defaultItem > 0) then + { + switch _foreachindex do + { + case IDC_RSCDISPLAYARSENAL_TAB_PRIMARYWEAPON: { { if (_foreachindex > 0) then { _center addprimaryweaponitem _x } } foreach _defaultItem }; + case IDC_RSCDISPLAYARSENAL_TAB_SECONDARYWEAPON: { { if (_foreachindex > 0) then { _center addsecondaryweaponitem _x } } foreach _defaultItem }; + case IDC_RSCDISPLAYARSENAL_TAB_HANDGUN: { { if (_foreachindex > 0) then { _center addhandgunitem _x } } foreach _defaultItem }; + }; + }; + } + foreach (missionnamespace getvariable ["bis_fnc_arsenal_data", []]); + + if (_defaultShow >= 0) then {["ShowItem", [_display,_display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + _defaultShow),_defaultShow]] spawn SELF_FUNC;}; + uinamespace setvariable ["bis_fnc_arsenal_defaultItems",nil]; + uinamespace setvariable ["bis_fnc_arsenal_defaultShow",nil]; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "TabDeselect": { + _display = _this select 0; + _key = _this select 1; + + //--- Deselect + if ({count _x > 0} count BIS_fnc_arsenal_buttons == 0) then { + + //--- When interface is hidden, reveal it + _shown = ctrlshown (_display displayctrl IDC_RSCDISPLAYARSENAL_CONTROLSBAR_CONTROLBAR); + if (!_shown || _key == 1) exitwith {['buttonInterface',[_display]] call SELF_FUNC;}; + + { + _idc = _x; + { + _ctrlList = _display displayctrl (_x + _idc); + _ctrlLIst ctrlenable false; + _ctrlList ctrlsetfade 1; + _ctrlList ctrlcommit FADE_DELAY; + } foreach [IDC_RSCDISPLAYARSENAL_LIST,IDC_RSCDISPLAYARSENAL_LISTDISABLED,IDC_RSCDISPLAYARSENAL_SORT]; + + _ctrlIcon = _display displayctrl (IDC_RSCDISPLAYARSENAL_ICON + _idc); + _ctrlTab = _display displayctrl (IDC_RSCDISPLAYARSENAL_TAB + _idc); + { + _x ctrlenable true; + _x ctrlsetfade 0; + } foreach [/*_ctrlIcon,*/_ctrlTab]; + _ctrlIcon ctrlenable true; + _ctrlIcon ctrlshow true; + + _ctrlIconBackground = _display displayctrl (IDC_RSCDISPLAYARSENAL_ICONBACKGROUND + _idc); + _ctrlIconBackground ctrlshow true; + + if (_idc in [IDCS_RIGHT]) then { + _ctrlList = _display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + _idc); + _ctrlSort = _display displayctrl (IDC_RSCDISPLAYARSENAL_SORT + _idc); + { + _x ctrlenable false; + _x ctrlsetfade 1; + _x ctrlcommit FADE_DELAY; + } foreach [_ctrlList,_ctrlTab,_ctrlSort]; + }; + } foreach IDCS; + + _idcs = [ + IDC_RSCDISPLAYARSENAL_FRAMELEFT, + IDC_RSCDISPLAYARSENAL_FRAMERIGHT, + IDC_RSCDISPLAYARSENAL_BACKGROUNDLEFT, + IDC_RSCDISPLAYARSENAL_BACKGROUNDRIGHT, + IDC_RSCDISPLAYARSENAL_LINEICON, + IDC_RSCDISPLAYARSENAL_LINETABLEFT, + IDC_RSCDISPLAYARSENAL_LINETABRIGHT, + IDC_RSCDISPLAYARSENAL_LOADCARGO + ]; + + if (BIS_fnc_arsenal_type == 0 || (BIS_fnc_arsenal_type == 1 && !is3DEN)) then { + _idcs append [ + IDC_RSCDISPLAYARSENAL_INFO_INFO, + IDC_RSCDISPLAYARSENAL_STATS_STATS + ]; + }; + { + _ctrl = _display displayctrl _x; + _ctrl ctrlsetfade 1; + _ctrl ctrlcommit 0; + } foreach _idcs + }; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "TabSelectLeft": { + _display = _this select 0; + _index = _this select 1; + + { + _ctrlList = _display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + _x); + _ctrlList lbsetcursel -1; + lbclear _ctrlList; + } foreach [ + IDC_RSCDISPLAYARSENAL_TAB_ITEMOPTIC, + IDC_RSCDISPLAYARSENAL_TAB_ITEMACC, + IDC_RSCDISPLAYARSENAL_TAB_ITEMMUZZLE, + IDC_RSCDISPLAYARSENAL_TAB_ITEMBIPOD + //IDC_RSCDISPLAYARSENAL_TAB_CARGOMAG + ]; + + { + _idc = _x; + _active = _idc == _index; + + { + _ctrlList = _display displayctrl (_x + _idc); + _ctrlList ctrlenable _active; + _ctrlList ctrlsetfade ([1,0] select _active); + _ctrlList ctrlcommit FADE_DELAY; + } foreach [IDC_RSCDISPLAYARSENAL_LIST,IDC_RSCDISPLAYARSENAL_LISTDISABLED,IDC_RSCDISPLAYARSENAL_SORT]; + + _ctrlTab = _display displayctrl (IDC_RSCDISPLAYARSENAL_TAB + _idc); + _ctrlTab ctrlenable !_active; + + if (_active) then { + _ctrlList = _display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + _idc); + _ctrlLineTabLeft = _display displayctrl IDC_RSCDISPLAYARSENAL_LINETABLEFT; + _ctrlLineTabLeft ctrlsetfade 0; + _ctrlTabPos = ctrlposition _ctrlTab; + _ctrlLineTabPosX = (_ctrlTabPos select 0) + (_ctrlTabPos select 2) - 0.01; + _ctrlLineTabPosY = (_ctrlTabPos select 1); + _ctrlLineTabLeft ctrlsetposition [ + safezoneX,//_ctrlLineTabPosX, + _ctrlLineTabPosY, + (ctrlposition _ctrlList select 0) - safezoneX,//_ctrlLineTabPosX, + ctrlposition _ctrlTab select 3 + ]; + _ctrlLineTabLeft ctrlcommit 0; + ctrlsetfocus _ctrlList; + ['SelectItem',[_display,_display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + _idc),_idc]] call SELF_FUNC; + }; + + _ctrlIcon = _display displayctrl (IDC_RSCDISPLAYARSENAL_ICON + _idc); + //_ctrlIcon ctrlsetfade ([1,0] select _active); + _ctrlIcon ctrlshow _active; + _ctrlIcon ctrlenable !_active; + + _ctrlIconBackground = _display displayctrl (IDC_RSCDISPLAYARSENAL_ICONBACKGROUND + _idc); + _ctrlIconBackground ctrlshow _active; + } foreach [IDCS_LEFT]; + + { + _ctrl = _display displayctrl _x; + _ctrl ctrlsetfade 0; + _ctrl ctrlcommit FADE_DELAY; + } foreach [ + IDC_RSCDISPLAYARSENAL_LINETABLEFT, + IDC_RSCDISPLAYARSENAL_FRAMELEFT, + IDC_RSCDISPLAYARSENAL_BACKGROUNDLEFT + ]; + + //--- Weapon attachments + _showItems = _index in [IDC_RSCDISPLAYARSENAL_TAB_PRIMARYWEAPON,IDC_RSCDISPLAYARSENAL_TAB_SECONDARYWEAPON,IDC_RSCDISPLAYARSENAL_TAB_HANDGUN]; + _fadeItems = [1,0] select _showItems; + { + _idc = _x; + _ctrl = _display displayctrl (IDC_RSCDISPLAYARSENAL_TAB + _idc); + _ctrl ctrlenable _showItems; + _ctrl ctrlsetfade _fadeItems; + _ctrl ctrlcommit 0;//FADE_DELAY; + { + _ctrl = _display displayctrl (_x + _idc); + _ctrl ctrlenable _showItems; + _ctrl ctrlsetfade _fadeItems; + _ctrl ctrlcommit FADE_DELAY; + } foreach [IDC_RSCDISPLAYARSENAL_LIST,IDC_RSCDISPLAYARSENAL_LISTDISABLED,IDC_RSCDISPLAYARSENAL_SORT]; + } foreach [ + IDC_RSCDISPLAYARSENAL_TAB_ITEMOPTIC, + IDC_RSCDISPLAYARSENAL_TAB_ITEMACC, + IDC_RSCDISPLAYARSENAL_TAB_ITEMMUZZLE, + IDC_RSCDISPLAYARSENAL_TAB_ITEMBIPOD + ]; + if (_showItems) then {['TabSelectRight',[_display,IDC_RSCDISPLAYARSENAL_TAB_ITEMOPTIC]] call SELF_FUNC;}; + + //--- Containers + _showCargo = _index in [IDC_RSCDISPLAYARSENAL_TAB_UNIFORM,IDC_RSCDISPLAYARSENAL_TAB_VEST,IDC_RSCDISPLAYARSENAL_TAB_BACKPACK]; + _fadeCargo = [1,0] select _showCargo; + { + _idc = _x; + _ctrl = _display displayctrl (IDC_RSCDISPLAYARSENAL_TAB + _idc); + _ctrl ctrlenable _showCargo; + _ctrl ctrlsetfade _fadeCargo; + _ctrl ctrlcommit 0;//FADE_DELAY; + { + _ctrlList = _display displayctrl (_x + _idc); + _ctrlList ctrlenable _showCargo; + _ctrlList ctrlsetfade _fadeCargo; + _ctrlList ctrlcommit FADE_DELAY; + } foreach [IDC_RSCDISPLAYARSENAL_LIST,IDC_RSCDISPLAYARSENAL_LISTDISABLED]; + } foreach [ + IDC_RSCDISPLAYARSENAL_TAB_CARGOMAG, + IDC_RSCDISPLAYARSENAL_TAB_CARGOMAGALL, + IDC_RSCDISPLAYARSENAL_TAB_CARGOTHROW, + IDC_RSCDISPLAYARSENAL_TAB_CARGOPUT, + IDC_RSCDISPLAYARSENAL_TAB_CARGOMISC + ]; + _ctrl = _display displayctrl IDC_RSCDISPLAYARSENAL_LOADCARGO; + _ctrl ctrlsetfade _fadeCargo; + _ctrl ctrlcommit FADE_DELAY; + if (_showCargo) then {['TabSelectRight',[_display,IDC_RSCDISPLAYARSENAL_TAB_CARGOMAG]] call SELF_FUNC;}; + + //--- Right sidebar + _showRight = _showItems || _showCargo; + _fadeRight = [1,0] select _showRight; + { + _ctrl = _display displayctrl _x; + _ctrl ctrlsetfade _fadeRight; + _ctrl ctrlcommit FADE_DELAY; + } foreach [ + IDC_RSCDISPLAYARSENAL_LINETABRIGHT, + IDC_RSCDISPLAYARSENAL_FRAMERIGHT, + IDC_RSCDISPLAYARSENAL_BACKGROUNDRIGHT + ]; + + //--- Refresh weapon accessory lists + //['SelectItem',[_display,_display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + _index),_index]] call SELF_FUNC; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "TabSelectRight": { + _display = _this select 0; + _index = _this select 1; + _ctrFrameRight = _display displayctrl IDC_RSCDISPLAYARSENAL_FRAMERIGHT; + _ctrBackgroundRight = _display displayctrl IDC_RSCDISPLAYARSENAL_BACKGROUNDRIGHT; + { + _idc = _x; + _active = _idc == _index; + + { + _ctrlList = _display displayctrl (_x + _idc); + _ctrlList ctrlenable _active; + _ctrlList ctrlsetfade ([1,0] select _active); + _ctrlList ctrlcommit FADE_DELAY; + } foreach [IDC_RSCDISPLAYARSENAL_LIST,IDC_RSCDISPLAYARSENAL_LISTDISABLED,IDC_RSCDISPLAYARSENAL_SORT]; + + _ctrlTab = _display displayctrl (IDC_RSCDISPLAYARSENAL_TAB + _idc); + _ctrlTab ctrlenable (!_active && ctrlfade _ctrlTab == 0); + + if (_active) then { + _ctrlList = _display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + _idc); + _ctrlLineTabRight = _display displayctrl IDC_RSCDISPLAYARSENAL_LINETABRIGHT; + _ctrlLineTabRight ctrlsetfade 0; + _ctrlTabPos = ctrlposition _ctrlTab; + _ctrlLineTabPosX = (ctrlposition _ctrlList select 0) + (ctrlposition _ctrlList select 2); + _ctrlLineTabPosY = (_ctrlTabPos select 1); + _ctrlLineTabRight ctrlsetposition [ + _ctrlLineTabPosX, + _ctrlLineTabPosY, + safezoneX + safezoneW - _ctrlLineTabPosX,//(_ctrlTabPos select 0) - _ctrlLineTabPosX + 0.01, + ctrlposition _ctrlTab select 3 + ]; + _ctrlLineTabRight ctrlcommit 0; + ctrlsetfocus _ctrlList; + + _ctrlLoadCargo = _display displayctrl IDC_RSCDISPLAYARSENAL_LOADCARGO; + _ctrlListPos = ctrlposition _ctrlList; + _ctrlListPos set [3,(_ctrlListPos select 3) + (ctrlposition _ctrlLoadCargo select 3)]; + { + _x ctrlsetposition _ctrlListPos; + _x ctrlcommit 0; + } foreach [_ctrFrameRight,_ctrBackgroundRight]; + + if ( + _idc in [ + IDC_RSCDISPLAYARSENAL_TAB_CARGOMAG, + IDC_RSCDISPLAYARSENAL_TAB_CARGOMAGALL, + IDC_RSCDISPLAYARSENAL_TAB_CARGOTHROW, + IDC_RSCDISPLAYARSENAL_TAB_CARGOPUT, + IDC_RSCDISPLAYARSENAL_TAB_CARGOMISC + ] + ) then { + //--- Update counts for all items in the list + _center = (missionnamespace getvariable ["BIS_fnc_arsenal_center",player]); + _itemsCurrent = switch true do { + case (ctrlenabled (_display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + IDC_RSCDISPLAYARSENAL_TAB_UNIFORM))): {uniformitems _center}; + case (ctrlenabled (_display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + IDC_RSCDISPLAYARSENAL_TAB_VEST))): {vestitems _center}; + case (ctrlenabled (_display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + IDC_RSCDISPLAYARSENAL_TAB_BACKPACK))): {backpackitems _center}; + default {[]}; + }; + for "_l" from 0 to (lbsize _ctrlList - 1) do { + _class = _ctrlList lnbdata [_l,0]; + _ctrlList lnbsettext [[_l,2],str ({_x == _class} count _itemsCurrent)]; + }; + ["SelectItemRight",[_display,_ctrlList,_index]] call SELF_FUNC; + }; + }; + + _ctrlIcon = _display displayctrl (IDC_RSCDISPLAYARSENAL_ICON + _idc); + //_ctrlIcon ctrlenable false; + _ctrlIcon ctrlshow _active; + _ctrlIcon ctrlenable (!_active && ctrlfade _ctrlTab == 0); + + _ctrlIconBackground = _display displayctrl (IDC_RSCDISPLAYARSENAL_ICONBACKGROUND + _idc); + _ctrlIconBackground ctrlshow _active; + } foreach [IDCS_RIGHT]; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "SelectItem": + { + private ["_ctrlList","_index","_cursel"]; + _display = _this select 0; + _ctrlList = _this select 1; + _index = _this select 2; + _cursel = lbcursel _ctrlList; + if (_cursel < 0) exitwith {}; + _item = if (ctrltype _ctrlList == 102) then {_ctrlList lnbdata [_cursel,0]} else {_ctrlList lbdata _cursel}; + private _center = missionnamespace getvariable ["BIS_fnc_arsenal_center",player]; + + _ctrlListPrimaryWeapon = _display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + IDC_RSCDISPLAYARSENAL_TAB_PRIMARYWEAPON); + _ctrlListSecondaryWeapon = _display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + IDC_RSCDISPLAYARSENAL_TAB_SECONDARYWEAPON); + _ctrlListHandgun = _display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + IDC_RSCDISPLAYARSENAL_TAB_HANDGUN); + + private _fnc_addWeapon = + { + params ["_unit", "_weapon", "_mags"]; + + private _weaponCfg = configFile >> "CfgWeapons" >> _weapon; + if (!isClass _weaponCfg) exitWith { }; + + _unit addWeapon _weapon; + private _magazineCfg = configFile >> "CfgMagazines"; + + { + private _magazines = getArray (if (_x == "this") then { _weaponCfg >> "magazines" } else { _weaponCfg >> _x >> "magazines" }) select { getNumber (_magazineCfg >> _x >> "scope") == 2 }; + if (count _magazines > 0) then + { + private _magazine = _magazines select 0; + _unit addWeaponItem [_weapon, _magazine, true]; + _unit addMagazines [_magazine, _mags]; + }; + } + forEach getArray (_weaponCfg >> "muzzles"); + }; + + private _fnc_removeWeapon = + { + params ["_unit", "_weapon"]; + + private _weaponCfg = configFile >> "CfgWeapons" >> _weapon; + if (!isClass _weaponCfg) exitWith { }; + + _unit removeWeapon _weapon; + private _magazineCfg = configFile >> "CfgMagazines"; + + { + private _magazines = getArray (if (_x == "this") then { _weaponCfg >> "magazines" } else { _weaponCfg >> _x >> "magazines" }) select { getNumber (_magazineCfg >> _x >> "scope") == 2 }; + if (count _magazines > 0) then + { + _unit removeMagazines (_magazines select 0); + }; + } + forEach getArray (_weaponCfg >> "muzzles"); + }; + + switch _index do + { + case IDC_RSCDISPLAYARSENAL_TAB_UNIFORM: + { + if (_item == "") then { + removeuniform _center; + } else { + _items = uniformitems _center; + _center forceadduniform _item; + while {count uniformitems _center > 0} do {_center removeitemfromuniform (uniformitems _center select 0);}; //--- Remove default config contents + {_center additemtouniform _x;} foreach _items; + }; + + //--- Refresh insignia (gets removed when uniform changes) + //["SelectItem",[_display, _display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + IDC_RSCDISPLAYARSENAL_TAB_INSIGNIA),IDC_RSCDISPLAYARSENAL_TAB_INSIGNIA]] spawn SELF_FUNC; + [_center, _center call _fnc_getUnitInsignia, false] call _fnc_setUnitInsignia; + + }; + case IDC_RSCDISPLAYARSENAL_TAB_VEST: + { + if (_item == "") then { + removevest _center; + } else { + _items = vestitems _center; + _center addvest _item; + while {count vestitems _center > 0} do {_center removeitemfromvest (vestitems _center select 0);}; //--- Remove default config contents + {_center additemtovest _x;} foreach _items; + }; + }; + case IDC_RSCDISPLAYARSENAL_TAB_BACKPACK: { + _items = backpackitems _center; + removebackpack _center; + if !(_item == "") then { + _center addbackpack _item; + while {count backpackitems _center > 0} do {_center removeitemfrombackpack (backpackitems _center select 0);}; //--- Remove default config contents + {_center additemtobackpack _x;} foreach _items; + }; + }; + case IDC_RSCDISPLAYARSENAL_TAB_HEADGEAR: { + if (_item == "") then {removeheadgear _center;} else {_center addheadgear _item;}; + }; + case IDC_RSCDISPLAYARSENAL_TAB_GOGGLES: { + if (_item == "") then {removegoggles _center} else {_center addgoggles _item;}; + }; + case IDC_RSCDISPLAYARSENAL_TAB_NVGS: + { + if (_item == "") then + { + private _weapons = []; + for "_l" from 0 to (lbsize _ctrlList) do {_weapons set [count _weapons,tolower (_ctrlList lbdata _l)];}; + { + if (tolower _x in _weapons) then {_center removeweapon _x;}; + } + foreach (assigneditems _center); + } + else + { + _center addweapon _item; + }; + }; + case IDC_RSCDISPLAYARSENAL_TAB_BINOCULARS: + { + if (_item == "") then + { + private _weapons = []; + for "_l" from 0 to (lbsize _ctrlList) do {_weapons set [count _weapons,tolower (_ctrlList lbdata _l)];}; + { + if (tolower _x in _weapons) then {_center removeweapon _x;}; + } + foreach (assigneditems _center); + } + else + { + [_center, _item] call _fnc_addBinoculars; + }; + }; + + case IDC_RSCDISPLAYARSENAL_TAB_PRIMARYWEAPON: + { + private _weapon = primaryWeapon _center; + + if (_weapon call BIS_fnc_baseWeapon != _item) then + { + if (_item == "") exitWith { [_center, _weapon] call _fnc_removeWeapon }; + + private _oldWeaponItems = primaryWeaponItems _center apply {toLower _x}; + private _newWeaponItems = _item call BIS_fnc_compatibleItems apply {toLower _x}; + + [_center, _weapon] call _fnc_removeWeapon; + [_center, _item, 3] call _fnc_addWeapon; + + {_center addPrimaryWeaponItem _x} forEach (_oldWeaponItems arrayIntersect _newWeaponItems); + }; + }; + + case IDC_RSCDISPLAYARSENAL_TAB_SECONDARYWEAPON: + { + private _weapon = secondaryWeapon _center; + + if (_weapon call BIS_fnc_baseWeapon != _item) then + { + if (_item == "") exitWith { [_center, _weapon] call _fnc_removeWeapon }; + + private _oldWeaponItems = secondaryWeaponItems _center apply {toLower _x}; + private _newWeaponItems = _item call BIS_fnc_compatibleItems apply {toLower _x}; + + [_center, _weapon] call _fnc_removeWeapon; + [_center, _item, 3] call _fnc_addWeapon; + + {_center addSecondaryWeaponItem _x} forEach (_oldWeaponItems arrayIntersect _newWeaponItems); + }; + }; + + case IDC_RSCDISPLAYARSENAL_TAB_HANDGUN: + { + private _weapon = handgunWeapon _center; + + if (_weapon call BIS_fnc_baseWeapon != _item) then + { + if (_item == "") exitWith { [_center, _weapon] call _fnc_removeWeapon }; + + private _oldWeaponItems = handgunItems _center apply {toLower _x}; + private _newWeaponItems = _item call BIS_fnc_compatibleItems apply {toLower _x}; + + [_center, _weapon] call _fnc_removeWeapon; + [_center, _item, 3] call _fnc_addWeapon; + + {_center addHandgunItem _x} forEach (_oldWeaponItems arrayIntersect _newWeaponItems); + }; + }; + + case IDC_RSCDISPLAYARSENAL_TAB_MAP; + case IDC_RSCDISPLAYARSENAL_TAB_GPS; + case IDC_RSCDISPLAYARSENAL_TAB_RADIO; + case IDC_RSCDISPLAYARSENAL_TAB_COMPASS; + case IDC_RSCDISPLAYARSENAL_TAB_WATCH: { + if (_item == "") then { + _items = []; + for "_l" from 0 to (lbsize _ctrlList) do {_items set [count _items,tolower (_ctrlList lbdata _l)];}; + { + if (tolower _x in _items) then {_center unassignitem _x; _center removeitem _x;}; + } foreach (assigneditems _center); + } else { + _center linkitem _item; + }; + }; + case IDC_RSCDISPLAYARSENAL_TAB_FACE: + { + if !(_item isEqualTo "") then { _center setFace _item }; + }; + case IDC_RSCDISPLAYARSENAL_TAB_VOICE: + { + if !(_item isEqualTo "") then { _center setSpeaker _item }; + if (ctrlenabled (_display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + IDC_RSCDISPLAYARSENAL_TAB_VOICE))) then { + if !(isnil "BIS_fnc_arsenal_voicePreview") then {terminate BIS_fnc_arsenal_voicePreview;}; + BIS_fnc_arsenal_voicePreview = [] spawn { + scriptname "BIS_fnc_arsenal_voicePreview"; + sleep 0.6; + _center = (missionnamespace getvariable ["BIS_fnc_arsenal_center",player]); + _center directsay "CuratorObjectPlaced"; + }; + }; + }; + case IDC_RSCDISPLAYARSENAL_TAB_INSIGNIA: + { + [_center, _item, false] call _fnc_setUnitInsignia; + }; + case IDC_RSCDISPLAYARSENAL_TAB_ITEMOPTIC; + case IDC_RSCDISPLAYARSENAL_TAB_ITEMACC; + case IDC_RSCDISPLAYARSENAL_TAB_ITEMMUZZLE; + case IDC_RSCDISPLAYARSENAL_TAB_ITEMBIPOD: { + _accIndex = [ + IDC_RSCDISPLAYARSENAL_TAB_ITEMMUZZLE, + IDC_RSCDISPLAYARSENAL_TAB_ITEMACC, + IDC_RSCDISPLAYARSENAL_TAB_ITEMOPTIC, + IDC_RSCDISPLAYARSENAL_TAB_ITEMBIPOD + ] find _index; + switch true do { + case (ctrlenabled _ctrlListPrimaryWeapon): { + if (_item != "") then { + _center addprimaryweaponitem _item; + } else { + _weaponAccessories = _center weaponaccessories primaryweapon _center; + if (count _weaponAccessories > 0) then {_center removeprimaryweaponitem (_weaponAccessories select _accIndex);}; + }; + }; + case (ctrlenabled _ctrlListSecondaryWeapon): { + if (_item != "") then { + _center addsecondaryweaponitem _item; + } else { + _weaponAccessories = _center weaponaccessories secondaryweapon _center; + if (count _weaponAccessories > 0) then {_center removesecondaryweaponitem (_weaponAccessories select _accIndex);}; + }; + }; + case (ctrlenabled _ctrlListHandgun): { + if (_item != "") then { + _center addhandgunitem _item; + } else { + _weaponAccessories = _center weaponaccessories handgunweapon _center; + if (count _weaponAccessories > 0) then {_center removehandgunitem (_weaponAccessories select _accIndex);}; + }; + }; + }; + }; + }; + + //--- Container Cargo + if ( + _index in [IDC_RSCDISPLAYARSENAL_TAB_UNIFORM,IDC_RSCDISPLAYARSENAL_TAB_VEST,IDC_RSCDISPLAYARSENAL_TAB_BACKPACK] + && + ctrlenabled (_display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + _index)) + ) then { + _cargo = (missionnamespace getvariable ["BIS_fnc_arsenal_cargo",objnull]); + GETVIRTUALCARGO + + _itemsCurrent = []; + _load = 0; + switch _index do { + case IDC_RSCDISPLAYARSENAL_TAB_UNIFORM: { + _itemsCurrent = uniformitems _center; + _load = if (uniform _center == "") then {1} else {loaduniform _center}; + }; + case IDC_RSCDISPLAYARSENAL_TAB_VEST: { + _itemsCurrent = vestitems _center; + _load = if (vest _center == "") then {1} else {loadvest _center}; + }; + case IDC_RSCDISPLAYARSENAL_TAB_BACKPACK: { + _itemsCurrent = backpackitems _center; + _load = if (backpack _center == "") then {1} else {loadbackpack _center}; + }; + default {[]}; + }; + + _ctrlLoadCargo = _display displayctrl IDC_RSCDISPLAYARSENAL_LOADCARGO; + _ctrlLoadCargo progresssetposition _load; + + //--- Weapon magazines (based on current weapons) + private ["_ctrlList"]; + _ctrlList = _display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + IDC_RSCDISPLAYARSENAL_TAB_CARGOMAG); + _columns = count lnbGetColumnsPosition _ctrlList; + lbclear _ctrlList; + _magazines = []; + { + _cfgWeapon = configfile >> "cfgweapons" >> _x; + { + _cfgMuzzle = if (_x == "this") then {_cfgWeapon} else {_cfgWeapon >> _x}; + { + private _item = _x; + if (CONDITION(_virtualMagazineCargo)) then { + _mag = tolower _item; + _cfgMag = configfile >> "cfgmagazines" >> _mag; + if (!(_mag in _magazines) && {getnumber (_cfgMag >> "scope") == 2 || getnumber (_cfgMag >> "scopeArsenal") == 2}) then { + _magazines set [count _magazines,_mag]; + _value = {_x == _mag} count _itemsCurrent; + _displayName = gettext (_cfgMag >> "displayName"); + _lbAdd = _ctrlList lnbaddrow ["",_displayName,str _value]; + _ctrlList lnbsetdata [[_lbAdd,0],_mag]; + _ctrlList lnbsetvalue [[_lbAdd,0],getnumber (_cfgMag >> "mass")]; + _ctrlList lnbsetpicture [[_lbAdd,0],gettext (_cfgMag >> "picture")]; + _ctrlList lbsettooltip [_lbAdd * _columns,format ["%1\n%2",_displayName,_item]]; + }; + }; + } foreach getarray (_cfgMuzzle >> "magazines"); + // Magazine wells + { + // Find all entries inside magazine well + { + // Add all magazines from magazineWell sub class + { + private _item = _x; + if (CONDITION(_virtualMagazineCargo)) then { + _mag = tolower _item; + _cfgMag = configfile >> "cfgmagazines" >> _mag; + if (!(_mag in _magazines) && {getnumber (_cfgMag >> "scope") == 2 || getnumber (_cfgMag >> "scopeArsenal") == 2}) then { + _magazines set [count _magazines,_mag]; + _value = {_x == _mag} count _itemsCurrent; + _displayName = gettext (_cfgMag >> "displayName"); + _lbAdd = _ctrlList lnbaddrow ["",_displayName,str _value]; + _ctrlList lnbsetdata [[_lbAdd,0],_mag]; + _ctrlList lnbsetvalue [[_lbAdd,0],getnumber (_cfgMag >> "mass")]; + _ctrlList lnbsetpicture [[_lbAdd,0],gettext (_cfgMag >> "picture")]; + _ctrlList lbsettooltip [_lbAdd * _columns,format ["%1\n%2",_displayName,_item]]; + }; + }; + }foreach (getArray _x); + }foreach (configProperties [configFile >> "CfgMagazineWells" >> _x,"isarray _x"]); + } foreach getarray (_cfgMuzzle >> "magazineWell"); + + } foreach getarray (_cfgWeapon >> "muzzles"); + } foreach (weapons _center - ["Throw","Put"]); + _ctrlList lbsetcursel (lbcursel _ctrlList max 0); + + //--- Update counts for all items in the list + { + _ctrlList = _display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + _x); + if (ctrlenabled _ctrlList) then { + for "_l" from 0 to (lbsize _ctrlList - 1) do { + _class = _ctrlList lnbdata [_l,0]; + _ctrlList lnbsettext [[_l,2],str ({_x == _class} count _itemsCurrent)]; + }; + ["SelectItemRight",[_display,_ctrlList,_index]] call SELF_FUNC; + }; + } foreach [ + IDC_RSCDISPLAYARSENAL_TAB_CARGOMAG, + IDC_RSCDISPLAYARSENAL_TAB_CARGOMAGALL, + IDC_RSCDISPLAYARSENAL_TAB_CARGOTHROW, + IDC_RSCDISPLAYARSENAL_TAB_CARGOPUT, + IDC_RSCDISPLAYARSENAL_TAB_CARGOMISC + ]; + }; + + //--- Weapon attachments + _modList = MODLIST; + if ( + _index in [IDC_RSCDISPLAYARSENAL_TAB_PRIMARYWEAPON,IDC_RSCDISPLAYARSENAL_TAB_SECONDARYWEAPON,IDC_RSCDISPLAYARSENAL_TAB_HANDGUN] + && + ctrlenabled (_display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + _index)) + ) then { + private ["_ctrlList"]; + + _cargo = (missionnamespace getvariable ["BIS_fnc_arsenal_cargo",objnull]); + GETVIRTUALCARGO + + { + _ctrlList = _display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + _x); + lbclear _ctrlList; + _ctrlList lbsetcursel -1; + } foreach [ + IDC_RSCDISPLAYARSENAL_TAB_ITEMMUZZLE, + IDC_RSCDISPLAYARSENAL_TAB_ITEMACC, + IDC_RSCDISPLAYARSENAL_TAB_ITEMOPTIC, + IDC_RSCDISPLAYARSENAL_TAB_ITEMBIPOD + ]; + + //--- Attachments + _compatibleItems = _item call bis_fnc_compatibleItems; + { + private ["_item"]; + _item = _x; + _itemCfg = configfile >> "cfgweapons" >> _item; + _scope = if (isnumber (_itemCfg >> "scopeArsenal")) then {getnumber (_itemCfg >> "scopeArsenal")} else {getnumber (_itemCfg >> "scope")}; + if (_scope == 2 && CONDITION(_virtualItemCargo)) then { + _type = _item call bis_fnc_itemType; + _idcList = switch (_type select 1) do { + case "AccessoryMuzzle": {IDC_RSCDISPLAYARSENAL_LIST + IDC_RSCDISPLAYARSENAL_TAB_ITEMMUZZLE}; + case "AccessoryPointer": {IDC_RSCDISPLAYARSENAL_LIST + IDC_RSCDISPLAYARSENAL_TAB_ITEMACC}; + case "AccessorySights": {IDC_RSCDISPLAYARSENAL_LIST + IDC_RSCDISPLAYARSENAL_TAB_ITEMOPTIC}; + case "AccessoryBipod": {IDC_RSCDISPLAYARSENAL_LIST + IDC_RSCDISPLAYARSENAL_TAB_ITEMBIPOD}; + default {-1}; + }; + _ctrlList = _display displayctrl _idcList; + _lbAdd = _ctrlList lbadd gettext (_itemCfg >> "displayName"); + _ctrlList lbsetdata [_lbAdd,_item]; + _ctrlList lbsetpicture [_lbAdd,gettext (_itemCfg >> "picture")]; + _ctrlList lbsettooltip [_lbAdd,format ["%1\n%2",gettext (_itemCfg >> "displayName"),_item]]; + _itemCfg call ADDMODICON; + }; + } foreach _compatibleItems; + + //--- Magazines + _weapon = switch true do { + case (ctrlenabled _ctrlListPrimaryWeapon): {primaryweapon _center}; + case (ctrlenabled _ctrlListSecondaryWeapon): {secondaryweapon _center}; + case (ctrlenabled _ctrlListHandgun): {handgunweapon _center}; + default {""}; + }; + + //--- Select current + _weaponAccessories = _center weaponaccessories _weapon; + { + _ctrlList = _display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + _x); + _lbAdd = _ctrlList lbadd format ["<%1>",localize "str_empty"]; + _ctrlList lbsetvalue [_lbAdd,-1]; + lbsort _ctrlList; + for "_l" from 0 to (lbsize _ctrlList - 1) do { + _data = _ctrlList lbdata _l; + if (_data != "" && {{_data == _x} count _weaponAccessories > 0}) exitwith {_ctrlList lbsetcursel _l;}; + }; + if (lbcursel _ctrlList < 0) then {_ctrlList lbsetcursel 0;}; + + _ctrlSort = _display displayctrl (IDC_RSCDISPLAYARSENAL_SORT + _x); + ["lbSort",[[_ctrlSort,lbcursel _ctrlSort],_x]] call SELF_FUNC; + } foreach [ + IDC_RSCDISPLAYARSENAL_TAB_ITEMMUZZLE, + IDC_RSCDISPLAYARSENAL_TAB_ITEMACC, + IDC_RSCDISPLAYARSENAL_TAB_ITEMOPTIC, + IDC_RSCDISPLAYARSENAL_TAB_ITEMBIPOD + ]; + }; + + //--- Calculate load + _ctrlLoad = _display displayctrl IDC_RSCDISPLAYARSENAL_LOAD; + _ctrlLoad progresssetposition load _center; + + + if (ctrlenabled _ctrlList) then + { + _itemCfg = switch _index do + { + case IDC_RSCDISPLAYARSENAL_TAB_BACKPACK: {configfile >> "cfgvehicles" >> _item}; + case IDC_RSCDISPLAYARSENAL_TAB_GOGGLES: {configfile >> "cfgglasses" >> _item}; + case IDC_RSCDISPLAYARSENAL_TAB_FACE: { _item call _fnc_getFaceConfig }; + case IDC_RSCDISPLAYARSENAL_TAB_VOICE: {configfile >> "cfgvoice" >> _item}; + case IDC_RSCDISPLAYARSENAL_TAB_INSIGNIA: {configfile >> "cfgunitinsignia" >> _item}; + case IDC_RSCDISPLAYARSENAL_TAB_CARGOMAG; + case IDC_RSCDISPLAYARSENAL_TAB_CARGOMAGALL; + case IDC_RSCDISPLAYARSENAL_TAB_CARGOTHROW; + case IDC_RSCDISPLAYARSENAL_TAB_CARGOPUT; + case IDC_RSCDISPLAYARSENAL_TAB_CARGOMISC: {configfile >> "cfgmagazines" >> _item}; + default {configfile >> "cfgweapons" >> _item}; + }; + + if (BIS_fnc_arsenal_type == 0 || (BIS_fnc_arsenal_type == 1 && !is3DEN)) then + { + ["ShowItemInfo",[_itemCfg]] call SELF_FUNC; + ["ShowItemStats",[_itemCfg]] call SELF_FUNC; + }; + }; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "SelectItemRight": { + _display = _this select 0; + _ctrlList = _this select 1; + _index = _this select 2; + _center = (missionnamespace getvariable ["BIS_fnc_arsenal_center",player]); + + //--- Get container + _indexLeft = -1; + { + _ctrlListLeft = _display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + _foreachindex); + if (ctrlenabled _ctrlListLeft) exitwith {_indexLeft = _foreachindex;}; + } foreach [IDCS_LEFT]; + + _supply = switch _indexLeft do { + case IDC_RSCDISPLAYARSENAL_TAB_UNIFORM: { + gettext (configfile >> "CfgWeapons" >> uniform _center >> "ItemInfo" >> "containerClass") + }; + case IDC_RSCDISPLAYARSENAL_TAB_VEST: { + gettext (configfile >> "CfgWeapons" >> vest _center >> "ItemInfo" >> "containerClass") + }; + case IDC_RSCDISPLAYARSENAL_TAB_BACKPACK: { + backpack _center + }; + default {0}; + }; + _maximumLoad = getnumber (configfile >> "CfgVehicles" >> _supply >> "maximumLoad"); + + _ctrlLoadCargo = _display displayctrl IDC_RSCDISPLAYARSENAL_LOADCARGO; + _load = _maximumLoad * (1 - progressposition _ctrlLoadCargo); + + //-- Disable too heavy items + _rows = lnbsize _ctrlList select 0; + //_columns = lnbsize _ctrlList select 1; + _colorWarning = ["IGUI","WARNING_RGB"] call bis_fnc_displayColorGet; + //_columns = count lnbGetColumnsPosition _ctrlList; + for "_r" from 0 to (_rows - 1) do { + _isIncompatible = _ctrlList lnbvalue [_r,1]; + //_mass = _ctrlList lbvalue (_r * _columns); + _mass = _ctrlList lnbvalue [_r, 0]; + _alpha = [1.0,0.25] select (_mass > _load); + _color = [[1,1,1,_alpha],[1,0.5,0,_alpha]] select _isIncompatible; + _ctrlList lnbsetcolor [[_r,1],_color]; + _ctrlList lnbsetcolor [[_r,2],_color]; + _text = _ctrlList lnbtext [_r,1]; + //_ctrlList lbsettooltip [_r * _columns,[_text,_text + "\n(Not compatible with currently equipped weapons)"] select _isIncompatible]; + _ctrlList lnbsettooltip [[_r, 0],[_text,_text + "\n(Not compatible with currently equipped weapons)"] select _isIncompatible]; + }; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "ShowItemInfo": { + _itemCfg = _this select 0; + if (isclass _itemCfg) then { + _itemName = param [1,if (ctrltype _ctrlList == 102) then {_ctrlList lnbtext [_cursel,1]} else {_ctrlList lbtext _cursel}]; + + _ctrlInfo = _display displayctrl IDC_RSCDISPLAYARSENAL_INFO_INFO; + _ctrlInfo ctrlsetfade 0; + _ctrlInfo ctrlcommit FADE_DELAY; + + _ctrlInfoName = _display displayctrl IDC_RSCDISPLAYARSENAL_INFO_INFONAME; + _ctrlInfoName ctrlsettext _itemName; + + _ctrlInfoAuthor = _display displayctrl IDC_RSCDISPLAYARSENAL_INFO_INFOAUTHOR; + _ctrlInfoAuthor ctrlsettext ""; + [_itemCfg,_ctrlInfoAuthor] call bis_fnc_overviewauthor; + + //--- DLC / mod icon + _ctrlDLC = _display displayctrl IDC_RSCDISPLAYARSENAL_INFO_DLCICON; + _ctrlDLCBackground = _display displayctrl IDC_RSCDISPLAYARSENAL_INFO_DLCBACKGROUND; + _dlc = _itemCfg call GETDLC; + if (_dlc != ""/* && _fullVersion*/) then { + + _dlcParams = modParams [_dlc,["name","logo","logoOver"]]; + _dlcParams params ["_name","_logo","_logoOver"]; + _appId = getnumber (configfile >> "CfgMods" >> _dlc >> "appId"); + + _ctrlDLC ctrlsettooltip _name; + _ctrlDLC ctrlsettext _logo; + _ctrlDLCBackground ctrlsetfade 0; + if (_appId > 0) then { + _ctrlDLC ctrlsetfade 0; + _ctrlDLC ctrlseteventhandler ["mouseexit",format ["(_this select 0) ctrlsettext '%1';",_logo]]; + _ctrlDLC ctrlseteventhandler ["mouseenter",format ["(_this select 0) ctrlsettext '%1';",_logoOver]]; + _ctrlDLC ctrlseteventhandler [ + "buttonclick", + format ["uiNamespace setvariable ['RscDisplayDLCPreview_dlc','%1']; ctrlparent (_this select 0) createDisplay 'RscDisplayDLCPreview';",_dlc] + ]; + } else { + _ctrlDLC ctrlsetfade 0.5; + }; + } else { + _ctrlDLC ctrlsetfade 1; + _ctrlDLCBackground ctrlsetfade 1; + }; + _ctrlDLC ctrlcommit FADE_DELAY; + _ctrlDLCBackground ctrlcommit FADE_DELAY; + + //--- Library +/* + _libraryText = gettext (_itemCfg >> "Library" >> "libTextDesc"); + _ctrlStatsText = _display displayctrl IDC_RSCDISPLAYARSENAL_WEAPON_WEAPONTEXT; + if (_libraryText != "") then { + _ctrlStatsText ctrlsetstructuredtext parsetext format ["%1",_libraryText]; + _ctrlStatsText call bis_fnc_ctrlfittotextheight; + _ctrlStatsText ctrlsetfade 0; + } else { + _ctrlStatsText ctrlsetfade 1; + }; + _ctrlStatsText ctrlcommit FADE_DELAY; +*/ + } else { + _ctrlInfo = _display displayctrl IDC_RSCDISPLAYARSENAL_INFO_INFO; + _ctrlInfo ctrlsetfade 1; + _ctrlInfo ctrlcommit FADE_DELAY; + + _ctrlStats = _display displayctrl IDC_RSCDISPLAYARSENAL_STATS_STATS; + _ctrlStats ctrlsetfade 1; + _ctrlStats ctrlcommit FADE_DELAY; + }; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "ShowItemStats": { + _itemCfg = _this select 0; + if (isclass _itemCfg) then { + _ctrlStats = _display displayctrl IDC_RSCDISPLAYARSENAL_STATS_STATS; + _ctrlStatsPos = ctrlposition _ctrlStats; + _ctrlStatsPos set [0,0]; + _ctrlStatsPos set [1,0]; + _ctrlBackground = _display displayctrl IDC_RSCDISPLAYARSENAL_STATS_STATSBACKGROUND; + _barMin = 0.01; + _barMax = 1; + + _statControls = [ + [IDC_RSCDISPLAYARSENAL_STATS_STAT1,IDC_RSCDISPLAYARSENAL_STATS_STATTEXT1], + [IDC_RSCDISPLAYARSENAL_STATS_STAT2,IDC_RSCDISPLAYARSENAL_STATS_STATTEXT2], + [IDC_RSCDISPLAYARSENAL_STATS_STAT3,IDC_RSCDISPLAYARSENAL_STATS_STATTEXT3], + [IDC_RSCDISPLAYARSENAL_STATS_STAT4,IDC_RSCDISPLAYARSENAL_STATS_STATTEXT4], + [IDC_RSCDISPLAYARSENAL_STATS_STAT5,IDC_RSCDISPLAYARSENAL_STATS_STATTEXT5] + ]; + _rowH = 1 / (count _statControls + 1); + _fnc_showStats = { + _h = _rowH; + { + _ctrlStat = _display displayctrl ((_statControls select _foreachindex) select 0); + _ctrlText = _display displayctrl ((_statControls select _foreachindex) select 1); + if (count _x > 0) then { + _ctrlStat progresssetposition (_x select 0); + _ctrlText ctrlsettext toupper (_x select 1); + _ctrlText ctrlsetfade 0; + _ctrlText ctrlcommit 0; + //_ctrlText ctrlshow true; + _h = _h + _rowH; + } else { + _ctrlStat progresssetposition 0; + _ctrlText ctrlsetfade 1; + _ctrlText ctrlcommit 0; + //_ctrlText ctrlshow false; + }; + } foreach _this; + _ctrlStatsPos set [1,(_ctrlStatsPos select 3) * (1 - _h)]; + _ctrlStatsPos set [3,(_ctrlStatsPos select 3) * _h]; + _ctrlBackground ctrlsetposition _ctrlStatsPos; + _ctrlBackground ctrlcommit 0; + }; + + switch _index do { + case IDC_RSCDISPLAYARSENAL_TAB_PRIMARYWEAPON; + case IDC_RSCDISPLAYARSENAL_TAB_SECONDARYWEAPON; + case IDC_RSCDISPLAYARSENAL_TAB_HANDGUN: { + _ctrlStats ctrlsetfade 0; + _statsExtremes = uinamespace getvariable "bis_fnc_arsenal_weaponStats"; + if !(isnil "_statsExtremes") then { + _statsMin = _statsExtremes select 0; + _statsMax = _statsExtremes select 1; + + _stats = [ + [_itemCfg], + STATS_WEAPONS, + _statsMin + ] call bis_fnc_configExtremes; + _stats = _stats select 1; + + _statReloadSpeed = linearConversion [_statsMin select 0,_statsMax select 0,_stats select 0,_barMax,_barMin]; + _statDispersion = linearConversion [_statsMin select 1,_statsMax select 1,_stats select 1,_barMax,_barMin]; + _statMaxRange = linearConversion [_statsMin select 2,_statsMax select 2,_stats select 2,_barMin,_barMax]; + _statHit = linearConversion [_statsMin select 3,_statsMax select 3,_stats select 3,_barMin,_barMax]; + _statMass = linearConversion [_statsMin select 4,_statsMax select 4,_stats select 4,_barMin,_barMax]; + _statInitSpeed = linearConversion [_statsMin select 5,_statsMax select 5,_stats select 5,_barMin,_barMax]; + if (getnumber (_itemCfg >> "type") == 4) then { + [ + [], + [], + [_statMaxRange,localize "str_a3_rscdisplayarsenal_stat_range"], + [_statHit,localize "str_a3_rscdisplayarsenal_stat_impact"], + [_statMass,localize "str_a3_rscdisplayarsenal_stat_weight"] + ] call _fnc_showStats; + } else { + _statHit = sqrt(_statHit^2 * (_statInitSpeed max 0)); //--- Make impact influenced by muzzle speed + [ + [_statReloadSpeed,localize "str_a3_rscdisplayarsenal_stat_rof"], + [_statDispersion,localize "str_a3_rscdisplayarsenal_stat_dispersion"], + [_statMaxRange,localize "str_a3_rscdisplayarsenal_stat_range"], + [_statHit,localize "str_a3_rscdisplayarsenal_stat_impact"], + [_statMass,localize "str_a3_rscdisplayarsenal_stat_weight"] + ] call _fnc_showStats; + }; + }; + }; + case IDC_RSCDISPLAYARSENAL_TAB_UNIFORM; + case IDC_RSCDISPLAYARSENAL_TAB_VEST; + case IDC_RSCDISPLAYARSENAL_TAB_BACKPACK; + case IDC_RSCDISPLAYARSENAL_TAB_HEADGEAR: { + _ctrlStats ctrlsetfade 0; + _statsExtremes = uinamespace getvariable "bis_fnc_arsenal_equipmentStats"; + if !(isnil "_statsExtremes") then { + _statsMin = _statsExtremes select 0; + _statsMax = _statsExtremes select 1; + + _stats = [ + [_itemCfg], + STATS_EQUIPMENT, + _statsMin + ] call bis_fnc_configExtremes; + _stats = _stats select 1; + + _statArmorShot = linearConversion [_statsMin select 0,_statsMax select 0,_stats select 0,_barMin,_barMax]; + _statArmorExpl = linearConversion [_statsMin select 1,_statsMax select 1,_stats select 1,_barMin,_barMax]; + _statMaximumLoad = linearConversion [_statsMin select 2,_statsMax select 2,_stats select 2,_barMin,_barMax]; + _statMass = linearConversion [_statsMin select 3,_statsMax select 3,_stats select 3,_barMin,_barMax]; + + if (getnumber (_itemCfg >> "isbackpack") == 1) then { + _statArmorShot = _barMin; + _statArmorExpl = _barMin; + }; //--- Force no backpack armor + + [ + switch _item do { //--- Easter eggs + case "H_Hat_Tinfoil_F": {[0.42,localize "STR_A3_C_RscDisplayArsenal_Stat_Tinfoil"]}; + case "H_Beret_blk": {[0.95,localize "STR_difficulty3"]}; + default {[]} + }, + [_statArmorShot,localize "str_a3_rscdisplayarsenal_stat_passthrough"], + [_statArmorExpl,localize "str_a3_rscdisplayarsenal_stat_armor"], + [_statMaximumLoad,localize "str_a3_rscdisplayarsenal_stat_load"], + [_statMass,localize "str_a3_rscdisplayarsenal_stat_weight"] + ] call _fnc_showStats; + }; + }; + default { + _ctrlStats ctrlsetfade 1; + }; + }; + _ctrlStats ctrlcommit FADE_DELAY; + } else { + _ctrlStats = _display displayctrl IDC_RSCDISPLAYARSENAL_STATS_STATS; + _ctrlStats ctrlsetfade 1; + _ctrlStats ctrlcommit FADE_DELAY; + }; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "ShowItem": { + private ["_display","_ctrlList","_index","_cursel","_item","_center","_action"]; + _display = _this select 0; + _ctrlList = _this select 1; + _index = _this select 2; + _cursel = lbcursel _ctrlList; + if (_cursel < 0) exitwith {}; + _item = _ctrlList lbdata _cursel; + _center = (missionnamespace getvariable ["BIS_fnc_arsenal_center",player]); + + _action = ""; + switch _index do { + + case IDC_RSCDISPLAYARSENAL_TAB_UNIFORM; + case IDC_RSCDISPLAYARSENAL_TAB_VEST; + case IDC_RSCDISPLAYARSENAL_TAB_BACKPACK; + case IDC_RSCDISPLAYARSENAL_TAB_HEADGEAR; + case IDC_RSCDISPLAYARSENAL_TAB_GOGGLES; + case IDC_RSCDISPLAYARSENAL_TAB_NVGS: { + _action = "Stand"; + }; + case IDC_RSCDISPLAYARSENAL_TAB_BINOCULARS: { + _action = if (_item == "") then {"Civil"} else {"Binoculars"}; + }; + case IDC_RSCDISPLAYARSENAL_TAB_PRIMARYWEAPON: { + _center selectweapon primaryweapon _center; + _action = if (_item == "") then {"Civil"} else {"PrimaryWeapon"}; + BIS_fnc_arsenal_selectedWeaponType = 0; + }; + case IDC_RSCDISPLAYARSENAL_TAB_SECONDARYWEAPON: { + _center selectweapon secondaryweapon _center; + _action = if (_item == "") then {"Civil"} else {"SecondaryWeapon"}; + BIS_fnc_arsenal_selectedWeaponType = 1; + }; + case IDC_RSCDISPLAYARSENAL_TAB_HANDGUN: { + _center selectweapon handgunweapon _center; + _action = if (_item == "") then {"Civil"} else {"HandGunOn"}; + BIS_fnc_arsenal_selectedWeaponType = 2; + }; + case IDC_RSCDISPLAYARSENAL_TAB_MAP; + case IDC_RSCDISPLAYARSENAL_TAB_GPS; + case IDC_RSCDISPLAYARSENAL_TAB_RADIO; + case IDC_RSCDISPLAYARSENAL_TAB_COMPASS; + case IDC_RSCDISPLAYARSENAL_TAB_WATCH; + case IDC_RSCDISPLAYARSENAL_TAB_FACE; + case IDC_RSCDISPLAYARSENAL_TAB_VOICE; + case IDC_RSCDISPLAYARSENAL_TAB_ITEMOPTIC; + case IDC_RSCDISPLAYARSENAL_TAB_ITEMACC; + case IDC_RSCDISPLAYARSENAL_TAB_ITEMMUZZLE; + case IDC_RSCDISPLAYARSENAL_TAB_ITEMBIPOD: { + }; + case IDC_RSCDISPLAYARSENAL_TAB_INSIGNIA: { + _action = "Salute"; + }; + }; + + if (_action != "" && _action != BIS_fnc_arsenal_action) then { + if (simulationenabled _center) then {_center playactionnow _action;} else {_center switchaction _action;}; + BIS_fnc_arsenal_action = _action; + }; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "lbSort": { + private _input = _this select 0; + private _idc = (_this select 1); + + private _display = ctrlparent (_input select 0); + private _sort = _input select 1; + private _ctrlList = _display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + _idc); + private _cursel = lbcursel _ctrlList; + private _selected = _ctrlList lbdata _cursel; + if (_sort > 0) then { + lbsortbyvalue _ctrlList; + } else { + lbsort _ctrlList; + }; + + //--- Selected previously selected item (if there was one) + if (_cursel >= 0) then { + for '_i' from 0 to (lbsize _ctrlList - 1) do { + if ((_ctrlList lbdata _i) == _selected) exitwith {_ctrlList lbsetcursel _i;}; + }; + }; + + //--- Store sort type for persistent use + _sortValues = uinamespace getvariable ["bis_fnc_arsenal_sort",[]]; + _sortValues set [_idc,_sort]; + uinamespace setvariable ["bis_fnc_arsenal_sort",_sortValues]; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "KeyDown": + { + _display = _this select 0; + _key = _this select 1; + _shift = _this select 2; + _ctrl = _this select 3; + _alt = _this select 4; + _center = (missionnamespace getvariable ["BIS_fnc_arsenal_center",player]); + _return = false; + _ctrlTemplate = _display displayctrl IDC_RSCDISPLAYARSENAL_TEMPLATE_TEMPLATE; + _inTemplate = ctrlfade _ctrlTemplate == 0; + + switch true do { + case (_key == DIK_ESCAPE): { + if (_inTemplate) then { + _ctrlTemplate ctrlsetfade 1; + _ctrlTemplate ctrlcommit 0; + _ctrlTemplate ctrlenable false; + + _ctrlMouseBlock = _display displayctrl IDC_RSCDISPLAYARSENAL_MOUSEBLOCK; + _ctrlMouseBlock ctrlenable false; + } else { + if (_fullVersion) then {["buttonClose",[_display]] spawn SELF_FUNC;} else {_display closedisplay 2;}; + }; + _return = true; + }; + + //--- Enter + case (_key in [DIK_RETURN,DIK_NUMPADENTER]): { + _ctrlTemplate = _display displayctrl IDC_RSCDISPLAYARSENAL_TEMPLATE_TEMPLATE; + if (ctrlfade _ctrlTemplate == 0) then { + if (BIS_fnc_arsenal_type == 0) then { + ["buttonTemplateOK",[_display]] spawn SELF_FUNC; + } else { + ["buttonTemplateOK",[_display]] spawn GARAGE_FUNC; + }; + _return = true; + }; + }; + + //--- Prevent opening the commanding menu + case (_key == DIK_1); + case (_key == DIK_2); + case (_key == DIK_3); + case (_key == DIK_4); + case (_key == DIK_5); + case (_key == DIK_1); + case (_key == DIK_7); + case (_key == DIK_8); + case (_key == DIK_9); + case (_key == DIK_0): { + _return = true; + }; + + //--- Tab to browse tabs + case (_key == DIK_TAB): { + _idc = -1; + { + _ctrlTab = _display displayctrl (IDC_RSCDISPLAYARSENAL_TAB + _x); + if !(ctrlenabled _ctrlTab) exitwith {_idc = _x;}; + } foreach [IDCS_LEFT]; + _idcCount = {!isnull (_display displayctrl (IDC_RSCDISPLAYARSENAL_TAB + _x))} count [IDCS_LEFT]; + _idc = if (_ctrl) then {(_idc - 1 + _idcCount) % _idcCount} else {(_idc + 1) % _idcCount}; + if (BIS_fnc_arsenal_type == 0) then { + ["TabSelectLeft",[_display,_idc]] call SELF_FUNC; + } else { + ["TabSelectLeft",[_display,_idc]] call GARAGE_FUNC; + }; + _return = true; + }; + + //--- Export to script (Ctrl+C), export to config (Ctrl+Shift+C) + case (_key == DIK_C): { if (_ctrl) then { ['buttonExport', [_display, ["init", "config"] select _shift]] call (missionNamespace getVariable ([GARAGE_FUNC_NAME, SELF_NAME] select (BIS_fnc_arsenal_type == 0))) } }; + + //--- Import from script (Ctrl+V) + case (_key == DIK_V): { if (_ctrl) then { ['buttonImport' ,[_display]] call (missionNamespace getVariable ([GARAGE_FUNC_NAME, SELF_NAME] select (BIS_fnc_arsenal_type == 0))) } }; + + //--- Save (Ctrl+S) + case (_key == DIK_S): { if (_ctrl) then { ['buttonSave', [_display]] call SELF_FUNC } }; + + //--- Open (Ctrl+O) + case (_key == DIK_O): { if (_ctrl) then {['buttonLoad',[_display]] call SELF_FUNC } }; + + //--- Randomize (Ctrl+R) + case (_key == DIK_R): + { + if (_ctrl) then { + if (BIS_fnc_arsenal_type == 0) then { + if (_shift) then { + _soldiers = []; + { + _soldiers set [count _soldiers,configname _x]; + } foreach ("getnumber (_x >> 'scope') > 1 && gettext (_x >> 'simulation') == 'soldier'" configclasses (configfile >> "cfgvehicles")); + [_center, selectRandom _soldiers] call bis_fnc_loadinventory; + _center switchmove ""; + ["ListSelectCurrent",[_display]] call SELF_FUNC; + } else { + ['buttonRandom',[_display]] call SELF_FUNC; + }; + } else { + ['buttonRandom',[_display]] call GARAGE_FUNC; + }; + }; + }; + //--- Toggle interface + case (_key == DIK_BACKSPACE && !_inTemplate): { + ['buttonInterface',[_display]] call SELF_FUNC; + _return = true; + }; + + //--- Acctime + case (_key in (actionkeys "timeInc")): { + if (acctime == 0) then {setacctime 1;}; + _return = true; + }; + case (_key in (actionkeys "timeDec")): { + if (acctime != 0) then {setacctime 0;}; + _return = true; + + }; + + //--- Vision mode + case (_key in (actionkeys "nightvision") && !_inTemplate): { + _mode = missionnamespace getvariable ["BIS_fnc_arsenal_visionMode",-1]; + _mode = (_mode + 1) % 3; + missionnamespace setvariable ["BIS_fnc_arsenal_visionMode",_mode]; + switch _mode do { + //--- Normal + case 0: { + camusenvg false; + false setCamUseTi 0; + }; + //--- NVG + case 1: { + camusenvg true; + false setCamUseTi 0; + }; + //--- TI + default { + camusenvg false; + true setCamUseTi 0; + }; + }; + playsound ["RscDisplayCurator_visionMode",true]; + _return = true; + + }; +/* + //--- Delete template + case (_key == DIK_DELETE): { + _ctrlMouseBlock = _display displayctrl IDC_RSCDISPLAYARSENAL_MOUSEBLOCK; + if !(ctrlenabled _ctrlMouseBlock) then { + ['buttonTemplateDelete',[_display]] call SELF_FUNC; + _return = true; + }; + }; +*/ + }; + _return + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "buttonCargo": { + _center = (missionnamespace getvariable ["BIS_fnc_arsenal_center",player]); + _display = _this select 0; + _add = _this select 1; + + _selected = -1; + { + _ctrlList = _display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + _x); + if (ctrlenabled _ctrlList) exitwith {_selected = _x;}; + } foreach [IDCS_LEFT]; + + _ctrlList = ctrlnull; + _lbcursel = -1; + { + _ctrlList = _display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + _x); + if (ctrlenabled _ctrlList) exitwith {_lbcursel = lbcursel _ctrlList;}; + } foreach [IDCS_RIGHT]; + _item = _ctrlList lnbdata [_lbcursel,0]; + _load = 0; + _items = []; + switch _selected do { + case IDC_RSCDISPLAYARSENAL_TAB_UNIFORM: { + if (_add > 0) then {_center additemtouniform _item;} else {_center removeitemfromuniform _item;}; + _load = loaduniform _center; + _items = uniformitems _center; + }; + case IDC_RSCDISPLAYARSENAL_TAB_VEST: { + if (_add > 0) then {_center additemtovest _item;} else {_center removeitemfromvest _item;}; + _load = loadvest _center; + _items = vestitems _center; + }; + case IDC_RSCDISPLAYARSENAL_TAB_BACKPACK: { + if (_add > 0) then {_center additemtobackpack _item;} else {_center removeitemfrombackpack _item;}; + _load = loadbackpack _center; + _items = backpackitems _center; + }; + }; + + _ctrlLoadCargo = _display displayctrl IDC_RSCDISPLAYARSENAL_LOADCARGO; + _ctrlLoadCargo progresssetposition _load; + + _value = {_x == _item} count _items; + //_ctrlList lnbsetvalue [[_lbcursel,0],_value]; + _ctrlList lnbsettext [[_lbcursel,2],str _value]; + + ["SelectItemRight",[_display,_ctrlList,_index]] call SELF_FUNC; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "buttonTemplateOK": + { + private _display = _this select 0; + private _center = (missionnamespace getvariable ["BIS_fnc_arsenal_center",player]); + private _hideTemplate = true; + + private _ctrlTemplateName = _display displayctrl IDC_RSCDISPLAYARSENAL_TEMPLATE_EDITNAME; + if (ctrlenabled _ctrlTemplateName) then + { + //--- Save + [ + _center, + [profilenamespace, ctrltext _ctrlTemplateName], + [ + face _center, + speaker _center, + _center call _fnc_getUnitInsignia + ] + ] call bis_fnc_saveInventory; + } + else + { + //--- Load + private _ctrlTemplateValue = _display displayctrl IDC_RSCDISPLAYARSENAL_TEMPLATE_VALUENAME; + private _cursel = lnbCurSelRow _ctrlTemplateValue; + if ((_ctrlTemplateValue lnbValue [_cursel, 0]) >= 0 || _ctrlTemplateValue lnbData [_cursel, 0] == "override") then + { + private _inventory = _ctrlTemplateValue lnbtext [_cursel,0]; + [_center, [profileNamespace, _inventory]] call bis_fnc_loadinventory; + _center switchMove ""; + + //--- Load custom data + _ctrlTemplateValue = _display displayctrl IDC_RSCDISPLAYARSENAL_TEMPLATE_VALUENAME; + private _data = profilenamespace getvariable ["bis_fnc_saveInventory_data",[]]; + private _name = _ctrlTemplateValue lnbtext [_cursel,0]; + _nameID = _data find _name; + + if (_nameID >= 0 && !is3DEN) then + { + _data select (_nameID + 1) select 10 params [["_face", ""], ["_speaker",""], ["_insignia",""]]; + if !(_face isEqualTo "") then { _center setFace _face }; + if !(_speaker isEqualTo "") then { _center setSpeaker _speaker }; + [_center, _insignia, false] call _fnc_setUnitInsignia; + }; + + ["ListSelectCurrent", [_display]] call SELF_FUNC; + + } else { + _hideTemplate = false; + }; + }; + if (_hideTemplate) then { + private _ctrlTemplate = _display displayctrl IDC_RSCDISPLAYARSENAL_TEMPLATE_TEMPLATE; + _ctrlTemplate ctrlsetfade 1; + _ctrlTemplate ctrlcommit 0; + _ctrlTemplate ctrlenable false; + + private _ctrlMouseBlock = _display displayctrl IDC_RSCDISPLAYARSENAL_MOUSEBLOCK; + _ctrlMouseBlock ctrlenable false; + }; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "buttonTemplateCancel": + { + _display = _this select 0; + + _ctrlTemplate = _display displayctrl IDC_RSCDISPLAYARSENAL_TEMPLATE_TEMPLATE; + _ctrlTemplate ctrlsetfade 1; + _ctrlTemplate ctrlcommit 0; + _ctrlTemplate ctrlenable false; + + _ctrlMouseBlock = _display displayctrl IDC_RSCDISPLAYARSENAL_MOUSEBLOCK; + _ctrlMouseBlock ctrlenable false; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "buttonTemplateDelete": + { + // --- confirm delete --- // + if (_confirmAction isEqualTo true) exitWith + { + _this spawn + { + if (["Are you sure?", "Confirm Delete", true, true, _this select 0] call BIS_fnc_guiMessage) then + { + isNil { with uinamespace do { ["buttonTemplateDelete", _this, !_confirmAction] call SELF_FUNC } }; + }; + }; + }; + + _display = _this select 0; + _ctrlTemplateValue = _display displayctrl IDC_RSCDISPLAYARSENAL_TEMPLATE_VALUENAME; + _cursel = lnbcurselrow _ctrlTemplateValue; + _name = _ctrlTemplateValue lnbtext [_cursel,0]; + [_center,[profilenamespace,_name],nil,true] call (uinamespace getvariable (["bis_fnc_saveInventory","bis_fnc_saveVehicle"] select BIS_fnc_arsenal_type)); + ['showTemplates',[_display]] call (missionNamespace getVariable ([SELF_NAME, GARAGE_FUNC_NAME] select BIS_fnc_arsenal_type)); + _ctrlTemplateValue lnbsetcurselrow (_cursel max (lbsize _ctrlTemplateValue - 1)); + + ["templateSelChanged",[_display]] call SELF_FUNC; +/* + _enableButtons = (lnbsize _ctrlTemplateValue select 0) > 0; + _ctrlTemplateButtonOK = _display displayctrl IDC_RSCDISPLAYARSENAL_TEMPLATE_BUTTONOK; + _ctrlTemplateButtonOK ctrlenable _enableButtons; + _ctrlTemplateButtonDelete = _display displayctrl IDC_RSCDISPLAYARSENAL_TEMPLATE_BUTTONDELETE; + _ctrlTemplateButtonDelete ctrlenable _enableButtons; +*/ + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "templateSelChanged": { + _display = _this select 0; + + _ctrlTemplate = _display displayctrl IDC_RSCDISPLAYARSENAL_TEMPLATE_TEMPLATE; + _ctrlTemplateValue = _display displayctrl IDC_RSCDISPLAYARSENAL_TEMPLATE_VALUENAME; + _ctrlTemplateName = _display displayctrl IDC_RSCDISPLAYARSENAL_TEMPLATE_EDITNAME; + _ctrlTemplateName ctrlsettext (_ctrlTemplateValue lnbtext [lnbcurselrow _ctrlTemplateValue,0]); + + _cursel = lnbcurselrow _ctrlTemplateValue; + + _ctrlTemplateButtonOK = _display displayctrl IDC_RSCDISPLAYARSENAL_TEMPLATE_BUTTONOK; + _ctrlTemplateButtonOK ctrlenable (_cursel >= 0 && (_display getVariable ["saveMode", false] || _ctrlTemplateValue lnbValue [_cursel, 0] >= 0 || _ctrlTemplateValue lnbData [_cursel, 0] == "override")); + + _ctrlTemplateButtonDelete = _display displayctrl IDC_RSCDISPLAYARSENAL_TEMPLATE_BUTTONDELETE; + _ctrlTemplateButtonDelete ctrlenable (_cursel >= 0); + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "showTemplates": + { + private _CFGVEHICLES = configfile >> "CfgVehicles"; + private _CFGWEAPONS = configfile >> "CfgWeapons"; + private _CFGMAGAZINES = configfile >> "CfgMagazines"; + private _CFGGLASSES = configfile >> "CfgGlasses"; + + _display = _this select 0; + _ctrlTemplateValue = _display displayctrl IDC_RSCDISPLAYARSENAL_TEMPLATE_VALUENAME; + lnbclear _ctrlTemplateValue; + private _data = profilenamespace getvariable ["bis_fnc_saveInventory_data",[]]; + private _center = missionnamespace getvariable ["BIS_fnc_arsenal_center",player]; + private _cargo = missionnamespace getvariable ["BIS_fnc_arsenal_cargo",objnull]; + + GETVIRTUALCARGO + + for "_i" from 0 to (count _data - 1) step 2 do + { + private _name = _data select _i; + private _inventory = _data select (_i + 1); + private _lbAdd = _ctrlTemplateValue lnbaddrow [_name]; + private _testItem = ""; + + _ctrlTemplateValue lnbsetpicture [[_lbAdd,1],gettext (_CFGWEAPONS >> (_inventory select 6 select 0) >> "picture")]; + _ctrlTemplateValue lnbsetpicture [[_lbAdd,2],gettext (_CFGWEAPONS >> (_inventory select 7 select 0) >> "picture")]; + _ctrlTemplateValue lnbsetpicture [[_lbAdd,3],gettext (_CFGWEAPONS >> (_inventory select 8 select 0) >> "picture")]; + _ctrlTemplateValue lnbsetpicture [[_lbAdd,4],gettext (_CFGWEAPONS >> (_inventory select 0 select 0) >> "picture")]; + _ctrlTemplateValue lnbsetpicture [[_lbAdd,5],gettext (_CFGWEAPONS >> (_inventory select 1 select 0) >> "picture")]; + _ctrlTemplateValue lnbsetpicture [[_lbAdd,6],gettext (_CFGVEHICLES >> (_inventory select 2 select 0) >> "picture")]; + _ctrlTemplateValue lnbsetpicture [[_lbAdd,7],gettext (_CFGWEAPONS >> (_inventory select 3) >> "picture")]; + _ctrlTemplateValue lnbsetpicture [[_lbAdd,8],gettext (configfile >> "cfgglasses" >> (_inventory select 4) >> "picture")]; + + _inventory params ["_uniform", "_vest", "_backpack", "_headgear", "_goggles", "_binocular", "_primary", "_secondary", "_handgun", "_items", "_other"]; + + if (call + { + private _allgear = []; + _allgear pushback (_uniform select 0); + _allgear append (_uniform select 1); + _allgear pushback (_vest select 0); + _allgear append (_vest select 1); + _allgear pushback (_backpack select 0); + _allgear append (_backpack select 1); + _allgear pushback _headgear; + _allgear pushback _goggles; + _allgear pushback _binocular; + _allgear pushback (_primary select 2); + _allgear pushback (_secondary select 2); + _allgear pushback (_handgun select 2); + _allgear append _items; + if (!is3DEN) then { _allgear append _other }; // face voice insignia + + // check all gear against allowed items + if ((_allgear - [""]) findIf + { + _testItem = _x; + !(_fastLookupTable getVariable [_testItem, false]) + } > -1) exitWith { true }; + + /* + if (((_primary select 1) - [""]) findIf + { + _testItem = _x; + private _cfg = _CFGWEAPONS >> _testItem; + (if (isnumber (_cfg >> "scopeArsenal")) then {getnumber (_cfg >> "scopeArsenal")} else {getnumber (_cfg >> "scope")}) != 2 + || + { gettext (_cfg >> "model") == "" } + } > -1) exitWith { true }; + + if (((_secondary select 1) - [""]) findIf + { + _testItem = _x; + private _cfg = _CFGWEAPONS >> _testItem; + (if (isnumber (_cfg >> "scopeArsenal")) then {getnumber (_cfg >> "scopeArsenal")} else {getnumber (_cfg >> "scope")}) != 2 + || + { gettext (_cfg >> "model") == "" } + } > -1) exitWith { true }; + + if (((_handgun select 1) - [""]) findIf + { + _testItem = _x; + private _cfg = _CFGWEAPONS >> _testItem; + (if (isnumber (_cfg >> "scopeArsenal")) then {getnumber (_cfg >> "scopeArsenal")} else {getnumber (_cfg >> "scope")}) != 2 + || + { gettext (_cfg >> "model") == "" } + } > -1) exitWith { true }; + */ + + if (_firstAvailable < 0) then { _firstAvailable = _i }; + + false + }) + then + { + _ctrlTemplateValue lnbSetColor [[_lbAdd,0],[1,1,1,0.25]]; + _ctrlTemplateValue lnbSetValue [[_lbAdd,0],-1]; + _ctrlTemplateValue lnbSetData [[_lbAdd,0],["", "override"] select isNil { _fastLookupTable getVariable _testItem }]; // make load button still available + _ctrlTemplateValue lnbSetToolTip [[_lbAdd,0], format ["%1 [ %2 ]", toUpper localize "str_a3_itemtype_unknownequipment", _testItem]]; + }; + }; + + _ctrlTemplateValue lnbSort [0,false]; + + private _firstAvailable = -1; + if !(_display getVariable ["saveMode", false]) then + { + for "_i" from 0 to (lnbSize _ctrlTemplateValue select 0) - 1 do + { + if (_ctrlTemplateValue lnbValue [_i, 0] > -1) exitWith + { + _firstAvailable = _i; + }; + }; + }; + _ctrlTemplateValue lnbSetCurSelRow _firstAvailable; + + //["templateSelChanged",[_display]] call SELF + //['buttonExport',[_display]] call SELF_FUNC; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "buttonImport": + { + startloadingscreen [""]; + + private _display = _this select 0; + private _center = missionnamespace getvariable ["BIS_fnc_arsenal_center",player]; + private _cargo = missionnamespace getvariable ["BIS_fnc_arsenal_cargo",objnull]; + + GETVIRTUALCARGO + + private _disabledItems = []; + + private _import = copyfromclipboard; + private _importArray = [_import," ;='""" + tostring [13,10]] call bis_fnc_splitString; + + if (count _importArray == 1) then + { + //--- Import vehicle class + private _class = _importArray select 0; + if (isclass (configfile >> "cfgvehicles" >> _class)) then + { + [_center, _class] call bis_fnc_loadinventory; + _center switchMove ""; + }; + } + else + { + //--- Import specific items + _importArray = _importArray + [""]; + _to = 1; + { + private _item = _importArray select _foreachindex + 1; + switch tolower _x do + { + case "to": {_to = parsenumber _item;}; + + case "removeallweapons": {removeallweapons _center}; + case "removeallitems": {removeallitems _center}; + case "removeallassigneditems": {removeallassignedItems _center}; + case "removeuniform": {removeuniform _center}; + case "removevest": {removevest _center}; + case "removebackpack": {removebackpack _center}; + case "removeheadgear": {removeheadgear _center}; + case "removegoggles": {removegoggles _center}; + case "forceadduniform"; + case "adduniform": + { + if (CONDITION(_virtualItemCargo)) then {_center forceadduniform _item} else {ERROR}; + }; + case "addvest": + { + if (CONDITION(_virtualItemCargo)) then {_center addvest _item} else {ERROR}; + }; + case "addbackpack": + { + if (CONDITION(_virtualBackpackCargo)) then {_center addbackpack _item} else {ERROR}; + }; + case "addheadgear": + { + if (CONDITION(_virtualItemCargo)) then {_center addheadgear _item} else {ERROR}; + }; + case "addgoggles": + { + if (CONDITION(_virtualItemCargo)) then {_center addgoggles _item} else {ERROR}; + }; + + case "additemtouniform": + { + if (CONDITION(_virtualItemCargo + _virtualMagazineCargo)) then {for "_n" from 1 to _to do {_center additemtouniform _item}} else {ERROR}; + _to = 1; + }; + case "additemtovest": + { + if (CONDITION(_virtualItemCargo + _virtualMagazineCargo)) then {for "_n" from 1 to _to do {_center additemtovest _item;}} else {ERROR}; + _to = 1; + }; + case "additemtobackpack": + { + if (CONDITION(_virtualItemCargo + _virtualMagazineCargo)) then {for "_n" from 1 to _to do {_center additemtobackpack _item;}} else {ERROR}; + _to = 1; + }; + case "addweapon": + { + if (CONDITION(_virtualWeaponCargo)) then { _center addweapon _item; } else {ERROR}; + }; + case "addprimaryweaponitem": + { + if (CONDITION(_virtualItemCargo)) then {_center addprimaryweaponitem _item;} else {ERROR}; + }; + case "addsecondaryweaponitem": + { + if (CONDITION(_virtualItemCargo)) then {_center addsecondaryweaponitem _item;} else {ERROR}; + }; + case "addhandgunitem": + { + if (CONDITION(_virtualItemCargo)) then {_center addhandgunitem _item;} else {ERROR}; + }; + + case "addmagazine": + { + if (CONDITION(_virtualMagazineCargo)) then {_center addmagazine _item;} else {ERROR}; + }; + case "additem": + { + if (CONDITION(_virtualItemCargo)) then {_center additem _item;} else {ERROR}; + }; + case "assignitem": + { + if (CONDITION(_virtualItemCargo)) then {_center assignitem _item;} else {ERROR}; + }; + case "linkitem": + { + if (CONDITION(_virtualItemCargo)) then {_center linkitem _item;} else {ERROR}; + }; + + case "setface": + { + if (_fullVersion) then { if !(_item isEqualTo "") then { _center setFace _item } }; + }; + case "setspeaker": + { + if (_fullVersion) then { if !(_item isEqualTo "") then { _center setSpeaker _item } }; + }; + case "bis_fnc_setunitinsignia": + { + if (_fullVersion) then { [_center, _item, false] call _fnc_setUnitInsignia }; //[_center,_importArray select ((_foreachindex - 3) max 0)] call bis_fnc_setunitinsignia; + }; + }; + } + foreach _importArray; + }; + + //--- Show unavailable items + if (count _disabledItems > 0) then + { + ["showMessage", [_display, localize "STR_A3_RscDisplayArsenal_message_unavailable"]] call SELF_FUNC; + }; + + ["ListSelectCurrent",[_display]] call SELF_FUNC; + //["templateSelChanged",[_display]] call SELF_FUNC; + endloadingscreen; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "buttonExport": + { + [missionnamespace getvariable ["BIS_fnc_arsenal_center", player], _this select 1, _fullVersion] call BIS_fnc_exportInventory spawn { copytoclipboard _this }; + ["showMessage", [_this select 0, localize "STR_a3_RscDisplayArsenal_message_clipboard"]] call SELF_FUNC; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "buttonLoad": + { + _display = _this select 0; + _display setVariable ["saveMode", false]; + + ['showTemplates',[_display]] call ([SELF_FUNC, GARAGE_FUNC] select BIS_fnc_arsenal_type); + + _ctrlTemplate = _display displayctrl IDC_RSCDISPLAYARSENAL_TEMPLATE_TEMPLATE; + _ctrlTemplate ctrlsetfade 0; + _ctrlTemplate ctrlcommit 0; + _ctrlTemplate ctrlenable true; + + _ctrlMouseBlock = _display displayctrl IDC_RSCDISPLAYARSENAL_MOUSEBLOCK; + _ctrlMouseBlock ctrlenable true; + ctrlsetfocus _ctrlMouseBlock; + + { + (_display displayctrl _x) ctrlsettext localize "str_disp_int_load"; + } foreach [IDC_RSCDISPLAYARSENAL_TEMPLATE_TITLE,IDC_RSCDISPLAYARSENAL_TEMPLATE_BUTTONOK]; + { + _ctrl = _display displayctrl _x; + _ctrl ctrlshow false; + _ctrl ctrlenable false; + } foreach [IDC_RSCDISPLAYARSENAL_TEMPLATE_TEXTNAME,IDC_RSCDISPLAYARSENAL_TEMPLATE_EDITNAME]; + _ctrlTemplateValue = _display displayctrl IDC_RSCDISPLAYARSENAL_TEMPLATE_VALUENAME; + if (lnbcurselrow _ctrlTemplateValue < 0) then {_ctrlTemplateValue lnbsetcurselrow 0;}; + ctrlsetfocus _ctrlTemplateValue; + + //--- Disable LOAD and DELETE buttons when no items are available +/* + _enableButtons = (lnbsize _ctrlTemplateValue select 0) > 0; + _ctrlTemplateButtonOK = _display displayctrl IDC_RSCDISPLAYARSENAL_TEMPLATE_BUTTONOK; + _ctrlTemplateButtonOK ctrlenable _enableButtons; + _ctrlTemplateButtonDelete = _display displayctrl IDC_RSCDISPLAYARSENAL_TEMPLATE_BUTTONDELETE; + _ctrlTemplateButtonDelete ctrlenable _enableButtons; +*/ + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "buttonSave": + { + _display = _this select 0; + _display setVariable ["saveMode", true]; + + ['showTemplates',[_display]] call ([SELF_FUNC, GARAGE_FUNC] select BIS_fnc_arsenal_type); + + _ctrlTemplate = _display displayctrl IDC_RSCDISPLAYARSENAL_TEMPLATE_TEMPLATE; + _ctrlTemplate ctrlsetfade 0; + _ctrlTemplate ctrlcommit 0; + _ctrlTemplate ctrlenable true; + + _ctrlMouseBlock = _display displayctrl IDC_RSCDISPLAYARSENAL_MOUSEBLOCK; + _ctrlMouseBlock ctrlenable true; + + { + (_display displayctrl _x) ctrlsettext localize "str_disp_int_save"; + } foreach [IDC_RSCDISPLAYARSENAL_TEMPLATE_TITLE,IDC_RSCDISPLAYARSENAL_TEMPLATE_BUTTONOK]; + { + _ctrl = _display displayctrl _x; + _ctrl ctrlshow true; + _ctrl ctrlenable true; + } foreach [IDC_RSCDISPLAYARSENAL_TEMPLATE_TEXTNAME,IDC_RSCDISPLAYARSENAL_TEMPLATE_EDITNAME]; + + _ctrlTemplateName = _display displayctrl IDC_RSCDISPLAYARSENAL_TEMPLATE_EDITNAME; + ctrlsetfocus _ctrlTemplateName; + + _ctrlTemplateValue = _display displayctrl IDC_RSCDISPLAYARSENAL_TEMPLATE_VALUENAME; + _ctrlTemplateButtonOK = _display displayctrl IDC_RSCDISPLAYARSENAL_TEMPLATE_BUTTONOK; + _ctrlTemplateButtonOK ctrlenable true; + _ctrlTemplateButtonDelete = _display displayctrl IDC_RSCDISPLAYARSENAL_TEMPLATE_BUTTONDELETE; + _ctrlTemplateButtonDelete ctrlenable ((lnbsize _ctrlTemplateValue select 0) > 0); + + ["showMessage", [_display,localize "STR_A3_RscDisplayArsenal_message_save"]] call SELF_FUNC; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "buttonRandom": + { + private _CFGWEAPONS = configfile >> "CfgWeapons"; + private _display = _this select 0; + private _center = missionnamespace getvariable ["BIS_fnc_arsenal_center", player]; + + //--- Left sidebar + { + _ctrlList = _display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + _x); + _ctrlList lbsetcursel floor random (lbsize _ctrlList); + } + foreach IDCS; + + //--- Right sidebar (attachments) + { + _weaponID = _foreachindex; + { + private _acc = selectRandom ((getArray (_x >> "compatibleItems") select { getNumber (_CFGWEAPONS >> _x >> "scope") == 2 }) + [""]); + if (_acc != "") then + { + switch _weaponID do + { + case 0: {_center addprimaryweaponitem _acc}; + case 1: {_center addsecondaryweaponitem _acc}; + case 2: {_center addhandgunitem _acc}; + }; + }; + } + foreach ("true" configclasses (_CFGWEAPONS >> _x >> "WeaponSlotsInfo")); + } + foreach + [ + primaryweapon _center, + secondaryweapon _center, + handgunweapon _center + ]; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "buttonInterface": { + _display = _this select 0; + _show = !ctrlshown (_display displayctrl IDC_RSCDISPLAYARSENAL_CONTROLSBAR_CONTROLBAR); + { + _tab = _x; + { + _ctrl = _display displayctrl (_tab + _x); + _ctrl ctrlshow _show; + _ctrl ctrlcommit FADE_DELAY; + } foreach [ + IDC_RSCDISPLAYARSENAL_ICON, + IDC_RSCDISPLAYARSENAL_ICONBACKGROUND, + IDC_RSCDISPLAYARSENAL_TAB, + IDC_RSCDISPLAYARSENAL_LIST, + IDC_RSCDISPLAYARSENAL_SORT + ]; + _ctrl = _display displayctrl (_tab + IDC_RSCDISPLAYARSENAL_LISTDISABLED); + _pos = if (_show) then {ctrlposition (_display displayctrl (_tab + IDC_RSCDISPLAYARSENAL_LIST))} else {[0,0,0,0]}; + _ctrl ctrlsetposition _pos; + _ctrl ctrlcommit 0; + } foreach IDCS; + { + _ctrl = _display displayctrl _x; + _ctrl ctrlshow _show; + _ctrl ctrlcommit FADE_DELAY; + } foreach [ + IDC_RSCDISPLAYARSENAL_CONTROLSBAR_CONTROLBAR, + IDC_RSCDISPLAYARSENAL_TABS, + IDC_RSCDISPLAYARSENAL_FRAMELEFT, + IDC_RSCDISPLAYARSENAL_FRAMERIGHT, + IDC_RSCDISPLAYARSENAL_LINEICON, + IDC_RSCDISPLAYARSENAL_LINETABLEFT, + IDC_RSCDISPLAYARSENAL_LINETABLEFTSELECTED, + IDC_RSCDISPLAYARSENAL_LINETABRIGHT, + IDC_RSCDISPLAYARSENAL_ICON, + IDC_RSCDISPLAYARSENAL_ICONBACKGROUND, + IDC_RSCDISPLAYARSENAL_TAB, + IDC_RSCDISPLAYARSENAL_LIST, + IDC_RSCDISPLAYARSENAL_LOAD, + IDC_RSCDISPLAYARSENAL_LOADCARGO, + IDC_RSCDISPLAYARSENAL_BACKGROUNDLEFT, + IDC_RSCDISPLAYARSENAL_BACKGROUNDRIGHT, + IDC_RSCDISPLAYARSENAL_STATS_STATS, + IDC_RSCDISPLAYARSENAL_INFO_DLCBACKGROUND, + IDC_RSCDISPLAYARSENAL_INFO_DLCICON, + IDC_RSCDISPLAYARSENAL_SPACE_SPACE + ]; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "buttonSpace": { + _ctrlButton = _this select 0; + _display = ctrlparent _ctrlButton; + _buttonID = [ + IDC_RSCDISPLAYARSENAL_SPACE_SPACEARSENAL, + IDC_RSCDISPLAYARSENAL_SPACE_SPACEGARAGE + ] find (ctrlidc _ctrlButton); + _function = [SELF_NAME, GARAGE_FUNC_NAME] select _buttonID; + BIS_fnc_arsenal_toggleSpace = true; + _display closedisplay 2; + //missionnamespace setvariable ["BIS_fnc_arsenal_target",player]; + ["Open",true] spawn (missionNamespace getvariable _function); + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "buttonOK": { + _display = _this select 0; + _display closedisplay 2; + + ["#(argb,8,8,3)color(0,0,0,1)",false,nil,0,[0,0.5]] call bis_fnc_textTiles; + + //missionnamespace setvariable ["RscStatic_mode",0]; + //cutrsc ["rscstatic","plain"]; + + //--- Apply the loadout on all selected objects + if (is3DEN) then { + _center = (missionnamespace getvariable ["BIS_fnc_arsenal_center",player]); + _inventory = [_center,[_center,"arsenal"]] call bis_fnc_saveInventory; + { + [_x,[_center,"arsenal"]] call bis_fnc_loadInventory; + } foreach (get3DENSelected "object"); + save3DENInventory (get3DENSelected "object"); + setstatvalue ["3DENArsenal",1]; + }; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "buttonClose": { + _display = _this select 0; + _message = if (missionname == "Arsenal") then { + [ + localize "STR_SURE", + localize "STR_disp_arcmap_exit", + nil, + true, + _display, + true + ] call bis_fnc_guimessage; + } else { + true + }; + if (_message) then { + _display closedisplay 2; + if (missionname == "Arsenal") then {endmission "end1";}; + ["#(argb,8,8,3)color(0,0,0,1)",false,nil,0,[0,0.5]] call bis_fnc_textTiles; + }; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "showMessage": + { + private _script = missionnamespace getvariable ["BIS_fnc_arsenal_message", scriptNull]; + if (!isNull _script) then { terminate _script }; + + _script = _this spawn + { + // [display, message] + disableserialization; + + private _ctrlMessage = (_this select 0) displayctrl IDC_RSCDISPLAYARSENAL_MESSAGE; + _ctrlMessage ctrlsettext (_this select 1); + _ctrlMessage ctrlsetfade 1; + _ctrlMessage ctrlcommit 0; + _ctrlMessage ctrlsetfade 0; + _ctrlMessage ctrlcommit FADE_DELAY; + uisleep 5; + _ctrlMessage ctrlsetfade 1; + _ctrlMessage ctrlcommit FADE_DELAY; + }; + + missionnamespace setvariable ["BIS_fnc_arsenal_message", _script]; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "AmmoboxInit": + { + params + [ + ["_box",objnull,[objnull]], + ["_allowAll",false,[false]], + ["_condition",{true},[{}]] + ]; + + if ({} isequalto {}) then { + _box setvariable ["bis_fnc_arsenal_condition",_condition,true]; + }; + + if (_allowAll) then + { + [_box,true,true,false] call bis_fnc_addVirtualWeaponCargo; + [_box,true,true,false] call bis_fnc_addVirtualMagazineCargo; + [_box,true,true,false] call bis_fnc_addVirtualItemCargo; + [_box,true,true,false] call bis_fnc_addVirtualBackpackCargo; + }; + + [["AmmoboxServer",_box,true],SELF_NAME,false] call bis_fnc_mp; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "AmmoboxExit": + { + private ["_box"]; + _box = [_this,0,objnull,[objnull]] call bis_fnc_param; + [["AmmoboxServer",_box,false],SELF_NAME,false] call bis_fnc_mp; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "AmmoboxServer": + { + _box = [_this,0,objnull,[objnull]] call bis_fnc_param; + _add = [_this,1,true,[true]] call bis_fnc_param; + + _boxes = missionnamespace getvariable ["bis_fnc_arsenal_boxes",[]]; + _boxes = _boxes - [_box]; + if (_add) then {_boxes = _boxes + [_box];}; + missionnamespace setvariable ["bis_fnc_arsenal_boxes",_boxes]; + publicvariable "bis_fnc_arsenal_boxes"; + + ["AmmoboxLocal",SELF_NAME,true,isnil "bis_fnc_arsenal_ammoboxServer"] call bis_fnc_mp; + bis_fnc_arsenal_ammoboxServer = true; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "AmmoboxLocal": + { + _boxes = missionnamespace getvariable ["bis_fnc_arsenal_boxes",[]]; + { + if (isnil {_x getvariable "bis_fnc_arsenal_action"}) then { + _action = _x addaction [ + localize "STR_A3_Arsenal", + { + _box = _this select 0; + _unit = _this select 1; + ["Open",[nil,_box,_unit]] call SELF_FUNC; + }, + [], + 6, + true, + false, + "", + " + _cargo = _target getvariable ['bis_addVirtualWeaponCargo_cargo',[[],[],[],[]]]; + if ({count _x > 0} count _cargo == 0) then { + _target removeaction (_target getvariable ['bis_fnc_arsenal_action',-1]); + _target setvariable ['bis_fnc_arsenal_action',nil]; + }; + _condition = _target getvariable ['bis_fnc_arsenal_condition',{true}]; + alive _target && {_target distance _this < 5 && {vehicle _this == _this}} && {call _condition} + " + ]; + _x setvariable ["bis_fnc_arsenal_action",_action]; + }; + } foreach _boxes; + }; +}; \ No newline at end of file diff --git a/mission/functions/systems/garage/fn_garage_create_ui_callback.sqf b/mission/functions/systems/garage/fn_garage_create_ui_callback.sqf new file mode 100644 index 00000000..5f984ce9 --- /dev/null +++ b/mission/functions/systems/garage/fn_garage_create_ui_callback.sqf @@ -0,0 +1,26 @@ +/* + File: fn_garage_create_ui_callback.sqf + Author: Spoffy + Date: 2023-05-19 + Last Update: 2023-05-19 + Public: No + + Description: + Helper function for creating ctrl and display callbacks in the arsenal and garage. + + Parameter(s): + _params - Parameters to pass to the function, as a string [STRING] + _funcName - Function name, as a string [STRING] + _namespace - Namespace, default uiNamespace [STRING] + _callType - 'call' or 'spawn' as a string [STRING] + + Returns: + String of code for ctrlAddEventHandler or displayaddeventhandler [STRING] + + Example(s): + ["['My test']", 'vn_mf_func', 'uiNamespace', 'spawn'] call vn_mf_fnc_garage_create_ui_callback; +*/ + +params [["_params", "[]", [""]], ["_funcName", "''", [""]], ["_namespace", 'uiNamespace', [""]], ["_callType", 'call', [""]]]; + +format ["with %1 do { %2 %3 (missionNamespace getVariable '%4') }", _namespace, _params, _callType, _funcName] \ No newline at end of file diff --git a/mission/functions/systems/garage/fn_garage_open.sqf b/mission/functions/systems/garage/fn_garage_open.sqf new file mode 100644 index 00000000..8571d086 --- /dev/null +++ b/mission/functions/systems/garage/fn_garage_open.sqf @@ -0,0 +1,876 @@ +/* + File: vn_garage_open.sqf + Author: Bohemia Interactive + Savage Game Design + Date: 2023-05-08 + Last Update: 2023-05-08 + Public: Yes + + Description: + Opens the BI virtual garage. + + Only shows specific vehicles in the garage. + + Parameter(s): + _mode - Identical to "BIS_fnc_garage" + _params - [vehicles, spawnPos, spawnDir] + - vehicleClasses - Array of classnames to make available [ARRAY] + - spawnPos - Location to spawn the vehicles at [POS] + - spawnDir - Direction for the vehicles to face. + + Returns: + None + + Example(s): + ["Open", [["vn_land_some_vehicle"], [0, 0, 0], 180]] call vn_mf_fnc_garage_open +*/ + +#include "\A3\ui_f\hpp\defineDIKCodes.inc" +#include "\A3\Ui_f\hpp\defineResinclDesign.inc" + +#define SELF_NAME "vn_mf_fnc_garage_open" +#define SELF_FUNC (missionNamespace getVariable SELF_NAME) +#define ARSENAL_NAME "vn_mf_fnc_garage_arsenal" +#define ARSENAL_FUNC (missionNamespace getVariable ARSENAL_NAME) +#define REGISTER_DISPLAY_FUNC (missionNamespace getVariable "vn_mf_fnc_garage_register_display") + +#define FADE_DELAY 0.15 + +disableserialization; + +private _mode = _this param [0, "Open", [displayNull, ""]]; +_this = param [1, []]; + +#define IDCS_LEFT\ + IDC_RSCDISPLAYGARAGE_TAB_CAR,\ + IDC_RSCDISPLAYGARAGE_TAB_ARMOR,\ + IDC_RSCDISPLAYGARAGE_TAB_HELI,\ + IDC_RSCDISPLAYGARAGE_TAB_PLANE,\ + IDC_RSCDISPLAYGARAGE_TAB_NAVAL,\ + IDC_RSCDISPLAYGARAGE_TAB_STATIC + +#define IDCS_RIGHT\ + IDC_RSCDISPLAYGARAGE_TAB_SUBANIMATION,\ + IDC_RSCDISPLAYGARAGE_TAB_SUBTEXTURE + +#define INITTYPES\ + _types = [];\ + _types set [IDC_RSCDISPLAYGARAGE_TAB_CAR,["carx"]];\ + _types set [IDC_RSCDISPLAYGARAGE_TAB_ARMOR,["tankx"]];\ + _types set [IDC_RSCDISPLAYGARAGE_TAB_HELI,["helicopterx"]];\ + _types set [IDC_RSCDISPLAYGARAGE_TAB_PLANE,["airplanex"]];\ + _types set [IDC_RSCDISPLAYGARAGE_TAB_NAVAL,["shipx","sumbarinex"]];\ + _types set [IDC_RSCDISPLAYGARAGE_TAB_STATIC,[""]]; + +#define IDCS [IDCS_LEFT,IDCS_RIGHT] + + +#define STATS\ + ["maxspeed","armor","fuelcapacity","threat"],\ + [false,true,false,false] + +// TODO - Try removing +#define CONDITION(LIST) ({"%ALL" in LIST} || {{_item == _x} count LIST > 0}) +#define ERROR if !(_item in _disabledItems) then {_disabledItems set [count _disabledItems,_item];}; + +private _fnc_compareTextures = +{ + params ["_vehtex", "_cfgtex"]; + if (_cfgtex isEqualTo "") exitWith { true }; // empty/absent config texture == any texture + if (_vehtex find "\" != 0) then {_vehtex = "\" + _vehtex}; + if (_cfgtex find "\" != 0) then {_cfgtex = "\" + _cfgtex}; + _vehtex == _cfgtex +}; + +private _checkboxTextures = +[ + tolower gettext (configfile >> "RscCheckBox" >> "textureUnchecked"), + tolower gettext (configfile >> "RscCheckBox" >> "textureChecked") +]; + +switch _mode do { + + /////////////////////////////////////////////////////////////////////////////////////////// + case "Open": { + if !(isnull (uinamespace getvariable ["BIS_fnc_arsenal_cam",objnull])) exitwith {"Garage Viewer is already running" call bis_fnc_logFormat;}; + + _this params ["_vehicleClasses", "_spawnPos", "_spawnDir"]; + + if (_spawnPos isEqualType []) then { + _spawnPos = createVehicle ["Land_HelipadEmpty_F", _spawnPos, [], 0, "CAN_COLLIDE"]; + }; + + uinamespace setVariable ["vn_mf_garage_vehicleClasses", _vehicleClasses]; + uinamespace setVariable ["vn_mf_garage_spawnPos", _spawnPos]; + uinamespace setVariable ["vn_mf_garage_spawnDir", _spawnDir]; + + with missionnamespace do { + BIS_fnc_garage_center = _spawnPos; + }; + + with uinamespace do { + _displayMission = [] call (uinamespace getvariable "bis_fnc_displayMission"); + if !(isnull finddisplay 312) then {_displayMission = finddisplay 312;}; + _displayMission createdisplay 'vn_mf_garage_disp_garage'; + }; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "Init": { + // We need to do this because the RscDisplayGarage script does it. + // No idea why - maybe we could remove it in the future? + if (isNil "bis_fnc_arsenal_data" && !canSuspend) exitWith { + ["Init", _this] spawn SELF_FUNC; + }; + + ["register", _this, "RscDisplayGarageMikeForce", "GUI"] call REGISTER_DISPLAY_FUNC; + + ["BIS_fnc_arsenal"] call bis_fnc_startloadingscreen; + _display = _this select 0; + _toggleSpace = uinamespace getvariable ["BIS_fnc_arsenal_toggleSpace",false]; + BIS_fnc_arsenal_type = 1; //--- 0 - Arsenal, 1 - Garage + BIS_fnc_arsenal_toggleSpace = nil; + BIS_fnc_garage_turretPaths = []; + if (isnil "BIS_fnc_garage_centerType") then {BIS_fnc_garage_centerType = "";}; + setstatvalue ["MarkVirtualVehicleInspection",1]; + + with missionnamespace do { + BIS_fnc_arsenal_group = creategroup side group player; + BIS_fnc_arsenal_center = missionnamespace getvariable ["BIS_fnc_garage_center",player]; + }; + + //--- Show specific class + _classDefault = uinamespace getvariable ["bis_fnc_garage_defaultClass",""]; + if (isclass (configfile >> "cfgvehicles" >> _classDefault)) then { + _vehModel = gettext (configfile >> "cfgvehicles" >> _classDefault >> "model"); + if (getnumber (configfile >> "cfgvehicles" >> _classDefault >> "forceInGarage") > 0) then {_vehModel = _vehModel + ":" + _classDefault;}; + bis_fnc_garage_centerType = _vehModel; + }; + uinamespace setvariable ["bis_fnc_garage_defaultClass",nil]; + + //--- Load stats + if (isnil {uinamespace getvariable "BIS_fnc_garage_stats"}) then { + _defaultCrew = gettext (configfile >> "cfgvehicles" >> "all" >> "crew"); + uinamespace setvariable [ + "BIS_fnc_garage_stats", + [ + //("isclass _x && getnumber (_x >> 'scope') == 2") configclasses (configfile >> "cfgvehicles"), + ("isclass _x && {getnumber (_x >> 'scope') == 2} && {gettext (_x >> 'crew') != _defaultCrew}" configclasses (configfile >> "cfgvehicles")), + STATS + ] call bis_fnc_configExtremes + ]; + }; + + INITTYPES + ["InitGUI",[_display, SELF_NAME]] call ARSENAL_FUNC; + ["InitGUI", [_display]] call SELF_FUNC; + ["Preload"] call SELF_FUNC; + ["ListAdd",[_display]] call SELF_FUNC; + if (BIS_fnc_garage_centerType == "") then {["buttonRandom",[_display]] call SELF_FUNC;}; + ["MouseZChanged",[controlnull,0]] call ARSENAL_FUNC; //--- Reset zoom + { + _ctrl = _display displayctrl _x; + _ctrl ctrlsetfade 0; + } foreach [IDC_RSCDISPLAYARSENAL_LINETABLEFT]; + + _ctrl = _display displayctrl IDC_RSCDISPLAYARSENAL_LINEICON; + _ctrl ctrlshow false; + + with missionnamespace do { + [missionnamespace,"garageOpened",[_display,_toggleSpace]] call bis_fnc_callscriptedeventhandler; + }; + ["BIS_fnc_arsenal"] call bis_fnc_endloadingscreen; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "Exit": { + // Need to do this, as formerly initDisplay handled running this in the uiNamespace. + // Since that was replaced by register_display + if (currentNamespace isNotEqualTo uiNamespace) exitWith { + with uiNamespace do { + ["Exit", _this] call SELF_FUNC; + }; + }; + + ["unregister", _this, "RscDisplayGarageMikeForce", "GUI"] call REGISTER_DISPLAY_FUNC; + + with missionnamespace do { + BIS_fnc_garage_center = BIS_fnc_arsenal_center; +/* + { + BIS_fnc_arsenal_center deletevehiclecrew _x; + } foreach crew BIS_fnc_arsenal_center; + deletevehicle BIS_fnc_arsenal_center; + BIS_fnc_arsenal_group = nil; +*/ + }; + BIS_fnc_garage_turretPaths = nil; + + with missionnamespace do { + [missionnamespace,"garageClosed",[displaynull,uinamespace getvariable ["BIS_fnc_arsenal_toggleSpace",false]]] call bis_fnc_callscriptedeventhandler; + }; + "Exit" call ARSENAL_FUNC; + }; + + case "InitGUI": { + params ["_display"]; + + _ctrlButtonSave = _display displayctrl IDC_RSCDISPLAYARSENAL_CONTROLSBAR_BUTTONSAVE; + _ctrlButtonSave ctrlShow false; + + _ctrlButtonLoad = _display displayctrl IDC_RSCDISPLAYARSENAL_CONTROLSBAR_BUTTONLOAD; + _ctrlButtonLoad ctrlShow false; + + _ctrlButtonExport = _display displayctrl IDC_RSCDISPLAYARSENAL_CONTROLSBAR_BUTTONEXPORT; + _ctrlButtonExport ctrlShow false; + + _ctrlButtonImport = _display displayctrl IDC_RSCDISPLAYARSENAL_CONTROLSBAR_BUTTONIMPORT; + _ctrlButtonImport ctrlShow false; + + _ctrlButtonOK = _display displayctrl IDC_RSCDISPLAYARSENAL_CONTROLSBAR_BUTTONOK; + + _ctrlButtonTry = _display displayctrl IDC_RSCDISPLAYARSENAL_CONTROLSBAR_BUTTONTRY; + _ctrlButtonTry ctrlShow false; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "Preload": { + diag_log "Calling MF garage preload"; + private _vehicleClasses = uinamespace getVariable ["vn_mf_garage_vehicleClasses", []]; + //Load vehicle types sorted by category + if (isnil "_data" || cheatsenabled) then { + ["bis_fnc_garage_preload"] call bis_fnc_startloadingscreen; + + _data = []; + { + _data set [_x,[]]; + } foreach [IDCS_LEFT]; + _defaultCrew = gettext (configfile >> "cfgvehicles" >> "all" >> "crew"); + + { + _simulation = gettext (_x >> "simulation"); + _items = switch tolower _simulation do { + case "car"; + case "carx": { + _data select IDC_RSCDISPLAYGARAGE_TAB_CAR; + }; + case "tank"; + case "tankx": { + if (getnumber (_x >> "maxspeed") > 0) then { + _data select IDC_RSCDISPLAYGARAGE_TAB_ARMOR; + } else { + _data select IDC_RSCDISPLAYGARAGE_TAB_STATIC; + }; + }; + case "helicopter"; + case "helicopterx"; + case "helicopterrtd": { + _data select IDC_RSCDISPLAYGARAGE_TAB_HELI; + }; + case "airplane"; + case "airplanex": { + _data select IDC_RSCDISPLAYGARAGE_TAB_PLANE; + }; + case "ship"; + case "shipx"; + case "submarinex": { + _data select IDC_RSCDISPLAYGARAGE_TAB_NAVAL; + }; + default {[]}; + }; + + //--- Sort vehicles by model (vehicles with the same model are displayed as one, with variable textures / animations) + _model = tolower gettext (_x >> "model"); + if (getnumber (_x >> "forceInGarage") > 0) then {_model = _model + ":" + configname _x;}; //--- Force specific class + _modelID = _items find _model; + if (_modelID < 0) then { + _modelID = count _items; + _items pushback _model; + _items pushback []; + }; + _modelData = _items select (_modelID + 1); + _modelData pushback _x; + + } foreach (_vehicleClasses apply {configfile >> "cfgvehicles" >> _x}); + + missionnamespace setvariable ["bis_fnc_garage_data",_data]; + ["bis_fnc_garage_preload"] call bis_fnc_endloadingscreen; + true + } else { + false + }; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "ListAdd": { + _display = _this select 0; + _data = missionnamespace getvariable "bis_fnc_garage_data"; + _center = (missionnamespace getvariable ["BIS_fnc_arsenal_center",player]); + { + _items = _x; + _ctrlList = _display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + _foreachindex); + for "_i" from 0 to (count _items - 1) step 2 do { + _model = _items select _i; + _modelData = _items select (_i + 1); + _modelExample = _modelData select 0; + _displayName = gettext (_modelExample >> "displayName"); + _lbAdd = _ctrlList lbadd _displayName; + _ctrlList lbsetpicture [_lbAdd,gettext (_modelExample >> "picture")]; + _ctrlList lbsetdata [_lbAdd,_model]; + _ctrlList lbsetvalue [_lbAdd,_i]; + _ctrlList lbsettooltip [_lbAdd,_displayName]; + /* + // Sets the DLC logo + _addons = configsourceaddonlist _modelExample; + if (count _addons > 0) then { + _dlcs = configsourcemodlist (configfile >> "CfgPatches" >> _addons select 0); + if (count _dlcs > 0) then { + _ctrlList lbsetpictureright [_lbAdd,gettext (configfile >> "cfgMods" >> (_dlcs select 0) >> "logo")]; + }; + }; + */ + }; + lbsort _ctrlList; + + //--- Select previously selected item (must be done after sorting) + for "_i" from 0 to (lbsize _ctrlList - 1) do { + if ((_ctrlList lbdata _i) == bis_fnc_garage_centerType) then { + _ctrlList lbsetcursel _i; + }; + } foreach _data; + } foreach _data; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "TabSelectLeft": { + _display = _this select 0; + _index = _this select 1; + _center = (missionnamespace getvariable ["BIS_fnc_arsenal_center",player]); +/* + { + _ctrlList = _display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + _x); + _ctrlList lbsetcursel -1; + lbclear _ctrlList; + } foreach [IDCS_RIGHT]; +*/ + { + _idc = _x; + _active = _idc == _index; + + { + _ctrlList = _display displayctrl (_x + _idc); + _ctrlList ctrlenable _active; + _ctrlList ctrlsetfade ([1,0] select _active); + _ctrlList ctrlcommit FADE_DELAY; + } foreach [IDC_RSCDISPLAYARSENAL_LIST,IDC_RSCDISPLAYARSENAL_LISTDISABLED]; + + _ctrlTab = _display displayctrl (IDC_RSCDISPLAYARSENAL_TAB + _idc); + _ctrlTab ctrlenable !_active; + + _ctrlList = _display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + _idc); + if (_active) then { + _ctrlLineTabLeft = _display displayctrl IDC_RSCDISPLAYARSENAL_LINETABLEFT; + _ctrlLineTabLeft ctrlsetfade 0; + _ctrlTabPos = ctrlposition _ctrlTab; + _ctrlLineTabPosX = (_ctrlTabPos select 0) + (_ctrlTabPos select 2) - 0.01; + _ctrlLineTabPosY = (_ctrlTabPos select 1); + _ctrlLineTabLeft ctrlsetposition [ + safezoneX,//_ctrlLineTabPosX, + _ctrlLineTabPosY, + (ctrlposition _ctrlList select 0) - safezoneX,//_ctrlLineTabPosX, + ctrlposition _ctrlTab select 3 + ]; + _ctrlLineTabLeft ctrlcommit 0; + ctrlsetfocus _ctrlList; + if (_idc != IDC_RSCDISPLAYGARAGE_TAB_SUBANIMATION) then { //--- Don't select animation, it would inverse the state + ['SelectItem',[_display,_display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + _idc),_idc]] call SELF_FUNC; + }; + } else { + if ((_center getvariable "bis_fnc_arsenal_idc") != _idc) then {_ctrlList lbsetcursel -1;}; + }; + + _ctrlIcon = _display displayctrl (IDC_RSCDISPLAYARSENAL_ICON + _idc); + //_ctrlIcon ctrlsetfade ([1,0] select _active); + _ctrlIcon ctrlshow _active; + _ctrlIcon ctrlenable !_active; + } foreach [IDCS_LEFT]; + + { + _ctrl = _display displayctrl _x; + _ctrl ctrlsetfade 0; + _ctrl ctrlcommit FADE_DELAY; + } foreach [ + //IDC_RSCDISPLAYARSENAL_LINETABLEFT, + IDC_RSCDISPLAYARSENAL_FRAMELEFT, + IDC_RSCDISPLAYARSENAL_BACKGROUNDLEFT + ]; + + //--- Right lists + { + _idc = _x; + _ctrl = _display displayctrl (IDC_RSCDISPLAYARSENAL_TAB + _x); + _ctrl ctrlenable true; + _ctrl ctrlsetfade 0; + _ctrl ctrlcommit 0;//FADE_DELAY; + { + _ctrlList = _display displayctrl (_idc + _x); + _ctrlList ctrlenable true; + _ctrlList ctrlsetfade 0; + _ctrlList ctrlcommit FADE_DELAY; + } foreach [IDC_RSCDISPLAYARSENAL_LIST,IDC_RSCDISPLAYARSENAL_LISTDISABLED]; + } foreach [IDCS_RIGHT]; + + //--- Right sidebar + if !(is3DEN) then { + { + _ctrl = _display displayctrl _x; + _ctrl ctrlsetfade 0; + _ctrl ctrlcommit FADE_DELAY; + } foreach [ + IDC_RSCDISPLAYARSENAL_LINETABRIGHT, + IDC_RSCDISPLAYARSENAL_FRAMERIGHT, + IDC_RSCDISPLAYARSENAL_BACKGROUNDRIGHT + ]; + }; + + ['TabSelectRight',[_display,IDC_RSCDISPLAYGARAGE_TAB_SUBANIMATION]] call SELF_FUNC; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "TabSelectRight": { + _display = _this select 0; + _index = _this select 1; + _ctrFrameRight = _display displayctrl IDC_RSCDISPLAYARSENAL_FRAMERIGHT; + _ctrBackgroundRight = _display displayctrl IDC_RSCDISPLAYARSENAL_BACKGROUNDRIGHT; + + { + _idc = _x; + _active = _idc == _index; + + { + _ctrlList = _display displayctrl (_x + _idc); + _ctrlList ctrlenable _active; + _ctrlList ctrlsetfade ([1,0] select _active); + _ctrlList ctrlcommit FADE_DELAY; + } foreach [IDC_RSCDISPLAYARSENAL_LIST,IDC_RSCDISPLAYARSENAL_LISTDISABLED]; + + _ctrlTab = _display displayctrl (IDC_RSCDISPLAYARSENAL_TAB + _idc); + _ctrlTab ctrlenable (!_active && ctrlfade _ctrlTab == 0); + + if (_active) then { + _ctrlList = _display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + _idc); + _ctrlLineTabRight = _display displayctrl IDC_RSCDISPLAYARSENAL_LINETABRIGHT; + _ctrlLineTabRight ctrlsetfade 0; + _ctrlTabPos = ctrlposition _ctrlTab; + _ctrlLineTabPosX = (ctrlposition _ctrlList select 0) + (ctrlposition _ctrlList select 2); + _ctrlLineTabPosY = (_ctrlTabPos select 1); + _ctrlLineTabRight ctrlsetposition [ + _ctrlLineTabPosX, + _ctrlLineTabPosY, + safezoneX + safezoneW - _ctrlLineTabPosX,//(_ctrlTabPos select 0) - _ctrlLineTabPosX + 0.01, + ctrlposition _ctrlTab select 3 + ]; + _ctrlLineTabRight ctrlcommit 0; + ctrlsetfocus _ctrlList; + + _ctrlLoadCargo = _display displayctrl IDC_RSCDISPLAYARSENAL_LOADCARGO; + _ctrlListPos = ctrlposition _ctrlList; + _ctrlListPos set [3,(_ctrlListPos select 3) + (ctrlposition _ctrlLoadCargo select 3)]; + { + _x ctrlsetposition _ctrlListPos; + _x ctrlcommit 0; + } foreach [_ctrFrameRight,_ctrBackgroundRight]; + + if (_idc in [IDC_RSCDISPLAYARSENAL_TAB_CARGOMAG,IDC_RSCDISPLAYARSENAL_TAB_CARGOTHROW,IDC_RSCDISPLAYARSENAL_TAB_CARGOPUT,IDC_RSCDISPLAYARSENAL_TAB_CARGOMISC]) then { + ["SelectItemRight",[_display,_ctrlList,_index]] call ARSENAL_FUNC; + }; + }; + + _ctrlIcon = _display displayctrl (IDC_RSCDISPLAYARSENAL_ICON + _idc); + //_ctrlIcon ctrlenable false; + _ctrlIcon ctrlshow _active; + _ctrlIcon ctrlenable (!_active && ctrlfade _ctrlTab == 0); + } foreach [IDCS_RIGHT]; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "SelectItem": { + private ["_ctrlList","_index","_cursel"]; + _display = _this select 0; + _ctrlList = _this select 1; + _idc = _this select 2; + _cursel = lbcursel _ctrlList; + if (_cursel < 0) exitwith {}; + _index = _ctrlList lbvalue _cursel; + + _center = (missionnamespace getvariable ["BIS_fnc_arsenal_center",player]); + _group = (missionnamespace getvariable ["BIS_fnc_arsenal_group",group player]); + _cfg = configfile >> "dummy"; + //_cfg = configfile >> "cfgvehicles" >> typeof _center; + _colors = [[1,1,1,1],[1,1,1,0.25]]; + _initVehicle = false; + + switch _idc do { + case IDC_RSCDISPLAYGARAGE_TAB_CAR; + case IDC_RSCDISPLAYGARAGE_TAB_ARMOR; + case IDC_RSCDISPLAYGARAGE_TAB_HELI; + case IDC_RSCDISPLAYGARAGE_TAB_PLANE; + case IDC_RSCDISPLAYGARAGE_TAB_NAVAL; + case IDC_RSCDISPLAYGARAGE_TAB_STATIC: { + _item = if (ctrltype _ctrlList == 102) then {_ctrlList lnbdata [_cursel,0]} else {_ctrlList lbdata _cursel}; + _target = (missionnamespace getvariable ["BIS_fnc_arsenal_target",player]); + _centerType = if !(simulationenabled _center) then {""} else {typeof _center}; //--- Accept only previous vehicle, not player during init + _centerSizeOld = ((boundingboxreal _center select 0) vectordistance (boundingboxreal _center select 1));//sizeof _centerType; + _data = missionnamespace getvariable "bis_fnc_garage_data"; + _modelData = (_data select _idc) select (_index + 1); + _cfg = _modelData select 0; + _cfgStats = _cfg; + _class = configname _cfg; + + if (_class != _centerType || !alive _center) then { + _centerPos = position _center; + _centerPos set [2,0]; + _players = []; + { + if (isplayer _x) then { + _players pushback [_x,assignedvehiclerole _x]; + moveout _x; + } else { + _center deletevehiclecrew _x; + }; + } foreach crew _center; + + if (_center != player) then {_center setpos [10,10,00];}; + deletevehicle _center; + _center = createVehicle [_class, _centerPos, [], 0, "NONE"]; + _center setPos _centerPos; + if ((_center getvariable ["bis_fnc_arsenal_idc",-1]) >= 0) then {_center setpos _centerPos;}; //--- Move vehicle only when previous vehicle was created by Garage + _center allowdamage false; + _center setvelocity [0,0,0]; + _center setvariable ["bis_fnc_arsenal_idc",_idc]; + // _center setvehicletipars [0.5,0.5,0.5];}; //--- Heat vehicle parts so user can preview them + bis_fnc_garage_centerType = _item; + missionnamespace setvariable ["BIS_fnc_arsenal_center",_center]; + _target attachto [_center,BIS_fnc_arsenal_campos select 3,""]; + + //--- Restore player seats + { + _player = _x select 0; + _roleArray = _x select 1; + _role = _roleArray select 0; + switch (tolower _role) do { + case "driver": { + if (_center emptypositions _role > 0) then {_player moveindriver _center;} else {_player moveinany _center;}; + }; + case "gunner"; + case "commander"; + case "turret": { + if (count (allturrets _center) > 0) then {_player moveinturret [_center,(allturrets _center) select 0];} else {_player moveinany _center;}; + }; + case "cargo": { + if (_center emptypositions _role > 0) then {_player moveincargo _center;} else {_player moveinany _center;}; + }; + }; + } foreach _players; + + //--- Set the same relative distance and position + _centerSize = ((boundingboxreal _center select 0) vectordistance (boundingboxreal _center select 1));//sizeof typeof _center; + if (_centerSizeOld != 0) then { + _dis = BIS_fnc_arsenal_campos select 0; + _disCoef = _dis / _centerSizeOld; + BIS_fnc_arsenal_campos set [0,_centerSize * _disCoef]; + + _targetPos = BIS_fnc_arsenal_campos select 3; + _coefX = (_targetPos select 0) / _centerSizeOld; + _coefY = (_targetPos select 1) / _centerSizeOld; + _coefZ = (_targetPos select 2) / _centerSizeOld; + BIS_fnc_arsenal_campos set [3,[_centerSize * _coefX,_centerSize * _coefY,_centerSize * _coefZ]]; + }; + }; + + //--- Reset the vehicle state + _center setdir direction _center; + _center setvelocity [0,0,0]; + + //--- Animations + _ctrlListAnimations = _display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + IDC_RSCDISPLAYGARAGE_TAB_SUBANIMATION); + lbclear _ctrlListAnimations; + { + _configName = configname _x; + _displayName = gettext (_x >> "displayName"); + if (_displayName != "" && {getnumber (_x >> "scope") > 1 || !isnumber (_x >> "scope")}) then { + _lbAdd = _ctrlListAnimations lbadd _displayName; + _ctrlListAnimations lbsetdata [_lbAdd,_configName]; + _ctrlListAnimations lbsetpicture [_lbAdd,_checkboxTextures select ((_center animationphase _configName) max 0)]; + }; + } foreach (configproperties [_cfg >> "animationSources","isclass _x",true]); + lbsort _ctrlListAnimations; + _ctrlListAnimationsDisabled = _display displayctrl (IDC_RSCDISPLAYARSENAL_LISTDISABLED + IDC_RSCDISPLAYGARAGE_TAB_SUBANIMATION); + _ctrlListAnimationsDisabled ctrlshow (lbsize _ctrlListAnimations == 0); + + //--- Textures + _currentTextures = getobjecttextures _center; + _current = ""; + _ctrlListTextures = _display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + IDC_RSCDISPLAYGARAGE_TAB_SUBTEXTURE); + lbclear _ctrlListTextures; + { + _displayName = gettext (_x >> "displayName"); + if (_displayName != "") then + { + private _textures = getarray (_x >> "textures"); + private _decals = getarray (_x >> "decals"); + private _selected = + ({ + if !(_forEachIndex in _decals || { [_x, _textures param [_forEachIndex, ""]] call _fnc_compareTextures }) exitWith { false }; + true + } + forEach _currentTextures); + + _lbAdd = _ctrlListTextures lbadd _displayName; + _ctrlListTextures lbsetdata [_lbAdd,configname _x]; + _ctrlListTextures lbsetpicture [_lbAdd,_checkboxTextures select 0]; + if (_selected) then {_current = configname _x;}; + }; + } foreach (configproperties [_cfg >> "textureSources","isclass _x",true]); + lbsort _ctrlListTextures; + for "_i" from 0 to (lbsize _ctrlListTextures - 1) do { + if ((_ctrlListTextures lbdata _i) == _current) then { + _ctrlListTextures lbsetcursel _i; + }; + }; + _ctrlListTexturesDisabled = _display displayctrl (IDC_RSCDISPLAYARSENAL_LISTDISABLED + IDC_RSCDISPLAYGARAGE_TAB_SUBTEXTURE); + _ctrlListTexturesDisabled ctrlshow (lbsize _ctrlListTextures == 0); + + //--- Mark the tab as selected + _ctrlTab = _display displayctrl (IDC_RSCDISPLAYARSENAL_TAB + _idc); + _ctrlLineTab = _display displayctrl IDC_RSCDISPLAYARSENAL_LINETABLEFTSELECTED; + _ctrlLineTabPos = ctrlposition _ctrlLineTab; + _ctrlLineTabPos set [1,ctrlposition _ctrlTab select 1]; + _ctrlLineTab ctrlsetposition _ctrlLineTabPos; + _ctrlLineTab ctrlcommit 0; + }; + + case IDC_RSCDISPLAYGARAGE_TAB_SUBANIMATION: { + _selected = _checkboxTextures find (_ctrlList lbpicture _cursel); + _ctrlList lbsetpicture [_cursel,_checkboxTextures select ((_selected + 1) % 2)]; + _initVehicle = true; + }; + + case IDC_RSCDISPLAYGARAGE_TAB_SUBTEXTURE: { + _selected = _checkboxTextures find (_ctrlList lbpicture _cursel); + for "_i" from 0 to (lbsize _ctrlList - 1) do { + _ctrlList lbsetpicture [_i,_checkboxTextures select 0]; + }; + _ctrlList lbsetpicture [_cursel,_checkboxTextures select 1]; + _initVehicle = true; + }; + +/* + case IDC_RSCDISPLAYGARAGE_TAB_SUBANIMATION: { + _animationClass = _ctrlList lbdata _cursel; + _cfg = configfile >> "cfgvehicles" >> typeof _center >> "animationsources" >> _animationClass; + _animationPhase = round ((_center animationphase _animationClass) + 1) % 2; + _center animate [_animationClass,_animationPhase]; + _ctrlList lbsetpicture [_cursel,_checkboxTextures select _animationPhase]; + }; + case IDC_RSCDISPLAYGARAGE_TAB_SUBTEXTURE: { + _textureClass = _ctrlList lbdata _cursel; + _cfg = configfile >> "cfgvehicles" >> typeof _center >> "texturesources" >> _textureClass; + { + _center setobjecttexture [_foreachindex,_x]; + } foreach getarray (_cfg >> "textures"); + }; +*/ + }; + if (_initVehicle) then { + _ctrlListTextures = _display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + IDC_RSCDISPLAYGARAGE_TAB_SUBTEXTURE); + _ctrlListAnimations = _display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + IDC_RSCDISPLAYGARAGE_TAB_SUBANIMATION); + _textures = ""; + _animations = []; + for "_i" from 0 to (lbsize _ctrlListTextures - 1) do { + if ((_ctrlListTextures lbpicture _i) == (_checkboxTextures select 1)) exitwith {_textures = [_ctrlListTextures lbdata _i,1];}; + }; + for "_i" from 0 to (lbsize _ctrlListAnimations - 1) do { + _animations pushback (_ctrlListAnimations lbdata _i); + _animations pushback (_checkboxTextures find (_ctrlListAnimations lbpicture _i)); + }; + //_animations call bis_fnc_log; + [_center,_textures,_animations,true] call bis_fnc_initVehicle; + }; + + ["SetAnimationStatus",[_display]] call SELF_FUNC; + ["SetTextureStatus",[_display]] call SELF_FUNC; + if (isclass _cfg) then { + ["ShowItemInfo",[_cfg]] call ARSENAL_FUNC; + ["ShowItemStats",[_cfgStats]] call SELF_FUNC; + }; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "SetAnimationStatus": + { + _display = _this select 0; + _center = (missionnamespace getvariable ["BIS_fnc_arsenal_center",player]); + _ctrlListAnimations = _display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + IDC_RSCDISPLAYGARAGE_TAB_SUBANIMATION); + for "_i" from 0 to (lbsize _ctrlListAnimations - 1) do { + _selected = _center animationphase (_ctrlListAnimations lbdata _i); + _ctrlListAnimations lbsetpicture [_i,_checkboxTextures select _selected]; + }; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "SetTextureStatus": + { + private _display = _this select 0; + private _center = (missionnamespace getvariable ["BIS_fnc_arsenal_center",player]); + private _ctrlListTextures = _display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + IDC_RSCDISPLAYGARAGE_TAB_SUBTEXTURE); + private _centerTextures = getObjectTextures _center; + + for "_i" from 0 to (lbsize _ctrlListTextures - 1) do + { + private _cfg = configfile >> "cfgvehicles" >> typeof _center >> "texturesources" >> (_ctrlListTextures lbdata _i); + + private _configTextures = getarray (_cfg >> "textures"); + private _decals = getarray (_cfg >> "decals"); + private _selected = + ({ + if !(_forEachIndex in _decals || { [_x, _configTextures param [_forEachIndex, ""]] call _fnc_compareTextures }) exitWith { false }; + true + } + forEach _centerTextures); + + _ctrlListTextures lbsetpicture [_i,_checkboxTextures select _selected]; + }; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "ShowItemStats": { + _itemCfg = _this select 0; + if (isclass _itemCfg) then { + _ctrlStats = _display displayctrl IDC_RSCDISPLAYARSENAL_STATS_STATS; + _ctrlStatsPos = ctrlposition _ctrlStats; + _ctrlStatsPos set [0,0]; + _ctrlStatsPos set [1,0]; + _ctrlBackground = _display displayctrl IDC_RSCDISPLAYARSENAL_STATS_STATSBACKGROUND; + _barMin = 0.01; + _barMax = 1; + + _statControls = [ + [IDC_RSCDISPLAYARSENAL_STATS_STAT1,IDC_RSCDISPLAYARSENAL_STATS_STATTEXT1], + [IDC_RSCDISPLAYARSENAL_STATS_STAT2,IDC_RSCDISPLAYARSENAL_STATS_STATTEXT2], + [IDC_RSCDISPLAYARSENAL_STATS_STAT3,IDC_RSCDISPLAYARSENAL_STATS_STATTEXT3], + [IDC_RSCDISPLAYARSENAL_STATS_STAT4,IDC_RSCDISPLAYARSENAL_STATS_STATTEXT4], + [IDC_RSCDISPLAYARSENAL_STATS_STAT5,IDC_RSCDISPLAYARSENAL_STATS_STATTEXT5] + ]; + _rowH = 1 / (count _statControls + 1); + _fnc_showStats = { + _h = _rowH; + { + _ctrlStat = _display displayctrl ((_statControls select _foreachindex) select 0); + _ctrlText = _display displayctrl ((_statControls select _foreachindex) select 1); + if (count _x > 0) then { + _ctrlStat progresssetposition (_x select 0); + _ctrlText ctrlsettext toupper (_x select 1); + _ctrlText ctrlsetfade 0; + _ctrlText ctrlcommit 0; + //_ctrlText ctrlshow true; + _h = _h + _rowH; + } else { + _ctrlStat progresssetposition 0; + _ctrlText ctrlsetfade 1; + _ctrlText ctrlcommit 0; + //_ctrlText ctrlshow false; + }; + } foreach _this; + _ctrlStatsPos set [1,(_ctrlStatsPos select 3) * (1 - _h)]; + _ctrlStatsPos set [3,(_ctrlStatsPos select 3) * _h]; + _ctrlBackground ctrlsetposition _ctrlStatsPos; + _ctrlBackground ctrlcommit 0; + }; + + _ctrlStats ctrlsetfade 0; + _statsExtremes = uinamespace getvariable "BIS_fnc_garage_stats"; + if !(isnil "_statsExtremes") then { + _statsMin = _statsExtremes select 0; + _statsMax = _statsExtremes select 1; + + _stats = [ + [_itemCfg], + STATS, + _statsMin + ] call bis_fnc_configExtremes; + _stats = _stats select 1; + + _statMaxSpeed = linearConversion [_statsMin select 0,_statsMax select 0,_stats select 0,_barMin,_barMax]; + _statArmor = linearConversion [_statsMin select 1,_statsMax select 1,_stats select 1,_barMin,_barMax]; + _statFuelCapacity = linearConversion [_statsMin select 2,_statsMax select 2,_stats select 2,_barMin,_barMax]; + _statThreat = linearConversion [_statsMin select 3,_statsMax select 3,_stats select 3,_barMin,_barMax]; + [ + [],[],[], + [_statMaxSpeed,localize "STR_A3_RSCDISPLAYGARAGE_STAT_MAX_SPEED"], + [_statArmor,localize "STR_UI_ABAR"]/* + [_statFuelCapacity,"Fuel capacity"], + [_statThreat,"Threat"]*/ + ] call _fnc_showStats; + }; + + _ctrlStats ctrlcommit FADE_DELAY; + } else { + _ctrlStats = _display displayctrl IDC_RSCDISPLAYARSENAL_STATS_STATS; + _ctrlStats ctrlsetfade 1; + _ctrlStats ctrlcommit FADE_DELAY; + }; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "buttonImport": {}; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "buttonExport": {}; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "buttonRandom": { + _display = _this select 0; + + if (is3DEN) then { + + //--- Select random animations + _ctrlList = _display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + IDC_RSCDISPLAYGARAGE_TAB_SUBANIMATION); + for "_i" from 0 to (lbsize _ctrlList - 1) do { + if (random 1 > 0.5) then {_ctrlList lbsetcursel _i;}; + }; + + //--- Select random texture + _ctrlList = _display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + IDC_RSCDISPLAYGARAGE_TAB_SUBTEXTURE); + _ctrlList lbsetcursel floor random (lbsize _ctrlList); + + } else { + //--- Select random vehicle type + { + _ctrlList = _display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + _x); + _ctrlList lbsetcursel -1; + } foreach [IDCS_LEFT]; + + //--- Select random item + _ctrlList = _display displayctrl (IDC_RSCDISPLAYARSENAL_LIST + (floor random (count [IDCS_LEFT] - 1))); + _ctrlList lbsetcursel (floor random (lbsize _ctrlList - 1)); + }; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "showTemplates": { + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + case "buttonTemplateOK": { + }; + + /////////////////////////////////////////////////////////////////////////////////////////// + + case "buttonOK": { + _display = _this select 0; + _display closedisplay 2; + ["#(argb,8,8,3)color(0,0,0,1)",false,nil,0,[0,0.5]] call bis_fnc_textTiles; + }; + + /////////////////////////////////////////////////////////////////////////////////////////// +}; \ No newline at end of file diff --git a/mission/functions/systems/garage/fn_garage_register_display.sqf b/mission/functions/systems/garage/fn_garage_register_display.sqf new file mode 100644 index 00000000..88adca9f --- /dev/null +++ b/mission/functions/systems/garage/fn_garage_register_display.sqf @@ -0,0 +1,74 @@ +/* + Author: + Karel Moricky, improved by Killzone_Kid + + Adapted for Mike Force by Savage Game Design + + Description: + Initialize displays during preStart or init GUI display and run its script + The config class of the display is available in "BIS_fnc_initDisplay_configClass" stored on display + Example: _display getVariable "BIS_fnc_initDisplay_configClass"; + Display is also stored in uiNamespace variable with config class name + Example: uiNamespace getVariable "RscAvCamera"; + + Parameter(s): + ARRAY - [] init displays during preStart + or + 0: STRING - mode, can be "onLoad" or "onUnload" + 1: ARRAY - params passed from "onLoad" or "onUnload" event handler, contains only DISPLAY + 2: STRING - display class + 3: STRING - script path from CfgScriptPaths + + Returns: + NOTHING +*/ + +#define CONFIG_CLASS_VAR "BIS_fnc_initDisplay_configClass" +#define INIT_GAME_VAR "BIS_initGame" + +//--- Register/unregister display +with uiNamespace do +{ + params + [ + ["_mode", "", [""]], + ["_params", []], + ["_class", "", [""]], + ["_path", "default", [""]], + ["_register", true, [true, 0]] + ]; + + _display = _params param [0, displayNull]; + if (isNull _display) exitWith {nil}; + + if (_register isEqualType true) then {_register = parseNumber _register}; + if (_register > 0) then + { + _varDisplays = _path + "_displays"; + _displays = (uiNamespace getVariable [_varDisplays, []]) - [displayNull]; + + if (_mode == "register") exitWith + { + //--- Register current display + _display setVariable [CONFIG_CLASS_VAR, _class]; + uiNamespace setVariable [_class, _display]; + + _displays pushBackUnique _display; + uiNamespace setVariable [_varDisplays, _displays]; + + if !(uiNamespace getVariable [INIT_GAME_VAR, false]) then + { + //--- tell loading screen it can stop using ARMA 3 logo which is shown only before main menu + //--- and start using the classic terrain picture + uiNamespace setVariable [INIT_GAME_VAR, _path == "GUI" && {ctrlIdd _x >= 0} count _displays > 1]; + }; + }; + + if (_mode == "unregister") exitWith + { + //--- Unregister current display + _displays = _displays - [_display]; + uiNamespace setVariable [_varDisplays, _displays]; + }; + }; +}; \ No newline at end of file From 5789a4ee02eff65161883da32733b0a1abd52163 Mon Sep 17 00:00:00 2001 From: Spoffy Date: Fri, 26 May 2023 03:30:14 +0100 Subject: [PATCH 09/34] Rearranges files + adds network sync to veh asset --- mission/config/functions.hpp | 37 +++++++-- ..._package_underwater_wreck_action_local.sqf | 1 - ...h_asset_add_package_wreck_action_local.sqf | 0 .../client/fn_veh_asset_describe_status.sqf | 71 ++++++++++++++++++ ...t_finalise_spawn_point_setup_on_client.sqf | 75 +++++++++++++++++++ ..._package_underwater_wreck_action_local.sqf | 0 ...fn_veh_asset_remove_spawn_point_client.sqf | 23 ++++++ ...asset_setup_package_wreck_action_local.sqf | 1 - .../fn_veh_asset_update_spawn_point_data.sqf | 36 +++++++++ .../fn_veh_asset_can_change_vehicle.sqf | 35 +++++++++ ...asset_get_spawn_point_info_from_config.sqf | 1 + .../fn_veh_asset_3DEN_spawn_point.sqf | 2 + .../fn_veh_asset_add_spawn_point.sqf | 34 +++++---- .../fn_veh_asset_add_unlock_action.sqf | 0 ...eh_asset_assign_vehicle_to_spawn_point.sqf | 2 +- .../server/fn_veh_asset_change_vehicle.sqf | 38 ++++++++++ .../fn_veh_asset_create_spawn_point_id.sqf | 0 .../{ => server}/fn_veh_asset_job.sqf | 0 .../fn_veh_asset_lock_vehicle.sqf | 0 .../fn_veh_asset_marker_create.sqf | 2 +- .../fn_veh_asset_marker_delete.sqf | 0 .../fn_veh_asset_marker_update_position.sqf | 2 +- .../fn_veh_asset_package_wreck.sqf | 4 +- .../fn_veh_asset_process_spawn_point.sqf | 5 +- .../fn_veh_asset_remove_spawn_point.sqf | 6 ++ .../{ => server}/fn_veh_asset_respawn.sqf | 0 .../{ => server}/fn_veh_asset_respawn_job.sqf | 0 .../{ => server}/fn_veh_asset_set_active.sqf | 4 +- .../fn_veh_asset_set_disabled.sqf | 4 +- .../fn_veh_asset_set_global_variable.sqf | 27 +++++++ .../fn_veh_asset_set_global_variables.sqf | 28 +++++++ .../{ => server}/fn_veh_asset_set_idle.sqf | 4 +- .../fn_veh_asset_set_repairing.sqf | 4 +- .../fn_veh_asset_set_respawning.sqf | 4 +- .../{ => server}/fn_veh_asset_set_wrecked.sqf | 4 +- ...n_veh_asset_setup_package_wreck_action.sqf | 0 .../fn_veh_asset_subsystem_init.sqf | 3 + .../fn_veh_asset_unlock_vehicle.sqf | 0 .../network}/fn_packageforslingloading.sqf | 0 39 files changed, 416 insertions(+), 41 deletions(-) rename mission/functions/systems/vehicle_asset_manager/{ => client}/fn_veh_asset_add_package_underwater_wreck_action_local.sqf (95%) rename mission/functions/systems/vehicle_asset_manager/{ => client}/fn_veh_asset_add_package_wreck_action_local.sqf (100%) create mode 100644 mission/functions/systems/vehicle_asset_manager/client/fn_veh_asset_describe_status.sqf create mode 100644 mission/functions/systems/vehicle_asset_manager/client/fn_veh_asset_finalise_spawn_point_setup_on_client.sqf rename mission/functions/systems/vehicle_asset_manager/{ => client}/fn_veh_asset_remove_package_underwater_wreck_action_local.sqf (100%) create mode 100644 mission/functions/systems/vehicle_asset_manager/client/fn_veh_asset_remove_spawn_point_client.sqf rename mission/functions/systems/vehicle_asset_manager/{ => client}/fn_veh_asset_setup_package_wreck_action_local.sqf (97%) create mode 100644 mission/functions/systems/vehicle_asset_manager/client/fn_veh_asset_update_spawn_point_data.sqf create mode 100644 mission/functions/systems/vehicle_asset_manager/global/fn_veh_asset_can_change_vehicle.sqf rename mission/functions/systems/vehicle_asset_manager/{ => global}/fn_veh_asset_get_spawn_point_info_from_config.sqf (93%) rename mission/functions/systems/vehicle_asset_manager/{ => server}/fn_veh_asset_3DEN_spawn_point.sqf (97%) rename mission/functions/systems/vehicle_asset_manager/{ => server}/fn_veh_asset_add_spawn_point.sqf (76%) rename mission/functions/systems/vehicle_asset_manager/{ => server}/fn_veh_asset_add_unlock_action.sqf (100%) rename mission/functions/systems/vehicle_asset_manager/{ => server}/fn_veh_asset_assign_vehicle_to_spawn_point.sqf (92%) create mode 100644 mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_change_vehicle.sqf rename mission/functions/systems/vehicle_asset_manager/{ => server}/fn_veh_asset_create_spawn_point_id.sqf (100%) rename mission/functions/systems/vehicle_asset_manager/{ => server}/fn_veh_asset_job.sqf (100%) rename mission/functions/systems/vehicle_asset_manager/{ => server}/fn_veh_asset_lock_vehicle.sqf (100%) rename mission/functions/systems/vehicle_asset_manager/{ => server}/fn_veh_asset_marker_create.sqf (94%) rename mission/functions/systems/vehicle_asset_manager/{ => server}/fn_veh_asset_marker_delete.sqf (100%) rename mission/functions/systems/vehicle_asset_manager/{ => server}/fn_veh_asset_marker_update_position.sqf (88%) rename mission/functions/systems/vehicle_asset_manager/{ => server}/fn_veh_asset_package_wreck.sqf (91%) rename mission/functions/systems/vehicle_asset_manager/{ => server}/fn_veh_asset_process_spawn_point.sqf (95%) rename mission/functions/systems/vehicle_asset_manager/{ => server}/fn_veh_asset_remove_spawn_point.sqf (67%) rename mission/functions/systems/vehicle_asset_manager/{ => server}/fn_veh_asset_respawn.sqf (100%) rename mission/functions/systems/vehicle_asset_manager/{ => server}/fn_veh_asset_respawn_job.sqf (100%) rename mission/functions/systems/vehicle_asset_manager/{ => server}/fn_veh_asset_set_active.sqf (80%) rename mission/functions/systems/vehicle_asset_manager/{ => server}/fn_veh_asset_set_disabled.sqf (81%) create mode 100644 mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_set_global_variable.sqf create mode 100644 mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_set_global_variables.sqf rename mission/functions/systems/vehicle_asset_manager/{ => server}/fn_veh_asset_set_idle.sqf (80%) rename mission/functions/systems/vehicle_asset_manager/{ => server}/fn_veh_asset_set_repairing.sqf (87%) rename mission/functions/systems/vehicle_asset_manager/{ => server}/fn_veh_asset_set_respawning.sqf (87%) rename mission/functions/systems/vehicle_asset_manager/{ => server}/fn_veh_asset_set_wrecked.sqf (91%) rename mission/functions/systems/vehicle_asset_manager/{ => server}/fn_veh_asset_setup_package_wreck_action.sqf (100%) rename mission/functions/systems/vehicle_asset_manager/{ => server}/fn_veh_asset_subsystem_init.sqf (85%) rename mission/functions/systems/vehicle_asset_manager/{ => server}/fn_veh_asset_unlock_vehicle.sqf (100%) rename mission/functions/systems/vehicle_asset_manager/{ => server/network}/fn_packageforslingloading.sqf (100%) diff --git a/mission/config/functions.hpp b/mission/config/functions.hpp index d1f38b17..c7c7a792 100644 --- a/mission/config/functions.hpp +++ b/mission/config/functions.hpp @@ -292,18 +292,41 @@ class CfgFunctions class tutorial_subsystem_client_init {}; }; - class system_vehicle_asset_manager + class system_vehicle_asset_manager_client { - file = "functions\systems\vehicle_asset_manager"; - class packageforslingloading {}; - class veh_asset_3DEN_spawn_point {}; + file = "functions\systems\vehicle_asset_manager\client"; class veh_asset_add_package_underwater_wreck_action_local {}; class veh_asset_add_package_wreck_action_local {}; + class veh_asset_describe_status {}; + class veh_asset_finalise_spawn_point_setup_on_client {}; + class veh_asset_remove_package_underwater_wreck_action_local {}; + class veh_asset_remove_spawn_point_client {}; + class veh_asset_setup_package_wreck_action_local {}; + class veh_asset_update_spawn_point_data {}; + }; + + class system_vehicle_asset_manager_global + { + file = "functions\systems\vehicle_asset_manager\global"; + class veh_asset_can_change_vehicle {}; + class veh_asset_get_spawn_point_info_from_config {}; + }; + + class system_vehicle_asset_manager_server_network + { + file = "functions\systems\vehicle_asset_manager\server\network"; + class packageforslingloading {}; + }; + + class system_vehicle_asset_manager_server + { + file = "functions\systems\vehicle_asset_manager\server"; + class veh_asset_3DEN_spawn_point {}; class veh_asset_add_spawn_point {}; class veh_asset_add_unlock_action {}; class veh_asset_assign_vehicle_to_spawn_point {}; + class veh_asset_change_vehicle {}; class veh_asset_create_spawn_point_id {}; - class veh_asset_get_spawn_point_info_from_config {}; class veh_asset_job {}; class veh_asset_lock_vehicle {}; class veh_asset_marker_create {}; @@ -311,18 +334,18 @@ class CfgFunctions class veh_asset_marker_update_position {}; class veh_asset_package_wreck {}; class veh_asset_process_spawn_point {}; - class veh_asset_remove_package_underwater_wreck_action_local {}; class veh_asset_remove_spawn_point {}; class veh_asset_respawn {}; class veh_asset_respawn_job {}; class veh_asset_set_active {}; class veh_asset_set_disabled {}; + class veh_asset_set_global_variable {}; + class veh_asset_set_global_variables {}; class veh_asset_set_idle {}; class veh_asset_set_repairing {}; class veh_asset_set_respawning {}; class veh_asset_set_wrecked {}; class veh_asset_setup_package_wreck_action {}; - class veh_asset_setup_package_wreck_action_local {}; class veh_asset_subsystem_init {}; class veh_asset_unlock_vehicle {}; }; diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_add_package_underwater_wreck_action_local.sqf b/mission/functions/systems/vehicle_asset_manager/client/fn_veh_asset_add_package_underwater_wreck_action_local.sqf similarity index 95% rename from mission/functions/systems/vehicle_asset_manager/fn_veh_asset_add_package_underwater_wreck_action_local.sqf rename to mission/functions/systems/vehicle_asset_manager/client/fn_veh_asset_add_package_underwater_wreck_action_local.sqf index 4eccdfdb..397f3e3e 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_add_package_underwater_wreck_action_local.sqf +++ b/mission/functions/systems/vehicle_asset_manager/client/fn_veh_asset_add_package_underwater_wreck_action_local.sqf @@ -7,7 +7,6 @@ Adds package underwater wreck action to the player Parameter(s): - _id - Id of vehicle asset [Number] _target - Object addAction is to be added to [Object] Returns: nothing diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_add_package_wreck_action_local.sqf b/mission/functions/systems/vehicle_asset_manager/client/fn_veh_asset_add_package_wreck_action_local.sqf similarity index 100% rename from mission/functions/systems/vehicle_asset_manager/fn_veh_asset_add_package_wreck_action_local.sqf rename to mission/functions/systems/vehicle_asset_manager/client/fn_veh_asset_add_package_wreck_action_local.sqf diff --git a/mission/functions/systems/vehicle_asset_manager/client/fn_veh_asset_describe_status.sqf b/mission/functions/systems/vehicle_asset_manager/client/fn_veh_asset_describe_status.sqf new file mode 100644 index 00000000..8cceb837 --- /dev/null +++ b/mission/functions/systems/vehicle_asset_manager/client/fn_veh_asset_describe_status.sqf @@ -0,0 +1,71 @@ +/* + File: fn_veh_asset_describe_status.sqf + Author: Spoffy + Date: 2023-05-26 + Last Update: 2023-05-26 + Public: No + + Description: + Creates a text description of a spawnpoint's current status. + + Parameter(s): + _spawnPointId - ID of the spawnpoint whose status should be described [HashMap] + + Returns: + Description of the spawnpoint [String] + + Example(s): + ["32"] call vn_mf_fnc_veh_#sset_describe_status; +*/ + +params ["_spawnPointId"]; + +private _spawnPoint = vn_mf_veh_asset_spawn_points_client get _spawnPointId; + +if (isNil "_spawnPoint") exitWith { "" }; + +private _vehicle = _spawnPoint getOrDefault ["currentVehicle", objNull]; +private _vehicleType = typeOf _vehicle; +private _vehicleName = getText (configFile >> "CfgVehicles" >> _vehicleType >> "displayName"); + +private _status = _spawnPoint getOrDefault ["status", createHashMap]; +private _state = _status getOrDefault ["state", "UNKNOWN"]; + +private _fnc_getTimeRemaining = { + private _endTime = _status getOrDefault ["finishesAt", 0]; + private _timeRemaining = (_endTime - serverTime) max 0; + private _minutes = floor (_timeRemaining / 60); + private _seconds = floor (_timeRemaining - (_minutes * 60)); + if (_minutes > 0) exitWith { + format ["%1 minutes", _minutes]; + }; + + format ["%1 seconds", _seconds]; +}; + +if (_state isEqualTo "IDLE") exitWith { + format ["%1 is currently deployed and not in use.", _vehicleName] +}; + +if (_state isEqualTo "REPAIRING") exitWith { + format ["The vehicle is currently being repaired, and will be finished in %1.", call _fnc_getTimeRemaining]; +}; + +if (_state isEqualTo "RESPAWNING") exitWith { + format ["The vehicle is currently respawning, and will be finished in %1.", call _fnc_getTimeRemaining]; +}; + +if (_state isEqualTo "WRECKED") exitWith { + format ["The %1 is currently wrecked. The wreck needs bringing to a wreck recovery point at the main base or a FOB.", _vehicleName]; +}; + +if (_state isEqualTo "DISABLED") exitWith { + format ["The %1 is currently deployed. However, it's disabled and needs repairs from an engineer.", _vehicleName]; +}; + +if (_state isEqualTo "ACTIVE") exitWith { + format ["The %1 is currently deployed and in use.", _vehicleName]; +}; + + +"The current state of this spawn point is unknown." \ No newline at end of file diff --git a/mission/functions/systems/vehicle_asset_manager/client/fn_veh_asset_finalise_spawn_point_setup_on_client.sqf b/mission/functions/systems/vehicle_asset_manager/client/fn_veh_asset_finalise_spawn_point_setup_on_client.sqf new file mode 100644 index 00000000..41f5a75a --- /dev/null +++ b/mission/functions/systems/vehicle_asset_manager/client/fn_veh_asset_finalise_spawn_point_setup_on_client.sqf @@ -0,0 +1,75 @@ +/* + File: fn_veh_asset_finalise_spawn_point_setup_on_client.sqf + Author: Spoffy + Date: 2023-05-26 + Last Update: 2023-05-26 + Public: No + + Description: + Sets up the client side of a spawn point. + + The spawn point data object should already exist, and have all relevant variables set on it. + + Parameter(s): + _spawnPoint - Spawnpoint to finalise setup for [HashMap] + + Returns: + Nothing + + Example(s): + ["32"] call vn_mf_fnc_veh_asset_finalise_spawn_point_setup_on_client; +*/ + +params ["_spawnPoint"]; + +//============ +// Validation +//============ + +if (isNil "_spawnPoint") exitWith { + ["ERROR", "Attempted to finalise a non-existent spawn point"] call para_g_fnc_log; +}; + +private _requiredVariables = [ + 'settings' +]; + +private _missingVariables = _requiredVariables select {!(_x in _spawnPoint)} apply { + ["ERROR", format ["Missing variable when finalising spawn point %1", _x]] call para_g_fnc_log; + _x +}; + +if (count _missingVariables > 0) exitWith {}; + +//======== +// Logic +//======== + +//TODO Setup change vehicle actions +/* +{ + + +} forEach (_spawnPoint get "settings" getOrDefault ['vehicles', []]); +*/ + +//TODO Setup "return vehicle to spawn" action as zeus + +//TODO Setup interaction overlay +private _name = _spawnPoint get 'settings' get 'name'; +private _vehicles = _spawnPoint get 'settings' get 'vehicles'; +if (_name isEqualTo '' && _vehicles isNotEqualTo []) then { + private _editorSubcategory = (getText (configFile >> 'CfgVehicles' >> (_vehicles # 0) >> 'editorSubcategory')); + _name = getText (configFile >> 'CfgEditorSubcategories' >> _editorSubcategory >> 'displayName'); +}; + + +_spawnPoint get 'object' setVariable ["#para_InteractionOverlay_Data", [ + _name call para_c_fnc_localize, + "", + "%1", + {[ + [_this getVariable "veh_asset_spawnPointId"] call vn_mf_fnc_veh_asset_describe_status + ]}, + true +]]; diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_remove_package_underwater_wreck_action_local.sqf b/mission/functions/systems/vehicle_asset_manager/client/fn_veh_asset_remove_package_underwater_wreck_action_local.sqf similarity index 100% rename from mission/functions/systems/vehicle_asset_manager/fn_veh_asset_remove_package_underwater_wreck_action_local.sqf rename to mission/functions/systems/vehicle_asset_manager/client/fn_veh_asset_remove_package_underwater_wreck_action_local.sqf diff --git a/mission/functions/systems/vehicle_asset_manager/client/fn_veh_asset_remove_spawn_point_client.sqf b/mission/functions/systems/vehicle_asset_manager/client/fn_veh_asset_remove_spawn_point_client.sqf new file mode 100644 index 00000000..dd9800a6 --- /dev/null +++ b/mission/functions/systems/vehicle_asset_manager/client/fn_veh_asset_remove_spawn_point_client.sqf @@ -0,0 +1,23 @@ +/* + File: fn_veh_asset_update_spawn_point_client.sqf + Author: Spoffy + Date: 2023-05-26 + Last Update: 2023-05-26 + Public: No + + Description: + Deletes a spawn point from the client. + + Parameter(s): + _spawnPointId - ID of the spawn point to remove [STRING] + + Returns: + Nothing + + Example(s): + ["32"] remoteExecCall ["vn_mf_fnc_veh_asset_remove_spawn_point_client", 0]; +*/ + +params ["_spawnPoint"]; + +vn_mf_veh_asset_spawn_points_client set [_spawnPoint get "id", _spawnPoint]; \ No newline at end of file diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_setup_package_wreck_action_local.sqf b/mission/functions/systems/vehicle_asset_manager/client/fn_veh_asset_setup_package_wreck_action_local.sqf similarity index 97% rename from mission/functions/systems/vehicle_asset_manager/fn_veh_asset_setup_package_wreck_action_local.sqf rename to mission/functions/systems/vehicle_asset_manager/client/fn_veh_asset_setup_package_wreck_action_local.sqf index 8099263b..e2053531 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_setup_package_wreck_action_local.sqf +++ b/mission/functions/systems/vehicle_asset_manager/client/fn_veh_asset_setup_package_wreck_action_local.sqf @@ -8,7 +8,6 @@ Parameter(s): - _id - Id of vehicle asset [Number] _target - Object addAction is to be added to [Object] Returns: nothing diff --git a/mission/functions/systems/vehicle_asset_manager/client/fn_veh_asset_update_spawn_point_data.sqf b/mission/functions/systems/vehicle_asset_manager/client/fn_veh_asset_update_spawn_point_data.sqf new file mode 100644 index 00000000..2cfc485f --- /dev/null +++ b/mission/functions/systems/vehicle_asset_manager/client/fn_veh_asset_update_spawn_point_data.sqf @@ -0,0 +1,36 @@ +/* + File: fn_veh_asset_update_spawn_point_data.sqf + Author: Spoffy + Date: 2023-05-26 + Last Update: 2023-05-26 + Public: No + + Description: + Updates the hashmap for a specific spawn point. + Allows the server to essentially 'publicVariable' a specific spawn point. + + Parameter(s): + _spawnPoint - Spawnpoint to update [HashMap] + + Returns: + Nothing + + Example(s): + [_spawnPoint] remoteExecCall ["vn_mf_fnc_veh_asset_update_spawn_point_data", 0, format ["vn_mf_spawnpoint_%1", _spawnPoint get "id"]]; +*/ + +params ["_spawnPoint"]; + +private _id = _spawnPoint get "id"; + +if (isNil "vn_mf_veh_asset_spawn_points_client") then { + vn_mf_veh_asset_spawn_points_client = createHashMap; +}; + +private _shouldInitialise = !(_id in vn_mf_veh_asset_spawn_points_client); + +vn_mf_veh_asset_spawn_points_client set [_id, _spawnPoint]; + +if (_shouldInitialise) then { + [_spawnPoint] call vn_mf_fnc_veh_asset_finalise_spawn_point_setup_on_client; +}; \ No newline at end of file diff --git a/mission/functions/systems/vehicle_asset_manager/global/fn_veh_asset_can_change_vehicle.sqf b/mission/functions/systems/vehicle_asset_manager/global/fn_veh_asset_can_change_vehicle.sqf new file mode 100644 index 00000000..06b8f4fc --- /dev/null +++ b/mission/functions/systems/vehicle_asset_manager/global/fn_veh_asset_can_change_vehicle.sqf @@ -0,0 +1,35 @@ +/* + File: fn_veh_asset_can_change_vehicle.sqf + Author: Spoffy + Date: 2023-06-05 + Last Update: 2023-06-05 + Public: No + + Description: + Checks if the vehicle associated with a spawn point can be changed. + + Parameter(s): + _spawnPoint - Spawn point to check [HashMap] + + Returns: + True if the vehicle can be swapped for another, false otherwise [Boolean] + + Example(s): + [_spawnPoint] call vn_mf_fnc_veh_asset_can_change_vehicle; +*/ + +params ["_spawnPoint"]; + +// Vehicle must be in one of these states (e.g, no respawning or repairing) +if !((_spawnPoint get "status" get "state") in ["ACTIVE", "IDLE", "DISABLED"]) exitWith { false }; + +private _vehicle = _spawnPoint getOrDefault ["currentVehicle", objNull]; +private _spawnPos = _spawnPoint get "spawnLocation" get "pos"; + +// Can't be too far from the spawn point +if (getPosASL _vehicle distance2D _spawnPos > vn_mf_veh_asset_vehicle_change_max_distance) exitWith { false }; + +// Can't have an alive player in the vehicle +if (crew _vehicle findIf {alive _x && isPlayer _x} > -1) exitWith { false }; + +true diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_get_spawn_point_info_from_config.sqf b/mission/functions/systems/vehicle_asset_manager/global/fn_veh_asset_get_spawn_point_info_from_config.sqf similarity index 93% rename from mission/functions/systems/vehicle_asset_manager/fn_veh_asset_get_spawn_point_info_from_config.sqf rename to mission/functions/systems/vehicle_asset_manager/global/fn_veh_asset_get_spawn_point_info_from_config.sqf index 43d3d010..fcdd17ca 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_get_spawn_point_info_from_config.sqf +++ b/mission/functions/systems/vehicle_asset_manager/global/fn_veh_asset_get_spawn_point_info_from_config.sqf @@ -22,6 +22,7 @@ params ["_config"]; private _spawnPointInfo = createHashMap; +_spawnPointInfo set ["name", getText (_config >> "name")]; _spawnPointInfo set ["respawnType", getText (_config >> "respawnType")]; _spawnPointInfo set ["time", getNumber (_config >> "time")]; _spawnPointInfo set ["vehicles", "true" configClasses (_config >> "vehicles") apply {configName _x}]; diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_3DEN_spawn_point.sqf b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_3DEN_spawn_point.sqf similarity index 97% rename from mission/functions/systems/vehicle_asset_manager/fn_veh_asset_3DEN_spawn_point.sqf rename to mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_3DEN_spawn_point.sqf index 32e140c3..4c7e677d 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_3DEN_spawn_point.sqf +++ b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_3DEN_spawn_point.sqf @@ -23,6 +23,8 @@ params ["_spawnPointSettings", "_textureSelection"]; +if (!isServer) exitWith {}; + private _synchronizedObjects = synchronizedObjects this; private _spawnLocationObject = objNull; diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_add_spawn_point.sqf b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_add_spawn_point.sqf similarity index 76% rename from mission/functions/systems/vehicle_asset_manager/fn_veh_asset_add_spawn_point.sqf rename to mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_add_spawn_point.sqf index d1f4810b..701ca7d9 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_add_spawn_point.sqf +++ b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_add_spawn_point.sqf @@ -64,26 +64,34 @@ if (isNil "_spawnLocation") exitWith { diag_log format ["VN MikeForce: [ERROR] Unable to create spawn point, no spawn location given: %1 at %2", typeOf _obj, getPos _obj]; }; -private _spawnPoint = createHashMap; - -_spawnPoint set ["id", [] call vn_mf_fnc_veh_asset_create_spawn_point_id]; -_spawnPoint set ["settings", _spawnPointSettings]; -_spawnPoint set ["currentVehicle", objNull]; -_spawnPoint set ["status", createHashMapFromArray [ - ["state", "IDLE"], - ["lastChanged", serverTime] -]]; +private _id = [] call vn_mf_fnc_veh_asset_create_spawn_point_id; + +// Simultaneously create the spawn point on the client and the server. +// Allows us to set variables on server + client at the same time. +private _spawnPoint = createHashMapFromArray [["id", _id]]; + _spawnPoint set ["marker", ""]; _spawnPoint set ["spawnLocation", createHashMapFromArray [ ["pos", _spawnLocation # 0], ["dir", _spawnLocation # 1], ["searchForEmptySpace", false] ]]; -//lastClassSpawned is available, but should be nil on creation -//nextSpawnLocationOverride is available, but shouldn't be in the HashMap by default. It has the same structure as "spawnLocation" +[_spawnPoint, [ + ["object", _obj], + ["settings", _spawnPointSettings], + ["currentVehicle", objNull], + ["status", createHashMapFromArray [ + ["state", "IDLE"], + ["lastChanged", serverTime] + ]] +]] call vn_mf_fnc_veh_asset_set_global_variables; +// Spawn point will be setup on the client here, due to set_global_variables. + +//lastClassSpawned is a spawn point variable, but shouldn't exist by default. +//nextSpawnLocationOverride is a spawn point variable, but shouldn't exist by default. It has the same structure as "spawnLocation" + +_obj setVariable ["veh_asset_spawnPointId", _id, true]; vn_mf_veh_asset_spawn_points set [_spawnPoint get "id", _spawnPoint]; -// TODO - Add actions and status - _spawnPoint \ No newline at end of file diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_add_unlock_action.sqf b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_add_unlock_action.sqf similarity index 100% rename from mission/functions/systems/vehicle_asset_manager/fn_veh_asset_add_unlock_action.sqf rename to mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_add_unlock_action.sqf diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_assign_vehicle_to_spawn_point.sqf b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_assign_vehicle_to_spawn_point.sqf similarity index 92% rename from mission/functions/systems/vehicle_asset_manager/fn_veh_asset_assign_vehicle_to_spawn_point.sqf rename to mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_assign_vehicle_to_spawn_point.sqf index 5a0a709f..ecdeb692 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_assign_vehicle_to_spawn_point.sqf +++ b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_assign_vehicle_to_spawn_point.sqf @@ -18,8 +18,8 @@ params ["_spawnPoint", "_vehicle"]; _vehicle setVariable ["veh_asset_spawnPointId", _spawnPoint get "id", true]; -_spawnPoint set ["currentVehicle", _vehicle]; _spawnPoint set ["lastClassSpawned", typeOf _vehicle]; +[_spawnPoint, "currentVehicle", _vehicle] call vn_mf_fnc_veh_asset_set_global_variable; [_vehicle] call vn_mf_fnc_veh_asset_add_unlock_action; [_spawnPoint] call vn_mf_fnc_veh_asset_set_idle; diff --git a/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_change_vehicle.sqf b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_change_vehicle.sqf new file mode 100644 index 00000000..d83c0a96 --- /dev/null +++ b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_change_vehicle.sqf @@ -0,0 +1,38 @@ +/* + File: fn_veh_asset_change_vehicle.sqf + Author: Spoffy + Date: 2023-06-05 + Last Update: 2023-06-05 + Public: No + + Description: + Changes the vehicle on the given spawn point for another valid vehicle. + + Parameter(s): + _spawnPoint - Spawn point to change the vehicle of [HashMap] + _vehicleClass - Class of vehicle to spawn. Must be present in the spawn point config [String] + + Returns: + The newly created vehicle, or nil if a vehicle can't be created [Object] + + Example(s): + [_spawnpoint] call vn_mf_fnc_veh_asset_change_vehicle; +*/ + +params ["_spawnPoint", "_vehicleClass"]; + +private _canChange = [_spawnPoint] call vn_mf_fnc_veh_asset_can_change_vehicle; + +if !(_canChange) exitWith {}; +if !(_vehicleClass in (_spawnPoint get "settings" get "vehicles")) exitWith { + ["ERROR", "Attempted to spawn invalid vehicle %1 from spawn point %2", _vehicleClass, _spawnPoint get "settings" get "name"] call para_g_fnc_log; +}; + +_spawnPoint set ["lastClassSpawned", _vehicleClass]; + +// Delete it here so the player gets instant feedback, rather than waiting for the respawn job to trigger. +private _oldVehicle = _spawnPoint getOrDefault ["currentVehicle", objNull]; +deleteVehicle _oldVehicle; + +[_spawnPoint, 0] call vn_mf_fnc_veh_asset_set_respawning; + diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_create_spawn_point_id.sqf b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_create_spawn_point_id.sqf similarity index 100% rename from mission/functions/systems/vehicle_asset_manager/fn_veh_asset_create_spawn_point_id.sqf rename to mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_create_spawn_point_id.sqf diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_job.sqf b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_job.sqf similarity index 100% rename from mission/functions/systems/vehicle_asset_manager/fn_veh_asset_job.sqf rename to mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_job.sqf diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_lock_vehicle.sqf b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_lock_vehicle.sqf similarity index 100% rename from mission/functions/systems/vehicle_asset_manager/fn_veh_asset_lock_vehicle.sqf rename to mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_lock_vehicle.sqf diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_marker_create.sqf b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_marker_create.sqf similarity index 94% rename from mission/functions/systems/vehicle_asset_manager/fn_veh_asset_marker_create.sqf rename to mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_marker_create.sqf index 5fece861..140322f6 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_marker_create.sqf +++ b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_marker_create.sqf @@ -18,7 +18,7 @@ params ["_spawnPoint", "_type"]; -private _vehicle = _spawnPoint get ["currentVehicle", objNull]; +private _vehicle = _spawnPoint getOrDefault ["currentVehicle", objNull]; private _textGenerator = [ [_type, _vehicle], diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_marker_delete.sqf b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_marker_delete.sqf similarity index 100% rename from mission/functions/systems/vehicle_asset_manager/fn_veh_asset_marker_delete.sqf rename to mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_marker_delete.sqf diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_marker_update_position.sqf b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_marker_update_position.sqf similarity index 88% rename from mission/functions/systems/vehicle_asset_manager/fn_veh_asset_marker_update_position.sqf rename to mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_marker_update_position.sqf index 784c1bc0..886d81fd 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_marker_update_position.sqf +++ b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_marker_update_position.sqf @@ -19,7 +19,7 @@ params ["_spawnPoint"]; private _marker = _spawnPoint getOrDefault ["marker", ""]; if (_marker == "") exitWith {}; -private _vehicle = _spawnPoint get ["currentVehicle", objNull]; +private _vehicle = _spawnPoint getOrDefault ["currentVehicle", objNull]; [ [_marker, _vehicle], diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_package_wreck.sqf b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_package_wreck.sqf similarity index 91% rename from mission/functions/systems/vehicle_asset_manager/fn_veh_asset_package_wreck.sqf rename to mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_package_wreck.sqf index c4ada53c..360855d7 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_package_wreck.sqf +++ b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_package_wreck.sqf @@ -27,8 +27,8 @@ private _pos = getPos _vehicle; // Swap out the vehicle for a box before deleting the original vehicle. private _box = ["vn_us_komex_medium_01", [0,0,0]] call para_g_fnc_create_vehicle; -_box setVariable ["veh_asset_spawnPointId", _spawnPointId]; -_spawnPoint set ["currentVehicle", _box]; +_box setVariable ["veh_asset_spawnPointId", _spawnPointId, true]; +[_spawnPoint, "currentVehicle", _box] call vn_mf_fnc_veh_asset_set_global_variable; deleteVehicle _vehicle; // Move the box to the vehicle's old position diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_process_spawn_point.sqf b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_process_spawn_point.sqf similarity index 95% rename from mission/functions/systems/vehicle_asset_manager/fn_veh_asset_process_spawn_point.sqf rename to mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_process_spawn_point.sqf index 691f678d..982fb325 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_process_spawn_point.sqf +++ b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_process_spawn_point.sqf @@ -77,7 +77,8 @@ if ((_spawnPoint get "status" get "state") == "WRECKED") then { if (isNull _vehicle) then { // TODO - make this use the actual wreck if possible _vehicle = ["vn_wheeled_m54_01_wreck", ASLtoAGL (_stateData select 1)] call para_g_fnc_create_vehicle; - _spawnPoint set ["currentVehicle", _vehicle]; + _vehicle setVariable ["veh_asset_spawnPointId", _spawnPoint get "id", true]; + [_spawnPoint, "currentVehicle", _vehicle] call vn_mf_fnc_veh_asset_set_global_variable; [_vehicle] call vn_mf_fnc_veh_asset_setup_package_wreck_action; }; @@ -94,7 +95,7 @@ if ((_spawnPoint get "status" get "state") == "WRECKED") then { if (_vehicleDistance <= 20) then { - private _vehicleClass =_spawnPoint get ["lastClassSpawned", _spawnpoint get "settings" get "vehicles" select 0]; + private _vehicleClass =_spawnPoint getOrDefault ["lastClassSpawned", _spawnpoint get "settings" get "vehicles" select 0]; private _vehicleName = [configFile >> "CfgVehicles" >> _vehicleClass] call BIS_fnc_displayName; private _canRecover = [_x, _settings get "time", _vehicleName] call para_s_fnc_bf_wreck_recovery_availablity_check; //check if recovery building can recover. diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_remove_spawn_point.sqf b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_remove_spawn_point.sqf similarity index 67% rename from mission/functions/systems/vehicle_asset_manager/fn_veh_asset_remove_spawn_point.sqf rename to mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_remove_spawn_point.sqf index cad91b6a..3c6fe606 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_remove_spawn_point.sqf +++ b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_remove_spawn_point.sqf @@ -19,5 +19,11 @@ params ["_id"]; vn_mf_veh_asset_spawn_points deleteAt _id; +[_id] remoteExec ["vn_mf_fnc_veh_asset_remove_spawn_point_client", 0]; +// Clear the spawnpoint data update from the JIP queue +remoteExec ["", format ["vn_mf_spawnpoint_%1", _id]]; + +// TODO Cleanup on the client when the spawnpoint is removed. E.g statuses, actions, etc. + //TODO - Remove "package wreck for transport" if wreck has it. //Shouldn't be an issue with our use case... for now. \ No newline at end of file diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_respawn.sqf b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_respawn.sqf similarity index 100% rename from mission/functions/systems/vehicle_asset_manager/fn_veh_asset_respawn.sqf rename to mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_respawn.sqf diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_respawn_job.sqf b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_respawn_job.sqf similarity index 100% rename from mission/functions/systems/vehicle_asset_manager/fn_veh_asset_respawn_job.sqf rename to mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_respawn_job.sqf diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_active.sqf b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_set_active.sqf similarity index 80% rename from mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_active.sqf rename to mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_set_active.sqf index c3cb9c3b..3d14e4f1 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_active.sqf +++ b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_set_active.sqf @@ -16,9 +16,9 @@ params ["_spawnPoint"]; -_spawnPoint set ["status", createHashMapFromArray [ +[_spawnPoint, "status", createHashMapFromArray [ ["state", "ACTIVE"], ["lastChanged", serverTime] -]]; +]] call vn_mf_fnc_veh_asset_set_global_variable; [_spawnPoint] call vn_mf_fnc_veh_asset_marker_delete; \ No newline at end of file diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_disabled.sqf b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_set_disabled.sqf similarity index 81% rename from mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_disabled.sqf rename to mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_set_disabled.sqf index 4371209f..867d07c8 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_disabled.sqf +++ b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_set_disabled.sqf @@ -16,9 +16,9 @@ params ["_spawnPoint"]; -_spawnPoint set ["status", createHashMapFromArray [ +[_spawnPoint, "status", createHashMapFromArray [ ["state", "DISABLED"], ["lastChanged", serverTime] -]]; +]] call vn_mf_fnc_veh_asset_set_global_variable; [_spawnPoint, "DISABLED"] call vn_mf_fnc_veh_asset_marker_create; \ No newline at end of file diff --git a/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_set_global_variable.sqf b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_set_global_variable.sqf new file mode 100644 index 00000000..da9bd5f3 --- /dev/null +++ b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_set_global_variable.sqf @@ -0,0 +1,27 @@ +/* + File: fn_veh_asset_set_global_variable.sqf + Author: Spoffy + Date: 2023-05-26 + Last Update: 2023-05-26 + Public: No + + Description: + Sets a variable on the spawn point, and synchronises it with the client. + + Parameter(s): + _spawnPoint - Spawn point to set variable on [HashMap] + _variable - Variable to set [Any hashmap key] + _value - Value to set variable to [Any] + + Returns: + Nothing + + Example(s): + [_spawnPoint, "currentVehicle", objNull] call vn_mf_fnc_veh_asset_set_global_variable +*/ + +params ["_spawnPoint", "_variable", "_value"]; + +_spawnPoint set [_variable, _value]; + +[_spawnPoint] remoteExec ["vn_mf_fnc_veh_asset_update_spawn_point_data", 0, format ["vn_mf_spawnpoint_%1", _spawnPoint get "id"]]; \ No newline at end of file diff --git a/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_set_global_variables.sqf b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_set_global_variables.sqf new file mode 100644 index 00000000..fdf4e192 --- /dev/null +++ b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_set_global_variables.sqf @@ -0,0 +1,28 @@ +/* + File: fn_veh_asset_set_global_variables.sqf + Author: Spoffy + Date: 2023-05-26 + Last Update: 2023-05-26 + Public: No + + Description: + Sets multiple variable on the spawn point, and synchronises it with the client in a more efficient way than individually setting them. + + Parameter(s): + _spawnPoint - Spawn point to set variable on [HashMap] + _variableValuePairs - Array of 2 element arrays, each containing a variable name and value [Array] + + Returns: + Nothing + + Example(s): + [_spawnPoint, [["currentVehicle", objNull], ["status", "Gone fishing"]]] call vn_mf_fnc_veh_asset_set_global_variables; +*/ + +params ["_spawnPoint", "_variableValuePairs"]; + +private _map = createHashMapFromArray _variableValuePairs; + +_spawnPoint merge [_map, true]; + +[_spawnPoint] remoteExec ["vn_mf_fnc_veh_asset_update_spawn_point_data", 0, format ["vn_mf_spawnpoint_%1", _spawnPoint get "id"]]; \ No newline at end of file diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_idle.sqf b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_set_idle.sqf similarity index 80% rename from mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_idle.sqf rename to mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_set_idle.sqf index 6c0e08ef..b1d63740 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_idle.sqf +++ b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_set_idle.sqf @@ -16,9 +16,9 @@ params ["_spawnPoint"]; -_spawnPoint set ["status", createHashMapFromArray [ +[_spawnPoint, "status", createHashMapFromArray [ ["state", "IDLE"], ["lastChanged", serverTime] -]]; +]] call vn_mf_fnc_veh_asset_set_global_variable; [_spawnPoint] call vn_mf_fnc_veh_asset_marker_delete; \ No newline at end of file diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_repairing.sqf b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_set_repairing.sqf similarity index 87% rename from mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_repairing.sqf rename to mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_set_repairing.sqf index 31658a73..b5e61393 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_repairing.sqf +++ b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_set_repairing.sqf @@ -21,11 +21,11 @@ if (isNil "_repairTime") then { _repairTime = _spawnPoint get "settings" getOrDefault ["time", 0]; }; -_spawnPoint set ["status", createHashMapFromArray [ +[_spawnPoint, "status", createHashMapFromArray [ ["state", "REPAIRING"], ["lastChanged", serverTime], ["finishesAt", serverTime + _repairTime] -]]; +]] call vn_mf_fnc_veh_asset_set_global_variable; [_spawnPoint] call vn_mf_fnc_veh_asset_marker_delete; diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_respawning.sqf b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_set_respawning.sqf similarity index 87% rename from mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_respawning.sqf rename to mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_set_respawning.sqf index 9cb9871c..66cb1a96 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_respawning.sqf +++ b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_set_respawning.sqf @@ -21,10 +21,10 @@ if (isNil "_respawnTime") then { _respawnTime = _spawnPoint get "settings" getOrDefault ["time", 0]; }; -_spawnPoint set ["status", createHashMapFromArray [ +[_spawnPoint, "status", createHashMapFromArray [ ["state", "RESPAWNING"], ["lastChanged", serverTime], ["finishesAt", serverTime + _respawnTime] -]]; +]] call vn_mf_fnc_veh_asset_set_global_variable; [_spawnPoint] call vn_mf_fnc_veh_asset_marker_delete; diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_wrecked.sqf b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_set_wrecked.sqf similarity index 91% rename from mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_wrecked.sqf rename to mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_set_wrecked.sqf index 84a30a93..acac854c 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_set_wrecked.sqf +++ b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_set_wrecked.sqf @@ -24,12 +24,12 @@ if (isNull _vehicle) exitWith { [_spawnPoint] call vn_mf_fnc_veh_asset_set_repairing; }; -_spawnPoint set ["status", createHashMapFromArray [ +[_spawnPoint, "status", createHashMapFromArray [ ["state", "WRECKED"], ["lastChanged", serverTime], ["posASL", getPosASL _vehicle], ["dir", getDir _vehicle] -]]; +]] call vn_mf_fnc_veh_asset_set_global_variable; //Kaboom. We don't want TWO vehicles by accident. if (alive _vehicle) then { diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_setup_package_wreck_action.sqf b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_setup_package_wreck_action.sqf similarity index 100% rename from mission/functions/systems/vehicle_asset_manager/fn_veh_asset_setup_package_wreck_action.sqf rename to mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_setup_package_wreck_action.sqf diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_subsystem_init.sqf b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_subsystem_init.sqf similarity index 85% rename from mission/functions/systems/vehicle_asset_manager/fn_veh_asset_subsystem_init.sqf rename to mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_subsystem_init.sqf index 9d2c1c6b..c13f1cd3 100644 --- a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_subsystem_init.sqf +++ b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_subsystem_init.sqf @@ -33,6 +33,9 @@ vn_mf_veh_asset_lock_all_idle_vehicles = true; vn_mf_veh_asset_lock_idle_vehicle_markers = _lockIdleVehicleMarkers; //Time to re-lock a vehicle vn_mf_veh_asset_relock_time = 30; +//The maximum distance from the spawn point at which a vehicle can be changed for another vehicle type. +vn_mf_veh_asset_vehicle_change_max_distance = 10; +publicVariable "vn_mf_veh_asset_vehicle_change_max_distance"; //Vehicles to respawn var init vn_mf_spawn_points_to_respawn = []; diff --git a/mission/functions/systems/vehicle_asset_manager/fn_veh_asset_unlock_vehicle.sqf b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_unlock_vehicle.sqf similarity index 100% rename from mission/functions/systems/vehicle_asset_manager/fn_veh_asset_unlock_vehicle.sqf rename to mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_unlock_vehicle.sqf diff --git a/mission/functions/systems/vehicle_asset_manager/fn_packageforslingloading.sqf b/mission/functions/systems/vehicle_asset_manager/server/network/fn_packageforslingloading.sqf similarity index 100% rename from mission/functions/systems/vehicle_asset_manager/fn_packageforslingloading.sqf rename to mission/functions/systems/vehicle_asset_manager/server/network/fn_packageforslingloading.sqf From 4dc22f83ff4aae7b099187c89317fa5eb8c54ec9 Mon Sep 17 00:00:00 2001 From: Spoffy Date: Sat, 10 Jun 2023 22:00:42 +0100 Subject: [PATCH 10/34] Adds spawn point loading for new format --- mission/config/functions.hpp | 1 + mission/config/subconfigs/buildables.hpp | 14 +---- mission/config/ui/icons.inc | 16 ++++++ ...asset_get_spawn_point_info_from_config.sqf | 50 ++++++++++++++++- .../fn_veh_asset_load_vehicle_configs.sqf | 55 +++++++++++++++++++ .../server/fn_veh_asset_add_spawn_point.sqf | 2 +- 6 files changed, 124 insertions(+), 14 deletions(-) create mode 100644 mission/config/ui/icons.inc create mode 100644 mission/functions/systems/vehicle_asset_manager/global/fn_veh_asset_load_vehicle_configs.sqf diff --git a/mission/config/functions.hpp b/mission/config/functions.hpp index c7c7a792..648a23dd 100644 --- a/mission/config/functions.hpp +++ b/mission/config/functions.hpp @@ -310,6 +310,7 @@ class CfgFunctions file = "functions\systems\vehicle_asset_manager\global"; class veh_asset_can_change_vehicle {}; class veh_asset_get_spawn_point_info_from_config {}; + class veh_asset_load_vehicle_configs {}; }; class system_vehicle_asset_manager_server_network diff --git a/mission/config/subconfigs/buildables.hpp b/mission/config/subconfigs/buildables.hpp index 9081e62e..26dbc46c 100644 --- a/mission/config/subconfigs/buildables.hpp +++ b/mission/config/subconfigs/buildables.hpp @@ -1,21 +1,11 @@ +#include "..\ui\icons.inc" + #define CONDITION_HAS_RANK { $STR_vn_mf_buildingMenu_condition_hasRank, "player getVariable ['vn_mf_db_rank',0] >= getNumber(_config >> 'rank')"} #define CONDITION_IS_ENGINEER { $STR_vn_mf_buildingMenu_condition_isEngineer, "player getUnitTrait 'engineer'"} #define CONDITION_IS_ON_FOOT { $STR_vn_mf_buildingMenu_condition_rnFoot, "isNull objectParent player"} #define CONDITION_NOT_IN_RESTRICTED_ZONE { $STR_vn_mf_buildingMenu_condition_inRestrictedZone, "vn_mf_markers_blocked_areas findIf {_pos inArea _x} isEqualTo -1"} #define CONDITION_IS_ACAV { $STR_vn_mf_buildingMenu_condition_inACav, "player getVariable ['vn_mf_db_player_group', 'MikeForce'] isEqualTo 'ACAV'"} -//Icon Classes for Vehicle Spawner -#define VEHICLE_ICON_BOAT "\vn\ui_f_vietnam\ui\wheelmenu\img\icons\vn_mf_boat_ca.paa" -#define VEHICLE_ICON_PLANE "\vn\ui_f_vietnam\ui\wheelmenu\img\icons\vn_mf_plane_ca.paa" -#define VEHICLE_ICON_HELO "\vn\ui_f_vietnam\ui\wheelmenu\img\icons\vn_ico_mf_heli_ca.paa" -#define VEHICLE_ICON_CAR "\vn\ui_f_vietnam\ui\wheelmenu\img\icons\vn_ico_mf_car_ca.paa" -#define VEHICLE_ICON_STATIC "\vn\ui_f_vietnam\ui\wheelmenu\img\icons\vn_ico_mf_mg_ca.paa" -#define VEHICLE_ICON_TANK "\vn\ui_f_vietnam\ui\wheelmenu\img\icons\vn_ico_mf_tank_ca.paa" -#define VEHICLE_ICON_TRUCK "\vn\ui_f_vietnam\ui\wheelmenu\img\icons\vn_ico_mf_truck_ca.paa" -#define VEHICLE_ICON_SUPPLY "\vn\ui_f_vietnam\ui\wheelmenu\img\icons\vn_ico_mf_sup_ammo_ca.paa" -#define VEHICLE_ICON_ARMOUR "\vn\ui_f_vietnam\ui\wheelmenu\img\icons\vn_ico_mf_tank_ca.paa" - - //Takes "Capacity" in supply units, and "Lifetime" in seconds. #define DAYS_TO_SECONDS(days) (days * 86400) #define HOURS_TO_SECONDS(hours) (hours * 3600) diff --git a/mission/config/ui/icons.inc b/mission/config/ui/icons.inc new file mode 100644 index 00000000..c8896a46 --- /dev/null +++ b/mission/config/ui/icons.inc @@ -0,0 +1,16 @@ +#ifndef MF_UI_VEHICLE_ICONS + +#define MF_UI_VEHICLE_ICONS + +//Icon Classes for Vehicle Spawner +#define VEHICLE_ICON_BOAT "\vn\ui_f_vietnam\ui\wheelmenu\img\icons\vn_mf_boat_ca.paa" +#define VEHICLE_ICON_PLANE "\vn\ui_f_vietnam\ui\wheelmenu\img\icons\vn_mf_plane_ca.paa" +#define VEHICLE_ICON_HELO "\vn\ui_f_vietnam\ui\wheelmenu\img\icons\vn_ico_mf_heli_ca.paa" +#define VEHICLE_ICON_CAR "\vn\ui_f_vietnam\ui\wheelmenu\img\icons\vn_ico_mf_car_ca.paa" +#define VEHICLE_ICON_STATIC "\vn\ui_f_vietnam\ui\wheelmenu\img\icons\vn_ico_mf_mg_ca.paa" +#define VEHICLE_ICON_TANK "\vn\ui_f_vietnam\ui\wheelmenu\img\icons\vn_ico_mf_tank_ca.paa" +#define VEHICLE_ICON_TRUCK "\vn\ui_f_vietnam\ui\wheelmenu\img\icons\vn_ico_mf_truck_ca.paa" +#define VEHICLE_ICON_SUPPLY "\vn\ui_f_vietnam\ui\wheelmenu\img\icons\vn_ico_mf_sup_ammo_ca.paa" +#define VEHICLE_ICON_ARMOUR "\vn\ui_f_vietnam\ui\wheelmenu\img\icons\vn_ico_mf_tank_ca.paa" + +#endif \ No newline at end of file diff --git a/mission/functions/systems/vehicle_asset_manager/global/fn_veh_asset_get_spawn_point_info_from_config.sqf b/mission/functions/systems/vehicle_asset_manager/global/fn_veh_asset_get_spawn_point_info_from_config.sqf index fcdd17ca..8affd909 100644 --- a/mission/functions/systems/vehicle_asset_manager/global/fn_veh_asset_get_spawn_point_info_from_config.sqf +++ b/mission/functions/systems/vehicle_asset_manager/global/fn_veh_asset_get_spawn_point_info_from_config.sqf @@ -25,6 +25,54 @@ private _spawnPointInfo = createHashMap; _spawnPointInfo set ["name", getText (_config >> "name")]; _spawnPointInfo set ["respawnType", getText (_config >> "respawnType")]; _spawnPointInfo set ["time", getNumber (_config >> "time")]; -_spawnPointInfo set ["vehicles", "true" configClasses (_config >> "vehicles") apply {configName _x}]; + +private _vehicleConfigs = [] call vn_mf_fnc_veh_asset_load_vehicle_configs; +private _vehicles = []; +private _categories = []; + +private _categoryConfigs = "true" configClasses (_config >> "categories"); +{ + private _categoryConfig = _x; + private _category = createHashMap; + _categories pushBack _category; + _category set ["name", getText (_categoryConfig >> "name")]; + _category set ["icon", getText (_categoryConfig >> "icon")]; + _category set ["include", getArray (_categoryConfig >> "include")]; + _category set ["exclude", getArray (_categoryConfig >> "exclude")]; + + private _categoryVehicles = []; + + { + private _requiredTags = _x; + if !(_requiredTags isEqualType []) then { + _requiredTags = [_requiredTags]; + }; + + private _firstTag = _requiredTags # 0; + private _possibleVehicles = (_vehicleConfigs get "vehiclesByTag" getOrDefault [_firstTag, []]); + private _validVehicles = _possibleVehicles select { (_requiredTags - (_x get "tags")) isEqualTo [] }; + _categoryVehicles pushBack _validVehicles; + } forEach (_category get "include"); + + // Faster than using append or pushBack + _categoryVehicles = flatten _categoryVehicles; + + { + private _excludeTags = _x; + if !(_excludeTags isEqualType []) then { + _excludeTags = [_excludeTags]; + }; + + _categoryVehicles = _categoryVehicles select {(_excludeTags - (_x get "tags")) isNotEqualTo []}; + } forEach (_category get "exclude"); + + private _categoryVehicleClasses = _categoryVehicles apply {_x get "classname"}; + + _category set ["vehicles", _categoryVehicleClasses]; + _vehicles append (_categoryVehicleClasses); +} forEach _categoryConfigs; + +_spawnPointInfo set ["categories", _categories]; +_spawnPointInfo set ["vehicles", keys (_vehicles createHashMapFromArray [])]; _spawnPointInfo \ No newline at end of file diff --git a/mission/functions/systems/vehicle_asset_manager/global/fn_veh_asset_load_vehicle_configs.sqf b/mission/functions/systems/vehicle_asset_manager/global/fn_veh_asset_load_vehicle_configs.sqf new file mode 100644 index 00000000..68581f79 --- /dev/null +++ b/mission/functions/systems/vehicle_asset_manager/global/fn_veh_asset_load_vehicle_configs.sqf @@ -0,0 +1,55 @@ +/* + File: fn_veh_asset_load_vehicle_list.sqf + Author: Spoffy + Date: 2023-06-10 + Last Update: 2023-06-10 + Public: No + + Description: + Loads the list of all vehicles from config + + Parameter(s): + None + + Returns: + Vehicle info in a few formats [HashMap] + + Example(s): + [] call vn_mf_fnc_veh_asset_load_vehicle_list +*/ + +private _vehicleList = missionNamespace getVariable "vn_mf_veh_asset_vehicle_configs"; + +if !(isNil "_vehicleList") exitWith { + _vehicleList +}; + +private _config = missionConfigFile >> "gamemode" >> "vehicle_respawn_info" >> "vehicles"; + +private _vehicleConfigs = "true" configClasses _config; +private _vehicles = _vehicleConfigs apply { + createHashMapFromArray [ + ["classname", configName _x], + ["tags", getArray (_x >> 'tags')] + ] +}; + + +private _vehiclesByTag = createHashMap; + +_vehicles select { _x get "tags" isNotEqualTo [] } apply { + private _vehicle = _x; + { + private _vehiclesForTag = _vehiclesByTag getOrDefault [_x, [], true]; + _vehiclesForTag pushBack _vehicle; + } forEach (_x get "tags"); +}; + +private _result = createHashMapFromArray [ + ["vehicles", _vehicles], + ["vehiclesByTag", _vehiclesByTag] +]; + +missionNamespace setVariable ["vn_mf_veh_asset_vehicle_configs", _result]; + +_result \ No newline at end of file diff --git a/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_add_spawn_point.sqf b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_add_spawn_point.sqf index 701ca7d9..718e3049 100644 --- a/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_add_spawn_point.sqf +++ b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_add_spawn_point.sqf @@ -28,7 +28,7 @@ if (_obj getVariable ["veh_asset_isSpawnPoint", false]) exitWith { }; if (_spawnPointSettings isEqualType "") then { - _spawnPointSettings = [missionConfigFile >> "gamemode" >> "vehicle_respawn_info" >> _spawnPointSettings] call vn_mf_fnc_veh_asset_get_spawn_point_info_from_config; + _spawnPointSettings = [missionConfigFile >> "gamemode" >> "vehicle_respawn_info" >> "spawn_point_types" >> _spawnPointSettings] call vn_mf_fnc_veh_asset_get_spawn_point_info_from_config; }; if (_spawnLocation isEqualType objNull) then { From 950ced0ca9dd30e019b9023a4445e63c8209cdc8 Mon Sep 17 00:00:00 2001 From: Spoffy Date: Sat, 10 Jun 2023 22:01:06 +0100 Subject: [PATCH 11/34] Sets up spawn point configs for all CDLC vehicles --- .../subconfigs/vehicle_respawn_info.hpp | 1016 ++++++++++++----- 1 file changed, 709 insertions(+), 307 deletions(-) diff --git a/mission/config/subconfigs/vehicle_respawn_info.hpp b/mission/config/subconfigs/vehicle_respawn_info.hpp index 38afc4fd..f92a79b1 100644 --- a/mission/config/subconfigs/vehicle_respawn_info.hpp +++ b/mission/config/subconfigs/vehicle_respawn_info.hpp @@ -1,320 +1,722 @@ -class respawn_short -{ - respawnType = "RESPAWN"; - time = 10; -}; +#include "..\ui\icons.inc" + +#define RESPAWN_SHORT respawnType = "RESPAWN"; time = 10 +#define RESPAWN_MEDIUM respawnType = "RESPAWN"; time = 30 +#define RESPAWN_LONG respawnType = "RESPAWN"; time = 60 +#define WRECK_SHORT respawnType = "WRECK"; time = 10 +#define WRECK_MEDIUM respawnType = "WRECK"; time = 30 +#define WRECK_LONG respawnType = "WRECK"; time = 60 + +class vehicles { + class vn_b_air_ach47_01_01 { + tags[] = {"ch47","armed","firesupport","helicopter"}; + }; -class respawn_medium -{ - respawnType = "RESPAWN"; - time = 30; -}; + class vn_b_air_ah1g_01 { + tags[] = {"ah1g","armed","firesupport","helicopter"}; + }; -class respawn_long -{ - respawnType = "RESPAWN"; - time = 60; -}; + class vn_b_air_ah1g_06 { + tags[] = {"ah1g","armed","firesupport","helicopter"}; + }; -class wreck_short -{ - respawnType = "WRECK"; - time = 10; -}; + class vn_b_air_ch47_01_01 { + tags[] = {"ch47","armed","transport","helicopter"}; + }; -class wreck_medium -{ - respawnType = "WRECK"; - time = 30; -}; + class vn_b_air_ch47_02_01 { + tags[] = {"ch47","armed","transport","helicopter"}; + }; -class wreck_long -{ - respawnType = "WRECK"; - time = 60; -}; + class vn_b_air_ch47_03_01 { + tags[] = {"ch47","armed","transport","helicopter"}; + }; -class unarmed_m151 : respawn_short { - class vehicles { - class vn_b_wheeled_m151_01 {}; - class vn_b_wheeled_m151_02 {}; + class vn_b_air_ch47_04_01 { + tags[] = {"ch47","armed","transport","helicopter"}; }; -}; -class armed_m151 : respawn_medium { - class vehicles { - class vn_b_wheeled_m151_mg_02 {}; - class vn_b_wheeled_m151_mg_03 {}; - class vn_b_wheeled_m151_mg_04 {}; - class vn_b_wheeled_m151_mg_05 {}; - class vn_b_wheeled_m151_mg_06 {}; + class vn_b_air_f100d_at { + tags[] = {"f100","armed","firesupport","jet"}; + }; + + class vn_b_air_f4c_at { + tags[] = {"f4","armed","firesupport","jet"}; + }; + + class vn_b_air_oh6a_01 { + tags[] = {"oh6a","transport","helicopter"}; + }; + + class vn_b_air_oh6a_02 { + tags[] = {"oh6a","armed","scout","helicopter"}; + }; + + class vn_b_air_oh6a_03 { + tags[] = {"oh6a","armed","scout","helicopter"}; + }; + + class vn_b_air_oh6a_05 { + tags[] = {"oh6a","armed","firesupport","helicopter"}; + }; + + class vn_b_air_uh1b_01_01 { + tags[] = {"uh1","transport","medical", "helicopter"}; + }; + + class vn_b_air_uh1e_03_04 { + tags[] = {"uh1","armed","transport","helicopter"}; + }; + + class vn_b_air_uh1f_01_03 { + tags[] = {"uh1","armed","transport","helicopter"}; + }; + + class vn_b_air_uh1c_07_01 { + tags[] = {"uh1","armed","transport","helicopter"}; + }; + + class vn_b_air_uh1d_02_01 { + tags[] = {"uh1","armed","transport","helicopter"}; + }; + + class vn_b_air_uh1c_01_01 { + tags[] = {"uh1","armed","firesupport","helicopter"}; + }; + + class vn_b_air_uh1c_02_01 { + tags[] = {"uh1","armed","firesupport","helicopter"}; + }; + + class vn_b_air_uh1c_03_01 { + tags[] = {"uh1","armed","firesupport","helicopter"}; + }; + + class vn_b_air_uh1c_04_01 { + tags[] = {"uh1","armed","firesupport","helicopter"}; + }; + + class vn_b_air_uh1c_05_01 { + tags[] = {"uh1","armed","firesupport","helicopter"}; + }; + + class vn_b_air_uh1c_06_01 { + tags[] = {"uh1","armed","firesupport","helicopter"}; + }; + + class vn_b_air_uh1d_01_01 { + tags[] = {"uh1","medical","transport","helicopter"}; + }; + + class vn_b_air_uh1d_03_06 { + tags[] = {"uh1","armed","firesupport","helicopter"}; + }; + + class vn_b_air_uh1e_01_04 { + tags[] = {"uh1","armed","firesupport","helicopter"}; + }; + + class vn_b_air_uh1e_02_04 { + tags[] = {"uh1","armed","firesupport","helicopter"}; + }; + + class vn_i_air_ch34_01_02 { + tags[] = {"ch34","armed","transport","helicopter"}; + }; + + class vn_i_air_ch34_02_02 { + tags[] = {"ch34","armed","transport","helicopter"}; + }; + + class vn_b_air_ch34_03_01 { + tags[] = {"ch34","armed","transport","helicopter"}; + }; + + class vn_b_air_ch34_04_01 { + tags[] = {"ch34","armed","firesupport","helicopter"}; + }; + + class vn_b_armor_m113_01 { + tags[] = {"m113","armed","transport","apc"}; + }; + + class vn_b_armor_m113_acav_01 { + tags[] = {"m113","armed","transport","apc"}; + }; + + class vn_b_armor_m113_acav_02 { + tags[] = {"m113","armed","transport","apc"}; + }; + + class vn_b_armor_m113_acav_03 { + tags[] = {"m113","armed","transport","apc"}; + }; + + class vn_b_armor_m113_acav_04 { + tags[] = {"m113","armed","transport","apc"}; + }; + + class vn_b_armor_m113_acav_05 { + tags[] = {"m113","armed","transport","apc"}; + }; + + class vn_b_armor_m113_acav_06 { + tags[] = {"m113","armed","transport","apc","antitank"}; + }; + + class vn_b_armor_m125_01 { + tags[] = {"m113","armed","firesupport","apc,artillery"}; + }; + + class vn_b_armor_m132_01 { + tags[] = {"m113","armed","firesupport","apc,flamethrower"}; + }; + + class vn_b_armor_m41_01_01 { + tags[] = {"m41a3","armed","firesupport","tank,lighttank","antitank"}; + }; + + class vn_b_armor_m48_01_01 { + tags[] = {"m48a3","armed","firesupport","tank,heavytank","antitank"}; + }; + + class vn_b_armor_m577_01 { + tags[] = {"m577","transport","apc"}; + }; + + class vn_b_armor_m577_02 { + tags[] = {"m577","medical","apc"}; + }; + + class vn_b_armor_m67_01_01 { + tags[] = {"m67a2","armed","firesupport","tank,flamethrower"}; + }; + + class vn_b_army_static_tow { + tags[] = {"bgm71","armed","firesupport","static","antitank"}; + }; + + class vn_b_sf_static_tow { + tags[] = {"bgm71","armed","firesupport","static","antitank"}; + }; + + class vn_b_navy_static_l60mk3 { + tags[] = {"l60","armed","firesupport","static","antiair"}; + }; + + class vn_b_navy_static_l70mk2 { + tags[] = {"l70","armed","firesupport","static","antiair"}; + }; + + class vn_b_army_static_m101_01 { + tags[] = {"m101","armed","firesupport","static","antitank"}; + }; + + class vn_b_army_static_m101_02 { + tags[] = {"m101","armed","firesupport","static","artillery"}; + }; + + class vn_b_army_static_m1919a4_high { + tags[] = {"m1919","armed","firesupport","static","machinegun"}; + }; + + class vn_b_army_static_m1919a4_low { + tags[] = {"m1919","armed","firesupport","static","machinegun"}; + }; + + class vn_b_army_static_m1919a6 { + tags[] = {"m1919","armed","firesupport","static","machinegun"}; + }; + + class vn_b_army_static_mortar_m2 { + tags[] = {"m2","armed","firesupport","static","artillery","mortar"}; + }; + + class vn_b_army_static_mortar_m29 { + tags[] = {"m29","armed","firesupport","static","artillery","mortar"}; + }; + + class vn_b_army_static_m2_high { + tags[] = {"m2hb","armed","firesupport","static","machinegun"}; + }; + + class vn_b_army_static_m2_scoped_high { + tags[] = {"m2hb","armed","firesupport","static","machinegun"}; + }; + + class vn_b_army_static_m2_low { + tags[] = {"m2hb","armed","firesupport","static","machinegun"}; + }; + + class vn_b_army_static_m2_scoped_low { + tags[] = {"m2hb","armed","firesupport","static","machinegun"}; }; -}; -class civilian_cars : respawn_short { - class vehicles { - class vn_c_car_01_01 {}; - class vn_c_car_02_01 {}; - class vn_c_car_03_01 {}; - class vn_c_car_04_01 {}; + class vn_b_army_static_m40a1rr { + tags[] = {"m40","armed","firesupport","static","antitank"}; + }; + + class vn_b_army_static_m45 { + tags[] = {"m45","armed","firesupport","static","antiair"}; + }; + + class vn_b_army_static_m60_high { + tags[] = {"m60","armed","firesupport","static","machinegun"}; + }; + + class vn_b_army_static_m60_low { + tags[] = {"m60","armed","firesupport","static","machinegun"}; + }; + + class vn_b_army_static_mk18 { + tags[] = {"m60","armed","firesupport","static","machinegun"}; + }; + + class vn_b_wheeled_lr2a_01_aus_army { + tags[] = {"dirtranger","transport","car"}; + }; + + class vn_b_wheeled_lr2a_02_aus_army { + tags[] = {"dirtranger","transport","car"}; + }; + + class vn_b_wheeled_lr2a_03_aus_army { + tags[] = {"dirtranger","medical","car"}; + }; + + class vn_b_wheeled_lr2a_mg_01_aus_army { + tags[] = {"dirtranger","armed","firesupport","car"}; + }; + + class vn_b_wheeled_lr2a_mg_02_aus_army { + tags[] = {"dirtranger","armed","firesupport","car"}; + }; + + class vn_b_wheeled_lr2a_mg_03_aus_army { + tags[] = {"dirtranger","armed","firesupport","car","antitank"}; + }; + + class vn_b_wheeled_m151_01 { + tags[] = {"m151a1","transport", "car"}; + }; + + class vn_b_wheeled_m151_02 { + tags[] = {"m151a1","transport", "car"}; + }; + + class vn_b_wheeled_m151_mg_01_rok_army { + tags[] = {"m151a1","armed","firesupport","car"}; + }; + + class vn_b_wheeled_m151_mg_02 { + tags[] = {"m151a1","armed","firesupport","car"}; + }; + + class vn_b_wheeled_m151_mg_02_mp { + tags[] = {"m151a1","armed","firesupport","car"}; + }; + + class vn_b_wheeled_m151_mg_03 { + tags[] = {"m151a1","armed","firesupport","car"}; + }; + + class vn_b_wheeled_m151_mg_04 { + tags[] = {"m151a1","armed","firesupport","car"}; + }; + + class vn_b_wheeled_m151_mg_05 { + tags[] = {"m151a1","armed","firesupport","car","antitank"}; + }; + + class vn_b_wheeled_m151_mg_06 { + tags[] = {"m151a1","armed","firesupport","car","antitank"}; + }; + + class vn_b_wheeled_m274_01_01 { + tags[] = {"m274","transport","car"}; + }; + + class vn_b_wheeled_m274_02_01 { + tags[] = {"m274","transport","car"}; + }; + + class vn_b_wheeled_m274_mg_01_01 { + tags[] = {"m274","armed","firesupport","car"}; + }; + + class vn_b_wheeled_m274_mg_02_01 { + tags[] = {"m274","armed","firesupport","car","antitank"}; + }; + + class vn_b_wheeled_m274_mg_03_01 { + tags[] = {"m274","armed","firesupport","car"}; + }; + + class vn_b_wheeled_m54_01 { + tags[] = {"m54","transport","truck"}; + }; + + class vn_b_wheeled_m54_02 { + tags[] = {"m54","transport","truck"}; + }; + + class vn_b_wheeled_m54_03 { + tags[] = {"m109","transport","truck"}; + }; + + class vn_b_wheeled_m54_ammo { + tags[] = {"m54","ammo","truck"}; + }; + + class vn_b_wheeled_m54_fuel { + tags[] = {"m49","fuel","truck"}; + }; + + class vn_b_wheeled_m54_mg_01 { + tags[] = {"m54","armed","firesupport","truck"}; + }; + + class vn_b_wheeled_m54_mg_02 { + tags[] = {"m54","armed","firesupport","truck","antiair"}; + }; + + class vn_b_wheeled_m54_mg_03 { + tags[] = {"m54","armed","firesupport","truck"}; + }; + + class vn_b_wheeled_m54_repair { + tags[] = {"m54","repair","truck"}; + }; + + class vn_c_bicycle_01 { + tags[] = {"bicycle","civilian","transport","bicycle"}; + }; + + class vn_c_bicycle_02 { + tags[] = {"bicycle","civilian","transport","bicycle"}; + }; + + class vn_c_car_01_01 { + tags[] = {"boheme","civilian","transport","car"}; + }; + + class vn_c_car_01_02 { + tags[] = {"boheme","civilian","transport","car"}; + }; + + class vn_c_car_02_01 { + tags[] = {"boheme","civilian","transport","car"}; + }; + + class vn_c_car_03_01 { + tags[] = {"boheme","civilian","transport","car"}; + }; + + class vn_c_car_04_01 { + tags[] = {"boheme","civilian","transport","car"}; + }; + + class vn_c_wheeled_m151_01 { + tags[] = {"offroad","civilian","transport","car"}; + }; + + class vn_c_wheeled_m151_02 { + tags[] = {"offroad","civilian","transport","car"}; + }; + + class vn_i_armor_type63_01 { + tags[] = {"type63","armed","firesupport","tank,lighttank"}; + }; + + class vn_i_fank_70_static_sgm_high_01 { + tags[] = {"sgm","static","machinegun"}; + }; + + class vn_i_fank_70_static_sgm_low_01 { + tags[] = {"sgm","static","machinegun"}; + }; + + class vn_i_fank_70_static_sgm_low_02 { + tags[] = {"sgm","static","machinegun"}; + }; + + class vn_i_fank_70_static_zgu1_01 { + tags[] = {"zgu1","static","antiair"}; }; }; -//Transport trucks -class vn_b_wheeled_m54_01 : respawn_medium {}; -class vn_b_wheeled_m54_01_airport : respawn_medium {}; -class vn_b_wheeled_m54_02 : respawn_medium {}; -//M109 Command Truck -class vn_b_wheeled_m54_03 : respawn_medium {}; -//Repair Truck -class vn_b_wheeled_m54_repair : wreck_short {}; -class vn_b_wheeled_m54_repair_airport : respawn_short {}; -//Fuel trucks -class vn_b_wheeled_m54_fuel : wreck_short {}; -class vn_b_wheeled_m54_fuel_airport : respawn_short {}; -//Ammo truck -class vn_b_wheeled_m54_ammo : wreck_short {}; -class vn_b_wheeled_m54_ammo_airport : respawn_short {}; -//Gun trucks -class vn_b_wheeled_m54_mg_01 : wreck_short {}; -class vn_b_wheeled_m54_mg_02 : wreck_short {}; -class vn_b_wheeled_m54_mg_03 : wreck_short {}; - -//Armoured Cars -class vn_b_armor_m41_01_01 : wreck_long {}; -class vn_o_armor_type63_01 : wreck_long {}; - -//APC -class vn_b_armor_m113_01 : respawn_medium {}; -class vn_b_armor_m113_acav_01 : wreck_short {}; -class vn_b_armor_m113_acav_02 : wreck_short {}; -class vn_b_armor_m113_acav_03 : wreck_short {}; -class vn_b_armor_m113_acav_04 : wreck_short {}; -class vn_b_armor_m113_acav_05 : wreck_short {}; -class vn_b_armor_m113_acav_06 : wreck_short {}; - -//Wooden boats -class vn_c_boat_01_01 : respawn_short {}; -class vn_c_boat_02_01 : respawn_short {}; - -//US Boats -class vn_b_boat_05_01 : respawn_long {}; -class vn_b_boat_06_01 : respawn_long {}; -class vn_b_boat_09_01 : respawn_medium {}; -class vn_b_boat_10_01 : respawn_medium {}; -class vn_b_boat_11_01 : respawn_medium {}; -class vn_b_boat_12_01 : respawn_medium {}; -class vn_b_boat_13_01 : respawn_medium {}; - -//Air assets -//Cobra Helicopter -class vn_b_air_ah1g_01 : wreck_long {}; -class vn_b_air_ah1g_02 : wreck_long {}; -class vn_b_air_ah1g_03 : wreck_long {}; -class vn_b_air_ah1g_04 : wreck_long {}; -class vn_b_air_ah1g_05 : wreck_long {}; -class vn_b_air_ah1g_06 : wreck_long {}; -class vn_b_air_ah1g_07 : wreck_long {}; -class vn_b_air_ah1g_08 : wreck_long {}; -class vn_b_air_ah1g_09 : wreck_long {}; -class vn_b_air_ah1g_10 : wreck_long {}; - -class vn_b_air_ah1g_01_usmc : wreck_long {}; -class vn_b_air_ah1g_02_usmc : wreck_long {}; -class vn_b_air_ah1g_03_usmc : wreck_long {}; -class vn_b_air_ah1g_04_usmc : wreck_long {}; -class vn_b_air_ah1g_05_usmc : wreck_long {}; -class vn_b_air_ah1g_06_usmc : wreck_long {}; -class vn_b_air_ah1g_07_usmc : wreck_long {}; -class vn_b_air_ah1g_08_usmc : wreck_long {}; -class vn_b_air_ah1g_09_usmc : wreck_long {}; -class vn_b_air_ah1g_10_usmc : wreck_long {}; - -//Choctaw -class vn_b_air_ch34_01_01 : respawn_medium {}; -class vn_b_air_ch34_03_01 : respawn_medium {}; -//Choctaw gunships -class vn_b_air_ch34_04_01 : wreck_medium {}; -class vn_b_air_ch34_04_02 : wreck_medium {}; -class vn_b_air_ch34_04_03 : wreck_medium {}; -class vn_b_air_ch34_04_04 : wreck_medium {}; - -//Littlebird -class C_Heli_Light_01_civil_F : respawn_short {}; -class vn_b_air_oh6a_01 : respawn_short {}; -class vn_b_air_oh6a_02 : wreck_medium {}; -class vn_b_air_oh6a_03 : wreck_medium {}; -class vn_b_air_oh6a_04 : wreck_medium {}; -class vn_b_air_oh6a_05 : wreck_medium {}; -class vn_b_air_oh6a_06 : wreck_medium {}; -class vn_b_air_oh6a_07 : wreck_medium {}; - -//UH1D - Dustoff -class vn_b_air_uh1d_01_01 : respawn_medium {}; -class vn_b_air_uh1d_01_02 : respawn_medium {}; -class vn_b_air_uh1d_01_03 : respawn_medium {}; -class vn_b_air_uh1d_01_04 : respawn_medium {}; -class vn_b_air_uh1d_01_05 : respawn_medium {}; -class vn_b_air_uh1d_01_06 : respawn_medium {}; -class vn_b_air_uh1d_01_07 : respawn_medium {}; - -//UH1D - Slick -class vn_b_air_uh1d_02_01 : respawn_medium {}; -class vn_b_air_uh1d_02_02 : respawn_medium {}; -class vn_b_air_uh1d_02_03 : respawn_medium {}; -class vn_b_air_uh1d_02_04 : respawn_medium {}; -class vn_b_air_uh1d_02_05 : respawn_medium {}; -class vn_b_air_uh1d_02_06 : respawn_medium {}; -class vn_b_air_uh1d_02_07 : respawn_medium {}; - -//UH-1D Bushranger -class vn_b_air_uh1d_03_06 : wreck_medium {}; - -//UH1C - Hog -class vn_b_air_uh1c_01_01 : wreck_medium {}; -class vn_b_air_uh1c_01_02 : wreck_medium {}; -class vn_b_air_uh1c_01_03 : wreck_medium {}; -class vn_b_air_uh1c_01_04 : wreck_medium {}; -class vn_b_air_uh1c_01_05 : wreck_medium {}; -class vn_b_air_uh1c_01_06 : wreck_medium {}; -class vn_b_air_uh1c_01_07 : wreck_medium {}; - -//UH1C - Gunship -class vn_b_air_uh1c_02_01 : wreck_medium {}; -class vn_b_air_uh1c_02_02 : wreck_medium {}; -class vn_b_air_uh1c_02_03 : wreck_medium {}; -class vn_b_air_uh1c_02_04 : wreck_medium {}; -class vn_b_air_uh1c_02_05 : wreck_medium {}; -class vn_b_air_uh1c_02_06 : wreck_medium {}; -class vn_b_air_uh1c_02_07 : wreck_medium {}; - -//UH1C - Hornet -class vn_b_air_uh1c_03_01 : wreck_medium {}; -class vn_b_air_uh1c_03_02 : wreck_medium {}; -class vn_b_air_uh1c_03_03 : wreck_medium {}; -class vn_b_air_uh1c_03_04 : wreck_medium {}; -class vn_b_air_uh1c_03_05 : wreck_medium {}; -class vn_b_air_uh1c_03_06 : wreck_medium {}; -class vn_b_air_uh1c_03_07 : wreck_medium {}; - -//UH1C - Frog -class vn_b_air_uh1c_04_01 : wreck_medium {}; -class vn_b_air_uh1c_04_02 : wreck_medium {}; -class vn_b_air_uh1c_04_03 : wreck_medium {}; -class vn_b_air_uh1c_04_04 : wreck_medium {}; -class vn_b_air_uh1c_04_05 : wreck_medium {}; -class vn_b_air_uh1c_04_06 : wreck_medium {}; -class vn_b_air_uh1c_04_07 : wreck_medium {}; - -//UH1C - Heavy Hog -class vn_b_air_uh1c_05_01 : wreck_medium {}; -class vn_b_air_uh1c_05_02 : wreck_medium {}; -class vn_b_air_uh1c_05_03 : wreck_medium {}; -class vn_b_air_uh1c_05_04 : wreck_medium {}; -class vn_b_air_uh1c_05_05 : wreck_medium {}; -class vn_b_air_uh1c_05_06 : wreck_medium {}; -class vn_b_air_uh1c_05_07 : wreck_medium {}; - -//UH1C - ARA -class vn_b_air_uh1c_06_01 : wreck_medium {}; -class vn_b_air_uh1c_06_02 : wreck_medium {}; - -//UH1B - Slick -class vn_b_air_uh1c_07_01 : respawn_medium {}; - -//UH1E - Heavy Gunship -class vn_b_air_uh1e_02_04 : wreck_medium {}; - -//UH1F - Slick -class vn_b_air_uh1f_01_03 : respawn_medium {}; - -//CH43 - Heavy Transport -class vn_i_air_ch34_01_02 : wreck_medium {}; -class vn_i_air_ch34_02_01 : wreck_medium {}; -class vn_i_air_ch34_02_02 : wreck_medium {}; - -//F4 aircraft -class vn_b_air_f4c_cap : respawn_long {}; -class vn_b_air_f4c_cas : respawn_long {}; -class vn_b_air_f4c_hcas : respawn_long {}; -class vn_b_air_f4c_ehcas : respawn_long {}; -class vn_b_air_f4c_ucas : respawn_long {}; -class vn_b_air_f4c_at : respawn_long {}; -class vn_b_air_f4c_mr : respawn_long {}; -class vn_b_air_f4c_lrbmb : respawn_long {}; -class vn_b_air_f4c_lbmb : respawn_long {}; -class vn_b_air_f4c_bmb : respawn_long {}; -class vn_b_air_f4c_mbmb : respawn_long {}; -class vn_b_air_f4c_hbmb : respawn_long {}; -class vn_b_air_f4c_gbu : respawn_long {}; -class vn_b_air_f4c_cbu : respawn_long {}; -class vn_b_air_f4c_sead : respawn_long {}; -class vn_b_air_f4c_chico : respawn_long {}; -class vn_b_air_f4b_usmc_cap : respawn_long {}; -class vn_b_air_f4b_usmc_cas : respawn_long {}; -class vn_b_air_f4b_usmc_hcas : respawn_long {}; -class vn_b_air_f4b_usmc_ehcas : respawn_long {}; -class vn_b_air_f4b_usmc_ucas : respawn_long {}; -class vn_b_air_f4b_usmc_at : respawn_long {}; -class vn_b_air_f4b_usmc_mr : respawn_long {}; -class vn_b_air_f4b_usmc_lrbmb : respawn_long {}; -class vn_b_air_f4b_usmc_lbmb : respawn_long {}; -class vn_b_air_f4b_usmc_bmb : respawn_long {}; -class vn_b_air_f4b_usmc_mbmb : respawn_long {}; -class vn_b_air_f4b_usmc_hbmb : respawn_long {}; -class vn_b_air_f4b_usmc_gbu : respawn_long {}; -class vn_b_air_f4b_usmc_cbu : respawn_long {}; -class vn_b_air_f4b_usmc_sead : respawn_long {}; -class vn_b_air_f4b_navy_cap : respawn_long {}; -class vn_b_air_f4b_navy_cas : respawn_long {}; -class vn_b_air_f4b_navy_hcas : respawn_long {}; -class vn_b_air_f4b_navy_ehcas : respawn_long {}; -class vn_b_air_f4b_navy_ucas : respawn_long {}; -class vn_b_air_f4b_navy_at : respawn_long {}; -class vn_b_air_f4b_navy_mr : respawn_long {}; -class vn_b_air_f4b_navy_lrbmb : respawn_long {}; -class vn_b_air_f4b_navy_lbmb : respawn_long {}; -class vn_b_air_f4b_navy_bmb : respawn_long {}; -class vn_b_air_f4b_navy_mbmb : respawn_long {}; -class vn_b_air_f4b_navy_hbmb : respawn_long {}; -class vn_b_air_f4b_navy_gbu : respawn_long {}; -class vn_b_air_f4b_navy_cbu : respawn_long {}; -class vn_b_air_f4b_navy_sead : respawn_long {}; - -//Howitzer -class vn_b_army_static_m101_02 : respawn_short {}; -class vn_b_sf_static_m101_02 : respawn_short {}; - -//Unsung -//Unsung Huey -class uns_UH1D_raaf_m60 : respawn_medium {}; -class uns_UH1C_M21_M200 : wreck_medium {}; - -//Chinook -class uns_ch47_m60_army : respawn_medium {}; - -//US Boats -class uns_pbr : respawn_long {}; -class uns_pbr_m10 : respawn_long {}; -class uns_pbr_mk18 : respawn_long {}; - -//Armoured Cars -class uns_xm706e1 : wreck_short {}; -class uns_xm706e2 : wreck_short {}; - -//Trucks -class uns_m37b1 : respawn_medium {}; -class uns_m37b1_m1919 : respawn_medium {}; -class uns_M35A2 : respawn_medium {}; -class uns_M35A2_Open : respawn_medium {}; - -//Jeeps + Small Cars -class uns_willys : respawn_short {}; -class uns_willys_2 : respawn_short {}; -class uns_willysmg50 : respawn_short {}; -class uns_willysm40 : respawn_short {}; -class uns_willysmg : respawn_short {}; -class uns_willys_2_usmp : respawn_short {}; -class uns_willys_2_usmc : respawn_short {}; -class uns_willys_2_m60 : respawn_short {}; -class uns_willys_2_m1919 : respawn_short {}; +class spawn_point_types { + class light_transport { + name = "Light transport"; + RESPAWN_SHORT; + + class categories { + class civilian { + name = "Civilian"; + icon = VEHICLE_ICON_CAR; + include[] = { "civilian" }; + }; + + class dirtranger { + name = "Dirt Ranger"; + icon = VEHICLE_ICON_CAR; + include[] = { { "dirtranger", "transport" } }; + exclude[] = { "armed" }; + }; + + class m151 { + name = "M151A1"; + icon = VEHICLE_ICON_CAR; + include[] = { { "m151", "transport" } }; + exclude[] = { "armed" }; + }; + + class mule { + name = "M274 Mule"; + icon = VEHICLE_ICON_CAR; + include[] = { { "m274", "transport" } }; + exclude[] = { "armed" }; + }; + }; + }; + + class patrol { + name = "Patrol"; + RESPAWN_MEDIUM; + + class categories { + class dirtranger { + name = "Dirt Ranger"; + icon = VEHICLE_ICON_CAR; + include[] = { { "dirtranger", "armed" } }; + exclude[] = { "transport" }; + }; + + class m151 { + name = "M151A1"; + icon = VEHICLE_ICON_CAR; + include[] = { { "m151", "armed" } }; + exclude[] = { "transport" }; + }; + + class mule { + name = "M274 Mule"; + icon = VEHICLE_ICON_CAR; + include[] = { { "m274", "armed" } }; + exclude[] = { "transport" }; + }; + }; + }; + + class transport_apc { + name = "Heavy transport"; + RESPAWN_LONG; + + class categories { + class m113 { + name = "M113"; + icon = VEHICLE_ICON_ARMOUR; + include[] = { { "m113", "transport" } }; + exclude[] = { "firesupport" }; + }; + + class trucks { + name = "Trucks"; + icon = VEHICLE_ICON_TRUCK; + include[] = { { "truck", "transport" } }; + exclude[] = { "firesupport" }; + }; + }; + }; + + class ambulance { + name = "Ambulance"; + RESPAWN_LONG; + + class categories { + class car { + name = "Cars"; + icon = VEHICLE_ICON_CAR; + include[] = { { "car", "medical" } }; + }; + class truck { + name = "Cars"; + icon = VEHICLE_ICON_CAR; + include[] = { { "car", "medical" } }; + }; + }; + }; + + class light_fire_support { + name = "Light fire support"; + WRECK_SHORT; + + class categories { + class trucks { + name = "Trucks"; + icon = VEHICLE_ICON_TRUCK; + include[] = { {"truck", "firesupport" } }; + }; + + class armor { + name = "Armor"; + icon = VEHICLE_ICON_ARMOUR; + include[] = { { "apc", "firesupport" } }; + }; + }; + }; + + class heavy_fire_support { + name = "Heavy fire support"; + WRECK_LONG; + + class categories { + class tanks { + name = "Tanks"; + icon = VEHICLE_ICON_ARMOUR; + include[] = { { "tank" } }; + }; + }; + }; + + class utility { + name = "Utility"; + RESPAWN_SHORT; + + class categories { + class fuel { + name = "Fuel"; + icon = VEHICLE_ICON_TRUCK; + include[] = { "fuel" }; + }; + class ammo { + name = "Ammo"; + icon = VEHICLE_ICON_TRUCK; + include[] = { "ammo" }; + }; + class repair { + name = "Repair"; + icon = VEHICLE_ICON_TRUCK; + include[] = { "repair" }; + }; + }; + }; + + class light_air { + name = "Light air"; + RESPAWN_SHORT; + + class categories { + class cayuse { + name = "OH-6A"; + icon = VEHICLE_ICON_HELO; + include[] = { "oh6a" }; + exclude[] = { "firesupport" }; + }; + class uh1 { + name = "UH-1"; + icon = VEHICLE_ICON_HELO; + include[] = { "uh1" }; + exclude[] = { "firesupport" }; + }; + }; + }; + + class air_transport { + name = "Air transport"; + RESPAWN_MEDIUM; + + class categories { + class ch34 { + name = "CH-34"; + icon = VEHICLE_ICON_HELO; + include[] = { "ch34" }; + exclude[] = { "firesupport" }; + }; + class ch47 { + name = "CH-47"; + icon = VEHICLE_ICON_HELO; + include[] = { "ch47" }; + exclude[] = { "firesupport" }; + }; + }; + }; + + class fire_support { + name = "Air support"; + WRECK_MEDIUM; + + class categories { + class uh1 { + name = "UH-1"; + icon = VEHICLE_ICON_HELO; + include[] = { { "uh1", "firesupport" } }; + }; + class ch34 { + name = "CH-34"; + icon = VEHICLE_ICON_HELO; + include[] = { { "ch34", "firesupport" } }; + }; + }; + }; + + class heavy_fire_support_air { + name = "Heavy air support"; + WRECK_LONG; + + class categories { + class ch47 { + name = "CH-47"; + icon = VEHICLE_ICON_HELO; + include[] = { { "ch47", "firesupport" } }; + }; + class ah1g { + name = "AH-1G"; + icon = VEHICLE_ICON_HELO; + include[] = { { "ah1g", "firesupport" } }; + }; + class uh1 { + name = "UH-1"; + icon = VEHICLE_ICON_HELO; + include[] = { { "uh1", "firesupport" } }; + }; + class ch34 { + name = "CH-34"; + icon = VEHICLE_ICON_HELO; + include[] = { { "ch34", "firesupport" } }; + }; + }; + }; + + class jets { + name = "Jets"; + WRECK_LONG; + + class categories { + class f100 { + name = "F100"; + icon = VEHICLE_ICON_PLANE; + include[] = { { "jet", "f100" } }; + }; + class f4 { + name = "F4 Phantom"; + icon = VEHICLE_ICON_PLANE; + include[] = { { "jet", "f4" } }; + }; + }; + }; + + class artillery { + name = "Artillery"; + WRECK_LONG; + + class categories { + class m101 { + name = "M101"; + icon = VEHICLE_ICON_STATIC; + include[] = { { "static", "artillery" } }; + exclude[] = { "mortar" }; + }; + }; + }; +}; \ No newline at end of file From f76ceba8bb51a81dd880ec58beedc0c7b933b326 Mon Sep 17 00:00:00 2001 From: Spoffy Date: Sun, 11 Jun 2023 01:29:52 +0100 Subject: [PATCH 12/34] Sets up wheel menu actions for vehicle spawning --- mission/config/functions.hpp | 2 + mission/config/subconfigs/rehandler.hpp | 4 ++ .../subconfigs/vehicle_respawn_info.hpp | 14 +++--- ...t_finalise_spawn_point_setup_on_client.sqf | 37 +++++++++++++--- ...eh_asset_request_vehicle_change_client.sqf | 43 +++++++++++++++++++ ...asset_get_spawn_point_info_from_config.sqf | 2 +- ...eh_asset_handle_change_vehicle_request.sqf | 28 ++++++++++++ 7 files changed, 115 insertions(+), 15 deletions(-) create mode 100644 mission/functions/systems/vehicle_asset_manager/client/fn_veh_asset_request_vehicle_change_client.sqf create mode 100644 mission/functions/systems/vehicle_asset_manager/server/network/fn_veh_asset_handle_change_vehicle_request.sqf diff --git a/mission/config/functions.hpp b/mission/config/functions.hpp index 648a23dd..0317250a 100644 --- a/mission/config/functions.hpp +++ b/mission/config/functions.hpp @@ -301,6 +301,7 @@ class CfgFunctions class veh_asset_finalise_spawn_point_setup_on_client {}; class veh_asset_remove_package_underwater_wreck_action_local {}; class veh_asset_remove_spawn_point_client {}; + class veh_asset_request_vehicle_change_client {}; class veh_asset_setup_package_wreck_action_local {}; class veh_asset_update_spawn_point_data {}; }; @@ -317,6 +318,7 @@ class CfgFunctions { file = "functions\systems\vehicle_asset_manager\server\network"; class packageforslingloading {}; + class veh_asset_handle_change_vehicle_request {}; }; class system_vehicle_asset_manager_server diff --git a/mission/config/subconfigs/rehandler.hpp b/mission/config/subconfigs/rehandler.hpp index 8e6e7334..4e58ad05 100644 --- a/mission/config/subconfigs/rehandler.hpp +++ b/mission/config/subconfigs/rehandler.hpp @@ -2,6 +2,10 @@ class arsenalcleanup { fnc = "vn_mf_fnc_arsenal_trash_cleanup"; }; +class change_spawn_point_vehicle +{ + fnc = "vn_mf_fnc_veh_asset_handle_change_vehicle_request"; +}; class changeteam { fnc = "vn_mf_fnc_changeteam"; diff --git a/mission/config/subconfigs/vehicle_respawn_info.hpp b/mission/config/subconfigs/vehicle_respawn_info.hpp index f92a79b1..36b2b8af 100644 --- a/mission/config/subconfigs/vehicle_respawn_info.hpp +++ b/mission/config/subconfigs/vehicle_respawn_info.hpp @@ -451,12 +451,6 @@ class spawn_point_types { RESPAWN_SHORT; class categories { - class civilian { - name = "Civilian"; - icon = VEHICLE_ICON_CAR; - include[] = { "civilian" }; - }; - class dirtranger { name = "Dirt Ranger"; icon = VEHICLE_ICON_CAR; @@ -464,6 +458,12 @@ class spawn_point_types { exclude[] = { "armed" }; }; + class civilian { + name = "Civilian"; + icon = VEHICLE_ICON_CAR; + include[] = { "civilian" }; + }; + class m151 { name = "M151A1"; icon = VEHICLE_ICON_CAR; @@ -495,7 +495,7 @@ class spawn_point_types { class m151 { name = "M151A1"; icon = VEHICLE_ICON_CAR; - include[] = { { "m151", "armed" } }; + include[] = { { "m151a1", "armed" } }; exclude[] = { "transport" }; }; diff --git a/mission/functions/systems/vehicle_asset_manager/client/fn_veh_asset_finalise_spawn_point_setup_on_client.sqf b/mission/functions/systems/vehicle_asset_manager/client/fn_veh_asset_finalise_spawn_point_setup_on_client.sqf index 41f5a75a..1160675c 100644 --- a/mission/functions/systems/vehicle_asset_manager/client/fn_veh_asset_finalise_spawn_point_setup_on_client.sqf +++ b/mission/functions/systems/vehicle_asset_manager/client/fn_veh_asset_finalise_spawn_point_setup_on_client.sqf @@ -45,17 +45,40 @@ if (count _missingVariables > 0) exitWith {}; // Logic //======== -//TODO Setup change vehicle actions -/* -{ - +// ---------------------- +// Wheel menu actions +// ---------------------- +private _vehicleCategories = _spawnPoint get "settings" get "categories"; -} forEach (_spawnPoint get "settings" getOrDefault ['vehicles', []]); -*/ +{ + private _category = _x; + private _submenuActions = _category get "vehicles" apply { + private _vehicle = _x; + createHashMapFromArray [ + ["text", getText (configFile >> "CfgVehicles" >> (_vehicle get "classname") >> "displayName")], + ["iconPath", _vehicle get "icon"], + ["functionArguments", [_spawnPoint get "id", _vehicle get "classname"]], + ["function", "vn_mf_fnc_veh_asset_request_vehicle_change_client"] + ] + }; + + private _categoryAction = createHashMapFromArray [ + ["text", (_category get "name") call para_c_fnc_localize], + ["iconPath", _category get "icon"], + ["submenuActions", _submenuActions] + ]; + + [ + _spawnPoint get "object", + _categoryAction + ] call para_c_fnc_wheel_menu_add_obj_action; +} forEach _vehicleCategories; //TODO Setup "return vehicle to spawn" action as zeus -//TODO Setup interaction overlay +// ---------------------- +// Interaction overlay +// ---------------------- private _name = _spawnPoint get 'settings' get 'name'; private _vehicles = _spawnPoint get 'settings' get 'vehicles'; if (_name isEqualTo '' && _vehicles isNotEqualTo []) then { diff --git a/mission/functions/systems/vehicle_asset_manager/client/fn_veh_asset_request_vehicle_change_client.sqf b/mission/functions/systems/vehicle_asset_manager/client/fn_veh_asset_request_vehicle_change_client.sqf new file mode 100644 index 00000000..02f25b5b --- /dev/null +++ b/mission/functions/systems/vehicle_asset_manager/client/fn_veh_asset_request_vehicle_change_client.sqf @@ -0,0 +1,43 @@ +/* + File: fn_veh_asset_request_vehicle_change_client.sqf + Author: Spoffy + Date: 2023-06-11 + Last Update: 2023-06-11 + Public: No + + Description: + Requests to the change the vehicle on a given spawn point. + + Parameter(s): + _spawnPointId - ID of the spawn point [STRING] + _class - Class of the vehicle to change to [STRING] + + Returns: + Nothing + + Example(s): + ["1", "vn_m151a1_mg_01"] call vn_mf_fnc_veh_asset_request_vehicle_change_client +*/ + +params ["_spawnPointId", "_class"]; + +private _spawnPoint = vn_mf_veh_asset_spawn_points_client get _spawnPointId; + +if (isNil "_spawnPoint") exitWith { "" }; + +private _canChange = [_spawnPoint] call vn_mf_fnc_veh_asset_can_change_vehicle; + +if (!_canChange) exitWith { + [ + [ + "Cannot change vehicle", + "Make sure the vehicle is idle, near to the spawn point and has no players in", + "\A3\ui_f\data\map\mapcontrol\taskIconFailed_ca.paa", + [0, 0, 0], + [1, 0.3, 0.2] + ] + ] call para_c_fnc_postNotification; +}; + +["change_spawn_point_vehicle", [_spawnPointId, _class]] call para_c_fnc_call_on_server; + diff --git a/mission/functions/systems/vehicle_asset_manager/global/fn_veh_asset_get_spawn_point_info_from_config.sqf b/mission/functions/systems/vehicle_asset_manager/global/fn_veh_asset_get_spawn_point_info_from_config.sqf index 8affd909..769b7a68 100644 --- a/mission/functions/systems/vehicle_asset_manager/global/fn_veh_asset_get_spawn_point_info_from_config.sqf +++ b/mission/functions/systems/vehicle_asset_manager/global/fn_veh_asset_get_spawn_point_info_from_config.sqf @@ -68,7 +68,7 @@ private _categoryConfigs = "true" configClasses (_config >> "categories"); private _categoryVehicleClasses = _categoryVehicles apply {_x get "classname"}; - _category set ["vehicles", _categoryVehicleClasses]; + _category set ["vehicles", _categoryVehicles]; _vehicles append (_categoryVehicleClasses); } forEach _categoryConfigs; diff --git a/mission/functions/systems/vehicle_asset_manager/server/network/fn_veh_asset_handle_change_vehicle_request.sqf b/mission/functions/systems/vehicle_asset_manager/server/network/fn_veh_asset_handle_change_vehicle_request.sqf new file mode 100644 index 00000000..d040c50f --- /dev/null +++ b/mission/functions/systems/vehicle_asset_manager/server/network/fn_veh_asset_handle_change_vehicle_request.sqf @@ -0,0 +1,28 @@ +/* + File: fn_veh_asset_handle_change_vehicle_request.sqf + Author: Spoffy + Date: 2023-06-11 + Last Update: 2023-06-11 + Public: No + + Description: + REHandler function, that handles a request from the player to change a spawn point's vehicle. + + Parameter(s): + _spawnPointId - ID of the spawn point to change the vehicle on [STRING] + _vehicleClass - Class of vehicle to change to [STRING] + + Returns: + Nothing + + Example(s): + ["change_spawn_point_vehicle", ["1", "vn_m151a1"]] call para_c_fnc_call_on_server +*/ + +params ["_spawnPointId", "_vehicleClass"]; + +private _spawnPoint = vn_mf_veh_asset_spawn_points get _spawnPointId; + +if (isNil "_spawnPoint") exitWith {}; + +[_spawnPoint, _vehicleClass] call vn_mf_fnc_veh_asset_change_vehicle; \ No newline at end of file From 85db93c43a9d6ccc3360b3d6f2e875b9e3345d89 Mon Sep 17 00:00:00 2001 From: Spoffy Date: Sun, 11 Jun 2023 02:25:25 +0100 Subject: [PATCH 13/34] Makes initial spawn point vehicle random --- .../server/fn_veh_asset_add_spawn_point.sqf | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_add_spawn_point.sqf b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_add_spawn_point.sqf index 718e3049..54fdcd5a 100644 --- a/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_add_spawn_point.sqf +++ b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_add_spawn_point.sqf @@ -77,6 +77,9 @@ _spawnPoint set ["spawnLocation", createHashMapFromArray [ ["searchForEmptySpace", false] ]]; +// Start the spawn point with a random vehicle. +_spawnPoint set ["lastClassSpawned", selectRandom (_spawnPointSettings get "vehicles")]; + [_spawnPoint, [ ["object", _obj], ["settings", _spawnPointSettings], From 101098ee4a8a039682bb60a1b742fcca17569da5 Mon Sep 17 00:00:00 2001 From: Spoffy Date: Sun, 11 Jun 2023 02:25:41 +0100 Subject: [PATCH 14/34] Fixes tanks not having 'tank' tag --- .../subconfigs/vehicle_respawn_info.hpp | 51 ++++++++++++++++--- 1 file changed, 44 insertions(+), 7 deletions(-) diff --git a/mission/config/subconfigs/vehicle_respawn_info.hpp b/mission/config/subconfigs/vehicle_respawn_info.hpp index 36b2b8af..76f999da 100644 --- a/mission/config/subconfigs/vehicle_respawn_info.hpp +++ b/mission/config/subconfigs/vehicle_respawn_info.hpp @@ -173,11 +173,11 @@ class vehicles { }; class vn_b_armor_m41_01_01 { - tags[] = {"m41a3","armed","firesupport","tank,lighttank","antitank"}; + tags[] = {"m41a3","armed","firesupport","tank","lighttank","antitank"}; }; class vn_b_armor_m48_01_01 { - tags[] = {"m48a3","armed","firesupport","tank,heavytank","antitank"}; + tags[] = {"m48a3","armed","firesupport","tank","heavytank","antitank"}; }; class vn_b_armor_m577_01 { @@ -189,7 +189,7 @@ class vehicles { }; class vn_b_armor_m67_01_01 { - tags[] = {"m67a2","armed","firesupport","tank,flamethrower"}; + tags[] = {"m67a2","armed","firesupport","tank","flamethrower"}; }; class vn_b_army_static_tow { @@ -508,7 +508,7 @@ class spawn_point_types { }; }; - class transport_apc { + class transport_heavy { name = "Heavy transport"; RESPAWN_LONG; @@ -529,6 +529,29 @@ class spawn_point_types { }; }; + class transport_trucks { + name = "Large transport"; + RESPAWN_LONG; + + class categories { + class m113 { + name = "M113"; + icon = VEHICLE_ICON_ARMOUR; + include[] = { { "m113", "transport" } }; + exclude[] = { "firesupport" }; + }; + + class trucks { + name = "Trucks"; + icon = VEHICLE_ICON_TRUCK; + include[] = { { "truck", "transport" } }; + exclude[] = { "firesupport" }; + }; + }; + }; + + + class ambulance { name = "Ambulance"; RESPAWN_LONG; @@ -602,7 +625,21 @@ class spawn_point_types { }; }; - class light_air { + class air_scout { + name = "Scout air"; + RESPAWN_SHORT; + + class categories { + class cayuse { + name = "OH-6A"; + icon = VEHICLE_ICON_HELO; + include[] = { "oh6a" }; + exclude[] = { "firesupport" }; + }; + }; + }; + + class air_light { name = "Light air"; RESPAWN_SHORT; @@ -642,7 +679,7 @@ class spawn_point_types { }; }; - class fire_support { + class air_fire_support { name = "Air support"; WRECK_MEDIUM; @@ -660,7 +697,7 @@ class spawn_point_types { }; }; - class heavy_fire_support_air { + class air_heavy_fire_support { name = "Heavy air support"; WRECK_LONG; From 55566f227ccd5a8237426b8bebf01a348acc7935 Mon Sep 17 00:00:00 2001 From: Spoffy Date: Sun, 11 Jun 2023 02:26:02 +0100 Subject: [PATCH 15/34] Converts 'The Bra' to new vehicle spawn points --- maps/vn_the_bra/mission.sqm | 4173 ++++++++++++++++------------------- 1 file changed, 1914 insertions(+), 2259 deletions(-) diff --git a/maps/vn_the_bra/mission.sqm b/maps/vn_the_bra/mission.sqm index 87ef501d..a861584e 100644 --- a/maps/vn_the_bra/mission.sqm +++ b/maps/vn_the_bra/mission.sqm @@ -8,7 +8,7 @@ class EditorData toggles=1537; class ItemIDProvider { - nextID=559; + nextID=636; }; class MarkerIDProvider { @@ -16,14 +16,14 @@ class EditorData }; class LayerIndexProvider { - nextID=320; + nextID=481; }; class Camera { - pos[]={3349.2559,50.78791,4392.5313}; - dir[]={0.11972583,-0.55215305,0.82510179}; - up[]={0.079289421,0.83374274,0.54643047}; - aside[]={0.98963594,0,-0.14360043}; + pos[]={3286.269,66.490005,4353.7139}; + dir[]={0,-0.70710683,0.70710671}; + up[]={0,0.70710665,0.70710677}; + aside[]={0.99999994,0,-0}; }; }; binarizationWanted=0; @@ -31,31 +31,25 @@ sourceName="vn_mikeforce_indev"; addons[]= { "modules_f_vietnam", - "A3_Modules_F", "A3_Modules_F_Curator_Curator", "A3_Characters_F", "A3_Ui_F", "objects_f_vietnam_c", - "wheeled_f_vietnam_c", - "armor_f_vietnam_c", - "wheeled_f_vietnam_02_c", - "armor_f_vietnam_02_c", "structures_f_vietnam_c", "A3_Structures_F_Heli_Civ_Constructions", "weapons_f_vietnam_c", + "wheeled_f_vietnam_c", "A3_Structures_F_Items_Tools", "characters_f_vietnam_c", "sounds_f_vietnam_c", - "static_f_vietnam_c", - "air_f_vietnam_c", - "wheeled_f_vietnam_03_c", - "air_f_vietnam_02_c" + "A3_Misc_F_Helpers", + "A3_Modules_F" }; class AddonsMetaData { class List { - items=20; + items=14; class Item0 { className="modules_f_vietnam"; @@ -64,136 +58,94 @@ class AddonsMetaData url="https://www.arma3.com"; }; class Item1 - { - className="A3_Modules_F"; - name="Arma 3 Alpha - Scripted Modules"; - author="Bohemia Interactive"; - url="https://www.arma3.com"; - }; - class Item2 { className="A3_Modules_F_Curator"; name="Arma 3 Zeus Update - Scripted Modules"; author="Bohemia Interactive"; url="https://www.arma3.com"; }; - class Item3 + class Item2 { className="A3_Characters_F"; name="Arma 3 Alpha - Characters and Clothing"; author="Bohemia Interactive"; url="https://www.arma3.com"; }; - class Item4 + class Item3 { className="A3_Ui_F"; name="Arma 3 - User Interface"; author="Bohemia Interactive"; url="https://www.arma3.com"; }; - class Item5 + class Item4 { className="objects_f_vietnam_c"; name="objects_f_vietnam_c"; author="Savage Game Design"; url="https://www.arma3.com"; }; - class Item6 - { - className="wheeled_f_vietnam_c"; - name="wheeled_f_vietnam_c"; - author="Savage Game Design"; - url="https://www.arma3.com"; - }; - class Item7 - { - className="armor_f_vietnam_c"; - name="armor_f_vietnam_c"; - author="Savage Game Design"; - url="https://www.arma3.com"; - }; - class Item8 - { - className="wheeled_f_vietnam_02_c"; - name="wheeled_f_vietnam_02_c"; - author="Savage Game Design"; - url="https://www.arma3.com"; - }; - class Item9 - { - className="armor_f_vietnam_02_c"; - name="armor_f_vietnam_02_c"; - author="Savage Game Design"; - url="https://www.arma3.com"; - }; - class Item10 + class Item5 { className="structures_f_vietnam_c"; name="structures_f_vietnam_c"; author="Savage Game Design"; url="https://www.arma3.com"; }; - class Item11 + class Item6 { className="A3_Structures_F_Heli"; name="Arma 3 Helicopters - Buildings and Structures"; author="Bohemia Interactive"; url="https://www.arma3.com"; }; - class Item12 + class Item7 { className="weapons_f_vietnam_c"; name="weapons_f_vietnam_c"; author="Savage Game Design"; url="https://www.arma3.com"; }; - class Item13 + class Item8 + { + className="wheeled_f_vietnam_c"; + name="wheeled_f_vietnam_c"; + author="Savage Game Design"; + url="https://www.arma3.com"; + }; + class Item9 { className="A3_Structures_F"; name="Arma 3 - Buildings and Structures"; author="Bohemia Interactive"; url="https://www.arma3.com"; }; - class Item14 + class Item10 { className="characters_f_vietnam_c"; name="characters_f_vietnam_c"; author="Savage Game Design"; url="https://www.arma3.com"; }; - class Item15 + class Item11 { className="sounds_f_vietnam_c"; name="sounds_f_vietnam_c"; author="Savage Game Design"; url="https://www.arma3.com"; }; - class Item16 - { - className="static_f_vietnam_c"; - name="static_f_vietnam_c"; - author="Savage Game Design"; - url="https://www.arma3.com"; - }; - class Item17 - { - className="air_f_vietnam_c"; - name="air_f_vietnam_c"; - author="Savage Game Design"; - url="https://www.arma3.com"; - }; - class Item18 + class Item12 { - className="wheeled_f_vietnam_03_c"; - name="wheeled_f_vietnam_03_c"; - author="Savage Game Design"; + className="A3_Misc_F"; + name="Arma 3 - 3D Aids and Helpers"; + author="Bohemia Interactive"; url="https://www.arma3.com"; }; - class Item19 + class Item13 { - className="air_f_vietnam_02_c"; - name="air_f_vietnam_02_c"; - author="Savage Game Design"; + className="A3_Modules_F"; + name="Arma 3 Alpha - Scripted Modules"; + author="Bohemia Interactive"; url="https://www.arma3.com"; }; }; @@ -249,13 +201,7 @@ class CustomAttributes { class data { - class type - { - type[]= - { - "ARRAY" - }; - }; + singleType="ARRAY"; }; }; }; @@ -286,7 +232,7 @@ class Mission }; class Entities { - items=87; + items=93; class Item0 { dataType="Layer"; @@ -1056,13 +1002,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=0; }; }; @@ -1075,13 +1015,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="['vn_b_item_firstaidkit','vn_o_item_firstaidkit', 'FirstAidKit', 'MediKit']"; }; }; @@ -1094,13 +1028,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1; }; }; @@ -1113,13 +1041,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=0; }; }; @@ -1132,13 +1054,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=300; }; }; @@ -1151,13 +1067,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="['vn_b_item_firstaidkit','vn_o_item_firstaidkit', 'FirstAidKit', 'MediKit']"; }; }; @@ -1170,13 +1080,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=5; }; }; @@ -1189,13 +1093,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=1; }; }; @@ -1208,13 +1106,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=100; }; }; @@ -1227,13 +1119,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1; }; }; @@ -1246,13 +1132,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=75; }; }; @@ -1265,13 +1145,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=80; }; }; @@ -1284,13 +1158,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=50; }; }; @@ -1303,13 +1171,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=75; }; }; @@ -1337,13 +1199,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="[""Land_vn_us_vehicleammo"", ""Land_vn_usaf_fueltank_75_01""]"; }; }; @@ -1356,13 +1212,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="[""Land_vn_us_vehicleammo"", ""Land_vn_usaf_fueltank_75_01""]"; }; }; @@ -1375,13 +1225,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="[""Land_vn_us_vehicleammo"", ""Land_vn_usaf_fueltank_75_01""]"; }; }; @@ -1390,17 +1234,6 @@ class Mission }; }; class Item6 - { - dataType="Logic"; - class PositionInfo - { - position[]={3301.3516,39.720001,4258.9707}; - }; - name="vn_mf_veh_asset_logic"; - id=116; - type="Logic"; - }; - class Item7 { dataType="Logic"; class PositionInfo @@ -1421,13 +1254,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="#adminLogged"; }; }; @@ -1440,13 +1267,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=0; }; }; @@ -1459,13 +1280,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Zeus (Admin)"; }; }; @@ -1478,13 +1293,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=3; }; }; @@ -1492,7 +1301,7 @@ class Mission nAttributes=4; }; }; - class Item8 + class Item7 { dataType="Logic"; class PositionInfo @@ -1505,7 +1314,7 @@ class Mission type="HeadlessClient_F"; atlOffset=0.18234253; }; - class Item9 + class Item8 { dataType="Logic"; class PositionInfo @@ -1518,7 +1327,7 @@ class Mission id=119; type="HeadlessClient_F"; }; - class Item10 + class Item9 { dataType="Logic"; class PositionInfo @@ -1532,7 +1341,7 @@ class Mission type="HeadlessClient_F"; atlOffset=0.014396667; }; - class Item11 + class Item10 { dataType="Logic"; class PositionInfo @@ -1553,20 +1362,14 @@ class Mission class data { nil=1; - class type - { - type[]= - { - "ANY" - }; - }; + singleType="ANY"; }; }; }; nAttributes=1; }; }; - class Item12 + class Item11 { dataType="Logic"; class PositionInfo @@ -1586,13 +1389,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=25; }; }; @@ -1600,7 +1397,7 @@ class Mission nAttributes=1; }; }; - class Item13 + class Item12 { dataType="Logic"; class PositionInfo @@ -1621,13 +1418,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=0; }; }; @@ -1640,13 +1431,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=2; }; }; @@ -1659,13 +1444,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="[""vn_mikeforce""]"; }; }; @@ -1678,13 +1457,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1; }; }; @@ -1692,14 +1465,14 @@ class Mission nAttributes=4; }; }; - class Item14 + class Item13 { dataType="Layer"; name="Easter Eggs"; id=124; atlOffset=-29.639999; }; - class Item15 + class Item14 { dataType="Layer"; name="Zones"; @@ -1962,7 +1735,7 @@ class Mission id=125; atlOffset=155.16876; }; - class Item16 + class Item15 { dataType="Marker"; position[]={3234.6553,153.6004,4278.1333}; @@ -1973,7 +1746,7 @@ class Mission id=126; atlOffset=113.9404; }; - class Item17 + class Item16 { dataType="Marker"; position[]={3330.448,153.67593,4384.7959}; @@ -1984,14 +1757,14 @@ class Mission id=129; atlOffset=110.68593; }; - class Item18 + class Item17 { dataType="Layer"; name="Players"; id=193; atlOffset=-29.639999; }; - class Item19 + class Item18 { dataType="Layer"; name="Arsenals"; @@ -2025,13 +1798,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -2066,13 +1833,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -2107,13 +1868,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -2147,13 +1902,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -2165,7 +1914,7 @@ class Mission id=196; atlOffset=1.6050606; }; - class Item20 + class Item19 { dataType="Marker"; position[]={3322.9866,129.6225,4391.4292}; @@ -2176,7 +1925,7 @@ class Mission id=197; atlOffset=86.632492; }; - class Item21 + class Item20 { dataType="Marker"; position[]={3325.6526,137.98946,4376.6196}; @@ -2188,7 +1937,7 @@ class Mission id=199; atlOffset=94.999451; }; - class Item22 + class Item21 { dataType="Marker"; position[]={3339.7661,136.14734,4378.0962}; @@ -2200,7 +1949,7 @@ class Mission id=200; atlOffset=93.157333; }; - class Item23 + class Item22 { dataType="Marker"; position[]={3190.6536,115.552,4293.521}; @@ -2214,7 +1963,7 @@ class Mission id=201; atlOffset=75.891998; }; - class Item24 + class Item23 { dataType="Marker"; position[]={3337.4041,140.24379,4378.3154}; @@ -2224,7 +1973,7 @@ class Mission id=203; atlOffset=97.253784; }; - class Item25 + class Item24 { dataType="Marker"; position[]={3322.2263,140.55472,4392.8491}; @@ -2235,7 +1984,7 @@ class Mission id=204; atlOffset=97.564713; }; - class Item26 + class Item25 { dataType="Marker"; position[]={3325.7202,118.37007,4379.2417}; @@ -2245,7 +1994,7 @@ class Mission id=206; atlOffset=75.31041; }; - class Item27 + class Item26 { dataType="Marker"; position[]={3235.0828,129.67668,4274.5361}; @@ -2255,7 +2004,7 @@ class Mission id=207; atlOffset=90.001434; }; - class Item28 + class Item27 { dataType="Marker"; position[]={3216.1121,114.29787,4288.0981}; @@ -2265,7 +2014,7 @@ class Mission id=208; atlOffset=74.637863; }; - class Item29 + class Item28 { dataType="Marker"; position[]={3190.7747,104.39438,4293.5083}; @@ -2275,7 +2024,7 @@ class Mission id=209; atlOffset=64.734375; }; - class Item30 + class Item29 { dataType="Marker"; position[]={3206.5876,133.9577,4261.8174}; @@ -2285,7 +2034,7 @@ class Mission id=210; atlOffset=94.297699; }; - class Item31 + class Item30 { dataType="Marker"; position[]={3235.2048,130.47818,4273.3555}; @@ -2297,7 +2046,7 @@ class Mission id=198; atlOffset=90.76059; }; - class Item32 + class Item31 { dataType="Marker"; position[]={3358.7292,137.79372,4318.7036}; @@ -2308,7 +2057,7 @@ class Mission id=216; atlOffset=98.128532; }; - class Item33 + class Item32 { dataType="Marker"; position[]={3355.3123,137.32648,4311.5659}; @@ -2319,432 +2068,435 @@ class Mission id=217; atlOffset=97.622742; }; - class Item34 + class Item33 { dataType="Layer"; name="Vehicles"; + id=221; + atlOffset=-29.639999; + }; + class Item34 + { + dataType="Layer"; + name="Rearm Points"; class Entities { - items=23; + items=7; class Item0 { dataType="Object"; class PositionInfo { - position[]={3321.9377,41.475052,4342.7266}; - angles[]={0,3.109699,0}; + position[]={3205.2058,41.464542,4297.479}; + angles[]={0,1.4246475,0}; }; side="Empty"; - flags=4; + flags=5; class Attributes { - init="[this, [""ACAV""]] call vn_mf_fnc_lock_vehicle_to_teams;"; + disableSimulation=1; + }; + id=225; + type="Land_vn_usaf_fueltank_75_01"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=259; - type="vn_b_wheeled_m54_repair"; - atlOffset=-0.020717621; }; class Item1 { dataType="Object"; class PositionInfo { - position[]={3322.7876,41.542183,4325.7534}; - angles[]={0,3.0983913,0}; + position[]={3205.188,39.620438,4288.8125}; + angles[]={0,1.2293673,0}; }; side="Empty"; flags=4; class Attributes { - init="[this, [""ACAV""]] call vn_mf_fnc_lock_vehicle_to_teams;"; + disableSimulation=1; + }; + id=226; + type="Land_vn_us_vehicleammo"; + atlOffset=-0.037212372; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=260; - type="vn_b_wheeled_m54_fuel"; - atlOffset=-0.024551392; }; class Item2 { dataType="Object"; class PositionInfo { - position[]={3314.0522,43.462746,4357.4629}; - angles[]={0,2.33266,6.2591896}; + position[]={3218.6948,41.512333,4252.561}; + angles[]={0,5.7326913,0}; }; side="Empty"; - flags=4; + flags=5; class Attributes { - init="[this, [""ACAV""]] call vn_mf_fnc_lock_vehicle_to_teams;"; + disableSimulation=1; + }; + id=243; + type="Land_vn_usaf_fueltank_75_01"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=261; - type="vn_b_wheeled_m54_ammo"; - atlOffset=0.018287659; }; class Item3 { dataType="Object"; class PositionInfo { - position[]={3415.0342,42.310406,4302.2539}; - angles[]={0,4.6202354,0}; + position[]={3229.6108,39.803745,4261.0049}; + angles[]={0,3.9138196,0}; }; side="Empty"; flags=4; class Attributes { - init="call{[this, [""ACAV""]] call vn_mf_fnc_lock_vehicle_to_teams;}"; + disableSimulation=1; + }; + id=244; + type="Land_vn_us_vehicleammo"; + atlOffset=0.14609528; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=262; - type="vn_b_wheeled_m54_mg_03"; }; class Item4 { dataType="Object"; class PositionInfo { - position[]={3409.1365,42.201096,4346.5732}; - angles[]={0,3.0880039,0}; + position[]={3334.469,41.49688,4293.8394}; + angles[]={0,6.2592683,0}; }; side="Empty"; + flags=5; class Attributes { - init="[this, [""ACAV""]] call vn_mf_fnc_lock_vehicle_to_teams;"; + disableSimulation=1; + }; + id=278; + type="Land_vn_usaf_fueltank_75_01"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=263; - type="vn_b_wheeled_m54_01"; - atlOffset=0.48197174; }; class Item5 { dataType="Object"; class PositionInfo { - position[]={3409.9419,41.687485,4337.0195}; - angles[]={0,3.1248374,0}; + position[]={3194.311,39.65765,4251.2725}; + angles[]={0,0.02702947,0}; }; side="Empty"; flags=4; class Attributes { - init="[this, [""ACAV""]] call vn_mf_fnc_lock_vehicle_to_teams;"; + disableSimulation=1; + }; + id=299; + type="Land_vn_us_vehicleammo"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=266; - type="vn_b_wheeled_m54_01"; }; class Item6 { dataType="Object"; class PositionInfo { - position[]={3416.1331,41.687485,4347.2427}; - angles[]={0,3.1026218,0}; + position[]={3187.6313,41.464542,4259.5439}; + angles[]={0,6.2458639,0}; }; side="Empty"; - flags=4; + flags=5; class Attributes { - init="[this, [""ACAV""]] call vn_mf_fnc_lock_vehicle_to_teams;"; + disableSimulation=1; + }; + id=332; + type="Land_vn_usaf_fueltank_75_01"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=264; - type="vn_b_wheeled_m54_02"; }; - class Item7 + }; + id=224; + atlOffset=0.014087677; + }; + class Item35 + { + dataType="Layer"; + name="Vehicles_1"; + id=251; + atlOffset=-29.639999; + }; + class Item36 + { + dataType="Layer"; + name="Wreck Bay"; + class Entities + { + items=18; + class Item0 { dataType="Object"; class PositionInfo { - position[]={3416.7964,41.679283,4336.7275}; - angles[]={0,3.1289256,0}; + position[]={3204.2087,40.072845,4315.6592}; + angles[]={0.047963165,4.8309932,0}; }; side="Empty"; flags=4; class Attributes { - init="[this, [""ACAV""]] call vn_mf_fnc_lock_vehicle_to_teams;"; + createAsSimpleObject=1; + disableSimulation=1; + }; + id=310; + type="Land_ToolTrolley_02_F"; + atlOffset=-0.0056114197; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=267; - type="vn_b_wheeled_m54_02"; - atlOffset=-0.0082015991; }; - class Item8 + class Item1 { dataType="Object"; class PositionInfo { - position[]={3414.0139,42.293976,4306.5586}; - angles[]={6.2631865,4.6182756,0.019999012}; + position[]={3194.0371,40.344574,4309.4224}; + angles[]={0,3.9234743,0}; }; side="Empty"; flags=4; class Attributes { - init="call{[this, [""ACAV""]] call vn_mf_fnc_lock_vehicle_to_teams;}"; + createAsSimpleObject=1; + disableSimulation=1; + }; + id=311; + type="Land_WeldingTrolley_01_F"; + atlOffset=-0.010993958; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=270; - type="vn_b_armor_m41_01_01"; - atlOffset=-0.014560699; }; - class Item9 + class Item2 { dataType="Object"; class PositionInfo { - position[]={3367.0879,41.182255,4315.7021}; - angles[]={0,3.1990349,0}; + position[]={3201.2178,39.66,4302.8945}; + angles[]={0,5.6095471,0}; }; side="Empty"; flags=4; class Attributes { + disableSimulation=1; + }; + id=312; + type="Land_vn_usaf_fueltank_10_case_01"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=338; - type="vn_b_wheeled_m151_02"; }; - class Item10 + class Item3 { dataType="Object"; class PositionInfo { - position[]={3361.752,41.213051,4315.563}; - angles[]={0.0080009829,3.0684319,0.0039967569}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=337; - type="vn_b_wheeled_m151_02"; - atlOffset=-0.0017662048; - }; - class Item11 - { - dataType="Object"; - class PositionInfo - { - position[]={3318.563,41.199078,4278.9409}; - angles[]={0,2.9952788,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=343; - type="vn_c_car_04_01"; - atlOffset=-0.0012321472; - }; - class Item12 - { - dataType="Object"; - class PositionInfo - { - position[]={3372.1736,41.738792,4316.2656}; - angles[]={0,3.0809853,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=336; - type="vn_b_wheeled_m151_mg_02"; - }; - class Item13 - { - dataType="Object"; - class PositionInfo - { - position[]={3377.6719,41.699551,4316.6943}; - angles[]={0,2.9854913,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=335; - type="vn_b_wheeled_m151_mg_04"; - }; - class Item14 - { - dataType="Object"; - class PositionInfo - { - position[]={3322.7322,40.984013,4279.001}; - angles[]={0,3.1518345,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=341; - type="vn_c_car_02_01"; - }; - class Item15 - { - dataType="Object"; - class PositionInfo - { - position[]={3326.5437,41.073555,4278.5015}; - angles[]={0,6.1360292,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=340; - type="vn_c_car_03_01"; - atlOffset=-0.0011291504; - }; - class Item16 - { - dataType="Object"; - class PositionInfo - { - position[]={3330.9763,41.04348,4278.9214}; - angles[]={0,3.1684823,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=339; - type="vn_c_car_01_01"; - }; - class Item17 - { - dataType="Object"; - class PositionInfo - { - position[]={3404.8477,42.389935,4305.9258}; - angles[]={0,4.6182756,0.039977662}; - }; - side="Empty"; - flags=4; - class Attributes - { - init="call{[this, [""ACAV""]] call vn_mf_fnc_lock_vehicle_to_teams;}"; - }; - id=488; - type="vn_b_armor_m41_01_01"; - atlOffset=-0.002117157; - }; - class Item18 - { - dataType="Object"; - class PositionInfo - { - position[]={3405.2146,42.216881,4301.6187}; - angles[]={0,4.6202354,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - init="call{[this, [""ACAV""]] call vn_mf_fnc_lock_vehicle_to_teams;}"; - }; - id=492; - type="vn_b_wheeled_m54_mg_01"; - atlOffset=-0.0020446777; - }; - class Item19 - { - dataType="Object"; - class PositionInfo - { - position[]={3405.9829,42.051247,4311.123}; - angles[]={0.039979152,4.6202354,6.2432065}; - }; - side="Empty"; - flags=4; - class Attributes - { - init="call{[this, [""ACAV""]] call vn_mf_fnc_lock_vehicle_to_teams;}"; - }; - id=517; - type="vn_b_armor_m113_acav_04"; - atlOffset=-0.0037879944; - }; - class Item20 - { - dataType="Object"; - class PositionInfo - { - position[]={3414.928,41.995419,4312.3501}; - angles[]={0,4.6202354,0}; + position[]={3199.4189,39.66,4301.9912}; + angles[]={0,5.9848742,0}; }; side="Empty"; flags=4; class Attributes { - init="call{[this, [""ACAV""]] call vn_mf_fnc_lock_vehicle_to_teams;}"; - }; - id=518; - type="vn_b_armor_m113_acav_02"; - }; - class Item21 - { - dataType="Object"; - class PositionInfo - { - position[]={3341.6462,42.304924,4313.7407}; - angles[]={0,3.110229,0}; - }; - side="Empty"; - class Attributes - { - }; - id=525; - type="vn_b_armor_m113_01"; - atlOffset=0.27015305; - }; - class Item22 - { - dataType="Object"; - class PositionInfo - { - position[]={3336.1816,42.273865,4313.8301}; - angles[]={0,3.1518378,0}; + disableSimulation=1; }; - side="Empty"; - class Attributes + id=313; + type="Land_vn_usaf_fueltank_10_case_01"; + class CustomAttributes { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=526; - type="vn_b_armor_m113_01"; - atlOffset=0.29131699; }; - }; - id=221; - atlOffset=0.18912125; - }; - class Item35 - { - dataType="Layer"; - name="Rearm Points"; - class Entities - { - items=7; - class Item0 + class Item4 { dataType="Object"; class PositionInfo { - position[]={3205.2058,41.464542,4297.479}; - angles[]={0,1.4246475,0}; + position[]={3172.8291,41.542984,4293.6304}; + angles[]={0,3.441818,0}; }; side="Empty"; - flags=5; + flags=1; class Attributes { disableSimulation=1; }; - id=225; - type="Land_vn_usaf_fueltank_75_01"; + id=315; + type="Land_vn_workshop_04_f"; + atlOffset=0.5334549; class CustomAttributes { class Attribute0 @@ -2755,13 +2507,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -2769,13 +2515,13 @@ class Mission nAttributes=1; }; }; - class Item1 + class Item5 { dataType="Object"; class PositionInfo { - position[]={3205.188,39.620438,4288.8125}; - angles[]={0,1.2293673,0}; + position[]={3201.6863,39.62812,4314.8047}; + angles[]={0.0079935296,1.4213939,0}; }; side="Empty"; flags=4; @@ -2783,9 +2529,9 @@ class Mission { disableSimulation=1; }; - id=226; - type="Land_vn_us_vehicleammo"; - atlOffset=-0.037212372; + id=316; + type="vn_b_ammobox_supply_06"; + atlOffset=-0.0034751892; class CustomAttributes { class Attribute0 @@ -2796,13 +2542,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -2810,22 +2550,23 @@ class Mission nAttributes=1; }; }; - class Item2 + class Item6 { dataType="Object"; class PositionInfo { - position[]={3222.1001,41.464542,4254.1807}; - angles[]={0,4.585907,0}; + position[]={3176.8975,39.644035,4288.5791}; + angles[]={0,0.42233917,0}; }; side="Empty"; - flags=5; + flags=4; class Attributes { disableSimulation=1; }; - id=243; - type="Land_vn_usaf_fueltank_75_01"; + id=317; + type="vn_b_ammobox_supply_06"; + atlOffset=-0.015995026; class CustomAttributes { class Attribute0 @@ -2836,13 +2577,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -2850,13 +2585,13 @@ class Mission nAttributes=1; }; }; - class Item3 + class Item7 { dataType="Object"; class PositionInfo { - position[]={3229.6108,39.803745,4261.0049}; - angles[]={0,3.9138196,0}; + position[]={3179.5151,39.673523,4299.5542}; + angles[]={0,2.997535,0}; }; side="Empty"; flags=4; @@ -2864,9 +2599,9 @@ class Mission { disableSimulation=1; }; - id=244; - type="Land_vn_us_vehicleammo"; - atlOffset=0.14609528; + id=318; + type="vn_b_ammobox_supply_06"; + atlOffset=0.013492584; class CustomAttributes { class Attribute0 @@ -2877,13 +2612,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -2891,22 +2620,23 @@ class Mission nAttributes=1; }; }; - class Item4 + class Item8 { dataType="Object"; class PositionInfo { - position[]={3334.469,41.49688,4293.8394}; - angles[]={0,6.2592683,0}; + position[]={3205.521,40.964565,4308.2515}; + angles[]={0,1.8232741,0}; }; side="Empty"; - flags=5; + flags=4; class Attributes { disableSimulation=1; }; - id=278; - type="Land_vn_usaf_fueltank_75_01"; + id=319; + type="vn_wheeled_m54_01_wreck"; + atlOffset=-0.01966095; class CustomAttributes { class Attribute0 @@ -2917,13 +2647,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -2931,22 +2655,24 @@ class Mission nAttributes=1; }; }; - class Item5 + class Item9 { dataType="Object"; class PositionInfo { - position[]={3194.311,39.65765,4251.2725}; - angles[]={0,0.02702947,0}; + position[]={3181.9653,40.097401,4311.5415}; + angles[]={0.019999012,0.73731667,0.039980642}; }; side="Empty"; flags=4; class Attributes { + createAsSimpleObject=1; disableSimulation=1; }; - id=299; - type="Land_vn_us_vehicleammo"; + id=320; + type="Land_ToolTrolley_01_F"; + atlOffset=-0.0029640198; class CustomAttributes { class Attribute0 @@ -2957,13 +2683,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -2971,82 +2691,23 @@ class Mission nAttributes=1; }; }; - class Item6 + class Item10 { dataType="Object"; class PositionInfo { - position[]={3187.6313,41.464542,4259.5439}; - angles[]={0,6.2458639,0}; - }; - side="Empty"; - flags=5; - class Attributes - { - disableSimulation=1; - }; - id=332; - type="Land_vn_usaf_fueltank_75_01"; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; - }; - }; - }; - id=224; - atlOffset=0.012592316; - }; - class Item36 - { - dataType="Layer"; - name="Vehicles_1"; - id=251; - atlOffset=-29.639999; - }; - class Item37 - { - dataType="Layer"; - name="Wreck Bay"; - class Entities - { - items=18; - class Item0 - { - dataType="Object"; - class PositionInfo - { - position[]={3204.2087,40.072845,4315.6592}; - angles[]={0.047963165,4.8309932,0}; + position[]={3181.9731,39.982914,4311.4082}; + angles[]={0,0.52946615,0}; }; side="Empty"; - flags=4; class Attributes { createAsSimpleObject=1; disableSimulation=1; }; - id=310; - type="Land_ToolTrolley_02_F"; - atlOffset=-0.0056114197; + id=321; + type="Land_Grinder_F"; + atlOffset=0.29349136; class CustomAttributes { class Attribute0 @@ -3057,13 +2718,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -3071,13 +2726,13 @@ class Mission nAttributes=1; }; }; - class Item1 + class Item11 { dataType="Object"; class PositionInfo { - position[]={3194.0371,40.344574,4309.4224}; - angles[]={0,3.9234743,0}; + position[]={3180.064,40.354881,4308.459}; + angles[]={0,5.0667219,0}; }; side="Empty"; flags=4; @@ -3086,9 +2741,9 @@ class Mission createAsSimpleObject=1; disableSimulation=1; }; - id=311; + id=322; type="Land_WeldingTrolley_01_F"; - atlOffset=-0.010993958; + atlOffset=-0.00068664551; class CustomAttributes { class Attribute0 @@ -3099,13 +2754,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -3113,13 +2762,13 @@ class Mission nAttributes=1; }; }; - class Item2 + class Item12 { dataType="Object"; class PositionInfo { - position[]={3201.2178,39.66,4302.8945}; - angles[]={0,5.6095471,0}; + position[]={3176.6719,39.664036,4294.999}; + angles[]={0,3.441818,0}; }; side="Empty"; flags=4; @@ -3127,8 +2776,9 @@ class Mission { disableSimulation=1; }; - id=312; - type="Land_vn_usaf_fueltank_10_case_01"; + id=323; + type="Land_vn_canister_ep1"; + atlOffset=-3.4332275e-005; class CustomAttributes { class Attribute0 @@ -3139,13 +2789,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -3153,22 +2797,23 @@ class Mission nAttributes=1; }; }; - class Item3 + class Item13 { dataType="Object"; class PositionInfo { - position[]={3199.4189,39.66,4301.9912}; - angles[]={0,5.9848742,0}; + position[]={3175.4407,39.659424,4285.4307}; + angles[]={0,3.441818,0}; }; side="Empty"; flags=4; class Attributes { + createAsSimpleObject=1; disableSimulation=1; }; - id=313; - type="Land_vn_usaf_fueltank_10_case_01"; + id=325; + type="Land_vn_steeldrum_closed_04"; class CustomAttributes { class Attribute0 @@ -3179,13 +2824,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -3193,23 +2832,24 @@ class Mission nAttributes=1; }; }; - class Item4 + class Item14 { dataType="Object"; class PositionInfo { - position[]={3172.8291,41.542984,4293.6304}; + position[]={3176.7791,39.659737,4284.9941}; angles[]={0,3.441818,0}; }; side="Empty"; - flags=1; + flags=4; class Attributes { + createAsSimpleObject=1; disableSimulation=1; }; - id=315; - type="Land_vn_workshop_04_f"; - atlOffset=0.5334549; + id=326; + type="Land_vn_steeldrum_closed_04"; + atlOffset=0.00031280518; class CustomAttributes { class Attribute0 @@ -3220,13 +2860,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -3234,23 +2868,23 @@ class Mission nAttributes=1; }; }; - class Item5 + class Item15 { dataType="Object"; class PositionInfo { - position[]={3201.6863,39.62812,4314.8047}; - angles[]={0.0079935296,1.4213939,0}; + position[]={3175.157,39.659424,4284.2471}; + angles[]={0,3.441818,0}; }; side="Empty"; flags=4; class Attributes { + createAsSimpleObject=1; disableSimulation=1; }; - id=316; - type="vn_b_ammobox_supply_06"; - atlOffset=-0.0034751892; + id=327; + type="Land_vn_steeldrum_closed_04"; class CustomAttributes { class Attribute0 @@ -3261,13 +2895,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -3275,13 +2903,13 @@ class Mission nAttributes=1; }; }; - class Item6 + class Item16 { dataType="Object"; class PositionInfo { - position[]={3176.8975,39.644035,4288.5791}; - angles[]={0,0.42233917,0}; + position[]={3191.7048,41.0056,4313.8594}; + angles[]={0.0039967569,4.870883,0.0039967569}; }; side="Empty"; flags=4; @@ -3289,9 +2917,9 @@ class Mission { disableSimulation=1; }; - id=317; - type="vn_b_ammobox_supply_06"; - atlOffset=-0.015995026; + id=328; + type="vn_us_komex_medium_01"; + atlOffset=-0.013160706; class CustomAttributes { class Attribute0 @@ -3302,13 +2930,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -3316,13 +2938,13 @@ class Mission nAttributes=1; }; }; - class Item7 + class Item17 { dataType="Object"; class PositionInfo { - position[]={3179.5151,39.673523,4299.5542}; - angles[]={0,2.997535,0}; + position[]={3197.3318,41.005848,4310.7412}; + angles[]={0,3.4269223,0}; }; side="Empty"; flags=4; @@ -3330,9 +2952,9 @@ class Mission { disableSimulation=1; }; - id=318; - type="vn_b_ammobox_supply_06"; - atlOffset=0.013492584; + id=329; + type="vn_us_komex_medium_02"; + atlOffset=-0.021507263; class CustomAttributes { class Attribute0 @@ -3343,13 +2965,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -3357,457 +2973,238 @@ class Mission nAttributes=1; }; }; - class Item8 + }; + id=331; + atlOffset=-0.01531601; + }; + class Item37 + { + dataType="Marker"; + position[]={3318.5298,67.474922,4348.7925}; + name="blocked_area1"; + text="Base Block 1"; + markerType="RECTANGLE"; + type="rectangle"; + a=173.35889; + b=177.25171; + id=344; + atlOffset=27.804585; + }; + class Item38 + { + dataType="Group"; + side="West"; + class Entities + { + items=1; + class Item0 { dataType="Object"; class PositionInfo { - position[]={3205.521,40.964565,4308.2515}; - angles[]={0,1.8232741,0}; + position[]={3344.2092,43.057644,4380.2178}; + angles[]={0,1.4990023,0}; }; - side="Empty"; - flags=4; + side="West"; + flags=7; class Attributes { - disableSimulation=1; - }; - id=319; - type="vn_wheeled_m54_01_wreck"; - atlOffset=-0.01966095; - class CustomAttributes - { - class Attribute0 + isPlayable=1; + class Inventory { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value + class primaryWeapon { - class data + name="vn_m1carbine"; + class primaryMuzzleMag { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; + name="vn_carbine_15_mag"; + ammoLeft=15; }; }; - }; - nAttributes=1; - }; - }; - class Item9 - { - dataType="Object"; - class PositionInfo - { - position[]={3181.9653,40.097401,4311.5415}; - angles[]={0.019999012,0.73731667,0.039980642}; - }; - side="Empty"; - flags=4; - class Attributes - { - createAsSimpleObject=1; - disableSimulation=1; - }; - id=320; - type="Land_ToolTrolley_01_F"; - atlOffset=-0.0029640198; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value + class secondaryWeapon { - class data + name="vn_m127"; + class primaryMuzzleMag { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; + name="vn_m127_mag"; + ammoLeft=1; }; }; - }; - nAttributes=1; - }; - }; - class Item10 - { - dataType="Object"; - class PositionInfo - { - position[]={3181.9731,39.982914,4311.4082}; - angles[]={0,0.52946615,0}; - }; - side="Empty"; - class Attributes - { - createAsSimpleObject=1; - disableSimulation=1; - }; - id=321; - type="Land_Grinder_F"; - atlOffset=0.29349136; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value + class handgun { - class data + name="vn_mx991"; + }; + class binocular + { + name="vn_m19_binocs_grey"; + }; + class uniform + { + typeName="vn_b_uniform_macv_01_02"; + isBackpack=0; + class MagazineCargo { - class type + items=1; + class Item0 { - type[]= - { - "BOOL" - }; + name="vn_prop_food_fresh_01"; + count=24; + ammoLeft=100; + }; + }; + class ItemCargo + { + items=1; + class Item0 + { + name="vn_b_item_firstaidkit"; + count=8; }; - value=0; }; }; - }; - nAttributes=1; - }; - }; - class Item11 - { - dataType="Object"; - class PositionInfo - { - position[]={3180.064,40.354881,4308.459}; - angles[]={0,5.0667219,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - createAsSimpleObject=1; - disableSimulation=1; - }; - id=322; - type="Land_WeldingTrolley_01_F"; - atlOffset=-0.00068664551; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value + class vest { - class data + typeName="vn_b_vest_usarmy_03"; + isBackpack=0; + class MagazineCargo { - class type + items=1; + class Item0 { - type[]= - { - "BOOL" - }; + name="vn_m61_grenade_mag"; + count=9; + ammoLeft=1; + }; + }; + }; + class backpack + { + typeName="vn_b_pack_03"; + isBackpack=1; + class MagazineCargo + { + items=6; + class Item0 + { + name="vn_m129_mag"; + count=5; + ammoLeft=1; + }; + class Item1 + { + name="vn_carbine_15_t_mag"; + count=12; + ammoLeft=15; + }; + class Item2 + { + name="vn_m34_grenade_mag"; + count=1; + ammoLeft=1; + }; + class Item3 + { + name="vn_m18_purple_mag"; + count=2; + ammoLeft=1; + }; + class Item4 + { + name="vn_m18_red_mag"; + count=2; + ammoLeft=1; + }; + class Item5 + { + name="vn_mine_m112_remote_mag"; + count=5; + ammoLeft=1; + }; + }; + class ItemCargo + { + items=2; + class Item0 + { + name="vn_b_item_firstaidkit"; + count=2; + }; + class Item1 + { + name="vn_b_item_trapkit"; + count=1; }; - value=0; }; }; + map="vn_b_item_map"; + compass="vn_b_item_compass"; + watch="vn_b_item_watch"; + radio="vn_b_item_radio_urc10"; + headgear="vn_b_boonie_02_02"; }; - nAttributes=1; - }; - }; - class Item12 - { - dataType="Object"; - class PositionInfo - { - position[]={3176.6719,39.664036,4294.999}; - angles[]={0,3.441818,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; }; - id=323; - type="Land_vn_canister_ep1"; - atlOffset=-3.4332275e-005; + id=415; + type="vn_b_men_sf_06"; + atlOffset=0.066204071; class CustomAttributes { class Attribute0 { - property="allowDamage"; - expression="_this allowdamage _value;"; + property="speaker"; + expression="_this setspeaker _value;"; class Value { class data { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; + singleType="STRING"; + value="Male02ENG"; }; }; }; - nAttributes=1; - }; - }; - class Item13 - { - dataType="Object"; - class PositionInfo - { - position[]={3175.4407,39.659424,4285.4307}; - angles[]={0,3.441818,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - createAsSimpleObject=1; - disableSimulation=1; - }; - id=325; - type="Land_vn_steeldrum_closed_04"; - class CustomAttributes - { - class Attribute0 + class Attribute1 { - property="allowDamage"; - expression="_this allowdamage _value;"; + property="pitch"; + expression="_this setpitch _value;"; class Value { class data { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; + singleType="SCALAR"; + value=1.04; }; }; }; - nAttributes=1; + nAttributes=2; }; }; - class Item14 + }; + class Attributes + { + }; + id=414; + atlOffset=0.066204071; + }; + class Item39 + { + dataType="Group"; + side="West"; + class Entities + { + items=1; + class Item0 { dataType="Object"; class PositionInfo { - position[]={3176.7791,39.659737,4284.9941}; - angles[]={0,3.441818,0}; + position[]={3344.0859,43.011139,4381.4053}; + angles[]={0,1.4990023,0}; }; - side="Empty"; - flags=4; + side="West"; + flags=7; class Attributes { - createAsSimpleObject=1; - disableSimulation=1; - }; - id=326; - type="Land_vn_steeldrum_closed_04"; - atlOffset=0.00031280518; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; - }; - }; - class Item15 - { - dataType="Object"; - class PositionInfo - { - position[]={3175.157,39.659424,4284.2471}; - angles[]={0,3.441818,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - createAsSimpleObject=1; - disableSimulation=1; - }; - id=327; - type="Land_vn_steeldrum_closed_04"; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; - }; - }; - class Item16 - { - dataType="Object"; - class PositionInfo - { - position[]={3191.7048,41.0056,4313.8594}; - angles[]={0.0039967569,4.870883,0.0039967569}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=328; - type="vn_us_komex_medium_01"; - atlOffset=-0.013160706; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; - }; - }; - class Item17 - { - dataType="Object"; - class PositionInfo - { - position[]={3197.3318,41.005848,4310.7412}; - angles[]={0,3.4269223,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=329; - type="vn_us_komex_medium_02"; - atlOffset=-0.021507263; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; - }; - }; - }; - id=331; - atlOffset=-0.01531601; - }; - class Item38 - { - dataType="Marker"; - position[]={3318.5298,67.474922,4348.7925}; - name="blocked_area1"; - text="Base Block 1"; - markerType="RECTANGLE"; - type="rectangle"; - a=173.35889; - b=177.25171; - id=344; - atlOffset=27.804585; - }; - class Item39 - { - dataType="Group"; - side="West"; - class Entities - { - items=1; - class Item0 - { - dataType="Object"; - class PositionInfo - { - position[]={3344.2092,43.057644,4380.2178}; - angles[]={0,1.4990023,0}; - }; - side="West"; - flags=7; - class Attributes - { - isPlayable=1; - class Inventory + isPlayable=1; + class Inventory { class primaryWeapon { @@ -3940,9 +3337,9 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=415; + id=417; type="vn_b_men_sf_06"; - atlOffset=0.066204071; + atlOffset=0.019699097; class CustomAttributes { class Attribute0 @@ -3953,13 +3350,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -3972,13 +3363,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -3990,8 +3375,8 @@ class Mission class Attributes { }; - id=414; - atlOffset=0.066204071; + id=416; + atlOffset=0.019699097; }; class Item40 { @@ -4005,7 +3390,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3344.0859,43.011139,4381.4053}; + position[]={3344.1848,42.99144,4382.791}; angles[]={0,1.4990023,0}; }; side="West"; @@ -4146,9 +3531,8 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=417; + id=419; type="vn_b_men_sf_06"; - atlOffset=0.019699097; class CustomAttributes { class Attribute0 @@ -4159,13 +3543,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -4178,13 +3556,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -4196,8 +3568,7 @@ class Mission class Attributes { }; - id=416; - atlOffset=0.019699097; + id=418; }; class Item41 { @@ -4211,7 +3582,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3344.1848,42.99144,4382.791}; + position[]={3344.2556,43.055599,4384.0967}; angles[]={0,1.4990023,0}; }; side="West"; @@ -4352,8 +3723,9 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=419; + id=421; type="vn_b_men_sf_06"; + atlOffset=-4.9591064e-005; class CustomAttributes { class Attribute0 @@ -4364,13 +3736,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -4383,13 +3749,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -4401,7 +3761,8 @@ class Mission class Attributes { }; - id=418; + id=420; + atlOffset=-4.9591064e-005; }; class Item42 { @@ -4415,7 +3776,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3344.2556,43.055599,4384.0967}; + position[]={3344.126,43.121517,4385.1748}; angles[]={0,1.4990023,0}; }; side="West"; @@ -4556,9 +3917,8 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=421; + id=423; type="vn_b_men_sf_06"; - atlOffset=-4.9591064e-005; class CustomAttributes { class Attribute0 @@ -4569,13 +3929,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -4588,13 +3942,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -4606,8 +3954,7 @@ class Mission class Attributes { }; - id=420; - atlOffset=-4.9591064e-005; + id=422; }; class Item43 { @@ -4621,7 +3968,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3344.126,43.121517,4385.1748}; + position[]={3344.2007,43.071907,4386.5439}; angles[]={0,1.4990023,0}; }; side="West"; @@ -4762,7 +4109,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=423; + id=425; type="vn_b_men_sf_06"; class CustomAttributes { @@ -4774,13 +4121,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -4793,13 +4134,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -4811,7 +4146,7 @@ class Mission class Attributes { }; - id=422; + id=424; }; class Item44 { @@ -4825,7 +4160,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3344.2007,43.071907,4386.5439}; + position[]={3344.1355,42.99144,4387.9639}; angles[]={0,1.4990023,0}; }; side="West"; @@ -4966,7 +4301,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=425; + id=427; type="vn_b_men_sf_06"; class CustomAttributes { @@ -4978,13 +4313,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -4997,13 +4326,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -5015,7 +4338,7 @@ class Mission class Attributes { }; - id=424; + id=426; }; class Item45 { @@ -5029,7 +4352,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3344.1355,42.99144,4387.9639}; + position[]={3344.0701,42.99144,4389.3838}; angles[]={0,1.4990023,0}; }; side="West"; @@ -5170,7 +4493,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=427; + id=429; type="vn_b_men_sf_06"; class CustomAttributes { @@ -5182,13 +4505,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -5201,13 +4518,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -5219,7 +4530,7 @@ class Mission class Attributes { }; - id=426; + id=428; }; class Item46 { @@ -5233,7 +4544,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3344.0701,42.99144,4389.3838}; + position[]={3344.0696,42.99144,4390.7715}; angles[]={0,1.4990023,0}; }; side="West"; @@ -5374,7 +4685,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=429; + id=431; type="vn_b_men_sf_06"; class CustomAttributes { @@ -5386,13 +4697,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -5405,13 +4710,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -5423,7 +4722,7 @@ class Mission class Attributes { }; - id=428; + id=430; }; class Item47 { @@ -5437,7 +4736,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3344.0696,42.99144,4390.7715}; + position[]={3343.9854,43.025349,4391.9121}; angles[]={0,1.4990023,0}; }; side="West"; @@ -5578,7 +4877,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=431; + id=433; type="vn_b_men_sf_06"; class CustomAttributes { @@ -5590,13 +4889,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -5609,13 +4902,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -5627,7 +4914,7 @@ class Mission class Attributes { }; - id=430; + id=432; }; class Item48 { @@ -5641,7 +4928,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3343.9854,43.025349,4391.9121}; + position[]={3346.1086,43.069122,4380.1455}; angles[]={0,1.4990023,0}; }; side="West"; @@ -5782,8 +5069,9 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=433; + id=435; type="vn_b_men_sf_06"; + atlOffset=0.033336639; class CustomAttributes { class Attribute0 @@ -5794,13 +5082,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -5813,13 +5095,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -5831,7 +5107,8 @@ class Mission class Attributes { }; - id=432; + id=434; + atlOffset=0.033336639; }; class Item49 { @@ -5845,7 +5122,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3346.1086,43.069122,4380.1455}; + position[]={3345.9856,43.030869,4381.333}; angles[]={0,1.4990023,0}; }; side="West"; @@ -5986,9 +5263,8 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=435; + id=437; type="vn_b_men_sf_06"; - atlOffset=0.033336639; class CustomAttributes { class Attribute0 @@ -5999,13 +5275,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -6018,13 +5288,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -6036,8 +5300,7 @@ class Mission class Attributes { }; - id=434; - atlOffset=0.033336639; + id=436; }; class Item50 { @@ -6051,7 +5314,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3345.9856,43.030869,4381.333}; + position[]={3346.0842,43.005039,4382.7197}; angles[]={0,1.4990023,0}; }; side="West"; @@ -6192,7 +5455,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=437; + id=439; type="vn_b_men_sf_06"; class CustomAttributes { @@ -6204,13 +5467,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -6223,13 +5480,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -6241,7 +5492,7 @@ class Mission class Attributes { }; - id=436; + id=438; }; class Item51 { @@ -6255,7 +5506,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3346.0842,43.005039,4382.7197}; + position[]={3346.1553,43.099007,4384.0244}; angles[]={0,1.4990023,0}; }; side="West"; @@ -6396,7 +5647,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=439; + id=441; type="vn_b_men_sf_06"; class CustomAttributes { @@ -6408,13 +5659,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -6427,13 +5672,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -6445,7 +5684,7 @@ class Mission class Attributes { }; - id=438; + id=440; }; class Item52 { @@ -6459,7 +5698,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3346.1553,43.099007,4384.0244}; + position[]={3346.0256,43.10516,4385.1025}; angles[]={0,1.4990023,0}; }; side="West"; @@ -6600,7 +5839,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=441; + id=443; type="vn_b_men_sf_06"; class CustomAttributes { @@ -6612,13 +5851,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -6631,13 +5864,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -6649,7 +5876,7 @@ class Mission class Attributes { }; - id=440; + id=442; }; class Item53 { @@ -6663,7 +5890,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3346.0256,43.10516,4385.1025}; + position[]={3346.1003,42.99144,4386.4727}; angles[]={0,1.4990023,0}; }; side="West"; @@ -6804,7 +6031,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=443; + id=445; type="vn_b_men_sf_06"; class CustomAttributes { @@ -6816,13 +6043,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -6835,13 +6056,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -6853,7 +6068,7 @@ class Mission class Attributes { }; - id=442; + id=444; }; class Item54 { @@ -6867,7 +6082,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3346.1003,42.99144,4386.4727}; + position[]={3346.0349,42.99144,4387.8926}; angles[]={0,1.4990023,0}; }; side="West"; @@ -7008,7 +6223,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=445; + id=447; type="vn_b_men_sf_06"; class CustomAttributes { @@ -7020,13 +6235,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -7039,13 +6248,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -7057,7 +6260,7 @@ class Mission class Attributes { }; - id=444; + id=446; }; class Item55 { @@ -7071,7 +6274,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3346.0349,42.99144,4387.8926}; + position[]={3345.9697,42.99144,4389.3125}; angles[]={0,1.4990023,0}; }; side="West"; @@ -7212,7 +6415,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=447; + id=449; type="vn_b_men_sf_06"; class CustomAttributes { @@ -7224,13 +6427,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -7243,13 +6440,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -7261,7 +6452,7 @@ class Mission class Attributes { }; - id=446; + id=448; }; class Item56 { @@ -7275,7 +6466,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3345.9697,42.99144,4389.3125}; + position[]={3345.9692,43.017452,4390.7002}; angles[]={0,1.4990023,0}; }; side="West"; @@ -7416,7 +6607,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=449; + id=451; type="vn_b_men_sf_06"; class CustomAttributes { @@ -7428,13 +6619,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -7447,13 +6632,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -7465,7 +6644,7 @@ class Mission class Attributes { }; - id=448; + id=450; }; class Item57 { @@ -7479,7 +6658,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3345.9692,43.017452,4390.7002}; + position[]={3345.8848,43.056049,4391.8398}; angles[]={0,1.4990023,0}; }; side="West"; @@ -7620,7 +6799,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=451; + id=453; type="vn_b_men_sf_06"; class CustomAttributes { @@ -7632,13 +6811,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -7651,13 +6824,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -7669,7 +6836,7 @@ class Mission class Attributes { }; - id=450; + id=452; }; class Item58 { @@ -7683,7 +6850,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3345.8848,43.056049,4391.8398}; + position[]={3348.1326,43.063404,4380.1182}; angles[]={0,1.4990023,0}; }; side="West"; @@ -7824,8 +6991,9 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=453; + id=455; type="vn_b_men_sf_06"; + atlOffset=3.8146973e-006; class CustomAttributes { class Attribute0 @@ -7836,13 +7004,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -7855,13 +7017,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -7873,7 +7029,8 @@ class Mission class Attributes { }; - id=452; + id=454; + atlOffset=3.8146973e-006; }; class Item59 { @@ -7887,7 +7044,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3348.1326,43.063404,4380.1182}; + position[]={3348.0095,43.020821,4381.3057}; angles[]={0,1.4990023,0}; }; side="West"; @@ -8028,9 +7185,8 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=455; + id=457; type="vn_b_men_sf_06"; - atlOffset=3.8146973e-006; class CustomAttributes { class Attribute0 @@ -8041,13 +7197,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -8060,13 +7210,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -8078,8 +7222,7 @@ class Mission class Attributes { }; - id=454; - atlOffset=3.8146973e-006; + id=456; }; class Item60 { @@ -8093,7 +7236,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3348.0095,43.020821,4381.3057}; + position[]={3348.1082,42.99144,4382.6924}; angles[]={0,1.4990023,0}; }; side="West"; @@ -8234,7 +7377,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=457; + id=459; type="vn_b_men_sf_06"; class CustomAttributes { @@ -8246,13 +7389,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -8265,13 +7402,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -8283,7 +7414,7 @@ class Mission class Attributes { }; - id=456; + id=458; }; class Item61 { @@ -8297,7 +7428,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3348.1082,42.99144,4382.6924}; + position[]={3348.1792,42.99144,4383.9971}; angles[]={0,1.4990023,0}; }; side="West"; @@ -8438,7 +7569,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=459; + id=461; type="vn_b_men_sf_06"; class CustomAttributes { @@ -8450,13 +7581,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -8469,13 +7594,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -8487,7 +7606,7 @@ class Mission class Attributes { }; - id=458; + id=460; }; class Item62 { @@ -8501,7 +7620,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3348.1792,42.99144,4383.9971}; + position[]={3348.0496,43.013424,4385.0762}; angles[]={0,1.4990023,0}; }; side="West"; @@ -8642,7 +7761,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=461; + id=463; type="vn_b_men_sf_06"; class CustomAttributes { @@ -8654,13 +7773,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -8673,13 +7786,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -8691,7 +7798,7 @@ class Mission class Attributes { }; - id=460; + id=462; }; class Item63 { @@ -8705,7 +7812,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3348.0496,43.013424,4385.0762}; + position[]={3348.1243,43.016415,4386.4453}; angles[]={0,1.4990023,0}; }; side="West"; @@ -8846,7 +7953,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=463; + id=465; type="vn_b_men_sf_06"; class CustomAttributes { @@ -8858,13 +7965,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -8877,13 +7978,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -8895,7 +7990,7 @@ class Mission class Attributes { }; - id=462; + id=464; }; class Item64 { @@ -8909,8 +8004,8 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3348.1243,43.016415,4386.4453}; - angles[]={0,1.4990023,0}; + position[]={3348.0588,42.99144,4387.8652}; + angles[]={0,1.5329863,0}; }; side="West"; flags=7; @@ -9050,7 +8145,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=465; + id=467; type="vn_b_men_sf_06"; class CustomAttributes { @@ -9062,13 +8157,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -9081,13 +8170,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -9099,7 +8182,7 @@ class Mission class Attributes { }; - id=464; + id=466; }; class Item65 { @@ -9113,8 +8196,8 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3348.0588,42.99144,4387.8652}; - angles[]={0,1.5329863,0}; + position[]={3347.9937,42.99144,4389.2852}; + angles[]={0,1.4990023,0}; }; side="West"; flags=7; @@ -9254,7 +8337,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=467; + id=469; type="vn_b_men_sf_06"; class CustomAttributes { @@ -9266,13 +8349,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -9285,13 +8362,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -9303,7 +8374,7 @@ class Mission class Attributes { }; - id=466; + id=468; }; class Item66 { @@ -9317,7 +8388,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3347.9937,42.99144,4389.2852}; + position[]={3347.9932,42.99144,4390.6729}; angles[]={0,1.4990023,0}; }; side="West"; @@ -9458,7 +8529,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=469; + id=471; type="vn_b_men_sf_06"; class CustomAttributes { @@ -9470,13 +8541,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -9489,13 +8554,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -9507,7 +8566,7 @@ class Mission class Attributes { }; - id=468; + id=470; }; class Item67 { @@ -9521,8 +8580,8 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3347.9932,42.99144,4390.6729}; - angles[]={0,1.4990023,0}; + position[]={3347.9087,42.99144,4391.8125}; + angles[]={0,1.4990039,0}; }; side="West"; flags=7; @@ -9662,7 +8721,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=471; + id=473; type="vn_b_men_sf_06"; class CustomAttributes { @@ -9674,13 +8733,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -9693,13 +8746,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -9711,7 +8758,7 @@ class Mission class Attributes { }; - id=470; + id=472; }; class Item68 { @@ -9725,8 +8772,8 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3347.9087,42.99144,4391.8125}; - angles[]={0,1.4990039,0}; + position[]={3349.8669,42.99144,4380.3047}; + angles[]={0,1.4990023,0}; }; side="West"; flags=7; @@ -9866,7 +8913,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=473; + id=475; type="vn_b_men_sf_06"; class CustomAttributes { @@ -9878,13 +8925,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -9897,13 +8938,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -9915,7 +8950,7 @@ class Mission class Attributes { }; - id=472; + id=474; }; class Item69 { @@ -9929,7 +8964,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3349.8669,42.99144,4380.3047}; + position[]={3349.8528,42.99144,4381.5244}; angles[]={0,1.4990023,0}; }; side="West"; @@ -10070,7 +9105,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=475; + id=477; type="vn_b_men_sf_06"; class CustomAttributes { @@ -10082,13 +9117,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -10101,13 +9130,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -10119,7 +9142,7 @@ class Mission class Attributes { }; - id=474; + id=476; }; class Item70 { @@ -10133,7 +9156,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3349.8528,42.99144,4381.5244}; + position[]={3349.8357,43.00013,4382.9316}; angles[]={0,1.4990023,0}; }; side="West"; @@ -10274,8 +9297,9 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=477; + id=479; type="vn_b_men_sf_06"; + atlOffset=-1.1444092e-005; class CustomAttributes { class Attribute0 @@ -10286,13 +9310,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -10305,13 +9323,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -10323,7 +9335,8 @@ class Mission class Attributes { }; - id=476; + id=478; + atlOffset=-1.1444092e-005; }; class Item71 { @@ -10337,214 +9350,8 @@ class Mission dataType="Object"; class PositionInfo { - position[]={3349.8357,43.00013,4382.9316}; - angles[]={0,1.4990023,0}; - }; - side="West"; - flags=7; - class Attributes - { - isPlayable=1; - class Inventory - { - class primaryWeapon - { - name="vn_m1carbine"; - class primaryMuzzleMag - { - name="vn_carbine_15_mag"; - ammoLeft=15; - }; - }; - class secondaryWeapon - { - name="vn_m127"; - class primaryMuzzleMag - { - name="vn_m127_mag"; - ammoLeft=1; - }; - }; - class handgun - { - name="vn_mx991"; - }; - class binocular - { - name="vn_m19_binocs_grey"; - }; - class uniform - { - typeName="vn_b_uniform_macv_01_02"; - isBackpack=0; - class MagazineCargo - { - items=1; - class Item0 - { - name="vn_prop_food_fresh_01"; - count=24; - ammoLeft=100; - }; - }; - class ItemCargo - { - items=1; - class Item0 - { - name="vn_b_item_firstaidkit"; - count=8; - }; - }; - }; - class vest - { - typeName="vn_b_vest_usarmy_03"; - isBackpack=0; - class MagazineCargo - { - items=1; - class Item0 - { - name="vn_m61_grenade_mag"; - count=9; - ammoLeft=1; - }; - }; - }; - class backpack - { - typeName="vn_b_pack_03"; - isBackpack=1; - class MagazineCargo - { - items=6; - class Item0 - { - name="vn_m129_mag"; - count=5; - ammoLeft=1; - }; - class Item1 - { - name="vn_carbine_15_t_mag"; - count=12; - ammoLeft=15; - }; - class Item2 - { - name="vn_m34_grenade_mag"; - count=1; - ammoLeft=1; - }; - class Item3 - { - name="vn_m18_purple_mag"; - count=2; - ammoLeft=1; - }; - class Item4 - { - name="vn_m18_red_mag"; - count=2; - ammoLeft=1; - }; - class Item5 - { - name="vn_mine_m112_remote_mag"; - count=5; - ammoLeft=1; - }; - }; - class ItemCargo - { - items=2; - class Item0 - { - name="vn_b_item_firstaidkit"; - count=2; - }; - class Item1 - { - name="vn_b_item_trapkit"; - count=1; - }; - }; - }; - map="vn_b_item_map"; - compass="vn_b_item_compass"; - watch="vn_b_item_watch"; - radio="vn_b_item_radio_urc10"; - headgear="vn_b_boonie_02_02"; - }; - }; - id=479; - type="vn_b_men_sf_06"; - atlOffset=-1.1444092e-005; - class CustomAttributes - { - class Attribute0 - { - property="speaker"; - expression="_this setspeaker _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "STRING" - }; - }; - value="Male02ENG"; - }; - }; - }; - class Attribute1 - { - property="pitch"; - expression="_this setpitch _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "SCALAR" - }; - }; - value=1.04; - }; - }; - }; - nAttributes=2; - }; - }; - }; - class Attributes - { - }; - id=478; - atlOffset=-1.1444092e-005; - }; - class Item72 - { - dataType="Group"; - side="West"; - class Entities - { - items=1; - class Item0 - { - dataType="Object"; - class PositionInfo - { - position[]={3349.7568,43.049034,4384.2334}; - angles[]={0,1.4990039,0}; + position[]={3349.7568,43.049034,4384.2334}; + angles[]={0,1.4990039,0}; }; side="West"; flags=7; @@ -10698,13 +9505,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -10717,13 +9518,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -10738,251 +9533,1061 @@ class Mission id=486; atlOffset=-2.2888184e-005; }; - class Item73 - { - dataType="Object"; - class PositionInfo - { - position[]={3382.9031,41.184723,4317.0352}; - angles[]={0.039979152,3.0457485,6.2432065}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=506; - type="vn_b_wheeled_m151_01"; - atlOffset=-0.0024337769; - }; - class Item74 + class Item72 { dataType="Object"; class PositionInfo { - position[]={3276.6694,41.488647,4380.4072}; - angles[]={0,3.7880976,0}; + position[]={3329.78,42.994389,4384.583}; }; side="Empty"; flags=4; class Attributes { - init="call{[this, [""ACAV""]] call vn_mf_fnc_lock_vehicle_to_teams;}"; + name="arsenal_cleanup_0"; }; - id=507; - type="vn_b_army_static_m101_02"; + id=557; + type="Land_vn_object_trashcan_01"; }; - class Item75 + class Item73 { dataType="Object"; class PositionInfo { - position[]={3259.5015,41.510647,4405.6641}; - angles[]={0,4.6117182,0}; + position[]={3226.9341,39.64196,4249.2656}; + angles[]={6.2631865,0,6.2791886}; }; side="Empty"; flags=4; class Attributes { - init="call{[this, [""ACAV""]] call vn_mf_fnc_lock_vehicle_to_teams;}"; + name="arsenal_cleanup_1"; }; - id=508; - type="vn_b_army_static_m101_02"; - atlOffset=0.0001373291; + id=558; + type="Land_vn_object_trashcan_01"; }; - class Item76 + class Item74 { - dataType="Object"; - class PositionInfo + dataType="Group"; + side="East"; + class Entities { - position[]={3283.4985,41.488647,4403.2588}; - angles[]={0,0.90561646,0}; + items=1; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={1185.281,6.646821,1668.6115}; + }; + side="East"; + flags=7; + class Attributes + { + }; + id=563; + type="vn_o_men_nva_07"; + atlOffset=1.4305115e-006; + }; }; - side="Empty"; - flags=4; class Attributes { - init="call{[this, [""ACAV""]] call vn_mf_fnc_lock_vehicle_to_teams;}"; }; - id=509; - type="vn_b_army_static_m101_02"; + id=562; + atlOffset=1.4305115e-006; }; - class Item77 + class Item75 { - dataType="Object"; - class PositionInfo - { - position[]={3367.1541,42.035282,4296.2695}; - angles[]={0.039985489,0,0}; - }; - side="Empty"; - flags=4; - class Attributes + dataType="Layer"; + name="Light transport spawn #1"; + class Entities { - init="call{[this, [""ACAV""]] call vn_mf_fnc_lock_vehicle_to_teams;}"; + items=3; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={3348.4136,44.13147,4409.5117}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=597; + type="vn_signad_sponsors_f"; + }; + class Item1 + { + dataType="Object"; + class PositionInfo + { + position[]={3349.2854,43.094051,4416.3511}; + angles[]={0.039977662,3.1166651,0}; + }; + side="Empty"; + flags=4; + class Attributes + { + }; + id=598; + type="Sign_Arrow_Direction_Green_F"; + }; + class Item2 + { + dataType="Logic"; + class PositionInfo + { + position[]={3349.9307,42.990002,4412.3809}; + }; + init="['light_transport', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=599; + type="Logic"; + }; }; - id=515; - type="vn_b_armor_m113_acav_05"; + id=618; + atlOffset=0.011489868; }; - class Item78 + class Item76 { - dataType="Object"; - class PositionInfo + dataType="Layer"; + name="Light transport spawn #2"; + class Entities { - position[]={3371.947,42.025532,4296.23}; - angles[]={0.020001473,0,0}; + items=3; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={3358.1079,44.13147,4410.0786}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=600; + type="vn_signad_sponsors_f"; + }; + class Item1 + { + dataType="Object"; + class PositionInfo + { + position[]={3357.0742,43.048092,4416.8467}; + angles[]={0,3.1166651,0}; + }; + side="Empty"; + flags=4; + class Attributes + { + }; + id=601; + type="Sign_Arrow_Direction_Green_F"; + }; + class Item2 + { + dataType="Logic"; + class PositionInfo + { + position[]={3357.3372,42.990002,4412.8882}; + }; + init="['light_transport', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=602; + type="Logic"; + }; }; - side="Empty"; - flags=4; - class Attributes + id=619; + }; + class Item77 + { + dataType="Layer"; + name="Heavy transport spawn #1"; + class Entities { - init="call{[this, [""ACAV""]] call vn_mf_fnc_lock_vehicle_to_teams;}"; + items=3; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={3365.7764,40.865799,4313.4194}; + angles[]={0,6.220397,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=570; + type="vn_signad_sponsors_f"; + }; + class Item1 + { + dataType="Object"; + class PositionInfo + { + position[]={3370.3091,39.71809,4316.2993}; + angles[]={0,4.6726122,0}; + }; + side="Empty"; + flags=4; + class Attributes + { + }; + id=571; + type="Sign_Arrow_Direction_Green_F"; + }; + class Item2 + { + dataType="Logic"; + class PositionInfo + { + position[]={3369.0959,39.706593,4313.835}; + angles[]={0.039985489,1.5559262,0}; + }; + init="['transport_heavy', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=572; + type="Logic"; + }; }; - id=516; - type="vn_b_armor_m113_acav_06"; - atlOffset=-0.0050048828; + id=620; + atlOffset=0.013267517; }; - class Item79 + class Item78 { - dataType="Object"; - class PositionInfo + dataType="Layer"; + name="Heavy transport spawn #2"; + class Entities { - position[]={3219.5288,42.262794,4259.4282}; - angles[]={0,1.5551081,0}; + items=3; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={3379.605,40.801468,4314.1504}; + angles[]={0,6.220397,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=573; + type="vn_signad_sponsors_f"; + }; + class Item1 + { + dataType="Object"; + class PositionInfo + { + position[]={3384.1377,39.741455,4317.0303}; + angles[]={6.2631865,4.6726122,0.019999012}; + }; + side="Empty"; + flags=4; + class Attributes + { + }; + id=574; + type="Sign_Arrow_Direction_Green_F"; + }; + class Item2 + { + dataType="Logic"; + class PositionInfo + { + position[]={3382.925,39.742992,4314.5659}; + angles[]={0,1.5559262,6.2431998}; + }; + init="['transport_heavy', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=575; + type="Logic"; + }; }; - side="Empty"; - flags=4; - class Attributes + id=621; + atlOffset=-0.048595428; + }; + class Item79 + { + dataType="Layer"; + name="Heavy transport spawn #3"; + class Entities { + items=3; + class Item0 + { + dataType="Logic"; + class PositionInfo + { + position[]={3396.4719,39.66,4315.209}; + angles[]={0,1.5559262,0}; + }; + init="['transport_heavy', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=576; + type="Logic"; + }; + class Item1 + { + dataType="Object"; + class PositionInfo + { + position[]={3393.1521,40.879517,4314.7935}; + angles[]={0,6.220397,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=577; + type="vn_signad_sponsors_f"; + atlOffset=3.8146973e-006; + }; + class Item2 + { + dataType="Object"; + class PositionInfo + { + position[]={3397.6848,39.71809,4317.6733}; + angles[]={0,4.6726122,0}; + }; + side="Empty"; + flags=4; + class Attributes + { + }; + id=578; + type="Sign_Arrow_Direction_Green_F"; + }; }; - id=528; - type="vn_b_air_oh6a_06"; + id=622; + atlOffset=0.019512177; }; class Item80 { - dataType="Object"; - class PositionInfo + dataType="Layer"; + name="Tank spawn #1"; + class Entities { - position[]={3194.541,42.26992,4258.6226}; - angles[]={0,1.5756681,0}; + items=3; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={3411.9592,40.801468,4314.8003}; + angles[]={0,1.5291611,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=567; + type="vn_signad_sponsors_f"; + }; + class Item1 + { + dataType="Object"; + class PositionInfo + { + position[]={3416.9014,39.71809,4312.4404}; + angles[]={0,4.6726122,0}; + }; + side="Empty"; + flags=4; + class Attributes + { + }; + id=568; + type="Sign_Arrow_Direction_Green_F"; + }; + class Item2 + { + dataType="Logic"; + class PositionInfo + { + position[]={3415.6121,39.66,4314.438}; + angles[]={0,1.5559262,0}; + }; + init="['heavy_fire_support', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=569; + type="Logic"; + }; }; - side="Empty"; - flags=4; - class Attributes + id=623; + }; + class Item81 + { + dataType="Layer"; + name="Tank spawn #2"; + class Entities { + items=3; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={3412.9644,40.801468,4300.4565}; + angles[]={0,1.5559468,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=564; + type="vn_signad_sponsors_f"; + }; + class Item1 + { + dataType="Object"; + class PositionInfo + { + position[]={3417.2383,39.71809,4304.0801}; + angles[]={0,4.6726122,0}; + }; + side="Empty"; + flags=4; + class Attributes + { + }; + id=565; + type="Sign_Arrow_Direction_Green_F"; + }; + class Item2 + { + dataType="Logic"; + class PositionInfo + { + position[]={3416.4861,39.66,4300.4692}; + angles[]={0,1.5559262,0}; + }; + init="['heavy_fire_support', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=566; + type="Logic"; + }; }; - id=531; - type="vn_b_air_oh6a_02"; - atlOffset=0.0071258545; + id=624; }; - class Item81 + class Item82 { - dataType="Object"; - class PositionInfo + dataType="Layer"; + name="Light fire support spawn #1"; + class Entities { - position[]={3388.7422,41.781261,4317.2856}; - angles[]={0,3.0237541,0}; + items=3; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={3375.1125,40.909481,4299.3003}; + angles[]={0,3.0956802,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=579; + type="vn_signad_sponsors_f"; + }; + class Item1 + { + dataType="Object"; + class PositionInfo + { + position[]={3370.4744,39.727398,4294.9907}; + angles[]={6.2631865,4.695477,0.019999012}; + }; + side="Empty"; + flags=4; + class Attributes + { + }; + id=580; + type="Sign_Arrow_Direction_Green_F"; + }; + class Item2 + { + dataType="Logic"; + class PositionInfo + { + position[]={3373.8445,39.66,4297.6274}; + angles[]={0,4.7143788,0}; + }; + init="['light_fire_support', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=581; + type="Logic"; + }; }; - side="Empty"; - class Attributes + id=625; + atlOffset=0.029331207; + }; + class Item83 + { + dataType="Layer"; + name="Patrol spawn #1"; + class Entities + { + items=3; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={3343.9541,40.820972,4313.0581}; + angles[]={0,0.01458043,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=591; + type="vn_signad_sponsors_f"; + }; + class Item1 + { + dataType="Object"; + class PositionInfo + { + position[]={3343.9353,39.71809,4316.02}; + angles[]={0,1.4772563,0}; + }; + side="Empty"; + flags=4; + class Attributes + { + }; + id=592; + type="Sign_Arrow_Direction_Green_F"; + }; + class Item2 + { + dataType="Logic"; + class PositionInfo + { + position[]={3345.7351,39.66,4313.6782}; + angles[]={0,1.5559262,0}; + }; + init="['patrol', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=593; + type="Logic"; + }; + }; + id=626; + atlOffset=0.0048789978; + }; + class Item84 + { + dataType="Layer"; + name="Patrol spawn #2"; + class Entities + { + items=3; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={3331.7332,40.801468,4312.6538}; + angles[]={0,6.206821,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=594; + type="vn_signad_sponsors_f"; + }; + class Item1 + { + dataType="Object"; + class PositionInfo + { + position[]={3330.9744,39.757065,4315.228}; + angles[]={0,1.4772563,0.039977662}; + }; + side="Empty"; + flags=4; + class Attributes + { + }; + id=595; + type="Sign_Arrow_Direction_Green_F"; + }; + class Item2 + { + dataType="Logic"; + class PositionInfo + { + position[]={3333.0669,39.66,4312.415}; + angles[]={0,1.5559262,0}; + }; + init="['patrol', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=596; + type="Logic"; + }; + }; + id=627; + atlOffset=-0.0057792664; + }; + class Item85 + { + dataType="Layer"; + name="Utility spawn #1"; + class Entities { + items=3; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={3324.4912,40.801468,4316.0801}; + angles[]={0,6.1719604,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=585; + type="vn_signad_sponsors_f"; + }; + class Item1 + { + dataType="Object"; + class PositionInfo + { + position[]={3322.1328,39.725315,4322.3193}; + angles[]={0.039977662,3.115083,0}; + }; + side="Empty"; + flags=4; + class Attributes + { + }; + id=586; + type="Sign_Arrow_Direction_Green_F"; + }; + class Item2 + { + dataType="Logic"; + class PositionInfo + { + position[]={3322.1772,39.716675,4318.917}; + angles[]={6.2432079,1.5559262,0}; + }; + init="['utility', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=587; + type="Logic"; + }; + }; + id=628; + atlOffset=-0.032196045; + }; + class Item86 + { + dataType="Layer"; + name="Utility spawn #2"; + class Entities + { + items=3; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={3329.8557,40.801468,4299.0596}; + angles[]={0,3.0588372,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=582; + type="vn_signad_sponsors_f"; + }; + class Item1 + { + dataType="Object"; + class PositionInfo + { + position[]={3338.0735,39.71809,4298.0864}; + angles[]={0,1.225379,0}; + }; + side="Empty"; + flags=4; + class Attributes + { + }; + id=583; + type="Sign_Arrow_Direction_Green_F"; + }; + class Item2 + { + dataType="Logic"; + class PositionInfo + { + position[]={3334.7649,39.66,4300.5342}; + angles[]={0,1.5559262,0}; + }; + init="['utility', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=584; + type="Logic"; + }; + }; + id=629; + atlOffset=-0.025402069; + }; + class Item87 + { + dataType="Layer"; + name="Utility spawn #3"; + class Entities + { + items=3; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={3295.3511,40.801468,4320.2148}; + angles[]={0,5.2697382,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=588; + type="vn_signad_sponsors_f"; + }; + class Item1 + { + dataType="Object"; + class PositionInfo + { + position[]={3287.928,39.71809,4321.666}; + angles[]={0,2.6828234,0}; + }; + side="Empty"; + flags=4; + class Attributes + { + }; + id=589; + type="Sign_Arrow_Direction_Green_F"; + }; + class Item2 + { + dataType="Logic"; + class PositionInfo + { + position[]={3292.0234,39.740944,4320.3135}; + angles[]={0,1.1236899,0.039977662}; + }; + init="['utility', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=590; + type="Logic"; + }; }; - id=532; - type="vn_b_wheeled_m151_mg_05"; - atlOffset=0.26379776; + id=630; + atlOffset=-0.032794952; }; - class Item82 + class Item88 { - dataType="Object"; - class PositionInfo - { - position[]={3392.4902,41.819729,4317.8999}; - angles[]={0,3.1162093,0}; - }; - side="Empty"; - class Attributes + dataType="Layer"; + name="Light air spawn #1"; + class Entities { + items=3; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={3225.541,40.801468,4264.8286}; + angles[]={0,3.9849834,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=606; + type="vn_signad_sponsors_f"; + }; + class Item1 + { + dataType="Object"; + class PositionInfo + { + position[]={3219.5349,40.573795,4259.2417}; + angles[]={0,1.5289651,0}; + }; + side="Empty"; + class Attributes + { + }; + id=607; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.60484695; + }; + class Item2 + { + dataType="Logic"; + class PositionInfo + { + position[]={3223.5979,39.66,4265.8018}; + angles[]={0,1.5559262,0}; + }; + init="['air_light', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=608; + type="Logic"; + }; }; - id=533; - type="vn_b_wheeled_m151_mg_06"; - atlOffset=0.25930405; + id=631; + atlOffset=0.21392441; }; - class Item83 + class Item89 { - dataType="Object"; - class PositionInfo - { - position[]={3216.6079,42.812897,4301.9966}; - angles[]={0,3.0881603,0}; - }; - side="Empty"; - flags=4; - class Attributes + dataType="Layer"; + name="Scout air spawn #1"; + class Entities { + items=3; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={3201.2229,40.801468,4263.8901}; + angles[]={0,3.9849834,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=609; + type="vn_signad_sponsors_f"; + }; + class Item1 + { + dataType="Object"; + class PositionInfo + { + position[]={3195.845,40.573795,4258.6157}; + angles[]={0,1.5289651,0}; + }; + side="Empty"; + class Attributes + { + }; + id=610; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.60484695; + }; + class Item2 + { + dataType="Logic"; + class PositionInfo + { + position[]={3199.28,39.66,4264.8628}; + angles[]={0,1.5559262,0}; + }; + init="['air_scout', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=611; + type="Logic"; + }; }; - id=536; - type="vn_b_air_uh1e_02_04"; + id=632; + atlOffset=0.031162262; }; - class Item84 + class Item90 { - dataType="Object"; - class PositionInfo - { - position[]={3191.8711,41.911507,4301.9229}; - angles[]={0,2.6432571,0}; - }; - side="Empty"; - flags=4; - class Attributes + dataType="Layer"; + name="Heavy air support spawn #1"; + class Entities { + items=3; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={3197.5225,40.801468,4294.915}; + angles[]={0,5.2656665,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=615; + type="vn_signad_sponsors_f"; + }; + class Item1 + { + dataType="Object"; + class PositionInfo + { + position[]={3192.092,40.057827,4300.0254}; + angles[]={0,3.0687382,0}; + }; + side="Empty"; + class Attributes + { + }; + id=616; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.088878632; + }; + class Item2 + { + dataType="Logic"; + class PositionInfo + { + position[]={3197.8989,39.66,4297.0552}; + angles[]={0,2.8366139,0}; + }; + init="['air_heavy_fire_support', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=617; + type="Logic"; + }; }; - id=556; - type="vn_i_air_ch34_02_02"; - atlOffset=0.13584137; + id=633; + atlOffset=0.084934235; }; - class Item85 + class Item91 { - dataType="Object"; - class PositionInfo - { - position[]={3329.78,42.994389,4384.583}; - }; - side="Empty"; - flags=4; - class Attributes + dataType="Layer"; + name="Air transport spawn #1"; + class Entities { - name="arsenal_cleanup_0"; + items=3; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={3222.1768,40.801468,4296.3906}; + angles[]={0,5.2656665,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=612; + type="vn_signad_sponsors_f"; + }; + class Item1 + { + dataType="Object"; + class PositionInfo + { + position[]={3216.6946,40.315811,4301.7305}; + angles[]={0,3.0687382,0}; + }; + side="Empty"; + class Attributes + { + }; + id=613; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.34686279; + }; + class Item2 + { + dataType="Logic"; + class PositionInfo + { + position[]={3222.553,39.66,4298.5308}; + angles[]={0,2.8366139,0}; + }; + init="['air_transport', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=614; + type="Logic"; + }; }; - id=557; - type="Land_vn_object_trashcan_01"; + id=634; + atlOffset=0.14943314; }; - class Item86 + class Item92 { - dataType="Object"; - class PositionInfo - { - position[]={3226.9341,39.64196,4249.2656}; - angles[]={6.2631865,0,6.2791886}; - }; - side="Empty"; - flags=4; - class Attributes + dataType="Layer"; + name="Artillery spawn #1"; + class Entities { - name="arsenal_cleanup_1"; + items=3; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={3287.0698,42.63147,4376.3887}; + angles[]={0,5.0928593,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=603; + type="vn_signad_sponsors_f"; + }; + class Item1 + { + dataType="Object"; + class PositionInfo + { + position[]={3277.7078,41.548092,4381.582}; + angles[]={0,3.1166651,0}; + }; + side="Empty"; + flags=4; + class Attributes + { + }; + id=604; + type="Sign_Arrow_Direction_Green_F"; + }; + class Item2 + { + dataType="Logic"; + class PositionInfo + { + position[]={3286.269,41.490002,4378.7139}; + }; + init="['artillery', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=605; + type="Logic"; + }; }; - id=558; - type="Land_vn_object_trashcan_01"; + id=635; }; }; class Connections { class LinkIDProvider { - nextID=41; + nextID=46; }; class Links { - items=41; + items=46; class Item0 { linkID=0; @@ -11056,8 +10661,8 @@ class Mission class Item7 { linkID=7; - item0=259; - item1=116; + item0=299; + item1=115; class CustomData { type="Sync"; @@ -11066,8 +10671,8 @@ class Mission class Item8 { linkID=8; - item0=270; - item1=116; + item0=332; + item1=115; class CustomData { type="Sync"; @@ -11076,8 +10681,8 @@ class Mission class Item9 { linkID=9; - item0=260; - item1=116; + item0=510; + item1=123; class CustomData { type="Sync"; @@ -11086,8 +10691,8 @@ class Mission class Item10 { linkID=10; - item0=261; - item1=116; + item0=565; + item1=566; class CustomData { type="Sync"; @@ -11096,8 +10701,8 @@ class Mission class Item11 { linkID=11; - item0=262; - item1=116; + item0=564; + item1=566; class CustomData { type="Sync"; @@ -11106,8 +10711,8 @@ class Mission class Item12 { linkID=12; - item0=263; - item1=116; + item0=568; + item1=569; class CustomData { type="Sync"; @@ -11116,8 +10721,8 @@ class Mission class Item13 { linkID=13; - item0=266; - item1=116; + item0=567; + item1=569; class CustomData { type="Sync"; @@ -11126,8 +10731,8 @@ class Mission class Item14 { linkID=14; - item0=264; - item1=116; + item0=571; + item1=572; class CustomData { type="Sync"; @@ -11136,8 +10741,8 @@ class Mission class Item15 { linkID=15; - item0=267; - item1=116; + item0=570; + item1=572; class CustomData { type="Sync"; @@ -11146,8 +10751,8 @@ class Mission class Item16 { linkID=16; - item0=343; - item1=116; + item0=574; + item1=575; class CustomData { type="Sync"; @@ -11156,8 +10761,8 @@ class Mission class Item17 { linkID=17; - item0=336; - item1=116; + item0=573; + item1=575; class CustomData { type="Sync"; @@ -11166,8 +10771,8 @@ class Mission class Item18 { linkID=18; - item0=341; - item1=116; + item0=578; + item1=576; class CustomData { type="Sync"; @@ -11176,8 +10781,8 @@ class Mission class Item19 { linkID=19; - item0=340; - item1=116; + item0=577; + item1=576; class CustomData { type="Sync"; @@ -11186,8 +10791,8 @@ class Mission class Item20 { linkID=20; - item0=339; - item1=116; + item0=580; + item1=581; class CustomData { type="Sync"; @@ -11196,8 +10801,8 @@ class Mission class Item21 { linkID=21; - item0=338; - item1=116; + item0=579; + item1=581; class CustomData { type="Sync"; @@ -11206,8 +10811,8 @@ class Mission class Item22 { linkID=22; - item0=337; - item1=116; + item0=583; + item1=584; class CustomData { type="Sync"; @@ -11216,8 +10821,8 @@ class Mission class Item23 { linkID=23; - item0=335; - item1=116; + item0=582; + item1=584; class CustomData { type="Sync"; @@ -11226,8 +10831,8 @@ class Mission class Item24 { linkID=24; - item0=299; - item1=115; + item0=586; + item1=587; class CustomData { type="Sync"; @@ -11236,8 +10841,8 @@ class Mission class Item25 { linkID=25; - item0=332; - item1=115; + item0=585; + item1=587; class CustomData { type="Sync"; @@ -11246,8 +10851,8 @@ class Mission class Item26 { linkID=26; - item0=510; - item1=123; + item0=589; + item1=590; class CustomData { type="Sync"; @@ -11256,8 +10861,8 @@ class Mission class Item27 { linkID=27; - item0=525; - item1=116; + item0=588; + item1=590; class CustomData { type="Sync"; @@ -11266,8 +10871,8 @@ class Mission class Item28 { linkID=28; - item0=526; - item1=116; + item0=592; + item1=593; class CustomData { type="Sync"; @@ -11276,8 +10881,8 @@ class Mission class Item29 { linkID=29; - item0=532; - item1=116; + item0=591; + item1=593; class CustomData { type="Sync"; @@ -11286,8 +10891,8 @@ class Mission class Item30 { linkID=30; - item0=533; - item1=116; + item0=595; + item1=596; class CustomData { type="Sync"; @@ -11296,8 +10901,8 @@ class Mission class Item31 { linkID=31; - item0=517; - item1=116; + item0=594; + item1=596; class CustomData { type="Sync"; @@ -11306,8 +10911,8 @@ class Mission class Item32 { linkID=32; - item0=518; - item1=116; + item0=598; + item1=599; class CustomData { type="Sync"; @@ -11316,8 +10921,8 @@ class Mission class Item33 { linkID=33; - item0=488; - item1=116; + item0=597; + item1=599; class CustomData { type="Sync"; @@ -11326,8 +10931,8 @@ class Mission class Item34 { linkID=34; - item0=528; - item1=116; + item0=601; + item1=602; class CustomData { type="Sync"; @@ -11336,8 +10941,8 @@ class Mission class Item35 { linkID=35; - item0=531; - item1=116; + item0=600; + item1=602; class CustomData { type="Sync"; @@ -11346,8 +10951,8 @@ class Mission class Item36 { linkID=36; - item0=556; - item1=116; + item0=604; + item1=605; class CustomData { type="Sync"; @@ -11356,8 +10961,8 @@ class Mission class Item37 { linkID=37; - item0=536; - item1=116; + item0=603; + item1=605; class CustomData { type="Sync"; @@ -11366,8 +10971,8 @@ class Mission class Item38 { linkID=38; - item0=508; - item1=116; + item0=607; + item1=608; class CustomData { type="Sync"; @@ -11376,8 +10981,8 @@ class Mission class Item39 { linkID=39; - item0=507; - item1=116; + item0=606; + item1=608; class CustomData { type="Sync"; @@ -11386,8 +10991,58 @@ class Mission class Item40 { linkID=40; - item0=509; - item1=116; + item0=610; + item1=611; + class CustomData + { + type="Sync"; + }; + }; + class Item41 + { + linkID=41; + item0=609; + item1=611; + class CustomData + { + type="Sync"; + }; + }; + class Item42 + { + linkID=42; + item0=613; + item1=614; + class CustomData + { + type="Sync"; + }; + }; + class Item43 + { + linkID=43; + item0=612; + item1=614; + class CustomData + { + type="Sync"; + }; + }; + class Item44 + { + linkID=44; + item0=616; + item1=617; + class CustomData + { + type="Sync"; + }; + }; + class Item45 + { + linkID=45; + item0=615; + item1=617; class CustomData { type="Sync"; From 896e211a06b1bc9ee03cfddb1c9e0a690ebf2827 Mon Sep 17 00:00:00 2001 From: Spoffy Date: Sun, 11 Jun 2023 03:45:45 +0100 Subject: [PATCH 16/34] Converts "Khe Sanh" to new spawn points --- maps/vn_khe_sanh/mission.sqm | 5647 +++++++++-------- .../subconfigs/vehicle_respawn_info.hpp | 9 +- 2 files changed, 2845 insertions(+), 2811 deletions(-) diff --git a/maps/vn_khe_sanh/mission.sqm b/maps/vn_khe_sanh/mission.sqm index fb685cb4..178c6ef0 100644 --- a/maps/vn_khe_sanh/mission.sqm +++ b/maps/vn_khe_sanh/mission.sqm @@ -8,7 +8,7 @@ class EditorData toggles=513; class ItemIDProvider { - nextID=532; + nextID=659; }; class MarkerIDProvider { @@ -16,14 +16,14 @@ class EditorData }; class LayerIndexProvider { - nextID=350; + nextID=403; }; class Camera { - pos[]={10776.102,123.17664,3167.8069}; - dir[]={0.94581479,-0.29522878,0.13518327}; - up[]={0.29225874,0.95542657,0.041771911}; - aside[]={0.14148997,0,-0.98993981}; + pos[]={10770.56,155.37546,3277.2134}; + dir[]={0.29202917,-0.59953749,-0.74516696}; + up[]={0.21875824,0.80034667,-0.55820251}; + aside[]={-0.93105525,0,-0.36487836}; }; }; binarizationWanted=0; @@ -38,25 +38,20 @@ addons[]= "A3_Props_F_Exp_Military_Camps", "A3_Props_F_Enoch_Military_Camps", "objects_f_vietnam_c", - "air_f_vietnam_c", - "wheeled_f_vietnam_c", - "armor_f_vietnam_c", - "wheeled_f_vietnam_02_c", - "air_f_vietnam_02_c", "structures_f_vietnam_c", "A3_Structures_F_Heli_Civ_Constructions", "weapons_f_vietnam_c", + "wheeled_f_vietnam_c", "A3_Structures_F_Items_Tools", "characters_f_vietnam_c", "sounds_f_vietnam_c", - "armor_f_vietnam_02_c", - "wheeled_f_vietnam_03_c" + "A3_Misc_F_Helpers" }; class AddonsMetaData { class List { - items=21; + items=16; class Item0 { className="A3_Ui_F"; @@ -115,93 +110,58 @@ class AddonsMetaData }; class Item8 { - className="air_f_vietnam_c"; - name="air_f_vietnam_c"; + className="structures_f_vietnam_c"; + name="structures_f_vietnam_c"; author="Savage Game Design"; url="https://www.arma3.com"; }; class Item9 { - className="wheeled_f_vietnam_c"; - name="wheeled_f_vietnam_c"; - author="Savage Game Design"; + className="A3_Structures_F_Heli"; + name="Arma 3 Helicopters - Buildings and Structures"; + author="Bohemia Interactive"; url="https://www.arma3.com"; }; class Item10 { - className="armor_f_vietnam_c"; - name="armor_f_vietnam_c"; + className="weapons_f_vietnam_c"; + name="weapons_f_vietnam_c"; author="Savage Game Design"; url="https://www.arma3.com"; }; class Item11 { - className="wheeled_f_vietnam_02_c"; - name="wheeled_f_vietnam_02_c"; + className="wheeled_f_vietnam_c"; + name="wheeled_f_vietnam_c"; author="Savage Game Design"; url="https://www.arma3.com"; }; class Item12 - { - className="air_f_vietnam_02_c"; - name="air_f_vietnam_02_c"; - author="Savage Game Design"; - url="https://www.arma3.com"; - }; - class Item13 - { - className="structures_f_vietnam_c"; - name="structures_f_vietnam_c"; - author="Savage Game Design"; - url="https://www.arma3.com"; - }; - class Item14 - { - className="A3_Structures_F_Heli"; - name="Arma 3 Helicopters - Buildings and Structures"; - author="Bohemia Interactive"; - url="https://www.arma3.com"; - }; - class Item15 - { - className="weapons_f_vietnam_c"; - name="weapons_f_vietnam_c"; - author="Savage Game Design"; - url="https://www.arma3.com"; - }; - class Item16 { className="A3_Structures_F"; name="Arma 3 - Buildings and Structures"; author="Bohemia Interactive"; url="https://www.arma3.com"; }; - class Item17 + class Item13 { className="characters_f_vietnam_c"; name="characters_f_vietnam_c"; author="Savage Game Design"; url="https://www.arma3.com"; }; - class Item18 + class Item14 { className="sounds_f_vietnam_c"; name="sounds_f_vietnam_c"; author="Savage Game Design"; url="https://www.arma3.com"; }; - class Item19 - { - className="armor_f_vietnam_02_c"; - name="armor_f_vietnam_02_c"; - author="Savage Game Design"; - url="https://www.arma3.com"; - }; - class Item20 + class Item15 { - className="wheeled_f_vietnam_03_c"; - name="wheeled_f_vietnam_03_c"; - author="Savage Game Design"; + className="A3_Misc_F"; + name="Arma 3 - 3D Aids and Helpers"; + author="Bohemia Interactive"; url="https://www.arma3.com"; }; }; @@ -223,6 +183,7 @@ class DynamicSimulation }; dlcs[]= { + "VN", "Expansion", "Heli" }; @@ -257,13 +218,7 @@ class CustomAttributes { class data { - class type - { - type[]= - { - "ARRAY" - }; - }; + singleType="ARRAY"; }; }; }; @@ -1061,13 +1016,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=0; }; }; @@ -1080,13 +1029,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="['vn_b_item_firstaidkit','vn_o_item_firstaidkit','vn_b_item_medikit_01', 'FirstAidKit', 'Medikit']"; }; }; @@ -1099,13 +1042,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1; }; }; @@ -1118,13 +1055,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=0; }; }; @@ -1137,13 +1068,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=300; }; }; @@ -1156,13 +1081,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="['vn_b_item_firstaidkit','vn_o_item_firstaidkit','vn_b_item_medikit_01', 'FirstAidKit', 'Medikit']"; }; }; @@ -1175,13 +1094,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=5; }; }; @@ -1194,13 +1107,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=1; }; }; @@ -1213,13 +1120,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=100; }; }; @@ -1232,13 +1133,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1; }; }; @@ -1251,13 +1146,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=75; }; }; @@ -1270,13 +1159,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=80; }; }; @@ -1289,13 +1172,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=50; }; }; @@ -1308,13 +1185,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=75; }; }; @@ -1343,13 +1214,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="[""Land_vn_us_vehicleammo"", ""Land_vn_usaf_fueltank_75_01""]"; }; }; @@ -1362,13 +1227,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="[""Land_vn_us_vehicleammo"", ""Land_vn_usaf_fueltank_75_01""]"; }; }; @@ -1381,13 +1240,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="[""Land_vn_us_vehicleammo"", ""Land_vn_usaf_fueltank_75_01""]"; }; }; @@ -1428,13 +1281,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="#adminLogged"; }; }; @@ -1447,13 +1294,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=0; }; }; @@ -1466,13 +1307,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Zeus (Admin)"; }; }; @@ -1485,13 +1320,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=3; }; }; @@ -1563,13 +1392,7 @@ class Mission class data { nil=1; - class type - { - type[]= - { - "ANY" - }; - }; + singleType="ANY"; }; }; }; @@ -1596,13 +1419,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=25; }; }; @@ -1630,13 +1447,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=0; }; }; @@ -1649,13 +1460,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=2; }; }; @@ -1668,13 +1473,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="[""vn_mikeforce""]"; }; }; @@ -1687,13 +1486,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1; }; }; @@ -1724,7 +1517,7 @@ class Mission }; id=76; type="Land_SatelliteAntenna_01_F"; - atlOffset=11.670013; + atlOffset=10.816376; class CustomAttributes { class Attribute0 @@ -1735,13 +1528,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -1751,7 +1538,7 @@ class Mission }; }; id=124; - atlOffset=11.670013; + atlOffset=10.816376; }; class Item15 { @@ -2272,13 +2059,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -2312,13 +2093,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -2353,13 +2128,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -2393,13 +2162,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -2574,503 +2337,533 @@ class Mission class Item36 { dataType="Layer"; - name="Vehicles"; + name="Rearm Points"; class Entities { - items=28; + items=14; class Item0 { dataType="Object"; class PositionInfo { - position[]={10934.136,101.33114,3056.5471}; - angles[]={0,1.7030923,0}; + position[]={10958.555,100.28262,2843.2244}; + angles[]={0,5.2381749,0}; }; side="Empty"; - flags=4; + flags=5; class Attributes { + disableSimulation=1; }; - id=222; - type="vn_b_air_uh1d_02_06"; - atlOffset=0.0001373291; - }; - class Item1 - { - dataType="Object"; - class PositionInfo - { - position[]={11020.67,101.36882,3178.03}; - angles[]={0,4.658144,0}; - }; - side="Empty"; - flags=4; - class Attributes + id=225; + type="Land_vn_usaf_fueltank_75_01"; + atlOffset=7.6293945e-006; + class CustomAttributes { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=223; - type="vn_b_air_f4c_bmb"; - atlOffset=0.0039978027; }; - class Item2 + class Item1 { dataType="Object"; class PositionInfo { - position[]={10741.526,100.88658,3107.3875}; - angles[]={0,1.6513782,0}; + position[]={10962.687,98.444275,2838.3218}; + angles[]={0,0.93193567,0}; }; side="Empty"; class Attributes { + disableSimulation=1; }; - id=259; - type="vn_b_wheeled_m54_repair"; - atlOffset=0.50900269; - }; - class Item3 - { - dataType="Object"; - class PositionInfo - { - position[]={10742.545,101.01,3113.136}; - angles[]={0,1.6091063,0}; - }; - side="Empty"; - class Attributes + id=226; + type="Land_vn_us_vehicleammo"; + atlOffset=0.29058075; + class CustomAttributes { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=260; - type="vn_b_wheeled_m54_fuel"; - atlOffset=0.56300354; }; - class Item4 + class Item2 { dataType="Object"; class PositionInfo { - position[]={10742.084,101.35867,3101.5081}; - angles[]={0,1.5511439,0}; + position[]={10942.73,100.28697,3124.3521}; + angles[]={0,1.6040763,0}; }; side="Empty"; + flags=5; class Attributes { + disableSimulation=1; + }; + id=243; + type="Land_vn_usaf_fueltank_75_01"; + atlOffset=0.0024261475; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=261; - type="vn_b_wheeled_m54_ammo"; - atlOffset=0.69999695; }; - class Item5 + class Item3 { dataType="Object"; class PositionInfo { - position[]={10766.161,101.36835,3099.9189}; - angles[]={6.232553,4.7808232,6.1558809}; + position[]={10930.979,98.477654,3045.3894}; + angles[]={0,0.93193567,0}; }; side="Empty"; flags=4; class Attributes { + disableSimulation=1; }; - id=262; - type="vn_b_wheeled_m54_mg_03"; - atlOffset=0.13500977; - }; - class Item6 - { - dataType="Object"; - class PositionInfo - { - position[]={10767.956,100.98159,3127.9106}; - angles[]={0,0.10993829,0}; - }; - side="Empty"; - class Attributes + id=244; + type="Land_vn_us_vehicleammo"; + class CustomAttributes { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=263; - type="vn_b_wheeled_m54_01"; - atlOffset=0.34300232; }; - class Item7 + class Item4 { dataType="Object"; class PositionInfo { - position[]={10767.364,100.99353,3115.637}; - angles[]={0,0.10993829,0}; + position[]={11008.53,100.28455,3150.2534}; + angles[]={0,2.3948278,0}; }; side="Empty"; + flags=5; class Attributes { + disableSimulation=1; + }; + id=245; + type="Land_vn_usaf_fueltank_75_01"; + atlOffset=7.6293945e-006; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=266; - type="vn_b_wheeled_m54_01"; - atlOffset=0.34900665; }; - class Item8 + class Item5 { dataType="Object"; class PositionInfo { - position[]={10762.392,100.91317,3128.4985}; - angles[]={0,0.086079642,0}; + position[]={11006.426,98.477654,3143.9031}; + angles[]={-0,0.93193567,0}; }; side="Empty"; + flags=4; class Attributes { + disableSimulation=1; + }; + id=246; + type="Land_vn_us_vehicleammo"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=264; - type="vn_b_wheeled_m54_02"; - atlOffset=0.27301025; }; - class Item9 + class Item6 { dataType="Object"; class PositionInfo { - position[]={10762.257,100.96949,3116.137}; - angles[]={0,0.086079642,0}; + position[]={10684.189,100.31951,3128.7971}; + angles[]={0,0.091308936,0}; }; side="Empty"; + flags=5; class Attributes { + disableSimulation=1; + }; + id=247; + type="Land_vn_usaf_fueltank_75_01"; + atlOffset=0.10496521; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=267; - type="vn_b_wheeled_m54_02"; - atlOffset=0.3219986; }; - class Item10 + class Item7 { dataType="Object"; class PositionInfo { - position[]={10765.862,101.48409,3104.6289}; - angles[]={6.2458701,4.7788682,6.1480098}; + position[]={10729.88,98.465004,3122.8831}; + angles[]={6.2751846,0.032469664,0.0053265258}; }; side="Empty"; flags=4; class Attributes { + disableSimulation=1; }; - id=270; - type="vn_b_armor_m41_01_01"; - atlOffset=0.2480011; - }; - class Item11 - { - dataType="Object"; - class PositionInfo - { - position[]={10704.258,101.50778,3112.7095}; - angles[]={0,0.097082831,0}; - }; - side="Empty"; - class Attributes + id=248; + type="Land_vn_us_vehicleammo"; + atlOffset=0.04221344; + class CustomAttributes { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=275; - type="vn_b_air_oh6a_01"; - atlOffset=0.72298431; }; - class Item12 + class Item8 { dataType="Object"; class PositionInfo { - position[]={10722.309,101.18925,3112.3589}; - angles[]={0,0.15235442,0}; + position[]={10694.339,98.422424,3103.9429}; + angles[]={0,0.032469664,6.2778587}; }; side="Empty"; + flags=4; class Attributes { + disableSimulation=1; + }; + id=250; + type="Land_vn_us_vehicleammo"; + atlOffset=-0.0018844604; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=276; - type="vn_b_air_oh6a_01"; - atlOffset=0.40903473; }; - class Item13 + class Item9 { dataType="Object"; class PositionInfo { - position[]={10934.11,101.33114,2997.4709}; - angles[]={0,1.7030923,0}; + position[]={10619.319,100.27091,3224.5029}; + angles[]={0,4.2441587,0}; }; side="Empty"; - flags=4; + flags=5; class Attributes { + disableSimulation=1; + }; + id=278; + type="Land_vn_usaf_fueltank_75_01"; + atlOffset=-0.022399902; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=309; - type="vn_b_air_uh1d_02_06"; - atlOffset=0.0001373291; }; - class Item14 + class Item10 { dataType="Object"; class PositionInfo { - position[]={10935.078,100.51959,3084.001}; - angles[]={0,1.5659443,0}; + position[]={10643.055,98.669807,3230.7146}; + angles[]={6.2432079,0.93193567,6.2778587}; }; side="Empty"; flags=4; class Attributes { + disableSimulation=1; + }; + id=279; + type="Land_vn_us_vehicleammo"; + atlOffset=0.13736725; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=296; - type="vn_b_air_ch34_01_01"; - atlOffset=0.027000427; }; - class Item15 + class Item11 { dataType="Object"; class PositionInfo { - position[]={10935.66,100.52143,3115.1162}; - angles[]={0,1.5659443,0}; + position[]={10941.926,98.477402,3004.864}; + angles[]={0,0.93193567,0}; }; side="Empty"; flags=4; class Attributes { + disableSimulation=1; + }; + id=299; + type="Land_vn_us_vehicleammo"; + atlOffset=-0.00025177002; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=288; - type="vn_b_air_ch34_01_01"; - atlOffset=0.027999878; }; - class Item16 + class Item12 { dataType="Object"; class PositionInfo { - position[]={11014.347,101.7522,3138.0901}; - angles[]={0,4.6843591,0}; + position[]={10929.203,100.28455,3074.3518}; + angles[]={0,4.9425664,0}; }; side="Empty"; + flags=5; class Attributes { + disableSimulation=1; }; - id=282; - type="vn_b_air_uh1c_03_01"; - atlOffset=0.34201813; - }; - class Item17 - { - dataType="Object"; - class PositionInfo - { - position[]={10934.606,101.41387,3027.4973}; - angles[]={0,1.6527569,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=303; - type="vn_b_air_uh1c_07_01"; - atlOffset=0.0001373291; - }; - class Item18 - { - dataType="Object"; - class PositionInfo - { - position[]={10687.527,101.51598,3112.8271}; - angles[]={0,0.097082831,0}; - }; - side="Empty"; - class Attributes - { - }; - id=334; - type="vn_b_air_oh6a_01"; - atlOffset=0.72628784; - }; - class Item19 - { - dataType="Object"; - class PositionInfo - { - position[]={10633.683,100.07053,3247.9392}; - angles[]={6.2645249,3.1990349,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=338; - type="vn_b_wheeled_m151_02"; - atlOffset=-0.00019073486; - }; - class Item20 - { - dataType="Object"; - class PositionInfo - { - position[]={10630.098,100.06947,3248.1394}; - angles[]={6.2671909,3.0684319,0.0026520467}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=337; - type="vn_b_wheeled_m151_02"; - atlOffset=-0.0001449585; - }; - class Item21 - { - dataType="Object"; - class PositionInfo - { - position[]={10606.867,100.2728,3236.1184}; - angles[]={6.2272449,1.6967816,0.015994642}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=343; - type="vn_c_car_04_01"; - atlOffset=-0.0026397705; - }; - class Item22 - { - dataType="Object"; - class PositionInfo - { - position[]={10617.685,100.5924,3229.99}; - angles[]={6.2751846,1.926939,0.0026520467}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=336; - type="vn_b_wheeled_m151_mg_02"; - atlOffset=-0.00022125244; - }; - class Item23 - { - dataType="Object"; - class PositionInfo - { - position[]={10642.203,100.58794,3238.0374}; - angles[]={0,4.2508302,0.0053265258}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=335; - type="vn_b_wheeled_m151_mg_04"; - atlOffset=-6.1035156e-005; - }; - class Item24 - { - dataType="Object"; - class PositionInfo - { - position[]={10607.869,100.20319,3240.0957}; - angles[]={0.018667053,1.8529987,0.021331646}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=341; - type="vn_c_car_02_01"; - atlOffset=-0.00077819824; - }; - class Item25 - { - dataType="Object"; - class PositionInfo - { - position[]={10609.419,100.24665,3243.5823}; - angles[]={0.013332055,1.7577028,6.2192712}; - }; - side="Empty"; - flags=4; - class Attributes + id=332; + type="Land_vn_usaf_fueltank_75_01"; + atlOffset=7.6293945e-006; + class CustomAttributes { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=340; - type="vn_c_car_03_01"; - atlOffset=-0.00048065186; }; - class Item26 + class Item13 { dataType="Object"; class PositionInfo { - position[]={10610.198,99.932426,3247.9019}; - angles[]={0.029326396,1.8696464,6.2698488}; + position[]={10927.112,100.28455,3037.4473}; + angles[]={0,0.033125326,0}; }; side="Empty"; - flags=4; + flags=5; class Attributes { + disableSimulation=1; }; - id=339; - type="vn_c_car_01_01"; - atlOffset=-0.00066375732; - }; - class Item27 - { - dataType="Object"; - class PositionInfo - { - position[]={11014.85,101.42204,3212.6023}; - angles[]={0,4.6918983,0}; - }; - side="Empty"; - flags=4; - class Attributes + id=333; + type="Land_vn_usaf_fueltank_75_01"; + atlOffset=7.6293945e-006; + class CustomAttributes { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=531; - type="vn_b_air_uh1e_02_04"; - atlOffset=1.5258789e-005; }; }; - id=221; - atlOffset=0.048355103; + id=224; + atlOffset=0.90512085; }; class Item37 { dataType="Layer"; - name="Rearm Points"; + name="Vehicles_1"; + id=251; + atlOffset=-36.689999; + }; + class Item38 + { + dataType="Layer"; + name="Wreck Bay"; class Entities { - items=14; + items=19; class Item0 { dataType="Object"; class PositionInfo { - position[]={10958.555,100.28262,2843.2244}; - angles[]={0,5.2381749,0}; + position[]={10951.313,96.420792,2784.7136}; + angles[]={6.1177735,1.3891909,6.2738123}; }; side="Empty"; - flags=5; + flags=4; class Attributes { + createAsSimpleObject=1; disableSimulation=1; }; - id=225; - type="Land_vn_usaf_fueltank_75_01"; - atlOffset=7.6293945e-006; + id=310; + type="Land_ToolTrolley_02_F"; + atlOffset=-0.019378662; class CustomAttributes { class Attribute0 @@ -3081,13 +2874,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -3100,17 +2887,19 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10962.687,98.444275,2838.3218}; - angles[]={0,0.93193567,0}; + position[]={10946.746,97.097275,2789.2881}; + angles[]={6.2481737,5.3985548,6.2603922}; }; side="Empty"; + flags=4; class Attributes { + createAsSimpleObject=1; disableSimulation=1; }; - id=226; - type="Land_vn_us_vehicleammo"; - atlOffset=0.29058075; + id=311; + type="Land_WeldingTrolley_01_F"; + atlOffset=-0.0023269653; class CustomAttributes { class Attribute0 @@ -3121,13 +2910,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -3140,18 +2923,18 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10942.73,100.28697,3124.3521}; - angles[]={0,1.6040763,0}; + position[]={10942.355,96.461349,2792.5854}; + angles[]={6.2796474,2.1677327,0}; }; side="Empty"; - flags=5; + flags=4; class Attributes { disableSimulation=1; }; - id=243; - type="Land_vn_usaf_fueltank_75_01"; - atlOffset=0.0024261475; + id=312; + type="Land_vn_usaf_fueltank_10_case_01"; + atlOffset=-0.0024414063; class CustomAttributes { class Attribute0 @@ -3162,13 +2945,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -3181,8 +2958,8 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10930.979,98.477654,3045.3894}; - angles[]={0,0.93193567,0}; + position[]={10943.807,96.464828,2793.98}; + angles[]={6.2828403,2.5430562,6.2826972}; }; side="Empty"; flags=4; @@ -3190,8 +2967,9 @@ class Mission { disableSimulation=1; }; - id=244; - type="Land_vn_us_vehicleammo"; + id=313; + type="Land_vn_usaf_fueltank_10_case_01"; + atlOffset=-0.0016860962; class CustomAttributes { class Attribute0 @@ -3202,13 +2980,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -3221,8 +2993,8 @@ class Mission dataType="Object"; class PositionInfo { - position[]={11008.53,100.28455,3150.2534}; - angles[]={0,2.3948278,0}; + position[]={10940.149,97.826599,2800.2393}; + angles[]={0,1.6501826,0}; }; side="Empty"; flags=5; @@ -3230,9 +3002,9 @@ class Mission { disableSimulation=1; }; - id=245; - type="Land_vn_usaf_fueltank_75_01"; - atlOffset=7.6293945e-006; + id=314; + type="Land_vn_fuel_tank_stairs"; + atlOffset=-0.0032806396; class CustomAttributes { class Attribute0 @@ -3243,13 +3015,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -3262,17 +3028,17 @@ class Mission dataType="Object"; class PositionInfo { - position[]={11021.739,98.477654,3201.8682}; - angles[]={0,0.93193567,0}; + position[]={10974.189,97.816254,2801.1353}; }; side="Empty"; - flags=4; + flags=5; class Attributes { disableSimulation=1; }; - id=246; - type="Land_vn_us_vehicleammo"; + id=315; + type="Land_vn_workshop_04_f"; + atlOffset=-0.0032806396; class CustomAttributes { class Attribute0 @@ -3283,13 +3049,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -3302,18 +3062,18 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10684.189,100.31951,3128.7971}; - angles[]={0,0.091308936,0}; + position[]={10953.699,96.126373,2785.8857}; + angles[]={6.1177735,4.2622986,6.2738123}; }; side="Empty"; - flags=5; + flags=4; class Attributes { disableSimulation=1; }; - id=247; - type="Land_vn_usaf_fueltank_75_01"; - atlOffset=0.10496521; + id=316; + type="vn_b_ammobox_supply_06"; + atlOffset=-0.0028915405; class CustomAttributes { class Attribute0 @@ -3324,13 +3084,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -3343,8 +3097,8 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10729.88,98.465004,3122.8831}; - angles[]={6.2751846,0.032469664,0.0053265258}; + position[]={10941.577,96.463768,2805.7412}; + angles[]={0.0030493166,0.42233917,0}; }; side="Empty"; flags=4; @@ -3352,9 +3106,9 @@ class Mission { disableSimulation=1; }; - id=248; - type="Land_vn_us_vehicleammo"; - atlOffset=0.04221344; + id=317; + type="vn_b_ammobox_supply_06"; + atlOffset=-0.0023117065; class CustomAttributes { class Attribute0 @@ -3365,13 +3119,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -3384,8 +3132,8 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10694.339,98.422424,3103.9429}; - angles[]={0,0.032469664,6.2778587}; + position[]={10969.886,96.419823,2793.2451}; + angles[]={6.2252331,5.8389025,0.0016558425}; }; side="Empty"; flags=4; @@ -3393,9 +3141,9 @@ class Mission { disableSimulation=1; }; - id=250; - type="Land_vn_us_vehicleammo"; - atlOffset=-0.0018844604; + id=318; + type="vn_b_ammobox_supply_06"; + atlOffset=-0.0036239624; class CustomAttributes { class Attribute0 @@ -3406,13 +3154,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -3425,18 +3167,18 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10619.319,100.27091,3224.5029}; - angles[]={0,4.2441587,0}; + position[]={10946.207,97.575806,2785.9233}; + angles[]={6.2481751,4.66465,6.2796812}; }; side="Empty"; - flags=5; + flags=4; class Attributes { disableSimulation=1; }; - id=278; - type="Land_vn_usaf_fueltank_75_01"; - atlOffset=-0.022399902; + id=319; + type="vn_wheeled_m54_01_wreck"; + atlOffset=-0.028991699; class CustomAttributes { class Attribute0 @@ -3447,13 +3189,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -3466,18 +3202,18 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10643.055,98.669807,3230.7146}; - angles[]={6.2432079,0.93193567,6.2778587}; + position[]={10968.154,96.971321,2784.2065}; + angles[]={0,5.122736,0}; }; side="Empty"; - flags=4; class Attributes { + createAsSimpleObject=1; disableSimulation=1; }; - id=279; - type="Land_vn_us_vehicleammo"; - atlOffset=0.13736725; + id=320; + type="Land_ToolTrolley_01_F"; + atlOffset=0.2695694; class CustomAttributes { class Attribute0 @@ -3488,13 +3224,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -3507,18 +3237,18 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10941.926,98.477402,3004.864}; - angles[]={0,0.93193567,0}; + position[]={10968.221,96.847076,2784.2095}; + angles[]={0,4.9140701,0}; }; side="Empty"; - flags=4; class Attributes { + createAsSimpleObject=1; disableSimulation=1; }; - id=299; - type="Land_vn_us_vehicleammo"; - atlOffset=-0.00025177002; + id=321; + type="Land_Grinder_F"; + atlOffset=0.55956268; class CustomAttributes { class Attribute0 @@ -3529,13 +3259,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -3548,18 +3272,19 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10929.203,100.28455,3074.3518}; - angles[]={0,4.9425664,0}; + position[]={10972.545,96.921799,2786.9478}; + angles[]={6.2593417,1.6249036,0.042985927}; }; side="Empty"; - flags=5; + flags=4; class Attributes { + createAsSimpleObject=1; disableSimulation=1; }; - id=332; - type="Land_vn_usaf_fueltank_75_01"; - atlOffset=7.6293945e-006; + id=322; + type="Land_WeldingTrolley_01_F"; + atlOffset=0.05670929; class CustomAttributes { class Attribute0 @@ -3570,13 +3295,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -3589,18 +3308,17 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10927.112,100.28455,3037.4473}; - angles[]={0,0.033125326,0}; + position[]={10970.923,96.470474,2798.6934}; }; side="Empty"; - flags=5; + flags=4; class Attributes { disableSimulation=1; }; - id=333; - type="Land_vn_usaf_fueltank_75_01"; - atlOffset=7.6293945e-006; + id=323; + type="Land_vn_canister_ep1"; + atlOffset=-0.0035934448; class CustomAttributes { class Attribute0 @@ -3611,13 +3329,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -3625,226 +3337,128 @@ class Mission nAttributes=1; }; }; - }; - id=224; - atlOffset=0.88314819; - }; - class Item38 - { - dataType="Object"; - class PositionInfo - { - position[]={11019.159,101.15855,3178.366}; - angles[]={0,1.5513185,0}; - }; - side="Empty"; - flags=5; - class Attributes - { - disableSimulation=1; - }; - id=227; - type="Land_vn_airport_01_hangar_f"; - class CustomAttributes - { - class Attribute0 + class Item14 { - property="DoorStates"; - expression="['init',_this,_value] call bis_fnc_3DENAttributeDoorStates;"; - class Value + dataType="Object"; + class PositionInfo { - class data + position[]={10970.597,96.466171,2809.1069}; + }; + side="Empty"; + flags=4; + class Attributes + { + createAsSimpleObject=1; + disableSimulation=1; + }; + id=325; + type="Land_vn_steeldrum_closed_04"; + atlOffset=-0.0032501221; + class CustomAttributes + { + class Attribute0 { - class type + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - type[]= + class data { - "ARRAY" + singleType="BOOL"; + value=0; }; }; - class value + }; + nAttributes=1; + }; + }; + class Item15 + { + dataType="Object"; + class PositionInfo + { + position[]={10969.721,96.466171,2809.9849}; + }; + side="Empty"; + flags=4; + class Attributes + { + createAsSimpleObject=1; + disableSimulation=1; + }; + id=326; + type="Land_vn_steeldrum_closed_04"; + atlOffset=-0.0032501221; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - items=3; - class Item0 - { - class data - { - class type - { - type[]= - { - "SCALAR" - }; - }; - value=42; - }; - }; - class Item1 - { - class data - { - class type - { - type[]= - { - "SCALAR" - }; - }; - value=0; - }; - }; - class Item2 + class data { - class data - { - class type - { - type[]= - { - "SCALAR" - }; - }; - value=0; - }; + singleType="BOOL"; + value=0; }; }; }; + nAttributes=1; }; }; - class Attribute1 + class Item16 { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value + dataType="Object"; + class PositionInfo { - class data + position[]={10970.518,96.466171,2810.3213}; + }; + side="Empty"; + flags=4; + class Attributes + { + createAsSimpleObject=1; + disableSimulation=1; + }; + id=327; + type="Land_vn_steeldrum_closed_04"; + atlOffset=-0.0032501221; + class CustomAttributes + { + class Attribute0 { - class type + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - type[]= + class data { - "BOOL" + singleType="BOOL"; + value=0; }; }; - value=0; }; + nAttributes=1; }; }; - nAttributes=2; - }; - }; - class Item39 - { - dataType="Object"; - class PositionInfo - { - position[]={11016.247,98.480003,3137.9763}; - angles[]={0,1.5685449,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=230; - type="Land_vn_usaf_revetment_helipad_01"; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; - }; - }; - class Item40 - { - dataType="Object"; - class PositionInfo - { - position[]={11016.52,99.813133,3213.1365}; - angles[]={0,3.1598423,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=232; - type="Land_vn_usaf_revetment_helipad_02"; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; - }; - }; - class Item41 - { - dataType="Layer"; - name="Vehicles_1"; - id=251; - atlOffset=-36.689999; - }; - class Item42 - { - dataType="Layer"; - name="Wreck Bay"; - class Entities - { - items=19; - class Item0 + class Item17 { dataType="Object"; class PositionInfo { - position[]={10951.313,96.420792,2784.7136}; - angles[]={6.1177735,1.3891909,6.2738123}; + position[]={10962.561,97.815132,2784.8501}; + angles[]={0.040745787,6.1005411,6.2072272}; }; side="Empty"; flags=4; class Attributes { - createAsSimpleObject=1; disableSimulation=1; }; - id=310; - type="Land_ToolTrolley_02_F"; - atlOffset=-0.019378662; + id=328; + type="vn_us_komex_medium_01"; + atlOffset=0.12356567; class CustomAttributes { class Attribute0 @@ -3855,13 +3469,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -3869,24 +3477,23 @@ class Mission nAttributes=1; }; }; - class Item1 + class Item18 { dataType="Object"; class PositionInfo { - position[]={10946.746,97.097275,2789.2881}; - angles[]={6.2481737,5.3985548,6.2603922}; + position[]={10958.939,97.54081,2784.4614}; + angles[]={6.1494303,6.2683897,0.081101909}; }; side="Empty"; flags=4; class Attributes { - createAsSimpleObject=1; disableSimulation=1; }; - id=311; - type="Land_WeldingTrolley_01_F"; - atlOffset=-0.0023269653; + id=329; + type="vn_us_komex_medium_02"; + atlOffset=-0.0097122192; class CustomAttributes { class Attribute0 @@ -3897,13 +3504,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -3911,745 +3512,433 @@ class Mission nAttributes=1; }; }; - class Item2 + }; + id=331; + atlOffset=-0.12821198; + }; + class Item39 + { + dataType="Marker"; + position[]={10695.389,41.604774,3165.2441}; + name="blocked_area1"; + text="Base Block 1"; + markerType="RECTANGLE"; + type="rectangle"; + a=173.35889; + b=177.25171; + id=344; + atlOffset=-56.997299; + }; + class Item40 + { + dataType="Marker"; + position[]={10986.035,75.810997,3136.8379}; + name="blocked_area2"; + text="Base Block 2"; + markerType="RECTANGLE"; + type="rectangle"; + a=117.289; + b=414.79599; + id=345; + atlOffset=-22.669006; + }; + class Item41 + { + dataType="Group"; + side="West"; + class Entities + { + items=1; + class Item0 { dataType="Object"; class PositionInfo { - position[]={10942.355,96.461349,2792.5854}; - angles[]={6.2796474,2.1677327,0}; + position[]={10725.471,98.610077,3175.3962}; + angles[]={0,1.5916864,0}; }; - side="Empty"; - flags=4; + side="West"; + flags=7; class Attributes { - disableSimulation=1; - }; - id=312; - type="Land_vn_usaf_fueltank_10_case_01"; - atlOffset=-0.0024414063; - class CustomAttributes - { - class Attribute0 + isPlayable=1; + class Inventory { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value + class primaryWeapon { - class data + name="vn_m1carbine"; + class primaryMuzzleMag + { + name="vn_carbine_15_mag"; + ammoLeft=15; + }; + }; + class secondaryWeapon + { + name="vn_m127"; + class primaryMuzzleMag + { + name="vn_m127_mag"; + ammoLeft=1; + }; + }; + class handgun + { + name="vn_mx991"; + }; + class binocular + { + name="vn_m19_binocs_grey"; + }; + class uniform + { + typeName="vn_b_uniform_macv_01_02"; + isBackpack=0; + class MagazineCargo { - class type + items=1; + class Item0 { - type[]= - { - "BOOL" - }; + name="vn_prop_food_fresh_01"; + count=24; + ammoLeft=100; + }; + }; + class ItemCargo + { + items=1; + class Item0 + { + name="vn_b_item_firstaidkit"; + count=8; }; - value=0; }; }; - }; - nAttributes=1; - }; - }; - class Item3 - { - dataType="Object"; - class PositionInfo - { - position[]={10943.807,96.464828,2793.98}; - angles[]={6.2828403,2.5430562,6.2826972}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=313; - type="Land_vn_usaf_fueltank_10_case_01"; - atlOffset=-0.0016860962; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value + class vest { - class data + typeName="vn_b_vest_usarmy_03"; + isBackpack=0; + class MagazineCargo { - class type + items=1; + class Item0 { - type[]= - { - "BOOL" - }; + name="vn_m61_grenade_mag"; + count=9; + ammoLeft=1; }; - value=0; }; }; - }; - nAttributes=1; - }; - }; - class Item4 - { - dataType="Object"; - class PositionInfo - { - position[]={10940.149,97.826599,2800.2393}; - angles[]={0,1.6501826,0}; - }; - side="Empty"; - flags=5; - class Attributes - { - disableSimulation=1; - }; - id=314; - type="Land_vn_fuel_tank_stairs"; - atlOffset=-0.0032806396; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value + class backpack { - class data + typeName="vn_b_pack_03"; + isBackpack=1; + class MagazineCargo { - class type + items=6; + class Item0 { - type[]= - { - "BOOL" - }; + name="vn_m129_mag"; + count=5; + ammoLeft=1; + }; + class Item1 + { + name="vn_carbine_15_t_mag"; + count=12; + ammoLeft=15; + }; + class Item2 + { + name="vn_m34_grenade_mag"; + count=1; + ammoLeft=1; + }; + class Item3 + { + name="vn_m18_purple_mag"; + count=2; + ammoLeft=1; + }; + class Item4 + { + name="vn_m18_red_mag"; + count=2; + ammoLeft=1; + }; + class Item5 + { + name="vn_mine_m112_remote_mag"; + count=5; + ammoLeft=1; }; - value=0; }; - }; - }; - nAttributes=1; - }; - }; - class Item5 - { - dataType="Object"; - class PositionInfo - { - position[]={10974.189,97.816254,2801.1353}; - }; - side="Empty"; - flags=5; - class Attributes - { - disableSimulation=1; - }; - id=315; - type="Land_vn_workshop_04_f"; - atlOffset=-0.0032806396; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data + class ItemCargo { - class type + items=2; + class Item0 { - type[]= - { - "BOOL" - }; + name="vn_b_item_firstaidkit"; + count=2; + }; + class Item1 + { + name="vn_b_item_trapkit"; + count=1; }; - value=0; }; }; + map="vn_b_item_map"; + compass="vn_b_item_compass"; + watch="vn_b_item_watch"; + radio="vn_b_item_radio_urc10"; + headgear="vn_b_boonie_02_02"; }; - nAttributes=1; - }; - }; - class Item6 - { - dataType="Object"; - class PositionInfo - { - position[]={10953.699,96.126373,2785.8857}; - angles[]={6.1177735,4.2622986,6.2738123}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; }; - id=316; - type="vn_b_ammobox_supply_06"; - atlOffset=-0.0028915405; + id=415; + type="vn_b_men_sf_06"; class CustomAttributes { class Attribute0 { - property="allowDamage"; - expression="_this allowdamage _value;"; + property="speaker"; + expression="_this setspeaker _value;"; class Value { class data { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; + singleType="STRING"; + value="Male02ENG"; }; }; }; - nAttributes=1; - }; - }; - class Item7 - { - dataType="Object"; - class PositionInfo - { - position[]={10941.577,96.463768,2805.7412}; - angles[]={0.0030493166,0.42233917,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=317; - type="vn_b_ammobox_supply_06"; - atlOffset=-0.0023117065; - class CustomAttributes - { - class Attribute0 + class Attribute1 { - property="allowDamage"; - expression="_this allowdamage _value;"; + property="pitch"; + expression="_this setpitch _value;"; class Value { class data { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; + singleType="SCALAR"; + value=1.04; }; }; }; - nAttributes=1; + nAttributes=2; }; }; - class Item8 + }; + class Attributes + { + }; + id=414; + }; + class Item42 + { + dataType="Group"; + side="West"; + class Entities + { + items=1; + class Item0 { dataType="Object"; class PositionInfo { - position[]={10969.886,96.419823,2793.2451}; - angles[]={6.2252331,5.8389025,0.0016558425}; + position[]={10725.458,98.608223,3176.5898}; + angles[]={0,1.5916864,0}; }; - side="Empty"; - flags=4; + side="West"; + flags=7; class Attributes { - disableSimulation=1; - }; - id=318; - type="vn_b_ammobox_supply_06"; - atlOffset=-0.0036239624; - class CustomAttributes - { - class Attribute0 + isPlayable=1; + class Inventory { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value + class primaryWeapon { - class data + name="vn_m1carbine"; + class primaryMuzzleMag { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; + name="vn_carbine_15_mag"; + ammoLeft=15; }; }; - }; - nAttributes=1; - }; - }; - class Item9 - { - dataType="Object"; - class PositionInfo - { - position[]={10946.207,97.575806,2785.9233}; - angles[]={6.2481751,4.66465,6.2796812}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=319; - type="vn_wheeled_m54_01_wreck"; - atlOffset=-0.028991699; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value + class secondaryWeapon { - class data + name="vn_m127"; + class primaryMuzzleMag + { + name="vn_m127_mag"; + ammoLeft=1; + }; + }; + class handgun + { + name="vn_mx991"; + }; + class binocular + { + name="vn_m19_binocs_grey"; + }; + class uniform + { + typeName="vn_b_uniform_macv_01_02"; + isBackpack=0; + class MagazineCargo { - class type + items=1; + class Item0 { - type[]= - { - "BOOL" - }; + name="vn_prop_food_fresh_01"; + count=24; + ammoLeft=100; + }; + }; + class ItemCargo + { + items=1; + class Item0 + { + name="vn_b_item_firstaidkit"; + count=8; }; - value=0; }; }; - }; - nAttributes=1; - }; - }; - class Item10 - { - dataType="Object"; - class PositionInfo - { - position[]={10968.154,96.971321,2784.2065}; - angles[]={0,5.122736,0}; - }; - side="Empty"; - class Attributes - { - createAsSimpleObject=1; - disableSimulation=1; - }; - id=320; - type="Land_ToolTrolley_01_F"; - atlOffset=0.2695694; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value + class vest { - class data + typeName="vn_b_vest_usarmy_03"; + isBackpack=0; + class MagazineCargo { - class type + items=1; + class Item0 { - type[]= - { - "BOOL" - }; + name="vn_m61_grenade_mag"; + count=9; + ammoLeft=1; }; - value=0; }; }; - }; - nAttributes=1; - }; - }; - class Item11 - { - dataType="Object"; - class PositionInfo - { - position[]={10968.221,96.847076,2784.2095}; - angles[]={0,4.9140701,0}; - }; - side="Empty"; - class Attributes - { - createAsSimpleObject=1; - disableSimulation=1; - }; - id=321; - type="Land_Grinder_F"; - atlOffset=0.55956268; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value + class backpack { - class data + typeName="vn_b_pack_03"; + isBackpack=1; + class MagazineCargo { - class type + items=6; + class Item0 { - type[]= - { - "BOOL" - }; + name="vn_m129_mag"; + count=5; + ammoLeft=1; + }; + class Item1 + { + name="vn_carbine_15_t_mag"; + count=12; + ammoLeft=15; + }; + class Item2 + { + name="vn_m34_grenade_mag"; + count=1; + ammoLeft=1; + }; + class Item3 + { + name="vn_m18_purple_mag"; + count=2; + ammoLeft=1; + }; + class Item4 + { + name="vn_m18_red_mag"; + count=2; + ammoLeft=1; + }; + class Item5 + { + name="vn_mine_m112_remote_mag"; + count=5; + ammoLeft=1; + }; + }; + class ItemCargo + { + items=2; + class Item0 + { + name="vn_b_item_firstaidkit"; + count=2; + }; + class Item1 + { + name="vn_b_item_trapkit"; + count=1; }; - value=0; }; }; + map="vn_b_item_map"; + compass="vn_b_item_compass"; + watch="vn_b_item_watch"; + radio="vn_b_item_radio_urc10"; + headgear="vn_b_boonie_02_02"; }; - nAttributes=1; - }; - }; - class Item12 - { - dataType="Object"; - class PositionInfo - { - position[]={10972.545,96.921799,2786.9478}; - angles[]={6.2593417,1.6249036,0.042985927}; - }; - side="Empty"; - flags=4; - class Attributes - { - createAsSimpleObject=1; - disableSimulation=1; }; - id=322; - type="Land_WeldingTrolley_01_F"; - atlOffset=0.05670929; + id=417; + type="vn_b_men_sf_06"; class CustomAttributes { class Attribute0 { - property="allowDamage"; - expression="_this allowdamage _value;"; + property="speaker"; + expression="_this setspeaker _value;"; class Value { class data { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; + singleType="STRING"; + value="Male02ENG"; }; }; }; - nAttributes=1; - }; - }; - class Item13 - { - dataType="Object"; - class PositionInfo - { - position[]={10970.923,96.470474,2798.6934}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=323; - type="Land_vn_canister_ep1"; - atlOffset=-0.0035934448; - class CustomAttributes - { - class Attribute0 + class Attribute1 { - property="allowDamage"; - expression="_this allowdamage _value;"; + property="pitch"; + expression="_this setpitch _value;"; class Value { class data { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; + singleType="SCALAR"; + value=1.04; }; }; }; - nAttributes=1; + nAttributes=2; }; }; - class Item14 + }; + class Attributes + { + }; + id=416; + }; + class Item43 + { + dataType="Group"; + side="West"; + class Entities + { + items=1; + class Item0 { dataType="Object"; class PositionInfo { - position[]={10970.597,96.466171,2809.1069}; - }; - side="Empty"; - flags=4; - class Attributes - { - createAsSimpleObject=1; - disableSimulation=1; - }; - id=325; - type="Land_vn_steeldrum_closed_04"; - atlOffset=-0.0032501221; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; - }; - }; - class Item15 - { - dataType="Object"; - class PositionInfo - { - position[]={10969.721,96.466171,2809.9849}; - }; - side="Empty"; - flags=4; - class Attributes - { - createAsSimpleObject=1; - disableSimulation=1; - }; - id=326; - type="Land_vn_steeldrum_closed_04"; - atlOffset=-0.0032501221; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; - }; - }; - class Item16 - { - dataType="Object"; - class PositionInfo - { - position[]={10970.518,96.466171,2810.3213}; - }; - side="Empty"; - flags=4; - class Attributes - { - createAsSimpleObject=1; - disableSimulation=1; - }; - id=327; - type="Land_vn_steeldrum_closed_04"; - atlOffset=-0.0032501221; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; - }; - }; - class Item17 - { - dataType="Object"; - class PositionInfo - { - position[]={10962.561,97.815132,2784.8501}; - angles[]={0.040745787,6.1005411,6.2072272}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=328; - type="vn_us_komex_medium_01"; - atlOffset=0.12356567; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; - }; - }; - class Item18 - { - dataType="Object"; - class PositionInfo - { - position[]={10958.939,97.54081,2784.4614}; - angles[]={6.1494303,6.2683897,0.081101909}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=329; - type="vn_us_komex_medium_02"; - atlOffset=-0.0097122192; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; - }; - }; - }; - id=331; - atlOffset=-0.12821198; - }; - class Item43 - { - dataType="Marker"; - position[]={10695.389,41.604774,3165.2441}; - name="blocked_area1"; - text="Base Block 1"; - markerType="RECTANGLE"; - type="rectangle"; - a=173.35889; - b=177.25171; - id=344; - atlOffset=-56.997299; - }; - class Item44 - { - dataType="Marker"; - position[]={10986.035,75.810997,3136.8379}; - name="blocked_area2"; - text="Base Block 2"; - markerType="RECTANGLE"; - type="rectangle"; - a=117.289; - b=414.79599; - id=345; - atlOffset=-22.669006; - }; - class Item45 - { - dataType="Group"; - side="West"; - class Entities - { - items=1; - class Item0 - { - dataType="Object"; - class PositionInfo - { - position[]={10725.471,98.610077,3175.3962}; + position[]={10725.685,98.603355,3177.9612}; angles[]={0,1.5916864,0}; }; side="West"; @@ -4790,7 +4079,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=415; + id=419; type="vn_b_men_sf_06"; class CustomAttributes { @@ -4802,13 +4091,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -4821,13 +4104,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -4839,9 +4116,9 @@ class Mission class Attributes { }; - id=414; + id=418; }; - class Item46 + class Item44 { dataType="Group"; side="West"; @@ -4853,7 +4130,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10725.458,98.608223,3176.5898}; + position[]={10725.876,98.598892,3179.2539}; angles[]={0,1.5916864,0}; }; side="West"; @@ -4994,7 +4271,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=417; + id=421; type="vn_b_men_sf_06"; class CustomAttributes { @@ -5006,13 +4283,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -5025,13 +4296,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -5043,9 +4308,9 @@ class Mission class Attributes { }; - id=416; + id=420; }; - class Item47 + class Item45 { dataType="Group"; side="West"; @@ -5057,7 +4322,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10725.685,98.603355,3177.9612}; + position[]={10725.847,98.594604,3180.3398}; angles[]={0,1.5916864,0}; }; side="West"; @@ -5198,7 +4463,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=419; + id=423; type="vn_b_men_sf_06"; class CustomAttributes { @@ -5210,13 +4475,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -5229,13 +4488,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -5247,9 +4500,9 @@ class Mission class Attributes { }; - id=418; + id=422; }; - class Item48 + class Item46 { dataType="Group"; side="West"; @@ -5261,7 +4514,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10725.876,98.598892,3179.2539}; + position[]={10726.048,98.582672,3181.6968}; angles[]={0,1.5916864,0}; }; side="West"; @@ -5402,7 +4655,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=421; + id=425; type="vn_b_men_sf_06"; class CustomAttributes { @@ -5414,13 +4667,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -5433,13 +4680,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -5451,9 +4692,9 @@ class Mission class Attributes { }; - id=420; + id=424; }; - class Item49 + class Item47 { dataType="Group"; side="West"; @@ -5465,7 +4706,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10725.847,98.594604,3180.3398}; + position[]={10726.114,98.572113,3183.1162}; angles[]={0,1.5916864,0}; }; side="West"; @@ -5606,7 +4847,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=423; + id=427; type="vn_b_men_sf_06"; class CustomAttributes { @@ -5618,13 +4859,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -5637,13 +4872,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -5655,9 +4884,9 @@ class Mission class Attributes { }; - id=422; + id=426; }; - class Item50 + class Item48 { dataType="Group"; side="West"; @@ -5669,7 +4898,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10726.048,98.582672,3181.6968}; + position[]={10726.181,98.564362,3184.5366}; angles[]={0,1.5916864,0}; }; side="West"; @@ -5810,7 +5039,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=425; + id=429; type="vn_b_men_sf_06"; class CustomAttributes { @@ -5822,13 +5051,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -5841,13 +5064,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -5859,9 +5076,9 @@ class Mission class Attributes { }; - id=424; + id=428; }; - class Item51 + class Item49 { dataType="Group"; side="West"; @@ -5873,7 +5090,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10726.114,98.572113,3183.1162}; + position[]={10726.309,98.556648,3185.9182}; angles[]={0,1.5916864,0}; }; side="West"; @@ -6014,7 +5231,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=427; + id=431; type="vn_b_men_sf_06"; class CustomAttributes { @@ -6026,13 +5243,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -6045,13 +5256,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -6063,9 +5268,9 @@ class Mission class Attributes { }; - id=426; + id=430; }; - class Item52 + class Item50 { dataType="Group"; side="West"; @@ -6077,7 +5282,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10726.181,98.564362,3184.5366}; + position[]={10726.33,98.550507,3187.0613}; angles[]={0,1.5916864,0}; }; side="West"; @@ -6218,7 +5423,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=429; + id=433; type="vn_b_men_sf_06"; class CustomAttributes { @@ -6230,13 +5435,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -6249,13 +5448,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -6267,9 +5460,9 @@ class Mission class Attributes { }; - id=428; + id=432; }; - class Item53 + class Item51 { dataType="Group"; side="West"; @@ -6281,7 +5474,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10726.309,98.556648,3185.9182}; + position[]={10727.355,98.598877,3175.1489}; angles[]={0,1.5916864,0}; }; side="West"; @@ -6422,7 +5615,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=431; + id=435; type="vn_b_men_sf_06"; class CustomAttributes { @@ -6434,13 +5627,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -6453,13 +5640,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -6471,9 +5652,9 @@ class Mission class Attributes { }; - id=430; + id=434; }; - class Item54 + class Item52 { dataType="Group"; side="West"; @@ -6485,7 +5666,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10726.33,98.550507,3187.0613}; + position[]={10727.343,98.598824,3176.3425}; angles[]={0,1.5916864,0}; }; side="West"; @@ -6626,7 +5807,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=433; + id=437; type="vn_b_men_sf_06"; class CustomAttributes { @@ -6638,13 +5819,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -6657,13 +5832,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -6675,9 +5844,9 @@ class Mission class Attributes { }; - id=432; + id=436; }; - class Item55 + class Item53 { dataType="Group"; side="West"; @@ -6689,7 +5858,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10727.355,98.598877,3175.1489}; + position[]={10727.569,98.593971,3177.7139}; angles[]={0,1.5916864,0}; }; side="West"; @@ -6830,8 +5999,9 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=435; + id=439; type="vn_b_men_sf_06"; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -6842,13 +6012,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -6861,13 +6025,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -6879,9 +6037,10 @@ class Mission class Attributes { }; - id=434; + id=438; + atlOffset=7.6293945e-006; }; - class Item56 + class Item54 { dataType="Group"; side="West"; @@ -6893,7 +6052,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10727.343,98.598824,3176.3425}; + position[]={10727.761,98.5895,3179.0066}; angles[]={0,1.5916864,0}; }; side="West"; @@ -7034,8 +6193,9 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=437; + id=441; type="vn_b_men_sf_06"; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -7046,13 +6206,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -7065,13 +6219,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -7083,9 +6231,10 @@ class Mission class Attributes { }; - id=436; + id=440; + atlOffset=7.6293945e-006; }; - class Item57 + class Item55 { dataType="Group"; side="West"; @@ -7097,7 +6246,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10727.569,98.593971,3177.7139}; + position[]={10727.731,98.586533,3180.0925}; angles[]={0,1.5916864,0}; }; side="West"; @@ -7238,9 +6387,8 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=439; + id=443; type="vn_b_men_sf_06"; - atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -7251,13 +6399,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -7270,13 +6412,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -7288,10 +6424,9 @@ class Mission class Attributes { }; - id=438; - atlOffset=7.6293945e-006; + id=442; }; - class Item58 + class Item56 { dataType="Group"; side="West"; @@ -7303,7 +6438,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10727.761,98.5895,3179.0066}; + position[]={10727.933,98.576149,3181.4495}; angles[]={0,1.5916864,0}; }; side="West"; @@ -7444,9 +6579,9 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=441; + id=445; type="vn_b_men_sf_06"; - atlOffset=7.6293945e-006; + atlOffset=-7.6293945e-006; class CustomAttributes { class Attribute0 @@ -7457,13 +6592,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -7476,13 +6605,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -7494,10 +6617,10 @@ class Mission class Attributes { }; - id=440; - atlOffset=7.6293945e-006; + id=444; + atlOffset=-7.6293945e-006; }; - class Item59 + class Item57 { dataType="Group"; side="West"; @@ -7509,7 +6632,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10727.731,98.586533,3180.0925}; + position[]={10727.999,98.568398,3182.8689}; angles[]={0,1.5916864,0}; }; side="West"; @@ -7650,8 +6773,9 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=443; + id=447; type="vn_b_men_sf_06"; + atlOffset=-7.6293945e-006; class CustomAttributes { class Attribute0 @@ -7662,13 +6786,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -7681,13 +6799,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -7699,9 +6811,10 @@ class Mission class Attributes { }; - id=442; + id=446; + atlOffset=-7.6293945e-006; }; - class Item60 + class Item58 { dataType="Group"; side="West"; @@ -7713,7 +6826,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10727.933,98.576149,3181.4495}; + position[]={10728.065,98.560654,3184.2893}; angles[]={0,1.5916864,0}; }; side="West"; @@ -7854,9 +6967,8 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=445; + id=449; type="vn_b_men_sf_06"; - atlOffset=-7.6293945e-006; class CustomAttributes { class Attribute0 @@ -7867,13 +6979,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -7886,13 +6992,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -7904,10 +7004,9 @@ class Mission class Attributes { }; - id=444; - atlOffset=-7.6293945e-006; + id=448; }; - class Item61 + class Item59 { dataType="Group"; side="West"; @@ -7919,7 +7018,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10727.999,98.568398,3182.8689}; + position[]={10728.193,98.55294,3185.6709}; angles[]={0,1.5916864,0}; }; side="West"; @@ -8060,9 +7159,8 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=447; + id=451; type="vn_b_men_sf_06"; - atlOffset=-7.6293945e-006; class CustomAttributes { class Attribute0 @@ -8073,13 +7171,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -8092,13 +7184,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -8110,10 +7196,9 @@ class Mission class Attributes { }; - id=446; - atlOffset=-7.6293945e-006; + id=450; }; - class Item62 + class Item60 { dataType="Group"; side="West"; @@ -8125,7 +7210,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10728.065,98.560654,3184.2893}; + position[]={10728.215,98.546799,3186.814}; angles[]={0,1.5916864,0}; }; side="West"; @@ -8266,8 +7351,9 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=449; + id=453; type="vn_b_men_sf_06"; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -8278,13 +7364,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -8297,13 +7377,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -8315,9 +7389,10 @@ class Mission class Attributes { }; - id=448; + id=452; + atlOffset=7.6293945e-006; }; - class Item63 + class Item61 { dataType="Group"; side="West"; @@ -8329,7 +7404,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10728.193,98.55294,3185.6709}; + position[]={10729.368,98.591438,3174.9343}; angles[]={0,1.5916864,0}; }; side="West"; @@ -8470,7 +7545,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=451; + id=455; type="vn_b_men_sf_06"; class CustomAttributes { @@ -8482,13 +7557,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -8501,13 +7570,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -8519,9 +7582,9 @@ class Mission class Attributes { }; - id=450; + id=454; }; - class Item64 + class Item62 { dataType="Group"; side="West"; @@ -8533,7 +7596,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10728.215,98.546799,3186.814}; + position[]={10729.355,98.590279,3176.1279}; angles[]={0,1.5916864,0}; }; side="West"; @@ -8674,9 +7737,8 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=453; + id=457; type="vn_b_men_sf_06"; - atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -8687,13 +7749,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -8706,13 +7762,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -8724,10 +7774,9 @@ class Mission class Attributes { }; - id=452; - atlOffset=7.6293945e-006; + id=456; }; - class Item65 + class Item63 { dataType="Group"; side="West"; @@ -8739,7 +7788,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10729.368,98.591438,3174.9343}; + position[]={10729.582,98.586021,3177.4993}; angles[]={0,1.5916864,0}; }; side="West"; @@ -8880,7 +7929,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=455; + id=459; type="vn_b_men_sf_06"; class CustomAttributes { @@ -8892,13 +7941,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -8911,13 +7954,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -8929,9 +7966,9 @@ class Mission class Attributes { }; - id=454; + id=458; }; - class Item66 + class Item64 { dataType="Group"; side="West"; @@ -8943,7 +7980,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10729.355,98.590279,3176.1279}; + position[]={10729.773,98.582062,3178.792}; angles[]={0,1.5916864,0}; }; side="West"; @@ -9084,7 +8121,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=457; + id=461; type="vn_b_men_sf_06"; class CustomAttributes { @@ -9096,13 +8133,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -9115,13 +8146,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -9133,9 +8158,9 @@ class Mission class Attributes { }; - id=456; + id=460; }; - class Item67 + class Item65 { dataType="Group"; side="West"; @@ -9147,7 +8172,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10729.582,98.586021,3177.4993}; + position[]={10729.744,98.579247,3179.8779}; angles[]={0,1.5916864,0}; }; side="West"; @@ -9288,7 +8313,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=459; + id=463; type="vn_b_men_sf_06"; class CustomAttributes { @@ -9300,13 +8325,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -9319,13 +8338,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -9337,9 +8350,9 @@ class Mission class Attributes { }; - id=458; + id=462; }; - class Item68 + class Item66 { dataType="Group"; side="West"; @@ -9351,7 +8364,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10729.773,98.582062,3178.792}; + position[]={10729.945,98.571938,3181.2349}; angles[]={0,1.5916864,0}; }; side="West"; @@ -9492,7 +8505,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=461; + id=465; type="vn_b_men_sf_06"; class CustomAttributes { @@ -9504,13 +8517,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -9523,13 +8530,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -9541,9 +8542,9 @@ class Mission class Attributes { }; - id=460; + id=464; }; - class Item69 + class Item67 { dataType="Group"; side="West"; @@ -9555,8 +8556,8 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10729.744,98.579247,3179.8779}; - angles[]={0,1.5916864,0}; + position[]={10730.012,98.564499,3182.6543}; + angles[]={0,1.6256703,0}; }; side="West"; flags=7; @@ -9696,8 +8697,9 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=463; + id=467; type="vn_b_men_sf_06"; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -9708,13 +8710,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -9727,13 +8723,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -9745,9 +8735,10 @@ class Mission class Attributes { }; - id=462; + id=466; + atlOffset=7.6293945e-006; }; - class Item70 + class Item68 { dataType="Group"; side="West"; @@ -9759,7 +8750,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10729.945,98.571938,3181.2349}; + position[]={10730.078,98.559975,3184.0747}; angles[]={0,1.5916864,0}; }; side="West"; @@ -9900,7 +8891,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=465; + id=469; type="vn_b_men_sf_06"; class CustomAttributes { @@ -9912,13 +8903,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -9931,13 +8916,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -9949,9 +8928,9 @@ class Mission class Attributes { }; - id=464; + id=468; }; - class Item71 + class Item69 { dataType="Group"; side="West"; @@ -9963,8 +8942,8 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10730.012,98.564499,3182.6543}; - angles[]={0,1.6256703,0}; + position[]={10730.206,98.552605,3185.4563}; + angles[]={0,1.5916864,0}; }; side="West"; flags=7; @@ -10104,9 +9083,8 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=467; + id=471; type="vn_b_men_sf_06"; - atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -10117,13 +9095,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -10136,13 +9108,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -10154,10 +9120,9 @@ class Mission class Attributes { }; - id=466; - atlOffset=7.6293945e-006; + id=470; }; - class Item72 + class Item70 { dataType="Group"; side="West"; @@ -10169,8 +9134,8 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10730.078,98.559975,3184.0747}; - angles[]={0,1.5916864,0}; + position[]={10730.228,98.546524,3186.5991}; + angles[]={0,1.5916879,0}; }; side="West"; flags=7; @@ -10310,8 +9275,9 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=469; + id=473; type="vn_b_men_sf_06"; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -10322,13 +9288,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -10341,13 +9301,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -10359,9 +9313,10 @@ class Mission class Attributes { }; - id=468; + id=472; + atlOffset=7.6293945e-006; }; - class Item73 + class Item71 { dataType="Group"; side="West"; @@ -10373,7 +9328,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10730.206,98.552605,3185.4563}; + position[]={10731.112,98.588715,3174.9595}; angles[]={0,1.5916864,0}; }; side="West"; @@ -10514,7 +9469,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=471; + id=475; type="vn_b_men_sf_06"; class CustomAttributes { @@ -10526,13 +9481,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -10545,13 +9494,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -10563,9 +9506,9 @@ class Mission class Attributes { }; - id=470; + id=474; }; - class Item74 + class Item72 { dataType="Group"; side="West"; @@ -10577,8 +9520,8 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10730.228,98.546524,3186.5991}; - angles[]={0,1.5916879,0}; + position[]={10731.211,98.585213,3176.175}; + angles[]={0,1.5916864,0}; }; side="West"; flags=7; @@ -10718,9 +9661,8 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=473; + id=477; type="vn_b_men_sf_06"; - atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -10731,13 +9673,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -10750,13 +9686,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -10768,10 +9698,9 @@ class Mission class Attributes { }; - id=472; - atlOffset=7.6293945e-006; + id=476; }; - class Item75 + class Item73 { dataType="Group"; side="West"; @@ -10783,7 +9712,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10731.112,98.588715,3174.9595}; + position[]={10731.324,98.581169,3177.5776}; angles[]={0,1.5916864,0}; }; side="West"; @@ -10924,7 +9853,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=475; + id=479; type="vn_b_men_sf_06"; class CustomAttributes { @@ -10936,13 +9865,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -10955,13 +9878,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -10973,9 +9890,9 @@ class Mission class Attributes { }; - id=474; + id=478; }; - class Item76 + class Item74 { dataType="Group"; side="West"; @@ -10987,13 +9904,14 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10731.211,98.585213,3176.175}; - angles[]={0,1.5916864,0}; + position[]={10731.366,98.577583,3178.8811}; + angles[]={0,1.5916879,0}; }; side="West"; flags=7; class Attributes { + isPlayer=1; isPlayable=1; class Inventory { @@ -11128,7 +10046,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=477; + id=487; type="vn_b_men_sf_06"; class CustomAttributes { @@ -11140,13 +10058,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -11159,13 +10071,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -11177,638 +10083,1623 @@ class Mission class Attributes { }; - id=476; + id=486; + }; + class Item75 + { + dataType="Object"; + class PositionInfo + { + position[]={10601.139,98.442245,3202.8457}; + angles[]={0.0053232545,2.8030686,0.0026529003}; + }; + side="Empty"; + flags=4; + class Attributes + { + name="arsenal_cleanup_0"; + disableSimulation=1; + }; + id=503; + type="Land_vn_object_trashcan_01"; + }; + class Item76 + { + dataType="Object"; + class PositionInfo + { + position[]={10816.843,98.076836,3191.0417}; + angles[]={6.2778621,0,0.045308746}; + }; + side="Empty"; + flags=4; + class Attributes + { + name="arsenal_cleanup_2"; + disableSimulation=1; + }; + id=504; + type="Land_vn_object_trashcan_01"; + atlOffset=7.6293945e-006; }; class Item77 { - dataType="Group"; - side="West"; + dataType="Object"; + class PositionInfo + { + position[]={10655.282,98.514389,3126.5767}; + angles[]={0,1.7037904,0}; + }; + side="Empty"; + flags=4; + class Attributes + { + name="arsenal_cleanup_1"; + disableSimulation=1; + }; + id=505; + type="Land_vn_object_trashcan_01"; + }; + class Item78 + { + dataType="Object"; + class PositionInfo + { + position[]={11007.388,98.48439,3160.8198}; + angles[]={0,5.516026,0}; + }; + side="Empty"; + flags=4; + class Attributes + { + name="arsenal_cleanup_3"; + disableSimulation=1; + }; + id=508; + type="Land_vn_object_trashcan_01"; + }; + class Item79 + { + dataType="Marker"; + position[]={11006.641,117.19342,3162.2783}; + name="arsenal_3"; + text="@STR_vn_mf_arsenal"; + type="mil_dot"; + colorName="ColorPink"; + id=509; + atlOffset=18.713417; + }; + class Item80 + { + dataType="Layer"; + name="Air support #1"; class Entities { - items=1; + items=3; class Item0 { dataType="Object"; class PositionInfo { - position[]={10731.324,98.581169,3177.5776}; - angles[]={0,1.5916864,0}; + position[]={10935.081,98.538094,3027.8286}; + angles[]={0,1.6727779,0}; }; - side="West"; - flags=7; + side="Empty"; + flags=4; class Attributes { - isPlayable=1; - class Inventory + }; + id=562; + type="Sign_Arrow_Direction_Green_F"; + }; + class Item1 + { + dataType="Logic"; + class PositionInfo + { + position[]={10937.033,98.515007,3031.606}; + angles[]={0.39718458,5.9810514,6.2760119}; + }; + init="['air_fire_support', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=563; + type="Logic"; + atlOffset=0.021980286; + }; + class Item2 + { + dataType="Object"; + class PositionInfo + { + position[]={10940.693,99.621475,3031.5894}; + angles[]={0,4.7732258,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=564; + type="vn_signad_sponsors_f"; + }; + }; + id=561; + atlOffset=0.0087509155; + }; + class Item81 + { + dataType="Layer"; + name="Heavy air support #1"; + class Entities + { + items=3; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={10935.193,98.570953,2997.321}; + angles[]={0,1.6727779,0}; + }; + side="Empty"; + flags=4; + class Attributes + { + }; + id=565; + type="Sign_Arrow_Direction_Green_F"; + }; + class Item1 + { + dataType="Logic"; + class PositionInfo + { + position[]={10937.146,98.502007,3001.0979}; + angles[]={0,5.9810514,0}; + }; + init="['air_heavy_fire_support', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=566; + type="Logic"; + atlOffset=0.022003174; + }; + class Item2 + { + dataType="Object"; + class PositionInfo + { + position[]={10940.877,99.621475,3001.7786}; + angles[]={0,4.7907286,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=567; + type="vn_signad_sponsors_f"; + }; + }; + id=568; + atlOffset=0.013710022; + }; + class Item82 + { + dataType="Layer"; + name="Jet spawn #1"; + class Entities + { + items=4; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={11019.159,101.15855,3178.366}; + angles[]={0,1.5513185,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=227; + type="Land_vn_airport_01_hangar_f"; + class CustomAttributes + { + class Attribute0 { - class primaryWeapon - { - name="vn_m1carbine"; - class primaryMuzzleMag - { - name="vn_carbine_15_mag"; - ammoLeft=15; - }; - }; - class secondaryWeapon - { - name="vn_m127"; - class primaryMuzzleMag - { - name="vn_m127_mag"; - ammoLeft=1; - }; - }; - class handgun - { - name="vn_mx991"; - }; - class binocular - { - name="vn_m19_binocs_grey"; - }; - class uniform + property="DoorStates"; + expression="['init',_this,_value] call bis_fnc_3DENAttributeDoorStates;"; + class Value { - typeName="vn_b_uniform_macv_01_02"; - isBackpack=0; - class MagazineCargo - { - items=1; - class Item0 - { - name="vn_prop_food_fresh_01"; - count=24; - ammoLeft=100; - }; - }; - class ItemCargo + class data { - items=1; - class Item0 + singleType="ARRAY"; + class value { - name="vn_b_item_firstaidkit"; - count=8; + items=3; + class Item0 + { + class data + { + singleType="SCALAR"; + value=42; + }; + }; + class Item1 + { + class data + { + singleType="SCALAR"; + value=0; + }; + }; + class Item2 + { + class data + { + singleType="SCALAR"; + value=0; + }; + }; }; }; }; - class vest + }; + class Attribute1 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - typeName="vn_b_vest_usarmy_03"; - isBackpack=0; - class MagazineCargo + class data { - items=1; - class Item0 - { - name="vn_m61_grenade_mag"; - count=9; - ammoLeft=1; - }; + singleType="BOOL"; + value=0; }; }; - class backpack + }; + nAttributes=2; + }; + }; + class Item1 + { + dataType="Object"; + class PositionInfo + { + position[]={11018.097,98.538094,3178.0425}; + angles[]={-0,4.7401133,0}; + }; + side="Empty"; + flags=4; + class Attributes + { + }; + id=569; + type="Sign_Arrow_Direction_Green_F"; + }; + class Item2 + { + dataType="Logic"; + class PositionInfo + { + position[]={11013.827,98.495003,3169.646}; + angles[]={0,2.7634146,0}; + }; + init="['jets', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=570; + type="Logic"; + atlOffset=0.01499939; + }; + class Item3 + { + dataType="Object"; + class PositionInfo + { + position[]={11009.96,99.621475,3169.7917}; + angles[]={0,1.5748787,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=571; + type="vn_signad_sponsors_f"; + }; + }; + id=572; + atlOffset=0.0037460327; + }; + class Item83 + { + dataType="Layer"; + name="Light transport spawns"; + class Entities + { + items=4; + class Item0 + { + dataType="Layer"; + name="Light transport spawn #1"; + class Entities + { + items=3; + class Item0 + { + dataType="Object"; + class PositionInfo { - typeName="vn_b_pack_03"; - isBackpack=1; - class MagazineCargo - { - items=6; - class Item0 - { - name="vn_m129_mag"; - count=5; - ammoLeft=1; - }; - class Item1 - { - name="vn_carbine_15_t_mag"; - count=12; - ammoLeft=15; - }; - class Item2 - { - name="vn_m34_grenade_mag"; - count=1; - ammoLeft=1; - }; - class Item3 - { - name="vn_m18_purple_mag"; - count=2; - ammoLeft=1; - }; - class Item4 - { - name="vn_m18_red_mag"; - count=2; - ammoLeft=1; - }; - class Item5 - { - name="vn_mine_m112_remote_mag"; - count=5; - ammoLeft=1; - }; - }; - class ItemCargo - { - items=2; - class Item0 - { - name="vn_b_item_firstaidkit"; - count=2; - }; - class Item1 - { - name="vn_b_item_trapkit"; - count=1; - }; - }; + position[]={10800.994,98.38446,3192.78}; + angles[]={-0,3.2420781,6.2192731}; }; - map="vn_b_item_map"; - compass="vn_b_item_compass"; - watch="vn_b_item_watch"; - radio="vn_b_item_radio_urc10"; - headgear="vn_b_boonie_02_02"; + side="Empty"; + flags=4; + class Attributes + { + }; + id=577; + type="Sign_Arrow_Direction_Green_F"; + }; + class Item1 + { + dataType="Logic"; + class PositionInfo + { + position[]={10803.57,98.161591,3191.209}; + angles[]={0.0026703537,1.2671438,6.2192717}; + }; + init="['light_transport', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=578; + type="Logic"; + }; + class Item2 + { + dataType="Object"; + class PositionInfo + { + position[]={10804.396,99.29908,3188.3979}; + angles[]={0,0.076815836,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=579; + type="vn_signad_sponsors_f"; }; }; - id=479; - type="vn_b_men_sf_06"; - class CustomAttributes + id=580; + atlOffset=0.021728516; + }; + class Item1 + { + dataType="Layer"; + name="Light transport spawn #2"; + class Entities { - class Attribute0 + items=3; + class Item0 { - property="speaker"; - expression="_this setspeaker _value;"; - class Value + dataType="Object"; + class PositionInfo { - class data - { - class type - { - type[]= - { - "STRING" - }; - }; - value="Male02ENG"; - }; + position[]={10615.584,98.598656,3245.1514}; + angles[]={0.0080009829,2.8067095,6.2805333}; }; + side="Empty"; + flags=4; + class Attributes + { + }; + id=599; + type="Sign_Arrow_Direction_Green_F"; }; - class Attribute1 + class Item1 { - property="pitch"; - expression="_this setpitch _value;"; - class Value + dataType="Object"; + class PositionInfo + { + position[]={10619.966,99.670906,3243.9609}; + angles[]={0,6.1108699,-0}; + }; + side="Empty"; + flags=5; + class Attributes { - class data - { - class type - { - type[]= - { - "SCALAR" - }; - }; - value=1.04; - }; }; + id=600; + type="vn_signad_sponsors_f"; + }; + class Item2 + { + dataType="Logic"; + class PositionInfo + { + position[]={10618.147,98.523369,3246.2319}; + angles[]={0.0026529003,0.41297981,0}; + }; + init="['light_transport', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=601; + type="Logic"; + atlOffset=-7.6293945e-006; }; - nAttributes=2; }; + id=598; + atlOffset=0.0014724731; + }; + class Item2 + { + dataType="Layer"; + name="Light transport spawn #2_1"; + class Entities + { + items=3; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={10608.364,98.902031,3238.6199}; + angles[]={6.2485313,1.9441955,0.021328852}; + }; + side="Empty"; + flags=4; + class Attributes + { + }; + id=603; + type="Sign_Arrow_Direction_Green_F"; + }; + class Item1 + { + dataType="Object"; + class PositionInfo + { + position[]={10612.121,99.830078,3241.1692}; + angles[]={0,5.2494831,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=604; + type="vn_signad_sponsors_f"; + }; + class Item2 + { + dataType="Logic"; + class PositionInfo + { + position[]={10609.214,98.862617,3241.269}; + angles[]={0.0080009829,5.8344307,6.2245865}; + }; + init="['light_transport', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=605; + type="Logic"; + }; + }; + id=602; + atlOffset=-0.023483276; + }; + class Item3 + { + dataType="Layer"; + name="Light transport spawn #4"; + class Entities + { + items=3; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={10614.388,98.545364,3228.4878}; + angles[]={6.272521,0.78359783,0.0053265258}; + }; + side="Empty"; + flags=4; + class Attributes + { + }; + id=606; + type="Sign_Arrow_Direction_Green_F"; + }; + class Item1 + { + dataType="Object"; + class PositionInfo + { + position[]={10613.004,99.697548,3232.8652}; + angles[]={0,4.2010164,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=607; + type="vn_signad_sponsors_f"; + }; + class Item2 + { + dataType="Logic"; + class PositionInfo + { + position[]={10611.676,98.510887,3230.2864}; + angles[]={6.2645216,4.7855873,6.2805109}; + }; + init="['light_transport', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=608; + type="Logic"; + atlOffset=7.6293945e-006; + }; + }; + id=609; + atlOffset=0.0029602051; }; }; - class Attributes - { - }; - id=478; + id=582; + atlOffset=0.033004761; }; - class Item78 + class Item84 { - dataType="Group"; - side="West"; + dataType="Layer"; + name="Light air spawns"; class Entities { - items=1; + items=4; class Item0 { - dataType="Object"; - class PositionInfo - { - position[]={10731.366,98.577583,3178.8811}; - angles[]={0,1.5916879,0}; - }; - side="West"; - flags=7; - class Attributes + dataType="Layer"; + name="Light air spawn #1"; + class Entities { - isPlayer=1; - isPlayable=1; - class Inventory + items=3; + class Item0 { - class primaryWeapon + dataType="Object"; + class PositionInfo { - name="vn_m1carbine"; - class primaryMuzzleMag - { - name="vn_carbine_15_mag"; - ammoLeft=15; - }; + position[]={10718.112,99.541473,3118.9929}; + angles[]={0,3.0958667,-0}; }; - class secondaryWeapon + side="Empty"; + flags=5; + class Attributes { - name="vn_m127"; - class primaryMuzzleMag - { - name="vn_m127_mag"; - ammoLeft=1; - }; }; - class handgun + id=537; + type="vn_signad_sponsors_f"; + }; + class Item1 + { + dataType="Object"; + class PositionInfo { - name="vn_mx991"; + position[]={10722.471,98.487495,3112.8286}; + angles[]={6.2812634,6.2611012,0.001035801}; }; - class binocular + side="Empty"; + flags=4; + class Attributes { - name="vn_m19_binocs_grey"; }; - class uniform + id=538; + type="Sign_Arrow_Direction_Green_F"; + }; + class Item2 + { + dataType="Logic"; + class PositionInfo { - typeName="vn_b_uniform_macv_01_02"; - isBackpack=0; - class MagazineCargo - { - items=1; - class Item0 - { - name="vn_prop_food_fresh_01"; - count=24; - ammoLeft=100; - }; - }; - class ItemCargo - { - items=1; - class Item0 - { - name="vn_b_item_firstaidkit"; - count=8; - }; - }; + position[]={10717.85,98.400002,3115.2271}; + angles[]={0,4.2861967,0}; }; - class vest + init="['air_light', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=539; + type="Logic"; + }; + }; + id=536; + atlOffset=0.0073471069; + }; + class Item1 + { + dataType="Layer"; + name="Light air spawn #2"; + class Entities + { + items=3; + class Item0 + { + dataType="Object"; + class PositionInfo { - typeName="vn_b_vest_usarmy_03"; - isBackpack=0; - class MagazineCargo - { - items=1; - class Item0 - { - name="vn_m61_grenade_mag"; - count=9; - ammoLeft=1; - }; - }; + position[]={10687.252,98.494179,3113.9768}; + angles[]={0.0016914561,6.2611012,6.2822719}; }; - class backpack + side="Empty"; + flags=4; + class Attributes { - typeName="vn_b_pack_03"; - isBackpack=1; - class MagazineCargo - { - items=6; - class Item0 - { - name="vn_m129_mag"; - count=5; - ammoLeft=1; - }; - class Item1 - { - name="vn_carbine_15_t_mag"; - count=12; - ammoLeft=15; - }; - class Item2 - { - name="vn_m34_grenade_mag"; - count=1; - ammoLeft=1; - }; - class Item3 - { - name="vn_m18_purple_mag"; - count=2; - ammoLeft=1; - }; - class Item4 - { - name="vn_m18_red_mag"; - count=2; - ammoLeft=1; - }; - class Item5 - { - name="vn_mine_m112_remote_mag"; - count=5; - ammoLeft=1; - }; - }; - class ItemCargo - { - items=2; - class Item0 - { - name="vn_b_item_firstaidkit"; - count=2; - }; - class Item1 - { - name="vn_b_item_trapkit"; - count=1; - }; - }; }; - map="vn_b_item_map"; - compass="vn_b_item_compass"; - watch="vn_b_item_watch"; - radio="vn_b_item_radio_urc10"; - headgear="vn_b_boonie_02_02"; + id=542; + type="Sign_Arrow_Direction_Green_F"; + }; + class Item1 + { + dataType="Logic"; + class PositionInfo + { + position[]={10683.262,98.43679,3115.4465}; + angles[]={0.0026520467,4.2861967,0}; + }; + init="['air_light', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=543; + type="Logic"; + atlOffset=0.034645081; + }; + class Item2 + { + dataType="Object"; + class PositionInfo + { + position[]={10683.524,99.541473,3119.2124}; + angles[]={0,3.0958667,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=541; + type="vn_signad_sponsors_f"; }; }; - id=487; - type="vn_b_men_sf_06"; - class CustomAttributes + id=540; + atlOffset=0.018218994; + }; + class Item2 + { + dataType="Layer"; + name="Light air spawn #2_1"; + class Entities { - class Attribute0 + items=3; + class Item0 { - property="speaker"; - expression="_this setspeaker _value;"; - class Value + dataType="Object"; + class PositionInfo + { + position[]={10936.274,98.538094,3114.6843}; + angles[]={-0,1.5754278,-0}; + }; + side="Empty"; + flags=4; + class Attributes { - class data - { - class type - { - type[]= - { - "STRING" - }; - }; - value="Male02ENG"; - }; }; + id=550; + type="Sign_Arrow_Direction_Green_F"; }; - class Attribute1 + class Item1 { - property="pitch"; - expression="_this setpitch _value;"; - class Value + dataType="Logic"; + class PositionInfo { - class data - { - class type - { - type[]= - { - "SCALAR" - }; - }; - value=1.04; - }; + position[]={10937.851,98.514648,3118.6338}; + angles[]={0.39683929,5.883709,6.2758288}; }; + init="['air_light', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=551; + type="Logic"; + atlOffset=0.01474762; + }; + class Item2 + { + dataType="Object"; + class PositionInfo + { + position[]={10941.72,99.621475,3118.5774}; + angles[]={0,4.6933784,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=552; + type="vn_signad_sponsors_f"; }; - nAttributes=2; }; + id=549; + atlOffset=0.0086593628; + }; + class Item3 + { + dataType="Layer"; + name="Light air spawn #2_2"; + class Entities + { + items=3; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={10936.067,98.538094,3084.4827}; + angles[]={0,1.5754278,0}; + }; + side="Empty"; + flags=4; + class Attributes + { + }; + id=554; + type="Sign_Arrow_Direction_Green_F"; + }; + class Item1 + { + dataType="Logic"; + class PositionInfo + { + position[]={10937.644,98.494751,3088.4321}; + angles[]={-0,5.883709,0}; + }; + init="['air_light', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=555; + type="Logic"; + atlOffset=0.01474762; + }; + class Item2 + { + dataType="Object"; + class PositionInfo + { + position[]={10941.401,99.621475,3088.0688}; + angles[]={0,4.6933784,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=556; + type="vn_signad_sponsors_f"; + }; + }; + id=553; + atlOffset=0.0036849976; }; }; - class Attributes - { - }; - id=486; + id=583; + atlOffset=6.4874496; }; - class Item79 + class Item85 { - dataType="Object"; - class PositionInfo - { - position[]={10601.139,98.442245,3202.8457}; - angles[]={0.0053232545,2.8030686,0.0026529003}; - }; - side="Empty"; - flags=4; - class Attributes + dataType="Layer"; + name="Air transport spawns"; + class Entities { - name="arsenal_cleanup_0"; - disableSimulation=1; + items=2; + class Item0 + { + dataType="Layer"; + name="Air transport spawn #1"; + class Entities + { + items=3; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={10704.282,98.490952,3113.7107}; + angles[]={0,6.2611012,0}; + }; + side="Empty"; + flags=4; + class Attributes + { + }; + id=546; + type="Sign_Arrow_Direction_Green_F"; + }; + class Item1 + { + dataType="Logic"; + class PositionInfo + { + position[]={10700.292,98.435005,3115.1799}; + angles[]={0,4.2861967,0}; + }; + init="['air_transport', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=547; + type="Logic"; + atlOffset=0.035003662; + }; + class Item2 + { + dataType="Object"; + class PositionInfo + { + position[]={10700.555,99.541473,3118.9463}; + angles[]={0,3.0958667,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=548; + type="vn_signad_sponsors_f"; + }; + }; + id=545; + atlOffset=0.016960144; + }; + class Item1 + { + dataType="Layer"; + name="Air transport spawn #1_1"; + class Entities + { + items=3; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={10935.606,98.538094,3056.8035}; + angles[]={0,1.6727779,0}; + }; + side="Empty"; + flags=4; + class Attributes + { + }; + id=558; + type="Sign_Arrow_Direction_Green_F"; + }; + class Item1 + { + dataType="Logic"; + class PositionInfo + { + position[]={10937.559,98.515007,3060.5813}; + angles[]={-0,5.9810586,0}; + }; + init="['air_transport', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=559; + type="Logic"; + atlOffset=0.035003662; + }; + class Item2 + { + dataType="Object"; + class PositionInfo + { + position[]={10941.264,99.621475,3059.8545}; + angles[]={0,4.7907286,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=560; + type="vn_signad_sponsors_f"; + }; + }; + id=557; + atlOffset=0.0087509155; + }; }; - id=503; - type="Land_vn_object_trashcan_01"; + id=584; + atlOffset=0.025794983; }; - class Item80 + class Item86 { - dataType="Object"; - class PositionInfo - { - position[]={10816.843,98.076836,3191.0417}; - angles[]={6.2778621,0,0.045308746}; - }; - side="Empty"; - flags=4; - class Attributes - { - name="arsenal_cleanup_2"; - disableSimulation=1; - }; - id=504; - type="Land_vn_object_trashcan_01"; - atlOffset=7.6293945e-006; - }; - class Item81 - { - dataType="Object"; - class PositionInfo - { - position[]={10655.282,98.514389,3126.5767}; - angles[]={0,1.7037904,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - name="arsenal_cleanup_1"; - disableSimulation=1; - }; - id=505; - type="Land_vn_object_trashcan_01"; - }; - class Item82 - { - dataType="Object"; - class PositionInfo - { - position[]={11007.388,98.48439,3160.8198}; - angles[]={0,5.516026,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - name="arsenal_cleanup_3"; - disableSimulation=1; - }; - id=508; - type="Land_vn_object_trashcan_01"; - }; - class Item83 - { - dataType="Marker"; - position[]={11006.641,117.19342,3162.2783}; - name="arsenal_3"; - text="@STR_vn_mf_arsenal"; - type="mil_dot"; - colorName="ColorPink"; - id=509; - atlOffset=18.713417; - }; - class Item84 - { - dataType="Object"; - class PositionInfo - { - position[]={10725.439,100.73631,3144.3162}; - angles[]={6.2778587,0,0.0053265258}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=510; - type="vn_b_armor_m113_acav_05"; - }; - class Item85 - { - dataType="Object"; - class PositionInfo - { - position[]={10720.49,100.74467,3144.4392}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=511; - type="vn_b_armor_m113_acav_06"; - }; - class Item86 - { - dataType="Object"; - class PositionInfo - { - position[]={10715.383,100.72255,3144.3835}; - }; - side="Empty"; - flags=4; - class Attributes + dataType="Layer"; + name="Patrol spawns"; + class Entities { + items=4; + class Item0 + { + dataType="Layer"; + name="Patrol spawn #1"; + class Entities + { + items=3; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={10808.112,98.191788,3192.7917}; + angles[]={0.015998369,3.2420781,6.2805333}; + }; + side="Empty"; + flags=4; + class Attributes + { + }; + id=574; + type="Sign_Arrow_Direction_Green_F"; + }; + class Item1 + { + dataType="Object"; + class PositionInfo + { + position[]={10811.514,99.290581,3188.4097}; + angles[]={0,0.076815836,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=576; + type="vn_signad_sponsors_f"; + }; + class Item2 + { + dataType="Logic"; + class PositionInfo + { + position[]={10810.688,98.151573,3191.2209}; + angles[]={0.0026529003,1.2671438,6.2805324}; + }; + init="['patrol', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=575; + type="Logic"; + }; + }; + id=573; + atlOffset=-0.0070953369; + }; + class Item1 + { + dataType="Layer"; + name="Patrol spawn #1_1"; + class Entities + { + items=3; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={10641.748,98.60408,3238.6658}; + angles[]={-0,4.0405035,0.0053265258}; + }; + side="Empty"; + flags=4; + class Attributes + { + }; + id=587; + type="Sign_Arrow_Direction_Green_F"; + }; + class Item1 + { + dataType="Object"; + class PositionInfo + { + position[]={10641.438,99.681091,3234.4768}; + angles[]={0,1.2827753,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=588; + type="vn_signad_sponsors_f"; + atlOffset=7.6293945e-006; + }; + class Item2 + { + dataType="Logic"; + class PositionInfo + { + position[]={10642.844,98.552513,3235.8164}; + angles[]={6.2805333,1.8153893,0.010664274}; + }; + init="['patrol', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=589; + type="Logic"; + }; + }; + id=586; + atlOffset=-0.0006942749; + }; + class Item2 + { + dataType="Layer"; + name="Patrol spawn #3"; + class Entities + { + items=3; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={10634.87,98.595459,3246.5088}; + angles[]={6.2805333,3.4474387,0}; + }; + side="Empty"; + flags=4; + class Attributes + { + }; + id=590; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=7.6293945e-006; + }; + class Item1 + { + dataType="Object"; + class PositionInfo + { + position[]={10637.776,99.671471,3242.3596}; + angles[]={0,0.57443506,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=591; + type="vn_signad_sponsors_f"; + }; + class Item2 + { + dataType="Logic"; + class PositionInfo + { + position[]={10638.364,98.537132,3246.4202}; + angles[]={6.2805333,1.8153893,0}; + }; + init="['patrol', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=592; + type="Logic"; + atlOffset=7.6293945e-006; + }; + }; + id=593; + atlOffset=0.00093841553; + }; + class Item3 + { + dataType="Layer"; + name="Patrol spawn #3_1"; + class Entities + { + items=3; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={10624.532,98.584267,3246.0657}; + angles[]={6.2805333,3.1689034,0}; + }; + side="Empty"; + flags=4; + class Attributes + { + }; + id=595; + type="Sign_Arrow_Direction_Green_F"; + }; + class Item1 + { + dataType="Object"; + class PositionInfo + { + position[]={10628.496,99.66375,3244.6062}; + angles[]={0,6.2408338,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=596; + type="vn_signad_sponsors_f"; + }; + class Item2 + { + dataType="Logic"; + class PositionInfo + { + position[]={10628.72,98.525787,3245.9202}; + angles[]={6.2805333,1.1985958,0}; + }; + init="['patrol', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=597; + type="Logic"; + }; + }; + id=594; + }; }; - id=515; - type="vn_b_armor_m113_acav_01"; + id=585; + atlOffset=-0.093856812; }; class Item87 { - dataType="Object"; - class PositionInfo - { - position[]={10744.627,100.42964,3118.8401}; - angles[]={6.2778587,1.6181059,0.0080009829}; - }; - side="Empty"; - flags=4; - class Attributes + dataType="Layer"; + name="Heavy transport spawns"; + class Entities { + items=6; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={10774.035,98.591034,3151.3225}; + angles[]={0.0053265258,6.2515082,0}; + }; + side="Empty"; + flags=4; + class Attributes + { + }; + id=611; + type="Sign_Arrow_Direction_Green_F"; + }; + class Item1 + { + dataType="Object"; + class PositionInfo + { + position[]={10770.651,99.712944,3145.6475}; + angles[]={0,1.5915517,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=612; + type="vn_signad_sponsors_f"; + }; + class Item2 + { + dataType="Logic"; + class PositionInfo + { + position[]={10772.082,98.561813,3146.7429}; + angles[]={0.0053232545,3.915524,6.2805324}; + }; + init="['transport_heavy', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=613; + type="Logic"; + }; + class Item3 + { + dataType="Object"; + class PositionInfo + { + position[]={10774.813,98.55809,3161.0166}; + angles[]={-0,0.090792708,0}; + }; + side="Empty"; + flags=4; + class Attributes + { + }; + id=614; + type="Sign_Arrow_Direction_Green_F"; + }; + class Item4 + { + dataType="Object"; + class PositionInfo + { + position[]={10771.823,99.640503,3163.5393}; + angles[]={0,1.7750646,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=615; + type="vn_signad_sponsors_f"; + }; + class Item5 + { + dataType="Logic"; + class PositionInfo + { + position[]={10773.147,98.502968,3160.74}; + angles[]={0.0026529003,3.915524,6.2805324}; + }; + init="['transport_heavy', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=616; + type="Logic"; + }; }; - id=516; - type="vn_b_wheeled_m151_mg_06"; + id=623; + atlOffset=0.0023422241; }; class Item88 { - dataType="Object"; - class PositionInfo - { - position[]={10799.797,100.29153,3194.0591}; - angles[]={-0,3.1220984,6.2778587}; - }; - side="Empty"; - flags=4; - class Attributes + dataType="Layer"; + name="Truck spawns"; + class Entities { + items=6; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={10767.765,98.664047,3124.9673}; + angles[]={-0,0.20799702,6.2805333}; + }; + side="Empty"; + flags=4; + class Attributes + { + }; + id=617; + type="Sign_Arrow_Direction_Green_F"; + }; + class Item1 + { + dataType="Object"; + class PositionInfo + { + position[]={10765.64,99.753098,3120.2266}; + angles[]={0,1.5393865,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=618; + type="vn_signad_sponsors_f"; + }; + class Item2 + { + dataType="Logic"; + class PositionInfo + { + position[]={10766.843,98.608421,3121.5903}; + angles[]={-0,3.915524,6.2805333}; + }; + init="['transport_trucks', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=619; + type="Logic"; + }; + class Item3 + { + dataType="Object"; + class PositionInfo + { + position[]={10769.359,98.67321,3136.8335}; + angles[]={0.0026520467,0.090792708,0}; + }; + side="Empty"; + flags=4; + class Attributes + { + }; + id=620; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=7.6293945e-006; + }; + class Item4 + { + dataType="Object"; + class PositionInfo + { + position[]={10770.337,99.726097,3143.3376}; + angles[]={0,1.7064573,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=621; + type="vn_signad_sponsors_f"; + }; + class Item5 + { + dataType="Logic"; + class PositionInfo + { + position[]={10771.232,98.595398,3140.8701}; + angles[]={0.0053232545,3.915524,6.2805324}; + }; + init="['transport_trucks', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=622; + type="Logic"; + }; }; - id=517; - type="vn_b_wheeled_m151_mg_06"; - atlOffset=-7.6293945e-006; + id=610; + atlOffset=-0.012908936; }; class Item89 { - dataType="Object"; - class PositionInfo - { - position[]={10795.79,100.49321,3193.8079}; - angles[]={0.0026520467,3.1468596,6.2805333}; - }; - side="Empty"; - flags=4; - class Attributes + dataType="Layer"; + name="Utility spawns"; + class Entities { + items=9; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={10747.253,99.687103,3115.6807}; + angles[]={0,4.7627535,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=626; + type="vn_signad_sponsors_f"; + atlOffset=7.6293945e-006; + }; + class Item1 + { + dataType="Logic"; + class PositionInfo + { + position[]={10745.938,98.547287,3114.7668}; + angles[]={0.013327583,3.915524,0.0079935296}; + }; + init="['utility', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=627; + type="Logic"; + atlOffset=7.6293945e-006; + }; + class Item2 + { + dataType="Object"; + class PositionInfo + { + position[]={10742.599,99.162621,3113.0715}; + angles[]={0,1.6231606,0}; + }; + side="Empty"; + class Attributes + { + }; + id=625; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.56369019; + }; + class Item3 + { + dataType="Object"; + class PositionInfo + { + position[]={10747.059,99.735695,3110.0349}; + angles[]={0,4.7627535,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=628; + type="vn_signad_sponsors_f"; + }; + class Item4 + { + dataType="Logic"; + class PositionInfo + { + position[]={10745.744,98.589645,3109.1211}; + angles[]={0.0026520467,3.915524,0.0053265258}; + }; + init="['utility', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=629; + type="Logic"; + }; + class Item5 + { + dataType="Object"; + class PositionInfo + { + position[]={10742.404,99.183617,3107.4258}; + angles[]={0,1.6231606,0}; + }; + side="Empty"; + class Attributes + { + }; + id=630; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.56368256; + }; + class Item6 + { + dataType="Object"; + class PositionInfo + { + position[]={10746.696,99.75647,3103.9294}; + angles[]={0,4.7627535,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=635; + type="vn_signad_sponsors_f"; + }; + class Item7 + { + dataType="Logic"; + class PositionInfo + { + position[]={10745.382,98.620941,3103.0156}; + angles[]={0.0026520467,3.915524,6.2805333}; + }; + init="['utility', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=636; + type="Logic"; + }; + class Item8 + { + dataType="Object"; + class PositionInfo + { + position[]={10742.042,99.393219,3101.3203}; + angles[]={0,1.6231606,0}; + }; + side="Empty"; + class Attributes + { + }; + id=637; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.7015152; + }; }; - id=518; - type="vn_b_wheeled_m151_mg_02"; + id=624; + atlOffset=0.38565826; }; class Item90 { - dataType="Object"; - class PositionInfo - { - position[]={10803.259,100.04749,3193.8408}; - angles[]={0.0080009829,3.1035385,6.2113104}; - }; - side="Empty"; - flags=4; - class Attributes + dataType="Layer"; + name="Heavy fire support spawns"; + class Entities { + items=3; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={10764.617,99.222679,3103.7109}; + angles[]={0,4.748518,0}; + }; + side="Empty"; + class Attributes + { + }; + id=649; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.56367493; + }; + class Item1 + { + dataType="Object"; + class PositionInfo + { + position[]={10760.813,99.730064,3100.1426}; + angles[]={0,1.6227804,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=650; + type="vn_signad_sponsors_f"; + }; + class Item2 + { + dataType="Logic"; + class PositionInfo + { + position[]={10761.993,98.612213,3101.2241}; + angles[]={6.2778621,0.63948864,6.2805324}; + }; + init="['heavy_fire_support', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=651; + type="Logic"; + atlOffset=0.021003723; + }; }; - id=519; - type="vn_b_wheeled_m151_mg_03"; + id=648; + atlOffset=0.15266418; }; class Item91 { - dataType="Object"; - class PositionInfo - { - position[]={10806.922,99.641205,3194.0215}; - angles[]={0.015998369,3.0939314,6.2778587}; - }; - side="Empty"; - flags=4; - class Attributes + dataType="Layer"; + name="Light fire support spawns"; + class Entities { + items=3; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={10764.72,99.241783,3113.7263}; + angles[]={0,4.7231941,0}; + }; + side="Empty"; + class Attributes + { + }; + id=655; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.56369019; + }; + class Item1 + { + dataType="Object"; + class PositionInfo + { + position[]={10761.498,99.756187,3110.5137}; + angles[]={0,1.6183306,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=656; + type="vn_signad_sponsors_f"; + atlOffset=7.6293945e-006; + }; + class Item2 + { + dataType="Logic"; + class PositionInfo + { + position[]={10763.269,98.617096,3111.4109}; + angles[]={6.2805324,0.5512622,0}; + }; + init="['light_fire_support', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=657; + type="Logic"; + }; }; - id=520; - type="vn_b_wheeled_m151_02"; + id=658; + atlOffset=0.1401062; }; }; class Connections { class LinkIDProvider { - nextID=49; + nextID=64; }; class Links { - items=49; + items=64; class Item0 { linkID=0; @@ -11922,8 +11813,8 @@ class Mission class Item11 { linkID=11; - item0=247; - item1=115; + item0=507; + item1=123; class CustomData { type="Sync"; @@ -11932,8 +11823,8 @@ class Mission class Item12 { linkID=12; - item0=223; - item1=116; + item0=538; + item1=539; class CustomData { type="Sync"; @@ -11942,8 +11833,8 @@ class Mission class Item13 { linkID=13; - item0=259; - item1=116; + item0=537; + item1=539; class CustomData { type="Sync"; @@ -11952,8 +11843,8 @@ class Mission class Item14 { linkID=14; - item0=270; - item1=116; + item0=542; + item1=543; class CustomData { type="Sync"; @@ -11962,8 +11853,8 @@ class Mission class Item15 { linkID=15; - item0=260; - item1=116; + item0=541; + item1=543; class CustomData { type="Sync"; @@ -11972,8 +11863,8 @@ class Mission class Item16 { linkID=16; - item0=261; - item1=116; + item0=546; + item1=547; class CustomData { type="Sync"; @@ -11982,8 +11873,8 @@ class Mission class Item17 { linkID=17; - item0=262; - item1=116; + item0=548; + item1=547; class CustomData { type="Sync"; @@ -11992,8 +11883,8 @@ class Mission class Item18 { linkID=18; - item0=263; - item1=116; + item0=550; + item1=551; class CustomData { type="Sync"; @@ -12002,8 +11893,8 @@ class Mission class Item19 { linkID=19; - item0=266; - item1=116; + item0=552; + item1=551; class CustomData { type="Sync"; @@ -12012,8 +11903,8 @@ class Mission class Item20 { linkID=20; - item0=264; - item1=116; + item0=554; + item1=555; class CustomData { type="Sync"; @@ -12022,8 +11913,8 @@ class Mission class Item21 { linkID=21; - item0=267; - item1=116; + item0=556; + item1=555; class CustomData { type="Sync"; @@ -12032,8 +11923,8 @@ class Mission class Item22 { linkID=22; - item0=275; - item1=116; + item0=558; + item1=559; class CustomData { type="Sync"; @@ -12042,8 +11933,8 @@ class Mission class Item23 { linkID=23; - item0=276; - item1=116; + item0=560; + item1=559; class CustomData { type="Sync"; @@ -12052,8 +11943,8 @@ class Mission class Item24 { linkID=24; - item0=303; - item1=116; + item0=562; + item1=563; class CustomData { type="Sync"; @@ -12062,8 +11953,8 @@ class Mission class Item25 { linkID=25; - item0=222; - item1=116; + item0=564; + item1=563; class CustomData { type="Sync"; @@ -12072,8 +11963,8 @@ class Mission class Item26 { linkID=26; - item0=309; - item1=116; + item0=565; + item1=566; class CustomData { type="Sync"; @@ -12082,8 +11973,8 @@ class Mission class Item27 { linkID=27; - item0=282; - item1=116; + item0=567; + item1=566; class CustomData { type="Sync"; @@ -12092,8 +11983,8 @@ class Mission class Item28 { linkID=28; - item0=531; - item1=116; + item0=569; + item1=570; class CustomData { type="Sync"; @@ -12102,8 +11993,8 @@ class Mission class Item29 { linkID=29; - item0=296; - item1=116; + item0=571; + item1=570; class CustomData { type="Sync"; @@ -12112,8 +12003,8 @@ class Mission class Item30 { linkID=30; - item0=288; - item1=116; + item0=574; + item1=575; class CustomData { type="Sync"; @@ -12122,8 +12013,8 @@ class Mission class Item31 { linkID=31; - item0=343; - item1=116; + item0=576; + item1=575; class CustomData { type="Sync"; @@ -12132,8 +12023,8 @@ class Mission class Item32 { linkID=32; - item0=336; - item1=116; + item0=577; + item1=578; class CustomData { type="Sync"; @@ -12142,8 +12033,8 @@ class Mission class Item33 { linkID=33; - item0=341; - item1=116; + item0=579; + item1=578; class CustomData { type="Sync"; @@ -12152,8 +12043,8 @@ class Mission class Item34 { linkID=34; - item0=340; - item1=116; + item0=587; + item1=589; class CustomData { type="Sync"; @@ -12162,8 +12053,8 @@ class Mission class Item35 { linkID=35; - item0=339; - item1=116; + item0=588; + item1=589; class CustomData { type="Sync"; @@ -12172,8 +12063,8 @@ class Mission class Item36 { linkID=36; - item0=338; - item1=116; + item0=590; + item1=592; class CustomData { type="Sync"; @@ -12182,8 +12073,8 @@ class Mission class Item37 { linkID=37; - item0=337; - item1=116; + item0=591; + item1=592; class CustomData { type="Sync"; @@ -12192,8 +12083,8 @@ class Mission class Item38 { linkID=38; - item0=335; - item1=116; + item0=595; + item1=597; class CustomData { type="Sync"; @@ -12202,8 +12093,8 @@ class Mission class Item39 { linkID=39; - item0=116; - item1=334; + item0=596; + item1=597; class CustomData { type="Sync"; @@ -12212,8 +12103,8 @@ class Mission class Item40 { linkID=40; - item0=507; - item1=123; + item0=599; + item1=601; class CustomData { type="Sync"; @@ -12222,8 +12113,8 @@ class Mission class Item41 { linkID=41; - item0=510; - item1=116; + item0=600; + item1=601; class CustomData { type="Sync"; @@ -12232,8 +12123,8 @@ class Mission class Item42 { linkID=42; - item0=511; - item1=116; + item0=603; + item1=605; class CustomData { type="Sync"; @@ -12242,8 +12133,8 @@ class Mission class Item43 { linkID=43; - item0=515; - item1=116; + item0=604; + item1=605; class CustomData { type="Sync"; @@ -12252,8 +12143,8 @@ class Mission class Item44 { linkID=44; - item0=517; - item1=116; + item0=606; + item1=608; class CustomData { type="Sync"; @@ -12262,8 +12153,8 @@ class Mission class Item45 { linkID=45; - item0=518; - item1=116; + item0=607; + item1=608; class CustomData { type="Sync"; @@ -12272,8 +12163,8 @@ class Mission class Item46 { linkID=46; - item0=519; - item1=116; + item0=611; + item1=613; class CustomData { type="Sync"; @@ -12282,8 +12173,8 @@ class Mission class Item47 { linkID=47; - item0=520; - item1=116; + item0=612; + item1=613; class CustomData { type="Sync"; @@ -12292,8 +12183,158 @@ class Mission class Item48 { linkID=48; - item0=516; - item1=116; + item0=614; + item1=616; + class CustomData + { + type="Sync"; + }; + }; + class Item49 + { + linkID=49; + item0=615; + item1=616; + class CustomData + { + type="Sync"; + }; + }; + class Item50 + { + linkID=50; + item0=617; + item1=619; + class CustomData + { + type="Sync"; + }; + }; + class Item51 + { + linkID=51; + item0=618; + item1=619; + class CustomData + { + type="Sync"; + }; + }; + class Item52 + { + linkID=52; + item0=620; + item1=622; + class CustomData + { + type="Sync"; + }; + }; + class Item53 + { + linkID=53; + item0=621; + item1=622; + class CustomData + { + type="Sync"; + }; + }; + class Item54 + { + linkID=54; + item0=625; + item1=627; + class CustomData + { + type="Sync"; + }; + }; + class Item55 + { + linkID=55; + item0=626; + item1=627; + class CustomData + { + type="Sync"; + }; + }; + class Item56 + { + linkID=56; + item0=630; + item1=629; + class CustomData + { + type="Sync"; + }; + }; + class Item57 + { + linkID=57; + item0=628; + item1=629; + class CustomData + { + type="Sync"; + }; + }; + class Item58 + { + linkID=58; + item0=637; + item1=636; + class CustomData + { + type="Sync"; + }; + }; + class Item59 + { + linkID=59; + item0=635; + item1=636; + class CustomData + { + type="Sync"; + }; + }; + class Item60 + { + linkID=60; + item0=649; + item1=651; + class CustomData + { + type="Sync"; + }; + }; + class Item61 + { + linkID=61; + item0=650; + item1=651; + class CustomData + { + type="Sync"; + }; + }; + class Item62 + { + linkID=62; + item0=655; + item1=657; + class CustomData + { + type="Sync"; + }; + }; + class Item63 + { + linkID=63; + item0=656; + item1=657; class CustomData { type="Sync"; diff --git a/mission/config/subconfigs/vehicle_respawn_info.hpp b/mission/config/subconfigs/vehicle_respawn_info.hpp index 76f999da..8d3b5aab 100644 --- a/mission/config/subconfigs/vehicle_respawn_info.hpp +++ b/mission/config/subconfigs/vehicle_respawn_info.hpp @@ -530,17 +530,10 @@ class spawn_point_types { }; class transport_trucks { - name = "Large transport"; + name = "Trucks"; RESPAWN_LONG; class categories { - class m113 { - name = "M113"; - icon = VEHICLE_ICON_ARMOUR; - include[] = { { "m113", "transport" } }; - exclude[] = { "firesupport" }; - }; - class trucks { name = "Trucks"; icon = VEHICLE_ICON_TRUCK; From 924d4c9cbb6145107eb14df2ac1edd3269868bb2 Mon Sep 17 00:00:00 2001 From: Spoffy Date: Sun, 11 Jun 2023 16:16:11 +0100 Subject: [PATCH 17/34] Adds 1.3 logistics and arsenal content --- mission/config/arsenal.hpp | 326 +++++++++++++++++- mission/config/logistics.hpp | 210 ++++++++++- .../subconfigs/vehicle_respawn_info.hpp | 2 +- 3 files changed, 519 insertions(+), 19 deletions(-) diff --git a/mission/config/arsenal.hpp b/mission/config/arsenal.hpp index cf707e8f..7551bef6 100644 --- a/mission/config/arsenal.hpp +++ b/mission/config/arsenal.hpp @@ -196,7 +196,6 @@ class vn_whitelisted_arsenal_loadouts {"vn_m14a1_bipod",{-1,3,-1,-1}}, {"vn_m1918_bipod",{-1,4,3,-1}}, {"vn_vz54_sniper",{3,-1,-1,-1}}, - //--- //Launchers {"vn_m72",{-1,0,0,-1}}, //Single-Use {"vn_m79",{-1,0,0,-1}}, //Grenade Launcher, Primary Slot @@ -232,7 +231,52 @@ class vn_whitelisted_arsenal_loadouts {"vn_m_shovel_01",{0,0,0,0}}, {"vn_m_typeivaxe_01",{0,0,0,0}}, {"vn_m_vc_knife_01",{0,0,0,0}}, - {"vn_m_wrench_01",{0,0,0,0}} + {"vn_m_wrench_01",{0,0,0,0}}, + // 1.3 content + {"vn_b_melee_m43_etool_01",{-1,0,0,-1}}, + {"vn_b_melee_m1903",{0,0,0,0}}, + {"vn_b_melee_k98k",{0,-1,-1,0}}, + {"vn_b_melee_m36",{0,0,0,0}}, + {"vn_type64",{5,-1,-1,6}}, + {"vn_ppk",{1,2,2,0}}, + {"vn_ppk_sd",{4,4,4,5}}, + {"vn_p38",{1,1,1,1}}, + {"vn_p38_sd",{5,5,5,6}}, + {"vn_hp_sd",{-1,6,6,-1}}, + {"vn_type64_smg",{6,6,-1,-1}}, + {"vn_type64_f_smg",{6,6,-1,-1}}, + {"vn_l2a3",{-1,2,2,-1}}, + {"vn_l2a3_f",{-1,3,3,-1}}, + {"vn_l34a1",{-1,4,4,-1}}, + {"vn_l34a1_f",{-1,5,5,-1}}, + {"vn_l34a1_xm148",{-1,6,6,-1}}, + {"vn_kbkg",{2,-1,-1,4}}, + {"vn_kbkg_gl",{3,-1,-1,6}}, + {"vn_ak_01",{0,4,4,2}}, + {"vn_xm177_m203",{-1,5,5,-1}}, + {"vn_xm177_m203_camo",{-1,6,6,-1}}, + {"vn_m1903",{0,0,0,0}}, + {"vn_m1903_sniper",{1,1,1,1}}, + {"vn_m1903_bayo",{1,1,1,1}}, + {"vn_m1903_gl",{2,2,2,2}}, + {"vn_svd",{5,-1,-1,-1}}, + {"vn_svd_sniper",{6,-1,-1,-1}}, + {"vn_svd_sniper_camo",{6,-1,-1,-1}}, + {"vn_m36",{0,0,0,0}}, + {"vn_m36_bayo",{0,0,0,0}}, + {"vn_m36_camo",{1,1,1,1}}, + {"vn_k98k",{0,-1,0,0}}, + {"vn_k98k_bayo",{0,-1,0,0}}, + {"vn_k98k_mrk",{2,-1,2,2}}, + {"vn_k98k_mrk_camo",{3,-1,3,3}}, + {"vn_m14a1_shorty",{-1,4,4,-1}}, + {"vn_m14a1_shorty_fs",{-1,5,5,-1}}, + {"vn_m1carbine_shorty",{-1,6,6,-1}}, + {"vn_l4",{-1,2,-1,-1}}, + {"vn_m20a1b1_01",{-1,3,3,-1}}, + {"vn_mg42",{2,-1,-1,4}}, + {"vn_camera_01",{-1,1,1,-1}} + //--- }; magazines[] = @@ -564,7 +608,39 @@ class vn_whitelisted_arsenal_loadouts {"vn_m1_garand_mag",{-1,0,-1,-1}}, {"vn_m1_garand_t_mag",{-1,1,-1,-1}}, {"vn_m1918_mag",{-1,0,-1,-1}}, - {"vn_m1918_t_mag",{-1,1,-1,-1}} + {"vn_m1918_t_mag",{-1,1,-1,-1}}, + //1.3 mags + {"vn_mine_m18_range_mag",{-1,1,1,-1}}, + {"vn_mine_m18_fuze10_mag",{-1,3,3,-1}}, + {"vn_mine_m18_wp_mag",{-1,2,2,-1}}, + {"vn_mine_m18_wp_range_mag",{-1,3,3,-1}}, + {"vn_mine_m18_wp_fuze10_mag",{-1,4,4,-1}}, + {"vn_mine_m18_x3_mag",{-1,2,2,-1}}, + {"vn_mine_m18_x3_range_mag",{-1,3,3,-1}}, + {"vn_20mm_f1n60_frag_mag",{3,-1,-1,3}}, + {"vn_20mm_kgn_frag_mag",{4,-1,-1,4}}, + {"vn_20mm_pgn60_heat_mag",{5,-1,-1,5}}, + {"vn_20mm_dgn_wp_mag",{6,-1,-1,6}}, + {"vn_type64_mag",{5,-1,-1,5}}, + {"vn_ppk_mag",{0,0,0,0}}, + {"vn_p38_mag",{0,0,0,0}}, + {"vn_type64_smg_mag",{4,4,-1,-1}}, + {"vn_type64_smg_t_mag",{5,5,-1,-1}}, + {"vn_kbkg_mag",{2,-1,-1,4}}, + {"vn_kbkg_t_mag",{3,-1,-1,5}}, + {"vn_k98k_mag",{0,0,0,0}}, + {"vn_k98k_t_mag",{1,1,1,1}}, + {"vn_svd_mag",{4,-1,-1,-1}}, + {"vn_svd_t_mag",{5,-1,-1,-1}}, + {"vn_m36_mag",{0,0,0,0}}, + {"vn_m36_t_mag",{1,1,1,1}}, + {"vn_m1903_mag",{0,0,0,0}}, + {"vn_m1903_t_mag",{1,1,1,1}}, + {"vn_m20a1b1_heat_mag",{-1,3,3,-1}}, + {"vn_m20a1b1_wp_mag",{-1,4,4,-1}}, + {"vn_rpg2_fuze_mag",{2,2,2,2}}, + {"vn_mg42_50_mag",{2,-1,-1,4}}, + {"vn_mg42_50_t_mag",{3,-1,-1,5}} }; items[] = @@ -586,10 +662,7 @@ class vn_whitelisted_arsenal_loadouts {"ACRE_PRC343",{0,0,0,0}}, {"ACRE_PRC77",{0,0,0,0}}, {"ItemRadioAcreFlagged", {0,0,0,0}}, - //1.1 Content - {"vn_b_prop_camera_01",{-1,5,-1,-1}}, - //--- //Facewear {"G_Aviator",{0,0,0,0}}, {"G_Bandanna_aviator",{0,0,0,0}}, @@ -1170,7 +1243,65 @@ class vn_whitelisted_arsenal_loadouts {"vn_o_3x_l1a1",{-1,2,2,-1}}, {"vn_b_l1a1",{-1,1,1,-1}}, {"vn_o_3x_vz54",{2,-1,-1,-1}}, - {"vn_b_camo_vz54",{3,-1,-1,-1}} + {"vn_b_camo_vz54",{3,-1,-1,-1}}, + + //1.3 accs + {"vn_o_8x_m1903",{1,1,1,1}}, + {"vn_o_1_5x_k98k",{1,1,1,1}}, + {"vn_o_4x_svd",{5,-1,-1,-1}}, + {"vn_o_m14_front",{-1,4,4,-1}}, + {"vn_s_ppk",{2,2,2,2}}, + {"vn_s_hp",{-1,3,3,-1}}, + {"vn_b_m1903",{1,1,1,1}}, + {"vn_b_m36",{1,1,1,1}}, + {"vn_b_k98k",{1,1,1,1}}, + {"vn_b_camo_m1903",{2,2,2,2}}, + {"vn_b_camo_m36",{2,2,2,2}}, + {"vn_b_camo_k98k",{2,2,2,2}}, + {"vn_b_camo_svd",{6,-1,-1,-1}}, + {"vn_bipod_m63a",{-1,3,3,-1}}, + + //1.3 eqpt + {"vn_b_vest_usmc_01",{-1,0,0,-1}}, + {"vn_b_vest_usmc_02",{-1,1,1,-1}}, + {"vn_b_vest_usmc_03",{-1,2,2,-1}}, + {"vn_b_vest_usmc_04",{-1,2,2,-1}}, + {"vn_b_vest_usmc_05",{-1,3,3,-1}}, + {"vn_b_vest_usmc_06",{-1,4,4,-1}}, + {"vn_b_vest_usmc_07",{-1,4,4,-1}}, + {"vn_b_vest_usmc_08",{-1,5,5,-1}}, + {"vn_b_vest_usmc_09",{-1,6,6,-1}}, + {"vn_b_helmet_m1_14_01",{-1,0,-1,-1}}, + {"vn_b_helmet_m1_14_02",{-1,1,-1,-1}}, + {"vn_b_helmet_m1_15_01",{-1,1,-1,-1}}, + {"vn_b_helmet_m1_15_02",{-1,2,-1,-1}}, + {"vn_b_helmet_m1_16_01",{-1,2,-1,-1}}, + {"vn_b_helmet_m1_16_02",{-1,3,-1,-1}}, + {"vn_b_helmet_m1_17_01",{-1,3,-1,-1}}, + {"vn_b_helmet_m1_17_02",{-1,4,-1,-1}}, + {"vn_b_helmet_m1_18_01",{-1,4,-1,-1}}, + {"vn_b_helmet_m1_18_02",{-1,5,-1,-1}}, + {"vn_b_helmet_m1_19_01",{-1,5,-1,-1}}, + {"vn_b_helmet_m1_19_02",{-1,6,-1,-1}}, + {"vn_b_helmet_m1_20_01",{-1,6,-1,-1}}, + {"vn_b_helmet_m1_20_02",{-1,6,-1,-1}}, + {"vn_b_boonie_09_01",{-1,2,-1,-1}}, + {"vn_b_boonie_09_02",{-1,3,-1,-1}}, + {"vn_b_boonie_09_03",{-1,4,-1,-1}}, + {"vn_b_boonie_09_04",{-1,5,-1,-1}}, + {"vn_b_boonie_09_05",{-1,6,-1,-1}}, + {"vn_b_boonie_09_06",{-1,2,-1,-1}}, + {"vn_b_boonie_09_07",{-1,3,-1,-1}}, + {"vn_b_boonie_09_08",{-1,4,-1,-1}}, + {"vn_b_boonie_09_09",{-1,5,-1,-1}}, + {"vn_b_boonie_01_09",{-1,6,-1,-1}}, + {"vn_b_boonie_02_09",{-1,2,-1,-1}}, + {"vn_b_boonie_03_09",{-1,3,-1,-1}}, + {"vn_b_boonie_04_09",{-1,4,-1,-1}}, + {"vn_b_boonie_05_09",{-1,5,-1,-1}}, + {"vn_b_beret_01_09",{-1,2,-1,-1}}, + {"vn_b_beret_01_10",{-1,3,-1,-1}}, + {"vn_b_beret_01_11",{-1,4,-1,-1}} }; backpacks[] = @@ -1258,7 +1389,26 @@ class vn_whitelisted_arsenal_loadouts {"vn_o_pack_static_rpd_01",{2,-1,-1,2}}, {"vn_o_pack_static_type53_01",{6,-1,-1,6}}, {"vn_o_pack_static_type63_01",{5,-1,-1,5}}, - {"vn_o_pack_t884_01",{1,-1,-1,1}} + {"vn_o_pack_t884_01",{1,-1,-1,1}}, + + //1.3 packs + //backpack + {"vn_b_pack_t10_01",{0,0,0,0}}, + {"vn_b_pack_m41_01",{-1,0,-1,-1}}, + {"vn_b_pack_m41_02",{-1,1,-1,-1}}, + {"vn_b_pack_m41_03",{-1,2,-1,-1}}, + {"vn_b_pack_m41_04",{-1,3,-1,-1}}, + {"vn_b_pack_m41_05",{-1,4,-1,-1}}, + {"vn_b_pack_arvn_01",{-1,1,0,-1}}, + {"vn_b_pack_arvn_02",{-1,2,1,-1}}, + {"vn_b_pack_arvn_03",{-1,3,2,-1}}, + {"vn_b_pack_arvn_04",{-1,4,3,-1}}, + //weapon packs + {"vn_o_pack_static_m1910_low_01",{0,-1,-1,0}}, + {"vn_o_pack_static_m1910_low_02",{1,-1,-1,1}}, + {"vn_o_pack_static_m1910_high_01",{2,-1,-1,2}}, + {"vn_b_pack_static_m2_scoped_high_01",{-1,6,6,-1}}, + {"vn_b_pack_static_m2_scoped_low_01",{-1,5,5,-1}} }; vehicles[] = @@ -1873,8 +2023,166 @@ class vn_whitelisted_arsenal_loadouts {"vn_b_air_f100d_lbmb",{-1,4,-1,-1}}, {"vn_b_air_f100d_mbmb",{-1,6,-1,-1}}, {"vn_b_air_f100d_hbmb",{-1,6,-1,-1}}, - {"vn_b_air_f100d_sead",{-1,6,-1,-1}} + {"vn_b_air_f100d_sead",{-1,6,-1,-1}}, //--- + /// 1.3 vehicles + //uh-1 + {"vn_i_air_uh1d_01_02",{-1,-1,1,-1}}, + {"vn_i_air_uh1d_02_02",{-1,-1,1,-1}}, + // CH-47 Chinook + {"vn_b_air_ch47_01_01",{-1,0,-1,-1}}, + {"vn_b_air_ch47_02_01",{-1,1,-1,-1}}, + {"vn_b_air_ch47_03_01",{-1,2,-1,-1}}, + {"vn_b_air_ch47_04_01",{-1,3,-1,-1}}, + {"vn_b_air_ch47_01_02",{-1,1,-1,-1}}, + {"vn_b_air_ch47_02_02",{-1,2,-1,-1}}, + {"vn_b_air_ch47_03_02",{-1,3,-1,-1}}, + {"vn_b_air_ch47_04_02",{-1,4,-1,-1}}, + {"vn_b_air_ach47_01_01",{-1,5,-1,-1}}, + {"vn_b_air_ach47_02_01",{-1,6,-1,-1}}, + {"vn_b_air_ach47_03_01",{-1,5,-1,-1}}, + {"vn_b_air_ach47_04_01",{-1,6,-1,-1}}, + {"vn_b_air_ach47_05_01",{-1,5,-1,-1}}, + {"vn_i_air_ch47_01_01",{-1,-1,2,-1}}, + {"vn_i_air_ch47_02_01",{-1,-1,3,-1}}, + {"vn_i_air_ch47_03_01",{-1,-1,4,-1}}, + {"vn_i_air_ch47_04_01",{-1,-1,5,-1}}, + // MiG-21 + {"vn_o_air_mig21_gun",{3,-1,-1,-1}}, + {"vn_o_air_mig21_cap",{5,-1,-1,-1}}, + {"vn_o_air_mig21_cas",{4,-1,-1,-1}}, + {"vn_o_air_mig21_at",{6,-1,-1,-1}}, + {"vn_o_air_mig21_mr",{4,-1,-1,-1}}, + {"vn_o_air_mig21_bmb",{5,-1,-1,-1}}, + {"vn_o_air_mig21_hbmb",{6,-1,-1,-1}}, + + // M48A3 + {"vn_b_armor_m48_01_01",{-1,5,-1,-1}}, + {"vn_b_armor_m48_01_02",{-1,5,-1,-1}}, + {"vn_b_armor_m67_01_01",{-1,6,-1,-1}}, + {"vn_b_armor_m67_01_02",{-1,6,-1,-1}}, + {"vn_i_armor_m48_01_01",{-1,-1,5,-1}}, + {"vn_i_armor_m67_01_01",{-1,-1,6,-1}}, + // BTR-50PK + {"vn_o_armor_btr50pk_01",{3,-1,-1,-1}}, + {"vn_o_armor_btr50pk_02",{4,-1,-1,-1}}, + {"vn_o_armor_btr50pk_03",{5,-1,-1,-1}}, + {"vn_o_armor_btr50pk_01_nva65",{3,-1,-1,-1}}, + {"vn_o_armor_btr50pk_02_nva65",{4,-1,-1,-1}}, + {"vn_o_armor_btr50pk_03_nva65",{5,-1,-1,-1}}, + {"vn_o_armor_btr50pk_01_nvam",{3,-1,-1,-1}}, + {"vn_o_armor_btr50pk_02_nvam",{4,-1,-1,-1}}, + {"vn_o_armor_btr50pk_03_nvam",{5,-1,-1,-1}}, + // M113A1 + {"vn_b_armor_m125_01",{-1,6,-1,-1}}, + {"vn_b_armor_m132_01",{-1,5,-1,-1}}, + {"vn_b_armor_m577_01",{-1,0,-1,-1}}, + {"vn_b_armor_m577_02",{-1,0,-1,-1}}, + {"vn_b_armor_m125_01_aus_army",{-1,6,-1,-1}}, + {"vn_b_armor_m577_01_aus_army",{-1,0,-1,-1}}, + {"vn_b_armor_m577_02_aus_army",{-1,0,-1,-1}}, + {"vn_b_armor_m125_01_rok_army",{-1,6,-1,-1}}, + {"vn_b_armor_m577_01_rok_army",{-1,0,-1,-1}}, + {"vn_b_armor_m577_02_rok_army",{-1,0,-1,-1}}, + {"vn_i_armor_m125_01",{-1,-1,6,-1}}, + {"vn_i_armor_m132_01",{-1,-1,5,-1}}, + {"vn_i_armor_m577_01",{-1,-1,0,-1}}, + {"vn_i_armor_m577_02",{-1,-1,0,-1}}, + {"vn_i_armor_m113_01_fank_71",{-1,-1,1,-1}}, + {"vn_i_armor_m113_acav_01_fank_71",{-1,-1,2,-1}}, + {"vn_i_armor_m113_acav_02_fank_71",{-1,-1,3,-1}}, + {"vn_i_armor_m113_acav_03_fank_71",{-1,-1,4,-1}}, + {"vn_i_armor_m113_acav_06_fank_71",{-1,-1,5,-1}}, + {"vn_o_armor_m125_01",{6,-1,-1,-1}}, + {"vn_o_armor_m577_01",{0,-1,-1,-1}}, + {"vn_o_armor_m577_02",{0,-1,-1,-1}}, + {"vn_o_armor_m113_01_kr",{1,-1,-1,-1}}, + {"vn_o_armor_m113_acav_01_kr",{2,-1,-1,-1}}, + {"vn_o_armor_m113_acav_02_kr",{3,-1,-1,-1}}, + {"vn_o_armor_m113_acav_03_kr",{4,-1,-1,-1}}, + {"vn_o_armor_m113_acav_06_kr",{5,-1,-1,-1}}, + + // T-54 + {"vn_o_armor_t54b_01_nva65",{5,-1,-1,-1}}, + {"vn_o_armor_t54b_01",{5,-1,-1,-1}}, + {"vn_o_armor_t54b_01_vcmf",{5,-1,-1,-1}}, + {"vn_o_armor_ot54_01_nva65",{6,-1,-1,-1}}, + {"vn_o_armor_ot54_01",{6,-1,-1,-1}}, + {"vn_o_armor_ot54_01_vcmf",{6,-1,-1,-1}}, + // KR + {"vn_o_boat_01_00_kr",{0,0,0,0}}, + {"vn_o_boat_01_01_kr",{0,0,0,0}}, + {"vn_o_boat_01_02_kr",{0,0,0,0}}, + {"vn_o_boat_01_03_kr",{0,0,0,0}}, + {"vn_o_boat_01_04_kr",{0,0,0,0}}, + {"vn_o_boat_02_00_kr",{0,0,0,0}}, + {"vn_o_boat_02_01_kr",{0,0,0,0}}, + {"vn_o_boat_02_02_kr",{0,0,0,0}}, + {"vn_o_boat_02_03_kr",{0,0,0,0}}, + {"vn_o_boat_02_04_kr",{0,0,0,0}}, + {"vn_o_boat_01_mg_00_kr",{2,-1,-1,-1}}, + {"vn_o_boat_01_mg_01_kr",{2,-1,-1,-1}}, + {"vn_o_boat_01_mg_02_kr",{2,-1,-1,-1}}, + {"vn_o_boat_01_mg_03_kr",{2,-1,-1,-1}}, + {"vn_o_boat_01_mg_04_kr",{2,-1,-1,-1}}, + {"vn_o_boat_02_mg_00_kr",{2,-1,-1,-1}}, + {"vn_o_boat_02_mg_01_kr",{2,-1,-1,-1}}, + {"vn_o_boat_02_mg_02_kr",{2,-1,-1,-1}}, + {"vn_o_boat_02_mg_03_kr",{2,-1,-1,-1}}, + {"vn_o_boat_02_mg_04_kr",{2,-1,-1,-1}}, + {"vn_o_boat_07_01_kr",{2,-1,-1,-1}}, + {"vn_o_boat_07_02_kr",{2,-1,-1,-1}}, + {"vn_o_boat_08_01_kr",{2,-1,-1,-1}}, + {"vn_o_boat_08_02_kr",{2,-1,-1,-1}}, + // FANK + {"vn_i_boat_01_00_fank_70",{0,0,0,0}}, + {"vn_i_boat_01_01_fank_70",{0,0,0,0}}, + {"vn_i_boat_01_02_fank_70",{0,0,0,0}}, + {"vn_i_boat_01_03_fank_70",{0,0,0,0}}, + {"vn_i_boat_01_04_fank_70",{0,0,0,0}}, + {"vn_i_boat_02_00_fank_70",{0,0,0,0}}, + {"vn_i_boat_02_01_fank_70",{0,0,0,0}}, + {"vn_i_boat_02_02_fank_70",{0,0,0,0}}, + {"vn_i_boat_02_03_fank_70",{0,0,0,0}}, + {"vn_i_boat_02_04_fank_70",{0,0,0,0}}, + {"vn_i_boat_01_mg_00_fank_70",{-1,-1,2,-1}}, + {"vn_i_boat_01_mg_01_fank_70",{-1,-1,2,-1}}, + {"vn_i_boat_01_mg_02_fank_70",{-1,-1,2,-1}}, + {"vn_i_boat_01_mg_03_fank_70",{-1,-1,2,-1}}, + {"vn_i_boat_01_mg_04_fank_70",{-1,-1,2,-1}}, + {"vn_i_boat_02_mg_00_fank_70",{-1,-1,2,-1}}, + {"vn_i_boat_02_mg_01_fank_70",{-1,-1,2,-1}}, + {"vn_i_boat_02_mg_02_fank_70",{-1,-1,2,-1}}, + {"vn_i_boat_02_mg_03_fank_70",{-1,-1,2,-1}}, + {"vn_i_boat_02_mg_04_fank_70",{-1,-1,2,-1}}, + {"vn_i_boat_12_01_fank_71",{-1,-1,2,-1}}, + {"vn_i_boat_12_02_fank_71",{-1,-1,2,-1}}, + {"vn_i_boat_12_03_fank_71",{-1,-1,2,-1}}, + {"vn_i_boat_12_04_fank_71",{-1,-1,2,-1}}, + // ZGU-1 + {"vn_o_nva_static_zgu1_01",{2,-1,-1,-1}}, + {"vn_o_nva_65_static_zgu1_01",{2,-1,-1,-1}}, + {"vn_o_nva_navy_static_zgu1_01",{2,-1,-1,-1}}, + {"vn_o_vc_static_zgu1_01",{2,-1,-1,-1}}, + {"vn_o_pl_static_zgu1_01",{2,-1,-1,-1}}, + //M1910 + {"vn_o_nva_static_m1910_low_01",{0,-1,-1,-1}}, + {"vn_o_nva_static_m1910_low_02",{1,-1,-1,-1}}, + {"vn_o_nva_static_m1910_high_01",{2,-1,-1,-1}}, + {"vn_o_nva_65_static_m1910_low_01",{0,-1,-1,-1}}, + {"vn_o_nva_65_static_m1910_low_02",{1,-1,-1,-1}}, + {"vn_o_nva_65_static_m1910_high_01",{2,-1,-1,-1}}, + {"vn_o_nva_navy_static_m1910_low_01",{0,-1,-1,-1}}, + {"vn_o_nva_navy_static_m1910_low_02",{1,-1,-1,-1}}, + {"vn_o_nva_navy_static_m1910_high_01",{2,-1,-1,-1}}, + {"vn_o_vc_static_m1910_low_01",{0,-1,-1,-1}}, + {"vn_o_vc_static_m1910_low_02",{1,-1,-1,-1}}, + {"vn_o_vc_static_m1910_high_01",{2,-1,-1,-1}}, + //M2 + {"vn_b_army_static_m2_scoped_high",{-1,6,-1,-1}}, + {"vn_b_army_static_m2_scoped_low",{-1,5,-1,-1}}, + {"vn_b_sf_static_m2_scoped_high",{-1,6,-1,-1}}, + {"vn_b_sf_static_m2_scoped_low",{-1,5,-1,-1}}, }; }; diff --git a/mission/config/logistics.hpp b/mission/config/logistics.hpp index ca179910..d0945d7e 100644 --- a/mission/config/logistics.hpp +++ b/mission/config/logistics.hpp @@ -2,6 +2,11 @@ class vn_logistics { class vehicle_data { + class vn_defaults_extra_large + { + inventory_max_weight = 1200; + inventory_max_size = 7.5; + }; class vn_defaults_large { inventory_max_weight = 600; @@ -27,10 +32,14 @@ class vn_logistics class vn_b_wheeled_m151_01_mp : vn_defaults_small {}; class vn_b_wheeled_m151_02_mp : vn_defaults_small {}; class vn_b_wheeled_m151_02 : vn_defaults_small {}; - class vn_c_car_01_01 : vn_defaults_tiny {}; - class vn_c_car_02_01 : vn_defaults_tiny {}; - class vn_c_car_03_01 : vn_defaults_tiny {}; + class vn_c_car_01_01 : vn_defaults_small {}; + class vn_c_car_02_01 : vn_defaults_small {}; + class vn_c_car_03_01 : vn_defaults_small {}; class vn_c_car_04_01 : vn_defaults_small {}; + class vn_c_car_01_02 : vn_defaults_small {}; + class vn_c_wheeled_m151_01 : vn_defaults_small {}; + class vn_c_wheeled_m151_02 : vn_defaults_small {}; + //Armed Jeeps class vn_b_wheeled_m151_mg_01 : vn_defaults_tiny {}; @@ -53,9 +62,9 @@ class vn_logistics class vn_b_armor_m113_acav_06 : vn_defaults_small {}; //Transport trucks - class vn_b_wheeled_m54_01 : vn_defaults_large {}; - class vn_b_wheeled_m54_01_airport : vn_defaults_large {}; - class vn_b_wheeled_m54_02 : vn_defaults_large {}; + class vn_b_wheeled_m54_01 : vn_defaults_extra_large {}; + class vn_b_wheeled_m54_01_airport : vn_defaults_extra_large {}; + class vn_b_wheeled_m54_02 : vn_defaults_extra_large {}; //M109 Command Truck class vn_b_wheeled_m54_03 : vn_defaults_medium {}; //Repair Truck @@ -72,8 +81,11 @@ class vn_logistics class vn_b_wheeled_m54_mg_03 : vn_defaults_small {}; //Armor - class vn_b_armor_m41_01_01 : vn_defaults_small {}; - class vn_o_armor_type63_01 : vn_defaults_small {}; + class vn_b_armor_m41_01_01 : vn_defaults_tiny {}; + class vn_o_armor_type63_01 : vn_defaults_tiny {}; + class vn_b_armor_m48_01_01 : vn_defaults_tiny {}; + class vn_b_armor_m67_01_01 : vn_defaults_tiny {}; + class vn_i_armor_type63_01 : vn_defaults_tiny {}; //Small VC boats class vn_o_boat_01_00 : vn_defaults_small {}; @@ -203,11 +215,22 @@ class vn_logistics class vn_b_air_uh1c_06_02 : vn_defaults_tiny {}; //UH1B - Slick - class vn_b_air_uh1c_07_01 : vn_defaults_tiny {}; + class vn_b_air_uh1c_07_01 : vn_defaults_small {}; + + //UH1B - Dustoff + class vn_b_air_uh1b_01_01 : vn_defaults_small {}; + + //UH1E - Slick + class vn_b_air_uh1e_03_04 : vn_defaults_small {}; + + //UH1E - Gunship + class vn_b_air_uh1e_01_04 : vn_defaults_tiny {}; //Choctaw - Transport class vn_b_air_ch34_01_01 : vn_defaults_small {}; class vn_b_air_ch34_03_01 : vn_defaults_small {}; + class vn_i_air_ch34_01_02 : vn_defaults_small {}; + class vn_i_air_ch34_02_02 : vn_defaults_small {}; //Choctaw - Armed (Stinger variants) class vn_b_air_ch34_04_01 : vn_defaults_tiny {}; class vn_b_air_ch34_04_02 : vn_defaults_tiny {}; @@ -232,6 +255,69 @@ class vn_logistics //UH1F - Slick class vn_b_air_uh1f_01_03 : vn_defaults_small {}; + //Jets + // Jets don't get any storage. + + // CH-47 Chinook + class vn_b_air_ch47_01_01: vn_defaults_large {}; + class vn_b_air_ch47_02_01: vn_defaults_large {}; + class vn_b_air_ch47_03_01: vn_defaults_large {}; + class vn_b_air_ch47_04_01: vn_defaults_large {}; + class vn_b_air_ch47_01_02: vn_defaults_large {}; + class vn_b_air_ch47_02_02: vn_defaults_large {}; + class vn_b_air_ch47_03_02: vn_defaults_large {}; + class vn_b_air_ch47_04_02: vn_defaults_large {}; + class vn_b_air_ach47_01_01: vn_defaults_medium {}; + class vn_b_air_ach47_02_01: vn_defaults_medium {}; + class vn_b_air_ach47_03_01: vn_defaults_medium {}; + class vn_b_air_ach47_04_01: vn_defaults_medium {}; + class vn_b_air_ach47_05_01: vn_defaults_medium {}; + class vn_i_air_ch47_01_01: vn_defaults_large {}; + class vn_i_air_ch47_02_01: vn_defaults_large {}; + class vn_i_air_ch47_03_01: vn_defaults_large {}; + class vn_i_air_ch47_04_01: vn_defaults_large {}; + + // M151 + class vn_b_wheeled_m151_01_usmc: vn_defaults_small {}; + class vn_b_wheeled_m151_02_usmc: vn_defaults_small {}; + class vn_b_wheeled_m151_mg_02_usmc: vn_defaults_tiny {}; + class vn_b_wheeled_m151_mg_03_usmc: vn_defaults_tiny {}; + class vn_b_wheeled_m151_mg_04_usmc: vn_defaults_tiny {}; + + // LR2a + class vn_b_wheeled_lr2a_01_aus_army: vn_defaults_small {}; + class vn_b_wheeled_lr2a_01_nz_army: vn_defaults_small {}; + class vn_b_wheeled_lr2a_02_aus_army: vn_defaults_small {}; + class vn_b_wheeled_lr2a_02_nz_army: vn_defaults_small {}; + class vn_b_wheeled_lr2a_03_aus_army: vn_defaults_small {}; + class vn_b_wheeled_lr2a_03_nz_army: vn_defaults_small {}; + class vn_b_wheeled_lr2a_mg_01_aus_army: vn_defaults_tiny {}; + class vn_b_wheeled_lr2a_mg_01_nz_army: vn_defaults_tiny {}; + class vn_b_wheeled_lr2a_mg_02_aus_army: vn_defaults_tiny {}; + class vn_b_wheeled_lr2a_mg_02_nz_army: vn_defaults_tiny {}; + class vn_b_wheeled_lr2a_mg_03_aus_army: vn_defaults_tiny {}; + class vn_b_wheeled_lr2a_mg_03_nz_army: vn_defaults_tiny {}; + class vn_i_wheeled_lr2a_mg_01_fank_71: vn_defaults_tiny {}; + + // M274 Mule + class vn_b_wheeled_m274_01_01: vn_defaults_small {}; + class vn_b_wheeled_m274_01_02: vn_defaults_small {}; + class vn_b_wheeled_m274_01_03: vn_defaults_small {}; + class vn_b_wheeled_m274_02_01: vn_defaults_small {}; + class vn_b_wheeled_m274_02_02: vn_defaults_small {}; + class vn_b_wheeled_m274_02_03: vn_defaults_small {}; + class vn_b_wheeled_m274_mg_01_01: vn_defaults_tiny {}; + class vn_b_wheeled_m274_mg_01_02: vn_defaults_tiny {}; + class vn_b_wheeled_m274_mg_02_01: vn_defaults_tiny {}; + class vn_b_wheeled_m274_mg_02_02: vn_defaults_tiny {}; + class vn_b_wheeled_m274_mg_03_01: vn_defaults_tiny {}; + class vn_b_wheeled_m274_mg_03_02: vn_defaults_tiny {}; + + // M113A1 + class vn_b_armor_m125_01: vn_defaults_small {}; + class vn_b_armor_m132_01: vn_defaults_small {}; + class vn_b_armor_m577_01: vn_defaults_medium {}; + class vn_b_armor_m577_02: vn_defaults_medium {}; ////////////////// //// UNSUNG //// @@ -366,6 +452,14 @@ class vn_logistics rotation_offset = 0; }; + class vn_static_medium + { + item_weight = 200; + item_size = 2.5; + spawn_distance = 4; + rotation_offset = 0; + }; + class vn_static_large { item_weight = 600; @@ -393,6 +487,10 @@ class vn_logistics class vn_b_army_static_m60_high : vn_static_tiny {}; class vn_b_sf_static_m60_high : vn_static_tiny {}; class vn_b_sf_static_m40a1rr : vn_static_small {}; + class vn_b_army_static_tow : vn_static_small {}; + class vn_b_sf_static_tow : vn_static_small {}; + class vn_b_army_static_m40a1rr : vn_static_medium {}; + class vn_b_army_static_mk18 : vn_static_small {}; //TODO - Bump these to large when slingloading is added to M45s class vn_b_army_static_m45 : vn_static_small {}; class vn_b_sf_static_m45 : vn_static_small {}; @@ -404,6 +502,8 @@ class vn_logistics class vn_i_static_m101_02 : vn_static_large {}; class vn_i_marines_static_m101_01 : vn_static_large {}; class vn_i_marines_static_m101_02 : vn_static_large {}; + class vn_b_navy_static_l60mk3 : vn_static_large {}; + class vn_b_navy_static_l70mk2 : vn_static_large {}; class vn_i_static_mortar_m2: vn_b_army_static_mortar_m2 {}; class vn_i_static_mortar_m29: vn_b_army_static_mortar_m29 {}; @@ -440,5 +540,97 @@ class vn_logistics class vn_o_vc_static_dshkm_low_02: vn_b_army_static_m2_low {}; class vn_o_vc_static_mortar_type53: vn_b_army_static_mortar_m29 {}; class vn_o_vc_static_mortar_type63: vn_b_army_static_mortar_m2 {}; + + //-------------- + // 1.3 content + //-------------- + + // ZGU-1 + class vn_o_nva_static_zgu1_01: vn_static_small {}; + class vn_o_nva_65_static_zgu1_01: vn_static_small {}; + class vn_o_nva_navy_static_zgu1_01: vn_static_small {}; + class vn_o_vc_static_zgu1_01: vn_static_small {}; + class vn_o_pl_static_zgu1_01: vn_static_small {}; + + //M1910 + class vn_o_nva_static_m1910_low_01: vn_static_small {}; + class vn_o_nva_static_m1910_low_02: vn_static_small {}; + class vn_o_nva_static_m1910_high_01: vn_static_small {}; + class vn_o_nva_65_static_m1910_low_01: vn_static_small {}; + class vn_o_nva_65_static_m1910_low_02: vn_static_small {}; + class vn_o_nva_65_static_m1910_high_01: vn_static_small {}; + class vn_o_nva_navy_static_m1910_low_01: vn_static_small {}; + class vn_o_nva_navy_static_m1910_low_02: vn_static_small {}; + class vn_o_nva_navy_static_m1910_high_01: vn_static_small {}; + class vn_o_vc_static_m1910_low_01: vn_static_small {}; + class vn_o_vc_static_m1910_low_02: vn_static_small {}; + class vn_o_vc_static_m1910_high_01: vn_static_small {}; + + //M2 + class vn_b_army_static_m2_scoped_high: vn_static_small {}; + class vn_b_army_static_m2_scoped_low: vn_static_small {}; + class vn_b_sf_static_m2_scoped_high: vn_static_small {}; + class vn_b_sf_static_m2_scoped_low: vn_static_small {}; + + //USMC + class vn_b_usmc_static_m2_low: vn_static_small {}; + class vn_b_usmc_static_m2_high: vn_static_small {}; + class vn_b_usmc_static_m2_scoped_high: vn_static_small {}; + class vn_b_usmc_static_m2_scoped_low: vn_static_small {}; + class vn_b_usmc_static_m60_low: vn_static_small {}; + class vn_b_usmc_static_m60_high: vn_static_small {}; + class vn_b_usmc_static_mortar_m2: vn_static_small {}; + class vn_b_usmc_static_mortar_m29: vn_static_small {}; + class vn_b_usmc_static_m101_01: vn_static_small {}; + class vn_b_usmc_static_m101_02: vn_static_small {}; + class vn_b_usmc_static_m40a1rr: vn_static_small {}; + + //FANK + class vn_i_fank_71_static_m1919a6: vn_static_small {}; + class vn_i_fank_71_static_m1919a4_low: vn_static_small {}; + class vn_i_fank_71_static_m1919a4_high: vn_static_small {}; + class vn_i_fank_71_static_m2_low: vn_static_small {}; + class vn_i_fank_71_static_m2_high: vn_static_small {}; + class vn_i_fank_71_static_m45: vn_static_small {}; + class vn_i_fank_71_static_m60_low: vn_static_small {}; + class vn_i_fank_71_static_m60_high: vn_static_small {}; + class vn_i_fank_71_static_mortar_m2: vn_static_small {}; + class vn_i_fank_71_static_mortar_m29: vn_static_small {}; + class vn_i_fank_71_static_m40a1rr: vn_static_small {}; + class vn_i_fank_71_static_l70mk2: vn_static_small {}; + + class vn_i_fank_70_static_dp28_high: vn_static_small {}; + class vn_i_fank_70_static_rpd_high: vn_static_small {}; + class vn_i_fank_70_static_dshkm_high_01: vn_static_small {}; + class vn_i_fank_70_static_dshkm_high_02: vn_static_small {}; + class vn_i_fank_70_static_dshkm_low_01: vn_static_small {}; + class vn_i_fank_70_static_dshkm_low_02: vn_static_small {}; + class vn_i_fank_70_static_sgm_low_01: vn_static_small {}; + class vn_i_fank_70_static_sgm_low_02: vn_static_small {}; + class vn_i_fank_70_static_sgm_high_01: vn_static_small {}; + class vn_i_fank_70_static_mortar_type53: vn_static_small {}; + class vn_i_fank_70_static_mortar_type63: vn_static_small {}; + class vn_i_fank_70_static_type56rr: vn_static_small {}; + class vn_i_fank_70_static_zgu1_01: vn_static_small {}; + class vn_i_fank_70_static_l60mk3: vn_static_small {}; + + //KR + class vn_o_kr_static_rpd_high: vn_static_small {}; + class vn_o_kr_static_dp28_high: vn_static_small {}; + class vn_o_kr_static_dshkm_high_01: vn_static_small {}; + class vn_o_kr_static_dshkm_high_02: vn_static_small {}; + class vn_o_kr_static_dshkm_low_01: vn_static_small {}; + class vn_o_kr_static_dshkm_low_02: vn_static_small {}; + class vn_o_kr_static_mortar_type53: vn_static_small {}; + class vn_o_kr_static_mortar_type63: vn_static_small {}; + class vn_o_kr_static_type56rr: vn_static_small {}; + class vn_o_kr_static_sgm_low_01: vn_static_small {}; + class vn_o_kr_static_sgm_low_02: vn_static_small {}; + class vn_o_kr_static_sgm_high_01: vn_static_small {}; + class vn_o_kr_static_h12: vn_static_small {}; + class vn_o_kr_static_zgu1_01: vn_static_small {}; + class vn_o_kr_static_m1910_low_01: vn_static_small {}; + class vn_o_kr_static_m1910_low_02: vn_static_small {}; + class vn_o_kr_static_m1910_high_01: vn_static_small {}; }; }; diff --git a/mission/config/subconfigs/vehicle_respawn_info.hpp b/mission/config/subconfigs/vehicle_respawn_info.hpp index 8d3b5aab..59725558 100644 --- a/mission/config/subconfigs/vehicle_respawn_info.hpp +++ b/mission/config/subconfigs/vehicle_respawn_info.hpp @@ -304,7 +304,7 @@ class vehicles { tags[] = {"m151a1","transport", "car"}; }; - class vn_b_wheeled_m151_mg_01_rok_army { + class vn_b_wheeled_m151_mg_01 { tags[] = {"m151a1","armed","firesupport","car"}; }; From baa850802a0a99aaf58bad526df1b638e50deb17 Mon Sep 17 00:00:00 2001 From: Spoffy Date: Sun, 11 Jun 2023 16:46:58 +0100 Subject: [PATCH 18/34] Adds 1.3 vehicles to vehicle workshop --- mission/config/subconfigs/buildables.hpp | 67 ++++++++++++++++++++++-- mission/stringtable.xml | 3 ++ 2 files changed, 67 insertions(+), 3 deletions(-) diff --git a/mission/config/subconfigs/buildables.hpp b/mission/config/subconfigs/buildables.hpp index 26dbc46c..c8084118 100644 --- a/mission/config/subconfigs/buildables.hpp +++ b/mission/config/subconfigs/buildables.hpp @@ -5297,6 +5297,51 @@ class Land_vn_i_shed_ind_old_f //side = "WEST"; }; }; + class mules + { + icon = VEHICLE_ICON_CAR; + name = "STR_vn_mf_vic_mule"; + + class vn_b_wheeled_m274_01_01 + { + cost[] = {{"BuildingSupplies", 100}}; + cooldown = 120; + icon = VEHICLE_ICON_CAR; + //side = "WEST"; + }; + + class vn_b_wheeled_m274_02_01 + { + cost[] = {{"BuildingSupplies", 100}}; + cooldown = 120; + icon = VEHICLE_ICON_CAR; + //side = "WEST"; + }; + + class vn_b_wheeled_m274_mg_02_01 + { + cost[] = {{"BuildingSupplies", 250}}; + cooldown = 120; + icon = VEHICLE_ICON_CAR; + //side = "WEST"; + }; + + class vn_b_wheeled_m274_mg_03_01 + { + cost[] = {{"BuildingSupplies", 200}}; + cooldown = 120; + icon = VEHICLE_ICON_CAR; + //side = "WEST"; + }; + + class vn_b_wheeled_m274_mg_01_01 + { + cost[] = {{"BuildingSupplies", 200}}; + cooldown = 120; + icon = VEHICLE_ICON_CAR; + //side = "WEST"; + }; + }; class cars { icon = VEHICLE_ICON_CAR; @@ -5310,7 +5355,7 @@ class Land_vn_i_shed_ind_old_f //side = "WEST"; }; - class vn_b_wheeled_m151_02 + class vn_b_wheeled_lr2a_02_aus_army { cost[] = {{"BuildingSupplies", 250}}; cooldown = 120; @@ -5326,6 +5371,14 @@ class Land_vn_i_shed_ind_old_f //side = "WEST"; }; + class vn_b_wheeled_lr2a_mg_02_aus_army + { + cost[] = {{"BuildingSupplies", 300}}; + cooldown = 180; + icon = VEHICLE_ICON_CAR; + //side = "WEST"; + }; + class vn_b_wheeled_m151_mg_04 { cost[] = {{"BuildingSupplies", 300}}; @@ -5342,7 +5395,7 @@ class Land_vn_i_shed_ind_old_f //side = "WEST"; }; - class vn_b_wheeled_m151_mg_02 + class vn_b_wheeled_lr2a_mg_01_aus_army { cost[] = {{"BuildingSupplies", 300}}; cooldown = 180; @@ -5350,7 +5403,7 @@ class Land_vn_i_shed_ind_old_f //side = "WEST"; }; - class vn_b_wheeled_m151_mg_06 + class vn_b_wheeled_lr2a_mg_03_aus_army { cost[] = {{"BuildingSupplies", 500}}; cooldown = 300; @@ -5494,6 +5547,14 @@ class Land_vn_i_shed_ind_old_f }; class vn_b_armor_m113_acav_06 + { + cost[] = {{"BuildingSupplies", 1500}}; + cooldown = 900; + icon = VEHICLE_ICON_ARMOUR; + //side = "WEST"; + }; + + class vn_b_armor_m132_01 { cost[] = {{"BuildingSupplies", 2000}}; cooldown = 900; diff --git a/mission/stringtable.xml b/mission/stringtable.xml index 4d2b155c..3e384d04 100644 --- a/mission/stringtable.xml +++ b/mission/stringtable.xml @@ -1327,6 +1327,9 @@ Cars + + + Mules Trucks From 3448657d960e0c038d187859f9bb958f5d5ab7ed Mon Sep 17 00:00:00 2001 From: Spoffy Date: Sun, 11 Jun 2023 18:34:06 +0100 Subject: [PATCH 19/34] Moves the heli spawns upwards on Khe Sanh to prevent arma'ing --- maps/vn_the_bra/mission.sqm | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/maps/vn_the_bra/mission.sqm b/maps/vn_the_bra/mission.sqm index a861584e..a262fc0f 100644 --- a/maps/vn_the_bra/mission.sqm +++ b/maps/vn_the_bra/mission.sqm @@ -8,7 +8,7 @@ class EditorData toggles=1537; class ItemIDProvider { - nextID=636; + nextID=638; }; class MarkerIDProvider { @@ -16,14 +16,14 @@ class EditorData }; class LayerIndexProvider { - nextID=481; + nextID=568; }; class Camera { - pos[]={3286.269,66.490005,4353.7139}; - dir[]={0,-0.70710683,0.70710671}; - up[]={0,0.70710665,0.70710677}; - aside[]={0.99999994,0,-0}; + pos[]={3439.7888,59.304642,4305.0957}; + dir[]={-0.94546878,-0.29431665,-0.13954034}; + up[]={-0.29116467,0.95570773,-0.042972304}; + aside[]={-0.1460069,-7.0605893e-008,0.98928702}; }; }; binarizationWanted=0; @@ -10342,7 +10342,7 @@ class Mission }; id=607; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.60484695; + atlOffset=0.5977211; }; class Item2 { @@ -10358,7 +10358,7 @@ class Mission }; }; id=631; - atlOffset=0.21392441; + atlOffset=0.005317688; }; class Item89 { @@ -10397,7 +10397,7 @@ class Mission }; id=610; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.60484695; + atlOffset=0.5977211; }; class Item2 { @@ -10413,7 +10413,7 @@ class Mission }; }; id=632; - atlOffset=0.031162262; + atlOffset=0.051296234; }; class Item90 { @@ -10452,7 +10452,7 @@ class Mission }; id=616; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.088878632; + atlOffset=0.081752777; }; class Item2 { @@ -10507,7 +10507,7 @@ class Mission }; id=613; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.34686279; + atlOffset=0.33973694; }; class Item2 { From af2e3d04f062b6de530556958890e37b8b9f8b11 Mon Sep 17 00:00:00 2001 From: Spoffy Date: Sun, 11 Jun 2023 19:45:50 +0100 Subject: [PATCH 20/34] Adds new 1.3 vehicles to vehicle lock --- .../config/subconfigs/vehicle_lock_info.hpp | 49 +++++++++++++++++-- 1 file changed, 44 insertions(+), 5 deletions(-) diff --git a/mission/config/subconfigs/vehicle_lock_info.hpp b/mission/config/subconfigs/vehicle_lock_info.hpp index 06750d19..a60862d3 100644 --- a/mission/config/subconfigs/vehicle_lock_info.hpp +++ b/mission/config/subconfigs/vehicle_lock_info.hpp @@ -46,6 +46,22 @@ class vn_b_armor_m113_acav_04 : acav {}; class vn_b_armor_m113_acav_05 : acav {}; class vn_b_armor_m113_acav_06 : acav {}; +// M113 mortar and flamethrower +class vn_b_armor_m125_01 : acav {}; +class vn_b_armor_m132_01 : acav {}; + +//M41 Walker bulldog +class vn_b_armor_m41_01_01 : acav {}; + +//Type 63 tank +class vn_o_armor_type63_01 : acav {}; + +// M48 Patton +class vn_b_armor_m48_01_01 : acav {}; + +// M67 flame tank +class vn_b_armor_m67_01_01 : acav {}; + //Transport trucks class vn_b_wheeled_m54_01 : acav {}; class vn_b_wheeled_m54_01_airport : acav {}; @@ -66,10 +82,6 @@ class vn_b_wheeled_m54_mg_01 : acav {}; class vn_b_wheeled_m54_mg_02 : acav {}; class vn_b_wheeled_m54_mg_03 : acav {}; -//Armoured Cars -class vn_b_armor_m41_01_01 : acav {}; -class vn_o_armor_type63_01 : acav {}; - //Wooden boats class vn_c_boat_01_01 : unlocked {}; class vn_c_boat_02_01 : unlocked {}; @@ -107,6 +119,15 @@ class vn_b_air_ah1g_08_usmc : green_hornet {}; class vn_b_air_ah1g_09_usmc : green_hornet {}; class vn_b_air_ah1g_10_usmc : green_hornet {}; +// CH-47 Guns-a-go-go +class vn_b_air_ach47_01_01 : green_hornet {}; + +// CH-47 transport variants +class vn_b_air_ch47_01_01 : green_hornet {}; +class vn_b_air_ch47_02_01 : green_hornet {}; +class vn_b_air_ch47_03_01 : green_hornet {}; +class vn_b_air_ch47_04_01 : green_hornet {}; + //Choctaw class vn_b_air_ch34_01_01 : green_hornet {}; class vn_b_air_ch34_03_01 : green_hornet {}; @@ -126,7 +147,18 @@ class vn_b_air_oh6a_05 : green_hornet {}; class vn_b_air_oh6a_06 : green_hornet {}; class vn_b_air_oh6a_07 : green_hornet {}; -//UH1D - Dustoff +//UH-1B +class vn_b_air_uh1b_01_01 : green_hornet {}; + + + + +// M113 command and ambulance variants +class vn_b_armor_m577_01 : acav {}; +class vn_b_armor_m577_02 : acav {}; + + +//class UH1D : green_hornet {}; - Dustoff class vn_b_air_uh1d_01_01 : green_hornet {}; class vn_b_air_uh1d_01_02 : green_hornet {}; class vn_b_air_uh1d_01_03 : green_hornet {}; @@ -199,6 +231,10 @@ class vn_b_air_uh1c_06_02 : green_hornet {}; //UH1B - Slick class vn_b_air_uh1c_07_01 : green_hornet {}; +//UH-1E +class vn_b_air_uh1e_03_04 : green_hornet {}; +class vn_b_air_uh1e_01_04 : green_hornet {}; + //UH1E - Heavy Gunship class vn_b_air_uh1e_02_04 : green_hornet {}; @@ -258,6 +294,9 @@ class vn_b_air_f4b_navy_gbu : green_hornet {}; class vn_b_air_f4b_navy_cbu : green_hornet {}; class vn_b_air_f4b_navy_sead : green_hornet {}; +// F100D +class vn_b_air_f100d_at : green_hornet {}; + //Howitzer class vn_b_army_static_m101_02 : acav {}; class vn_b_sf_static_m101_02 : acav {}; From 53336f7744ae3ef172e505b8746c98a2dc443448 Mon Sep 17 00:00:00 2001 From: Spoffy Date: Sun, 11 Jun 2023 19:46:22 +0100 Subject: [PATCH 21/34] Moves helicopter markers higher on Khe Sanh to prevent rocketship behaviour --- maps/vn_khe_sanh/mission.sqm | 171 +++++++++++++++++------------------ 1 file changed, 85 insertions(+), 86 deletions(-) diff --git a/maps/vn_khe_sanh/mission.sqm b/maps/vn_khe_sanh/mission.sqm index 178c6ef0..ebc19538 100644 --- a/maps/vn_khe_sanh/mission.sqm +++ b/maps/vn_khe_sanh/mission.sqm @@ -16,14 +16,14 @@ class EditorData }; class LayerIndexProvider { - nextID=403; + nextID=440; }; class Camera { - pos[]={10770.56,155.37546,3277.2134}; - dir[]={0.29202917,-0.59953749,-0.74516696}; - up[]={0.21875824,0.80034667,-0.55820251}; - aside[]={-0.93105525,0,-0.36487836}; + pos[]={10822.296,124.50634,3153.9849}; + dir[]={-0.87807781,-0.37418693,0.29830441}; + up[]={-0.35430521,0.92734766,0.12036586}; + aside[]={0.32167256,-1.7834827e-007,0.94686341}; }; }; binarizationWanted=0; @@ -2520,7 +2520,7 @@ class Mission class PositionInfo { position[]={11006.426,98.477654,3143.9031}; - angles[]={-0,0.93193567,0}; + angles[]={0,0.93193567,0}; }; side="Empty"; flags=4; @@ -10181,16 +10181,16 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10935.081,98.538094,3027.8286}; + position[]={10935.081,99.055023,3027.8286}; angles[]={0,1.6727779,0}; }; side="Empty"; - flags=4; class Attributes { }; id=562; type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.47694397; }; class Item1 { @@ -10203,7 +10203,7 @@ class Mission init="['air_fire_support', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; id=563; type="Logic"; - atlOffset=0.021980286; + atlOffset=0.0018081665; }; class Item2 { @@ -10211,7 +10211,7 @@ class Mission class PositionInfo { position[]={10940.693,99.621475,3031.5894}; - angles[]={0,4.7732258,-0}; + angles[]={0,4.7732258,0}; }; side="Empty"; flags=5; @@ -10223,7 +10223,7 @@ class Mission }; }; id=561; - atlOffset=0.0087509155; + atlOffset=0.097991943; }; class Item81 { @@ -10237,16 +10237,16 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10935.193,98.570953,2997.321}; + position[]={10935.193,98.991623,2997.321}; angles[]={0,1.6727779,0}; }; side="Empty"; - flags=4; class Attributes { }; id=565; type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.4135437; }; class Item1 { @@ -10267,7 +10267,7 @@ class Mission class PositionInfo { position[]={10940.877,99.621475,3001.7786}; - angles[]={0,4.7907286,-0}; + angles[]={0,4.7907286,0}; }; side="Empty"; flags=5; @@ -10279,7 +10279,7 @@ class Mission }; }; id=568; - atlOffset=0.013710022; + atlOffset=0.078903198; }; class Item82 { @@ -10368,7 +10368,7 @@ class Mission class PositionInfo { position[]={11018.097,98.538094,3178.0425}; - angles[]={-0,4.7401133,0}; + angles[]={0,4.7401133,0}; }; side="Empty"; flags=4; @@ -10397,7 +10397,7 @@ class Mission class PositionInfo { position[]={11009.96,99.621475,3169.7917}; - angles[]={0,1.5748787,-0}; + angles[]={0,1.5748787,0}; }; side="Empty"; flags=5; @@ -10431,7 +10431,7 @@ class Mission class PositionInfo { position[]={10800.994,98.38446,3192.78}; - angles[]={-0,3.2420781,6.2192731}; + angles[]={0,3.2420781,6.2192731}; }; side="Empty"; flags=4; @@ -10459,7 +10459,7 @@ class Mission class PositionInfo { position[]={10804.396,99.29908,3188.3979}; - angles[]={0,0.076815836,-0}; + angles[]={0,0.076815836,0}; }; side="Empty"; flags=5; @@ -10471,7 +10471,7 @@ class Mission }; }; id=580; - atlOffset=0.021728516; + atlOffset=0.021789551; }; class Item1 { @@ -10502,7 +10502,7 @@ class Mission class PositionInfo { position[]={10619.966,99.670906,3243.9609}; - angles[]={0,6.1108699,-0}; + angles[]={0,6.1108699,0}; }; side="Empty"; flags=5; @@ -10558,7 +10558,7 @@ class Mission class PositionInfo { position[]={10612.121,99.830078,3241.1692}; - angles[]={0,5.2494831,-0}; + angles[]={0,5.2494831,0}; }; side="Empty"; flags=5; @@ -10613,7 +10613,7 @@ class Mission class PositionInfo { position[]={10613.004,99.697548,3232.8652}; - angles[]={0,4.2010164,-0}; + angles[]={0,4.2010164,0}; }; side="Empty"; flags=5; @@ -10664,7 +10664,7 @@ class Mission class PositionInfo { position[]={10718.112,99.541473,3118.9929}; - angles[]={0,3.0958667,-0}; + angles[]={0,3.0958667,0}; }; side="Empty"; flags=5; @@ -10679,16 +10679,16 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10722.471,98.487495,3112.8286}; - angles[]={6.2812634,6.2611012,0.001035801}; + position[]={10722.471,98.921936,3112.8286}; + angles[]={0,6.2611012,0}; }; side="Empty"; - flags=4; class Attributes { }; id=538; type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.42738342; }; class Item2 { @@ -10704,7 +10704,7 @@ class Mission }; }; id=536; - atlOffset=0.0073471069; + atlOffset=0.068756104; }; class Item1 { @@ -10718,16 +10718,16 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10687.252,98.494179,3113.9768}; - angles[]={0.0016914561,6.2611012,6.2822719}; + position[]={10687.252,98.83419,3113.9768}; + angles[]={0,6.2611012,0}; }; side="Empty"; - flags=4; class Attributes { }; id=542; type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.33287048; }; class Item1 { @@ -10748,7 +10748,7 @@ class Mission class PositionInfo { position[]={10683.524,99.541473,3119.2124}; - angles[]={0,3.0958667,-0}; + angles[]={0,3.0958667,0}; }; side="Empty"; flags=5; @@ -10760,7 +10760,7 @@ class Mission }; }; id=540; - atlOffset=0.018218994; + atlOffset=0.062355042; }; class Item2 { @@ -10774,16 +10774,16 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10936.274,98.538094,3114.6843}; - angles[]={-0,1.5754278,-0}; + position[]={10936.274,99.275604,3114.6843}; + angles[]={0,1.5754278,0}; }; side="Empty"; - flags=4; class Attributes { }; id=550; type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.69683838; }; class Item1 { @@ -10796,7 +10796,7 @@ class Mission init="['air_light', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; id=551; type="Logic"; - atlOffset=0.01474762; + atlOffset=0.032249451; }; class Item2 { @@ -10804,7 +10804,7 @@ class Mission class PositionInfo { position[]={10941.72,99.621475,3118.5774}; - angles[]={0,4.6933784,-0}; + angles[]={0,4.6933784,0}; }; side="Empty"; flags=5; @@ -10816,7 +10816,7 @@ class Mission }; }; id=549; - atlOffset=0.0086593628; + atlOffset=0.15180969; }; class Item3 { @@ -10830,16 +10830,16 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10936.067,98.538094,3084.4827}; + position[]={10936.067,98.992981,3084.4827}; angles[]={0,1.5754278,0}; }; side="Empty"; - flags=4; class Attributes { }; id=554; type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.41490173; }; class Item1 { @@ -10847,12 +10847,12 @@ class Mission class PositionInfo { position[]={10937.644,98.494751,3088.4321}; - angles[]={-0,5.883709,0}; + angles[]={0,5.883709,0}; }; init="['air_light', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; id=555; type="Logic"; - atlOffset=0.01474762; + atlOffset=0.010787964; }; class Item2 { @@ -10860,7 +10860,7 @@ class Mission class PositionInfo { position[]={10941.401,99.621475,3088.0688}; - angles[]={0,4.6933784,-0}; + angles[]={0,4.6933784,0}; }; side="Empty"; flags=5; @@ -10872,11 +10872,11 @@ class Mission }; }; id=553; - atlOffset=0.0036849976; + atlOffset=0.077423096; }; }; id=583; - atlOffset=6.4874496; + atlOffset=6.6146011; }; class Item85 { @@ -10897,16 +10897,16 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10704.282,98.490952,3113.7107}; + position[]={10704.578,98.95092,3113.6523}; angles[]={0,6.2611012,0}; }; side="Empty"; - flags=4; class Attributes { }; id=546; type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.45284271; }; class Item1 { @@ -10927,7 +10927,7 @@ class Mission class PositionInfo { position[]={10700.555,99.541473,3118.9463}; - angles[]={0,3.0958667,-0}; + angles[]={0,3.0958667,0}; }; side="Empty"; flags=5; @@ -10939,7 +10939,7 @@ class Mission }; }; id=545; - atlOffset=0.016960144; + atlOffset=0.091972351; }; class Item1 { @@ -10953,16 +10953,16 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10935.606,98.538094,3056.8035}; + position[]={10935.606,99.014832,3056.8035}; angles[]={0,1.6727779,0}; }; side="Empty"; - flags=4; class Attributes { }; id=558; type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.43675232; }; class Item1 { @@ -10970,7 +10970,7 @@ class Mission class PositionInfo { position[]={10937.559,98.515007,3060.5813}; - angles[]={-0,5.9810586,0}; + angles[]={0,5.9810586,0}; }; init="['air_transport', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; id=559; @@ -10983,7 +10983,7 @@ class Mission class PositionInfo { position[]={10941.264,99.621475,3059.8545}; - angles[]={0,4.7907286,-0}; + angles[]={0,4.7907286,0}; }; side="Empty"; flags=5; @@ -10995,11 +10995,11 @@ class Mission }; }; id=557; - atlOffset=0.0087509155; + atlOffset=0.08795166; }; }; id=584; - atlOffset=0.025794983; + atlOffset=0.16093445; }; class Item86 { @@ -11037,7 +11037,7 @@ class Mission class PositionInfo { position[]={10811.514,99.290581,3188.4097}; - angles[]={0,0.076815836,-0}; + angles[]={0,0.076815836,0}; }; side="Empty"; flags=5; @@ -11076,7 +11076,7 @@ class Mission class PositionInfo { position[]={10641.748,98.60408,3238.6658}; - angles[]={-0,4.0405035,0.0053265258}; + angles[]={0,4.0405035,0.0053265258}; }; side="Empty"; flags=4; @@ -11092,7 +11092,7 @@ class Mission class PositionInfo { position[]={10641.438,99.681091,3234.4768}; - angles[]={0,1.2827753,-0}; + angles[]={0,1.2827753,0}; }; side="Empty"; flags=5; @@ -11149,7 +11149,7 @@ class Mission class PositionInfo { position[]={10637.776,99.671471,3242.3596}; - angles[]={0,0.57443506,-0}; + angles[]={0,0.57443506,0}; }; side="Empty"; flags=5; @@ -11205,7 +11205,7 @@ class Mission class PositionInfo { position[]={10628.496,99.66375,3244.6062}; - angles[]={0,6.2408338,-0}; + angles[]={0,6.2408338,0}; }; side="Empty"; flags=5; @@ -11246,16 +11246,16 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10774.035,98.591034,3151.3225}; - angles[]={0.0053265258,6.2515082,0}; + position[]={10774.035,98.770981,3151.3225}; + angles[]={0,6.2515082,0}; }; side="Empty"; - flags=4; class Attributes { }; id=611; type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.1799469; }; class Item1 { @@ -11263,7 +11263,7 @@ class Mission class PositionInfo { position[]={10770.651,99.712944,3145.6475}; - angles[]={0,1.5915517,-0}; + angles[]={0,1.5915517,0}; }; side="Empty"; flags=5; @@ -11290,16 +11290,16 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10774.813,98.55809,3161.0166}; - angles[]={-0,0.090792708,0}; + position[]={10774.813,98.729935,3161.0166}; + angles[]={0,0.090792708,0}; }; side="Empty"; - flags=4; class Attributes { }; id=614; type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.17184448; }; class Item4 { @@ -11307,7 +11307,7 @@ class Mission class PositionInfo { position[]={10771.823,99.640503,3163.5393}; - angles[]={0,1.7750646,-0}; + angles[]={0,1.7750646,0}; }; side="Empty"; flags=5; @@ -11331,7 +11331,7 @@ class Mission }; }; id=623; - atlOffset=0.0023422241; + atlOffset=0.029457092; }; class Item88 { @@ -11345,16 +11345,16 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10767.765,98.664047,3124.9673}; - angles[]={-0,0.20799702,6.2805333}; + position[]={10767.765,99.031151,3124.9673}; + angles[]={0,0.20799702,0}; }; side="Empty"; - flags=4; class Attributes { }; id=617; type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.36710358; }; class Item1 { @@ -11362,7 +11362,7 @@ class Mission class PositionInfo { position[]={10765.64,99.753098,3120.2266}; - angles[]={0,1.5393865,-0}; + angles[]={0,1.5393865,0}; }; side="Empty"; flags=5; @@ -11378,7 +11378,7 @@ class Mission class PositionInfo { position[]={10766.843,98.608421,3121.5903}; - angles[]={-0,3.915524,6.2805333}; + angles[]={0,3.915524,6.2805333}; }; init="['transport_trucks', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; id=619; @@ -11389,17 +11389,16 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10769.359,98.67321,3136.8335}; - angles[]={0.0026520467,0.090792708,0}; + position[]={10769.359,98.885353,3136.8335}; + angles[]={0,0.090792708,0}; }; side="Empty"; - flags=4; class Attributes { }; id=620; type="Sign_Arrow_Direction_Green_F"; - atlOffset=7.6293945e-006; + atlOffset=0.21215057; }; class Item4 { @@ -11407,7 +11406,7 @@ class Mission class PositionInfo { position[]={10770.337,99.726097,3143.3376}; - angles[]={0,1.7064573,-0}; + angles[]={0,1.7064573,0}; }; side="Empty"; flags=5; @@ -11431,7 +11430,7 @@ class Mission }; }; id=610; - atlOffset=-0.012908936; + atlOffset=0.025085449; }; class Item89 { @@ -11446,7 +11445,7 @@ class Mission class PositionInfo { position[]={10747.253,99.687103,3115.6807}; - angles[]={0,4.7627535,-0}; + angles[]={0,4.7627535,0}; }; side="Empty"; flags=5; @@ -11492,7 +11491,7 @@ class Mission class PositionInfo { position[]={10747.059,99.735695,3110.0349}; - angles[]={0,4.7627535,-0}; + angles[]={0,4.7627535,0}; }; side="Empty"; flags=5; @@ -11536,7 +11535,7 @@ class Mission class PositionInfo { position[]={10746.696,99.75647,3103.9294}; - angles[]={0,4.7627535,-0}; + angles[]={0,4.7627535,0}; }; side="Empty"; flags=5; @@ -11607,7 +11606,7 @@ class Mission class PositionInfo { position[]={10760.813,99.730064,3100.1426}; - angles[]={0,1.6227804,-0}; + angles[]={0,1.6227804,0}; }; side="Empty"; flags=5; @@ -11663,7 +11662,7 @@ class Mission class PositionInfo { position[]={10761.498,99.756187,3110.5137}; - angles[]={0,1.6183306,-0}; + angles[]={0,1.6183306,0}; }; side="Empty"; flags=5; From d9aade45e93e0525798347415998254b35c08475 Mon Sep 17 00:00:00 2001 From: Spoffy Date: Sun, 11 Jun 2023 19:46:43 +0100 Subject: [PATCH 22/34] Updates changelog with 1.3 content --- mission/config/changelog.hpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mission/config/changelog.hpp b/mission/config/changelog.hpp index 4d6eb000..eedeb88c 100644 --- a/mission/config/changelog.hpp +++ b/mission/config/changelog.hpp @@ -3,7 +3,9 @@ class Changelog { version = "1.00.03"; date = "28th January 2023"; changes[] = { + "[New] Adds S.O.G. Prairie Fire 1.3 content", "[New] Adds a mission parameter to scale the number of AI (and therefore difficulty)", + "[Change] Redesigned vehicle spawning. The base now has a handful of spawn points, each with a selection of vehicles", "[Change] Added a notification when counterattacks are failed", "[Fix] Zone progression rewritten to be more robust (fewer bugs)", "[Fix] Headless clients should be much more effective at hosting AI", From 02c8953c50776177c14b68df35ee2d496121cc60 Mon Sep 17 00:00:00 2001 From: Spoffy Date: Sun, 11 Jun 2023 22:38:08 +0100 Subject: [PATCH 23/34] Fixes wrecks not recovering if wreck is deleted --- .../server/fn_veh_asset_process_spawn_point.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_process_spawn_point.sqf b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_process_spawn_point.sqf index 982fb325..0e2943e3 100644 --- a/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_process_spawn_point.sqf +++ b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_process_spawn_point.sqf @@ -76,7 +76,7 @@ if ((_spawnPoint get "status" get "state") == "WRECKED") then { //If it's wrecked, but the object no longer exists, create a placeholder for it - so we don't make it unretrievable accidentally if (isNull _vehicle) then { // TODO - make this use the actual wreck if possible - _vehicle = ["vn_wheeled_m54_01_wreck", ASLtoAGL (_stateData select 1)] call para_g_fnc_create_vehicle; + _vehicle = ["vn_wheeled_m54_01_wreck", ASLtoAGL (_spawnPoint get "status" get "posASL")] call para_g_fnc_create_vehicle; _vehicle setVariable ["veh_asset_spawnPointId", _spawnPoint get "id", true]; [_spawnPoint, "currentVehicle", _vehicle] call vn_mf_fnc_veh_asset_set_global_variable; From 52d7d752b6355a4526292001cae9131741d63253 Mon Sep 17 00:00:00 2001 From: Spoffy Date: Sun, 11 Jun 2023 22:38:41 +0100 Subject: [PATCH 24/34] Fixes vehicles spawning underground and becoming rockets --- .../vehicle_asset_manager/server/fn_veh_asset_respawn.sqf | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_respawn.sqf b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_respawn.sqf index 0b68f654..9a13ffd0 100644 --- a/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_respawn.sqf +++ b/mission/functions/systems/vehicle_asset_manager/server/fn_veh_asset_respawn.sqf @@ -35,7 +35,7 @@ deleteVehicle _oldVehicle; sleep 1; isNil { - _vehicle = [_classToSpawn, [0,0,0], [], 0, "CAN_COLLIDE"] call para_g_fnc_create_vehicle; + _vehicle = [_classToSpawn, [0,0,1000], [], 0, "CAN_COLLIDE"] call para_g_fnc_create_vehicle; _vehicle enableSimulationGlobal false; private _position = _spawnLocation get "pos"; @@ -46,11 +46,13 @@ isNil { }; }; + _vehicle setVelocity [0,0,0]; _vehicle setDir (_spawnLocation get "dir"); _vehicle setPosASL _position; // Location override is only valid for 1 respawn. _spawnPoint deleteAt "nextSpawnLocationOverride"; + _vehicle enableSimulationGlobal true; }; //This restores UAV drivers. Shouldn't need it in VN, but better safe than sorry. @@ -60,4 +62,3 @@ if (getNumber (configfile >> "CfgVehicles" >> _classToSpawn >> "isUAV") > 0 && c [_spawnPoint, _vehicle] call vn_mf_fnc_veh_asset_assign_vehicle_to_spawn_point; -_vehicle enableSimulationGlobal true; From b2e3760b2e68266c94505326e6f8cf45be5ba71b Mon Sep 17 00:00:00 2001 From: Spoffy Date: Sun, 11 Jun 2023 23:04:20 +0100 Subject: [PATCH 25/34] Makes the vehicle workshop spawn vehicles higher --- mission/config/subconfigs/buildables.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mission/config/subconfigs/buildables.hpp b/mission/config/subconfigs/buildables.hpp index c8084118..c85c7ea8 100644 --- a/mission/config/subconfigs/buildables.hpp +++ b/mission/config/subconfigs/buildables.hpp @@ -5564,7 +5564,7 @@ class Land_vn_i_shed_ind_old_f }; }; - spawnPositionModelSpace[] = {6.00293,3.26758,-1.91181}; + spawnPositionModelSpace[] = {6.00293,3.26758,-1.2}; spawnDirectionModelSpace = 270; }; }; From 5befa2d288d0dc22b25399fbd2152cfec0d20302 Mon Sep 17 00:00:00 2001 From: Spoffy Date: Tue, 13 Jun 2023 01:40:52 +0100 Subject: [PATCH 26/34] Adds new vehicles and vehicle spawns --- mission/config/logistics.hpp | 4 +- mission/config/subconfigs/buildables.hpp | 21 +-- .../subconfigs/vehicle_respawn_info.hpp | 148 ++++++++++++++++-- 3 files changed, 141 insertions(+), 32 deletions(-) diff --git a/mission/config/logistics.hpp b/mission/config/logistics.hpp index d0945d7e..08ae3b61 100644 --- a/mission/config/logistics.hpp +++ b/mission/config/logistics.hpp @@ -5,7 +5,7 @@ class vn_logistics class vn_defaults_extra_large { inventory_max_weight = 1200; - inventory_max_size = 7.5; + inventory_max_size = 10; }; class vn_defaults_large { @@ -369,7 +369,7 @@ class vn_logistics class Land_Cargo10_brick_red_F { item_weight = 600; - item_size = 7.5; + item_size = 10; spawn_distance = 9; rotation_offset = 0; }; diff --git a/mission/config/subconfigs/buildables.hpp b/mission/config/subconfigs/buildables.hpp index c85c7ea8..03bc69aa 100644 --- a/mission/config/subconfigs/buildables.hpp +++ b/mission/config/subconfigs/buildables.hpp @@ -5447,16 +5447,15 @@ class Land_vn_i_shed_ind_old_f icon = VEHICLE_ICON_STATIC; //side = "WEST"; }; - - class vn_b_sf_static_m60_high + class vn_b_sf_static_mk18 { - cost[] = {{"BuildingSupplies", 100}}; - cooldown = 60; + cost[] = {{"BuildingSupplies", 300}}; + cooldown = 120; icon = VEHICLE_ICON_STATIC; //side = "WEST"; }; - class vn_b_sf_static_m60_low + class vn_b_sf_static_m1919a6 { cost[] = {{"BuildingSupplies", 100}}; cooldown = 60; @@ -5464,7 +5463,7 @@ class Land_vn_i_shed_ind_old_f //side = "WEST"; }; - class vn_b_sf_static_mk18 + class vn_b_sf_static_m40a1rr { cost[] = {{"BuildingSupplies", 300}}; cooldown = 120; @@ -5472,21 +5471,13 @@ class Land_vn_i_shed_ind_old_f //side = "WEST"; }; - class vn_b_sf_static_m1919a6 + class vn_o_pl_static_at3 { cost[] = {{"BuildingSupplies", 100}}; cooldown = 60; icon = VEHICLE_ICON_STATIC; //side = "WEST"; }; - - class vn_b_sf_static_m40a1rr - { - cost[] = {{"BuildingSupplies", 300}}; - cooldown = 120; - icon = VEHICLE_ICON_STATIC; - //side = "WEST"; - }; }; class supplies { diff --git a/mission/config/subconfigs/vehicle_respawn_info.hpp b/mission/config/subconfigs/vehicle_respawn_info.hpp index 59725558..caaa92fd 100644 --- a/mission/config/subconfigs/vehicle_respawn_info.hpp +++ b/mission/config/subconfigs/vehicle_respawn_info.hpp @@ -165,11 +165,11 @@ class vehicles { }; class vn_b_armor_m125_01 { - tags[] = {"m113","armed","firesupport","apc,artillery"}; + tags[] = {"m113","armed","firesupport","apc","artillery"}; }; class vn_b_armor_m132_01 { - tags[] = {"m113","armed","firesupport","apc,flamethrower"}; + tags[] = {"m113","armed","firesupport","apc","flamethrower"}; }; class vn_b_armor_m41_01_01 { @@ -201,19 +201,19 @@ class vehicles { }; class vn_b_navy_static_l60mk3 { - tags[] = {"l60","armed","firesupport","static","antiair"}; + tags[] = {"l60","armed","firesupport","static","antiair","nodisassemble"}; }; class vn_b_navy_static_l70mk2 { - tags[] = {"l70","armed","firesupport","static","antiair"}; + tags[] = {"l70","armed","firesupport","static","antiair","nodisassemble"}; }; class vn_b_army_static_m101_01 { - tags[] = {"m101","armed","firesupport","static","antitank"}; + tags[] = {"m101","armed","firesupport","static","antitank","nodisassemble"}; }; class vn_b_army_static_m101_02 { - tags[] = {"m101","armed","firesupport","static","artillery"}; + tags[] = {"m101","armed","firesupport","static","artillery","nodisassemble"}; }; class vn_b_army_static_m1919a4_high { @@ -253,11 +253,11 @@ class vehicles { }; class vn_b_army_static_m40a1rr { - tags[] = {"m40","armed","firesupport","static","antitank"}; + tags[] = {"m40","armed","firesupport","static","antitank","nodisassemble"}; }; class vn_b_army_static_m45 { - tags[] = {"m45","armed","firesupport","static","antiair"}; + tags[] = {"m45","armed","firesupport","static","antiair","nodisassemble"}; }; class vn_b_army_static_m60_high { @@ -336,10 +336,18 @@ class vehicles { tags[] = {"m274","transport","car"}; }; + class vn_b_wheeled_m274_01_03 { + tags[] = {"m274","transport","car","airport"}; + }; + class vn_b_wheeled_m274_02_01 { tags[] = {"m274","transport","car"}; }; + class vn_b_wheeled_m274_02_03 { + tags[] = {"m274","transport","car","airport"}; + }; + class vn_b_wheeled_m274_mg_01_01 { tags[] = {"m274","armed","firesupport","car"}; }; @@ -364,14 +372,26 @@ class vehicles { tags[] = {"m109","transport","truck"}; }; + class vn_b_wheeled_m54_01_airport { + tags[] = {"m54","transport","truck", "airport"}; + }; + class vn_b_wheeled_m54_ammo { tags[] = {"m54","ammo","truck"}; }; + class vn_b_wheeled_m54_ammo_airport { + tags[] = {"m54","ammo","truck","airport"}; + }; + class vn_b_wheeled_m54_fuel { tags[] = {"m49","fuel","truck"}; }; + class vn_b_wheeled_m54_fuel_airport { + tags[] = {"m49","fuel","truck","airport"}; + }; + class vn_b_wheeled_m54_mg_01 { tags[] = {"m54","armed","firesupport","truck"}; }; @@ -388,6 +408,10 @@ class vehicles { tags[] = {"m54","repair","truck"}; }; + class vn_b_wheeled_m54_repair_airport { + tags[] = {"m54","repair","truck","airport"}; + }; + class vn_c_bicycle_01 { tags[] = {"bicycle","civilian","transport","bicycle"}; }; @@ -425,7 +449,7 @@ class vehicles { }; class vn_i_armor_type63_01 { - tags[] = {"type63","armed","firesupport","tank,lighttank"}; + tags[] = {"type63","armed","firesupport","tank","lighttank"}; }; class vn_i_fank_70_static_sgm_high_01 { @@ -441,7 +465,7 @@ class vehicles { }; class vn_i_fank_70_static_zgu1_01 { - tags[] = {"zgu1","static","antiair"}; + tags[] = {"zgu1","static","antiair","nodisassemble"}; }; }; @@ -475,6 +499,26 @@ class spawn_point_types { name = "M274 Mule"; icon = VEHICLE_ICON_CAR; include[] = { { "m274", "transport" } }; + exclude[] = { "armed", "airport" }; + }; + }; + }; + + class transport_airport { + name = "Light airport transport"; + RESPAWN_SHORT; + + class categories { + class mule { + name = "M274 Mule"; + icon = VEHICLE_ICON_CAR; + include[] = { { "m274", "airport" } }; + exclude[] = { "armed" }; + }; + class truck { + name = "Truck"; + icon = VEHICLE_ICON_TRUCK; + include[] = { { "truck", "airport" } }; exclude[] = { "armed" }; }; }; @@ -503,7 +547,7 @@ class spawn_point_types { name = "M274 Mule"; icon = VEHICLE_ICON_CAR; include[] = { { "m274", "armed" } }; - exclude[] = { "transport" }; + exclude[] = { "transport", "airport" }; }; }; }; @@ -524,7 +568,7 @@ class spawn_point_types { name = "Trucks"; icon = VEHICLE_ICON_TRUCK; include[] = { { "truck", "transport" } }; - exclude[] = { "firesupport" }; + exclude[] = { "firesupport", "airport" }; }; }; }; @@ -538,13 +582,11 @@ class spawn_point_types { name = "Trucks"; icon = VEHICLE_ICON_TRUCK; include[] = { { "truck", "transport" } }; - exclude[] = { "firesupport" }; + exclude[] = { "firesupport", "airport" }; }; }; }; - - class ambulance { name = "Ambulance"; RESPAWN_LONG; @@ -604,16 +646,42 @@ class spawn_point_types { name = "Fuel"; icon = VEHICLE_ICON_TRUCK; include[] = { "fuel" }; + exclude[] = { "airport" }; }; class ammo { name = "Ammo"; icon = VEHICLE_ICON_TRUCK; include[] = { "ammo" }; + exclude[] = { "airport" }; }; class repair { name = "Repair"; icon = VEHICLE_ICON_TRUCK; include[] = { "repair" }; + exclude[] = { "airport" }; + }; + }; + }; + + class utility_airport { + name = "Utility"; + RESPAWN_SHORT; + + class categories { + class fuel { + name = "Fuel"; + icon = VEHICLE_ICON_TRUCK; + include[] = { { "fuel", "airport" } }; + }; + class ammo { + name = "Ammo"; + icon = VEHICLE_ICON_TRUCK; + include[] = { { "ammo", "airport" } }; + }; + class repair { + name = "Repair"; + icon = VEHICLE_ICON_TRUCK; + include[] = { { "repair", "airport" } }; }; }; }; @@ -672,6 +740,32 @@ class spawn_point_types { }; }; + class air_transport_all { + name = "Air transport"; + RESPAWN_MEDIUM; + + class categories { + class uh1 { + name = "UH-1"; + icon = VEHICLE_ICON_HELO; + include[] = { "uh1" }; + exclude[] = { "firesupport" }; + }; + class ch34 { + name = "CH-34"; + icon = VEHICLE_ICON_HELO; + include[] = { "ch34" }; + exclude[] = { "firesupport" }; + }; + class ch47 { + name = "CH-47"; + icon = VEHICLE_ICON_HELO; + include[] = { "ch47" }; + exclude[] = { "firesupport" }; + }; + }; + }; + class air_fire_support { name = "Air support"; WRECK_MEDIUM; @@ -687,6 +781,11 @@ class spawn_point_types { icon = VEHICLE_ICON_HELO; include[] = { { "ch34", "firesupport" } }; }; + class cayuse { + name = "OH-6A"; + icon = VEHICLE_ICON_HELO; + include[] = { { "oh6a", "firesupport" } }; + }; }; }; @@ -736,6 +835,25 @@ class spawn_point_types { }; }; + class large_statics { + name = "Large static weapons"; + RESPAWN_SHORT; + class categories { + class anti_air { + name = "Anti-air"; + icon = VEHICLE_ICON_STATIC; + include[] = { { "static", "antiair", "nodisassemble" } }; + exclude[] = { "artillery" }; + }; + class anti_tank { + name = "Anti-tank"; + icon = VEHICLE_ICON_STATIC; + include[] = { { "static", "antitank", "nodisassemble" } }; + exclude[] = { "artillery" }; + }; + }; + }; + class artillery { name = "Artillery"; WRECK_LONG; From 805d139c783de845782f54b47785d91dea3cdea6 Mon Sep 17 00:00:00 2001 From: Spoffy Date: Tue, 13 Jun 2023 02:22:45 +0100 Subject: [PATCH 27/34] Updates Cam Lao to new spawning, fixes to Khe Sanh and The Bra --- maps/cam_lao_nam/mission.sqm | 11752 ++++++++++++++++++--------------- maps/vn_khe_sanh/mission.sqm | 644 +- maps/vn_the_bra/mission.sqm | 448 +- 3 files changed, 7544 insertions(+), 5300 deletions(-) diff --git a/maps/cam_lao_nam/mission.sqm b/maps/cam_lao_nam/mission.sqm index 538d486c..778ed911 100644 --- a/maps/cam_lao_nam/mission.sqm +++ b/maps/cam_lao_nam/mission.sqm @@ -8,7 +8,7 @@ class EditorData toggles=521; class ItemIDProvider { - nextID=1321; + nextID=1571; }; class MarkerIDProvider { @@ -16,14 +16,14 @@ class EditorData }; class LayerIndexProvider { - nextID=647; + nextID=757; }; class Camera { - pos[]={16338.161,79.022675,8159.0996}; - dir[]={-0.1032827,-0.37088755,-0.92291665}; - up[]={-0.04124818,0.9286778,-0.36858672}; - aside[]={-0.99379641,0,0.11121479}; + pos[]={15907.487,111.16162,6893.1611}; + dir[]={-0.35691521,-0.44245642,0.82274407}; + up[]={-0.17610963,0.89676064,0.40595949}; + aside[]={0.91741908,1.9409345e-007,0.3979882}; }; }; binarizationWanted=0; @@ -35,31 +35,22 @@ addons[]= "modules_f_vietnam", "structures_f_vietnam_c", "A3_Modules_F_Curator_Curator", - "static_f_vietnam_c", - "air_f_vietnam_c", - "wheeled_f_vietnam_c", - "boat_f_vietnam_c", - "armor_f_vietnam_c", - "air_f_vietnam_02_c", - "A3_Modules_F", "A3_Structures_F_Mil_Cargo", "A3_Structures_F_Heli_Civ_Constructions", "weapons_f_vietnam_c", + "wheeled_f_vietnam_c", "A3_Structures_F_Items_Tools", "A3_Characters_F", "characters_f_vietnam_c", "sounds_f_vietnam_c", - "wheeled_f_vietnam_03_c", - "static_f_vietnam_03_c", - "armor_f_vietnam_02_c", - "boat_f_vietnam_02_c", - "wheeled_f_vietnam_02_c" + "A3_Misc_F_Helpers", + "A3_Modules_F" }; class AddonsMetaData { class List { - items=24; + items=15; class Item0 { className="A3_Ui_F"; @@ -96,136 +87,73 @@ class AddonsMetaData url="https://www.arma3.com"; }; class Item5 - { - className="static_f_vietnam_c"; - name="static_f_vietnam_c"; - author="Savage Game Design"; - url="https://www.arma3.com"; - }; - class Item6 - { - className="air_f_vietnam_c"; - name="air_f_vietnam_c"; - author="Savage Game Design"; - url="https://www.arma3.com"; - }; - class Item7 - { - className="wheeled_f_vietnam_c"; - name="wheeled_f_vietnam_c"; - author="Savage Game Design"; - url="https://www.arma3.com"; - }; - class Item8 - { - className="boat_f_vietnam_c"; - name="boat_f_vietnam_c"; - author="Savage Game Design"; - url="https://www.arma3.com"; - }; - class Item9 - { - className="armor_f_vietnam_c"; - name="armor_f_vietnam_c"; - author="Savage Game Design"; - url="https://www.arma3.com"; - }; - class Item10 - { - className="air_f_vietnam_02_c"; - name="air_f_vietnam_02_c"; - author="Savage Game Design"; - url="https://www.arma3.com"; - }; - class Item11 - { - className="A3_Modules_F"; - name="Arma 3 Alpha - Scripted Modules"; - author="Bohemia Interactive"; - url="https://www.arma3.com"; - }; - class Item12 { className="A3_Structures_F_Mil"; name="Arma 3 - Military Buildings and Structures"; author="Bohemia Interactive"; url="https://www.arma3.com"; }; - class Item13 + class Item6 { className="A3_Structures_F_Heli"; name="Arma 3 Helicopters - Buildings and Structures"; author="Bohemia Interactive"; url="https://www.arma3.com"; }; - class Item14 + class Item7 { className="weapons_f_vietnam_c"; name="weapons_f_vietnam_c"; author="Savage Game Design"; url="https://www.arma3.com"; }; - class Item15 + class Item8 + { + className="wheeled_f_vietnam_c"; + name="wheeled_f_vietnam_c"; + author="Savage Game Design"; + url="https://www.arma3.com"; + }; + class Item9 { className="A3_Structures_F"; name="Arma 3 - Buildings and Structures"; author="Bohemia Interactive"; url="https://www.arma3.com"; }; - class Item16 + class Item10 { className="A3_Characters_F"; name="Arma 3 Alpha - Characters and Clothing"; author="Bohemia Interactive"; url="https://www.arma3.com"; }; - class Item17 + class Item11 { className="characters_f_vietnam_c"; name="characters_f_vietnam_c"; author="Savage Game Design"; url="https://www.arma3.com"; }; - class Item18 + class Item12 { className="sounds_f_vietnam_c"; name="sounds_f_vietnam_c"; author="Savage Game Design"; url="https://www.arma3.com"; }; - class Item19 - { - className="wheeled_f_vietnam_03_c"; - name="wheeled_f_vietnam_03_c"; - author="Savage Game Design"; - url="https://www.arma3.com"; - }; - class Item20 - { - className="static_f_vietnam_03_c"; - name="static_f_vietnam_03_c"; - author="Savage Game Design"; - url="https://www.arma3.com"; - }; - class Item21 - { - className="armor_f_vietnam_02_c"; - name="armor_f_vietnam_02_c"; - author="Savage Game Design"; - url="https://www.arma3.com"; - }; - class Item22 + class Item13 { - className="boat_f_vietnam_02_c"; - name="boat_f_vietnam_02_c"; - author="Savage Game Design"; + className="A3_Misc_F"; + name="Arma 3 - 3D Aids and Helpers"; + author="Bohemia Interactive"; url="https://www.arma3.com"; }; - class Item23 + class Item14 { - className="wheeled_f_vietnam_02_c"; - name="wheeled_f_vietnam_02_c"; - author="Savage Game Design"; + className="A3_Modules_F"; + name="Arma 3 Alpha - Scripted Modules"; + author="Bohemia Interactive"; url="https://www.arma3.com"; }; }; @@ -247,6 +175,7 @@ class DynamicSimulation }; dlcs[]= { + "VN", "Heli" }; randomSeed=7860927; @@ -286,13 +215,7 @@ class CustomAttributes { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=0; }; }; @@ -305,13 +228,7 @@ class CustomAttributes { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=0; }; }; @@ -324,13 +241,7 @@ class CustomAttributes { class data { - class type - { - type[]= - { - "ARRAY" - }; - }; + singleType="ARRAY"; }; }; }; @@ -342,13 +253,7 @@ class CustomAttributes { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=0; }; }; @@ -361,13 +266,7 @@ class CustomAttributes { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=2; }; }; @@ -385,13 +284,7 @@ class CustomAttributes { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1; }; }; @@ -424,7 +317,7 @@ class Mission }; class Entities { - items=262; + items=238; class Item0 { dataType="Marker"; @@ -510,7 +403,7 @@ class Mission text="FSB KHE GIO"; type="vn_flag_usa"; id=16; - atlOffset=7.8241272; + atlOffset=7.8243713; }; class Item8 { @@ -1033,7 +926,7 @@ class Mission b=-500; drawBorder=1; id=243; - atlOffset=21.905285; + atlOffset=18.386881; }; class Item53 { @@ -1207,13 +1100,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=0; }; }; @@ -1226,13 +1113,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="['vn_b_item_firstaidkit','vn_o_item_firstaidkit','vn_b_item_medikit_01', 'FirstAidKit', 'Medikit']"; }; }; @@ -1245,13 +1126,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1; }; }; @@ -1264,13 +1139,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=0; }; }; @@ -1283,13 +1152,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=300; }; }; @@ -1302,13 +1165,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="['vn_b_item_firstaidkit','vn_o_item_firstaidkit','vn_b_item_medikit_01', 'FirstAidKit', 'Medikit']"; }; }; @@ -1321,13 +1178,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=5; }; }; @@ -1340,13 +1191,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=1; }; }; @@ -1359,13 +1204,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=100; }; }; @@ -1378,13 +1217,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1; }; }; @@ -1397,13 +1230,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=75; }; }; @@ -1416,13 +1243,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=80; }; }; @@ -1435,13 +1256,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=50; }; }; @@ -1454,13 +1269,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=75; }; }; @@ -1489,13 +1298,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=0; }; }; @@ -1508,13 +1311,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=2; }; }; @@ -1527,13 +1324,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="[""vn_mikeforce""]"; }; }; @@ -1546,13 +1337,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1; }; }; @@ -1586,13 +1371,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -1627,13 +1406,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -1667,13 +1440,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -1708,13 +1475,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -1761,13 +1522,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -1807,13 +1562,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=25; }; }; @@ -2146,13 +1895,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="#adminLogged"; }; }; @@ -2165,13 +1908,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=0; }; }; @@ -2184,13 +1921,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Zeus (Admin)"; }; }; @@ -2203,13 +1934,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=3; }; }; @@ -2330,7 +2055,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={15928.979,15.01,7057.5215}; + position[]={15929.17,14.98,7056.79}; }; side="Empty"; flags=4; @@ -2339,14 +2064,13 @@ class Mission }; id=630; type="Land_vn_helipadcircle_f"; - atlOffset=0.030000687; }; class Item112 { dataType="Object"; class PositionInfo { - position[]={15899.881,15.01,7057.9312}; + position[]={15899.98,14.98,7057.0254}; }; side="Empty"; flags=4; @@ -2355,7 +2079,6 @@ class Mission }; id=631; type="Land_vn_helipadcircle_f"; - atlOffset=0.030000687; }; class Item113 { @@ -2772,1356 +2495,1748 @@ class Mission }; class Item116 { - dataType="Object"; - class PositionInfo - { - position[]={16341.049,76.258774,8186.0059}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=691; - type="vn_b_army_static_m1919a4_high"; - atlOffset=0.083869934; + dataType="Layer"; + name="Vehicles"; + id=704; + atlOffset=103.16; }; class Item117 { dataType="Object"; class PositionInfo { - position[]={16338.33,75.77317,8186.4844}; + position[]={17154.436,0.64619803,8199.999}; }; side="Empty"; - flags=4; + flags=1; class Attributes { }; - id=692; - type="vn_b_sf_static_m1919a4_low"; - atlOffset=0.059997559; + id=711; + type="Land_Cargo_House_V1_ruins_F"; + atlOffset=2.3537049; }; class Item118 { dataType="Object"; class PositionInfo { - position[]={16342.669,75.675629,8185.6948}; + position[]={15701.651,15.45955,6867.0557}; + angles[]={0,1.3891909,0}; }; side="Empty"; flags=4; class Attributes { + createAsSimpleObject=1; + disableSimulation=1; }; - id=693; - type="vn_b_army_static_m1919a6"; - }; - class Item119 - { - dataType="Object"; - class PositionInfo + id=716; + type="Land_ToolTrolley_02_F"; + class CustomAttributes { - position[]={16336.329,76.240883,8187.2749}; - }; - side="Empty"; - flags=4; + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item119 + { + dataType="Object"; + class PositionInfo + { + position[]={15698.155,15.675567,6874.2188}; + angles[]={0,5.3985548,0}; + }; + side="Empty"; + flags=4; class Attributes { + createAsSimpleObject=1; + disableSimulation=1; + }; + id=717; + type="Land_WeldingTrolley_01_F"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=694; - type="vn_b_army_static_m2_high"; - atlOffset=0.077377319; }; class Item120 { dataType="Object"; class PositionInfo { - position[]={16332.388,76.507782,8188.6333}; - angles[]={0,0.33497095,0}; + position[]={15693.765,14.98,6877.5161}; + angles[]={0,2.1677327,0}; }; side="Empty"; flags=4; class Attributes { + disableSimulation=1; + }; + id=725; + type="Land_vn_usaf_fueltank_10_case_01"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=695; - type="vn_b_army_static_m45"; - atlOffset=0.060928345; }; class Item121 { dataType="Object"; class PositionInfo { - position[]={16345.533,76.193306,8185.7617}; - angles[]={0.0039967569,0.19063535,0}; + position[]={15695.216,14.98,6878.9106}; + angles[]={0,2.5430562,0}; }; side="Empty"; flags=4; class Attributes { + disableSimulation=1; + }; + id=726; + type="Land_vn_usaf_fueltank_10_case_01"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=696; - type="vn_b_army_static_m60_high"; - atlOffset=-7.6293945e-006; }; class Item122 { dataType="Object"; class PositionInfo { - position[]={16315.186,75.243805,8194.3457}; - angles[]={-0,0.34298503,0}; + position[]={15691.559,16.339876,6885.1699}; + angles[]={0,1.6501826,0}; }; side="Empty"; - flags=4; + flags=5; class Attributes { + disableSimulation=1; + }; + id=727; + type="Land_vn_fuel_tank_stairs"; + atlOffset=-9.5367432e-007; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=697; - type="vn_b_sf_static_mortar_m2"; }; class Item123 { dataType="Object"; class PositionInfo { - position[]={16316.864,75.243744,8193.9688}; - angles[]={-0,6.2431202,0}; + position[]={15725.599,16.811344,6886.0659}; }; side="Empty"; - flags=4; + flags=1; class Attributes { + disableSimulation=1; }; - id=698; - type="vn_b_sf_static_mortar_m29"; - }; - class Item124 - { - dataType="Layer"; - name="Vehicles"; - class Entities + id=735; + type="Land_vn_workshop_04_f"; + atlOffset=0.48181438; + class CustomAttributes { - items=46; - class Item0 + class Attribute0 { - dataType="Object"; - class PositionInfo - { - position[]={16229.483,17.760262,7050.3721}; - angles[]={-0,3.6103346,-0}; - }; - side="Empty"; - flags=4; - class Attributes + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { + class data + { + singleType="BOOL"; + value=0; + }; }; - id=446; - type="vn_b_air_ah1g_04"; }; - class Item1 + nAttributes=1; + }; + }; + class Item124 + { + dataType="Object"; + class PositionInfo + { + position[]={15705.108,14.98003,6870.8164}; + angles[]={0,4.2622986,0}; + }; + side="Empty"; + flags=4; + class Attributes + { + disableSimulation=1; + }; + id=737; + type="vn_b_ammobox_supply_06"; + class CustomAttributes + { + class Attribute0 { - dataType="Object"; - class PositionInfo - { - position[]={17391.711,32.546246,5651.8154}; - angles[]={0,3.1875532,0}; - }; - side="Empty"; - class Attributes + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { + class data + { + singleType="BOOL"; + value=0; + }; }; - id=459; - type="vn_b_wheeled_m54_repair"; - atlOffset=0.34750175; }; - class Item2 + nAttributes=1; + }; + }; + class Item125 + { + dataType="Object"; + class PositionInfo + { + position[]={15692.986,14.98003,6890.6719}; + angles[]={0,0.42233917,0}; + }; + side="Empty"; + flags=4; + class Attributes + { + disableSimulation=1; + }; + id=738; + type="vn_b_ammobox_supply_06"; + class CustomAttributes + { + class Attribute0 { - dataType="Object"; - class PositionInfo - { - position[]={17402.557,32.492237,5650.1582}; - angles[]={0,3.2176769,0}; - }; - side="Empty"; - class Attributes + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { + class data + { + singleType="BOOL"; + value=0; + }; }; - id=464; - type="vn_b_wheeled_m54_fuel"; - atlOffset=0.28665161; }; - class Item3 + nAttributes=1; + }; + }; + class Item126 + { + dataType="Object"; + class PositionInfo + { + position[]={15721.295,14.98003,6878.1758}; + angles[]={0,5.8389025,0}; + }; + side="Empty"; + flags=4; + class Attributes + { + disableSimulation=1; + }; + id=739; + type="vn_b_ammobox_supply_06"; + class CustomAttributes + { + class Attribute0 { - dataType="Object"; - class PositionInfo - { - position[]={17396.584,32.35569,5649.8438}; - angles[]={6.2711854,3.1892483,0}; - }; - side="Empty"; - flags=4; - class Attributes + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { + class data + { + singleType="BOOL"; + value=0; + }; }; - id=460; - type="vn_b_wheeled_m54_ammo"; - atlOffset=-7.6293945e-006; }; - class Item4 - { - dataType="Object"; - class PositionInfo - { - position[]={17416.475,32.658722,5627.9033}; - angles[]={6.2551947,3.1742556,6.2731905}; - }; - side="Empty"; - flags=4; - class Attributes + nAttributes=1; + }; + }; + class Item127 + { + dataType="Object"; + class PositionInfo + { + position[]={15697.616,16.304226,6870.854}; + angles[]={0,4.66465,0}; + }; + side="Empty"; + flags=4; + class Attributes + { + disableSimulation=1; + }; + id=743; + type="vn_wheeled_m54_01_wreck"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { + class data + { + singleType="BOOL"; + value=0; + }; }; - id=688; - type="vn_b_wheeled_m54_mg_03"; - atlOffset=0.1336422; }; - class Item5 + nAttributes=1; + }; + }; + class Item128 + { + dataType="Object"; + class PositionInfo + { + position[]={15719.563,15.472083,6869.1372}; + angles[]={0,5.122736,0}; + }; + side="Empty"; + flags=4; + class Attributes + { + createAsSimpleObject=1; + disableSimulation=1; + }; + id=751; + type="Land_ToolTrolley_01_F"; + class CustomAttributes + { + class Attribute0 { - dataType="Object"; - class PositionInfo - { - position[]={17407.273,32.578968,5627.9561}; - angles[]={6.269186,3.2039161,6.269186}; - }; - side="Empty"; - flags=4; - class Attributes + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { + class data + { + singleType="BOOL"; + value=0; + }; }; - id=687; - type="vn_b_wheeled_m54_mg_01"; - atlOffset=0.01043129; }; - class Item6 + nAttributes=1; + }; + }; + class Item129 + { + dataType="Object"; + class PositionInfo + { + position[]={15719.63,15.348924,6869.1401}; + angles[]={0,4.9140701,0}; + }; + side="Empty"; + class Attributes + { + createAsSimpleObject=1; + disableSimulation=1; + }; + id=752; + type="Land_Grinder_F"; + atlOffset=0.29034138; + class CustomAttributes + { + class Attribute0 { - dataType="Object"; - class PositionInfo - { - position[]={15905.312,16.925205,7108.438}; - angles[]={0,3.1533387,0}; - }; - side="Empty"; - flags=4; - class Attributes + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - dynamicSimulation=1; + class data + { + singleType="BOOL"; + value=0; + }; }; - id=440; - type="vn_b_wheeled_m54_fuel_airport"; - atlOffset=0.038471222; }; - class Item7 + nAttributes=1; + }; + }; + class Item130 + { + dataType="Object"; + class PositionInfo + { + position[]={15723.954,15.675567,6871.8784}; + angles[]={0,1.6249036,0}; + }; + side="Empty"; + flags=4; + class Attributes + { + createAsSimpleObject=1; + disableSimulation=1; + }; + id=753; + type="Land_WeldingTrolley_01_F"; + class CustomAttributes + { + class Attribute0 { - dataType="Object"; - class PositionInfo - { - position[]={17426.512,32.298145,5627.8691}; - angles[]={6.261188,3.1511118,6.251195}; - }; - side="Empty"; - flags=4; - class Attributes + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { + class data + { + singleType="BOOL"; + value=0; + }; }; - id=689; - type="vn_b_wheeled_m54_mg_02"; - atlOffset=0.097835541; }; - class Item8 + nAttributes=1; + }; + }; + class Item131 + { + dataType="Object"; + class PositionInfo + { + position[]={15722.332,15.021246,6883.624}; + }; + side="Empty"; + flags=4; + class Attributes + { + disableSimulation=1; + }; + id=765; + type="Land_vn_canister_ep1"; + atlOffset=0.037177086; + class CustomAttributes + { + class Attribute0 { - dataType="Object"; - class PositionInfo - { - position[]={15911.132,16.996088,7107.9741}; - angles[]={0,3.1702857,0}; - }; - side="Empty"; - flags=4; - class Attributes + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - dynamicSimulation=1; + class data + { + singleType="BOOL"; + value=0; + }; }; - id=441; - type="vn_b_wheeled_m54_01_airport"; - atlOffset=-0.011397362; }; - class Item9 + nAttributes=1; + }; + }; + class Item132 + { + dataType="Object"; + class PositionInfo + { + position[]={15707.891,14.98,6885.8062}; + }; + side="Empty"; + flags=4; + class Attributes + { + disableSimulation=1; + }; + id=759; + type="Land_vn_b_helipad_01"; + class CustomAttributes + { + class Attribute0 { - dataType="Object"; - class PositionInfo - { - position[]={17462.635,31.781227,5644.0229}; - angles[]={6.261188,4.7286587,6.2671833}; - }; - side="Empty"; - flags=4; - class Attributes + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { + class data + { + singleType="BOOL"; + value=0; + }; }; - id=461; - type="vn_b_wheeled_m54_01"; - atlOffset=0.19513702; }; - class Item10 + nAttributes=1; + }; + }; + class Item133 + { + dataType="Object"; + class PositionInfo + { + position[]={15722.006,14.979422,6894.0376}; + }; + side="Empty"; + flags=4; + class Attributes + { + createAsSimpleObject=1; + disableSimulation=1; + }; + id=773; + type="Land_vn_steeldrum_closed_04"; + class CustomAttributes + { + class Attribute0 { - dataType="Object"; - class PositionInfo + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - position[]={17461.627,31.130531,5617.0942}; - angles[]={6.2571907,4.7286587,6.2651882}; + class data + { + singleType="BOOL"; + value=0; + }; }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=466; - type="vn_b_wheeled_m54_01"; - atlOffset=0.12938118; }; - class Item11 + nAttributes=1; + }; + }; + class Item134 + { + dataType="Object"; + class PositionInfo + { + position[]={15721.13,14.979422,6894.9155}; + }; + side="Empty"; + flags=4; + class Attributes + { + createAsSimpleObject=1; + disableSimulation=1; + }; + id=774; + type="Land_vn_steeldrum_closed_04"; + class CustomAttributes + { + class Attribute0 { - dataType="Object"; - class PositionInfo - { - position[]={17462.346,31.543842,5631.1313}; - angles[]={6.2611909,4.7286587,6.2791886}; - }; - side="Empty"; - flags=4; - class Attributes + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { + class data + { + singleType="BOOL"; + value=0; + }; }; - id=467; - type="vn_b_wheeled_m54_01"; - atlOffset=0.20797729; }; - class Item12 + nAttributes=1; + }; + }; + class Item135 + { + dataType="Object"; + class PositionInfo + { + position[]={15721.927,14.979422,6895.252}; + }; + side="Empty"; + flags=4; + class Attributes + { + createAsSimpleObject=1; + disableSimulation=1; + }; + id=775; + type="Land_vn_steeldrum_closed_04"; + class CustomAttributes + { + class Attribute0 { - dataType="Object"; - class PositionInfo - { - position[]={17462.117,31.663422,5638.0791}; - angles[]={6.2551923,4.7286587,6.2671833}; - }; - side="Empty"; - flags=4; - class Attributes + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { + class data + { + singleType="BOOL"; + value=0; + }; }; - id=468; - type="vn_b_wheeled_m54_02"; - atlOffset=0.20712852; }; - class Item13 + nAttributes=1; + }; + }; + class Item136 + { + dataType="Marker"; + position[]={15707.987,13.825,6885.6631}; + name="wreck_recovery_1"; + markerType="ELLIPSE"; + type="ellipse"; + colorName="ColorBlack"; + fillName="Horizontal"; + a=14.259; + b=14.259; + id=777; + atlOffset=-1.1549997; + }; + class Item137 + { + dataType="Marker"; + position[]={15708.023,15.01,6885.6162}; + name="wreck_recovery"; + text="@STR_vn_mf_wreck_recovery"; + type="b_maint"; + id=778; + atlOffset=0.030000687; + }; + class Item138 + { + dataType="Layer"; + name="Rearm Points"; + class Entities + { + items=22; + class Item0 { dataType="Object"; class PositionInfo { - position[]={17461.518,31.386953,5624.3296}; - angles[]={6.247201,4.7286587,6.2731848}; + position[]={15890.717,16.814545,7053.5049}; + angles[]={0,0.10826746,0}; }; side="Empty"; - flags=4; + flags=5; class Attributes { + disableSimulation=1; }; - id=469; - type="vn_b_wheeled_m54_02"; - atlOffset=0.17795563; - }; - class Item14 - { - dataType="Object"; - class PositionInfo - { - position[]={15924.161,2.5777168,8146.3506}; - angles[]={0,6.2393217,0}; - }; - side="Empty"; - class Attributes + id=803; + type="Land_vn_usaf_fueltank_75_01"; + atlOffset=0.030000687; + class CustomAttributes { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=471; - type="vn_b_boat_05_01"; - atlOffset=4.8908119; }; - class Item15 + class Item1 { dataType="Object"; class PositionInfo { - position[]={15985.438,17.058262,7056.7544}; - angles[]={-0,3.15448,0}; + position[]={15919.188,16.814545,7050.7148}; + angles[]={0,6.2672958,0}; }; side="Empty"; - flags=4; + flags=5; class Attributes { + disableSimulation=1; }; - id=671; - type="vn_b_air_ch34_03_01"; - }; - class Item16 - { - dataType="Object"; - class PositionInfo - { - position[]={16012.01,17.058262,7057.668}; - angles[]={-0,3.153558,0}; - }; - side="Empty"; - flags=4; - class Attributes + id=806; + type="Land_vn_usaf_fueltank_75_01"; + atlOffset=0.030000687; + class CustomAttributes { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=672; - type="vn_b_air_ch34_01_01"; }; - class Item17 + class Item2 { dataType="Object"; class PositionInfo { - position[]={16381.097,76.393158,8175.2773}; - angles[]={0,0.14191271,0}; + position[]={15947.02,16.814545,7050.0015}; + angles[]={0,6.2433949,0}; }; side="Empty"; - flags=4; + flags=5; class Attributes { + disableSimulation=1; + }; + id=808; + type="Land_vn_usaf_fueltank_75_01"; + atlOffset=0.030000687; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=874; - type="vn_b_wheeled_m151_mg_03"; }; - class Item18 + class Item3 { dataType="Object"; class PositionInfo { - position[]={15777.889,17.615728,7239.1411}; - angles[]={0,3.3544335,0}; + position[]={15975.694,16.814545,7050.834}; }; side="Empty"; + flags=5; class Attributes { + disableSimulation=1; + }; + id=810; + type="Land_vn_usaf_fueltank_75_01"; + atlOffset=0.030000687; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=838; - type="vn_b_air_oh6a_01"; - atlOffset=0.2837925; }; - class Item19 + class Item4 { dataType="Object"; class PositionInfo { - position[]={15747.316,17.969604,7238.9868}; - angles[]={0,3.0891528,0}; + position[]={16003.285,16.814545,7050.1509}; + angles[]={0,6.2102866,0}; }; side="Empty"; + flags=5; class Attributes { + disableSimulation=1; + }; + id=812; + type="Land_vn_usaf_fueltank_75_01"; + atlOffset=0.030000687; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=837; - type="vn_b_air_oh6a_01"; - atlOffset=0.63766861; }; - class Item20 + class Item5 { dataType="Object"; class PositionInfo { - position[]={15720.327,17.610958,7241.4946}; - angles[]={0,3.2123067,0}; + position[]={16067.834,16.814545,7051.4385}; + angles[]={0,0.30459586,0}; }; side="Empty"; + flags=5; class Attributes { + disableSimulation=1; }; - id=836; - type="vn_b_air_oh6a_01"; - atlOffset=0.27902222; - }; - class Item21 - { - dataType="Object"; - class PositionInfo - { - position[]={15697.456,17.785992,7239.686}; - angles[]={0,2.808497,0}; - }; - side="Empty"; - class Attributes + id=816; + type="Land_vn_usaf_fueltank_75_01"; + atlOffset=0.030000687; + class CustomAttributes { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=835; - type="vn_b_air_oh6a_01"; - atlOffset=0.45405579; }; - class Item22 + class Item6 { dataType="Object"; class PositionInfo { - position[]={15674.909,17.36393,7238.8066}; - angles[]={0,3.0891528,0}; + position[]={15770.297,16.784544,6886.7749}; + angles[]={0,3.3303659,0}; }; side="Empty"; - flags=4; + flags=5; class Attributes { + disableSimulation=1; }; - id=833; - type="vn_b_air_oh6a_01"; - atlOffset=0.031993866; - }; - class Item23 - { - dataType="Object"; - class PositionInfo - { - position[]={16075.232,17.331936,7057.4448}; - angles[]={-0,3.1535656,0}; - }; - side="Empty"; - flags=4; - class Attributes + id=818; + type="Land_vn_usaf_fueltank_75_01"; + class CustomAttributes { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=847; - type="vn_b_air_oh6a_04"; }; - class Item24 + class Item7 { dataType="Object"; class PositionInfo { - position[]={16366.405,75.981544,8179.959}; - angles[]={0,0.39519837,0}; + position[]={15889.257,15.00765,7046.1006}; + angles[]={0,1.2728649,0}; }; side="Empty"; flags=4; class Attributes { + disableSimulation=1; + }; + id=799; + type="Land_vn_us_vehicleammo"; + atlOffset=0.030000687; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=871; - type="vn_b_wheeled_m151_02"; - atlOffset=-0.050712585; }; - class Item25 + class Item8 { dataType="Object"; class PositionInfo { - position[]={14835.99,101.10226,6823.0249}; - angles[]={0,5.0908318,0}; + position[]={15917.308,15.00765,7045.5557}; + angles[]={0,1.2728649,0}; }; side="Empty"; flags=4; class Attributes { + disableSimulation=1; + }; + id=805; + type="Land_vn_us_vehicleammo"; + atlOffset=0.030000687; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=863; - type="vn_b_wheeled_m151_02"; - atlOffset=-0.0099945068; }; - class Item26 + class Item9 { dataType="Object"; class PositionInfo { - position[]={16373.554,75.981544,8177.5586}; - angles[]={0,0.17593338,0}; + position[]={15944.662,15.00765,7045.4722}; + angles[]={0,1.9417523,0}; }; side="Empty"; flags=4; class Attributes { + disableSimulation=1; + }; + id=807; + type="Land_vn_us_vehicleammo"; + atlOffset=0.030000687; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=872; - type="vn_b_wheeled_m151_02"; - atlOffset=-0.050712585; }; - class Item27 + class Item10 { dataType="Object"; class PositionInfo { - position[]={16361.928,75.981544,8180.9976}; - angles[]={0,0.22334161,0}; + position[]={15973.336,15.00765,7046.3047}; + angles[]={0,2.8290861,0}; }; side="Empty"; flags=4; class Attributes { + disableSimulation=1; + }; + id=809; + type="Land_vn_us_vehicleammo"; + atlOffset=0.030000687; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=867; - type="vn_b_wheeled_m151_01"; - atlOffset=-0.050712585; }; - class Item28 + class Item11 { dataType="Object"; class PositionInfo { - position[]={16369.922,75.981544,8178.499}; - angles[]={0,0.089208394,0}; + position[]={16001.315,15.00765,7045.2192}; + angles[]={0,1.2728649,0}; }; side="Empty"; flags=4; class Attributes { + disableSimulation=1; + }; + id=811; + type="Land_vn_us_vehicleammo"; + atlOffset=0.030000687; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=869; - type="vn_b_wheeled_m151_01"; - atlOffset=-0.050712585; }; - class Item29 + class Item12 { dataType="Object"; class PositionInfo { - position[]={16358.155,75.981544,8181.9907}; - angles[]={0,0.42687023,0}; + position[]={16216.687,15.00765,7050.2568}; + angles[]={0,3.5928242,0}; }; side="Empty"; flags=4; class Attributes { + disableSimulation=1; + }; + id=813; + type="Land_vn_us_vehicleammo"; + atlOffset=0.030000687; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=866; - type="vn_b_wheeled_m151_01"; - atlOffset=-0.050712585; }; - class Item30 + class Item13 { dataType="Object"; class PositionInfo { - position[]={14836.823,101.10226,6826.4756}; - angles[]={0,4.8935494,0}; + position[]={16065.477,15.00765,7046.9092}; + angles[]={0,2.153748,0}; }; side="Empty"; flags=4; class Attributes { + disableSimulation=1; + }; + id=815; + type="Land_vn_us_vehicleammo"; + atlOffset=0.030000687; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=864; - type="vn_b_wheeled_m151_01"; - atlOffset=-0.0099945068; }; - class Item31 + class Item14 { dataType="Object"; class PositionInfo { - position[]={16210.116,17.76026,7060.1904}; - angles[]={6.2819896,3.6732285,6.282495}; + position[]={15772.154,14.97765,6891.3262}; + angles[]={0,5.3119087,0}; }; side="Empty"; flags=4; class Attributes { + disableSimulation=1; + }; + id=817; + type="Land_vn_us_vehicleammo"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=830; - type="vn_b_air_ah1g_03"; }; - class Item32 + class Item15 { dataType="Object"; class PositionInfo { - position[]={16108.666,17.910872,7022.978}; + position[]={16234.078,16.814545,7041.7168}; + angles[]={0,4.0305433,0}; }; side="Empty"; - flags=4; + flags=5; class Attributes { + disableSimulation=1; }; - id=1032; - type="vn_b_air_uh1c_04_02"; - atlOffset=0.028834343; - }; - class Item33 - { - dataType="Object"; - class PositionInfo - { - position[]={16093.43,17.910872,7023.3428}; - }; - side="Empty"; - flags=4; - class Attributes + id=999; + type="Land_vn_usaf_fueltank_75_01"; + atlOffset=0.030000687; + class CustomAttributes { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=1027; - type="vn_b_air_uh1c_05_05"; - atlOffset=0.028834343; }; - class Item34 + class Item16 { dataType="Object"; class PositionInfo { - position[]={16075.876,17.910872,7024.2686}; + position[]={16237.602,15.00765,7044.9541}; + angles[]={0,2.8290861,0}; }; side="Empty"; flags=4; class Attributes { + disableSimulation=1; }; - id=1026; - type="vn_b_air_uh1c_01_04"; - atlOffset=0.028834343; - }; - class Item35 - { - dataType="Object"; - class PositionInfo - { - position[]={16131.268,17.900192,7058.0571}; - angles[]={0,3.1443071,0}; - }; - side="Empty"; - flags=4; - class Attributes + id=1000; + type="Land_vn_us_vehicleammo"; + atlOffset=0.030000687; + class CustomAttributes { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=1021; - type="vn_b_air_uh1c_03_01"; - atlOffset=0.029999733; }; - class Item36 + class Item17 { dataType="Object"; class PositionInfo { - position[]={16125.442,17.910872,7022.2856}; + position[]={16218.862,16.814545,7057.0908}; + angles[]={0,3.8643742,0}; }; side="Empty"; - flags=4; + flags=5; class Attributes { + disableSimulation=1; }; - id=1033; - type="vn_b_air_uh1c_06_02"; - atlOffset=0.028834343; - }; - class Item37 - { - dataType="Object"; - class PositionInfo - { - position[]={15929.049,17.798138,7057.0659}; - angles[]={-0,3.2902303,0}; - }; - side="Empty"; - flags=4; - class Attributes + id=1001; + type="Land_vn_usaf_fueltank_75_01"; + atlOffset=0.030000687; + class CustomAttributes { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=1030; - type="vn_b_air_uh1d_02_06"; }; - class Item38 + class Item18 { dataType="Object"; class PositionInfo { - position[]={15955.795,17.798138,7054.189}; - angles[]={-0,3.2975278,0}; + position[]={16095.851,16.814545,7049.542}; + angles[]={0,0.30459586,0}; }; side="Empty"; - flags=4; + flags=5; class Attributes { + disableSimulation=1; }; - id=1031; - type="vn_b_air_uh1d_01_06"; - }; - class Item39 - { - dataType="Object"; - class PositionInfo - { - position[]={14835.078,101.59206,6819.1709}; - angles[]={0,4.9875784,0}; - }; - side="Empty"; - flags=4; - class Attributes + id=1036; + type="Land_vn_usaf_fueltank_75_01"; + atlOffset=0.030000687; + class CustomAttributes { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=996; - type="vn_b_wheeled_m151_mg_04"; - atlOffset=-0.037490845; }; - class Item40 + class Item19 { dataType="Object"; class PositionInfo { - position[]={14834.09,101.6588,6815.6328}; - angles[]={0,5.2007151,0}; + position[]={16093.493,15.00765,7045.0127}; + angles[]={0,2.153748,0}; }; side="Empty"; flags=4; class Attributes { + disableSimulation=1; }; - id=997; - type="vn_b_wheeled_m151_mg_02"; - atlOffset=-0.0099945068; - }; - class Item41 - { - dataType="Object"; - class PositionInfo - { - position[]={14833.177,101.46316,6812.5801}; - angles[]={0,5.0087752,0}; - }; - side="Empty"; - flags=4; - class Attributes + id=1037; + type="Land_vn_us_vehicleammo"; + atlOffset=0.030000687; + class CustomAttributes { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=998; - type="vn_b_wheeled_m151_mg_03"; - atlOffset=-0.0099945068; }; - class Item42 + class Item20 { dataType="Object"; class PositionInfo { - position[]={17390.545,32.845551,5626.9185}; - angles[]={6.2551899,3.1884024,6.2751913}; + position[]={16123.705,16.814545,7049.7856}; + angles[]={0,0.30459586,0}; }; side="Empty"; - flags=4; + flags=5; class Attributes { + disableSimulation=1; }; - id=1034; - type="vn_b_armor_m41_01_01"; - atlOffset=0.058000565; - }; - class Item43 - { - dataType="Object"; - class PositionInfo - { - position[]={17398.795,32.703285,5628.064}; - angles[]={6.2671809,3.2137794,6.2731848}; - }; - side="Empty"; - flags=4; - class Attributes + id=1038; + type="Land_vn_usaf_fueltank_75_01"; + atlOffset=0.030000687; + class CustomAttributes { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=1035; - type="vn_o_armor_type63_01"; - atlOffset=0.020999908; }; - class Item44 + class Item21 { dataType="Object"; class PositionInfo { - position[]={16103.677,17.822138,7057.3799}; - angles[]={0,3.1056912,0}; + position[]={16121.348,15.00765,7045.2563}; + angles[]={0,2.153748,0}; }; side="Empty"; flags=4; class Attributes { + disableSimulation=1; }; - id=1316; - type="vn_b_air_uh1d_03_06"; - atlOffset=0.024000168; - }; - class Item45 - { - dataType="Object"; - class PositionInfo - { - position[]={15900.081,17.880871,7059.1235}; - angles[]={-0,3.2221222,0}; - }; - side="Empty"; - flags=4; - class Attributes + id=1039; + type="Land_vn_us_vehicleammo"; + atlOffset=0.030000687; + class CustomAttributes { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=1318; - type="vn_b_air_uh1f_01_03"; }; }; - id=704; - atlOffset=8.2521782; - }; - class Item125 - { - dataType="Logic"; - class PositionInfo - { - position[]={16439.066,66.477684,8218.3867}; - }; - name="vn_mf_veh_asset_logic"; - id=705; - type="Logic"; - atlOffset=1.4613495; + id=804; + atlOffset=0.029882431; }; - class Item126 + class Item139 { dataType="Object"; class PositionInfo { - position[]={17154.436,0.64619803,8199.999}; + position[]={15758.335,15.01,6877.9224}; }; side="Empty"; - flags=1; + flags=4; class Attributes { }; - id=711; - type="Land_Cargo_House_V1_ruins_F"; - atlOffset=2.3537049; + id=452; + type="Land_vn_helipadcircle_f"; + atlOffset=0.030000687; }; - class Item127 + class Item140 { - dataType="Object"; + dataType="Logic"; class PositionInfo { - position[]={15701.651,15.45955,6867.0557}; - angles[]={0,1.3891909,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - createAsSimpleObject=1; - disableSimulation=1; + position[]={15773.313,15.009999,6871.3408}; }; - id=716; - type="Land_ToolTrolley_02_F"; + name="vn_mf_masterarm"; + id=823; + type="vn_module_masterarm"; + atlOffset=0.029999733; class CustomAttributes { class Attribute0 { - property="allowDamage"; - expression="_this allowdamage _value;"; + property="vn_module_masterarm_ammo_vehicles"; + expression="_this setVariable ['ammo_vehicles',_value,true];"; class Value { class data { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; + singleType="STRING"; + value="[""Land_vn_us_vehicleammo"", ""Land_vn_usaf_fueltank_75_01""]"; }; }; }; - nAttributes=1; - }; - }; - class Item128 - { - dataType="Object"; - class PositionInfo - { - position[]={15698.155,15.675567,6874.2188}; - angles[]={0,5.3985548,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - createAsSimpleObject=1; - disableSimulation=1; - }; - id=717; - type="Land_WeldingTrolley_01_F"; - class CustomAttributes - { - class Attribute0 + class Attribute1 { - property="allowDamage"; - expression="_this allowdamage _value;"; + property="vn_module_masterarm_repair_vehicles"; + expression="_this setVariable ['repair_vehicles',_value,true];"; class Value { class data { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; + singleType="STRING"; + value="[""Land_vn_us_vehicleammo"", ""Land_vn_usaf_fueltank_75_01""]"; }; }; }; - nAttributes=1; - }; - }; - class Item129 - { - dataType="Object"; - class PositionInfo - { - position[]={15693.765,14.98,6877.5161}; - angles[]={0,2.1677327,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=725; - type="Land_vn_usaf_fueltank_10_case_01"; - class CustomAttributes - { - class Attribute0 + class Attribute2 { - property="allowDamage"; - expression="_this allowdamage _value;"; + property="vn_module_masterarm_fuel_vehicles"; + expression="_this setVariable ['fuel_vehicles',_value,true];"; class Value { class data { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; + singleType="STRING"; + value="[""Land_vn_us_vehicleammo"", ""Land_vn_usaf_fueltank_75_01""]"; }; }; }; - nAttributes=1; + nAttributes=3; }; }; - class Item130 + class Item141 { - dataType="Object"; - class PositionInfo - { - position[]={15695.216,14.98,6878.9106}; - angles[]={0,2.5430562,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=726; - type="Land_vn_usaf_fueltank_10_case_01"; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; - }; + dataType="Marker"; + position[]={15758.405,15.01,6877.8628}; + name="rearm"; + text="@STR_vn_mf_rearm"; + type="b_maint"; + id=824; + atlOffset=0.030000687; }; - class Item131 + class Item142 { - dataType="Object"; - class PositionInfo - { - position[]={15691.559,16.339876,6885.1699}; - angles[]={0,1.6501826,0}; - }; - side="Empty"; - flags=5; - class Attributes - { - disableSimulation=1; - }; - id=727; - type="Land_vn_fuel_tank_stairs"; - atlOffset=-9.5367432e-007; - class CustomAttributes + dataType="Marker"; + position[]={15686.423,15.01,7238.7598}; + name="light_helicopter_spawn"; + text="@STR_vn_mf_light_helicopters"; + type="b_air"; + id=852; + atlOffset=0.030000687; + }; + class Item143 + { + dataType="Marker"; + position[]={15954.845,15.01,7060.6978}; + name="helicopter_spawn"; + text="@STR_vn_mf_helicopters"; + type="b_air"; + id=853; + atlOffset=0.030000687; + }; + class Item144 + { + dataType="Marker"; + position[]={16442.588,14.356,7057.7378}; + name="helicopter_spawn_1"; + text="@STR_vn_mf_helicopters"; + type="b_air"; + id=854; + atlOffset=-0.6239996; + }; + class Item145 + { + dataType="Layer"; + name="Mission: Wiretap"; + class Entities { - class Attribute0 + items=3; + class Item0 { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value + dataType="Marker"; + position[]={4460.646,131.922,16678.199}; + name="mission_wiretap_1_pole"; + text="Mission Wiretap: Pole"; + type="Empty"; + id=938; + atlOffset=0.035003662; + }; + class Item1 + { + dataType="Object"; + class PositionInfo { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; + position[]={4460.6431,137.10428,16678.188}; + angles[]={0,5.8483715,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + name="vn_mf_mission_wiretap_1_pole"; }; + id=940; + type="Land_vn_powerpolewooden_f"; + atlOffset=0.035079956; + }; + class Item2 + { + dataType="Marker"; + position[]={4525.2539,296.99976,16930.924}; + name="mission_wiretap_1_AA"; + text="Mission Wiretap: AA"; + type="Empty"; + id=959; + atlOffset=62.900787; }; - nAttributes=1; }; + id=939; + atlOffset=59.675079; }; - class Item132 + class Item146 { - dataType="Object"; + dataType="Logic"; class PositionInfo { - position[]={15725.599,16.811344,6886.0659}; - }; - side="Empty"; - flags=1; - class Attributes - { - disableSimulation=1; + position[]={16428.201,64.730316,8237.5215}; }; - id=735; - type="Land_vn_workshop_04_f"; - atlOffset=0.48181438; + presenceCondition="[""enable_air_support"", 1] call BIS_fnc_getParamValue != 0 || [""enable_arty_support"", 1] call BIS_fnc_getParamValue != 0"; + id=984; + type="vn_module_artillery"; + atlOffset=-0.011001587; class CustomAttributes { class Attribute0 { - property="allowDamage"; - expression="_this allowdamage _value;"; + property="vn_speaker_rto"; + expression="_this setVariable ['vn_speaker_rto',_value,true];"; class Value { class data { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; + nil=1; + singleType="ANY"; }; }; }; nAttributes=1; }; }; - class Item133 + class Item147 { - dataType="Object"; - class PositionInfo - { - position[]={15705.108,14.98003,6870.8164}; - angles[]={0,4.2622986,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=737; - type="vn_b_ammobox_supply_06"; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; - }; + dataType="Marker"; + position[]={16386.174,34.058998,12189.818}; + name="connector_khe_gio_valley_hanoi_docks"; + text="Connector Khe Gio Valley to Hanoi Docks"; + type="mil_arrow"; + angle=339.245; + id=988; + atlOffset=-14.987957; }; - class Item134 + class Item148 { - dataType="Object"; - class PositionInfo - { - position[]={15692.986,14.98003,6890.6719}; - angles[]={0,0.42233917,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=738; - type="vn_b_ammobox_supply_06"; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; - }; + dataType="Marker"; + position[]={4419.6802,171.12,11737.535}; + name="connector_attapeu_plain_of_jars"; + text="Connector Attapeu to Plain of Jars"; + type="mil_arrow"; + angle=264.578; + id=991; + atlOffset=22.258804; }; - class Item135 + class Item149 + { + dataType="Marker"; + position[]={5161.7002,114.82,9600.2061}; + name="connector_lumphat_sihanoukville"; + text="Connector Lumphat to Sihanoukville"; + type="mil_arrow"; + angle=264.578; + id=992; + atlOffset=22.422272; + }; + class Item150 + { + dataType="Marker"; + position[]={4835.708,32.014999,15110.61}; + name="connector_attapeu_mu_gia_pass"; + text="Connector Attapeu to Mu Gia Pass"; + type="mil_arrow"; + angle=57.994991; + id=993; + atlOffset=22.253338; + }; + class Item151 + { + dataType="Marker"; + position[]={5198.5308,120.74,16819.303}; + name="connector_mu_gia_pass_va_cang"; + text="Connector Mu Gia Pass to Va Cang"; + type="mil_arrow"; + angle=280.785; + id=994; + atlOffset=22.268768; + }; + class Item152 + { + dataType="Marker"; + position[]={2217.8711,31.483002,17691.713}; + name="connector_va_cang_nodal_lho"; + text="Connector Va Cang to Nodal Lho"; + type="mil_arrow"; + angle=357.17496; + id=995; + atlOffset=21.916359; + }; + class Item153 { dataType="Object"; class PositionInfo { - position[]={15721.295,14.98003,6878.1758}; - angles[]={0,5.8389025,0}; + position[]={15985.061,14.98,7056.4175}; }; side="Empty"; flags=4; class Attributes { - disableSimulation=1; - }; - id=739; - type="vn_b_ammobox_supply_06"; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; }; + id=1003; + type="Land_vn_helipadcircle_f"; }; - class Item136 + class Item154 { dataType="Object"; class PositionInfo { - position[]={15697.616,16.304226,6870.854}; - angles[]={0,4.66465,0}; + position[]={16011.763,14.98,7056.1074}; }; side="Empty"; flags=4; class Attributes { - disableSimulation=1; - }; - id=743; - type="vn_wheeled_m54_01_wreck"; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; }; + id=1004; + type="Land_vn_helipadcircle_f"; }; - class Item137 + class Item155 { dataType="Object"; class PositionInfo { - position[]={15719.563,15.472083,6869.1372}; - angles[]={0,5.122736,0}; + position[]={16325.604,74.581787,8122.6982}; + angles[]={0,0.28098056,0}; }; side="Empty"; flags=4; class Attributes { - createAsSimpleObject=1; + name="vn_mf_mikeforce_teleporter"; disableSimulation=1; }; - id=751; - type="Land_ToolTrolley_01_F"; + id=1041; + type="Land_vn_b_prop_mapstand_01"; class CustomAttributes { class Attribute0 @@ -4132,13 +4247,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -4146,23 +4255,24 @@ class Mission nAttributes=1; }; }; - class Item138 + class Item156 { dataType="Object"; class PositionInfo { - position[]={15719.63,15.348924,6869.1401}; - angles[]={0,4.9140701,0}; + position[]={14798.646,99.651787,6845.4141}; + angles[]={0,5.9750476,0}; }; side="Empty"; + flags=4; class Attributes { - createAsSimpleObject=1; + name="vn_mf_spiketeam_teleporter"; disableSimulation=1; }; - id=752; - type="Land_Grinder_F"; - atlOffset=0.29034138; + id=1042; + type="Land_vn_b_prop_mapstand_01"; + atlOffset=-0.0099945068; class CustomAttributes { class Attribute0 @@ -4173,13 +4283,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -4187,23 +4291,24 @@ class Mission nAttributes=1; }; }; - class Item139 + class Item157 { dataType="Object"; class PositionInfo { - position[]={15723.954,15.675567,6871.8784}; - angles[]={0,1.6249036,0}; + position[]={15817.455,15.081783,7109.834}; + angles[]={0,6.2162519,0}; }; side="Empty"; flags=4; class Attributes { - createAsSimpleObject=1; + name="vn_mf_greenhornets_teleporter"; disableSimulation=1; }; - id=753; - type="Land_WeldingTrolley_01_F"; + id=1043; + type="Land_vn_b_prop_mapstand_01"; + atlOffset=0.030000687; class CustomAttributes { class Attribute0 @@ -4214,13 +4319,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -4228,22 +4327,24 @@ class Mission nAttributes=1; }; }; - class Item140 + class Item158 { dataType="Object"; class PositionInfo { - position[]={15722.332,15.021246,6883.624}; + position[]={17357.797,31.329626,5588.1143}; + angles[]={0.0039968039,3.4595916,0}; }; side="Empty"; flags=4; class Attributes { + name="vn_mf_acav_teleporter"; disableSimulation=1; }; - id=765; - type="Land_vn_canister_ep1"; - atlOffset=0.037177086; + id=1044; + type="Land_vn_b_prop_mapstand_01"; + atlOffset=0.027843475; class CustomAttributes { class Attribute0 @@ -4254,13 +4355,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -4268,101 +4363,113 @@ class Mission nAttributes=1; }; }; - class Item141 + class Item159 { - dataType="Object"; - class PositionInfo - { - position[]={15707.891,14.98,6885.8062}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=759; - type="Land_vn_b_helipad_01"; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; - }; + dataType="Marker"; + position[]={14973.297,39.112999,13088.33}; + name="zone_hai_phong"; + text="HANOI DOCKS"; + markerType="ELLIPSE"; + type="ellipse"; + fillName="SolidBorder"; + a=-750; + b=-750; + drawBorder=1; + id=1054; + atlOffset=28.322435; }; - class Item142 + class Item160 { - dataType="Object"; - class PositionInfo - { - position[]={15722.006,14.979422,6894.0376}; - }; - side="Empty"; - flags=4; - class Attributes - { - createAsSimpleObject=1; - disableSimulation=1; - }; - id=773; - type="Land_vn_steeldrum_closed_04"; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; - }; + dataType="Marker"; + position[]={12993.817,29.909,13367.482}; + name="hanoi_city"; + text="HANOI CITY"; + type="vn_flag_pavn"; + id=1055; + atlOffset=28.549; }; - class Item143 + class Item161 + { + dataType="Marker"; + position[]={13955.089,-9.4029999,13025.628}; + name="connector_hanoi_docks_hanoi_city"; + text="Connector Hanoi Docks to Hanoi City"; + type="mil_arrow"; + angle=275.59799; + id=1056; + atlOffset=-16.331806; + }; + class Item162 + { + dataType="Marker"; + position[]={11719.252,-4.572,13670.408}; + name="connector_hanoi_city_gia_lam_airbase"; + text="Connector Hanoi City to Gia Lam Airbase"; + type="mil_arrow"; + angle=358.57498; + id=1057; + atlOffset=-16.291449; + }; + class Item163 + { + dataType="Marker"; + position[]={14138.702,2.783,14092.845}; + name="connector_hanoi_city_ha_long_navy_base"; + text="Connector Hanoi City to Ha Long Navy Base"; + type="mil_arrow"; + angle=323.58289; + id=1060; + atlOffset=-17.130596; + }; + class Item164 + { + dataType="Marker"; + position[]={6982.377,175.717,16660.117}; + name="connector_mu_gia_pass_thud_ridge"; + text="Connector Mu Gia Pass to Thud Ridge"; + type="mil_arrow"; + angle=93.332962; + id=1094; + atlOffset=73.712914; + }; + class Item165 + { + dataType="Marker"; + position[]={13443.416,-154.19701,16672.596}; + name="connector_ha_long_navy_base_son_tay"; + text="Connector Ha Long Navy Base to Son Tay"; + type="mil_arrow"; + angle=307.66696; + id=1095; + atlOffset=-174.16701; + }; + class Item166 + { + dataType="Marker"; + position[]={10457.803,360.948,17289.457}; + name="connector_thud_ridge_son_tay"; + text="Connector Thud Ridge to Son Tay"; + type="mil_arrow"; + angle=72.564995; + id=1096; + atlOffset=73.713135; + }; + class Item167 { dataType="Object"; class PositionInfo { - position[]={15721.13,14.979422,6894.9155}; + position[]={15713.97,16.347357,6869.7808}; + angles[]={0,6.1005411,0}; }; side="Empty"; flags=4; class Attributes { - createAsSimpleObject=1; disableSimulation=1; }; - id=774; - type="Land_vn_steeldrum_closed_04"; + id=1098; + type="vn_us_komex_medium_01"; class CustomAttributes { class Attribute0 @@ -4373,13 +4480,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -4387,22 +4488,22 @@ class Mission nAttributes=1; }; }; - class Item144 + class Item168 { dataType="Object"; class PositionInfo { - position[]={15721.927,14.979422,6895.252}; + position[]={15710.349,16.347357,6869.3921}; + angles[]={0,6.2683897,0}; }; side="Empty"; flags=4; class Attributes { - createAsSimpleObject=1; disableSimulation=1; }; - id=775; - type="Land_vn_steeldrum_closed_04"; + id=1099; + type="vn_us_komex_medium_02"; class CustomAttributes { class Attribute0 @@ -4413,13 +4514,7 @@ class Mission { class data { - class type - { - type[]= - { - "BOOL" - }; - }; + singleType="BOOL"; value=0; }; }; @@ -4427,1932 +4522,1615 @@ class Mission nAttributes=1; }; }; - class Item145 + class Item169 { dataType="Marker"; - position[]={15707.987,13.825,6885.6631}; - name="wreck_recovery_1"; + position[]={2120.6531,34.069,3873.0161}; + name="dharma"; + text="DHARMA"; + type="vn_flag_cam01"; + id=1100; + atlOffset=-0.0002784729; + }; + class Item170 + { + dataType="Marker"; + position[]={2119.574,33.285,3873.5339}; + name="zone_dharma"; + text="Dharma"; markerType="ELLIPSE"; type="ellipse"; - colorName="ColorBlack"; - fillName="Horizontal"; - a=14.259; - b=14.259; - id=777; - atlOffset=-1.1549997; + fillName="SolidBorder"; + a=-500; + b=-500; + drawBorder=1; + id=1101; + atlOffset=-0.59264755; }; - class Item146 + class Item171 { dataType="Marker"; - position[]={15708.023,15.01,6885.6162}; - name="wreck_recovery"; - text="@STR_vn_mf_wreck_recovery"; - type="b_maint"; - id=778; - atlOffset=0.030000687; + position[]={14665.714,423.04999,18328.361}; + name="ling_ho"; + text="LING HO"; + type="vn_flag_pavn"; + id=1102; + atlOffset=418.00479; }; - class Item147 + class Item172 { - dataType="Layer"; - name="Rearm Points"; - class Entities - { - items=22; - class Item0 - { - dataType="Object"; - class PositionInfo - { - position[]={15890.717,16.814545,7053.5049}; - angles[]={0,0.10826746,0}; - }; - side="Empty"; - flags=5; - class Attributes - { - disableSimulation=1; - }; - id=803; - type="Land_vn_usaf_fueltank_75_01"; - atlOffset=0.030000687; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; - }; - }; - class Item1 - { - dataType="Object"; - class PositionInfo - { - position[]={15919.188,16.814545,7050.7148}; - angles[]={0,6.2672958,0}; - }; - side="Empty"; - flags=5; - class Attributes - { - disableSimulation=1; - }; - id=806; - type="Land_vn_usaf_fueltank_75_01"; - atlOffset=0.030000687; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; - }; - }; - class Item2 - { - dataType="Object"; - class PositionInfo - { - position[]={15947.02,16.814545,7050.0015}; - angles[]={0,6.2433949,0}; - }; - side="Empty"; - flags=5; - class Attributes - { - disableSimulation=1; - }; - id=808; - type="Land_vn_usaf_fueltank_75_01"; - atlOffset=0.030000687; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; - }; - }; - class Item3 - { - dataType="Object"; - class PositionInfo - { - position[]={15975.694,16.814545,7050.834}; - }; - side="Empty"; - flags=5; - class Attributes - { - disableSimulation=1; - }; - id=810; - type="Land_vn_usaf_fueltank_75_01"; - atlOffset=0.030000687; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; - }; - }; - class Item4 - { - dataType="Object"; - class PositionInfo - { - position[]={16003.285,16.814545,7050.1509}; - angles[]={0,6.2102866,0}; - }; - side="Empty"; - flags=5; - class Attributes - { - disableSimulation=1; - }; - id=812; - type="Land_vn_usaf_fueltank_75_01"; - atlOffset=0.030000687; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; - }; - }; - class Item5 - { - dataType="Object"; - class PositionInfo - { - position[]={16067.834,16.814545,7051.4385}; - angles[]={0,0.30459586,0}; - }; - side="Empty"; - flags=5; - class Attributes - { - disableSimulation=1; - }; - id=816; - type="Land_vn_usaf_fueltank_75_01"; - atlOffset=0.030000687; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; - }; - }; - class Item6 - { - dataType="Object"; - class PositionInfo - { - position[]={15770.473,16.816275,6877.3564}; - angles[]={0,3.3303659,0}; - }; - side="Empty"; - flags=5; - class Attributes - { - disableSimulation=1; - }; - id=818; - type="Land_vn_usaf_fueltank_75_01"; - atlOffset=0.031730652; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; - }; - }; - class Item7 - { - dataType="Object"; - class PositionInfo - { - position[]={15889.257,15.00765,7046.1006}; - angles[]={0,1.2728649,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=799; - type="Land_vn_us_vehicleammo"; - atlOffset=0.030000687; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; - }; - }; - class Item8 - { - dataType="Object"; - class PositionInfo - { - position[]={15917.308,15.00765,7045.5557}; - angles[]={0,1.2728649,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=805; - type="Land_vn_us_vehicleammo"; - atlOffset=0.030000687; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; - }; - }; - class Item9 - { - dataType="Object"; - class PositionInfo - { - position[]={15944.662,15.00765,7045.4722}; - angles[]={0,1.9417523,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=807; - type="Land_vn_us_vehicleammo"; - atlOffset=0.030000687; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; - }; - }; - class Item10 - { - dataType="Object"; - class PositionInfo - { - position[]={15973.336,15.00765,7046.3047}; - angles[]={0,2.8290861,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=809; - type="Land_vn_us_vehicleammo"; - atlOffset=0.030000687; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; - }; - }; - class Item11 - { - dataType="Object"; - class PositionInfo - { - position[]={16001.315,15.00765,7045.2192}; - angles[]={0,1.2728649,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=811; - type="Land_vn_us_vehicleammo"; - atlOffset=0.030000687; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; - }; - }; - class Item12 - { - dataType="Object"; - class PositionInfo - { - position[]={16216.687,15.00765,7050.2568}; - angles[]={0,3.5928242,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=813; - type="Land_vn_us_vehicleammo"; - atlOffset=0.030000687; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; - }; - }; - class Item13 - { - dataType="Object"; - class PositionInfo - { - position[]={16065.477,15.00765,7046.9092}; - angles[]={0,2.153748,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=815; - type="Land_vn_us_vehicleammo"; - atlOffset=0.030000687; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; - }; - }; - class Item14 - { - dataType="Object"; - class PositionInfo - { - position[]={15772.766,15.00765,6882.1738}; - angles[]={0,5.3119087,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=817; - type="Land_vn_us_vehicleammo"; - atlOffset=0.030000687; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; - }; - }; - class Item15 - { - dataType="Object"; - class PositionInfo - { - position[]={16234.078,16.814545,7041.7168}; - angles[]={0,4.0305433,0}; - }; - side="Empty"; - flags=5; - class Attributes - { - disableSimulation=1; - }; - id=999; - type="Land_vn_usaf_fueltank_75_01"; - atlOffset=0.030000687; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; - }; - }; - class Item16 - { - dataType="Object"; - class PositionInfo - { - position[]={16237.602,15.00765,7044.9541}; - angles[]={0,2.8290861,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=1000; - type="Land_vn_us_vehicleammo"; - atlOffset=0.030000687; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; - }; - }; - class Item17 - { - dataType="Object"; - class PositionInfo - { - position[]={16218.862,16.814545,7057.0908}; - angles[]={0,3.8643742,0}; - }; - side="Empty"; - flags=5; - class Attributes - { - disableSimulation=1; - }; - id=1001; - type="Land_vn_usaf_fueltank_75_01"; - atlOffset=0.030000687; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; - }; - }; - class Item18 - { - dataType="Object"; - class PositionInfo - { - position[]={16095.851,16.814545,7049.542}; - angles[]={0,0.30459586,0}; - }; - side="Empty"; - flags=5; - class Attributes - { - disableSimulation=1; - }; - id=1036; - type="Land_vn_usaf_fueltank_75_01"; - atlOffset=0.030000687; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; - }; - }; - class Item19 - { - dataType="Object"; - class PositionInfo - { - position[]={16093.493,15.00765,7045.0127}; - angles[]={0,2.153748,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=1037; - type="Land_vn_us_vehicleammo"; - atlOffset=0.030000687; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; - }; - }; - class Item20 - { - dataType="Object"; - class PositionInfo - { - position[]={16123.705,16.814545,7049.7856}; - angles[]={0,0.30459586,0}; - }; - side="Empty"; - flags=5; - class Attributes - { - disableSimulation=1; - }; - id=1038; - type="Land_vn_usaf_fueltank_75_01"; - atlOffset=0.030000687; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; - }; - }; - class Item21 - { - dataType="Object"; - class PositionInfo - { - position[]={16121.348,15.00765,7045.2563}; - angles[]={0,2.153748,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=1039; - type="Land_vn_us_vehicleammo"; - atlOffset=0.030000687; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - class type - { - type[]= - { - "BOOL" - }; - }; - value=0; - }; - }; - }; - nAttributes=1; - }; - }; - }; - id=804; - atlOffset=0.030000687; + dataType="Marker"; + position[]={14665.378,419.78699,18328.107}; + name="zone_ling_ho"; + text="LING HO"; + markerType="ELLIPSE"; + type="ellipse"; + fillName="SolidBorder"; + a=-500; + b=-500; + drawBorder=1; + id=1103; + atlOffset=414.7352; + }; + class Item173 + { + dataType="Marker"; + position[]={6202.1909,23.231001,5057.2749}; + name="connector_phu_quoc_dharma"; + text="Connector Phu Quoc to Dharma"; + type="mil_arrow"; + angle=243.0829; + id=1104; + atlOffset=15.832047; }; - class Item148 + class Item174 { - dataType="Object"; - class PositionInfo - { - position[]={15758.335,15.01,6877.9224}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=452; - type="Land_vn_helipadcircle_f"; - atlOffset=0.030000687; + dataType="Marker"; + position[]={3088.761,37.622002,7747.1592}; + name="connector_sihanoukville_dharma"; + text="Connector Sihanookville to Dharma"; + type="mil_arrow"; + angle=178.47701; + id=1105; + atlOffset=16.517523; }; - class Item149 + class Item175 { - dataType="Logic"; - class PositionInfo - { - position[]={15773.313,15.009999,6871.3408}; - }; - name="vn_mf_masterarm"; - id=823; - type="vn_module_masterarm"; - atlOffset=0.029999733; - class CustomAttributes - { - class Attribute0 - { - property="vn_module_masterarm_ammo_vehicles"; - expression="_this setVariable ['ammo_vehicles',_value,true];"; - class Value - { - class data - { - class type - { - type[]= - { - "STRING" - }; - }; - value="[""Land_vn_us_vehicleammo"", ""Land_vn_usaf_fueltank_75_01""]"; - }; - }; - }; - class Attribute1 - { - property="vn_module_masterarm_repair_vehicles"; - expression="_this setVariable ['repair_vehicles',_value,true];"; - class Value - { - class data - { - class type - { - type[]= - { - "STRING" - }; - }; - value="[""Land_vn_us_vehicleammo"", ""Land_vn_usaf_fueltank_75_01""]"; - }; - }; - }; - class Attribute2 - { - property="vn_module_masterarm_fuel_vehicles"; - expression="_this setVariable ['fuel_vehicles',_value,true];"; - class Value - { - class data - { - class type - { - type[]= - { - "STRING" - }; - }; - value="[""Land_vn_us_vehicleammo"", ""Land_vn_usaf_fueltank_75_01""]"; - }; - }; - }; - nAttributes=3; - }; + dataType="Marker"; + position[]={2449.7327,38.793945,4289.4194}; + name="connector_dharma_sihanoukville"; + text="Connector Dharma to Sihanoukville"; + type="mil_arrow"; + angle=4.3219981; + id=1106; + atlOffset=22.422318; }; - class Item150 + class Item176 { dataType="Marker"; - position[]={15758.405,15.01,6877.8628}; - name="rearm"; - text="@STR_vn_mf_rearm"; - type="b_maint"; - id=824; - atlOffset=0.030000687; + position[]={14777.165,242.952,9595.6221}; + name="zone_fob_mai_loc"; + text="FOB MAI LOC"; + markerType="ELLIPSE"; + type="ellipse"; + fillName="SolidBorder"; + a=-500; + b=-500; + drawBorder=1; + id=1108; + atlOffset=-1.1954651; }; - class Item151 + class Item177 { dataType="Marker"; - position[]={15686.423,15.01,7238.7598}; - name="light_helicopter_spawn"; - text="@STR_vn_mf_light_helicopters"; - type="b_air"; - id=852; - atlOffset=0.030000687; + position[]={16742.369,41.318001,9526.5039}; + name="connector_hue_fob_mai_loc"; + text="Connector Hue to FOB Mai Loc"; + type="mil_arrow"; + angle=270.99393; + id=1111; + atlOffset=31.655157; }; - class Item152 + class Item178 { dataType="Marker"; - position[]={15954.845,15.01,7060.6978}; - name="helicopter_spawn"; - text="@STR_vn_mf_helicopters"; - type="b_air"; - id=853; - atlOffset=0.030000687; + position[]={19635.82,19.599001,6783.3667}; + name="zone_da_nang"; + text="BAN HOANG"; + markerType="ELLIPSE"; + type="ellipse"; + fillName="SolidBorder"; + a=-500; + b=-500; + drawBorder=1; + id=1112; + atlOffset=14.566813; }; - class Item153 + class Item179 { dataType="Marker"; - position[]={16442.588,14.356,7057.7378}; - name="helicopter_spawn_1"; - text="@STR_vn_mf_helicopters"; - type="b_air"; - id=854; - atlOffset=-0.6239996; + position[]={19200.334,18.409,6431.313}; + name="connector_ban_hoang_da_nang"; + text="Connector Ban Hoang to Da Nang"; + type="mil_arrow"; + angle=54.939995; + id=1113; + atlOffset=-14.728889; }; - class Item154 + class Item180 { - dataType="Layer"; - name="Mission: Wiretap"; - class Entities - { - items=3; - class Item0 - { - dataType="Marker"; - position[]={4460.646,131.922,16678.199}; - name="mission_wiretap_1_pole"; - text="Mission Wiretap: Pole"; - type="Empty"; - id=938; - atlOffset=0.035003662; - }; - class Item1 - { - dataType="Object"; - class PositionInfo - { - position[]={4460.6431,137.10428,16678.188}; - angles[]={0,5.8483715,0}; - }; - side="Empty"; - flags=5; - class Attributes - { - name="vn_mf_mission_wiretap_1_pole"; - }; - id=940; - type="Land_vn_powerpolewooden_f"; - atlOffset=0.035079956; - }; - class Item2 - { - dataType="Marker"; - position[]={4525.2539,296.99976,16930.924}; - name="mission_wiretap_1_AA"; - text="Mission Wiretap: AA"; - type="Empty"; - id=959; - atlOffset=62.900787; - }; - }; - id=939; - atlOffset=59.675079; + dataType="Marker"; + position[]={3997.271,39.400002,10169.735}; + name="san_bay_ban"; + text="SAN BAY BAN"; + type="vn_flag_cam01"; + id=1114; }; - class Item155 + class Item181 { - dataType="Logic"; - class PositionInfo - { - position[]={16428.201,64.730316,8237.5215}; - }; - presenceCondition="[""enable_air_support"", 1] call BIS_fnc_getParamValue != 0 || [""enable_arty_support"", 1] call BIS_fnc_getParamValue != 0"; - id=984; - type="vn_module_artillery"; - atlOffset=-0.011001587; - class CustomAttributes - { - class Attribute0 - { - property="vn_speaker_rto"; - expression="_this setVariable ['vn_speaker_rto',_value,true];"; - class Value - { - class data - { - nil=1; - class type - { - type[]= - { - "ANY" - }; - }; - }; - }; - }; - nAttributes=1; - }; + dataType="Marker"; + position[]={3996.1909,39.400002,10170.253}; + name="zone_san_bay_ban"; + text="SAN BAY BAN AIRFIELD"; + markerType="ELLIPSE"; + type="ellipse"; + fillName="SolidBorder"; + a=-500; + b=-500; + drawBorder=1; + id=1115; }; - class Item156 + class Item182 { - dataType="Object"; - class PositionInfo - { - position[]={15955.759,15.01,7054.2451}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=629; - type="Land_vn_helipadcircle_f"; - atlOffset=0.030000687; + dataType="Marker"; + position[]={3491.9951,23.462999,9530.1162}; + name="connector_sihanoukville_san_bay_ban"; + text="Connector Sihanookville to San Bay Ban"; + type="mil_arrow"; + angle=32.117981; + id=1116; + atlOffset=-8.8924351; }; - class Item157 + class Item183 { dataType="Marker"; - position[]={16386.174,34.058998,12189.818}; - name="connector_khe_gio_valley_hanoi_docks"; - text="Connector Khe Gio Valley to Hanoi Docks"; + position[]={5148.083,127.97,9777.2578}; + name="connector_lumphat_san_bay_ban"; + text="Connector Lumphat to San Bay Ban"; type="mil_arrow"; - angle=339.245; - id=988; - atlOffset=-14.987957; + angle=342.30591; + id=1117; + atlOffset=22.422401; }; - class Item158 + class Item184 { dataType="Marker"; - position[]={4419.6802,171.12,11737.535}; - name="connector_attapeu_plain_of_jars"; - text="Connector Attapeu to Plain of Jars"; + position[]={13767.121,-154.19701,17454.795}; + name="connector_ling_ho"; + text="Connector Ling Ho"; type="mil_arrow"; - angle=264.578; - id=991; - atlOffset=22.258804; + angle=28.375921; + id=1118; + atlOffset=-174.16701; }; - class Item159 + class Item185 { dataType="Marker"; - position[]={5161.7002,114.82,9600.2061}; - name="connector_lumphat_sihanoukville"; - text="Connector Lumphat to Sihanoukville"; - type="mil_arrow"; - angle=264.578; - id=992; - atlOffset=22.422272; + position[]={17363.574,49.911869,5588.3711}; + name="arsenal_acav"; + text="@STR_vn_mf_arsenal"; + type="mil_dot"; + colorName="ColorPink"; + id=1120; + atlOffset=18.693541; }; - class Item160 + class Item186 { dataType="Marker"; - position[]={4835.708,32.014999,15110.61}; - name="connector_attapeu_mu_gia_pass"; - text="Connector Attapeu to Mu Gia Pass"; - type="mil_arrow"; - angle=57.994991; - id=993; - atlOffset=22.253338; + position[]={15825.741,14.97998,7108.7227}; + name="arsenal_greenhornets"; + text="@STR_vn_mf_arsenal"; + type="mil_dot"; + colorName="ColorPink"; + id=1121; + atlOffset=-1.9073486e-005; }; - class Item161 + class Item187 { dataType="Marker"; - position[]={5198.5308,120.74,16819.303}; - name="connector_mu_gia_pass_va_cang"; - text="Connector Mu Gia Pass to Va Cang"; - type="mil_arrow"; - angle=280.785; - id=994; - atlOffset=22.268768; + position[]={16328.838,93.203552,8116.0552}; + name="arsenal_mikeforce"; + text="@STR_vn_mf_arsenal"; + type="mil_dot"; + colorName="ColorPink"; + id=1122; + atlOffset=18.69355; }; - class Item162 + class Item188 { dataType="Marker"; - position[]={2217.8711,31.483002,17691.713}; - name="connector_va_cang_nodal_lho"; - text="Connector Va Cang to Nodal Lho"; - type="mil_arrow"; - angle=357.17496; - id=995; - atlOffset=21.916359; + position[]={14793.342,118.28354,6837.6685}; + name="arsenal_spiketeam"; + text="@STR_vn_mf_arsenal"; + type="mil_dot"; + colorName="ColorPink"; + id=1123; + atlOffset=18.693542; }; - class Item163 + class Item189 { - dataType="Object"; + dataType="Logic"; class PositionInfo { - position[]={15985.036,15.01,7055.7939}; + position[]={16365.989,74.510002,8091.002}; }; - side="Empty"; - flags=4; - class Attributes + name="hc1"; + isPlayable=1; + id=1124; + type="HeadlessClient_F"; + }; + class Item190 + { + dataType="Logic"; + class PositionInfo { + position[]={16368.808,74.510002,8089.0059}; }; - id=1003; - type="Land_vn_helipadcircle_f"; - atlOffset=0.030000687; + name="hc3"; + isPlayable=1; + id=1125; + type="HeadlessClient_F"; }; - class Item164 + class Item191 { - dataType="Object"; + dataType="Logic"; class PositionInfo { - position[]={16011.996,15.01,7055.167}; + position[]={16365.917,74.510002,8087.667}; + }; + name="hc2"; + isPlayable=1; + id=1126; + type="HeadlessClient_F"; + }; + class Item192 + { + dataType="Group"; + side="West"; + class Entities + { + items=1; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={16341.911,74.511444,8135.9072}; + }; + side="West"; + flags=7; + class Attributes + { + isPlayable=1; + class Inventory + { + class primaryWeapon + { + name="vn_m1carbine"; + class primaryMuzzleMag + { + name="vn_carbine_15_mag"; + ammoLeft=15; + }; + }; + class secondaryWeapon + { + name="vn_m127"; + class primaryMuzzleMag + { + name="vn_m127_mag"; + ammoLeft=1; + }; + }; + class handgun + { + name="vn_mx991"; + }; + class binocular + { + name="vn_m19_binocs_grey"; + }; + class uniform + { + typeName="vn_b_uniform_macv_01_02"; + isBackpack=0; + class MagazineCargo + { + items=1; + class Item0 + { + name="vn_prop_food_fresh_01"; + count=24; + ammoLeft=100; + }; + }; + class ItemCargo + { + items=1; + class Item0 + { + name="vn_b_item_firstaidkit"; + count=8; + }; + }; + }; + class vest + { + typeName="vn_b_vest_usarmy_03"; + isBackpack=0; + class MagazineCargo + { + items=1; + class Item0 + { + name="vn_m61_grenade_mag"; + count=9; + ammoLeft=1; + }; + }; + }; + class backpack + { + typeName="vn_b_pack_03"; + isBackpack=1; + class MagazineCargo + { + items=6; + class Item0 + { + name="vn_m129_mag"; + count=5; + ammoLeft=1; + }; + class Item1 + { + name="vn_carbine_15_t_mag"; + count=12; + ammoLeft=15; + }; + class Item2 + { + name="vn_m34_grenade_mag"; + count=1; + ammoLeft=1; + }; + class Item3 + { + name="vn_m18_purple_mag"; + count=2; + ammoLeft=1; + }; + class Item4 + { + name="vn_m18_red_mag"; + count=2; + ammoLeft=1; + }; + class Item5 + { + name="vn_mine_m112_remote_mag"; + count=5; + ammoLeft=1; + }; + }; + class ItemCargo + { + items=2; + class Item0 + { + name="vn_b_item_firstaidkit"; + count=2; + }; + class Item1 + { + name="vn_b_item_trapkit"; + count=1; + }; + }; + }; + map="vn_b_item_map"; + compass="vn_b_item_compass"; + watch="vn_b_item_watch"; + radio="vn_b_item_radio_urc10"; + headgear="vn_b_boonie_02_02"; + }; + }; + id=1196; + type="vn_b_men_sf_06"; + class CustomAttributes + { + class Attribute0 + { + property="speaker"; + expression="_this setspeaker _value;"; + class Value + { + class data + { + singleType="STRING"; + value="Male02ENG"; + }; + }; + }; + class Attribute1 + { + property="pitch"; + expression="_this setpitch _value;"; + class Value + { + class data + { + singleType="SCALAR"; + value=1.04; + }; + }; + }; + nAttributes=2; + }; + }; }; - side="Empty"; - flags=4; class Attributes { }; - id=1004; - type="Land_vn_helipadcircle_f"; - atlOffset=0.030000687; + id=1195; }; - class Item165 + class Item193 { - dataType="Object"; - class PositionInfo - { - position[]={16325.604,74.581787,8122.6982}; - angles[]={0,0.28098056,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - name="vn_mf_mikeforce_teleporter"; - disableSimulation=1; - }; - id=1041; - type="Land_vn_b_prop_mapstand_01"; - class CustomAttributes + dataType="Group"; + side="West"; + class Entities { - class Attribute0 + items=1; + class Item0 { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value + dataType="Object"; + class PositionInfo + { + position[]={16340.714,74.511444,8136.4839}; + }; + side="West"; + flags=7; + class Attributes + { + isPlayable=1; + class Inventory + { + class primaryWeapon + { + name="vn_m1carbine"; + class primaryMuzzleMag + { + name="vn_carbine_15_mag"; + ammoLeft=15; + }; + }; + class secondaryWeapon + { + name="vn_m127"; + class primaryMuzzleMag + { + name="vn_m127_mag"; + ammoLeft=1; + }; + }; + class handgun + { + name="vn_mx991"; + }; + class binocular + { + name="vn_m19_binocs_grey"; + }; + class uniform + { + typeName="vn_b_uniform_macv_01_02"; + isBackpack=0; + class MagazineCargo + { + items=1; + class Item0 + { + name="vn_prop_food_fresh_01"; + count=24; + ammoLeft=100; + }; + }; + class ItemCargo + { + items=1; + class Item0 + { + name="vn_b_item_firstaidkit"; + count=8; + }; + }; + }; + class vest + { + typeName="vn_b_vest_usarmy_03"; + isBackpack=0; + class MagazineCargo + { + items=1; + class Item0 + { + name="vn_m61_grenade_mag"; + count=9; + ammoLeft=1; + }; + }; + }; + class backpack + { + typeName="vn_b_pack_03"; + isBackpack=1; + class MagazineCargo + { + items=6; + class Item0 + { + name="vn_m129_mag"; + count=5; + ammoLeft=1; + }; + class Item1 + { + name="vn_carbine_15_t_mag"; + count=12; + ammoLeft=15; + }; + class Item2 + { + name="vn_m34_grenade_mag"; + count=1; + ammoLeft=1; + }; + class Item3 + { + name="vn_m18_purple_mag"; + count=2; + ammoLeft=1; + }; + class Item4 + { + name="vn_m18_red_mag"; + count=2; + ammoLeft=1; + }; + class Item5 + { + name="vn_mine_m112_remote_mag"; + count=5; + ammoLeft=1; + }; + }; + class ItemCargo + { + items=2; + class Item0 + { + name="vn_b_item_firstaidkit"; + count=2; + }; + class Item1 + { + name="vn_b_item_trapkit"; + count=1; + }; + }; + }; + map="vn_b_item_map"; + compass="vn_b_item_compass"; + watch="vn_b_item_watch"; + radio="vn_b_item_radio_urc10"; + headgear="vn_b_boonie_02_02"; + }; + }; + id=1198; + type="vn_b_men_sf_06"; + class CustomAttributes { - class data + class Attribute0 { - class type + property="speaker"; + expression="_this setspeaker _value;"; + class Value { - type[]= + class data { - "BOOL" + singleType="STRING"; + value="Male02ENG"; }; }; - value=0; }; - }; - }; - nAttributes=1; - }; - }; - class Item166 - { - dataType="Object"; - class PositionInfo - { - position[]={14798.646,99.651787,6845.4141}; - angles[]={0,5.9750476,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - name="vn_mf_spiketeam_teleporter"; - disableSimulation=1; - }; - id=1042; - type="Land_vn_b_prop_mapstand_01"; - atlOffset=-0.0099945068; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data + class Attribute1 { - class type + property="pitch"; + expression="_this setpitch _value;"; + class Value { - type[]= + class data { - "BOOL" + singleType="SCALAR"; + value=1.04; }; }; - value=0; }; + nAttributes=2; }; }; - nAttributes=1; - }; - }; - class Item167 - { - dataType="Object"; - class PositionInfo - { - position[]={15817.455,15.081783,7109.834}; - angles[]={0,6.2162519,0}; }; - side="Empty"; - flags=4; class Attributes { - name="vn_mf_greenhornets_teleporter"; - disableSimulation=1; }; - id=1043; - type="Land_vn_b_prop_mapstand_01"; - atlOffset=0.030000687; - class CustomAttributes + id=1197; + }; + class Item194 + { + dataType="Group"; + side="West"; + class Entities { - class Attribute0 + items=1; + class Item0 { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value + dataType="Object"; + class PositionInfo { - class data + position[]={16339.556,74.511444,8137.0264}; + }; + side="West"; + flags=7; + class Attributes + { + isPlayable=1; + class Inventory { - class type + class primaryWeapon + { + name="vn_m1carbine"; + class primaryMuzzleMag + { + name="vn_carbine_15_mag"; + ammoLeft=15; + }; + }; + class secondaryWeapon { - type[]= + name="vn_m127"; + class primaryMuzzleMag { - "BOOL" + name="vn_m127_mag"; + ammoLeft=1; }; }; - value=0; + class handgun + { + name="vn_mx991"; + }; + class binocular + { + name="vn_m19_binocs_grey"; + }; + class uniform + { + typeName="vn_b_uniform_macv_01_02"; + isBackpack=0; + class MagazineCargo + { + items=1; + class Item0 + { + name="vn_prop_food_fresh_01"; + count=24; + ammoLeft=100; + }; + }; + class ItemCargo + { + items=1; + class Item0 + { + name="vn_b_item_firstaidkit"; + count=8; + }; + }; + }; + class vest + { + typeName="vn_b_vest_usarmy_03"; + isBackpack=0; + class MagazineCargo + { + items=1; + class Item0 + { + name="vn_m61_grenade_mag"; + count=9; + ammoLeft=1; + }; + }; + }; + class backpack + { + typeName="vn_b_pack_03"; + isBackpack=1; + class MagazineCargo + { + items=6; + class Item0 + { + name="vn_m129_mag"; + count=5; + ammoLeft=1; + }; + class Item1 + { + name="vn_carbine_15_t_mag"; + count=12; + ammoLeft=15; + }; + class Item2 + { + name="vn_m34_grenade_mag"; + count=1; + ammoLeft=1; + }; + class Item3 + { + name="vn_m18_purple_mag"; + count=2; + ammoLeft=1; + }; + class Item4 + { + name="vn_m18_red_mag"; + count=2; + ammoLeft=1; + }; + class Item5 + { + name="vn_mine_m112_remote_mag"; + count=5; + ammoLeft=1; + }; + }; + class ItemCargo + { + items=2; + class Item0 + { + name="vn_b_item_firstaidkit"; + count=2; + }; + class Item1 + { + name="vn_b_item_trapkit"; + count=1; + }; + }; + }; + map="vn_b_item_map"; + compass="vn_b_item_compass"; + watch="vn_b_item_watch"; + radio="vn_b_item_radio_urc10"; + headgear="vn_b_boonie_02_02"; }; }; - }; - nAttributes=1; - }; - }; - class Item168 - { - dataType="Object"; - class PositionInfo - { - position[]={17357.797,31.329626,5588.1143}; - angles[]={0.0039968039,3.4595916,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - name="vn_mf_acav_teleporter"; - disableSimulation=1; - }; - id=1044; - type="Land_vn_b_prop_mapstand_01"; - atlOffset=0.027843475; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value + id=1200; + type="vn_b_men_sf_06"; + class CustomAttributes { - class data + class Attribute0 + { + property="speaker"; + expression="_this setspeaker _value;"; + class Value + { + class data + { + singleType="STRING"; + value="Male02ENG"; + }; + }; + }; + class Attribute1 { - class type + property="pitch"; + expression="_this setpitch _value;"; + class Value { - type[]= + class data { - "BOOL" + singleType="SCALAR"; + value=1.04; }; }; - value=0; }; + nAttributes=2; }; }; - nAttributes=1; - }; - }; - class Item169 - { - dataType="Object"; - class PositionInfo - { - position[]={15759.07,17.718273,6907.3823}; - angles[]={0,6.2785382,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=1049; - type="vn_b_air_f4c_bmb"; - atlOffset=-0.15076733; - }; - class Item170 - { - dataType="Marker"; - position[]={14973.297,39.112999,13088.33}; - name="zone_hai_phong"; - text="HANOI DOCKS"; - markerType="ELLIPSE"; - type="ellipse"; - fillName="SolidBorder"; - a=-750; - b=-750; - drawBorder=1; - id=1054; - atlOffset=28.322435; - }; - class Item171 - { - dataType="Marker"; - position[]={12993.817,29.909,13367.482}; - name="hanoi_city"; - text="HANOI CITY"; - type="vn_flag_pavn"; - id=1055; - atlOffset=28.549; - }; - class Item172 - { - dataType="Marker"; - position[]={13955.089,-9.4029999,13025.628}; - name="connector_hanoi_docks_hanoi_city"; - text="Connector Hanoi Docks to Hanoi City"; - type="mil_arrow"; - angle=275.59799; - id=1056; - atlOffset=-16.331806; - }; - class Item173 - { - dataType="Marker"; - position[]={11719.252,-4.572,13670.408}; - name="connector_hanoi_city_gia_lam_airbase"; - text="Connector Hanoi City to Gia Lam Airbase"; - type="mil_arrow"; - angle=358.57498; - id=1057; - atlOffset=-16.291449; - }; - class Item174 - { - dataType="Marker"; - position[]={14138.702,2.783,14092.845}; - name="connector_hanoi_city_ha_long_navy_base"; - text="Connector Hanoi City to Ha Long Navy Base"; - type="mil_arrow"; - angle=323.58289; - id=1060; - atlOffset=-17.130596; - }; - class Item175 - { - dataType="Object"; - class PositionInfo - { - position[]={15922.03,16.996088,7107.522}; - angles[]={0,3.1275253,0}; }; - side="Empty"; - flags=4; class Attributes { - dynamicSimulation=1; }; - id=1087; - type="vn_b_wheeled_m54_ammo_airport"; - atlOffset=-0.011397362; + id=1199; }; - class Item176 + class Item195 { - dataType="Object"; - class PositionInfo + dataType="Group"; + side="West"; + class Entities { - position[]={15916.53,16.815769,7108.9531}; - angles[]={0,3.1044171,0}; + items=1; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={16338.158,74.511444,8137.6646}; + }; + side="West"; + flags=7; + class Attributes + { + isPlayable=1; + class Inventory + { + class primaryWeapon + { + name="vn_m1carbine"; + class primaryMuzzleMag + { + name="vn_carbine_15_mag"; + ammoLeft=15; + }; + }; + class secondaryWeapon + { + name="vn_m127"; + class primaryMuzzleMag + { + name="vn_m127_mag"; + ammoLeft=1; + }; + }; + class handgun + { + name="vn_mx991"; + }; + class binocular + { + name="vn_m19_binocs_grey"; + }; + class uniform + { + typeName="vn_b_uniform_macv_01_02"; + isBackpack=0; + class MagazineCargo + { + items=1; + class Item0 + { + name="vn_prop_food_fresh_01"; + count=24; + ammoLeft=100; + }; + }; + class ItemCargo + { + items=1; + class Item0 + { + name="vn_b_item_firstaidkit"; + count=8; + }; + }; + }; + class vest + { + typeName="vn_b_vest_usarmy_03"; + isBackpack=0; + class MagazineCargo + { + items=1; + class Item0 + { + name="vn_m61_grenade_mag"; + count=9; + ammoLeft=1; + }; + }; + }; + class backpack + { + typeName="vn_b_pack_03"; + isBackpack=1; + class MagazineCargo + { + items=6; + class Item0 + { + name="vn_m129_mag"; + count=5; + ammoLeft=1; + }; + class Item1 + { + name="vn_carbine_15_t_mag"; + count=12; + ammoLeft=15; + }; + class Item2 + { + name="vn_m34_grenade_mag"; + count=1; + ammoLeft=1; + }; + class Item3 + { + name="vn_m18_purple_mag"; + count=2; + ammoLeft=1; + }; + class Item4 + { + name="vn_m18_red_mag"; + count=2; + ammoLeft=1; + }; + class Item5 + { + name="vn_mine_m112_remote_mag"; + count=5; + ammoLeft=1; + }; + }; + class ItemCargo + { + items=2; + class Item0 + { + name="vn_b_item_firstaidkit"; + count=2; + }; + class Item1 + { + name="vn_b_item_trapkit"; + count=1; + }; + }; + }; + map="vn_b_item_map"; + compass="vn_b_item_compass"; + watch="vn_b_item_watch"; + radio="vn_b_item_radio_urc10"; + headgear="vn_b_boonie_02_02"; + }; + }; + id=1202; + type="vn_b_men_sf_06"; + class CustomAttributes + { + class Attribute0 + { + property="speaker"; + expression="_this setspeaker _value;"; + class Value + { + class data + { + singleType="STRING"; + value="Male02ENG"; + }; + }; + }; + class Attribute1 + { + property="pitch"; + expression="_this setpitch _value;"; + class Value + { + class data + { + singleType="SCALAR"; + value=1.04; + }; + }; + }; + nAttributes=2; + }; + }; }; - side="Empty"; - flags=4; class Attributes { - dynamicSimulation=1; }; - id=1088; - type="vn_b_wheeled_m54_repair_airport"; - atlOffset=9.5367432e-007; - }; - class Item177 - { - dataType="Marker"; - position[]={6982.377,175.717,16660.117}; - name="connector_mu_gia_pass_thud_ridge"; - text="Connector Mu Gia Pass to Thud Ridge"; - type="mil_arrow"; - angle=93.332962; - id=1094; - atlOffset=73.712914; - }; - class Item178 - { - dataType="Marker"; - position[]={13443.416,-154.19701,16672.596}; - name="connector_ha_long_navy_base_son_tay"; - text="Connector Ha Long Navy Base to Son Tay"; - type="mil_arrow"; - angle=307.66696; - id=1095; - atlOffset=-174.16701; - }; - class Item179 - { - dataType="Marker"; - position[]={10457.803,360.948,17289.457}; - name="connector_thud_ridge_son_tay"; - text="Connector Thud Ridge to Son Tay"; - type="mil_arrow"; - angle=72.564995; - id=1096; - atlOffset=73.713135; + id=1201; }; - class Item180 + class Item196 { - dataType="Object"; - class PositionInfo - { - position[]={15713.97,16.347357,6869.7808}; - angles[]={0,6.1005411,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=1098; - type="vn_us_komex_medium_01"; - class CustomAttributes + dataType="Group"; + side="West"; + class Entities { - class Attribute0 + items=1; + class Item0 { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value + dataType="Object"; + class PositionInfo { - class data + position[]={16336.845,74.511444,8138.0776}; + }; + side="West"; + flags=7; + class Attributes + { + isPlayable=1; + class Inventory { - class type + class primaryWeapon { - type[]= + name="vn_m1carbine"; + class primaryMuzzleMag { - "BOOL" + name="vn_carbine_15_mag"; + ammoLeft=15; }; }; - value=0; + class secondaryWeapon + { + name="vn_m127"; + class primaryMuzzleMag + { + name="vn_m127_mag"; + ammoLeft=1; + }; + }; + class handgun + { + name="vn_mx991"; + }; + class binocular + { + name="vn_m19_binocs_grey"; + }; + class uniform + { + typeName="vn_b_uniform_macv_01_02"; + isBackpack=0; + class MagazineCargo + { + items=1; + class Item0 + { + name="vn_prop_food_fresh_01"; + count=24; + ammoLeft=100; + }; + }; + class ItemCargo + { + items=1; + class Item0 + { + name="vn_b_item_firstaidkit"; + count=8; + }; + }; + }; + class vest + { + typeName="vn_b_vest_usarmy_03"; + isBackpack=0; + class MagazineCargo + { + items=1; + class Item0 + { + name="vn_m61_grenade_mag"; + count=9; + ammoLeft=1; + }; + }; + }; + class backpack + { + typeName="vn_b_pack_03"; + isBackpack=1; + class MagazineCargo + { + items=6; + class Item0 + { + name="vn_m129_mag"; + count=5; + ammoLeft=1; + }; + class Item1 + { + name="vn_carbine_15_t_mag"; + count=12; + ammoLeft=15; + }; + class Item2 + { + name="vn_m34_grenade_mag"; + count=1; + ammoLeft=1; + }; + class Item3 + { + name="vn_m18_purple_mag"; + count=2; + ammoLeft=1; + }; + class Item4 + { + name="vn_m18_red_mag"; + count=2; + ammoLeft=1; + }; + class Item5 + { + name="vn_mine_m112_remote_mag"; + count=5; + ammoLeft=1; + }; + }; + class ItemCargo + { + items=2; + class Item0 + { + name="vn_b_item_firstaidkit"; + count=2; + }; + class Item1 + { + name="vn_b_item_trapkit"; + count=1; + }; + }; + }; + map="vn_b_item_map"; + compass="vn_b_item_compass"; + watch="vn_b_item_watch"; + radio="vn_b_item_radio_urc10"; + headgear="vn_b_boonie_02_02"; }; }; - }; - nAttributes=1; - }; - }; - class Item181 - { - dataType="Object"; - class PositionInfo - { - position[]={15710.349,16.347357,6869.3921}; - angles[]={0,6.2683897,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=1099; - type="vn_us_komex_medium_02"; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value + id=1204; + type="vn_b_men_sf_06"; + class CustomAttributes { - class data + class Attribute0 { - class type + property="speaker"; + expression="_this setspeaker _value;"; + class Value { - type[]= + class data { - "BOOL" + singleType="STRING"; + value="Male02ENG"; + }; + }; + }; + class Attribute1 + { + property="pitch"; + expression="_this setpitch _value;"; + class Value + { + class data + { + singleType="SCALAR"; + value=1.04; }; }; - value=0; }; + nAttributes=2; }; }; - nAttributes=1; - }; - }; - class Item182 - { - dataType="Marker"; - position[]={2120.6531,34.069,3873.0161}; - name="dharma"; - text="DHARMA"; - type="vn_flag_cam01"; - id=1100; - atlOffset=-0.0002784729; - }; - class Item183 - { - dataType="Marker"; - position[]={2119.574,33.285,3873.5339}; - name="zone_dharma"; - text="Dharma"; - markerType="ELLIPSE"; - type="ellipse"; - fillName="SolidBorder"; - a=-500; - b=-500; - drawBorder=1; - id=1101; - atlOffset=-0.59264755; - }; - class Item184 - { - dataType="Marker"; - position[]={14665.714,423.04999,18328.361}; - name="ling_ho"; - text="LING HO"; - type="vn_flag_pavn"; - id=1102; - atlOffset=418.00479; - }; - class Item185 - { - dataType="Marker"; - position[]={14665.378,419.78699,18328.107}; - name="zone_ling_ho"; - text="LING HO"; - markerType="ELLIPSE"; - type="ellipse"; - fillName="SolidBorder"; - a=-500; - b=-500; - drawBorder=1; - id=1103; - atlOffset=414.7352; - }; - class Item186 - { - dataType="Marker"; - position[]={6202.1909,23.231001,5057.2749}; - name="connector_phu_quoc_dharma"; - text="Connector Phu Quoc to Dharma"; - type="mil_arrow"; - angle=243.0829; - id=1104; - atlOffset=15.832047; - }; - class Item187 - { - dataType="Marker"; - position[]={3088.761,37.622002,7747.1592}; - name="connector_sihanoukville_dharma"; - text="Connector Sihanookville to Dharma"; - type="mil_arrow"; - angle=178.47701; - id=1105; - atlOffset=16.517523; - }; - class Item188 - { - dataType="Marker"; - position[]={2449.7327,38.793945,4289.4194}; - name="connector_dharma_sihanoukville"; - text="Connector Dharma to Sihanoukville"; - type="mil_arrow"; - angle=4.3219981; - id=1106; - atlOffset=22.422318; - }; - class Item189 - { - dataType="Marker"; - position[]={14777.165,242.952,9595.6221}; - name="zone_fob_mai_loc"; - text="FOB MAI LOC"; - markerType="ELLIPSE"; - type="ellipse"; - fillName="SolidBorder"; - a=-500; - b=-500; - drawBorder=1; - id=1108; - atlOffset=-1.1954651; - }; - class Item190 - { - dataType="Marker"; - position[]={16742.369,41.318001,9526.5039}; - name="connector_hue_fob_mai_loc"; - text="Connector Hue to FOB Mai Loc"; - type="mil_arrow"; - angle=270.99393; - id=1111; - atlOffset=31.655157; - }; - class Item191 - { - dataType="Marker"; - position[]={19635.82,19.599001,6783.3667}; - name="zone_da_nang"; - text="BAN HOANG"; - markerType="ELLIPSE"; - type="ellipse"; - fillName="SolidBorder"; - a=-500; - b=-500; - drawBorder=1; - id=1112; - atlOffset=14.566813; - }; - class Item192 - { - dataType="Marker"; - position[]={19200.334,18.409,6431.313}; - name="connector_ban_hoang_da_nang"; - text="Connector Ban Hoang to Da Nang"; - type="mil_arrow"; - angle=54.939995; - id=1113; - atlOffset=-14.728889; - }; - class Item193 - { - dataType="Marker"; - position[]={3997.271,39.400002,10169.735}; - name="san_bay_ban"; - text="SAN BAY BAN"; - type="vn_flag_cam01"; - id=1114; - }; - class Item194 - { - dataType="Marker"; - position[]={3996.1909,39.400002,10170.253}; - name="zone_san_bay_ban"; - text="SAN BAY BAN AIRFIELD"; - markerType="ELLIPSE"; - type="ellipse"; - fillName="SolidBorder"; - a=-500; - b=-500; - drawBorder=1; - id=1115; - }; - class Item195 - { - dataType="Marker"; - position[]={3491.9951,23.462999,9530.1162}; - name="connector_sihanoukville_san_bay_ban"; - text="Connector Sihanookville to San Bay Ban"; - type="mil_arrow"; - angle=32.117981; - id=1116; - atlOffset=-8.8924351; - }; - class Item196 - { - dataType="Marker"; - position[]={5148.083,127.97,9777.2578}; - name="connector_lumphat_san_bay_ban"; - text="Connector Lumphat to San Bay Ban"; - type="mil_arrow"; - angle=342.30591; - id=1117; - atlOffset=22.422401; - }; - class Item197 - { - dataType="Marker"; - position[]={13767.121,-154.19701,17454.795}; - name="connector_ling_ho"; - text="Connector Ling Ho"; - type="mil_arrow"; - angle=28.375921; - id=1118; - atlOffset=-174.16701; - }; - class Item198 - { - dataType="Marker"; - position[]={17363.574,49.911869,5588.3711}; - name="arsenal_acav"; - text="@STR_vn_mf_arsenal"; - type="mil_dot"; - colorName="ColorPink"; - id=1120; - atlOffset=18.693541; - }; - class Item199 - { - dataType="Marker"; - position[]={15825.741,14.97998,7108.7227}; - name="arsenal_greenhornets"; - text="@STR_vn_mf_arsenal"; - type="mil_dot"; - colorName="ColorPink"; - id=1121; - atlOffset=-1.9073486e-005; - }; - class Item200 - { - dataType="Marker"; - position[]={16328.838,93.203552,8116.0552}; - name="arsenal_mikeforce"; - text="@STR_vn_mf_arsenal"; - type="mil_dot"; - colorName="ColorPink"; - id=1122; - atlOffset=18.69355; - }; - class Item201 - { - dataType="Marker"; - position[]={14793.342,118.28354,6837.6685}; - name="arsenal_spiketeam"; - text="@STR_vn_mf_arsenal"; - type="mil_dot"; - colorName="ColorPink"; - id=1123; - atlOffset=18.693542; + }; + class Attributes + { + }; + id=1203; }; - class Item202 + class Item197 { - dataType="Logic"; - class PositionInfo + dataType="Group"; + side="West"; + class Entities { - position[]={16365.989,74.510002,8091.002}; + items=1; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={16335.457,74.511444,8138.7783}; + }; + side="West"; + flags=7; + class Attributes + { + isPlayable=1; + class Inventory + { + class primaryWeapon + { + name="vn_m1carbine"; + class primaryMuzzleMag + { + name="vn_carbine_15_mag"; + ammoLeft=15; + }; + }; + class secondaryWeapon + { + name="vn_m127"; + class primaryMuzzleMag + { + name="vn_m127_mag"; + ammoLeft=1; + }; + }; + class handgun + { + name="vn_mx991"; + }; + class binocular + { + name="vn_m19_binocs_grey"; + }; + class uniform + { + typeName="vn_b_uniform_macv_01_02"; + isBackpack=0; + class MagazineCargo + { + items=1; + class Item0 + { + name="vn_prop_food_fresh_01"; + count=24; + ammoLeft=100; + }; + }; + class ItemCargo + { + items=1; + class Item0 + { + name="vn_b_item_firstaidkit"; + count=8; + }; + }; + }; + class vest + { + typeName="vn_b_vest_usarmy_03"; + isBackpack=0; + class MagazineCargo + { + items=1; + class Item0 + { + name="vn_m61_grenade_mag"; + count=9; + ammoLeft=1; + }; + }; + }; + class backpack + { + typeName="vn_b_pack_03"; + isBackpack=1; + class MagazineCargo + { + items=6; + class Item0 + { + name="vn_m129_mag"; + count=5; + ammoLeft=1; + }; + class Item1 + { + name="vn_carbine_15_t_mag"; + count=12; + ammoLeft=15; + }; + class Item2 + { + name="vn_m34_grenade_mag"; + count=1; + ammoLeft=1; + }; + class Item3 + { + name="vn_m18_purple_mag"; + count=2; + ammoLeft=1; + }; + class Item4 + { + name="vn_m18_red_mag"; + count=2; + ammoLeft=1; + }; + class Item5 + { + name="vn_mine_m112_remote_mag"; + count=5; + ammoLeft=1; + }; + }; + class ItemCargo + { + items=2; + class Item0 + { + name="vn_b_item_firstaidkit"; + count=2; + }; + class Item1 + { + name="vn_b_item_trapkit"; + count=1; + }; + }; + }; + map="vn_b_item_map"; + compass="vn_b_item_compass"; + watch="vn_b_item_watch"; + radio="vn_b_item_radio_urc10"; + headgear="vn_b_boonie_02_02"; + }; + }; + id=1206; + type="vn_b_men_sf_06"; + class CustomAttributes + { + class Attribute0 + { + property="speaker"; + expression="_this setspeaker _value;"; + class Value + { + class data + { + singleType="STRING"; + value="Male02ENG"; + }; + }; + }; + class Attribute1 + { + property="pitch"; + expression="_this setpitch _value;"; + class Value + { + class data + { + singleType="SCALAR"; + value=1.04; + }; + }; + }; + nAttributes=2; + }; + }; }; - name="hc1"; - isPlayable=1; - id=1124; - type="HeadlessClient_F"; + class Attributes + { + }; + id=1205; }; - class Item203 + class Item198 { - dataType="Logic"; - class PositionInfo + dataType="Group"; + side="West"; + class Entities { - position[]={16368.808,74.510002,8089.0059}; + items=1; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={16334.325,74.511444,8139.2876}; + }; + side="West"; + flags=7; + class Attributes + { + isPlayable=1; + class Inventory + { + class primaryWeapon + { + name="vn_m1carbine"; + class primaryMuzzleMag + { + name="vn_carbine_15_mag"; + ammoLeft=15; + }; + }; + class secondaryWeapon + { + name="vn_m127"; + class primaryMuzzleMag + { + name="vn_m127_mag"; + ammoLeft=1; + }; + }; + class handgun + { + name="vn_mx991"; + }; + class binocular + { + name="vn_m19_binocs_grey"; + }; + class uniform + { + typeName="vn_b_uniform_macv_01_02"; + isBackpack=0; + class MagazineCargo + { + items=1; + class Item0 + { + name="vn_prop_food_fresh_01"; + count=24; + ammoLeft=100; + }; + }; + class ItemCargo + { + items=1; + class Item0 + { + name="vn_b_item_firstaidkit"; + count=8; + }; + }; + }; + class vest + { + typeName="vn_b_vest_usarmy_03"; + isBackpack=0; + class MagazineCargo + { + items=1; + class Item0 + { + name="vn_m61_grenade_mag"; + count=9; + ammoLeft=1; + }; + }; + }; + class backpack + { + typeName="vn_b_pack_03"; + isBackpack=1; + class MagazineCargo + { + items=6; + class Item0 + { + name="vn_m129_mag"; + count=5; + ammoLeft=1; + }; + class Item1 + { + name="vn_carbine_15_t_mag"; + count=12; + ammoLeft=15; + }; + class Item2 + { + name="vn_m34_grenade_mag"; + count=1; + ammoLeft=1; + }; + class Item3 + { + name="vn_m18_purple_mag"; + count=2; + ammoLeft=1; + }; + class Item4 + { + name="vn_m18_red_mag"; + count=2; + ammoLeft=1; + }; + class Item5 + { + name="vn_mine_m112_remote_mag"; + count=5; + ammoLeft=1; + }; + }; + class ItemCargo + { + items=2; + class Item0 + { + name="vn_b_item_firstaidkit"; + count=2; + }; + class Item1 + { + name="vn_b_item_trapkit"; + count=1; + }; + }; + }; + map="vn_b_item_map"; + compass="vn_b_item_compass"; + watch="vn_b_item_watch"; + radio="vn_b_item_radio_urc10"; + headgear="vn_b_boonie_02_02"; + }; + }; + id=1208; + type="vn_b_men_sf_06"; + class CustomAttributes + { + class Attribute0 + { + property="speaker"; + expression="_this setspeaker _value;"; + class Value + { + class data + { + singleType="STRING"; + value="Male02ENG"; + }; + }; + }; + class Attribute1 + { + property="pitch"; + expression="_this setpitch _value;"; + class Value + { + class data + { + singleType="SCALAR"; + value=1.04; + }; + }; + }; + nAttributes=2; + }; + }; }; - name="hc3"; - isPlayable=1; - id=1125; - type="HeadlessClient_F"; - }; - class Item204 - { - dataType="Logic"; - class PositionInfo + class Attributes { - position[]={16365.917,74.510002,8087.667}; }; - name="hc2"; - isPlayable=1; - id=1126; - type="HeadlessClient_F"; + id=1207; }; - class Item205 + class Item199 { dataType="Group"; side="West"; @@ -6364,7 +6142,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={16341.911,74.511444,8135.9072}; + position[]={16333.208,74.511444,8139.6392}; }; side="West"; flags=7; @@ -6504,7 +6282,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=1196; + id=1210; type="vn_b_men_sf_06"; class CustomAttributes { @@ -6516,13 +6294,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -6535,13 +6307,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -6553,9 +6319,9 @@ class Mission class Attributes { }; - id=1195; + id=1209; }; - class Item206 + class Item200 { dataType="Group"; side="West"; @@ -6567,7 +6333,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={16340.714,74.511444,8136.4839}; + position[]={16332.035,74.511444,8140.0737}; }; side="West"; flags=7; @@ -6707,7 +6473,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=1198; + id=1212; type="vn_b_men_sf_06"; class CustomAttributes { @@ -6719,13 +6485,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -6738,13 +6498,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -6756,9 +6510,9 @@ class Mission class Attributes { }; - id=1197; + id=1211; }; - class Item207 + class Item201 { dataType="Group"; side="West"; @@ -6770,7 +6524,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={16339.556,74.511444,8137.0264}; + position[]={16331.016,74.511444,8140.4604}; }; side="West"; flags=7; @@ -6910,7 +6664,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=1200; + id=1214; type="vn_b_men_sf_06"; class CustomAttributes { @@ -6922,13 +6676,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -6941,13 +6689,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -6959,9 +6701,9 @@ class Mission class Attributes { }; - id=1199; + id=1213; }; - class Item208 + class Item202 { dataType="Group"; side="West"; @@ -6973,7 +6715,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={16338.158,74.511444,8137.6646}; + position[]={16342.601,74.540443,8137.5093}; }; side="West"; flags=7; @@ -7113,8 +6855,9 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=1202; + id=1216; type="vn_b_men_sf_06"; + atlOffset=0.028999329; class CustomAttributes { class Attribute0 @@ -7125,13 +6868,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -7144,13 +6881,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -7162,9 +6893,10 @@ class Mission class Attributes { }; - id=1201; + id=1215; + atlOffset=0.028999329; }; - class Item209 + class Item203 { dataType="Group"; side="West"; @@ -7176,7 +6908,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={16336.845,74.511444,8138.0776}; + position[]={16341.403,74.540443,8138.0859}; }; side="West"; flags=7; @@ -7316,8 +7048,9 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=1204; + id=1218; type="vn_b_men_sf_06"; + atlOffset=0.028999329; class CustomAttributes { class Attribute0 @@ -7328,13 +7061,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -7347,13 +7074,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -7365,9 +7086,10 @@ class Mission class Attributes { }; - id=1203; + id=1217; + atlOffset=0.028999329; }; - class Item210 + class Item204 { dataType="Group"; side="West"; @@ -7379,7 +7101,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={16335.457,74.511444,8138.7783}; + position[]={16340.245,74.540443,8138.6284}; }; side="West"; flags=7; @@ -7519,8 +7241,9 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=1206; + id=1220; type="vn_b_men_sf_06"; + atlOffset=0.028999329; class CustomAttributes { class Attribute0 @@ -7531,13 +7254,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -7550,13 +7267,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -7568,9 +7279,10 @@ class Mission class Attributes { }; - id=1205; + id=1219; + atlOffset=0.028999329; }; - class Item211 + class Item205 { dataType="Group"; side="West"; @@ -7582,7 +7294,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={16334.325,74.511444,8139.2876}; + position[]={16338.848,74.540443,8139.2666}; }; side="West"; flags=7; @@ -7722,8 +7434,9 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=1208; + id=1222; type="vn_b_men_sf_06"; + atlOffset=0.028999329; class CustomAttributes { class Attribute0 @@ -7734,13 +7447,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -7753,13 +7460,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -7771,9 +7472,10 @@ class Mission class Attributes { }; - id=1207; + id=1221; + atlOffset=0.028999329; }; - class Item212 + class Item206 { dataType="Group"; side="West"; @@ -7785,7 +7487,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={16333.208,74.511444,8139.6392}; + position[]={16337.534,74.540443,8139.6797}; }; side="West"; flags=7; @@ -7925,8 +7627,9 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=1210; + id=1224; type="vn_b_men_sf_06"; + atlOffset=0.028999329; class CustomAttributes { class Attribute0 @@ -7937,13 +7640,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -7956,13 +7653,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -7974,9 +7665,10 @@ class Mission class Attributes { }; - id=1209; + id=1223; + atlOffset=0.028999329; }; - class Item213 + class Item207 { dataType="Group"; side="West"; @@ -7988,7 +7680,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={16332.035,74.511444,8140.0737}; + position[]={16336.146,74.511444,8140.3804}; }; side="West"; flags=7; @@ -8128,7 +7820,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=1212; + id=1226; type="vn_b_men_sf_06"; class CustomAttributes { @@ -8140,13 +7832,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -8159,13 +7845,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -8177,9 +7857,9 @@ class Mission class Attributes { }; - id=1211; + id=1225; }; - class Item214 + class Item208 { dataType="Group"; side="West"; @@ -8191,7 +7871,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={16331.016,74.511444,8140.4604}; + position[]={16335.015,74.511444,8140.8896}; }; side="West"; flags=7; @@ -8331,7 +8011,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=1214; + id=1228; type="vn_b_men_sf_06"; class CustomAttributes { @@ -8343,13 +8023,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -8362,13 +8036,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -8380,9 +8048,9 @@ class Mission class Attributes { }; - id=1213; + id=1227; }; - class Item215 + class Item209 { dataType="Group"; side="West"; @@ -8394,7 +8062,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={16342.601,74.540443,8137.5093}; + position[]={16333.897,74.511444,8141.2412}; }; side="West"; flags=7; @@ -8534,9 +8202,8 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=1216; + id=1230; type="vn_b_men_sf_06"; - atlOffset=0.028999329; class CustomAttributes { class Attribute0 @@ -8547,13 +8214,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -8566,13 +8227,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -8584,10 +8239,9 @@ class Mission class Attributes { }; - id=1215; - atlOffset=0.028999329; + id=1229; }; - class Item216 + class Item210 { dataType="Group"; side="West"; @@ -8599,7 +8253,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={16341.403,74.540443,8138.0859}; + position[]={16332.725,74.511444,8141.6758}; }; side="West"; flags=7; @@ -8739,9 +8393,8 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=1218; + id=1232; type="vn_b_men_sf_06"; - atlOffset=0.028999329; class CustomAttributes { class Attribute0 @@ -8752,13 +8405,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -8771,13 +8418,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -8789,10 +8430,9 @@ class Mission class Attributes { }; - id=1217; - atlOffset=0.028999329; + id=1231; }; - class Item217 + class Item211 { dataType="Group"; side="West"; @@ -8804,7 +8444,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={16340.245,74.540443,8138.6284}; + position[]={16331.705,74.511444,8142.0625}; }; side="West"; flags=7; @@ -8944,9 +8584,8 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=1220; + id=1234; type="vn_b_men_sf_06"; - atlOffset=0.028999329; class CustomAttributes { class Attribute0 @@ -8957,13 +8596,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -8976,13 +8609,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -8994,10 +8621,9 @@ class Mission class Attributes { }; - id=1219; - atlOffset=0.028999329; + id=1233; }; - class Item218 + class Item212 { dataType="Group"; side="West"; @@ -9009,7 +8635,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={16338.848,74.540443,8139.2666}; + position[]={16343.312,74.511444,8139.0127}; }; side="West"; flags=7; @@ -9149,9 +8775,8 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=1222; + id=1236; type="vn_b_men_sf_06"; - atlOffset=0.028999329; class CustomAttributes { class Attribute0 @@ -9162,13 +8787,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -9181,13 +8800,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -9199,10 +8812,9 @@ class Mission class Attributes { }; - id=1221; - atlOffset=0.028999329; + id=1235; }; - class Item219 + class Item213 { dataType="Group"; side="West"; @@ -9214,7 +8826,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={16337.534,74.540443,8139.6797}; + position[]={16342.114,74.511444,8139.5894}; }; side="West"; flags=7; @@ -9354,9 +8966,8 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=1224; + id=1238; type="vn_b_men_sf_06"; - atlOffset=0.028999329; class CustomAttributes { class Attribute0 @@ -9367,13 +8978,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -9386,13 +8991,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -9404,10 +9003,9 @@ class Mission class Attributes { }; - id=1223; - atlOffset=0.028999329; + id=1237; }; - class Item220 + class Item214 { dataType="Group"; side="West"; @@ -9419,7 +9017,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={16336.146,74.511444,8140.3804}; + position[]={16340.956,74.511444,8140.1318}; }; side="West"; flags=7; @@ -9559,7 +9157,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=1226; + id=1240; type="vn_b_men_sf_06"; class CustomAttributes { @@ -9571,13 +9169,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -9590,13 +9182,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -9608,9 +9194,9 @@ class Mission class Attributes { }; - id=1225; + id=1239; }; - class Item221 + class Item215 { dataType="Group"; side="West"; @@ -9622,7 +9208,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={16335.015,74.511444,8140.8896}; + position[]={16339.559,74.511444,8140.77}; }; side="West"; flags=7; @@ -9762,7 +9348,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=1228; + id=1242; type="vn_b_men_sf_06"; class CustomAttributes { @@ -9774,13 +9360,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -9793,13 +9373,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -9811,9 +9385,9 @@ class Mission class Attributes { }; - id=1227; + id=1241; }; - class Item222 + class Item216 { dataType="Group"; side="West"; @@ -9825,7 +9399,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={16333.897,74.511444,8141.2412}; + position[]={16338.245,74.511444,8141.1831}; }; side="West"; flags=7; @@ -9965,7 +9539,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=1230; + id=1244; type="vn_b_men_sf_06"; class CustomAttributes { @@ -9977,13 +9551,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -9996,13 +9564,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -10014,9 +9576,9 @@ class Mission class Attributes { }; - id=1229; + id=1243; }; - class Item223 + class Item217 { dataType="Group"; side="West"; @@ -10028,7 +9590,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={16332.725,74.511444,8141.6758}; + position[]={16336.857,74.511444,8141.8838}; }; side="West"; flags=7; @@ -10168,7 +9730,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=1232; + id=1246; type="vn_b_men_sf_06"; class CustomAttributes { @@ -10180,13 +9742,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -10199,13 +9755,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -10217,9 +9767,9 @@ class Mission class Attributes { }; - id=1231; + id=1245; }; - class Item224 + class Item218 { dataType="Group"; side="West"; @@ -10231,7 +9781,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={16331.705,74.511444,8142.0625}; + position[]={16335.726,74.511444,8142.3931}; }; side="West"; flags=7; @@ -10371,7 +9921,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=1234; + id=1248; type="vn_b_men_sf_06"; class CustomAttributes { @@ -10383,13 +9933,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -10402,13 +9946,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -10420,9 +9958,9 @@ class Mission class Attributes { }; - id=1233; + id=1247; }; - class Item225 + class Item219 { dataType="Group"; side="West"; @@ -10434,7 +9972,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={16343.312,74.511444,8139.0127}; + position[]={16334.608,74.511444,8142.7446}; }; side="West"; flags=7; @@ -10574,7 +10112,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=1236; + id=1250; type="vn_b_men_sf_06"; class CustomAttributes { @@ -10586,13 +10124,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -10605,13 +10137,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -10623,9 +10149,9 @@ class Mission class Attributes { }; - id=1235; + id=1249; }; - class Item226 + class Item220 { dataType="Group"; side="West"; @@ -10637,7 +10163,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={16342.114,74.511444,8139.5894}; + position[]={16333.436,74.511444,8143.1792}; }; side="West"; flags=7; @@ -10777,7 +10303,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=1238; + id=1252; type="vn_b_men_sf_06"; class CustomAttributes { @@ -10786,16 +10312,10 @@ class Mission property="speaker"; expression="_this setspeaker _value;"; class Value - { - class data - { - class type - { - type[]= - { - "STRING" - }; - }; + { + class data + { + singleType="STRING"; value="Male02ENG"; }; }; @@ -10808,13 +10328,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -10826,9 +10340,9 @@ class Mission class Attributes { }; - id=1237; + id=1251; }; - class Item227 + class Item221 { dataType="Group"; side="West"; @@ -10840,7 +10354,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={16340.956,74.511444,8140.1318}; + position[]={16332.416,74.511444,8143.5659}; }; side="West"; flags=7; @@ -10980,7 +10494,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=1240; + id=1254; type="vn_b_men_sf_06"; class CustomAttributes { @@ -10992,13 +10506,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -11011,13 +10519,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -11029,9 +10531,9 @@ class Mission class Attributes { }; - id=1239; + id=1253; }; - class Item228 + class Item222 { dataType="Group"; side="West"; @@ -11043,7 +10545,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={16339.559,74.511444,8140.77}; + position[]={16344.022,74.511444,8140.8188}; }; side="West"; flags=7; @@ -11183,7 +10685,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=1242; + id=1276; type="vn_b_men_sf_06"; class CustomAttributes { @@ -11195,13 +10697,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -11214,13 +10710,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -11232,9 +10722,9 @@ class Mission class Attributes { }; - id=1241; + id=1275; }; - class Item229 + class Item223 { dataType="Group"; side="West"; @@ -11246,7 +10736,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={16338.245,74.511444,8141.1831}; + position[]={16342.839,74.511444,8141.626}; }; side="West"; flags=7; @@ -11386,7 +10876,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=1244; + id=1278; type="vn_b_men_sf_06"; class CustomAttributes { @@ -11398,13 +10888,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -11417,13 +10901,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -11435,9 +10913,9 @@ class Mission class Attributes { }; - id=1243; + id=1277; }; - class Item230 + class Item224 { dataType="Group"; side="West"; @@ -11449,7 +10927,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={16336.857,74.511444,8141.8838}; + position[]={16341.697,74.511444,8142.103}; }; side="West"; flags=7; @@ -11589,7 +11067,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=1246; + id=1280; type="vn_b_men_sf_06"; class CustomAttributes { @@ -11601,13 +11079,7 @@ class Mission { class data { - class type - { - type[]= - { - "STRING" - }; - }; + singleType="STRING"; value="Male02ENG"; }; }; @@ -11620,13 +11092,7 @@ class Mission { class data { - class type - { - type[]= - { - "SCALAR" - }; - }; + singleType="SCALAR"; value=1.04; }; }; @@ -11638,9 +11104,9 @@ class Mission class Attributes { }; - id=1245; + id=1279; }; - class Item231 + class Item225 { dataType="Group"; side="West"; @@ -11652,7 +11118,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={16335.726,74.511444,8142.3931}; + position[]={16340.431,74.511444,8142.6782}; }; side="West"; flags=7; @@ -11792,7 +11258,7 @@ class Mission headgear="vn_b_boonie_02_02"; }; }; - id=1248; + id=1282; type="vn_b_men_sf_06"; class CustomAttributes { @@ -11802,1852 +11268,3504 @@ class Mission expression="_this setspeaker _value;"; class Value { - class data + class data + { + singleType="STRING"; + value="Male02ENG"; + }; + }; + }; + class Attribute1 + { + property="pitch"; + expression="_this setpitch _value;"; + class Value + { + class data + { + singleType="SCALAR"; + value=1.04; + }; + }; + }; + nAttributes=2; + }; + }; + }; + class Attributes + { + }; + id=1281; + }; + class Item226 + { + dataType="Object"; + class PositionInfo + { + position[]={16330.911,74.514389,8116.48}; + }; + side="Empty"; + flags=4; + class Attributes + { + name="arsenal_cleanup_0"; + disableSimulation=1; + }; + id=1291; + type="Land_vn_object_trashcan_01"; + }; + class Item227 + { + dataType="Object"; + class PositionInfo + { + position[]={15828.704,14.984387,7109.73}; + }; + side="Empty"; + flags=4; + class Attributes + { + name="arsenal_cleanup_1"; + disableSimulation=1; + }; + id=1292; + type="Land_vn_object_trashcan_01"; + }; + class Item228 + { + dataType="Object"; + class PositionInfo + { + position[]={14792.623,99.594383,6834.8247}; + }; + side="Empty"; + flags=4; + class Attributes + { + name="arsenal_cleanup_2"; + disableSimulation=1; + }; + id=1293; + type="Land_vn_object_trashcan_01"; + }; + class Item229 + { + dataType="Object"; + class PositionInfo + { + position[]={17364.816,31.21957,5587.6548}; + angles[]={0.0060001095,0.39179236,6.2771854}; + }; + side="Empty"; + flags=4; + class Attributes + { + name="arsenal_cleanup_3"; + disableSimulation=1; + }; + id=1294; + type="Land_vn_object_trashcan_01"; + atlOffset=1.1444092e-005; + }; + class Item230 + { + dataType="Layer"; + name="Vehicle spawn point"; + class Entities + { + items=13; + class Item0 + { + dataType="Layer"; + name="Light transport"; + class Entities + { + items=12; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={16358.217,75.576385,8186.3906}; + angles[]={0,3.4205775,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1322; + type="vn_signad_sponsors_f"; + atlOffset=2.2888184e-005; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item1 + { + dataType="Object"; + class PositionInfo + { + position[]={16361.027,75.568092,8182.0313}; + angles[]={0,0.23548152,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1323; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1; + }; + class Item2 + { + dataType="Logic"; + class PositionInfo + { + position[]={16358.652,74.510002,8183.4458}; + angles[]={0,2.8366139,0}; + }; + init="['light_transport', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1324; + type="Logic"; + }; + class Item3 + { + dataType="Object"; + class PositionInfo + { + position[]={16367.052,75.651497,8183.9297}; + angles[]={0,3.4205775,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1343; + type="vn_signad_sponsors_f"; + atlOffset=2.2888184e-005; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item4 + { + dataType="Object"; + class PositionInfo + { + position[]={16370.346,75.568092,8179.9326}; + angles[]={0,0.23548152,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1344; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1; + }; + class Item5 + { + dataType="Logic"; + class PositionInfo + { + position[]={16367.487,74.510002,8180.9849}; + angles[]={0,2.8366139,0}; + }; + init="['light_transport', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1345; + type="Logic"; + }; + class Item6 + { + dataType="Object"; + class PositionInfo + { + position[]={14794.494,100.74786,6823.9751}; + angles[]={0,4.9065495,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1349; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item7 + { + dataType="Object"; + class PositionInfo + { + position[]={14791.782,100.67662,6820.6816}; + angles[]={0,1.721453,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1350; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0000153; + }; + class Item8 + { + dataType="Logic"; + class PositionInfo + { + position[]={14791.597,99.615547,6823.292}; + angles[]={0,4.322587,0.016004669}; + }; + init="['light_transport', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1351; + type="Logic"; + }; + class Item9 + { + dataType="Object"; + class PositionInfo + { + position[]={14793.285,100.73147,6815.7817}; + angles[]={0,4.9065495,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1352; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 { - class type + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - type[]= + class data { - "STRING" + singleType="BOOL"; + value=0; }; }; - value="Male02ENG"; }; + nAttributes=1; }; }; - class Attribute1 + class Item10 { - property="pitch"; - expression="_this setpitch _value;"; - class Value + dataType="Object"; + class PositionInfo { - class data - { - class type - { - type[]= - { - "SCALAR" - }; - }; - value=1.04; - }; + position[]={14790.573,100.69747,6812.4883}; + angles[]={0,1.721453,0}; }; + side="Empty"; + class Attributes + { + }; + id=1353; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0000229; + }; + class Item11 + { + dataType="Logic"; + class PositionInfo + { + position[]={14790.388,99.589996,6815.0986}; + angles[]={0,4.322587,0}; + }; + init="['light_transport', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1354; + type="Logic"; }; - nAttributes=2; }; + id=1321; + atlOffset=-0.091178894; }; - }; - class Attributes - { - }; - id=1247; - }; - class Item232 - { - dataType="Group"; - side="West"; - class Entities - { - items=1; - class Item0 + class Item1 { - dataType="Object"; - class PositionInfo - { - position[]={16334.608,74.511444,8142.7446}; - }; - side="West"; - flags=7; - class Attributes + dataType="Layer"; + name="Patrol"; + class Entities { - isPlayable=1; - class Inventory + items=9; + class Item0 { - class primaryWeapon + dataType="Object"; + class PositionInfo { - name="vn_m1carbine"; - class primaryMuzzleMag - { - name="vn_carbine_15_mag"; - ammoLeft=15; - }; + position[]={14828.154,100.76102,6814.3252}; + angles[]={0,1.7253635,0}; }; - class secondaryWeapon + side="Empty"; + flags=5; + class Attributes { - name="vn_m127"; - class primaryMuzzleMag + disableSimulation=1; + }; + id=1355; + type="vn_signad_sponsors_f"; + atlOffset=1.5258789e-005; + class CustomAttributes + { + class Attribute0 { - name="vn_m127_mag"; - ammoLeft=1; + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; }; + nAttributes=1; }; - class handgun + }; + class Item1 + { + dataType="Object"; + class PositionInfo { - name="vn_mx991"; + position[]={14831.191,100.64809,6816.1084}; + angles[]={0,4.87673,0}; }; - class binocular + side="Empty"; + class Attributes { - name="vn_m19_binocs_grey"; }; - class uniform + id=1356; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1; + }; + class Item2 + { + dataType="Logic"; + class PositionInfo { - typeName="vn_b_uniform_macv_01_02"; - isBackpack=0; - class MagazineCargo - { - items=1; - class Item0 - { - name="vn_prop_food_fresh_01"; - count=24; - ammoLeft=100; - }; - }; - class ItemCargo - { - items=1; - class Item0 - { - name="vn_b_item_firstaidkit"; - count=8; - }; - }; + position[]={14830.621,99.590012,6814.9058}; + angles[]={0,1.1946797,0}; }; - class vest + init="['patrol', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1357; + type="Logic"; + atlOffset=1.5258789e-005; + }; + class Item3 + { + dataType="Object"; + class PositionInfo { - typeName="vn_b_vest_usarmy_03"; - isBackpack=0; - class MagazineCargo - { - items=1; - class Item0 - { - name="vn_m61_grenade_mag"; - count=9; - ammoLeft=1; - }; - }; + position[]={14829.161,100.7449,6819.7651}; + angles[]={0,1.7253635,0}; }; - class backpack + side="Empty"; + flags=5; + class Attributes { - typeName="vn_b_pack_03"; - isBackpack=1; - class MagazineCargo - { - items=6; - class Item0 - { - name="vn_m129_mag"; - count=5; - ammoLeft=1; - }; - class Item1 - { - name="vn_carbine_15_t_mag"; - count=12; - ammoLeft=15; - }; - class Item2 - { - name="vn_m34_grenade_mag"; - count=1; - ammoLeft=1; - }; - class Item3 - { - name="vn_m18_purple_mag"; - count=2; - ammoLeft=1; - }; - class Item4 - { - name="vn_m18_red_mag"; - count=2; - ammoLeft=1; - }; - class Item5 - { - name="vn_mine_m112_remote_mag"; - count=5; - ammoLeft=1; - }; - }; - class ItemCargo + disableSimulation=1; + }; + id=1362; + type="vn_signad_sponsors_f"; + atlOffset=1.5258789e-005; + class CustomAttributes + { + class Attribute0 { - items=2; - class Item0 - { - name="vn_b_item_firstaidkit"; - count=2; - }; - class Item1 + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - name="vn_b_item_trapkit"; - count=1; + class data + { + singleType="BOOL"; + value=0; + }; }; }; + nAttributes=1; }; - map="vn_b_item_map"; - compass="vn_b_item_compass"; - watch="vn_b_item_watch"; - radio="vn_b_item_radio_urc10"; - headgear="vn_b_boonie_02_02"; }; - }; - id=1250; - type="vn_b_men_sf_06"; - class CustomAttributes - { - class Attribute0 + class Item4 { - property="speaker"; - expression="_this setspeaker _value;"; - class Value + dataType="Object"; + class PositionInfo { - class data + position[]={14832.198,100.67287,6821.5488}; + angles[]={0,4.87673,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1363; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.99999237; + }; + class Item5 + { + dataType="Logic"; + class PositionInfo + { + position[]={14831.628,99.595551,6820.3457}; + angles[]={6.2671871,1.1946797,0}; + }; + init="['patrol', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1364; + type="Logic"; + atlOffset=1.5258789e-005; + }; + class Item6 + { + dataType="Object"; + class PositionInfo + { + position[]={14830.043,100.80989,6825.0566}; + angles[]={0,1.7253635,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1365; + type="vn_signad_sponsors_f"; + atlOffset=1.5258789e-005; + class CustomAttributes + { + class Attribute0 { - class type + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - type[]= + class data { - "STRING" + singleType="BOOL"; + value=0; }; }; - value="Male02ENG"; }; + nAttributes=1; }; }; - class Attribute1 + class Item7 { - property="pitch"; - expression="_this setpitch _value;"; - class Value + dataType="Object"; + class PositionInfo { - class data + position[]={14833.08,100.64937,6826.8403}; + angles[]={0,4.87673,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1366; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1; + }; + class Item8 + { + dataType="Logic"; + class PositionInfo + { + position[]={14832.51,99.619667,6825.6372}; + angles[]={0.015998369,1.1946797,6.2671871}; + }; + init="['patrol', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1367; + type="Logic"; + atlOffset=1.5258789e-005; + }; + }; + id=1368; + atlOffset=0.26900482; + }; + class Item2 + { + dataType="Layer"; + name="Airport utility"; + class Entities + { + items=10; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={15910.2,16.121468,7104.0703}; + angles[]={0,6.2730203,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1369; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 { - class type + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - type[]= + class data { - "SCALAR" + singleType="BOOL"; + value=0; }; }; - value=1.04; }; + nAttributes=1; }; }; - nAttributes=2; - }; - }; - }; - class Attributes - { - }; - id=1249; - }; - class Item233 - { - dataType="Group"; - side="West"; - class Entities - { - items=1; - class Item0 - { - dataType="Object"; - class PositionInfo - { - position[]={16333.436,74.511444,8143.1792}; - }; - side="West"; - flags=7; - class Attributes - { - isPlayable=1; - class Inventory + class Item1 { - class primaryWeapon + dataType="Object"; + class PositionInfo { - name="vn_m1carbine"; - class primaryMuzzleMag - { - name="vn_carbine_15_mag"; - ammoLeft=15; - }; + position[]={15907.943,16.03809,7106.7739}; + angles[]={0,3.1412013,0}; }; - class secondaryWeapon + side="Empty"; + class Attributes { - name="vn_m127"; - class primaryMuzzleMag - { - name="vn_m127_mag"; - ammoLeft=1; - }; }; - class handgun + id=1370; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.000001; + }; + class Item2 + { + dataType="Logic"; + class PositionInfo { - name="vn_mx991"; + position[]={15909.223,14.98,7106.4087}; + angles[]={0,5.7423425,0}; }; - class binocular + init="['utility_airport', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1371; + type="Logic"; + }; + class Item3 + { + dataType="Object"; + class PositionInfo { - name="vn_m19_binocs_grey"; + position[]={15921.988,16.121468,7104.1968}; + angles[]={0,6.2730203,0}; }; - class uniform + side="Empty"; + flags=5; + class Attributes { - typeName="vn_b_uniform_macv_01_02"; - isBackpack=0; - class MagazineCargo - { - items=1; - class Item0 - { - name="vn_prop_food_fresh_01"; - count=24; - ammoLeft=100; - }; - }; - class ItemCargo + disableSimulation=1; + }; + id=1376; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 { - items=1; - class Item0 + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - name="vn_b_item_firstaidkit"; - count=8; + class data + { + singleType="BOOL"; + value=0; + }; }; }; + nAttributes=1; }; - class vest + }; + class Item4 + { + dataType="Object"; + class PositionInfo { - typeName="vn_b_vest_usarmy_03"; - isBackpack=0; - class MagazineCargo + position[]={15919.731,16.03809,7106.9004}; + angles[]={0,3.1412013,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1377; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.000001; + }; + class Item5 + { + dataType="Logic"; + class PositionInfo + { + position[]={15921.011,14.98,7106.5352}; + angles[]={0,5.7423425,0}; + }; + init="['utility_airport', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1378; + type="Logic"; + }; + class Item6 + { + dataType="Object"; + class PositionInfo + { + position[]={16243.976,16.121468,7034.8594}; + angles[]={0,0.43778825,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1507; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 { - items=1; - class Item0 + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - name="vn_m61_grenade_mag"; - count=9; - ammoLeft=1; + class data + { + singleType="BOOL"; + value=0; + }; }; }; + nAttributes=1; }; - class backpack + }; + class Item7 + { + dataType="Object"; + class PositionInfo { - typeName="vn_b_pack_03"; - isBackpack=1; - class MagazineCargo + position[]={16243.112,16.03809,7038.2739}; + angles[]={0,3.589155,-0}; + }; + side="Empty"; + class Attributes + { + }; + id=1508; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.000001; + }; + class Item8 + { + dataType="Logic"; + class PositionInfo + { + position[]={16244.107,14.98,7037.3901}; + angles[]={-0,6.1902957,0}; + }; + init="['utility_airport', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1509; + type="Logic"; + }; + class Item9 + { + dataType="Layer"; + name="Large statics"; + class Entities + { + items=24; + class Item0 { - items=6; - class Item0 + dataType="Object"; + class PositionInfo { - name="vn_m129_mag"; - count=5; - ammoLeft=1; + position[]={17445.703,31.096918,5656.5903}; + angles[]={0,0.036181852,-0}; }; - class Item1 + side="Empty"; + flags=5; + class Attributes { - name="vn_carbine_15_t_mag"; - count=12; - ammoLeft=15; + disableSimulation=1; }; - class Item2 + id=1560; + type="vn_signad_sponsors_f"; + class CustomAttributes { - name="vn_m34_grenade_mag"; - count=1; - ammoLeft=1; + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - class Item3 + }; + class Item1 + { + dataType="Object"; + class PositionInfo { - name="vn_m18_purple_mag"; - count=2; - ammoLeft=1; + position[]={17442.654,31.060274,5658.6318}; + angles[]={0,3.187547,0}; }; - class Item4 + side="Empty"; + class Attributes { - name="vn_m18_red_mag"; - count=2; - ammoLeft=1; }; - class Item5 + id=1561; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1; + }; + class Item2 + { + dataType="Logic"; + class PositionInfo { - name="vn_mine_m112_remote_mag"; - count=5; - ammoLeft=1; + position[]={17444.258,29.992863,5658.6504}; + angles[]={6.2671871,5.7886953,6.2771854}; }; + init="['large_statics', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1562; + type="Logic"; }; - class ItemCargo + class Item3 { - items=2; - class Item0 + dataType="Object"; + class PositionInfo { - name="vn_b_item_firstaidkit"; - count=2; + position[]={17454.791,30.990601,5656.6128}; + angles[]={0,0.036181852,-0}; }; - class Item1 + side="Empty"; + flags=5; + class Attributes { - name="vn_b_item_trapkit"; - count=1; + disableSimulation=1; }; - }; - }; - map="vn_b_item_map"; - compass="vn_b_item_compass"; - watch="vn_b_item_watch"; - radio="vn_b_item_radio_urc10"; - headgear="vn_b_boonie_02_02"; - }; - }; - id=1252; - type="vn_b_men_sf_06"; - class CustomAttributes - { - class Attribute0 - { - property="speaker"; - expression="_this setspeaker _value;"; - class Value - { - class data - { - class type + id=1563; + type="vn_signad_sponsors_f"; + class CustomAttributes { - type[]= + class Attribute0 { - "STRING" + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; }; + nAttributes=1; }; - value="Male02ENG"; }; - }; - }; - class Attribute1 - { - property="pitch"; - expression="_this setpitch _value;"; - class Value - { - class data + class Item4 { - class type + dataType="Object"; + class PositionInfo { - type[]= - { - "SCALAR" - }; + position[]={17451.746,30.962296,5658.6548}; + angles[]={0,3.1875486,0}; }; - value=1.04; - }; - }; - }; - nAttributes=2; - }; - }; - }; - class Attributes - { - }; - id=1251; - }; - class Item234 - { - dataType="Group"; - side="West"; - class Entities - { - items=1; - class Item0 - { - dataType="Object"; - class PositionInfo - { - position[]={16332.416,74.511444,8143.5659}; - }; - side="West"; - flags=7; - class Attributes - { - isPlayable=1; - class Inventory - { - class primaryWeapon - { - name="vn_m1carbine"; - class primaryMuzzleMag - { - name="vn_carbine_15_mag"; - ammoLeft=15; - }; - }; - class secondaryWeapon - { - name="vn_m127"; - class primaryMuzzleMag - { - name="vn_m127_mag"; - ammoLeft=1; + side="Empty"; + class Attributes + { + }; + id=1564; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.99998665; }; - }; - class handgun - { - name="vn_mx991"; - }; - class binocular - { - name="vn_m19_binocs_grey"; - }; - class uniform - { - typeName="vn_b_uniform_macv_01_02"; - isBackpack=0; - class MagazineCargo + class Item5 { - items=1; - class Item0 + dataType="Logic"; + class PositionInfo { - name="vn_prop_food_fresh_01"; - count=24; - ammoLeft=100; + position[]={17453.346,29.901447,5658.6724}; + angles[]={6.259192,5.7887025,6.2812018}; }; + init="['large_statics', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1565; + type="Logic"; }; - class ItemCargo + class Item6 { - items=1; - class Item0 + dataType="Object"; + class PositionInfo + { + position[]={15788.944,16.03809,7092.4692}; + angles[]={0,4.779284,0}; + }; + side="Empty"; + class Attributes { - name="vn_b_item_firstaidkit"; - count=8; }; + id=1546; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.000001; }; - }; - class vest - { - typeName="vn_b_vest_usarmy_03"; - isBackpack=0; - class MagazineCargo + class Item7 { - items=1; - class Item0 + dataType="Object"; + class PositionInfo { - name="vn_m61_grenade_mag"; - count=9; - ammoLeft=1; + position[]={15788.73,16.03809,7083.5293}; + angles[]={0,4.779284,0}; }; - }; - }; - class backpack - { - typeName="vn_b_pack_03"; - isBackpack=1; - class MagazineCargo + side="Empty"; + class Attributes + { + }; + id=1549; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.000001; + }; + class Item8 { - items=6; - class Item0 + dataType="Object"; + class PositionInfo { - name="vn_m129_mag"; - count=5; - ammoLeft=1; + position[]={15788.07,16.03809,7070.3955}; + angles[]={0,4.779284,0}; }; - class Item1 + side="Empty"; + class Attributes { - name="vn_carbine_15_t_mag"; - count=12; - ammoLeft=15; }; - class Item2 + id=1552; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.000001; + }; + class Item9 + { + dataType="Object"; + class PositionInfo { - name="vn_m34_grenade_mag"; - count=1; - ammoLeft=1; + position[]={15787.902,16.03809,7061.3081}; + angles[]={0,4.779284,0}; }; - class Item3 + side="Empty"; + class Attributes { - name="vn_m18_purple_mag"; - count=2; - ammoLeft=1; }; - class Item4 + id=1555; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.000001; + }; + class Item10 + { + dataType="Object"; + class PositionInfo { - name="vn_m18_red_mag"; - count=2; - ammoLeft=1; + position[]={15787.688,16.03809,7052.3682}; + angles[]={0,4.779284,0}; }; - class Item5 + side="Empty"; + class Attributes { - name="vn_mine_m112_remote_mag"; - count=5; - ammoLeft=1; }; + id=1558; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.000001; }; - class ItemCargo + class Item11 { - items=2; - class Item0 + dataType="Object"; + class PositionInfo { - name="vn_b_item_firstaidkit"; - count=2; + position[]={15787.007,16.121468,7098.5537}; + angles[]={0,1.6279174,-0}; }; - class Item1 + side="Empty"; + flags=5; + class Attributes { - name="vn_b_item_trapkit"; - count=1; + disableSimulation=1; + }; + id=1542; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; }; - }; - map="vn_b_item_map"; - compass="vn_b_item_compass"; - watch="vn_b_item_watch"; - radio="vn_b_item_radio_urc10"; - headgear="vn_b_boonie_02_02"; - }; - }; - id=1254; - type="vn_b_men_sf_06"; - class CustomAttributes - { - class Attribute0 - { - property="speaker"; - expression="_this setspeaker _value;"; - class Value - { - class data + class Item12 { - class type + dataType="Object"; + class PositionInfo + { + position[]={15786.839,16.121468,7089.4663}; + angles[]={0,1.6279174,-0}; + }; + side="Empty"; + flags=5; + class Attributes { - type[]= + disableSimulation=1; + }; + id=1545; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 { - "STRING" + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; }; + nAttributes=1; }; - value="Male02ENG"; }; - }; - }; - class Attribute1 - { - property="pitch"; - expression="_this setpitch _value;"; - class Value - { - class data + class Item13 { - class type + dataType="Object"; + class PositionInfo + { + position[]={15786.625,16.121468,7080.5264}; + angles[]={0,1.6279174,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1548; + type="vn_signad_sponsors_f"; + class CustomAttributes { - type[]= + class Attribute0 { - "SCALAR" + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; }; + nAttributes=1; }; - value=1.04; }; - }; - }; - nAttributes=2; - }; - }; - }; - class Attributes - { - }; - id=1253; - }; - class Item235 - { - dataType="Group"; - side="West"; - class Entities - { - items=1; - class Item0 - { - dataType="Object"; - class PositionInfo - { - position[]={16344.022,74.511444,8140.8188}; - }; - side="West"; - flags=7; - class Attributes - { - isPlayable=1; - class Inventory - { - class primaryWeapon - { - name="vn_m1carbine"; - class primaryMuzzleMag + class Item14 { - name="vn_carbine_15_mag"; - ammoLeft=15; + dataType="Object"; + class PositionInfo + { + position[]={15785.965,16.121468,7067.3926}; + angles[]={0,1.6279174,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1551; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; - }; - class secondaryWeapon - { - name="vn_m127"; - class primaryMuzzleMag + class Item15 { - name="vn_m127_mag"; - ammoLeft=1; + dataType="Object"; + class PositionInfo + { + position[]={15785.797,16.121468,7058.3052}; + angles[]={0,1.6279174,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1554; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; - }; - class handgun - { - name="vn_mx991"; - }; - class binocular - { - name="vn_m19_binocs_grey"; - }; - class uniform - { - typeName="vn_b_uniform_macv_01_02"; - isBackpack=0; - class MagazineCargo + class Item16 { - items=1; - class Item0 + dataType="Object"; + class PositionInfo { - name="vn_prop_food_fresh_01"; - count=24; - ammoLeft=100; + position[]={15785.583,16.121468,7049.3652}; + angles[]={0,1.6279174,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1557; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; }; - class ItemCargo + class Item17 { - items=1; - class Item0 + dataType="Logic"; + class PositionInfo { - name="vn_b_item_firstaidkit"; - count=8; + position[]={15789.096,14.98,7099.9546}; + angles[]={-0,1.0972396,0}; }; + init="['large_statics', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1544; + type="Logic"; }; - }; - class vest - { - typeName="vn_b_vest_usarmy_03"; - isBackpack=0; - class MagazineCargo + class Item18 { - items=1; - class Item0 + dataType="Logic"; + class PositionInfo { - name="vn_m61_grenade_mag"; - count=9; - ammoLeft=1; + position[]={15788.928,14.98,7090.8672}; + angles[]={-0,1.0972396,0}; }; + init="['large_statics', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1547; + type="Logic"; }; - }; - class backpack - { - typeName="vn_b_pack_03"; - isBackpack=1; - class MagazineCargo + class Item19 { - items=6; - class Item0 + dataType="Logic"; + class PositionInfo { - name="vn_m129_mag"; - count=5; - ammoLeft=1; + position[]={15788.714,14.98,7081.9272}; + angles[]={-0,1.0972396,0}; }; - class Item1 + init="['large_statics', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1550; + type="Logic"; + }; + class Item20 + { + dataType="Logic"; + class PositionInfo { - name="vn_carbine_15_t_mag"; - count=12; - ammoLeft=15; + position[]={15788.054,14.98,7068.7935}; + angles[]={-0,1.0972396,0}; }; - class Item2 + init="['large_statics', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1553; + type="Logic"; + }; + class Item21 + { + dataType="Logic"; + class PositionInfo { - name="vn_m34_grenade_mag"; - count=1; - ammoLeft=1; + position[]={15787.886,14.98,7059.7061}; + angles[]={-0,1.0972396,0}; }; - class Item3 + init="['large_statics', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1556; + type="Logic"; + }; + class Item22 + { + dataType="Logic"; + class PositionInfo { - name="vn_m18_purple_mag"; - count=2; - ammoLeft=1; + position[]={15787.672,14.98,7050.7661}; + angles[]={-0,1.0972396,0}; }; - class Item4 + init="['large_statics', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1559; + type="Logic"; + }; + class Item23 + { + dataType="Object"; + class PositionInfo { - name="vn_m18_red_mag"; - count=2; - ammoLeft=1; + position[]={15789.112,16.03809,7101.5566}; + angles[]={0,4.779284,0}; }; - class Item5 + side="Empty"; + class Attributes { - name="vn_mine_m112_remote_mag"; - count=5; - ammoLeft=1; }; + id=1543; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.000001; }; - class ItemCargo + }; + id=1569; + atlOffset=0.50017738; + }; + }; + id=1379; + atlOffset=6.8650513; + }; + class Item3 + { + dataType="Layer"; + name="Airport transport"; + class Entities + { + items=9; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={15858.234,16.121468,7101.6196}; + angles[]={0,6.2730203,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1384; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 { - items=2; - class Item0 - { - name="vn_b_item_firstaidkit"; - count=2; - }; - class Item1 + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - name="vn_b_item_trapkit"; - count=1; + class data + { + singleType="BOOL"; + value=0; + }; }; }; + nAttributes=1; + }; + }; + class Item1 + { + dataType="Object"; + class PositionInfo + { + position[]={15855.641,16.03809,7104.2183}; + angles[]={0,3.1412013,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1385; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.000001; + }; + class Item2 + { + dataType="Logic"; + class PositionInfo + { + position[]={15857.257,14.98,7103.958}; + angles[]={0,5.7423425,0}; }; - map="vn_b_item_map"; - compass="vn_b_item_compass"; - watch="vn_b_item_watch"; - radio="vn_b_item_radio_urc10"; - headgear="vn_b_boonie_02_02"; + init="['transport_airport', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1386; + type="Logic"; }; - }; - id=1276; - type="vn_b_men_sf_06"; - class CustomAttributes - { - class Attribute0 + class Item3 { - property="speaker"; - expression="_this setspeaker _value;"; - class Value + dataType="Object"; + class PositionInfo { - class data + position[]={15871.026,16.121468,7101.5381}; + angles[]={0,6.2730203,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1387; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 { - class type + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - type[]= + class data { - "STRING" + singleType="BOOL"; + value=0; }; }; - value="Male02ENG"; }; + nAttributes=1; }; }; - class Attribute1 + class Item4 { - property="pitch"; - expression="_this setpitch _value;"; - class Value + dataType="Object"; + class PositionInfo { - class data + position[]={15868.569,16.03809,7104.1602}; + angles[]={0,3.1412013,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1388; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.000001; + }; + class Item5 + { + dataType="Logic"; + class PositionInfo + { + position[]={15870.049,14.98,7103.8765}; + angles[]={0,5.7423425,0}; + }; + init="['transport_airport', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1389; + type="Logic"; + }; + class Item6 + { + dataType="Object"; + class PositionInfo + { + position[]={15883.282,16.121468,7101.4028}; + angles[]={0,6.2730203,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1390; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 { - class type + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - type[]= + class data { - "SCALAR" + singleType="BOOL"; + value=0; }; }; - value=1.04; }; + nAttributes=1; }; }; - nAttributes=2; + class Item7 + { + dataType="Object"; + class PositionInfo + { + position[]={15880.825,16.03809,7104.0249}; + angles[]={0,3.1412013,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1391; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.000001; + }; + class Item8 + { + dataType="Logic"; + class PositionInfo + { + position[]={15882.305,14.98,7103.7412}; + angles[]={0,5.7423425,0}; + }; + init="['transport_airport', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1392; + type="Logic"; + }; }; + id=1393; + atlOffset=0.28515625; }; - }; - class Attributes - { - }; - id=1275; - }; - class Item236 - { - dataType="Group"; - side="West"; - class Entities - { - items=1; - class Item0 + class Item4 { - dataType="Object"; - class PositionInfo - { - position[]={16342.839,74.511444,8141.626}; - }; - side="West"; - flags=7; - class Attributes + dataType="Layer"; + name="Air fire support"; + class Entities { - isPlayable=1; - class Inventory + items=9; + class Item0 { - class primaryWeapon + dataType="Object"; + class PositionInfo { - name="vn_m1carbine"; - class primaryMuzzleMag - { - name="vn_carbine_15_mag"; - ammoLeft=15; - }; + position[]={16115.6,16.121468,7044.1919}; + angles[]={0,6.2730203,0}; }; - class secondaryWeapon + side="Empty"; + flags=5; + class Attributes { - name="vn_m127"; - class primaryMuzzleMag + disableSimulation=1; + }; + id=1422; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 { - name="vn_m127_mag"; - ammoLeft=1; + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; }; + nAttributes=1; }; - class handgun + }; + class Item1 + { + dataType="Logic"; + class PositionInfo { - name="vn_mx991"; + position[]={16112.055,14.98,7050.6499}; + angles[]={0,5.7423425,0}; }; - class binocular + init="['air_fire_support', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1423; + type="Logic"; + }; + class Item2 + { + dataType="Object"; + class PositionInfo { - name="vn_m19_binocs_grey"; + position[]={16104.999,16.03809,7055.5024}; + angles[]={0,3.1412013,0}; }; - class uniform + side="Empty"; + class Attributes { - typeName="vn_b_uniform_macv_01_02"; - isBackpack=0; - class MagazineCargo + }; + id=1424; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.000001; + }; + class Item3 + { + dataType="Object"; + class PositionInfo + { + position[]={16087.737,16.121468,7043.9204}; + angles[]={0,6.2730203,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1419; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 { - items=1; - class Item0 + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - name="vn_prop_food_fresh_01"; - count=24; - ammoLeft=100; + class data + { + singleType="BOOL"; + value=0; + }; }; }; - class ItemCargo + nAttributes=1; + }; + }; + class Item4 + { + dataType="Logic"; + class PositionInfo + { + position[]={16084.192,14.98,7050.3784}; + angles[]={0,5.7423425,0}; + }; + init="['air_fire_support', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1420; + type="Logic"; + }; + class Item5 + { + dataType="Object"; + class PositionInfo + { + position[]={16077.137,16.03809,7055.231}; + angles[]={0,3.1412013,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1421; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.000001; + }; + class Item6 + { + dataType="Object"; + class PositionInfo + { + position[]={16142.389,16.121468,7044.0532}; + angles[]={0,6.2730203,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1426; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 { - items=1; - class Item0 + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - name="vn_b_item_firstaidkit"; - count=8; + class data + { + singleType="BOOL"; + value=0; + }; }; }; + nAttributes=1; }; - class vest + }; + class Item7 + { + dataType="Logic"; + class PositionInfo { - typeName="vn_b_vest_usarmy_03"; - isBackpack=0; - class MagazineCargo + position[]={16138.844,14.98,7050.5112}; + angles[]={0,5.7423425,0}; + }; + init="['air_fire_support', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1427; + type="Logic"; + }; + class Item8 + { + dataType="Object"; + class PositionInfo + { + position[]={16131.788,16.03809,7055.3638}; + angles[]={0,3.1412013,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1428; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.000001; + }; + }; + id=1425; + atlOffset=0.5703125; + }; + class Item5 + { + dataType="Layer"; + name="Jets"; + class Entities + { + items=3; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={15753.193,16.121468,6912.6182}; + angles[]={0,3.1373792,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1442; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 { - items=1; - class Item0 + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - name="vn_m61_grenade_mag"; - count=9; - ammoLeft=1; + class data + { + singleType="BOOL"; + value=0; + }; }; }; + nAttributes=1; }; - class backpack + }; + class Item1 + { + dataType="Logic"; + class PositionInfo { - typeName="vn_b_pack_03"; - isBackpack=1; - class MagazineCargo + position[]={15751.975,14.98,6905.3428}; + angles[]={0,2.673286,0}; + }; + init="['jets', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1443; + type="Logic"; + }; + class Item2 + { + dataType="Object"; + class PositionInfo + { + position[]={15758.66,16.03809,6899.9917}; + angles[]={0,0.072149999,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1444; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.000001; + }; + }; + id=1445; + atlOffset=0.5; + }; + class Item6 + { + dataType="Layer"; + name="Scout helicopters"; + class Entities + { + items=9; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={15754.418,16.121468,7223.3101}; + angles[]={0,0.0058695637,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1446; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 { - items=6; - class Item0 - { - name="vn_m129_mag"; - count=5; - ammoLeft=1; - }; - class Item1 - { - name="vn_carbine_15_t_mag"; - count=12; - ammoLeft=15; - }; - class Item2 - { - name="vn_m34_grenade_mag"; - count=1; - ammoLeft=1; - }; - class Item3 + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - name="vn_m18_purple_mag"; - count=2; - ammoLeft=1; - }; - class Item4 - { - name="vn_m18_red_mag"; - count=2; - ammoLeft=1; + class data + { + singleType="BOOL"; + value=0; + }; }; - class Item5 + }; + nAttributes=1; + }; + }; + class Item1 + { + dataType="Logic"; + class PositionInfo + { + position[]={15754.271,14.98,7225.6099}; + angles[]={0,5.7662363,0}; + }; + init="['air_scout', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1447; + type="Logic"; + }; + class Item2 + { + dataType="Object"; + class PositionInfo + { + position[]={15747.333,16.03809,7230.6294}; + angles[]={0,3.1651006,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1448; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.000001; + }; + class Item3 + { + dataType="Object"; + class PositionInfo + { + position[]={15722.356,16.121468,7223.4868}; + angles[]={0,0.0058695637,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1449; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - name="vn_mine_m112_remote_mag"; - count=5; - ammoLeft=1; + class data + { + singleType="BOOL"; + value=0; + }; }; }; - class ItemCargo + nAttributes=1; + }; + }; + class Item4 + { + dataType="Logic"; + class PositionInfo + { + position[]={15722.209,14.98,7225.7866}; + angles[]={0,5.7662363,0}; + }; + init="['air_scout', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1450; + type="Logic"; + }; + class Item5 + { + dataType="Object"; + class PositionInfo + { + position[]={15715.271,16.03809,7230.8062}; + angles[]={0,3.1651006,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1451; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.000001; + }; + class Item6 + { + dataType="Object"; + class PositionInfo + { + position[]={15688.672,16.121468,7223.9653}; + angles[]={0,0.0058695637,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1452; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 { - items=2; - class Item0 - { - name="vn_b_item_firstaidkit"; - count=2; - }; - class Item1 + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - name="vn_b_item_trapkit"; - count=1; + class data + { + singleType="BOOL"; + value=0; + }; }; }; + nAttributes=1; }; - map="vn_b_item_map"; - compass="vn_b_item_compass"; - watch="vn_b_item_watch"; - radio="vn_b_item_radio_urc10"; - headgear="vn_b_boonie_02_02"; + }; + class Item7 + { + dataType="Logic"; + class PositionInfo + { + position[]={15688.524,14.98,7226.2651}; + angles[]={0,5.7662363,0}; + }; + init="['air_scout', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1453; + type="Logic"; + }; + class Item8 + { + dataType="Object"; + class PositionInfo + { + position[]={15681.587,16.03809,7231.2847}; + angles[]={0,3.1651006,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1454; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.000001; }; }; - id=1278; - type="vn_b_men_sf_06"; - class CustomAttributes + id=1455; + atlOffset=0.5703125; + }; + class Item7 + { + dataType="Layer"; + name="Air heavy fire support"; + class Entities { - class Attribute0 + items=6; + class Item0 { - property="speaker"; - expression="_this setspeaker _value;"; - class Value + dataType="Object"; + class PositionInfo { - class data + position[]={16215.896,16.121468,7048.0254}; + angles[]={0,0.45721254,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1435; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 { - class type + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - type[]= + class data { - "STRING" + singleType="BOOL"; + value=0; }; }; - value="Male02ENG"; }; + nAttributes=1; }; }; - class Attribute1 + class Item1 { - property="pitch"; - expression="_this setpitch _value;"; - class Value + dataType="Logic"; + class PositionInfo { - class data + position[]={16213.754,14.98,7053.125}; + angles[]={0,5.7423425,0}; + }; + init="['air_heavy_fire_support', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1436; + type="Logic"; + }; + class Item2 + { + dataType="Object"; + class PositionInfo + { + position[]={16208.366,16.03809,7054.9209}; + angles[]={0,3.6127036,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1437; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.97641945; + }; + class Item3 + { + dataType="Object"; + class PositionInfo + { + position[]={16232.39,16.121468,7040.0444}; + angles[]={0,0.45989269,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1439; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 { - class type + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - type[]= + class data { - "SCALAR" + singleType="BOOL"; + value=0; }; }; - value=1.04; }; + nAttributes=1; }; }; - nAttributes=2; + class Item4 + { + dataType="Logic"; + class PositionInfo + { + position[]={16231.907,14.98,7043.3979}; + angles[]={0,5.7423425,0}; + }; + init="['air_heavy_fire_support', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1440; + type="Logic"; + }; + class Item5 + { + dataType="Object"; + class PositionInfo + { + position[]={16226.422,16.03809,7045.4277}; + angles[]={0,3.6127036,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1441; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.000001; + }; }; + id=1438; + atlOffset=0.5625; }; - }; - class Attributes - { - }; - id=1277; - }; - class Item237 - { - dataType="Group"; - side="West"; - class Entities - { - items=1; - class Item0 + class Item8 { - dataType="Object"; - class PositionInfo - { - position[]={16341.697,74.511444,8142.103}; - }; - side="West"; - flags=7; - class Attributes + dataType="Layer"; + name="Air transport"; + class Entities { - isPlayable=1; - class Inventory + items=15; + class Item0 { - class primaryWeapon + dataType="Object"; + class PositionInfo { - name="vn_m1carbine"; - class primaryMuzzleMag - { - name="vn_carbine_15_mag"; - ammoLeft=15; - }; + position[]={15910.688,16.121468,7043.8936}; + angles[]={0,6.2730203,0}; }; - class secondaryWeapon + side="Empty"; + flags=5; + class Attributes { - name="vn_m127"; - class primaryMuzzleMag + disableSimulation=1; + }; + id=1394; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 { - name="vn_m127_mag"; - ammoLeft=1; + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; }; + nAttributes=1; }; - class handgun + }; + class Item1 + { + dataType="Logic"; + class PositionInfo { - name="vn_mx991"; + position[]={15907.143,14.98,7050.3516}; + angles[]={0,5.7423425,0}; }; - class binocular + init="['air_transport_all', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1396; + type="Logic"; + }; + class Item2 + { + dataType="Object"; + class PositionInfo { - name="vn_m19_binocs_grey"; + position[]={15900.087,16.03809,7055.2041}; + angles[]={0,3.1412013,0}; }; - class uniform + side="Empty"; + class Attributes { - typeName="vn_b_uniform_macv_01_02"; - isBackpack=0; - class MagazineCargo - { - items=1; - class Item0 - { - name="vn_prop_food_fresh_01"; - count=24; - ammoLeft=100; - }; - }; - class ItemCargo - { - items=1; - class Item0 - { - name="vn_b_item_firstaidkit"; - count=8; - }; - }; }; - class vest + id=1395; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.000001; + }; + class Item3 + { + dataType="Object"; + class PositionInfo { - typeName="vn_b_vest_usarmy_03"; - isBackpack=0; - class MagazineCargo - { - items=1; - class Item0 - { - name="vn_m61_grenade_mag"; - count=9; - ammoLeft=1; - }; - }; + position[]={15939.176,16.121468,7043.7827}; + angles[]={0,6.2730203,0}; }; - class backpack + side="Empty"; + flags=5; + class Attributes { - typeName="vn_b_pack_03"; - isBackpack=1; - class MagazineCargo + disableSimulation=1; + }; + id=1401; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 { - items=6; - class Item0 - { - name="vn_m129_mag"; - count=5; - ammoLeft=1; - }; - class Item1 - { - name="vn_carbine_15_t_mag"; - count=12; - ammoLeft=15; - }; - class Item2 - { - name="vn_m34_grenade_mag"; - count=1; - ammoLeft=1; - }; - class Item3 - { - name="vn_m18_purple_mag"; - count=2; - ammoLeft=1; - }; - class Item4 - { - name="vn_m18_red_mag"; - count=2; - ammoLeft=1; - }; - class Item5 + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - name="vn_mine_m112_remote_mag"; - count=5; - ammoLeft=1; + class data + { + singleType="BOOL"; + value=0; + }; }; }; - class ItemCargo + nAttributes=1; + }; + }; + class Item4 + { + dataType="Logic"; + class PositionInfo + { + position[]={15935.631,14.98,7050.2407}; + angles[]={0,5.7423425,0}; + }; + init="['air_transport_all', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1402; + type="Logic"; + }; + class Item5 + { + dataType="Object"; + class PositionInfo + { + position[]={15928.575,16.03809,7055.0933}; + angles[]={0,3.1412013,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1403; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.000001; + }; + class Item6 + { + dataType="Object"; + class PositionInfo + { + position[]={15967.301,16.121468,7043.749}; + angles[]={0,6.2730203,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1404; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 { - items=2; - class Item0 - { - name="vn_b_item_firstaidkit"; - count=2; - }; - class Item1 + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - name="vn_b_item_trapkit"; - count=1; + class data + { + singleType="BOOL"; + value=0; + }; }; }; + nAttributes=1; }; - map="vn_b_item_map"; - compass="vn_b_item_compass"; - watch="vn_b_item_watch"; - radio="vn_b_item_radio_urc10"; - headgear="vn_b_boonie_02_02"; }; - }; - id=1280; - type="vn_b_men_sf_06"; - class CustomAttributes - { - class Attribute0 + class Item7 { - property="speaker"; - expression="_this setspeaker _value;"; - class Value + dataType="Logic"; + class PositionInfo { - class data + position[]={15963.756,14.98,7050.207}; + angles[]={0,5.7423425,0}; + }; + init="['air_transport_all', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1405; + type="Logic"; + }; + class Item8 + { + dataType="Object"; + class PositionInfo + { + position[]={15956.7,16.03809,7055.0596}; + angles[]={0,3.1412013,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1406; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.000001; + }; + class Item9 + { + dataType="Object"; + class PositionInfo + { + position[]={15995.365,16.121468,7043.772}; + angles[]={0,6.2730203,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1407; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 { - class type + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - type[]= + class data { - "STRING" + singleType="BOOL"; + value=0; }; }; - value="Male02ENG"; }; + nAttributes=1; }; }; - class Attribute1 + class Item10 { - property="pitch"; - expression="_this setpitch _value;"; - class Value + dataType="Logic"; + class PositionInfo { - class data + position[]={15991.82,14.98,7050.23}; + angles[]={0,5.7423425,0}; + }; + init="['air_transport_all', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1408; + type="Logic"; + }; + class Item11 + { + dataType="Object"; + class PositionInfo + { + position[]={15984.765,16.03809,7055.0825}; + angles[]={0,3.1412013,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1409; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.000001; + }; + class Item12 + { + dataType="Object"; + class PositionInfo + { + position[]={16021.827,16.121468,7043.3071}; + angles[]={0,6.2730203,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1410; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 { - class type + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - type[]= + class data { - "SCALAR" + singleType="BOOL"; + value=0; }; }; - value=1.04; }; + nAttributes=1; }; }; - nAttributes=2; + class Item13 + { + dataType="Logic"; + class PositionInfo + { + position[]={16018.282,14.98,7049.7651}; + angles[]={0,5.7423425,0}; + }; + init="['air_transport_all', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1411; + type="Logic"; + }; + class Item14 + { + dataType="Object"; + class PositionInfo + { + position[]={16011.227,16.03809,7054.6177}; + angles[]={0,3.1412013,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1412; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.000001; + }; }; + id=1397; + atlOffset=0.57141113; }; - }; - class Attributes - { - }; - id=1279; - }; - class Item238 - { - dataType="Group"; - side="West"; - class Entities - { - items=1; - class Item0 + class Item9 { - dataType="Object"; - class PositionInfo - { - position[]={16340.431,74.511444,8142.6782}; - }; - side="West"; - flags=7; - class Attributes + dataType="Layer"; + name="Utility"; + class Entities { - isPlayable=1; - class Inventory + items=9; + class Item0 { - class primaryWeapon + dataType="Logic"; + class PositionInfo { - name="vn_m1carbine"; - class primaryMuzzleMag - { - name="vn_carbine_15_mag"; - ammoLeft=15; - }; + position[]={17417.02,30.239393,5653.8447}; + angles[]={6.2671871,5.7520981,6.2771854}; }; - class secondaryWeapon + init="['utility', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1457; + type="Logic"; + }; + class Item1 + { + dataType="Logic"; + class PositionInfo { - name="vn_m127"; - class primaryMuzzleMag - { - name="vn_m127_mag"; - ammoLeft=1; - }; + position[]={17425.078,30.135845,5653.9932}; + angles[]={6.259192,5.7520981,0}; }; - class handgun + init="['utility', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1461; + type="Logic"; + }; + class Item2 + { + dataType="Logic"; + class PositionInfo { - name="vn_mx991"; + position[]={17432.617,30.064178,5654.0645}; + angles[]={6.2631865,5.7520981,6.2651849}; }; - class binocular + init="['utility', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1464; + type="Logic"; + }; + class Item3 + { + dataType="Object"; + class PositionInfo { - name="vn_m19_binocs_grey"; + position[]={17417.936,31.332148,5651.2456}; + angles[]={0,6.2790446,0}; }; - class uniform + side="Empty"; + flags=5; + class Attributes { - typeName="vn_b_uniform_macv_01_02"; - isBackpack=0; - class MagazineCargo + disableSimulation=1; + }; + id=1456; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 { - items=1; - class Item0 + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - name="vn_prop_food_fresh_01"; - count=24; - ammoLeft=100; + class data + { + singleType="BOOL"; + value=0; + }; }; }; - class ItemCargo + nAttributes=1; + }; + }; + class Item4 + { + dataType="Object"; + class PositionInfo + { + position[]={17425.994,31.214926,5651.394}; + angles[]={0,6.2742324,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1460; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 { - items=1; - class Item0 + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - name="vn_b_item_firstaidkit"; - count=8; + class data + { + singleType="BOOL"; + value=0; + }; }; }; + nAttributes=1; }; - class vest + }; + class Item5 + { + dataType="Object"; + class PositionInfo { - typeName="vn_b_vest_usarmy_03"; - isBackpack=0; - class MagazineCargo + position[]={17433.533,31.137167,5651.4653}; + angles[]={0,6.2742324,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1463; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 { - items=1; - class Item0 + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - name="vn_m61_grenade_mag"; - count=9; - ammoLeft=1; + class data + { + singleType="BOOL"; + value=0; + }; }; }; + nAttributes=1; }; - class backpack + }; + class Item6 + { + dataType="Object"; + class PositionInfo { - typeName="vn_b_pack_03"; - isBackpack=1; - class MagazineCargo + position[]={17430.691,31.174986,5654.9658}; + angles[]={0,3.1266611,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1465; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0000401; + }; + class Item7 + { + dataType="Object"; + class PositionInfo + { + position[]={17423.152,31.245121,5654.8945}; + angles[]={0,3.1266611,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1462; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0000172; + }; + class Item8 + { + dataType="Object"; + class PositionInfo + { + position[]={17415.094,31.323154,5654.7461}; + angles[]={0,3.1266611,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1458; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0000114; + }; + }; + id=1466; + atlOffset=0.86192322; + }; + class Item10 + { + dataType="Layer"; + name="Heavy fire support"; + class Entities + { + items=6; + class Item0 + { + dataType="Logic"; + class PositionInfo + { + position[]={17395.266,30.376614,5654.6597}; + angles[]={6.2731905,4.1655254,0}; + }; + init="['heavy_fire_support', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1485; + type="Logic"; + atlOffset=1.335144e-005; + }; + class Item1 + { + dataType="Object"; + class PositionInfo + { + position[]={17397.85,31.502829,5655.6157}; + angles[]={0,4.6879821,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1486; + type="vn_signad_sponsors_f"; + atlOffset=1.1444092e-005; + class CustomAttributes + { + class Attribute0 { - items=6; - class Item0 - { - name="vn_m129_mag"; - count=5; - ammoLeft=1; - }; - class Item1 - { - name="vn_carbine_15_t_mag"; - count=12; - ammoLeft=15; - }; - class Item2 - { - name="vn_m34_grenade_mag"; - count=1; - ammoLeft=1; - }; - class Item3 + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - name="vn_m18_purple_mag"; - count=2; - ammoLeft=1; + class data + { + singleType="BOOL"; + value=0; + }; }; - class Item4 + }; + nAttributes=1; + }; + }; + class Item2 + { + dataType="Object"; + class PositionInfo + { + position[]={17392.506,31.413019,5650.5259}; + angles[]={0,1.5404111,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1487; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.99999237; + }; + class Item3 + { + dataType="Logic"; + class PositionInfo + { + position[]={17395.229,30.277618,5641.9023}; + angles[]={6.2791886,4.1655254,0}; + }; + init="['heavy_fire_support', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1488; + type="Logic"; + atlOffset=7.6293945e-006; + }; + class Item4 + { + dataType="Object"; + class PositionInfo + { + position[]={17397.813,31.420223,5642.8584}; + angles[]={0,4.6879821,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1489; + type="vn_signad_sponsors_f"; + atlOffset=3.8146973e-006; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - name="vn_m18_red_mag"; - count=2; - ammoLeft=1; + class data + { + singleType="BOOL"; + value=0; + }; }; - class Item5 + }; + nAttributes=1; + }; + }; + class Item5 + { + dataType="Object"; + class PositionInfo + { + position[]={17392.469,31.324818,5637.7686}; + angles[]={0,1.5404111,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1490; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.99999619; + }; + }; + id=1506; + atlOffset=0.5649929; + }; + class Item11 + { + dataType="Layer"; + name="Heavy transport"; + class Entities + { + items=15; + class Item0 + { + dataType="Logic"; + class PositionInfo + { + position[]={17459.629,28.99518,5616.9175}; + angles[]={6.2551923,1.0573525,6.2791886}; + }; + init="['transport_heavy', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1467; + type="Logic"; + }; + class Item1 + { + dataType="Object"; + class PositionInfo + { + position[]={17457.014,30.138269,5616.0483}; + angles[]={0,1.5798144,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1468; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - name="vn_mine_m112_remote_mag"; - count=5; - ammoLeft=1; + class data + { + singleType="BOOL"; + value=0; + }; }; }; - class ItemCargo + nAttributes=1; + }; + }; + class Item2 + { + dataType="Object"; + class PositionInfo + { + position[]={17460.564,30.096214,5618.8267}; + angles[]={0,4.7154288,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1469; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0000153; + }; + class Item3 + { + dataType="Logic"; + class PositionInfo + { + position[]={17459.791,29.19216,5624.0054}; + angles[]={6.2551923,1.0573525,0}; + }; + init="['transport_heavy', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1470; + type="Logic"; + }; + class Item4 + { + dataType="Object"; + class PositionInfo + { + position[]={17457.176,30.309292,5623.1362}; + angles[]={0,1.5798144,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1471; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 { - items=2; - class Item0 + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - name="vn_b_item_firstaidkit"; - count=2; - }; - class Item1 - { - name="vn_b_item_trapkit"; - count=1; + class data + { + singleType="BOOL"; + value=0; + }; }; }; + nAttributes=1; }; - map="vn_b_item_map"; - compass="vn_b_item_compass"; - watch="vn_b_item_watch"; - radio="vn_b_item_radio_urc10"; - headgear="vn_b_boonie_02_02"; }; - }; - id=1282; - type="vn_b_men_sf_06"; - class CustomAttributes - { - class Attribute0 + class Item5 { - property="speaker"; - expression="_this setspeaker _value;"; - class Value + dataType="Object"; + class PositionInfo { - class data + position[]={17460.727,30.282188,5625.9146}; + angles[]={0,4.7154288,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1472; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0000076; + }; + class Item6 + { + dataType="Logic"; + class PositionInfo + { + position[]={17459.854,29.310316,5630.834}; + angles[]={6.259192,1.0573525,6.2812018}; + }; + init="['transport_heavy', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1473; + type="Logic"; + atlOffset=-1.9073486e-006; + }; + class Item7 + { + dataType="Object"; + class PositionInfo + { + position[]={17457.238,30.453072,5629.9648}; + angles[]={0,1.5798144,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1474; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 { - class type + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - type[]= + class data { - "STRING" + singleType="BOOL"; + value=0; }; }; - value="Male02ENG"; }; + nAttributes=1; }; }; - class Attribute1 + class Item8 { - property="pitch"; - expression="_this setpitch _value;"; - class Value + dataType="Object"; + class PositionInfo { - class data + position[]={17460.789,30.410791,5632.7432}; + angles[]={0,4.7154288,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1475; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0000172; + }; + class Item9 + { + dataType="Logic"; + class PositionInfo + { + position[]={17459.932,29.478233,5638.0825}; + angles[]={6.2611909,1.0573525,6.2771854}; + }; + init="['transport_heavy', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1479; + type="Logic"; + }; + class Item10 + { + dataType="Object"; + class PositionInfo + { + position[]={17457.316,30.614391,5637.2134}; + angles[]={0,1.5798144,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1480; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 { - class type + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - type[]= + class data { - "SCALAR" + singleType="BOOL"; + value=0; }; }; - value=1.04; }; + nAttributes=1; }; }; - nAttributes=2; - }; - }; - }; - class Attributes - { - }; - id=1281; - }; - class Item239 - { - dataType="Object"; - class PositionInfo - { - position[]={16330.911,74.514389,8116.48}; - }; - side="Empty"; - flags=4; - class Attributes - { - name="arsenal_cleanup_0"; - disableSimulation=1; - }; - id=1291; - type="Land_vn_object_trashcan_01"; - }; - class Item240 - { - dataType="Object"; - class PositionInfo - { - position[]={15828.704,14.984387,7109.73}; - }; - side="Empty"; - flags=4; - class Attributes - { - name="arsenal_cleanup_1"; - disableSimulation=1; - }; - id=1292; - type="Land_vn_object_trashcan_01"; - }; - class Item241 - { - dataType="Object"; - class PositionInfo - { - position[]={14792.623,99.594383,6834.8247}; - }; - side="Empty"; - flags=4; - class Attributes - { - name="arsenal_cleanup_2"; - disableSimulation=1; - }; - id=1293; - type="Land_vn_object_trashcan_01"; - }; - class Item242 - { - dataType="Object"; - class PositionInfo - { - position[]={17364.816,31.21957,5587.6548}; - angles[]={0.0060001095,0.39179236,6.2771854}; - }; - side="Empty"; - flags=4; - class Attributes - { - name="arsenal_cleanup_3"; - disableSimulation=1; - }; - id=1294; - type="Land_vn_object_trashcan_01"; - atlOffset=1.1444092e-005; - }; - class Item243 - { - dataType="Object"; - class PositionInfo - { - position[]={16377.074,76.410423,8176.3516}; - angles[]={-0,6.2231326,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=1296; - type="vn_b_wheeled_m151_mg_06"; - }; - class Item244 - { - dataType="Object"; - class PositionInfo - { - position[]={16339.393,75.983559,8185.7163}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=1297; - type="vn_b_army_static_m40a1rr"; - }; - class Item245 - { - dataType="Object"; - class PositionInfo - { - position[]={16334.77,75.7976,8188.2588}; - angles[]={-0,0.21709289,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=1298; - type="vn_b_army_static_mk18"; - }; - class Item246 - { - dataType="Object"; - class PositionInfo - { - position[]={16344.383,75.706375,8186.1909}; - angles[]={0.0039967569,0,6.2791886}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=1299; - type="vn_b_army_static_m60_low"; - atlOffset=-1.5258789e-005; - }; - class Item247 - { - dataType="Object"; - class PositionInfo - { - position[]={17408.186,32.594994,5650.7749}; - angles[]={6.2791886,3.1717858,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=1302; - type="vn_b_armor_m113_01"; - atlOffset=-1.9073486e-006; - }; - class Item248 - { - dataType="Object"; - class PositionInfo - { - position[]={17438.49,32.282486,5648.9092}; - angles[]={6.259192,3.1834092,6.2812018}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=1303; - type="vn_b_armor_m113_acav_04"; - }; - class Item249 - { - dataType="Object"; - class PositionInfo - { - position[]={17432.133,32.328861,5649.3755}; - angles[]={6.2771854,3.183393,6.2631893}; - }; - side="Empty"; - flags=4; - class Attributes - { + class Item11 + { + dataType="Object"; + class PositionInfo + { + position[]={17460.867,30.560587,5639.9917}; + angles[]={0,4.7154288,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1481; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0000629; + }; + class Item12 + { + dataType="Logic"; + class PositionInfo + { + position[]={17459.914,29.627087,5645.3647}; + angles[]={6.2651882,1.0573525,6.2771854}; + }; + init="['transport_heavy', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1482; + type="Logic"; + atlOffset=3.8146973e-006; + }; + class Item13 + { + dataType="Object"; + class PositionInfo + { + position[]={17457.299,30.751389,5644.4956}; + angles[]={0,1.5798144,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1483; + type="vn_signad_sponsors_f"; + atlOffset=1.9073486e-006; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item14 + { + dataType="Object"; + class PositionInfo + { + position[]={17460.85,30.707134,5647.2739}; + angles[]={0,4.7154288,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1484; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0000057; + }; + }; + id=1504; + atlOffset=0.56132889; + }; + class Item12 + { + dataType="Layer"; + name="Light fire support"; + class Entities + { + items=12; + class Item0 + { + dataType="Logic"; + class PositionInfo + { + position[]={17390.85,29.956409,5616.6499}; + angles[]={6.2671909,2.5833392,0}; + }; + init="['light_fire_support', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1491; + type="Logic"; + atlOffset=1.335144e-005; + }; + class Item1 + { + dataType="Object"; + class PositionInfo + { + position[]={17389.863,31.140686,5619.2227}; + angles[]={0,3.141593,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1492; + type="vn_signad_sponsors_f"; + atlOffset=9.5367432e-006; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item2 + { + dataType="Object"; + class PositionInfo + { + position[]={17393.17,31.00139,5615.8306}; + angles[]={0,6.2414103,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1493; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0000114; + }; + class Item3 + { + dataType="Logic"; + class PositionInfo + { + position[]={17397.803,29.881916,5616.5986}; + angles[]={6.2711902,2.5833392,6.259192}; + }; + init="['light_fire_support', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1495; + type="Logic"; + }; + class Item4 + { + dataType="Object"; + class PositionInfo + { + position[]={17396.816,31.09177,5619.1714}; + angles[]={0,3.141593,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1496; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item5 + { + dataType="Object"; + class PositionInfo + { + position[]={17400.123,30.887383,5615.7793}; + angles[]={0,6.2414103,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1497; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0000153; + }; + class Item6 + { + dataType="Logic"; + class PositionInfo + { + position[]={17404.732,29.812765,5616.7979}; + angles[]={6.2611909,2.5833392,6.2711854}; + }; + init="['light_fire_support', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1498; + type="Logic"; + atlOffset=-1.9073486e-006; + }; + class Item7 + { + dataType="Object"; + class PositionInfo + { + position[]={17403.746,31.022667,5619.3706}; + angles[]={0,3.141593,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1499; + type="vn_signad_sponsors_f"; + atlOffset=-1.9073486e-006; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item8 + { + dataType="Object"; + class PositionInfo + { + position[]={17407.053,30.812693,5615.9785}; + angles[]={0,6.2414103,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1500; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0000381; + }; + class Item9 + { + dataType="Logic"; + class PositionInfo + { + position[]={17412.648,29.699993,5616.9907}; + angles[]={6.2571931,2.5833392,6.2711854}; + }; + init="['light_fire_support', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1501; + type="Logic"; + atlOffset=1.335144e-005; + }; + class Item10 + { + dataType="Object"; + class PositionInfo + { + position[]={17411.662,30.91773,5619.5635}; + angles[]={0,3.141593,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1502; + type="vn_signad_sponsors_f"; + atlOffset=1.1444092e-005; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item11 + { + dataType="Object"; + class PositionInfo + { + position[]={17414.969,30.70665,5616.1714}; + angles[]={0,6.2414103,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1503; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0000229; + }; + }; + id=1505; + atlOffset=0.57130432; + }; }; - id=1304; - type="vn_b_armor_m113_acav_02"; + id=1325; + atlOffset=-1.7864037; }; - class Item250 + class Item231 { dataType="Object"; class PositionInfo { - position[]={17426.354,32.369637,5650.2949}; - angles[]={6.259192,3.1834095,0}; + position[]={15957.263,14.98,7056.6465}; }; side="Empty"; flags=4; class Attributes { }; - id=1305; - type="vn_b_armor_m113_acav_01"; + id=629; + type="Land_vn_helipadcircle_f"; }; - class Item251 + class Item232 { dataType="Object"; class PositionInfo { - position[]={17420.066,32.50985,5650.3711}; - angles[]={6.2671871,3.1834123,6.2591896}; + position[]={16076.979,14.98,7057.2837}; }; side="Empty"; flags=4; class Attributes { }; - id=1306; - type="vn_b_armor_m113_acav_06"; + id=1416; + type="Land_vn_helipadcircle_f"; }; - class Item252 + class Item233 { dataType="Object"; class PositionInfo { - position[]={17413.953,32.522438,5650.2041}; - angles[]={-0,3.183393,6.2651882}; + position[]={16104.62,14.98,7057.5278}; }; side="Empty"; flags=4; class Attributes { }; - id=1307; - type="vn_b_armor_m113_acav_05"; - atlOffset=-1.9073486e-005; + id=1417; + type="Land_vn_helipadcircle_f"; }; - class Item253 + class Item234 { dataType="Object"; class PositionInfo { - position[]={17444.141,32.129013,5648.2603}; - angles[]={6.2691903,3.1834123,6.259192}; + position[]={16132.018,14.98,7057.396}; }; side="Empty"; flags=4; class Attributes { }; - id=1308; - type="vn_b_armor_m113_01"; - atlOffset=-1.9073486e-006; - }; - class Item254 - { - dataType="Object"; - class PositionInfo - { - position[]={15880.33,0.9875989,8064.7349}; - angles[]={0,6.1788201,-0}; - }; - side="Empty"; - class Attributes - { - }; - id=1309; - type="vn_b_boat_10_01"; - atlOffset=2.0763104; - }; - class Item255 - { - dataType="Object"; - class PositionInfo - { - position[]={15872.431,0.84079343,8065.6157}; - }; - side="Empty"; - class Attributes - { - }; - id=1310; - type="vn_b_boat_09_01"; - atlOffset=3.0702851; + id=1418; + type="Land_vn_helipadcircle_f"; }; - class Item256 + class Item235 { dataType="Object"; class PositionInfo { - position[]={15861.65,0.9042958,8065.4536}; + position[]={15796.783,14.98,7091.2783}; + angles[]={0,1.6206921,-0}; }; side="Empty"; + flags=5; class Attributes { + createAsLocalObject=1; + disableSimulation=1; }; - id=1311; - type="vn_b_boat_11_01"; - atlOffset=4.8747182; - }; - class Item257 - { - dataType="Object"; - class PositionInfo - { - position[]={15928.666,1.9519196,8069.9448}; - }; - side="Empty"; - class Attributes + id=1532; + type="Land_vn_usaf_revetment_8"; + class CustomAttributes { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=1312; - type="vn_b_boat_12_04"; - atlOffset=4.2859674; }; - class Item258 + class Item236 { dataType="Object"; class PositionInfo { - position[]={15928.78,1.7370588,8094.2422}; + position[]={15795.348,14.98,7063.332}; + angles[]={0,1.6206921,-0}; }; side="Empty"; + flags=5; class Attributes { + createAsLocalObject=1; + disableSimulation=1; }; - id=1314; - type="vn_b_boat_13_01"; - atlOffset=3.2705693; - }; - class Item259 - { - dataType="Object"; - class PositionInfo - { - position[]={15926.005,2.24682,8117.0825}; - angles[]={0,6.252326,0}; - }; - side="Empty"; - class Attributes + id=1539; + type="Land_vn_usaf_revetment_8"; + class CustomAttributes { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=1315; - type="vn_b_boat_06_01"; - atlOffset=6.2414389; }; - class Item260 + class Item237 { dataType="Object"; class PositionInfo { - position[]={14845.198,101.5474,6801.2261}; - angles[]={0.015998369,4.9233761,6.2671871}; + position[]={15794.461,14.98,7044.2764}; + angles[]={0,1.6057029,0}; }; side="Empty"; - flags=4; + flags=5; class Attributes { + createAsLocalObject=1; + disableSimulation=1; }; - id=1319; - type="vn_b_wheeled_m151_mg_06"; - atlOffset=-2.2888184e-005; - }; - class Item261 - { - dataType="Object"; - class PositionInfo - { - position[]={14843.667,101.44724,6795.7671}; - angles[]={-0,5.233212,0}; - }; - side="Empty"; - flags=4; - class Attributes + id=1570; + type="Land_vn_usaf_revetment_3"; + class CustomAttributes { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; }; - id=1320; - type="vn_b_wheeled_m151_mg_05"; }; }; class Connections { class LinkIDProvider { - nextID=90; + nextID=123; }; class Links { - items=90; + items=123; class Item0 { linkID=0; @@ -13681,8 +14799,8 @@ class Mission class Item3 { linkID=3; - item0=446; - item1=705; + item0=799; + item1=823; class CustomData { type="Sync"; @@ -13691,8 +14809,8 @@ class Mission class Item4 { linkID=4; - item0=459; - item1=705; + item0=805; + item1=823; class CustomData { type="Sync"; @@ -13701,8 +14819,8 @@ class Mission class Item5 { linkID=5; - item0=464; - item1=705; + item0=807; + item1=823; class CustomData { type="Sync"; @@ -13711,8 +14829,8 @@ class Mission class Item6 { linkID=6; - item0=460; - item1=705; + item0=809; + item1=823; class CustomData { type="Sync"; @@ -13721,8 +14839,8 @@ class Mission class Item7 { linkID=7; - item0=687; - item1=705; + item0=811; + item1=823; class CustomData { type="Sync"; @@ -13731,8 +14849,8 @@ class Mission class Item8 { linkID=8; - item0=688; - item1=705; + item0=813; + item1=823; class CustomData { type="Sync"; @@ -13741,8 +14859,8 @@ class Mission class Item9 { linkID=9; - item0=689; - item1=705; + item0=815; + item1=823; class CustomData { type="Sync"; @@ -13751,8 +14869,8 @@ class Mission class Item10 { linkID=10; - item0=440; - item1=705; + item0=817; + item1=823; class CustomData { type="Sync"; @@ -13761,8 +14879,8 @@ class Mission class Item11 { linkID=11; - item0=441; - item1=705; + item0=803; + item1=823; class CustomData { type="Sync"; @@ -13771,8 +14889,8 @@ class Mission class Item12 { linkID=12; - item0=461; - item1=705; + item0=806; + item1=823; class CustomData { type="Sync"; @@ -13781,8 +14899,8 @@ class Mission class Item13 { linkID=13; - item0=466; - item1=705; + item0=808; + item1=823; class CustomData { type="Sync"; @@ -13791,8 +14909,8 @@ class Mission class Item14 { linkID=14; - item0=467; - item1=705; + item0=810; + item1=823; class CustomData { type="Sync"; @@ -13801,8 +14919,8 @@ class Mission class Item15 { linkID=15; - item0=468; - item1=705; + item0=816; + item1=823; class CustomData { type="Sync"; @@ -13811,8 +14929,8 @@ class Mission class Item16 { linkID=16; - item0=469; - item1=705; + item0=818; + item1=823; class CustomData { type="Sync"; @@ -13821,8 +14939,8 @@ class Mission class Item17 { linkID=17; - item0=471; - item1=705; + item0=1001; + item1=823; class CustomData { type="Sync"; @@ -13831,8 +14949,8 @@ class Mission class Item18 { linkID=18; - item0=671; - item1=705; + item0=1000; + item1=823; class CustomData { type="Sync"; @@ -13841,8 +14959,8 @@ class Mission class Item19 { linkID=19; - item0=672; - item1=705; + item0=999; + item1=823; class CustomData { type="Sync"; @@ -13851,7 +14969,7 @@ class Mission class Item20 { linkID=20; - item0=799; + item0=1038; item1=823; class CustomData { @@ -13861,7 +14979,7 @@ class Mission class Item21 { linkID=21; - item0=805; + item0=1039; item1=823; class CustomData { @@ -13871,7 +14989,7 @@ class Mission class Item22 { linkID=22; - item0=807; + item0=1036; item1=823; class CustomData { @@ -13881,7 +14999,7 @@ class Mission class Item23 { linkID=23; - item0=809; + item0=1037; item1=823; class CustomData { @@ -13891,8 +15009,8 @@ class Mission class Item24 { linkID=24; - item0=811; - item1=823; + item0=264; + item1=279; class CustomData { type="Sync"; @@ -13901,8 +15019,8 @@ class Mission class Item25 { linkID=25; - item0=813; - item1=823; + item0=1323; + item1=1324; class CustomData { type="Sync"; @@ -13911,8 +15029,8 @@ class Mission class Item26 { linkID=26; - item0=815; - item1=823; + item0=1322; + item1=1324; class CustomData { type="Sync"; @@ -13921,8 +15039,8 @@ class Mission class Item27 { linkID=27; - item0=817; - item1=823; + item0=1344; + item1=1345; class CustomData { type="Sync"; @@ -13931,8 +15049,8 @@ class Mission class Item28 { linkID=28; - item0=803; - item1=823; + item0=1343; + item1=1345; class CustomData { type="Sync"; @@ -13941,8 +15059,8 @@ class Mission class Item29 { linkID=29; - item0=806; - item1=823; + item0=1350; + item1=1351; class CustomData { type="Sync"; @@ -13951,8 +15069,8 @@ class Mission class Item30 { linkID=30; - item0=808; - item1=823; + item0=1349; + item1=1351; class CustomData { type="Sync"; @@ -13961,8 +15079,8 @@ class Mission class Item31 { linkID=31; - item0=810; - item1=823; + item0=1353; + item1=1354; class CustomData { type="Sync"; @@ -13971,8 +15089,8 @@ class Mission class Item32 { linkID=32; - item0=816; - item1=823; + item0=1352; + item1=1354; class CustomData { type="Sync"; @@ -13981,8 +15099,8 @@ class Mission class Item33 { linkID=33; - item0=818; - item1=823; + item0=1356; + item1=1357; class CustomData { type="Sync"; @@ -13991,8 +15109,8 @@ class Mission class Item34 { linkID=34; - item0=830; - item1=705; + item0=1355; + item1=1357; class CustomData { type="Sync"; @@ -14001,8 +15119,8 @@ class Mission class Item35 { linkID=35; - item0=833; - item1=705; + item0=1363; + item1=1364; class CustomData { type="Sync"; @@ -14011,8 +15129,8 @@ class Mission class Item36 { linkID=36; - item0=837; - item1=705; + item0=1362; + item1=1364; class CustomData { type="Sync"; @@ -14021,8 +15139,8 @@ class Mission class Item37 { linkID=37; - item0=847; - item1=705; + item0=1366; + item1=1367; class CustomData { type="Sync"; @@ -14031,8 +15149,8 @@ class Mission class Item38 { linkID=38; - item0=1316; - item1=705; + item0=1365; + item1=1367; class CustomData { type="Sync"; @@ -14041,8 +15159,8 @@ class Mission class Item39 { linkID=39; - item0=863; - item1=705; + item0=1370; + item1=1371; class CustomData { type="Sync"; @@ -14051,8 +15169,8 @@ class Mission class Item40 { linkID=40; - item0=864; - item1=705; + item0=1369; + item1=1371; class CustomData { type="Sync"; @@ -14061,8 +15179,8 @@ class Mission class Item41 { linkID=41; - item0=866; - item1=705; + item0=1377; + item1=1378; class CustomData { type="Sync"; @@ -14071,8 +15189,8 @@ class Mission class Item42 { linkID=42; - item0=867; - item1=705; + item0=1376; + item1=1378; class CustomData { type="Sync"; @@ -14081,8 +15199,8 @@ class Mission class Item43 { linkID=43; - item0=869; - item1=705; + item0=1385; + item1=1386; class CustomData { type="Sync"; @@ -14091,8 +15209,8 @@ class Mission class Item44 { linkID=44; - item0=871; - item1=705; + item0=1384; + item1=1386; class CustomData { type="Sync"; @@ -14101,8 +15219,8 @@ class Mission class Item45 { linkID=45; - item0=872; - item1=705; + item0=1388; + item1=1389; class CustomData { type="Sync"; @@ -14111,8 +15229,8 @@ class Mission class Item46 { linkID=46; - item0=874; - item1=705; + item0=1387; + item1=1389; class CustomData { type="Sync"; @@ -14121,8 +15239,8 @@ class Mission class Item47 { linkID=47; - item0=996; - item1=705; + item0=1391; + item1=1392; class CustomData { type="Sync"; @@ -14131,8 +15249,8 @@ class Mission class Item48 { linkID=48; - item0=997; - item1=705; + item0=1390; + item1=1392; class CustomData { type="Sync"; @@ -14141,8 +15259,8 @@ class Mission class Item49 { linkID=49; - item0=998; - item1=705; + item0=1395; + item1=1396; class CustomData { type="Sync"; @@ -14151,8 +15269,8 @@ class Mission class Item50 { linkID=50; - item0=1001; - item1=823; + item0=1394; + item1=1396; class CustomData { type="Sync"; @@ -14161,8 +15279,8 @@ class Mission class Item51 { linkID=51; - item0=1000; - item1=823; + item0=1403; + item1=1402; class CustomData { type="Sync"; @@ -14171,8 +15289,8 @@ class Mission class Item52 { linkID=52; - item0=999; - item1=823; + item0=1401; + item1=1402; class CustomData { type="Sync"; @@ -14181,8 +15299,8 @@ class Mission class Item53 { linkID=53; - item0=1021; - item1=705; + item0=1406; + item1=1405; class CustomData { type="Sync"; @@ -14191,8 +15309,8 @@ class Mission class Item54 { linkID=54; - item0=1026; - item1=705; + item0=1404; + item1=1405; class CustomData { type="Sync"; @@ -14201,8 +15319,8 @@ class Mission class Item55 { linkID=55; - item0=1027; - item1=705; + item0=1409; + item1=1408; class CustomData { type="Sync"; @@ -14211,8 +15329,8 @@ class Mission class Item56 { linkID=56; - item0=1032; - item1=705; + item0=1407; + item1=1408; class CustomData { type="Sync"; @@ -14221,8 +15339,8 @@ class Mission class Item57 { linkID=57; - item0=1033; - item1=705; + item0=1412; + item1=1411; class CustomData { type="Sync"; @@ -14231,8 +15349,8 @@ class Mission class Item58 { linkID=58; - item0=1318; - item1=705; + item0=1410; + item1=1411; class CustomData { type="Sync"; @@ -14241,8 +15359,8 @@ class Mission class Item59 { linkID=59; - item0=1030; - item1=705; + item0=1421; + item1=1420; class CustomData { type="Sync"; @@ -14251,8 +15369,8 @@ class Mission class Item60 { linkID=60; - item0=1031; - item1=705; + item0=1419; + item1=1420; class CustomData { type="Sync"; @@ -14261,8 +15379,8 @@ class Mission class Item61 { linkID=61; - item0=1034; - item1=705; + item0=1424; + item1=1423; class CustomData { type="Sync"; @@ -14271,8 +15389,8 @@ class Mission class Item62 { linkID=62; - item0=1035; - item1=705; + item0=1422; + item1=1423; class CustomData { type="Sync"; @@ -14281,8 +15399,8 @@ class Mission class Item63 { linkID=63; - item0=1038; - item1=823; + item0=1428; + item1=1427; class CustomData { type="Sync"; @@ -14291,8 +15409,8 @@ class Mission class Item64 { linkID=64; - item0=1039; - item1=823; + item0=1426; + item1=1427; class CustomData { type="Sync"; @@ -14301,8 +15419,8 @@ class Mission class Item65 { linkID=65; - item0=1036; - item1=823; + item0=1437; + item1=1436; class CustomData { type="Sync"; @@ -14311,8 +15429,8 @@ class Mission class Item66 { linkID=66; - item0=1037; - item1=823; + item0=1435; + item1=1436; class CustomData { type="Sync"; @@ -14321,8 +15439,8 @@ class Mission class Item67 { linkID=67; - item0=1049; - item1=823; + item0=1441; + item1=1440; class CustomData { type="Sync"; @@ -14331,8 +15449,8 @@ class Mission class Item68 { linkID=68; - item0=1049; - item1=705; + item0=1439; + item1=1440; class CustomData { type="Sync"; @@ -14341,8 +15459,8 @@ class Mission class Item69 { linkID=69; - item0=1087; - item1=705; + item0=1444; + item1=1443; class CustomData { type="Sync"; @@ -14351,8 +15469,8 @@ class Mission class Item70 { linkID=70; - item0=1088; - item1=705; + item0=1442; + item1=1443; class CustomData { type="Sync"; @@ -14361,8 +15479,8 @@ class Mission class Item71 { linkID=71; - item0=838; - item1=705; + item0=1448; + item1=1447; class CustomData { type="Sync"; @@ -14371,8 +15489,8 @@ class Mission class Item72 { linkID=72; - item0=264; - item1=279; + item0=1446; + item1=1447; class CustomData { type="Sync"; @@ -14381,8 +15499,8 @@ class Mission class Item73 { linkID=73; - item0=836; - item1=705; + item0=1451; + item1=1450; class CustomData { type="Sync"; @@ -14391,8 +15509,8 @@ class Mission class Item74 { linkID=74; - item0=835; - item1=705; + item0=1449; + item1=1450; class CustomData { type="Sync"; @@ -14401,8 +15519,8 @@ class Mission class Item75 { linkID=75; - item0=1296; - item1=705; + item0=1454; + item1=1453; class CustomData { type="Sync"; @@ -14411,8 +15529,8 @@ class Mission class Item76 { linkID=76; - item0=1302; - item1=705; + item0=1452; + item1=1453; class CustomData { type="Sync"; @@ -14421,8 +15539,8 @@ class Mission class Item77 { linkID=77; - item0=1303; - item1=705; + item0=1458; + item1=1457; class CustomData { type="Sync"; @@ -14431,8 +15549,8 @@ class Mission class Item78 { linkID=78; - item0=1304; - item1=705; + item0=1456; + item1=1457; class CustomData { type="Sync"; @@ -14441,8 +15559,8 @@ class Mission class Item79 { linkID=79; - item0=1305; - item1=705; + item0=1462; + item1=1461; class CustomData { type="Sync"; @@ -14451,8 +15569,8 @@ class Mission class Item80 { linkID=80; - item0=1306; - item1=705; + item0=1460; + item1=1461; class CustomData { type="Sync"; @@ -14461,8 +15579,8 @@ class Mission class Item81 { linkID=81; - item0=1307; - item1=705; + item0=1465; + item1=1464; class CustomData { type="Sync"; @@ -14471,8 +15589,8 @@ class Mission class Item82 { linkID=82; - item0=1308; - item1=705; + item0=1463; + item1=1464; class CustomData { type="Sync"; @@ -14481,8 +15599,8 @@ class Mission class Item83 { linkID=83; - item0=1309; - item1=705; + item0=1469; + item1=1467; class CustomData { type="Sync"; @@ -14491,8 +15609,8 @@ class Mission class Item84 { linkID=84; - item0=1310; - item1=705; + item0=1468; + item1=1467; class CustomData { type="Sync"; @@ -14501,8 +15619,8 @@ class Mission class Item85 { linkID=85; - item0=1311; - item1=705; + item0=1472; + item1=1470; class CustomData { type="Sync"; @@ -14511,8 +15629,8 @@ class Mission class Item86 { linkID=86; - item0=1312; - item1=705; + item0=1471; + item1=1470; class CustomData { type="Sync"; @@ -14521,8 +15639,8 @@ class Mission class Item87 { linkID=87; - item0=1314; - item1=705; + item0=1475; + item1=1473; class CustomData { type="Sync"; @@ -14531,8 +15649,8 @@ class Mission class Item88 { linkID=88; - item0=1319; - item1=705; + item0=1474; + item1=1473; class CustomData { type="Sync"; @@ -14541,8 +15659,338 @@ class Mission class Item89 { linkID=89; - item0=1320; - item1=705; + item0=1481; + item1=1479; + class CustomData + { + type="Sync"; + }; + }; + class Item90 + { + linkID=90; + item0=1480; + item1=1479; + class CustomData + { + type="Sync"; + }; + }; + class Item91 + { + linkID=91; + item0=1484; + item1=1482; + class CustomData + { + type="Sync"; + }; + }; + class Item92 + { + linkID=92; + item0=1483; + item1=1482; + class CustomData + { + type="Sync"; + }; + }; + class Item93 + { + linkID=93; + item0=1487; + item1=1485; + class CustomData + { + type="Sync"; + }; + }; + class Item94 + { + linkID=94; + item0=1486; + item1=1485; + class CustomData + { + type="Sync"; + }; + }; + class Item95 + { + linkID=95; + item0=1490; + item1=1488; + class CustomData + { + type="Sync"; + }; + }; + class Item96 + { + linkID=96; + item0=1489; + item1=1488; + class CustomData + { + type="Sync"; + }; + }; + class Item97 + { + linkID=97; + item0=1493; + item1=1491; + class CustomData + { + type="Sync"; + }; + }; + class Item98 + { + linkID=98; + item0=1492; + item1=1491; + class CustomData + { + type="Sync"; + }; + }; + class Item99 + { + linkID=99; + item0=1497; + item1=1495; + class CustomData + { + type="Sync"; + }; + }; + class Item100 + { + linkID=100; + item0=1496; + item1=1495; + class CustomData + { + type="Sync"; + }; + }; + class Item101 + { + linkID=101; + item0=1500; + item1=1498; + class CustomData + { + type="Sync"; + }; + }; + class Item102 + { + linkID=102; + item0=1499; + item1=1498; + class CustomData + { + type="Sync"; + }; + }; + class Item103 + { + linkID=103; + item0=1503; + item1=1501; + class CustomData + { + type="Sync"; + }; + }; + class Item104 + { + linkID=104; + item0=1502; + item1=1501; + class CustomData + { + type="Sync"; + }; + }; + class Item105 + { + linkID=105; + item0=1508; + item1=1509; + class CustomData + { + type="Sync"; + }; + }; + class Item106 + { + linkID=106; + item0=1507; + item1=1509; + class CustomData + { + type="Sync"; + }; + }; + class Item107 + { + linkID=107; + item0=1543; + item1=1544; + class CustomData + { + type="Sync"; + }; + }; + class Item108 + { + linkID=108; + item0=1542; + item1=1544; + class CustomData + { + type="Sync"; + }; + }; + class Item109 + { + linkID=109; + item0=1546; + item1=1547; + class CustomData + { + type="Sync"; + }; + }; + class Item110 + { + linkID=110; + item0=1545; + item1=1547; + class CustomData + { + type="Sync"; + }; + }; + class Item111 + { + linkID=111; + item0=1549; + item1=1550; + class CustomData + { + type="Sync"; + }; + }; + class Item112 + { + linkID=112; + item0=1548; + item1=1550; + class CustomData + { + type="Sync"; + }; + }; + class Item113 + { + linkID=113; + item0=1552; + item1=1553; + class CustomData + { + type="Sync"; + }; + }; + class Item114 + { + linkID=114; + item0=1551; + item1=1553; + class CustomData + { + type="Sync"; + }; + }; + class Item115 + { + linkID=115; + item0=1555; + item1=1556; + class CustomData + { + type="Sync"; + }; + }; + class Item116 + { + linkID=116; + item0=1554; + item1=1556; + class CustomData + { + type="Sync"; + }; + }; + class Item117 + { + linkID=117; + item0=1558; + item1=1559; + class CustomData + { + type="Sync"; + }; + }; + class Item118 + { + linkID=118; + item0=1557; + item1=1559; + class CustomData + { + type="Sync"; + }; + }; + class Item119 + { + linkID=119; + item0=1561; + item1=1562; + class CustomData + { + type="Sync"; + }; + }; + class Item120 + { + linkID=120; + item0=1560; + item1=1562; + class CustomData + { + type="Sync"; + }; + }; + class Item121 + { + linkID=121; + item0=1564; + item1=1565; + class CustomData + { + type="Sync"; + }; + }; + class Item122 + { + linkID=122; + item0=1563; + item1=1565; class CustomData { type="Sync"; diff --git a/maps/vn_khe_sanh/mission.sqm b/maps/vn_khe_sanh/mission.sqm index ebc19538..83d41455 100644 --- a/maps/vn_khe_sanh/mission.sqm +++ b/maps/vn_khe_sanh/mission.sqm @@ -8,7 +8,7 @@ class EditorData toggles=513; class ItemIDProvider { - nextID=659; + nextID=660; }; class MarkerIDProvider { @@ -16,14 +16,14 @@ class EditorData }; class LayerIndexProvider { - nextID=440; + nextID=551; }; class Camera { - pos[]={10822.296,124.50634,3153.9849}; - dir[]={-0.87807781,-0.37418693,0.29830441}; - up[]={-0.35430521,0.92734766,0.12036586}; - aside[]={0.32167256,-1.7834827e-007,0.94686341}; + pos[]={10738.874,115.86653,3145.75}; + dir[]={0.81315744,-0.45815358,-0.35903051}; + up[]={0.41912553,0.88886583,-0.18505408}; + aside[]={-0.4039135,-4.3219188e-009,-0.91481405}; }; }; binarizationWanted=0; @@ -230,7 +230,7 @@ class Mission assetType="Free"; class Intel { - briefingName="Mike Force (v1.00.03 Indev)"; + briefingName="Mike Force (v1.00.03 Indev - 230611v3)"; timeOfChanges=1800.0002; startWeather=0.25; startWind=0.1; @@ -10181,7 +10181,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10935.081,99.055023,3027.8286}; + position[]={10935.081,99.538094,3027.8286}; angles[]={0,1.6727779,0}; }; side="Empty"; @@ -10190,7 +10190,7 @@ class Mission }; id=562; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.47694397; + atlOffset=0.9671402; }; class Item1 { @@ -10203,7 +10203,7 @@ class Mission init="['air_fire_support', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; id=563; type="Logic"; - atlOffset=0.0018081665; + atlOffset=0.021980286; }; class Item2 { @@ -10217,13 +10217,31 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=564; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; }; id=561; - atlOffset=0.097991943; + atlOffset=0.22589111; }; class Item81 { @@ -10237,7 +10255,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10935.193,98.991623,2997.321}; + position[]={10935.193,99.538094,2997.321}; angles[]={0,1.6727779,0}; }; side="Empty"; @@ -10246,7 +10264,7 @@ class Mission }; id=565; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.4135437; + atlOffset=0.9671402; }; class Item1 { @@ -10273,13 +10291,31 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=567; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; }; id=568; - atlOffset=0.078903198; + atlOffset=0.22264099; }; class Item82 { @@ -10367,16 +10403,16 @@ class Mission dataType="Object"; class PositionInfo { - position[]={11018.097,98.538094,3178.0425}; + position[]={11018.097,99.538094,3178.0425}; angles[]={0,4.7401133,0}; }; side="Empty"; - flags=4; class Attributes { }; id=569; type="Sign_Arrow_Direction_Green_F"; + atlOffset=1; }; class Item2 { @@ -10403,13 +10439,31 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=571; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; }; id=572; - atlOffset=0.0037460327; + atlOffset=0.12874603; }; class Item83 { @@ -10430,16 +10484,16 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10800.994,98.38446,3192.78}; + position[]={10800.994,99.384583,3192.78}; angles[]={0,3.2420781,6.2192731}; }; side="Empty"; - flags=4; class Attributes { }; id=577; type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0001221; }; class Item1 { @@ -10465,13 +10519,31 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=579; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; }; id=580; - atlOffset=0.021789551; + atlOffset=0.27182007; }; class Item1 { @@ -10485,16 +10557,16 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10615.584,98.598656,3245.1514}; + position[]={10615.584,99.598656,3245.1514}; angles[]={0.0080009829,2.8067095,6.2805333}; }; side="Empty"; - flags=4; class Attributes { }; id=599; type="Sign_Arrow_Direction_Green_F"; + atlOffset=1; }; class Item1 { @@ -10508,9 +10580,27 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=600; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item2 { @@ -10527,7 +10617,7 @@ class Mission }; }; id=598; - atlOffset=0.0014724731; + atlOffset=0.25147247; }; class Item2 { @@ -10541,16 +10631,16 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10608.364,98.902031,3238.6199}; + position[]={10608.364,99.902077,3238.6199}; angles[]={6.2485313,1.9441955,0.021328852}; }; side="Empty"; - flags=4; class Attributes { }; id=603; type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0000458; }; class Item1 { @@ -10564,9 +10654,27 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=604; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item2 { @@ -10582,7 +10690,7 @@ class Mission }; }; id=602; - atlOffset=-0.023483276; + atlOffset=0.22652435; }; class Item3 { @@ -10596,16 +10704,16 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10614.388,98.545364,3228.4878}; + position[]={10614.388,99.545364,3228.4878}; angles[]={6.272521,0.78359783,0.0053265258}; }; side="Empty"; - flags=4; class Attributes { }; id=606; type="Sign_Arrow_Direction_Green_F"; + atlOffset=1; }; class Item1 { @@ -10619,9 +10727,27 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=607; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item2 { @@ -10638,11 +10764,11 @@ class Mission }; }; id=609; - atlOffset=0.0029602051; + atlOffset=0.25296021; }; }; id=582; - atlOffset=0.033004761; + atlOffset=0.28301239; }; class Item84 { @@ -10670,16 +10796,34 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=537; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item1 { dataType="Object"; class PositionInfo { - position[]={10722.471,98.921936,3112.8286}; + position[]={10722.471,99.458092,3112.8286}; angles[]={0,6.2611012,0}; }; side="Empty"; @@ -10688,7 +10832,7 @@ class Mission }; id=538; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.42738342; + atlOffset=0.97059631; }; class Item2 { @@ -10704,7 +10848,7 @@ class Mission }; }; id=536; - atlOffset=0.068756104; + atlOffset=0.21885681; }; class Item1 { @@ -10718,7 +10862,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10687.252,98.83419,3113.9768}; + position[]={10687.252,99.458092,3113.9768}; angles[]={0,6.2611012,0}; }; side="Empty"; @@ -10727,7 +10871,7 @@ class Mission }; id=542; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.33287048; + atlOffset=0.96391296; }; class Item1 { @@ -10754,13 +10898,31 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=541; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; }; id=540; - atlOffset=0.062355042; + atlOffset=0.22554016; }; class Item2 { @@ -10774,7 +10936,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10936.274,99.275604,3114.6843}; + position[]={10936.274,99.538094,3114.6843}; angles[]={0,1.5754278,0}; }; side="Empty"; @@ -10783,7 +10945,7 @@ class Mission }; id=550; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.69683838; + atlOffset=0.96640015; }; class Item1 { @@ -10796,7 +10958,7 @@ class Mission init="['air_light', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; id=551; type="Logic"; - atlOffset=0.032249451; + atlOffset=0.01474762; }; class Item2 { @@ -10810,13 +10972,31 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=552; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; }; id=549; - atlOffset=0.15180969; + atlOffset=0.22445679; }; class Item3 { @@ -10830,7 +11010,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10936.067,98.992981,3084.4827}; + position[]={10936.067,99.538094,3084.4827}; angles[]={0,1.5754278,0}; }; side="Empty"; @@ -10839,7 +11019,7 @@ class Mission }; id=554; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.41490173; + atlOffset=0.9671402; }; class Item1 { @@ -10852,7 +11032,7 @@ class Mission init="['air_light', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; id=555; type="Logic"; - atlOffset=0.010787964; + atlOffset=0.01474762; }; class Item2 { @@ -10866,17 +11046,35 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=556; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; }; id=553; - atlOffset=0.077423096; + atlOffset=0.2208252; }; }; id=583; - atlOffset=6.6146011; + atlOffset=6.735405; }; class Item85 { @@ -10897,7 +11095,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10704.578,98.95092,3113.6523}; + position[]={10704.57,99.458092,3113.6821}; angles[]={0,6.2611012,0}; }; side="Empty"; @@ -10906,7 +11104,7 @@ class Mission }; id=546; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.45284271; + atlOffset=0.9671402; }; class Item1 { @@ -10933,13 +11131,31 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=548; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; }; id=545; - atlOffset=0.091972351; + atlOffset=0.22589111; }; class Item1 { @@ -10953,7 +11169,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10935.606,99.014832,3056.8035}; + position[]={10935.606,99.538094,3056.8035}; angles[]={0,1.6727779,0}; }; side="Empty"; @@ -10962,7 +11178,7 @@ class Mission }; id=558; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.43675232; + atlOffset=0.9671402; }; class Item1 { @@ -10989,17 +11205,35 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=560; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; }; id=557; - atlOffset=0.08795166; + atlOffset=0.22589111; }; }; id=584; - atlOffset=0.16093445; + atlOffset=0.28773499; }; class Item86 { @@ -11020,16 +11254,16 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10808.112,98.191788,3192.7917}; + position[]={10808.112,99.191788,3192.7917}; angles[]={0.015998369,3.2420781,6.2805333}; }; side="Empty"; - flags=4; class Attributes { }; id=574; type="Sign_Arrow_Direction_Green_F"; + atlOffset=1; }; class Item1 { @@ -11043,9 +11277,27 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=576; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item2 { @@ -11061,7 +11313,7 @@ class Mission }; }; id=573; - atlOffset=-0.0070953369; + atlOffset=0.24290466; }; class Item1 { @@ -11075,16 +11327,16 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10641.748,98.60408,3238.6658}; + position[]={10641.748,99.604088,3238.6658}; angles[]={0,4.0405035,0.0053265258}; }; side="Empty"; - flags=4; class Attributes { }; id=587; type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0000076; }; class Item1 { @@ -11098,10 +11350,28 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=588; type="vn_signad_sponsors_f"; atlOffset=7.6293945e-006; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item2 { @@ -11117,7 +11387,7 @@ class Mission }; }; id=586; - atlOffset=-0.0006942749; + atlOffset=0.24931335; }; class Item2 { @@ -11131,17 +11401,16 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10634.87,98.595459,3246.5088}; + position[]={10634.87,99.595451,3246.5088}; angles[]={6.2805333,3.4474387,0}; }; side="Empty"; - flags=4; class Attributes { }; id=590; type="Sign_Arrow_Direction_Green_F"; - atlOffset=7.6293945e-006; + atlOffset=1; }; class Item1 { @@ -11155,9 +11424,27 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=591; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item2 { @@ -11174,7 +11461,7 @@ class Mission }; }; id=593; - atlOffset=0.00093841553; + atlOffset=0.25093079; }; class Item3 { @@ -11188,16 +11475,16 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10624.532,98.584267,3246.0657}; + position[]={10624.532,99.584267,3246.0657}; angles[]={6.2805333,3.1689034,0}; }; side="Empty"; - flags=4; class Attributes { }; id=595; type="Sign_Arrow_Direction_Green_F"; + atlOffset=1; }; class Item1 { @@ -11211,9 +11498,27 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=596; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item2 { @@ -11229,10 +11534,11 @@ class Mission }; }; id=594; + atlOffset=0.25; }; }; id=585; - atlOffset=-0.093856812; + atlOffset=0.15614319; }; class Item87 { @@ -11246,7 +11552,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10774.035,98.770981,3151.3225}; + position[]={10774.035,99.591034,3151.3225}; angles[]={0,6.2515082,0}; }; side="Empty"; @@ -11255,7 +11561,7 @@ class Mission }; id=611; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.1799469; + atlOffset=1; }; class Item1 { @@ -11269,9 +11575,27 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=612; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item2 { @@ -11290,7 +11614,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10774.813,98.729935,3161.0166}; + position[]={10774.813,99.55809,3161.0166}; angles[]={0,0.090792708,0}; }; side="Empty"; @@ -11299,7 +11623,7 @@ class Mission }; id=614; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.17184448; + atlOffset=1; }; class Item4 { @@ -11313,9 +11637,27 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=615; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item5 { @@ -11331,7 +11673,7 @@ class Mission }; }; id=623; - atlOffset=0.029457092; + atlOffset=0.15859222; }; class Item88 { @@ -11345,7 +11687,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10767.765,99.031151,3124.9673}; + position[]={10767.765,99.664047,3124.9673}; angles[]={0,0.20799702,0}; }; side="Empty"; @@ -11354,7 +11696,7 @@ class Mission }; id=617; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.36710358; + atlOffset=1; }; class Item1 { @@ -11368,9 +11710,27 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=618; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item2 { @@ -11389,7 +11749,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10769.359,98.885353,3136.8335}; + position[]={10769.359,99.673203,3136.8335}; angles[]={0,0.090792708,0}; }; side="Empty"; @@ -11398,7 +11758,7 @@ class Mission }; id=620; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.21215057; + atlOffset=1; }; class Item4 { @@ -11412,9 +11772,27 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=621; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item5 { @@ -11430,7 +11808,7 @@ class Mission }; }; id=610; - atlOffset=0.025085449; + atlOffset=0.14334106; }; class Item89 { @@ -11451,10 +11829,28 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=626; type="vn_signad_sponsors_f"; atlOffset=7.6293945e-006; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item1 { @@ -11474,7 +11870,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10742.599,99.162621,3113.0715}; + position[]={10742.599,99.598938,3113.0715}; angles[]={0,1.6231606,0}; }; side="Empty"; @@ -11483,7 +11879,7 @@ class Mission }; id=625; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.56369019; + atlOffset=1.0000076; }; class Item3 { @@ -11497,9 +11893,27 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=628; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item4 { @@ -11518,7 +11932,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10742.404,99.183617,3107.4258}; + position[]={10742.404,99.619934,3107.4258}; angles[]={0,1.6231606,0}; }; side="Empty"; @@ -11527,7 +11941,7 @@ class Mission }; id=630; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.56368256; + atlOffset=1; }; class Item6 { @@ -11541,9 +11955,27 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=635; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item7 { @@ -11562,7 +11994,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10742.042,99.393219,3101.3203}; + position[]={10742.042,99.691704,3101.3203}; angles[]={0,1.6231606,0}; }; side="Empty"; @@ -11571,11 +12003,11 @@ class Mission }; id=637; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.7015152; + atlOffset=1; }; }; id=624; - atlOffset=0.38565826; + atlOffset=0.56558228; }; class Item90 { @@ -11589,7 +12021,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10764.617,99.222679,3103.7109}; + position[]={10764.617,99.659004,3103.7109}; angles[]={0,4.748518,0}; }; side="Empty"; @@ -11598,7 +12030,7 @@ class Mission }; id=649; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.56367493; + atlOffset=1; }; class Item1 { @@ -11612,9 +12044,27 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=650; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item2 { @@ -11631,7 +12081,7 @@ class Mission }; }; id=648; - atlOffset=0.15266418; + atlOffset=0.26174927; }; class Item91 { @@ -11645,7 +12095,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={10764.72,99.241783,3113.7263}; + position[]={10764.72,99.678093,3113.7263}; angles[]={0,4.7231941,0}; }; side="Empty"; @@ -11654,7 +12104,7 @@ class Mission }; id=655; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.56369019; + atlOffset=1; }; class Item1 { @@ -11668,10 +12118,28 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=656; type="vn_signad_sponsors_f"; atlOffset=7.6293945e-006; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item2 { @@ -11687,7 +12155,7 @@ class Mission }; }; id=658; - atlOffset=0.1401062; + atlOffset=0.24918365; }; }; class Connections diff --git a/maps/vn_the_bra/mission.sqm b/maps/vn_the_bra/mission.sqm index a262fc0f..6bc3fe88 100644 --- a/maps/vn_the_bra/mission.sqm +++ b/maps/vn_the_bra/mission.sqm @@ -8,7 +8,7 @@ class EditorData toggles=1537; class ItemIDProvider { - nextID=638; + nextID=639; }; class MarkerIDProvider { @@ -16,14 +16,14 @@ class EditorData }; class LayerIndexProvider { - nextID=568; + nextID=655; }; class Camera { - pos[]={3439.7888,59.304642,4305.0957}; - dir[]={-0.94546878,-0.29431665,-0.13954034}; - up[]={-0.29116467,0.95570773,-0.042972304}; - aside[]={-0.1460069,-7.0605893e-008,0.98928702}; + pos[]={3350.6877,62.139259,4297.0088}; + dir[]={-0.65638942,-0.59361577,0.46564054}; + up[]={-0.48416653,0.80474663,0.34346718}; + aside[]={0.57860953,1.473818e-007,0.81563699}; }; }; binarizationWanted=0; @@ -213,7 +213,7 @@ class Mission assetType="Free"; class Intel { - briefingName="Mike Force (v1.00.03 Indev)"; + briefingName="Mike Force (v1.00.03 Indev - 230611v3)"; timeOfChanges=1800.0002; startWeather=0.25; startWind=0.1; @@ -9614,25 +9614,43 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=597; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item1 { dataType="Object"; class PositionInfo { - position[]={3349.2854,43.094051,4416.3511}; - angles[]={0.039977662,3.1166651,0}; + position[]={3349.2854,44.094097,4416.3511}; + angles[]={0,3.1166651,0}; }; side="Empty"; - flags=4; class Attributes { }; id=598; type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.19369125; }; class Item2 { @@ -9647,7 +9665,7 @@ class Mission }; }; id=618; - atlOffset=0.011489868; + atlOffset=0.059909821; }; class Item76 { @@ -9667,25 +9685,43 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=600; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item1 { dataType="Object"; class PositionInfo { - position[]={3357.0742,43.048092,4416.8467}; + position[]={3357.0742,44.048092,4416.8467}; angles[]={0,3.1166651,0}; }; side="Empty"; - flags=4; class Attributes { }; id=601; type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.16160583; }; class Item2 { @@ -9700,6 +9736,7 @@ class Mission }; }; id=619; + atlOffset=0.040401459; }; class Item77 { @@ -9720,25 +9757,43 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=570; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item1 { dataType="Object"; class PositionInfo { - position[]={3370.3091,39.71809,4316.2993}; + position[]={3370.3091,40.71809,4316.2993}; angles[]={0,4.6726122,0}; }; side="Empty"; - flags=4; class Attributes { }; id=571; type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.26903152; }; class Item2 { @@ -9754,7 +9809,7 @@ class Mission }; }; id=620; - atlOffset=0.013267517; + atlOffset=0.080528259; }; class Item78 { @@ -9775,25 +9830,43 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=573; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item1 { dataType="Object"; class PositionInfo { - position[]={3384.1377,39.741455,4317.0303}; - angles[]={6.2631865,4.6726122,0.019999012}; + position[]={3384.1377,40.741463,4317.0303}; + angles[]={0,4.6726122,0}; }; side="Empty"; - flags=4; class Attributes { }; id=574; type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.3627243; }; class Item2 { @@ -9809,7 +9882,7 @@ class Mission }; }; id=621; - atlOffset=-0.048595428; + atlOffset=0.042087555; }; class Item79 { @@ -9842,30 +9915,48 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=577; type="vn_signad_sponsors_f"; atlOffset=3.8146973e-006; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item2 { dataType="Object"; class PositionInfo { - position[]={3397.6848,39.71809,4317.6733}; + position[]={3397.6848,40.71809,4317.6733}; angles[]={0,4.6726122,0}; }; side="Empty"; - flags=4; class Attributes { }; id=578; type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.25253677; }; }; id=622; - atlOffset=0.019512177; + atlOffset=0.14577866; }; class Item80 { @@ -9886,25 +9977,43 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=567; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item1 { dataType="Object"; class PositionInfo { - position[]={3416.9014,39.71809,4312.4404}; + position[]={3416.9014,40.71809,4312.4404}; angles[]={0,4.6726122,0}; }; side="Empty"; - flags=4; class Attributes { }; id=568; type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.21142197; }; class Item2 { @@ -9920,6 +10029,7 @@ class Mission }; }; id=623; + atlOffset=0.052852631; }; class Item81 { @@ -9940,25 +10050,43 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=564; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item1 { dataType="Object"; class PositionInfo { - position[]={3417.2383,39.71809,4304.0801}; + position[]={3417.2383,40.71809,4304.0801}; angles[]={0,4.6726122,0}; }; side="Empty"; - flags=4; class Attributes { }; id=565; type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.21027374; }; class Item2 { @@ -9974,6 +10102,7 @@ class Mission }; }; id=624; + atlOffset=0.052570343; }; class Item82 { @@ -9994,25 +10123,43 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=579; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item1 { dataType="Object"; class PositionInfo { - position[]={3370.4744,39.727398,4294.9907}; - angles[]={6.2631865,4.695477,0.019999012}; + position[]={3370.4744,40.727417,4294.9907}; + angles[]={0,4.695477,0}; }; side="Empty"; - flags=4; class Attributes { }; id=580; type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.2431221; }; class Item2 { @@ -10028,7 +10175,7 @@ class Mission }; }; id=625; - atlOffset=0.029331207; + atlOffset=0.090110779; }; class Item83 { @@ -10049,25 +10196,43 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=591; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item1 { dataType="Object"; class PositionInfo { - position[]={3343.9353,39.71809,4316.02}; + position[]={3343.949,40.71809,4315.7085}; angles[]={0,1.4772563,0}; }; side="Empty"; - flags=4; class Attributes { }; id=592; type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.3194809; }; class Item2 { @@ -10083,7 +10248,7 @@ class Mission }; }; id=626; - atlOffset=0.0048789978; + atlOffset=0.0847435; }; class Item84 { @@ -10104,25 +10269,43 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=594; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item1 { dataType="Object"; class PositionInfo { - position[]={3330.9744,39.757065,4315.228}; - angles[]={0,1.4772563,0.039977662}; + position[]={3330.9744,40.757107,4315.228}; + angles[]={0,1.4772563,0}; }; side="Empty"; - flags=4; class Attributes { }; id=595; type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.40203857; }; class Item2 { @@ -10138,7 +10321,7 @@ class Mission }; }; id=627; - atlOffset=-0.0057792664; + atlOffset=0.094730377; }; class Item85 { @@ -10159,25 +10342,43 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=585; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item1 { dataType="Object"; class PositionInfo { - position[]={3322.1328,39.725315,4322.3193}; - angles[]={0.039977662,3.115083,0}; + position[]={3322.1328,40.725361,4322.3193}; + angles[]={0,3.115083,0}; }; side="Empty"; - flags=4; class Attributes { }; id=586; type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.31412125; }; class Item2 { @@ -10193,7 +10394,7 @@ class Mission }; }; id=628; - atlOffset=-0.032196045; + atlOffset=0.046333313; }; class Item86 { @@ -10214,16 +10415,34 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=582; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item1 { dataType="Object"; class PositionInfo { - position[]={3338.0735,39.71809,4298.0864}; + position[]={3338.0735,40.71809,4298.0864}; angles[]={0,1.225379,0}; }; side="Empty"; @@ -10269,25 +10488,43 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=588; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item1 { dataType="Object"; class PositionInfo { - position[]={3287.928,39.71809,4321.666}; + position[]={3287.928,40.71809,4321.666}; angles[]={0,2.6828234,0}; }; side="Empty"; - flags=4; class Attributes { }; id=589; type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.1677475; }; class Item2 { @@ -10303,7 +10540,7 @@ class Mission }; }; id=630; - atlOffset=-0.032794952; + atlOffset=0.0091438293; }; class Item88 { @@ -10324,16 +10561,34 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=606; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item1 { dataType="Object"; class PositionInfo { - position[]={3219.5349,40.573795,4259.2417}; + position[]={3219.5349,40.71809,4259.2417}; angles[]={0,1.5289651,0}; }; side="Empty"; @@ -10342,7 +10597,7 @@ class Mission }; id=607; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.5977211; + atlOffset=0.60484695; }; class Item2 { @@ -10358,7 +10613,7 @@ class Mission }; }; id=631; - atlOffset=0.005317688; + atlOffset=0.21392441; }; class Item89 { @@ -10379,16 +10634,34 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=609; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item1 { dataType="Object"; class PositionInfo { - position[]={3195.845,40.573795,4258.6157}; + position[]={3195.845,40.71809,4258.6157}; angles[]={0,1.5289651,0}; }; side="Empty"; @@ -10397,7 +10670,7 @@ class Mission }; id=610; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.5977211; + atlOffset=0.60484695; }; class Item2 { @@ -10413,7 +10686,7 @@ class Mission }; }; id=632; - atlOffset=0.051296234; + atlOffset=0.031162262; }; class Item90 { @@ -10434,16 +10707,34 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=615; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item1 { dataType="Object"; class PositionInfo { - position[]={3192.092,40.057827,4300.0254}; + position[]={3192.092,40.71809,4300.0254}; angles[]={0,3.0687382,0}; }; side="Empty"; @@ -10452,7 +10743,7 @@ class Mission }; id=616; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.081752777; + atlOffset=0.49655914; }; class Item2 { @@ -10468,7 +10759,7 @@ class Mission }; }; id=633; - atlOffset=0.084934235; + atlOffset=0.18685532; }; class Item91 { @@ -10489,16 +10780,34 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=612; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item1 { dataType="Object"; class PositionInfo { - position[]={3216.6946,40.315811,4301.7305}; + position[]={3216.5579,40.71809,4300.3828}; angles[]={0,3.0687382,0}; }; side="Empty"; @@ -10507,7 +10816,7 @@ class Mission }; id=613; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.33973694; + atlOffset=0.41897583; }; class Item2 { @@ -10523,7 +10832,7 @@ class Mission }; }; id=634; - atlOffset=0.14943314; + atlOffset=0.1674614; }; class Item92 { @@ -10544,25 +10853,43 @@ class Mission flags=5; class Attributes { + disableSimulation=1; }; id=603; type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; }; class Item1 { dataType="Object"; class PositionInfo { - position[]={3277.7078,41.548092,4381.582}; + position[]={3277.7078,42.548092,4381.582}; angles[]={0,3.1166651,0}; }; side="Empty"; - flags=4; class Attributes { }; id=604; type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.35966873; }; class Item2 { @@ -10577,6 +10904,7 @@ class Mission }; }; id=635; + atlOffset=0.089916229; }; }; class Connections From 593ffc8abf2187e963f3227b14187432999df525 Mon Sep 17 00:00:00 2001 From: Spoffy Date: Tue, 13 Jun 2023 03:08:34 +0100 Subject: [PATCH 28/34] Updates Altis to new spawn points --- maps/altis/mission.sqm | 7239 +++++++++++++++++++++++++++------------- 1 file changed, 4939 insertions(+), 2300 deletions(-) diff --git a/maps/altis/mission.sqm b/maps/altis/mission.sqm index 86ac24cd..9d69caa4 100644 --- a/maps/altis/mission.sqm +++ b/maps/altis/mission.sqm @@ -5,10 +5,10 @@ class EditorData angleGridStep=0.2617994; scaleGridStep=1; autoGroupingDist=10; - toggles=1545; + toggles=521; class ItemIDProvider { - nextID=1164; + nextID=1356; }; class MarkerIDProvider { @@ -16,14 +16,14 @@ class EditorData }; class LayerIndexProvider { - nextID=455; + nextID=491; }; class Camera { - pos[]={26643.322,64.142578,24435.596}; - dir[]={0.38129544,-0.34564596,0.85742337}; - up[]={0.14044885,0.93836421,0.31582904}; - aside[]={0.91373926,6.1332685e-008,-0.40633988}; + pos[]={26523.84,24.940479,24213.369}; + dir[]={0.71472037,-0.4536432,0.53235906}; + up[]={0.3638157,0.89117867,0.27098799}; + aside[]={0.59735793,1.9266736e-007,-0.80198586}; }; }; binarizationWanted=0; @@ -35,7 +35,6 @@ addons[]= "objects_f_vietnam_c", "A3_Modules_F", "A3_Characters_F", - "wheeled_f_vietnam_c", "structures_f_vietnam_c", "A3_Structures_F_Walls", "A3_Structures_F_Civ_Camping", @@ -47,29 +46,24 @@ addons[]= "A3_Props_F_Enoch_Civilian_Camping", "weapons_f_vietnam_c", "A3_Structures_F_Argo_Commercial_Billboards", - "air_f_vietnam_c", - "air_f_vietnam_02_c", + "wheeled_f_vietnam_c", "A3_Structures_F_Mil_Helipads", "A3_Structures_F_Enoch_VR_Helpers", - "A3_Structures_F_EPC_Civ_Camping", - "wheeled_f_vietnam_02_c", - "armor_f_vietnam_c", "static_f_vietnam_c", - "armor_f_vietnam_02_c", - "wheeled_f_vietnam_03_c", "static_f_vietnam_03_c", "A3_Structures_F_System", "A3_Structures_F_Ind_Shed", "characters_f_vietnam_c", "A3_Structures_F_Heli_Civ_Constructions", "A3_Structures_F_Items_Tools", - "A3_Modules_F_Curator_Curator" + "A3_Modules_F_Curator_Curator", + "A3_Misc_F_Helpers" }; class AddonsMetaData { class List { - items=26; + items=21; class Item0 { className="modules_f_vietnam"; @@ -106,156 +100,124 @@ class AddonsMetaData url="https://www.arma3.com"; }; class Item5 - { - className="wheeled_f_vietnam_c"; - name="wheeled_f_vietnam_c"; - author="Savage Game Design"; - url="https://www.arma3.com"; - }; - class Item6 { className="structures_f_vietnam_c"; name="structures_f_vietnam_c"; author="Savage Game Design"; url="https://www.arma3.com"; }; - class Item7 + class Item6 { className="A3_Structures_F"; name="Arma 3 - Buildings and Structures"; author="Bohemia Interactive"; url="https://www.arma3.com"; }; - class Item8 + class Item7 { className="A3_Structures_F_Mil"; name="Arma 3 - Military Buildings and Structures"; author="Bohemia Interactive"; url="https://www.arma3.com"; }; - class Item9 + class Item8 { className="A3_Structures_F_EPC"; name="Arma 3 Win Episode - Buildings and Structures"; author="Bohemia Interactive"; url="https://www.arma3.com"; }; - class Item10 + class Item9 { className="A3_Props_F_Enoch"; name="Arma 3 Contact Platform - Decorative and Mission Objects"; author="Bohemia Interactive"; url="https://www.arma3.com"; }; - class Item11 + class Item10 { className="weapons_f_vietnam_c"; name="weapons_f_vietnam_c"; author="Savage Game Design"; url="https://www.arma3.com"; }; - class Item12 + class Item11 { className="A3_Structures_F_Argo"; name="Arma 3 Malden - Buildings and Structures"; author="Bohemia Interactive"; url="https://www.arma3.com"; }; - class Item13 - { - className="air_f_vietnam_c"; - name="air_f_vietnam_c"; - author="Savage Game Design"; - url="https://www.arma3.com"; - }; - class Item14 + class Item12 { - className="air_f_vietnam_02_c"; - name="air_f_vietnam_02_c"; + className="wheeled_f_vietnam_c"; + name="wheeled_f_vietnam_c"; author="Savage Game Design"; url="https://www.arma3.com"; }; - class Item15 + class Item13 { className="A3_Structures_F_Enoch"; name="Arma 3 Contact Platform - Buildings and Structures"; author="Bohemia Interactive"; url="https://www.arma3.com"; }; - class Item16 - { - className="wheeled_f_vietnam_02_c"; - name="wheeled_f_vietnam_02_c"; - author="Savage Game Design"; - url="https://www.arma3.com"; - }; - class Item17 - { - className="armor_f_vietnam_c"; - name="armor_f_vietnam_c"; - author="Savage Game Design"; - url="https://www.arma3.com"; - }; - class Item18 + class Item14 { className="static_f_vietnam_c"; name="static_f_vietnam_c"; author="Savage Game Design"; url="https://www.arma3.com"; }; - class Item19 - { - className="armor_f_vietnam_02_c"; - name="armor_f_vietnam_02_c"; - author="Savage Game Design"; - url="https://www.arma3.com"; - }; - class Item20 - { - className="wheeled_f_vietnam_03_c"; - name="wheeled_f_vietnam_03_c"; - author="Savage Game Design"; - url="https://www.arma3.com"; - }; - class Item21 + class Item15 { className="static_f_vietnam_03_c"; name="static_f_vietnam_03_c"; author="Savage Game Design"; url="https://www.arma3.com"; }; - class Item22 + class Item16 { className="A3_Structures_F_Ind"; name="Arma 3 - Industrial Structures"; author="Bohemia Interactive"; url="https://www.arma3.com"; }; - class Item23 + class Item17 { className="characters_f_vietnam_c"; name="characters_f_vietnam_c"; author="Savage Game Design"; url="https://www.arma3.com"; }; - class Item24 + class Item18 { className="A3_Structures_F_Heli"; name="Arma 3 Helicopters - Buildings and Structures"; author="Bohemia Interactive"; url="https://www.arma3.com"; }; - class Item25 + class Item19 { className="A3_Modules_F_Curator"; name="Arma 3 Zeus Update - Scripted Modules"; author="Bohemia Interactive"; url="https://www.arma3.com"; }; + class Item20 + { + className="A3_Misc_F"; + name="Arma 3 - 3D Aids and Helpers"; + author="Bohemia Interactive"; + url="https://www.arma3.com"; + }; }; }; dlcs[]= { + "VN", + "Argo", + "Enoch", "Heli" }; randomSeed=4910235; @@ -301,24 +263,6 @@ class CustomAttributes }; nAttributes=1; }; - class Category1 - { - name="Scenario"; - class Attribute0 - { - property="cba_settings_hasSettingsFile"; - expression="false"; - class Value - { - class data - { - singleType="BOOL"; - value=1; - }; - }; - }; - nAttributes=1; - }; }; class Mission { @@ -345,7 +289,7 @@ class Mission }; class Entities { - items=90; + items=89; class Item0 { dataType="Logic"; @@ -2188,8 +2132,8 @@ class Mission dataType="Object"; class PositionInfo { - position[]={26919.361,23.57091,24313.148}; - angles[]={6.2338929,0.55658436,6.2405448}; + position[]={26917.646,23.664436,24313.549}; + angles[]={6.2338929,6.1190591,6.2405448}; }; side="Empty"; flags=4; @@ -2200,7 +2144,7 @@ class Mission }; id=319; type="Land_vn_b_prop_mapstand_01"; - atlOffset=-0.00054168701; + atlOffset=0.00025939941; class CustomAttributes { class Attribute0 @@ -2257,119 +2201,8 @@ class Mission { dataType="Layer"; name="Vehicles"; - class Entities - { - items=6; - class Item0 - { - dataType="Object"; - class PositionInfo - { - position[]={26844.824,26.939291,24306.102}; - angles[]={6.2658563,2.2443118,6.249866}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=849; - type="vn_b_wheeled_m151_mg_04"; - atlOffset=2.4795532e-005; - }; - class Item1 - { - dataType="Object"; - class PositionInfo - { - position[]={26852.1,26.823517,24314.836}; - angles[]={6.2418733,2.2526441,6.2765183}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=851; - type="vn_b_wheeled_m151_mg_03"; - atlOffset=-0.00050163269; - }; - class Item2 - { - dataType="Object"; - class PositionInfo - { - position[]={26849.891,26.419447,24312.605}; - angles[]={6.2551899,2.2824543,6.2551899}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=850; - type="vn_b_wheeled_m151_01"; - atlOffset=7.6293945e-006; - }; - class Item3 - { - dataType="Object"; - class PositionInfo - { - position[]={26847.053,26.412973,24309.318}; - angles[]={6.2605233,2.2824566,6.249866}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=855; - type="vn_b_wheeled_m151_01"; - atlOffset=-7.6293945e-006; - }; - class Item4 - { - dataType="Object"; - class PositionInfo - { - position[]={26855.848,27.124411,24318.057}; - angles[]={6.2232571,2.3032782,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=852; - type="vn_b_wheeled_m54_01"; - atlOffset=-0.00015830994; - }; - class Item5 - { - dataType="Object"; - class PositionInfo - { - position[]={26858.465,27.274117,24320.719}; - angles[]={6.2232509,2.3032761,6.2725215}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=856; - type="vn_b_wheeled_m54_01"; - }; - }; id=328; - atlOffset=0.060638428; + atlOffset=185.97; }; class Item4 { @@ -2430,7 +2263,7 @@ class Mission }; }; id=323; - atlOffset=9.2083588; + atlOffset=-35.738907; }; class Item13 { @@ -2438,14 +2271,14 @@ class Mission name="Green Hornets"; class Entities { - items=179; + items=178; class Item0 { dataType="Object"; class PositionInfo { - position[]={26689.107,19.506924,24623.672}; - angles[]={0.063912325,0.69804096,0.031990308}; + position[]={27205.518,25.638559,24909.893}; + angles[]={0.0079935296,0.69804096,0.035984326}; }; side="Empty"; flags=4; @@ -2455,7 +2288,7 @@ class Mission }; id=179; type="Land_vn_us_weapons_stack2"; - atlOffset=0.0093841553; + atlOffset=0.026540756; class CustomAttributes { class Attribute0 @@ -2479,8 +2312,8 @@ class Mission dataType="Object"; class PositionInfo { - position[]={26686.166,19.747793,24610.771}; - angles[]={0.030647982,2.8516061,0.0053407075}; + position[]={27213.82,25.971918,24909.609}; + angles[]={0.0053265258,5.3987303,0.02666023}; }; side="Empty"; flags=4; @@ -2491,7 +2324,7 @@ class Mission }; id=187; type="Land_vn_b_prop_mapstand_01"; - atlOffset=0.0001449585; + atlOffset=-0.00052642822; class CustomAttributes { class Attribute0 @@ -2515,7 +2348,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={26697.324,21.035988,24645.6}; + position[]={27213.734,27.336554,24931.82}; angles[]={0,2.2219112,0}; }; side="Empty"; @@ -2526,7 +2359,7 @@ class Mission }; id=190; type="Land_vn_guardbox_01_smooth_f"; - atlOffset=0.68457794; + atlOffset=0.68445969; class CustomAttributes { class Attribute0 @@ -2550,7 +2383,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={26741.139,21.281136,24611.078}; + position[]={27263.514,27.324175,24891.107}; angles[]={0,5.3605194,0}; }; side="Empty"; @@ -2561,7 +2394,7 @@ class Mission }; id=191; type="Land_vn_b_trench_revetment_tall_03"; - atlOffset=1.9073486e-006; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -2585,7 +2418,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={26732.182,21.420971,24599.367}; + position[]={27254.557,26.614779,24879.396}; angles[]={0,5.3605194,0}; }; side="Empty"; @@ -2596,7 +2429,7 @@ class Mission }; id=192; type="Land_vn_b_trench_revetment_tall_09"; - atlOffset=3.8146973e-006; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -2620,7 +2453,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={26737.574,21.369492,24606.463}; + position[]={27259.949,26.962034,24886.492}; angles[]={0,5.3605194,0}; }; side="Empty"; @@ -2631,7 +2464,7 @@ class Mission }; id=193; type="Land_vn_b_trench_revetment_tall_09"; - atlOffset=1.9073486e-006; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -2655,42 +2488,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={26728.785,20.742067,24638.24}; - angles[]={0,5.3580532,0}; - }; - side="Empty"; - flags=5; - class Attributes - { - disableSimulation=1; - }; - id=194; - type="Land_vn_b_trench_revetment_tall_09"; - atlOffset=1.9073486e-006; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - singleType="BOOL"; - value=0; - }; - }; - }; - nAttributes=1; - }; - }; - class Item7 - { - dataType="Object"; - class PositionInfo - { - position[]={26735.912,21.247339,24627.885}; + position[]={27258.287,28.399446,24907.914}; angles[]={0.028150288,3.7992368,0}; }; side="Empty"; @@ -2701,6 +2499,7 @@ class Mission }; id=195; type="Land_vn_b_trench_revetment_tall_09"; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -2719,12 +2518,12 @@ class Mission nAttributes=1; }; }; - class Item8 + class Item7 { dataType="Object"; class PositionInfo { - position[]={26694.139,22.808561,24619.756}; + position[]={27210.549,28.914583,24905.977}; angles[]={0,5.3888464,0}; }; side="Empty"; @@ -2735,7 +2534,7 @@ class Mission }; id=196; type="vn_sign_fob_08"; - atlOffset=3.1040001; + atlOffset=3.1038818; class CustomAttributes { class Attribute0 @@ -2754,12 +2553,12 @@ class Mission nAttributes=1; }; }; - class Item9 + class Item8 { dataType="Object"; class PositionInfo { - position[]={26742.525,20.470982,24614.598}; + position[]={27264.9,26.868992,24894.627}; angles[]={6.0911078,2.2514231,6.0378642}; }; side="Empty"; @@ -2770,7 +2569,7 @@ class Mission }; id=198; type="vn_sign_so_01"; - atlOffset=1.9073486e-006; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -2789,12 +2588,12 @@ class Mission nAttributes=1; }; }; - class Item10 + class Item9 { dataType="Object"; class PositionInfo { - position[]={26693.961,22.80551,24619.875}; + position[]={27210.371,28.911348,24906.096}; angles[]={6.2686648,2.2344422,6.2640133}; }; side="Empty"; @@ -2805,7 +2604,7 @@ class Mission }; id=199; type="vn_sign_so_03"; - atlOffset=3.1030006; + atlOffset=3.1028824; class CustomAttributes { class Attribute0 @@ -2824,13 +2623,13 @@ class Mission nAttributes=1; }; }; - class Item11 + class Item10 { dataType="Object"; class PositionInfo { - position[]={26686.834,20.185822,24606.48}; - angles[]={0.019996032,3.8078544,0.0053377044}; + position[]={27203.244,25.880579,24892.701}; + angles[]={6.2685208,3.8078544,0.015998369}; }; side="Empty"; flags=4; @@ -2840,7 +2639,6 @@ class Mission }; id=200; type="Land_CncBarrier_F"; - atlOffset=1.9073486e-006; class CustomAttributes { class Attribute0 @@ -2859,12 +2657,12 @@ class Mission nAttributes=1; }; }; - class Item12 + class Item11 { dataType="Object"; class PositionInfo { - position[]={26694.123,20.030245,24599.406}; + position[]={27216.498,25.311924,24879.436}; angles[]={0,3.7327557,0}; }; side="Empty"; @@ -2875,7 +2673,7 @@ class Mission }; id=201; type="Land_vn_bagfence_corner_f"; - atlOffset=1.9073486e-006; + atlOffset=9.5367432e-006; class CustomAttributes { class Attribute0 @@ -2894,12 +2692,12 @@ class Mission nAttributes=1; }; }; - class Item13 + class Item12 { dataType="Object"; class PositionInfo { - position[]={26723.564,21.595491,24590.447}; + position[]={27245.939,26.673029,24870.477}; angles[]={0,5.3605194,0}; }; side="Empty"; @@ -2910,7 +2708,7 @@ class Mission }; id=202; type="Land_vn_b_trench_revetment_tall_09"; - atlOffset=0.057264328; + atlOffset=0.05724144; class CustomAttributes { class Attribute0 @@ -2929,12 +2727,12 @@ class Mission nAttributes=1; }; }; - class Item14 + class Item13 { dataType="Object"; class PositionInfo { - position[]={26705.293,21.559095,24589.641}; + position[]={27227.668,26.299093,24869.67}; angles[]={0.04360114,0.68770713,6.2782474}; }; side="Empty"; @@ -2945,7 +2743,7 @@ class Mission }; id=203; type="Land_vn_b_trench_revetment_tall_09"; - atlOffset=3.8146973e-006; + atlOffset=5.7220459e-006; class CustomAttributes { class Attribute0 @@ -2964,12 +2762,12 @@ class Mission nAttributes=1; }; }; - class Item15 + class Item14 { dataType="Object"; class PositionInfo { - position[]={26712.246,21.731476,24583.988}; + position[]={27234.621,26.522633,24864.018}; angles[]={0,0.66638643,0}; }; side="Empty"; @@ -2980,6 +2778,7 @@ class Mission }; id=204; type="Land_vn_b_trench_revetment_tall_09"; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -2998,12 +2797,12 @@ class Mission nAttributes=1; }; }; - class Item16 + class Item15 { dataType="Object"; class PositionInfo { - position[]={26745.742,21.254297,24617.717}; + position[]={27268.117,28.139433,24897.746}; angles[]={0,5.3437815,0}; }; side="Empty"; @@ -3014,6 +2813,7 @@ class Mission }; id=205; type="Land_vn_b_trench_revetment_tall_03"; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -3032,12 +2832,12 @@ class Mission nAttributes=1; }; }; - class Item17 + class Item16 { dataType="Object"; class PositionInfo { - position[]={26719.24,21.66667,24584.832}; + position[]={27241.615,26.7166,24864.861}; angles[]={0,5.3605194,0}; }; side="Empty"; @@ -3048,7 +2848,7 @@ class Mission }; id=206; type="Land_vn_b_trench_revetment_tall_09"; - atlOffset=1.9073486e-006; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -3067,12 +2867,12 @@ class Mission nAttributes=1; }; }; - class Item18 + class Item17 { dataType="Object"; class PositionInfo { - position[]={26704.287,20.274559,24653.898}; + position[]={27220.605,26.925848,24939.496}; angles[]={0,2.2652633,0}; }; side="Empty"; @@ -3083,7 +2883,6 @@ class Mission }; id=207; type="Land_vn_b_trench_revetment_tall_03"; - atlOffset=1.9073486e-006; class CustomAttributes { class Attribute0 @@ -3102,12 +2901,12 @@ class Mission nAttributes=1; }; }; - class Item19 + class Item18 { dataType="Object"; class PositionInfo { - position[]={26699.684,21.309746,24594.35}; + position[]={27222.059,26.194399,24874.379}; angles[]={0.065562233,0.68546295,0}; }; side="Empty"; @@ -3118,7 +2917,7 @@ class Mission }; id=208; type="Land_vn_b_trench_revetment_tall_09"; - atlOffset=1.9073486e-006; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -3137,12 +2936,12 @@ class Mission nAttributes=1; }; }; - class Item20 + class Item19 { dataType="Object"; class PositionInfo { - position[]={26742.953,21.258995,24613.521}; + position[]={27265.328,27.59362,24893.551}; angles[]={0,5.3605194,0}; }; side="Empty"; @@ -3153,7 +2952,7 @@ class Mission }; id=209; type="Land_vn_b_trench_revetment_tall_03"; - atlOffset=1.9073486e-006; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -3172,12 +2971,12 @@ class Mission nAttributes=1; }; }; - class Item21 + class Item20 { dataType="Object"; class PositionInfo { - position[]={26742.957,21.257772,24622.473}; + position[]={27265.332,28.411797,24902.502}; angles[]={0,3.7955356,0}; }; side="Empty"; @@ -3188,6 +2987,7 @@ class Mission }; id=210; type="Land_vn_b_trench_revetment_tall_09"; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -3206,13 +3006,13 @@ class Mission nAttributes=1; }; }; - class Item22 + class Item21 { dataType="Object"; class PositionInfo { - position[]={26691.285,24.271763,24602.9}; - angles[]={0,0.67732966,0}; + position[]={27216.42,29.867428,24884.871}; + angles[]={0,0.72198671,-0}; }; side="Empty"; flags=1; @@ -3221,7 +3021,7 @@ class Mission }; id=211; type="Land_vn_bargate_01_open_f"; - atlOffset=0.32600021; + atlOffset=0.32586479; class CustomAttributes { class Attribute0 @@ -3280,12 +3080,12 @@ class Mission nAttributes=2; }; }; - class Item23 + class Item22 { dataType="Object"; class PositionInfo { - position[]={26700.951,23.951576,24649.137}; + position[]={27217.354,30.320431,24934.49}; angles[]={0,2.2197468,0}; }; side="Empty"; @@ -3295,7 +3095,7 @@ class Mission }; id=212; type="Land_vn_bargate_01_open_f"; - atlOffset=0.35199738; + atlOffset=0.35181236; class CustomAttributes { class Attribute0 @@ -3314,13 +3114,13 @@ class Mission nAttributes=1; }; }; - class Item24 + class Item23 { dataType="Object"; class PositionInfo { - position[]={26744.369,21.65336,24618.932}; - angles[]={0.0093200579,1.426632,0}; + position[]={27266.744,28.559992,24898.961}; + angles[]={6.2206011,1.426632,0.071875811}; }; side="Empty"; flags=4; @@ -3329,7 +3129,7 @@ class Mission }; id=213; type="Land_FieldToilet_F"; - atlOffset=-4.0054321e-005; + atlOffset=-0.006362915; class CustomAttributes { class Attribute0 @@ -3348,13 +3148,13 @@ class Mission nAttributes=1; }; }; - class Item25 + class Item24 { dataType="Object"; class PositionInfo { - position[]={26679.369,19.295816,24613.398}; - angles[]={0.030658109,5.3604212,0.051953323}; + position[]={27195.779,25.315071,24899.619}; + angles[]={6.2685208,5.3604212,0.039977662}; }; side="Empty"; flags=4; @@ -3365,6 +3165,7 @@ class Mission }; id=214; type="Land_vn_steeldrum_closed_04"; + atlOffset=1.1444092e-005; class CustomAttributes { class Attribute0 @@ -3383,12 +3184,12 @@ class Mission nAttributes=1; }; }; - class Item26 + class Item25 { dataType="Object"; class PositionInfo { - position[]={26727.918,21.450897,24594.838}; + position[]={27250.293,26.613525,24874.867}; angles[]={0.0014013562,0.66291463,0.0018505625}; }; side="Empty"; @@ -3399,7 +3200,7 @@ class Mission }; id=215; type="Land_vn_cncbarriermedium_f"; - atlOffset=3.8146973e-006; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -3418,12 +3219,12 @@ class Mission nAttributes=1; }; }; - class Item27 + class Item26 { dataType="Object"; class PositionInfo { - position[]={26696.547,21.493097,24599.541}; + position[]={27218.922,26.803799,24879.57}; angles[]={0,0.6563161,0}; }; side="Empty"; @@ -3434,7 +3235,7 @@ class Mission }; id=216; type="Land_vn_guardbox_01_smooth_f"; - atlOffset=0.55395889; + atlOffset=0.553936; class CustomAttributes { class Attribute0 @@ -3453,12 +3254,12 @@ class Mission nAttributes=1; }; }; - class Item28 + class Item27 { dataType="Object"; class PositionInfo { - position[]={26745.723,24.236845,24619.066}; + position[]={27268.098,31.218622,24899.096}; angles[]={0,4.5506868,0}; }; side="Empty"; @@ -3469,7 +3270,7 @@ class Mission }; id=217; type="Land_vn_lampshabby_f_dir_far"; - atlOffset=1.9073486e-006; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -3488,12 +3289,12 @@ class Mission nAttributes=1; }; }; - class Item29 + class Item28 { dataType="Object"; class PositionInfo { - position[]={26725.75,23.708544,24634.484}; + position[]={27248.125,30.949327,24914.514}; angles[]={0,4.2348404,0}; }; side="Empty"; @@ -3504,6 +3305,7 @@ class Mission }; id=218; type="Land_vn_lampshabby_f_dir_normal"; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -3522,12 +3324,12 @@ class Mission nAttributes=1; }; }; - class Item30 + class Item29 { dataType="Object"; class PositionInfo { - position[]={26694.738,22.988995,24645.934}; + position[]={27211.148,29.420485,24932.154}; angles[]={0,5.542994,0}; }; side="Empty"; @@ -3538,7 +3340,6 @@ class Mission }; id=219; type="Land_vn_lampshabby_f_dir_normal"; - atlOffset=1.9073486e-006; class CustomAttributes { class Attribute0 @@ -3557,12 +3358,12 @@ class Mission nAttributes=1; }; }; - class Item31 + class Item30 { dataType="Object"; class PositionInfo { - position[]={26679.387,20.255516,24613.404}; + position[]={27195.797,26.274776,24899.625}; angles[]={0,3.2795084,0}; }; side="Empty"; @@ -3571,7 +3372,7 @@ class Mission }; id=220; type="vn_b_prop_fmradio_01"; - atlOffset=0.95722771; + atlOffset=0.95713615; class CustomAttributes { class Attribute0 @@ -3590,12 +3391,12 @@ class Mission nAttributes=1; }; }; - class Item32 + class Item31 { dataType="Object"; class PositionInfo { - position[]={26741.533,20.497334,24612.004}; + position[]={27263.908,26.596582,24892.033}; angles[]={0,5.3477116,0}; }; side="Empty"; @@ -3606,7 +3407,7 @@ class Mission }; id=221; type="vn_sign_town_b_04_01"; - atlOffset=1.9073486e-006; + atlOffset=9.5367432e-006; class CustomAttributes { class Attribute0 @@ -3625,12 +3426,12 @@ class Mission nAttributes=1; }; }; - class Item33 + class Item32 { dataType="Object"; class PositionInfo { - position[]={26738.289,20.523558,24606.18}; + position[]={27260.664,26.13166,24886.209}; angles[]={0,5.3605194,0}; }; side="Empty"; @@ -3641,7 +3442,7 @@ class Mission }; id=226; type="Land_vn_bagfence_short_f"; - atlOffset=1.9073486e-006; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -3660,12 +3461,12 @@ class Mission nAttributes=1; }; }; - class Item34 + class Item33 { dataType="Object"; class PositionInfo { - position[]={26740.154,20.512146,24608.541}; + position[]={27262.529,26.312498,24888.57}; angles[]={0,5.3605194,0}; }; side="Empty"; @@ -3676,7 +3477,7 @@ class Mission }; id=227; type="Land_vn_bagfence_short_f"; - atlOffset=1.9073486e-006; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -3695,12 +3496,12 @@ class Mission nAttributes=1; }; }; - class Item35 + class Item34 { dataType="Object"; class PositionInfo { - position[]={26738.871,21.178593,24609.291}; + position[]={27261.246,26.969307,24889.32}; angles[]={0,5.3605194,0}; }; side="Empty"; @@ -3711,7 +3512,7 @@ class Mission }; id=228; type="Land_vn_bagfence_short_f"; - atlOffset=0.67899895; + atlOffset=0.67897415; class CustomAttributes { class Attribute0 @@ -3730,12 +3531,12 @@ class Mission nAttributes=1; }; }; - class Item36 + class Item35 { dataType="Object"; class PositionInfo { - position[]={26737.088,21.19137,24606.943}; + position[]={27259.463,26.79064,24886.973}; angles[]={0,5.3605194,0}; }; side="Empty"; @@ -3746,7 +3547,7 @@ class Mission }; id=229; type="Land_vn_bagfence_short_f"; - atlOffset=0.68599892; + atlOffset=0.68597603; class CustomAttributes { class Attribute0 @@ -3765,12 +3566,12 @@ class Mission nAttributes=1; }; }; - class Item37 + class Item36 { dataType="Object"; class PositionInfo { - position[]={26738.891,20.499376,24609.355}; + position[]={27261.266,26.293568,24889.385}; angles[]={0,5.3605194,0}; }; side="Empty"; @@ -3781,7 +3582,7 @@ class Mission }; id=230; type="Land_vn_bagfence_long_f"; - atlOffset=1.9073486e-006; + atlOffset=5.7220459e-006; class CustomAttributes { class Attribute0 @@ -3800,12 +3601,12 @@ class Mission nAttributes=1; }; }; - class Item38 + class Item37 { dataType="Object"; class PositionInfo { - position[]={26737.111,20.503939,24607.082}; + position[]={27259.486,26.115286,24887.111}; angles[]={0,5.3605194,0}; }; side="Empty"; @@ -3816,7 +3617,7 @@ class Mission }; id=231; type="Land_vn_bagfence_long_f"; - atlOffset=1.9073486e-006; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -3835,13 +3636,13 @@ class Mission nAttributes=1; }; }; - class Item39 + class Item38 { dataType="Object"; class PositionInfo { - position[]={26713.912,19.778538,24630.734}; - angles[]={6.2818484,5.3605156,0.0013372133}; + position[]={27230.322,26.652935,24916.955}; + angles[]={6.2805333,5.3605156,0.037314966}; }; side="Empty"; flags=4; @@ -3851,7 +3652,6 @@ class Mission }; id=235; type="Land_TreeBin_F"; - atlOffset=1.9073486e-006; class CustomAttributes { class Attribute0 @@ -3870,22 +3670,23 @@ class Mission nAttributes=1; }; }; - class Item40 + class Item39 { dataType="Object"; class PositionInfo { - position[]={26713.951,22.181765,24630.693}; + position[]={27230.361,29.057449,24916.914}; angles[]={0,1.8095249,0}; }; side="Empty"; - flags=5; + flags=1; class Attributes { disableSimulation=1; }; id=236; type="vn_sign_direction_f"; + atlOffset=0.42238808; class CustomAttributes { class Attribute0 @@ -3904,12 +3705,12 @@ class Mission nAttributes=1; }; }; - class Item41 + class Item40 { dataType="Object"; class PositionInfo { - position[]={26689.203,22.073137,24623.52}; + position[]={27205.613,28.18819,24909.74}; angles[]={0,5.3605194,0}; }; side="Empty"; @@ -3920,7 +3721,6 @@ class Mission }; id=237; type="Land_vn_metalshelter_03_f"; - atlOffset=1.9073486e-006; class CustomAttributes { class Attribute0 @@ -3939,13 +3739,13 @@ class Mission nAttributes=1; }; }; - class Item42 + class Item41 { dataType="Object"; class PositionInfo { - position[]={26695.459,20.588842,24597.475}; - angles[]={0.059928458,0.67374939,0.021331646}; + position[]={27217.834,25.695198,24877.504}; + angles[]={6.2498641,0.67374939,0.031988446}; }; side="Empty"; flags=4; @@ -3955,7 +3755,7 @@ class Mission }; id=238; type="Land_BagFence_Short_F"; - atlOffset=1.9073486e-006; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -3974,13 +3774,13 @@ class Mission nAttributes=1; }; }; - class Item43 + class Item42 { dataType="Object"; class PositionInfo { - position[]={26694.16,20.49486,24598.58}; - angles[]={0.059928458,0.69903988,0.021331646}; + position[]={27216.535,25.699511,24878.609}; + angles[]={6.249866,0.69903988,0.022662206}; }; side="Empty"; flags=4; @@ -3990,7 +3790,7 @@ class Mission }; id=239; type="Land_BagFence_Short_F"; - atlOffset=1.9073486e-006; + atlOffset=9.5367432e-006; class CustomAttributes { class Attribute0 @@ -4009,12 +3809,12 @@ class Mission nAttributes=1; }; }; - class Item44 + class Item43 { dataType="Object"; class PositionInfo { - position[]={26684.211,20.619938,24607.434}; + position[]={27201.113,26.30242,24893.682}; angles[]={0.04175308,0.68094075,0}; }; side="Empty"; @@ -4043,12 +3843,12 @@ class Mission nAttributes=1; }; }; - class Item45 + class Item44 { dataType="Object"; class PositionInfo { - position[]={26677.402,20.142239,24613.059}; + position[]={27193.813,26.125389,24899.279}; angles[]={0.079758488,0.67376119,0}; }; side="Empty"; @@ -4059,7 +3859,7 @@ class Mission }; id=241; type="Land_vn_b_trench_revetment_tall_09"; - atlOffset=3.8146973e-006; + atlOffset=1.9073486e-006; class CustomAttributes { class Attribute0 @@ -4078,12 +3878,12 @@ class Mission nAttributes=1; }; }; - class Item46 + class Item45 { dataType="Object"; class PositionInfo { - position[]={26673.057,19.873968,24616.496}; + position[]={27189.467,25.969948,24902.717}; angles[]={0,0.67985392,0}; }; side="Empty"; @@ -4094,7 +3894,6 @@ class Mission }; id=242; type="Land_vn_b_trench_revetment_tall_03"; - atlOffset=1.9073486e-006; class CustomAttributes { class Attribute0 @@ -4113,12 +3912,12 @@ class Mission nAttributes=1; }; }; - class Item47 + class Item46 { dataType="Object"; class PositionInfo { - position[]={26675.184,19.812733,24621.379}; + position[]={27191.594,26.103994,24907.6}; angles[]={0,2.2049983,0}; }; side="Empty"; @@ -4129,7 +3928,6 @@ class Mission }; id=243; type="Land_vn_b_trench_revetment_tall_09"; - atlOffset=1.9073486e-006; class CustomAttributes { class Attribute0 @@ -4148,12 +3946,12 @@ class Mission nAttributes=1; }; }; - class Item48 + class Item47 { dataType="Object"; class PositionInfo { - position[]={26680.531,19.817928,24628.473}; + position[]={27196.941,26.199198,24914.693}; angles[]={0,2.2179089,0}; }; side="Empty"; @@ -4164,7 +3962,6 @@ class Mission }; id=244; type="Land_vn_b_trench_revetment_tall_09"; - atlOffset=1.9073486e-006; class CustomAttributes { class Attribute0 @@ -4183,12 +3980,12 @@ class Mission nAttributes=1; }; }; - class Item49 + class Item48 { dataType="Object"; class PositionInfo { - position[]={26685.977,19.789511,24635.703}; + position[]={27202.387,26.270815,24921.924}; angles[]={0,2.2156343,0}; }; side="Empty"; @@ -4199,7 +3996,6 @@ class Mission }; id=245; type="Land_vn_b_trench_revetment_tall_09"; - atlOffset=1.9073486e-006; class CustomAttributes { class Attribute0 @@ -4218,12 +4014,12 @@ class Mission nAttributes=1; }; }; - class Item50 + class Item49 { dataType="Object"; class PositionInfo { - position[]={26691.404,19.914848,24642.895}; + position[]={27207.814,26.395784,24929.115}; angles[]={0,2.2170105,0}; }; side="Empty"; @@ -4234,7 +4030,6 @@ class Mission }; id=246; type="Land_vn_b_trench_revetment_tall_09"; - atlOffset=1.9073486e-006; class CustomAttributes { class Attribute0 @@ -4253,12 +4048,12 @@ class Mission nAttributes=1; }; }; - class Item51 + class Item50 { dataType="Object"; class PositionInfo { - position[]={26694.881,19.967825,24647.789}; + position[]={27211.291,26.429554,24934.01}; angles[]={0,2.2442379,0}; }; side="Empty"; @@ -4287,12 +4082,12 @@ class Mission nAttributes=1; }; }; - class Item52 + class Item51 { dataType="Object"; class PositionInfo { - position[]={26706.256,20.168417,24656.373}; + position[]={27222.352,27.062462,24942.172}; angles[]={0,2.2058496,0}; }; side="Empty"; @@ -4303,7 +4098,7 @@ class Mission }; id=248; type="Land_vn_b_trench_revetment_tall_03"; - atlOffset=1.9073486e-006; + atlOffset=0.00017547607; class CustomAttributes { class Attribute0 @@ -4322,12 +4117,12 @@ class Mission nAttributes=1; }; }; - class Item53 + class Item52 { dataType="Object"; class PositionInfo { - position[]={26702.004,20.165525,24653.594}; + position[]={27218.264,26.705353,24940.127}; angles[]={0,3.7876167,0}; }; side="Empty"; @@ -4338,7 +4133,6 @@ class Mission }; id=249; type="Land_vn_b_trench_revetment_tall_03"; - atlOffset=1.9073486e-006; class CustomAttributes { class Attribute0 @@ -4357,12 +4151,12 @@ class Mission nAttributes=1; }; }; - class Item54 + class Item53 { dataType="Object"; class PositionInfo { - position[]={26731.23,20.934521,24631.557}; + position[]={27253.605,28.195993,24911.586}; angles[]={0.066202238,3.7973411,0}; }; side="Empty"; @@ -4373,7 +4167,7 @@ class Mission }; id=250; type="Land_vn_b_trench_revetment_tall_03"; - atlOffset=1.9073486e-006; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -4392,12 +4186,12 @@ class Mission nAttributes=1; }; }; - class Item55 + class Item54 { dataType="Object"; class PositionInfo { - position[]={26729.115,20.813929,24633.111}; + position[]={27251.49,28.131769,24913.141}; angles[]={0.093477108,3.773056,0}; }; side="Empty"; @@ -4408,6 +4202,7 @@ class Mission }; id=251; type="Land_vn_b_trench_revetment_tall_03"; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -4426,13 +4221,13 @@ class Mission nAttributes=1; }; }; - class Item56 + class Item55 { dataType="Object"; class PositionInfo { - position[]={26687.355,19.604084,24629.068}; - angles[]={0.0026520467,3.0095568,0.093063653}; + position[]={27203.766,25.93755,24915.289}; + angles[]={0.0093350215,3.0095568,0.038647637}; }; side="Empty"; flags=4; @@ -4443,7 +4238,7 @@ class Mission }; id=256; type="Land_CampingTable_F"; - atlOffset=-0.0017051697; + atlOffset=-0.00064086914; class CustomAttributes { class Attribute0 @@ -4462,15 +4257,16 @@ class Mission nAttributes=1; }; }; - class Item57 + class Item56 { dataType="Object"; class PositionInfo { - position[]={26688.053,20.081491,24628.979}; - angles[]={0.0012684262,5.3604794,0.09309271}; + position[]={27204.463,26.377684,24915.199}; + angles[]={0.0093350215,5.3604794,0.038649179}; }; side="Empty"; + flags=4; class Attributes { createAsSimpleObject=1; @@ -4478,7 +4274,7 @@ class Mission }; id=257; type="Land_FilePhotos_F"; - atlOffset=0.81578636; + atlOffset=3.8146973e-005; class CustomAttributes { class Attribute0 @@ -4497,15 +4293,16 @@ class Mission nAttributes=1; }; }; - class Item58 + class Item57 { dataType="Object"; class PositionInfo { - position[]={26687.355,20.012745,24628.92}; - angles[]={0.0012684262,3.1389015,0.09309271}; + position[]={27203.766,26.347466,24915.141}; + angles[]={0.0093350215,3.1389015,0.038649179}; }; side="Empty"; + flags=4; class Attributes { createAsSimpleObject=1; @@ -4513,7 +4310,7 @@ class Mission }; id=258; type="Land_PencilRed_F"; - atlOffset=0.81575775; + atlOffset=9.5367432e-006; class CustomAttributes { class Attribute0 @@ -4532,13 +4329,13 @@ class Mission nAttributes=1; }; }; - class Item59 + class Item58 { dataType="Object"; class PositionInfo { - position[]={26687.186,20.003414,24628.938}; - angles[]={0.0012684262,1.6625841,0.09309271}; + position[]={27203.596,26.347233,24915.158}; + angles[]={0.0093350215,1.6625841,0.038649179}; }; side="Empty"; class Attributes @@ -4548,7 +4345,7 @@ class Mission }; id=259; type="Land_Notepad_F"; - atlOffset=0.81533813; + atlOffset=0.8152523; class CustomAttributes { class Attribute0 @@ -4567,13 +4364,13 @@ class Mission nAttributes=1; }; }; - class Item60 + class Item59 { dataType="Object"; class PositionInfo { - position[]={26686.713,19.951338,24629.105}; - angles[]={0.0012684262,3.4842505,0.09309271}; + position[]={27203.123,26.31996,24915.326}; + angles[]={0.0093350215,3.4842505,0.038649179}; }; side="Empty"; class Attributes @@ -4583,7 +4380,7 @@ class Mission }; id=260; type="Land_File_research_F"; - atlOffset=0.8116436; + atlOffset=0.81150055; class CustomAttributes { class Attribute0 @@ -4602,12 +4399,12 @@ class Mission nAttributes=1; }; }; - class Item61 + class Item60 { dataType="Object"; class PositionInfo { - position[]={26695.023,22.089174,24631.215}; + position[]={27211.434,28.337437,24917.436}; angles[]={0,5.3605194,0}; }; side="Empty"; @@ -4618,7 +4415,6 @@ class Mission }; id=261; type="Land_vn_metalshelter_03_f"; - atlOffset=-0.11162567; class CustomAttributes { class Attribute0 @@ -4637,20 +4433,20 @@ class Mission nAttributes=1; }; }; - class Item62 + class Item61 { dataType="Logic"; class PositionInfo { - position[]={26734.178,21.530834,24644.432}; - angles[]={0,5.4097962,0}; + position[]={27252.049,29.493225,24927.881}; + angles[]={6.2663412,5.4097962,6.261436}; }; areaSize[]={61.53994,0,40.519627}; areaIsRectangle=1; flags=1; id=270; type="ModuleHideTerrainObjects_F"; - atlOffset=0.37555695; + atlOffset=1.2169685; class CustomAttributes { class Attribute0 @@ -4682,13 +4478,13 @@ class Mission nAttributes=2; }; }; - class Item63 + class Item62 { dataType="Object"; class PositionInfo { - position[]={26727.416,20.33604,24641.926}; - angles[]={0.0080009829,1.1689519,0.0026520467}; + position[]={27243.826,28.093462,24928.146}; + angles[]={6.233892,1.1689519,0.085126832}; }; side="Empty"; flags=4; @@ -4699,15 +4495,15 @@ class Mission }; id=273; type="Land_WoodenTable_02_large_F"; - atlOffset=-2.8610229e-005; + atlOffset=-0.0025024414; }; - class Item64 + class Item63 { dataType="Object"; class PositionInfo { - position[]={26721.018,20.265085,24640.613}; - angles[]={6.2778587,1.6540874,0.0066682254}; + position[]={27237.428,27.612844,24926.834}; + angles[]={6.2445393,1.6540874,0.04796192}; }; side="Empty"; flags=4; @@ -4718,14 +4514,14 @@ class Mission }; id=274; type="Land_WoodenTable_02_large_F"; - atlOffset=-2.4795532e-005; + atlOffset=-0.00064468384; }; - class Item65 + class Item64 { dataType="Object"; class PositionInfo { - position[]={26718.477,23.253473,24649.016}; + position[]={27234.887,30.812008,24935.236}; angles[]={0,2.2289894,0}; }; side="Empty"; @@ -4736,12 +4532,12 @@ class Mission id=275; type="Land_vn_bar_01"; }; - class Item66 + class Item65 { dataType="Object"; class PositionInfo { - position[]={26719.904,23.221937,24651.475}; + position[]={27236.314,30.941076,24937.695}; angles[]={0,0.62994969,0}; }; side="Empty"; @@ -4752,14 +4548,14 @@ class Mission }; id=276; type="vn_sign_skull_02_f"; - atlOffset=2.0968628; + atlOffset=2.191534; }; - class Item67 + class Item66 { dataType="Object"; class PositionInfo { - position[]={26722.154,20.906454,24649.705}; + position[]={27238.564,28.650328,24935.926}; angles[]={0,0.092291169,0}; }; side="Empty"; @@ -4771,14 +4567,14 @@ class Mission }; id=277; type="Land_vn_humanskull_f"; - atlOffset=0.98649216; + atlOffset=1.0805206; }; - class Item68 + class Item67 { dataType="Object"; class PositionInfo { - position[]={26721.088,20.957634,24650.551}; + position[]={27237.498,28.690926,24936.771}; angles[]={0,4.5597115,0}; }; side="Empty"; @@ -4788,14 +4584,14 @@ class Mission }; id=279; type="vn_magazine_mine_tripwire_arty"; - atlOffset=1.0376701; + atlOffset=0.47076035; }; - class Item69 + class Item68 { dataType="Object"; class PositionInfo { - position[]={26724.906,22.85663,24650.104}; + position[]={27241.316,30.783175,24936.324}; angles[]={0,0.66130763,0}; }; side="Empty"; @@ -4806,14 +4602,14 @@ class Mission }; id=280; type="vn_banner_101stab"; - atlOffset=2.4352779; + atlOffset=2.5209045; }; - class Item70 + class Item69 { dataType="Object"; class PositionInfo { - position[]={26709.787,20.025906,24660.859}; + position[]={27226.197,27.514429,24947.08}; angles[]={0,2.2324111,0}; }; side="Empty"; @@ -4824,7 +4620,6 @@ class Mission }; id=281; type="Land_vn_b_trench_revetment_tall_09"; - atlOffset=1.9073486e-006; class CustomAttributes { class Attribute0 @@ -4843,12 +4638,12 @@ class Mission nAttributes=1; }; }; - class Item71 + class Item70 { dataType="Object"; class PositionInfo { - position[]={26716.246,20.524359,24661.686}; + position[]={27232.656,28.514025,24947.906}; angles[]={0,3.7808931,0.11804985}; }; side="Empty"; @@ -4877,12 +4672,12 @@ class Mission nAttributes=1; }; }; - class Item72 + class Item71 { dataType="Object"; class PositionInfo { - position[]={26723.383,21.044565,24656.402}; + position[]={27239.793,28.916147,24942.623}; angles[]={0,3.7868862,0}; }; side="Empty"; @@ -4893,6 +4688,7 @@ class Mission }; id=284; type="Land_vn_b_trench_revetment_tall_09"; + atlOffset=-1.9073486e-006; class CustomAttributes { class Attribute0 @@ -4911,47 +4707,12 @@ class Mission nAttributes=1; }; }; - class Item73 - { - dataType="Object"; - class PositionInfo - { - position[]={26732.666,20.986738,24643.207}; - angles[]={0,5.371316,0}; - }; - side="Empty"; - flags=5; - class Attributes - { - disableSimulation=1; - }; - id=285; - type="Land_vn_b_trench_revetment_tall_09"; - atlOffset=3.8146973e-006; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - singleType="BOOL"; - value=0; - }; - }; - }; - nAttributes=1; - }; - }; - class Item74 + class Item72 { dataType="Object"; class PositionInfo { - position[]={26727.244,20.73543,24634.512}; + position[]={27249.619,28.076685,24914.541}; angles[]={0.076288179,3.7876287,0}; }; side="Empty"; @@ -4962,7 +4723,7 @@ class Mission }; id=286; type="Land_vn_b_trench_revetment_tall_03"; - atlOffset=1.9073486e-006; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -4981,12 +4742,12 @@ class Mission nAttributes=1; }; }; - class Item75 + class Item73 { dataType="Object"; class PositionInfo { - position[]={26728.084,21.096779,24653.1}; + position[]={27244.494,28.94521,24939.32}; angles[]={0,3.7876167,0}; }; side="Empty"; @@ -5015,12 +4776,12 @@ class Mission nAttributes=1; }; }; - class Item76 + class Item74 { dataType="Object"; class PositionInfo { - position[]={26730.373,21.160061,24651.371}; + position[]={27246.783,28.989349,24937.592}; angles[]={0.064345054,3.7876344,0}; }; side="Empty"; @@ -5049,12 +4810,12 @@ class Mission nAttributes=1; }; }; - class Item77 + class Item75 { dataType="Object"; class PositionInfo { - position[]={26734.934,21.384993,24647.91}; + position[]={27251.344,29.218592,24934.131}; angles[]={0,3.8271055,0.036959123}; }; side="Empty"; @@ -5065,6 +4826,7 @@ class Mission }; id=291; type="Land_vn_b_trench_revetment_tall_03"; + atlOffset=1.9073486e-006; class CustomAttributes { class Attribute0 @@ -5083,12 +4845,12 @@ class Mission nAttributes=1; }; }; - class Item78 + class Item76 { dataType="Object"; class PositionInfo { - position[]={26732.607,21.286211,24649.715}; + position[]={27249.018,29.105476,24935.936}; angles[]={0.089270614,3.7876339,0}; }; side="Empty"; @@ -5099,7 +4861,6 @@ class Mission }; id=292; type="Land_vn_b_trench_revetment_tall_03"; - atlOffset=1.9073486e-006; class CustomAttributes { class Attribute0 @@ -5118,12 +4879,12 @@ class Mission nAttributes=1; }; }; - class Item79 + class Item77 { dataType="Object"; class PositionInfo { - position[]={26719.855,22.868103,24653.961}; + position[]={27236.266,30.723223,24940.182}; angles[]={0,0.65806121,0}; }; side="Empty"; @@ -5134,14 +4895,14 @@ class Mission }; id=294; type="vn_banner_usa"; - atlOffset=2.4467487; + atlOffset=2.5966892; }; - class Item80 + class Item78 { dataType="Object"; class PositionInfo { - position[]={26717.955,22.792917,24655.49}; + position[]={27234.365,30.677025,24941.711}; angles[]={0,0.65983754,0}; }; side="Empty"; @@ -5152,14 +4913,14 @@ class Mission }; id=295; type="vn_banner_usmc"; - atlOffset=2.5832729; + atlOffset=2.5831547; }; - class Item81 + class Item79 { dataType="Object"; class PositionInfo { - position[]={26723.25,22.829967,24651.332}; + position[]={27239.66,30.686329,24937.553}; angles[]={0,0.6502074,0}; }; side="Empty"; @@ -5170,14 +4931,14 @@ class Mission }; id=296; type="vn_banner_usarmy"; - atlOffset=2.4086132; + atlOffset=2.4980106; }; - class Item82 + class Item80 { dataType="Object"; class PositionInfo { - position[]={26725.115,22.87686,24648.627}; + position[]={27241.525,30.762114,24934.848}; angles[]={0,5.3605194,0}; }; side="Empty"; @@ -5188,14 +4949,14 @@ class Mission }; id=297; type="vn_banner_1stcav"; - atlOffset=2.5436535; + atlOffset=2.5435352; }; - class Item83 + class Item81 { dataType="Object"; class PositionInfo { - position[]={26723.832,22.856544,24646.949}; + position[]={27240.242,30.566364,24933.17}; angles[]={0,2.2309866,0}; }; side="Empty"; @@ -5206,14 +4967,14 @@ class Mission }; id=298; type="vn_banner_aus"; - atlOffset=2.5289993; + atlOffset=2.5288811; }; - class Item84 + class Item82 { dataType="Object"; class PositionInfo { - position[]={26721.301,22.868614,24644.928}; + position[]={27237.711,30.380745,24931.148}; angles[]={0,2.977493,0}; }; side="Empty"; @@ -5224,18 +4985,17 @@ class Mission }; id=299; type="vn_banner_nz"; - atlOffset=2.4472618; + atlOffset=2.4008579; }; - class Item85 + class Item83 { dataType="Object"; class PositionInfo { - position[]={26720.473,20.75724,24640.773}; - angles[]={6.2776828,5.3605204,0.0045412821}; + position[]={27236.883,28.087385,24926.994}; + angles[]={6.2443609,5.3605204,0.045866083}; }; side="Empty"; - flags=4; class Attributes { createAsSimpleObject=1; @@ -5243,33 +5003,32 @@ class Mission }; id=300; type="Land_vn_basket_f"; - atlOffset=2.2888184e-005; + atlOffset=0.97079277; }; - class Item86 + class Item84 { dataType="Object"; class PositionInfo { - position[]={26727.381,22.376814,24641.895}; - angles[]={0.0088364352,5.3606195,0.00069053395}; + position[]={27243.791,30.128891,24928.115}; + angles[]={6.2347312,5.3606195,0.083257742}; }; side="Empty"; - flags=4; class Attributes { disableSimulation=1; }; id=301; type="Land_vn_sunshade_03_f"; - atlOffset=4.0054321e-005; + atlOffset=0.96156311; }; - class Item87 + class Item85 { dataType="Object"; class PositionInfo { - position[]={26721.17,22.306189,24640.615}; - angles[]={6.2775836,5.3605204,0.0044587478}; + position[]={27237.58,29.660465,24926.836}; + angles[]={6.2443609,5.3605204,0.045866083}; }; side="Empty"; class Attributes @@ -5278,14 +5037,14 @@ class Mission }; id=302; type="Land_vn_sunshade_03_f"; - atlOffset=0.96931458; + atlOffset=0.96681595; }; - class Item88 + class Item86 { dataType="Object"; class PositionInfo { - position[]={26738.537,24.27702,24607.861}; + position[]={27260.912,29.994631,24887.891}; angles[]={0,1.5107244,0}; }; side="Empty"; @@ -5296,7 +5055,7 @@ class Mission }; id=306; type="Land_vn_lampshabby_f_4xdir_normal"; - atlOffset=1.9073486e-006; + atlOffset=5.7220459e-006; class CustomAttributes { class Attribute0 @@ -5315,13 +5074,13 @@ class Mission nAttributes=1; }; }; - class Item89 + class Item87 { dataType="Object"; class PositionInfo { - position[]={26688.01,19.43248,24624.346}; - angles[]={0.063912325,5.3604903,0.031990308}; + position[]={27204.42,25.589001,24910.566}; + angles[]={0.0079935296,5.3604903,0.035984326}; }; side="Empty"; flags=4; @@ -5332,14 +5091,14 @@ class Mission }; id=307; type="Land_vn_object_trashcan_01"; - atlOffset=3.8146973e-006; + atlOffset=1.9073486e-006; }; - class Item90 + class Item88 { dataType="Object"; class PositionInfo { - position[]={26732.9,24.324482,24600.453}; + position[]={27255.275,29.540552,24880.482}; angles[]={0,1.4398386,0}; }; side="Empty"; @@ -5350,6 +5109,7 @@ class Mission }; id=310; type="Land_vn_lampshabby_f_4xdir_normal"; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -5368,12 +5128,12 @@ class Mission nAttributes=1; }; }; - class Item91 + class Item89 { dataType="Object"; class PositionInfo { - position[]={26721.547,24.52145,24652.691}; + position[]={27237.957,32.357327,24938.912}; angles[]={0,3.7996058,0}; }; side="Empty"; @@ -5384,14 +5144,14 @@ class Mission }; id=312; type="vn_banner_25thid"; - atlOffset=0.4000988; + atlOffset=0.67743874; }; - class Item92 + class Item90 { dataType="Object"; class PositionInfo { - position[]={26741.174,22.453527,24611.926}; + position[]={27263.549,28.518986,24891.955}; angles[]={0,2.2359762,0}; }; side="Empty"; @@ -5402,6 +5162,7 @@ class Mission }; id=313; type="Land_Billboard_03_aan_F"; + atlOffset=9.5367432e-006; class CustomAttributes { class Attribute0 @@ -5420,12 +5181,12 @@ class Mission nAttributes=1; }; }; - class Item93 + class Item91 { dataType="Object"; class PositionInfo { - position[]={26718.471,20.493267,24602.652}; + position[]={27240.846,25.755127,24882.682}; angles[]={0,5.3588033,0}; }; side="Empty"; @@ -5436,13 +5197,14 @@ class Mission }; id=315; type="Land_vn_barracks_01_grey_f"; + atlOffset=7.6293945e-006; }; - class Item94 + class Item92 { dataType="Object"; class PositionInfo { - position[]={26713.996,23.541597,24630.676}; + position[]={27230.406,30.418953,24916.896}; angles[]={0,1.4398386,0}; }; side="Empty"; @@ -5471,20 +5233,20 @@ class Mission nAttributes=1; }; }; - class Item95 + class Item93 { dataType="Layer"; name="Vehicles"; class Entities { - items=20; + items=3; class Item0 { dataType="Object"; class PositionInfo { - position[]={26735.535,22.118704,24598.482}; - angles[]={0.018663859,2.6387284,0.0053377044}; + position[]={27212.25,27.270243,24926.289}; + angles[]={0.010664274,2.2578104,0.051952176}; }; side="Empty"; flags=4; @@ -5492,17 +5254,17 @@ class Mission { disableSimulation=1; }; - id=184; - type="vn_b_wheeled_m151_01"; - atlOffset=-0.0016765594; + id=305; + type="vn_b_wheeled_m151_02_mp"; + atlOffset=-0.00070762634; }; class Item1 { dataType="Object"; class PositionInfo { - position[]={26750.205,22.187494,24618.047}; - angles[]={0.02666023,2.147872,0.027990974}; + position[]={27141.725,26.47098,24941.986}; + angles[]={-0,4.1968412,0.014664836}; }; side="Empty"; flags=4; @@ -5510,17 +5272,17 @@ class Mission { disableSimulation=1; }; - id=185; + id=1153; type="vn_b_wheeled_m151_01"; - atlOffset=-0.00042915344; + atlOffset=-7.0571899e-005; }; class Item2 { dataType="Object"; class PositionInfo { - position[]={26749.15,22.174726,24615.674}; - angles[]={0.0093350215,2.1985738,0.045302324}; + position[]={27139.365,26.436419,24943.35}; + angles[]={-0,4.1990023,0.014664836}; }; side="Empty"; flags=4; @@ -5528,344 +5290,46 @@ class Mission { disableSimulation=1; }; - id=183; + id=1154; type="vn_b_wheeled_m151_02"; - atlOffset=-0.0010585785; + atlOffset=-4.196167e-005; }; - class Item3 + }; + id=326; + atlOffset=0.13977432; + }; + class Item94 + { + dataType="Layer"; + name="Markers"; + class Entities + { + items=11; + class Item0 { - dataType="Object"; - class PositionInfo - { - position[]={26734.117,22.15468,24596.15}; - angles[]={0.018663859,2.6408226,0.0053377044}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=186; - type="vn_b_wheeled_m151_02"; - atlOffset=-0.0016860962; + dataType="Marker"; + position[]={27220.801,26.233784,24921.641}; + name="baseflag_greenhornets"; + text="@STR_vn_mf_respawn_green_hornets_altis"; + type="b_hq"; + colorName="ColorWEST"; + angle=0.040999997; + id=180; }; - class Item4 + class Item1 { - dataType="Object"; - class PositionInfo - { - position[]={26695.84,20.942778,24640.068}; - angles[]={0.043964844,2.2578104,0.05726425}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=305; - type="vn_b_wheeled_m151_02_mp"; - atlOffset=-0.0020008087; + dataType="Marker"; + position[]={27216.643,25.984982,24907.914}; + name="mf_respawn_greenhornets"; + text="@STR_vn_mf_respawn_green_hornets_altis"; + type="Empty"; + angle=304.07294; + id=181; }; - class Item5 - { - dataType="Object"; - class PositionInfo - { - position[]={27094.643,26.382637,24916.771}; - angles[]={0,5.4084606,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=532; - type="vn_b_air_ch34_04_02"; - atlOffset=-0.00048065186; - }; - class Item6 - { - dataType="Object"; - class PositionInfo - { - position[]={26977.738,26.660467,24865.99}; - angles[]={0,2.2482808,0}; - }; - side="Empty"; - class Attributes - { - disableSimulation=1; - }; - id=699; - type="vn_b_air_f4c_chico"; - atlOffset=0.98463631; - }; - class Item7 - { - dataType="Object"; - class PositionInfo - { - position[]={27091.143,27.537914,24954.445}; - angles[]={6.2578578,2.2618761,6.2551923}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=578; - type="vn_b_air_oh6a_07"; - atlOffset=-0.0029850006; - }; - class Item8 - { - dataType="Object"; - class PositionInfo - { - position[]={27101.426,27.684004,24966.594}; - angles[]={6.2645216,2.2618761,6.2232571}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=689; - type="vn_b_air_oh6a_07"; - }; - class Item9 - { - dataType="Object"; - class PositionInfo - { - position[]={27156.73,27.477175,24989.498}; - angles[]={6.272521,5.4114799,0.0013372133}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=649; - type="vn_b_air_uh1c_03_01"; - atlOffset=-0.0010986328; - }; - class Item10 - { - dataType="Object"; - class PositionInfo - { - position[]={27021.813,26.766573,24874.768}; - angles[]={0.008083445,2.378145,0.066711776}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=998; - type="vn_b_air_uh1c_07_07"; - atlOffset=-0.0017261505; - }; - class Item11 - { - dataType="Object"; - class PositionInfo - { - position[]={27037.947,26.725904,24895.572}; - angles[]={0.008083445,2.378145,0.066711776}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=999; - type="vn_b_air_uh1c_07_07"; - atlOffset=-0.0055122375; - }; - class Item12 - { - dataType="Object"; - class PositionInfo - { - position[]={27047.033,25.764822,24855.73}; - angles[]={6.2492948,5.4012499,6.2713742}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=995; - type="vn_b_air_uh1d_02_01"; - atlOffset=-1.335144e-005; - }; - class Item13 - { - dataType="Object"; - class PositionInfo - { - position[]={27060.557,26.14592,24874.807}; - angles[]={6.272521,5.5269451,6.2765174}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=996; - type="vn_b_air_uh1d_02_01"; - atlOffset=-7.6293945e-006; - }; - class Item14 - { - dataType="Object"; - class PositionInfo - { - position[]={27079.596,25.914434,24897.047}; - angles[]={6.2655921,5.3554873,6.2797089}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=1012; - type="vn_b_air_ch34_03_01"; - }; - class Item15 - { - dataType="Object"; - class PositionInfo - { - position[]={27056.086,25.94013,24916.492}; - angles[]={0.017728668,2.2577443,0.0027013496}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=1013; - type="vn_b_air_ch34_03_01"; - atlOffset=-0.00029754639; - }; - class Item16 - { - dataType="Object"; - class PositionInfo - { - position[]={26950.422,25.265516,24833.146}; - angles[]={0,2.2085919,0}; - }; - side="Empty"; - class Attributes - { - disableSimulation=1; - }; - id=1143; - type="vn_b_air_f100d_bmb"; - atlOffset=0.87599945; - }; - class Item17 - { - dataType="Object"; - class PositionInfo - { - position[]={27140.76,27.528297,24967.455}; - angles[]={0,5.426805,0}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=1148; - type="vn_i_air_uh1c_01_01"; - atlOffset=-0.0030002594; - }; - class Item18 - { - dataType="Object"; - class PositionInfo - { - position[]={27130.994,26.275242,24951.398}; - angles[]={0.0093286335,4.1968412,0.0093286335}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=1153; - type="vn_b_wheeled_m151_01"; - atlOffset=-3.0517578e-005; - }; - class Item19 - { - dataType="Object"; - class PositionInfo - { - position[]={27128.635,26.241789,24952.762}; - angles[]={0.0039967569,4.1990023,0.0093286335}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=1154; - type="vn_b_wheeled_m151_02"; - atlOffset=-9.1552734e-005; - }; - }; - id=326; - atlOffset=-0.15629578; - }; - class Item96 - { - dataType="Layer"; - name="Markers"; - class Entities - { - items=11; - class Item0 - { - dataType="Marker"; - position[]={26707.875,19.945999,24615.891}; - name="baseflag_greenhornets"; - text="@STR_vn_mf_respawn_green_hornets_altis"; - type="b_hq"; - colorName="ColorWEST"; - angle=0.040999997; - id=180; - atlOffset=-0.00028038025; - }; - class Item1 - { - dataType="Marker"; - position[]={26680.613,19.312,24614.988}; - name="mf_respawn_greenhornets"; - text="@STR_vn_mf_respawn_green_hornets_altis"; - type="Empty"; - angle=90.36599; - id=181; - atlOffset=-0.00029754639; - }; - class Item2 + class Item2 { dataType="Marker"; - position[]={26689.27,19.525703,24623.451}; + position[]={27210.727,25.669451,24895.006}; name="arsenal_greenhornets"; type="mil_dot"; colorName="ColorPink"; @@ -5917,7 +5381,7 @@ class Mission class Item7 { dataType="Marker"; - position[]={26736.799,20.685213,24648.297}; + position[]={26978.529,21.049011,24812.734}; name="supply_officer_marker_2"; type="mil_dot"; id=1119; @@ -5925,25 +5389,24 @@ class Mission class Item8 { dataType="Marker"; - position[]={26787.537,21.236731,24663.998}; + position[]={27272.293,29.755127,24918.732}; name="supply_drop_initial_2"; text="Initial Supply Drop 2"; type="Empty"; colorName="ColorOrange"; angle=225.49689; id=1083; - atlOffset=0.5648365; + atlOffset=0.70321465; }; class Item9 { dataType="Marker"; - position[]={26736.033,20.684999,24648.092}; + position[]={27261.891,28.70002,24929.607}; name="supply_officer_initial_2"; text="Initial Supply Officer 2"; type="Empty"; - angle=64.787964; + angle=46.721531; id=1082; - atlOffset=0.031223297; }; class Item10 { @@ -5962,9 +5425,9 @@ class Mission }; }; id=327; - atlOffset=3.2699356; + atlOffset=-0.25759506; }; - class Item97 + class Item95 { dataType="Object"; class PositionInfo @@ -5999,7 +5462,7 @@ class Mission nAttributes=1; }; }; - class Item98 + class Item96 { dataType="Object"; class PositionInfo @@ -6034,13 +5497,13 @@ class Mission nAttributes=1; }; }; - class Item99 + class Item97 { dataType="Object"; class PositionInfo { - position[]={27091.455,22.991142,24953.758}; - angles[]={0,2.2737968,0}; + position[]={27094.477,25.016705,24951.191}; + angles[]={6.2618566,2.2737968,6.2551947}; }; side="Empty"; flags=4; @@ -6051,7 +5514,7 @@ class Mission }; id=572; type="Land_HelipadSquare_F"; - atlOffset=-2.1700115; + atlOffset=1.9073486e-006; class CustomAttributes { class Attribute0 @@ -6070,13 +5533,13 @@ class Mission nAttributes=1; }; }; - class Item100 + class Item98 { dataType="Object"; class PositionInfo { - position[]={27101.643,22.991142,24965.609}; - angles[]={0,2.2700751,0}; + position[]={27104.664,25.066946,24963.043}; + angles[]={6.2645216,2.2700751,6.2232571}; }; side="Empty"; flags=4; @@ -6087,7 +5550,6 @@ class Mission }; id=573; type="Land_HelipadSquare_F"; - atlOffset=-2.3049641; class CustomAttributes { class Attribute0 @@ -6106,23 +5568,22 @@ class Mission nAttributes=1; }; }; - class Item101 + class Item99 { dataType="Object"; class PositionInfo { - position[]={27118.293,22.991142,24985.689}; + position[]={27121.314,25.115288,24983.123}; angles[]={0,2.2726066,0}; }; side="Empty"; - flags=4; class Attributes { disableSimulation=1; }; id=646; type="Land_HelipadSquare_F"; - atlOffset=-1.5396576; + atlOffset=0.63033295; class CustomAttributes { class Attribute0 @@ -6141,16 +5602,15 @@ class Mission nAttributes=1; }; }; - class Item102 + class Item100 { dataType="Object"; class PositionInfo { - position[]={27134.918,22.991142,25006.572}; + position[]={27137.939,25.204222,25004.006}; angles[]={0,2.2726014,0}; }; side="Empty"; - flags=4; class Attributes { init="[this, [""Muskets"",""MACV""]] call vn_mf_fnc_lock_vehicle_to_teams;"; @@ -6158,7 +5618,7 @@ class Mission }; id=648; type="Land_HelipadSquare_F"; - atlOffset=-1.4427795; + atlOffset=0.72721481; class CustomAttributes { class Attribute0 @@ -6177,16 +5637,15 @@ class Mission nAttributes=1; }; }; - class Item103 + class Item101 { dataType="Object"; class PositionInfo { - position[]={27075.199,22.991142,24933.273}; + position[]={27077.654,25.123789,24931.193}; angles[]={0,2.287672,0}; }; side="Empty"; - flags=4; class Attributes { init="[this, [""Muskets"",""MACV""]] call vn_mf_fnc_lock_vehicle_to_teams;"; @@ -6194,7 +5653,7 @@ class Mission }; id=653; type="Land_HelipadSquare_F"; - atlOffset=-1.3938713; + atlOffset=0.77610779; class CustomAttributes { class Attribute0 @@ -6213,16 +5672,15 @@ class Mission nAttributes=1; }; }; - class Item104 + class Item102 { dataType="Object"; class PositionInfo { - position[]={27058.848,22.991142,24914.188}; + position[]={27061.262,25.172029,24912.281}; angles[]={0,2.2876725,0}; }; side="Empty"; - flags=4; class Attributes { init="[this, [""Muskets"",""MACV"", ""DacCong""]] call vn_mf_fnc_lock_vehicle_to_teams;"; @@ -6230,7 +5688,7 @@ class Mission }; id=654; type="Land_HelipadSquare_F"; - atlOffset=-0.92533875; + atlOffset=1.2446365; class CustomAttributes { class Attribute0 @@ -6249,16 +5707,15 @@ class Mission nAttributes=1; }; }; - class Item105 + class Item103 { dataType="Object"; class PositionInfo { - position[]={27039.734,22.991142,24893.391}; + position[]={27042.756,25.02462,24890.824}; angles[]={0,2.2876754,0}; }; side="Empty"; - flags=4; class Attributes { init="[this, [""Muskets"",""MACV""]] call vn_mf_fnc_lock_vehicle_to_teams;"; @@ -6266,7 +5723,7 @@ class Mission }; id=655; type="Land_HelipadSquare_F"; - atlOffset=-0.81206703; + atlOffset=1.3579254; class CustomAttributes { class Attribute0 @@ -6285,13 +5742,13 @@ class Mission nAttributes=1; }; }; - class Item106 + class Item104 { dataType="Object"; class PositionInfo { - position[]={27059.512,22.991142,24877.893}; - angles[]={0,5.4119892,0}; + position[]={27067.707,23.231941,24870.184}; + angles[]={6.2711854,5.4119892,6.2818484}; }; side="Empty"; flags=4; @@ -6302,7 +5759,6 @@ class Mission }; id=656; type="Land_HelipadSquare_F"; - atlOffset=-0.37253189; class CustomAttributes { class Attribute0 @@ -6321,13 +5777,13 @@ class Mission nAttributes=1; }; }; - class Item107 + class Item105 { dataType="Object"; class PositionInfo { - position[]={27077.389,22.991142,24898.234}; - angles[]={0,5.4119892,0}; + position[]={27085.432,23.824938,24891.082}; + angles[]={6.2578578,5.4119892,0.017332481}; }; side="Empty"; flags=4; @@ -6338,7 +5794,7 @@ class Mission }; id=657; type="Land_HelipadSquare_F"; - atlOffset=-0.83399773; + atlOffset=-3.8146973e-006; class CustomAttributes { class Attribute0 @@ -6357,13 +5813,13 @@ class Mission nAttributes=1; }; }; - class Item108 + class Item106 { dataType="Object"; class PositionInfo { - position[]={27094.162,22.991142,24917.557}; - angles[]={0,5.4119892,0}; + position[]={27102.063,24.335224,24910.654}; + angles[]={6.2791886,5.4119892,0.0093286335}; }; side="Empty"; flags=4; @@ -6374,7 +5830,6 @@ class Mission }; id=658; type="Land_HelipadSquare_F"; - atlOffset=-1.3184147; class CustomAttributes { class Attribute0 @@ -6393,13 +5848,13 @@ class Mission nAttributes=1; }; }; - class Item109 + class Item107 { dataType="Object"; class PositionInfo { - position[]={27138.471,22.991142,24969.34}; - angles[]={0,5.4119892,0}; + position[]={27144.842,24.762537,24963.025}; + angles[]={0.017332481,5.4119892,0.010664274}; }; side="Empty"; flags=4; @@ -6410,7 +5865,6 @@ class Mission }; id=659; type="Land_HelipadSquare_F"; - atlOffset=-1.5691013; class CustomAttributes { class Attribute0 @@ -6429,13 +5883,13 @@ class Mission nAttributes=1; }; }; - class Item110 + class Item108 { dataType="Object"; class PositionInfo { - position[]={27155.494,22.991142,24990.098}; - angles[]={0,5.4119892,0}; + position[]={27161.865,24.757593,24983.783}; + angles[]={0.017329043,5.4119892,0.015998369}; }; side="Empty"; flags=4; @@ -6446,7 +5900,6 @@ class Mission }; id=660; type="Land_HelipadSquare_F"; - atlOffset=-1.5838108; class CustomAttributes { class Attribute0 @@ -6465,7 +5918,7 @@ class Mission nAttributes=1; }; }; - class Item111 + class Item109 { dataType="Object"; class PositionInfo @@ -6500,7 +5953,7 @@ class Mission nAttributes=1; }; }; - class Item112 + class Item110 { dataType="Object"; class PositionInfo @@ -6535,12 +5988,12 @@ class Mission nAttributes=1; }; }; - class Item113 + class Item111 { dataType="Object"; class PositionInfo { - position[]={27143.002,26.763172,24981.729}; + position[]={27153.732,28.585411,24972.316}; angles[]={0,3.0146716,0}; }; side="Empty"; @@ -6551,7 +6004,7 @@ class Mission }; id=561; type="Land_vn_lampshabby_f_4xdir_normal"; - atlOffset=-1.4891224; + atlOffset=9.5367432e-006; class CustomAttributes { class Attribute0 @@ -6570,12 +6023,12 @@ class Mission nAttributes=1; }; }; - class Item114 + class Item112 { dataType="Object"; class PositionInfo { - position[]={27126.432,26.763172,24962.242}; + position[]={27137.162,28.578035,24952.83}; angles[]={0,3.0146716,0}; }; side="Empty"; @@ -6586,7 +6039,7 @@ class Mission }; id=562; type="Land_vn_lampshabby_f_4xdir_normal"; - atlOffset=-1.667202; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -6605,7 +6058,7 @@ class Mission nAttributes=1; }; }; - class Item115 + class Item113 { dataType="Object"; class PositionInfo @@ -6640,7 +6093,7 @@ class Mission nAttributes=1; }; }; - class Item116 + class Item114 { dataType="Object"; class PositionInfo @@ -6675,12 +6128,12 @@ class Mission nAttributes=1; }; }; - class Item117 + class Item115 { dataType="Object"; class PositionInfo { - position[]={27097.439,26.763172,24929.271}; + position[]={27108.17,28.267012,24919.859}; angles[]={0,3.0146716,0}; }; side="Empty"; @@ -6691,7 +6144,7 @@ class Mission }; id=565; type="Land_vn_lampshabby_f_4xdir_normal"; - atlOffset=-1.5614414; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -6710,12 +6163,12 @@ class Mission nAttributes=1; }; }; - class Item118 + class Item116 { dataType="Object"; class PositionInfo { - position[]={27082.893,26.763172,24911.08}; + position[]={27093.623,27.882324,24901.668}; angles[]={0,3.0146716,0}; }; side="Empty"; @@ -6726,7 +6179,7 @@ class Mission }; id=566; type="Land_vn_lampshabby_f_4xdir_normal"; - atlOffset=-1.0620117; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -6745,7 +6198,7 @@ class Mission nAttributes=1; }; }; - class Item119 + class Item117 { dataType="Object"; class PositionInfo @@ -6780,12 +6233,12 @@ class Mission nAttributes=1; }; }; - class Item120 + class Item118 { dataType="Object"; class PositionInfo { - position[]={27064.098,26.763172,24890.609}; + position[]={27074.828,27.199356,24881.197}; angles[]={0,3.0146716,0}; }; side="Empty"; @@ -6796,7 +6249,7 @@ class Mission }; id=568; type="Land_vn_lampshabby_f_4xdir_normal"; - atlOffset=-0.55653191; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -6815,7 +6268,7 @@ class Mission nAttributes=1; }; }; - class Item121 + class Item119 { dataType="Object"; class PositionInfo @@ -6850,12 +6303,12 @@ class Mission nAttributes=1; }; }; - class Item122 + class Item120 { dataType="Object"; class PositionInfo { - position[]={27046.723,26.763172,24869.535}; + position[]={27057.453,26.853285,24860.123}; angles[]={0,3.0146716,0}; }; side="Empty"; @@ -6866,7 +6319,7 @@ class Mission }; id=570; type="Land_vn_lampshabby_f_4xdir_normal"; - atlOffset=-0.25418091; + atlOffset=9.5367432e-006; class CustomAttributes { class Attribute0 @@ -6885,12 +6338,12 @@ class Mission nAttributes=1; }; }; - class Item123 + class Item121 { dataType="Object"; class PositionInfo { - position[]={27116.053,29.769024,24921.104}; + position[]={27126.783,29.670092,24911.691}; angles[]={0,3.0146716,0}; }; side="Empty"; @@ -6901,7 +6354,7 @@ class Mission }; id=678; type="Land_vn_lampshabby_f_4xdir_normal"; - atlOffset=1.4065247; + atlOffset=1.261198; class CustomAttributes { class Attribute0 @@ -6920,7 +6373,7 @@ class Mission nAttributes=1; }; }; - class Item124 + class Item122 { dataType="Object"; class PositionInfo @@ -6954,7 +6407,7 @@ class Mission nAttributes=1; }; }; - class Item125 + class Item123 { dataType="Object"; class PositionInfo @@ -6988,7 +6441,7 @@ class Mission nAttributes=1; }; }; - class Item126 + class Item124 { dataType="Object"; class PositionInfo @@ -7023,7 +6476,7 @@ class Mission nAttributes=1; }; }; - class Item127 + class Item125 { dataType="Object"; class PositionInfo @@ -7058,12 +6511,12 @@ class Mission nAttributes=1; }; }; - class Item128 + class Item126 { dataType="Object"; class PositionInfo { - position[]={27137.158,24.803411,24952.975}; + position[]={27147.889,24.963835,24943.563}; angles[]={0,3.8533485,0}; }; side="Empty"; @@ -7074,6 +6527,7 @@ class Mission }; id=622; type="Land_vn_usaf_revetment_low_3"; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -7092,12 +6546,12 @@ class Mission nAttributes=1; }; }; - class Item129 + class Item127 { dataType="Object"; class PositionInfo { - position[]={27129.783,24.683554,24959.266}; + position[]={27140.514,24.885588,24949.854}; angles[]={0,3.843421,0}; }; side="Empty"; @@ -7108,7 +6562,7 @@ class Mission }; id=624; type="Land_vn_usaf_revetment_low_3"; - atlOffset=-1.9073486e-006; + atlOffset=5.7220459e-006; class CustomAttributes { class Attribute0 @@ -7127,12 +6581,12 @@ class Mission nAttributes=1; }; }; - class Item130 + class Item128 { dataType="Object"; class PositionInfo { - position[]={27146.34,24.594976,24978.906}; + position[]={27157.07,24.892435,24969.494}; angles[]={0,3.843421,0}; }; side="Empty"; @@ -7143,6 +6597,7 @@ class Mission }; id=625; type="Land_vn_usaf_revetment_low_3"; + atlOffset=9.5367432e-006; class CustomAttributes { class Attribute0 @@ -7161,12 +6616,12 @@ class Mission nAttributes=1; }; }; - class Item131 + class Item129 { dataType="Object"; class PositionInfo { - position[]={27153.713,24.80994,24972.613}; + position[]={27164.443,24.957047,24963.201}; angles[]={0,3.8533485,0}; }; side="Empty"; @@ -7177,7 +6632,7 @@ class Mission }; id=626; type="Land_vn_usaf_revetment_low_3"; - atlOffset=1.9073486e-006; + atlOffset=5.7220459e-006; class CustomAttributes { class Attribute0 @@ -7196,12 +6651,12 @@ class Mission nAttributes=1; }; }; - class Item132 + class Item130 { dataType="Object"; class PositionInfo { - position[]={27086.621,24.055519,24908.012}; + position[]={27097.352,24.140966,24898.6}; angles[]={0,3.843421,0}; }; side="Empty"; @@ -7212,6 +6667,7 @@ class Mission }; id=628; type="Land_vn_usaf_revetment_low_3"; + atlOffset=9.5367432e-006; class CustomAttributes { class Attribute0 @@ -7230,12 +6686,12 @@ class Mission nAttributes=1; }; }; - class Item133 + class Item131 { dataType="Object"; class PositionInfo { - position[]={27093.994,24.118267,24901.721}; + position[]={27104.725,24.110109,24892.309}; angles[]={0,3.8533485,0}; }; side="Empty"; @@ -7246,6 +6702,7 @@ class Mission }; id=629; type="Land_vn_usaf_revetment_low_3"; + atlOffset=5.7220459e-006; class CustomAttributes { class Attribute0 @@ -7264,12 +6721,12 @@ class Mission nAttributes=1; }; }; - class Item134 + class Item132 { dataType="Object"; class PositionInfo { - position[]={27108.738,24.497793,24919.594}; + position[]={27119.469,24.553705,24910.182}; angles[]={0,3.843421,0}; }; side="Empty"; @@ -7280,6 +6737,7 @@ class Mission }; id=630; type="Land_vn_usaf_revetment_low_3"; + atlOffset=5.7220459e-006; class CustomAttributes { class Attribute0 @@ -7298,12 +6756,12 @@ class Mission nAttributes=1; }; }; - class Item135 + class Item133 { dataType="Object"; class PositionInfo { - position[]={27100.881,24.526453,24926.287}; + position[]={27111.611,24.499235,24916.875}; angles[]={0,3.8434238,0}; }; side="Empty"; @@ -7314,6 +6772,7 @@ class Mission }; id=631; type="Land_vn_usaf_revetment_low_3"; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -7332,23 +6791,23 @@ class Mission nAttributes=1; }; }; - class Item136 + class Item134 { dataType="Object"; class PositionInfo { - position[]={27049.723,23.485443,24866.938}; + position[]={27060.453,23.086437,24857.525}; angles[]={0,3.843421,0}; }; side="Empty"; - flags=1; + flags=5; class Attributes { disableSimulation=1; }; id=632; type="Land_vn_usaf_revetment_low_3"; - atlOffset=0.25477028; + atlOffset=0.10944557; class CustomAttributes { class Attribute0 @@ -7367,23 +6826,23 @@ class Mission nAttributes=1; }; }; - class Item137 + class Item135 { dataType="Object"; class PositionInfo { - position[]={27057.58,23.384245,24860.186}; + position[]={27068.311,22.971588,24850.773}; angles[]={0,3.8533547,0}; }; side="Empty"; - flags=1; + flags=5; class Attributes { disableSimulation=1; }; id=633; type="Land_vn_usaf_revetment_low_3"; - atlOffset=0.30151558; + atlOffset=0.15618896; class CustomAttributes { class Attribute0 @@ -7402,12 +6861,12 @@ class Mission nAttributes=1; }; }; - class Item138 + class Item136 { dataType="Object"; class PositionInfo { - position[]={27075.404,23.491154,24880.939}; + position[]={27086.135,23.375299,24871.527}; angles[]={0,3.8434238,0}; }; side="Empty"; @@ -7418,7 +6877,7 @@ class Mission }; id=634; type="Land_vn_usaf_revetment_low_3"; - atlOffset=0.062877655; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -7437,12 +6896,12 @@ class Mission nAttributes=1; }; }; - class Item139 + class Item137 { dataType="Object"; class PositionInfo { - position[]={27067.701,23.491154,24887.461}; + position[]={27078.432,23.402925,24878.049}; angles[]={0,3.843421,0}; }; side="Empty"; @@ -7453,6 +6912,7 @@ class Mission }; id=635; type="Land_vn_usaf_revetment_low_3"; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -7471,7 +6931,7 @@ class Mission nAttributes=1; }; }; - class Item140 + class Item138 { dataType="Object"; class PositionInfo @@ -7506,7 +6966,7 @@ class Mission nAttributes=1; }; }; - class Item141 + class Item139 { dataType="Object"; class PositionInfo @@ -7541,7 +7001,7 @@ class Mission nAttributes=1; }; }; - class Item142 + class Item140 { dataType="Object"; class PositionInfo @@ -7576,7 +7036,7 @@ class Mission nAttributes=1; }; }; - class Item143 + class Item141 { dataType="Object"; class PositionInfo @@ -7611,7 +7071,7 @@ class Mission nAttributes=1; }; }; - class Item144 + class Item142 { dataType="Object"; class PositionInfo @@ -7645,7 +7105,7 @@ class Mission nAttributes=1; }; }; - class Item145 + class Item143 { dataType="Object"; class PositionInfo @@ -7679,7 +7139,7 @@ class Mission nAttributes=1; }; }; - class Item146 + class Item144 { dataType="Object"; class PositionInfo @@ -7714,7 +7174,7 @@ class Mission nAttributes=1; }; }; - class Item147 + class Item145 { dataType="Object"; class PositionInfo @@ -7748,12 +7208,12 @@ class Mission nAttributes=1; }; }; - class Item148 + class Item146 { dataType="Object"; class PositionInfo { - position[]={27106.418,22.991142,24909.074}; + position[]={27117.148,24.471359,24899.662}; angles[]={0,2.2618761,0}; }; side="Empty"; @@ -7764,7 +7224,7 @@ class Mission }; id=548; type="Land_vn_usaf_revetment_2"; - atlOffset=-1.3878613; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -7783,12 +7243,12 @@ class Mission nAttributes=1; }; }; - class Item149 + class Item147 { dataType="Object"; class PositionInfo { - position[]={27110.693,22.991142,24914.313}; + position[]={27121.424,24.540506,24904.9}; angles[]={0,2.2618761,0}; }; side="Empty"; @@ -7799,7 +7259,7 @@ class Mission }; id=549; type="Land_vn_usaf_revetment_2"; - atlOffset=-1.4705467; + atlOffset=0.0010662079; class CustomAttributes { class Attribute0 @@ -7818,12 +7278,12 @@ class Mission nAttributes=1; }; }; - class Item150 + class Item148 { dataType="Object"; class PositionInfo { - position[]={27115.15,22.991142,24919.748}; + position[]={27125.881,24.61762,24910.336}; angles[]={0,2.2618761,0}; }; side="Empty"; @@ -7834,7 +7294,7 @@ class Mission }; id=579; type="Land_vn_usaf_revetment_2"; - atlOffset=-1.5820751; + atlOffset=5.7220459e-006; class CustomAttributes { class Attribute0 @@ -7853,12 +7313,12 @@ class Mission nAttributes=1; }; }; - class Item151 + class Item149 { dataType="Object"; class PositionInfo { - position[]={27138.639,22.991142,24946.5}; + position[]={27149.369,24.978327,24937.088}; angles[]={0,2.2596762,0}; }; side="Empty"; @@ -7869,7 +7329,7 @@ class Mission }; id=580; type="Land_vn_usaf_revetment_2"; - atlOffset=-1.8982334; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -7888,12 +7348,12 @@ class Mission nAttributes=1; }; }; - class Item152 + class Item150 { dataType="Object"; class PositionInfo { - position[]={27149.672,22.991142,24959.693}; + position[]={27160.402,24.970491,24950.281}; angles[]={0,5.4221501,0}; }; side="Empty"; @@ -7904,7 +7364,7 @@ class Mission }; id=590; type="Land_vn_usaf_revetment_8"; - atlOffset=-1.8770123; + atlOffset=5.7220459e-006; class CustomAttributes { class Attribute0 @@ -7923,7 +7383,7 @@ class Mission nAttributes=1; }; }; - class Item153 + class Item151 { dataType="Object"; class PositionInfo @@ -7958,12 +7418,12 @@ class Mission nAttributes=1; }; }; - class Item154 + class Item152 { dataType="Object"; class PositionInfo { - position[]={27167.793,22.991142,24980.916}; + position[]={27178.523,24.990736,24971.504}; angles[]={0,5.411346,0}; }; side="Empty"; @@ -7974,7 +7434,7 @@ class Mission }; id=592; type="Land_vn_usaf_revetment_8"; - atlOffset=-1.8829365; + atlOffset=9.5367432e-006; class CustomAttributes { class Attribute0 @@ -7993,7 +7453,7 @@ class Mission nAttributes=1; }; }; - class Item155 + class Item153 { dataType="Object"; class PositionInfo @@ -8028,7 +7488,7 @@ class Mission nAttributes=1; }; }; - class Item156 + class Item154 { dataType="Object"; class PositionInfo @@ -8063,7 +7523,7 @@ class Mission nAttributes=1; }; }; - class Item157 + class Item155 { dataType="Object"; class PositionInfo @@ -8098,7 +7558,7 @@ class Mission nAttributes=1; }; }; - class Item158 + class Item156 { dataType="Object"; class PositionInfo @@ -8133,7 +7593,7 @@ class Mission nAttributes=1; }; }; - class Item159 + class Item157 { dataType="Object"; class PositionInfo @@ -8168,7 +7628,7 @@ class Mission nAttributes=1; }; }; - class Item160 + class Item158 { dataType="Object"; class PositionInfo @@ -8203,7 +7663,7 @@ class Mission nAttributes=1; }; }; - class Item161 + class Item159 { dataType="Object"; class PositionInfo @@ -8238,12 +7698,12 @@ class Mission nAttributes=1; }; }; - class Item162 + class Item160 { dataType="Object"; class PositionInfo { - position[]={27165.234,22.991142,25000.4}; + position[]={27175.965,24.819084,24990.988}; angles[]={0,3.8424325,0}; }; side="Empty"; @@ -8254,7 +7714,7 @@ class Mission }; id=601; type="Land_vn_usaf_revetment_8"; - atlOffset=-1.4248962; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -8273,12 +7733,12 @@ class Mission nAttributes=1; }; }; - class Item163 + class Item161 { dataType="Object"; class PositionInfo { - position[]={27077.244,22.991142,24874.686}; + position[]={27087.975,23.273907,24865.273}; angles[]={0,5.4221501,0}; }; side="Empty"; @@ -8289,7 +7749,7 @@ class Mission }; id=602; type="Land_vn_usaf_revetment_8"; - atlOffset=-0.33704758; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -8308,12 +7768,12 @@ class Mission nAttributes=1; }; }; - class Item164 + class Item162 { dataType="Object"; class PositionInfo { - position[]={27095.365,22.991142,24895.908}; + position[]={27106.096,23.926548,24886.496}; angles[]={0,5.411346,0}; }; side="Empty"; @@ -8324,7 +7784,6 @@ class Mission }; id=603; type="Land_vn_usaf_revetment_8"; - atlOffset=-1.0598373; class CustomAttributes { class Attribute0 @@ -8343,12 +7802,12 @@ class Mission nAttributes=1; }; }; - class Item165 + class Item163 { dataType="Object"; class PositionInfo { - position[]={27059.109,22.991142,24853.434}; + position[]={27069.84,22.722399,24844.021}; angles[]={0,5.411346,0}; }; side="Empty"; @@ -8359,7 +7818,7 @@ class Mission }; id=605; type="Land_vn_usaf_revetment_8"; - atlOffset=0.14535141; + atlOffset=2.4795532e-005; class CustomAttributes { class Attribute0 @@ -8378,7 +7837,7 @@ class Mission nAttributes=1; }; }; - class Item166 + class Item164 { dataType="Logic"; class PositionInfo @@ -8422,7 +7881,7 @@ class Mission nAttributes=2; }; }; - class Item167 + class Item165 { dataType="Layer"; name="Rearm Points"; @@ -8434,8 +7893,8 @@ class Mission dataType="Object"; class PositionInfo { - position[]={27056.256,22.975712,24855.037}; - angles[]={6.2591896,0.71907109,6.2671871}; + position[]={27066.986,22.697828,24845.625}; + angles[]={6.2698536,0.71907109,0.018663859}; }; side="Empty"; flags=4; @@ -8445,7 +7904,7 @@ class Mission }; id=522; type="Land_vn_us_vehicleammo"; - atlOffset=0.043283463; + atlOffset=-0.0014038086; class CustomAttributes { class Attribute0 @@ -8538,7 +7997,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={27045.809,24.43224,24845.953}; + position[]={27056.539,24.205441,24836.541}; angles[]={0,3.8845229,0}; }; side="Empty"; @@ -8549,6 +8008,7 @@ class Mission }; id=525; type="Land_vn_usaf_fueltank_75_01"; + atlOffset=5.7220459e-006; class CustomAttributes { class Attribute0 @@ -8710,7 +8170,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={27139.787,26.599955,24955.797}; + position[]={27150.518,26.756691,24946.385}; angles[]={0,3.8340154,0}; }; side="Empty"; @@ -8721,6 +8181,7 @@ class Mission }; id=550; type="Land_vn_usaf_fueltank_75_01"; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -8744,7 +8205,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={27156.102,26.617634,24975.48}; + position[]={27166.832,26.76944,24966.068}; angles[]={0,3.8340154,0}; }; side="Empty"; @@ -8755,6 +8216,7 @@ class Mission }; id=552; type="Land_vn_usaf_fueltank_75_01"; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -9016,7 +8478,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={27077.24,25.329399,24884.248}; + position[]={27087.971,25.275524,24874.836}; angles[]={0,3.8340154,0}; }; side="Empty"; @@ -9027,6 +8489,7 @@ class Mission }; id=671; type="Land_vn_usaf_fueltank_75_01"; + atlOffset=9.5367432e-006; class CustomAttributes { class Attribute0 @@ -9050,7 +8513,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={27058.816,24.983925,24864.104}; + position[]={27069.547,24.705717,24854.691}; angles[]={0,3.8340154,0}; }; side="Empty"; @@ -9061,6 +8524,7 @@ class Mission }; id=674; type="Land_vn_usaf_fueltank_75_01"; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -9084,7 +8548,7 @@ class Mission dataType="Object"; class PositionInfo { - position[]={27094.34,25.961264,24905.588}; + position[]={27105.07,26.023838,24896.176}; angles[]={0,3.8340154,0}; }; side="Empty"; @@ -9095,6 +8559,7 @@ class Mission }; id=676; type="Land_vn_usaf_fueltank_75_01"; + atlOffset=7.6293945e-006; class CustomAttributes { class Attribute0 @@ -9118,8 +8583,8 @@ class Mission dataType="Object"; class PositionInfo { - position[]={27057.4,23.200821,24864.041}; - angles[]={6.2698536,2.2961795,6.2778587}; + position[]={27068.131,22.880754,24854.629}; + angles[]={6.2578602,2.2961795,0.013332055}; }; side="Empty"; flags=4; @@ -9129,7 +8594,7 @@ class Mission }; id=675; type="Land_vn_us_vehicleammo"; - atlOffset=0.027469635; + atlOffset=0.016426086; class CustomAttributes { class Attribute0 @@ -9153,8 +8618,8 @@ class Mission dataType="Object"; class PositionInfo { - position[]={27076.02,23.565325,24884.311}; - angles[]={6.2618566,2.2961795,0.014664836}; + position[]={27086.75,23.431505,24874.898}; + angles[]={6.2591896,2.2961795,0.017332481}; }; side="Empty"; flags=4; @@ -9164,7 +8629,7 @@ class Mission }; id=673; type="Land_vn_us_vehicleammo"; - atlOffset=0.077308655; + atlOffset=0.0023651123; class CustomAttributes { class Attribute0 @@ -9433,8 +8898,8 @@ class Mission dataType="Object"; class PositionInfo { - position[]={27154.357,24.806929,24975.205}; - angles[]={0.013332055,2.2961795,0.014664836}; + position[]={27165.088,24.969599,24965.793}; + angles[]={-0,2.2961795,0.0026520467}; }; side="Empty"; flags=4; @@ -9444,7 +8909,7 @@ class Mission }; id=553; type="Land_vn_us_vehicleammo"; - atlOffset=0.012811661; + atlOffset=0.012924194; class CustomAttributes { class Attribute0 @@ -9468,8 +8933,8 @@ class Mission dataType="Object"; class PositionInfo { - position[]={27138.105,24.809162,24955.336}; - angles[]={0.017329043,2.2961795,0.014664836}; + position[]={27148.836,24.961319,24945.924}; + angles[]={0.0066682254,2.2961795,0.0026520467}; }; side="Empty"; flags=4; @@ -9479,7 +8944,7 @@ class Mission }; id=551; type="Land_vn_us_vehicleammo"; - atlOffset=0.026762009; + atlOffset=0.005115509; class CustomAttributes { class Attribute0 @@ -9503,8 +8968,8 @@ class Mission dataType="Object"; class PositionInfo { - position[]={27093.385,24.193926,24905.877}; - angles[]={6.276526,2.2961795,0.015998369}; + position[]={27104.115,24.211262,24896.465}; + angles[]={6.256525,2.2961795,0.019996032}; }; side="Empty"; flags=4; @@ -9514,7 +8979,7 @@ class Mission }; id=547; type="Land_vn_us_vehicleammo"; - atlOffset=0.062286377; + atlOffset=0.028694153; class CustomAttributes { class Attribute0 @@ -9538,8 +9003,8 @@ class Mission dataType="Object"; class PositionInfo { - position[]={26681.293,19.052238,24626.854}; - angles[]={0.063913256,2.2487233,0.02399601}; + position[]={27197.703,25.434391,24913.074}; + angles[]={0.0080009829,2.2487233,0.025325486}; }; side="Empty"; flags=4; @@ -9549,7 +9014,7 @@ class Mission }; id=262; type="Land_vn_us_vehicleammo"; - atlOffset=-0.051446915; + atlOffset=0.064970016; class CustomAttributes { class Attribute0 @@ -9570,15 +9035,15 @@ class Mission }; }; id=521; - atlOffset=2.208252; + atlOffset=0.067960739; }; - class Item168 + class Item166 { dataType="Object"; class PositionInfo { - position[]={27045.1,22.991142,24856.955}; - angles[]={0,5.4123058,0}; + position[]={27051.471,22.807629,24850.641}; + angles[]={6.2405448,5.4123058,0.015998369}; }; side="Empty"; flags=4; @@ -9588,7 +9053,7 @@ class Mission }; id=679; type="Land_HelipadSquare_F"; - atlOffset=0.039560318; + atlOffset=1.9073486e-006; class CustomAttributes { class Attribute0 @@ -9607,23 +9072,22 @@ class Mission nAttributes=1; }; }; - class Item169 + class Item167 { dataType="Object"; class PositionInfo { - position[]={27023.271,22.991142,24873.412}; - angles[]={0,2.2618761,0}; + position[]={27026.547,24.953299,24872.096}; + angles[]={0,2.2778649,-0}; }; side="Empty"; - flags=4; class Attributes { disableSimulation=1; }; id=680; type="Land_HelipadSquare_F"; - atlOffset=-0.76337051; + atlOffset=1.407011; class CustomAttributes { class Attribute0 @@ -9642,23 +9106,23 @@ class Mission nAttributes=1; }; }; - class Item170 + class Item168 { dataType="Object"; class PositionInfo { - position[]={27122.523,23.015146,24982.039}; + position[]={27125.545,25.155125,24979.473}; angles[]={0,5.4175954,0}; }; side="Empty"; - flags=5; + flags=1; class Attributes { disableSimulation=1; }; id=684; type="Reflector_Cone_01_wide_red_F"; - atlOffset=-1.48703; + atlOffset=0.68296242; class CustomAttributes { class Attribute0 @@ -9677,23 +9141,23 @@ class Mission nAttributes=1; }; }; - class Item171 + class Item169 { dataType="Object"; class PositionInfo { - position[]={27139.115,23.015146,25003.016}; + position[]={27142.137,25.204676,25000.449}; angles[]={0,5.4174833,0}; }; side="Empty"; - flags=5; + flags=1; class Attributes { disableSimulation=1; }; id=685; type="Reflector_Cone_01_wide_red_F"; - atlOffset=-1.493454; + atlOffset=0.67653847; class CustomAttributes { class Attribute0 @@ -9712,12 +9176,12 @@ class Mission nAttributes=1; }; }; - class Item172 + class Item170 { dataType="Object"; class PositionInfo { - position[]={27151.221,23.015146,24993.709}; + position[]={27157.592,24.650629,24987.395}; angles[]={0,2.275044,0}; }; side="Empty"; @@ -9728,7 +9192,6 @@ class Mission }; id=686; type="Reflector_Cone_01_wide_red_F"; - atlOffset=-1.4914532; class CustomAttributes { class Attribute0 @@ -9747,12 +9210,12 @@ class Mission nAttributes=1; }; }; - class Item173 + class Item171 { dataType="Object"; class PositionInfo { - position[]={27134.268,23.015146,24973}; + position[]={27140.639,24.663368,24966.686}; angles[]={0,2.3319886,0}; }; side="Empty"; @@ -9763,7 +9226,6 @@ class Mission }; id=687; type="Reflector_Cone_01_wide_red_F"; - atlOffset=-1.4574661; class CustomAttributes { class Attribute0 @@ -9782,12 +9244,12 @@ class Mission nAttributes=1; }; }; - class Item174 + class Item172 { dataType="Object"; class PositionInfo { - position[]={27047.969,22.842728,24840.146}; + position[]={27058.699,22.660355,24830.734}; angles[]={0,2.2489486,0}; }; side="Empty"; @@ -9798,7 +9260,7 @@ class Mission }; id=690; type="Land_vn_usaf_revetment_2"; - atlOffset=0.43738365; + atlOffset=0.29205894; class CustomAttributes { class Attribute0 @@ -9817,7 +9279,7 @@ class Mission nAttributes=1; }; }; - class Item175 + class Item173 { dataType="Object"; class PositionInfo @@ -9852,645 +9314,423 @@ class Mission nAttributes=1; }; }; - class Item176 + class Item174 { dataType="Object"; class PositionInfo { - position[]={26736.529,22.247707,24648.504}; - angles[]={6.2791886,0,0.039977662}; + position[]={27272.307,29.616381,24918.639}; }; side="Empty"; - flags=4; class Attributes { }; - id=1087; - type="Land_Sunshade_02_F"; + id=1084; + type="Land_JumpTarget_F"; + atlOffset=0.5646553; }; - class Item177 + class Item175 { dataType="Object"; class PositionInfo { - position[]={26787.527,21.23661,24663.998}; + position[]={26916.922,20.575237,24799.439}; + angles[]={6.2485328,0,0}; }; side="Empty"; + flags=4; class Attributes { }; - id=1084; - type="Land_JumpTarget_F"; - atlOffset=0.5648613; + id=1057; + type="Land_vn_b_helipad_01"; }; - class Item178 + class Item176 { dataType="Object"; class PositionInfo { - position[]={26916.922,20.575237,24799.439}; - angles[]={6.2485328,0,0}; + position[]={27250.727,32.508999,24927.066}; + angles[]={0,3.7923059,-0}; }; side="Empty"; - flags=4; + flags=1; class Attributes { }; - id=1057; - type="Land_vn_b_helipad_01"; - }; - }; - id=324; - atlOffset=3.0677357; - }; - class Item14 - { - dataType="Layer"; - name="ACAV"; - class Entities - { - items=80; - class Item0 - { - dataType="Layer"; - name="Vehicles"; - class Entities + id=1247; + type="Land_vn_bargate_01_open_f"; + atlOffset=0.32548141; + class CustomAttributes { - items=33; - class Item0 + class Attribute0 { - dataType="Object"; - class PositionInfo - { - position[]={26489.621,20.036301,24192.676}; - angles[]={0.021328852,0.62043643,0.02666023}; - }; - side="Empty"; - flags=4; - class Attributes + property="DoorStates"; + expression="['init',_this,_value] call bis_fnc_3DENAttributeDoorStates;"; + class Value { - disableSimulation=1; + class data + { + singleType="ARRAY"; + class value + { + items=3; + class Item0 + { + class data + { + singleType="SCALAR"; + value=0; + }; + }; + class Item1 + { + class data + { + singleType="SCALAR"; + value=0; + }; + }; + class Item2 + { + class data + { + singleType="SCALAR"; + value=0; + }; + }; + }; + }; }; - id=809; - type="vn_b_wheeled_m54_03"; }; - class Item1 + class Attribute1 { - dataType="Object"; - class PositionInfo - { - position[]={26575.9,21.401276,24213.695}; - angles[]={6.2325621,3.7807968,0.042641956}; - }; - side="Empty"; - flags=4; - class Attributes + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - disableSimulation=1; + class data + { + singleType="BOOL"; + value=0; + }; }; - id=794; - type="vn_b_wheeled_m151_mg_04"; - atlOffset=0.2063446; }; - class Item2 - { - dataType="Object"; - class PositionInfo - { - position[]={26585.686,21.184105,24207.85}; - angles[]={6.2259154,3.7426844,0.031988446}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=797; - type="vn_b_wheeled_m151_mg_03"; - }; - class Item3 + nAttributes=2; + }; + }; + class Item177 + { + dataType="Object"; + class PositionInfo + { + position[]={27249.473,29.859896,24932.025}; + angles[]={0,3.8109577,-0}; + }; + side="Empty"; + flags=1; + class Attributes + { + disableSimulation=1; + }; + id=1248; + type="Land_vn_guardbox_01_smooth_f"; + atlOffset=0.75444794; + class CustomAttributes + { + class Attribute0 { - dataType="Object"; - class PositionInfo - { - position[]={26572.002,21.24449,24216.797}; - angles[]={6.2272439,3.7727129,0.042640556}; - }; - side="Empty"; - flags=4; - class Attributes + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - disableSimulation=1; + class data + { + singleType="BOOL"; + value=0; + }; }; - id=793; - type="vn_b_wheeled_m151_mg_03_mp"; - atlOffset=0.24421883; }; - class Item4 + nAttributes=1; + }; + }; + }; + id=324; + atlOffset=2.1202755; + }; + class Item14 + { + dataType="Layer"; + name="ACAV"; + class Entities + { + items=80; + class Item0 + { + dataType="Layer"; + name="Vehicles"; + class Entities + { + items=9; + class Item0 { dataType="Object"; class PositionInfo { - position[]={26569.84,21.247051,24219.064}; - angles[]={6.2272439,3.7573938,0.042640556}; + position[]={26529.965,20.091831,24126.242}; }; side="Empty"; - flags=4; class Attributes { - disableSimulation=1; }; - id=792; - type="vn_b_wheeled_m151_mg_05"; - atlOffset=0.21365929; + id=834; + type="vn_b_army_static_mortar_m2"; + atlOffset=0.33343697; }; - class Item5 + class Item1 { dataType="Object"; class PositionInfo { - position[]={26579.521,20.88138,24212.176}; - angles[]={6.2259154,3.7650065,0.02399601}; + position[]={26520.154,19.990252,24125.205}; }; side="Empty"; - flags=4; class Attributes { - disableSimulation=1; }; - id=795; - type="vn_b_wheeled_m151_01"; - atlOffset=0.12796974; + id=835; + type="vn_b_army_static_mortar_m2"; + atlOffset=0.33154488; }; - class Item6 + class Item2 { dataType="Object"; class PositionInfo { - position[]={26582.9,20.818531,24209.666}; - angles[]={6.2259154,3.7436018,0.02399601}; + position[]={26525.701,19.927801,24119.518}; + angles[]={0,2.9000788,0}; }; side="Empty"; - flags=4; class Attributes { - disableSimulation=1; }; - id=796; - type="vn_b_wheeled_m151_02"; - atlOffset=0.028808594; + id=832; + type="vn_b_army_static_mortar_m29"; + atlOffset=0.25478554; }; - class Item7 + class Item3 { dataType="Object"; class PositionInfo { - position[]={26499.506,20.045935,24206.764}; - angles[]={0.037314966,3.8028729,6.2671909}; + position[]={26468.684,19.325014,24181.697}; + angles[]={0.0039967569,2.1813307,0.029324362}; }; side="Empty"; flags=4; class Attributes { - disableSimulation=1; }; - id=790; - type="vn_b_wheeled_m54_repair"; + id=815; + type="vn_b_army_static_m60_high"; + atlOffset=-3.4332275e-005; }; - class Item8 + class Item4 { dataType="Object"; class PositionInfo { - position[]={26510.438,20.860096,24208.498}; - angles[]={0.0080009829,0.67757571,0.018663859}; + position[]={26461.676,18.698303,24170.148}; + angles[]={0,1.3873897,0.046633169}; }; side="Empty"; flags=4; class Attributes { - disableSimulation=1; }; - id=786; - type="vn_b_armor_m41_01_01"; + id=814; + type="vn_b_army_static_m60_low"; + atlOffset=1.9073486e-005; }; - class Item9 + class Item5 { dataType="Object"; class PositionInfo { - position[]={26504.852,20.730293,24213.395}; - angles[]={0.0039967569,0.64856082,0.017329043}; + position[]={26461.063,18.643789,24175.357}; + angles[]={0,2.0814977,0.037314966}; }; side="Empty"; flags=4; class Attributes { - disableSimulation=1; }; - id=787; - type="vn_b_armor_m41_01_02"; + id=829; + type="vn_b_army_static_tow"; }; - class Item10 + class Item6 { dataType="Object"; class PositionInfo { - position[]={26498.451,20.601791,24218.549}; - angles[]={0,0.65346104,0.017329043}; + position[]={26458.717,18.577559,24171.504}; + angles[]={0,2.0814147,0.019999012}; }; side="Empty"; flags=4; class Attributes { - disableSimulation=1; }; - id=788; - type="vn_b_armor_m41_01_02"; - atlOffset=-0.0011405945; + id=812; + type="vn_b_army_static_tow"; + atlOffset=-0.00023460388; }; - class Item11 + class Item7 { dataType="Object"; class PositionInfo { - position[]={26484.473,20.009016,24187.031}; - angles[]={0.018663859,3.844919,0.041309625}; + position[]={26467.521,19.101955,24178.629}; + angles[]={0.012000273,2.0573368,0.039979152}; }; side="Empty"; flags=4; class Attributes { - disableSimulation=1; }; - id=806; - type="vn_b_wheeled_m54_fuel"; + id=1133; + type="vn_b_aus_army_static_m40a1rr"; + atlOffset=-0.00019836426; }; - class Item12 + class Item8 { dataType="Object"; class PositionInfo { - position[]={26490.615,21.010069,24181.826}; - angles[]={0.018657569,3.731514,0.037315138}; + position[]={26469.811,18.950169,24183.824}; + angles[]={0.0039967569,2.3804078,0.029324362}; }; side="Empty"; flags=4; class Attributes { - disableSimulation=1; }; - id=805; - type="vn_b_wheeled_m54_mg_01"; + id=1134; + type="vn_b_army_static_mk18"; + atlOffset=-0.00049591064; }; - class Item13 + }; + id=811; + atlOffset=-0.011432648; + }; + class Item1 + { + dataType="Object"; + class PositionInfo + { + position[]={26523.027,21.215315,24248.734}; + angles[]={0,3.7960494,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=766; + type="Land_vn_army_hut_int"; + atlOffset=-0.38412857; + class CustomAttributes + { + class Attribute0 { - dataType="Object"; - class PositionInfo - { - position[]={26504.756,20.935364,24201.443}; - angles[]={0.0013372133,3.8272705,6.2671871}; - }; - side="Empty"; - flags=4; - class Attributes + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - disableSimulation=1; + class data + { + singleType="BOOL"; + value=0; + }; }; - id=791; - type="vn_b_wheeled_m54_mg_03"; - atlOffset=-0.00068664551; }; - class Item14 + nAttributes=1; + }; + }; + class Item2 + { + dataType="Object"; + class PositionInfo + { + position[]={26531.465,21.210627,24242.465}; + angles[]={0,3.7960494,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=767; + type="Land_vn_army_hut_int"; + atlOffset=-0.40169334; + class CustomAttributes + { + class Attribute0 { - dataType="Object"; - class PositionInfo - { - position[]={26477.121,19.814701,24191.537}; - angles[]={0.0093286335,3.7617338,0.034652505}; - }; - side="Empty"; - flags=4; - class Attributes + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - disableSimulation=1; + class data + { + singleType="BOOL"; + value=0; + }; }; - id=807; - type="vn_b_wheeled_m54_01"; - atlOffset=-1.1444092e-005; }; - class Item15 + nAttributes=1; + }; + }; + class Item3 + { + dataType="Object"; + class PositionInfo + { + position[]={26539.77,21.557013,24236.242}; + angles[]={0,3.7960494,0}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=768; + type="Land_vn_army_hut_int"; + atlOffset=-0.55667496; + class CustomAttributes + { + class Attribute0 { - dataType="Object"; - class PositionInfo + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value { - position[]={26496.418,20.449924,24189.197}; - angles[]={0.019996032,0.65574586,0.022662206}; + class data + { + singleType="BOOL"; + value=0; + }; }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=810; - type="vn_b_wheeled_m54_01"; - atlOffset=-4.3869019e-005; - }; - class Item16 - { - dataType="Object"; - class PositionInfo - { - position[]={26482.949,20.087357,24198.412}; - angles[]={6.2578578,0.64439225,0.02666023}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=808; - type="vn_b_wheeled_m54_02"; - }; - class Item17 - { - dataType="Object"; - class PositionInfo - { - position[]={26492.908,20.526772,24211.271}; - angles[]={0.0093286335,3.8253047,0.013332055}; - }; - side="Empty"; - flags=4; - class Attributes - { - disableSimulation=1; - }; - id=789; - type="vn_b_wheeled_m54_mg_02"; - }; - class Item18 - { - dataType="Object"; - class PositionInfo - { - position[]={26529.965,20.091831,24126.242}; - }; - side="Empty"; - class Attributes - { - }; - id=834; - type="vn_b_army_static_mortar_m2"; - atlOffset=0.33343697; - }; - class Item19 - { - dataType="Object"; - class PositionInfo - { - position[]={26520.154,19.990252,24125.205}; - }; - side="Empty"; - class Attributes - { - }; - id=835; - type="vn_b_army_static_mortar_m2"; - atlOffset=0.33154488; - }; - class Item20 - { - dataType="Object"; - class PositionInfo - { - position[]={26525.701,19.927801,24119.518}; - angles[]={0,2.9000788,0}; - }; - side="Empty"; - class Attributes - { - }; - id=832; - type="vn_b_army_static_mortar_m29"; - atlOffset=0.25478554; - }; - class Item21 - { - dataType="Object"; - class PositionInfo - { - position[]={26468.684,19.325014,24181.697}; - angles[]={0.0039967569,2.1813307,0.029324362}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=815; - type="vn_b_army_static_m60_high"; - atlOffset=-3.4332275e-005; - }; - class Item22 - { - dataType="Object"; - class PositionInfo - { - position[]={26461.676,18.698303,24170.148}; - angles[]={0,1.3873897,0.046633169}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=814; - type="vn_b_army_static_m60_low"; - atlOffset=1.9073486e-005; - }; - class Item23 - { - dataType="Object"; - class PositionInfo - { - position[]={26461.063,18.643789,24175.357}; - angles[]={0,2.0814977,0.037314966}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=829; - type="vn_b_army_static_tow"; - }; - class Item24 - { - dataType="Object"; - class PositionInfo - { - position[]={26458.717,18.577559,24171.504}; - angles[]={0,2.0814147,0.019999012}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=812; - type="vn_b_army_static_tow"; - atlOffset=-0.00023460388; - }; - class Item25 - { - dataType="Object"; - class PositionInfo - { - position[]={26502.408,21.108776,24141.311}; - angles[]={6.2765174,0.69010347,6.2631893}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=1137; - type="vn_b_armor_m113_acav_02"; - atlOffset=-0.0010433197; - }; - class Item26 - { - dataType="Object"; - class PositionInfo - { - position[]={26477.055,20.674795,24162.545}; - angles[]={0.0026520467,0.78620946,0.054611389}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=1140; - type="vn_b_armor_m113_acav_06"; - atlOffset=-0.0023441315; - }; - class Item27 - { - dataType="Object"; - class PositionInfo - { - position[]={26482.244,20.960028,24157.523}; - angles[]={6.2765174,0.70881331,0.05461248}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=1139; - type="vn_b_armor_m113_acav_03"; - atlOffset=-0.0066509247; - }; - class Item28 - { - dataType="Object"; - class PositionInfo - { - position[]={26496.955,21.135345,24146.039}; - angles[]={0.021328852,0.75978416,6.2685208}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=1138; - type="vn_b_armor_m113_acav_05"; - atlOffset=-0.0020523071; - }; - class Item29 - { - dataType="Object"; - class PositionInfo - { - position[]={26472.26,19.933537,24166.688}; - angles[]={0.0093286335,0.88380867,0.058599081}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=1141; - type="vn_b_wheeled_m151_mg_06"; - atlOffset=-0.0038070679; - }; - class Item30 - { - dataType="Object"; - class PositionInfo - { - position[]={26469.32,19.738708,24169.43}; - angles[]={0.0093286335,0.70512432,0.058599081}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=1142; - type="vn_b_wheeled_m151_mg_06"; - atlOffset=-0.000623703; - }; - class Item31 - { - dataType="Object"; - class PositionInfo - { - position[]={26467.521,19.101955,24178.629}; - angles[]={0.012000273,2.0573368,0.039979152}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=1133; - type="vn_b_aus_army_static_m40a1rr"; - atlOffset=-0.00019836426; - }; - class Item32 - { - dataType="Object"; - class PositionInfo - { - position[]={26469.811,18.950169,24183.824}; - angles[]={0.0039967569,2.3804078,0.029324362}; - }; - side="Empty"; - flags=4; - class Attributes - { - }; - id=1134; - type="vn_b_army_static_mk18"; - atlOffset=-0.00049591064; }; + nAttributes=1; }; - id=811; - atlOffset=0.0069313049; }; - class Item1 + class Item4 { dataType="Object"; class PositionInfo { - position[]={26523.027,21.215315,24248.734}; + position[]={26548.5,21.662127,24230.119}; angles[]={0,3.7960494,0}; }; side="Empty"; @@ -10498,111 +9738,9 @@ class Mission class Attributes { }; - id=766; + id=769; type="Land_vn_army_hut_int"; - atlOffset=-0.38412857; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - singleType="BOOL"; - value=0; - }; - }; - }; - nAttributes=1; - }; - }; - class Item2 - { - dataType="Object"; - class PositionInfo - { - position[]={26531.465,21.210627,24242.465}; - angles[]={0,3.7960494,0}; - }; - side="Empty"; - flags=5; - class Attributes - { - }; - id=767; - type="Land_vn_army_hut_int"; - atlOffset=-0.40169334; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - singleType="BOOL"; - value=0; - }; - }; - }; - nAttributes=1; - }; - }; - class Item3 - { - dataType="Object"; - class PositionInfo - { - position[]={26539.77,21.557013,24236.242}; - angles[]={0,3.7960494,0}; - }; - side="Empty"; - flags=5; - class Attributes - { - }; - id=768; - type="Land_vn_army_hut_int"; - atlOffset=-0.55667496; - class CustomAttributes - { - class Attribute0 - { - property="allowDamage"; - expression="_this allowdamage _value;"; - class Value - { - class data - { - singleType="BOOL"; - value=0; - }; - }; - }; - nAttributes=1; - }; - }; - class Item4 - { - dataType="Object"; - class PositionInfo - { - position[]={26548.5,21.662127,24230.119}; - angles[]={0,3.7960494,0}; - }; - side="Empty"; - flags=5; - class Attributes - { - }; - id=769; - type="Land_vn_army_hut_int"; - atlOffset=-0.61096954; + atlOffset=-0.61096954; class CustomAttributes { class Attribute0 @@ -12172,7 +11310,7 @@ class Mission text="Initial Supply Drop 1"; type="Empty"; colorName="ColorOrange"; - angle=225.49709; + angle=225.49704; id=1058; atlOffset=0.50146294; }; @@ -17831,19 +16969,19 @@ class Mission dataType="Object"; class PositionInfo { - position[]={26950.154,21.90098,24298.701}; - angles[]={6.2818484,1.2928525,6.2099833}; + position[]={26950.154,21.901453,24298.701}; + angles[]={6.2818413,1.2928525,6.2099862}; }; side="Empty"; flags=4; class Attributes { - name="vn_mf_spike_team_teleporter"; + name="vn_mf_spiketeam_teleporter"; disableSimulation=1; }; id=1123; type="Land_vn_b_prop_mapstand_01"; - atlOffset=-0.084472656; + atlOffset=-0.083999634; class CustomAttributes { class Attribute0 @@ -17895,1220 +17033,4721 @@ class Mission }; class Item5 { - dataType="Marker"; - position[]={26950.012,97.488998,24300.26}; - name="arsenal_spike_team"; - type="mil_dot"; - colorName="ColorPink"; - angle=225.44173; - id=1127; - atlOffset=75.569992; + dataType="Marker"; + position[]={26950.012,97.488998,24300.26}; + name="arsenal_spike_team"; + type="mil_dot"; + colorName="ColorPink"; + angle=225.44173; + id=1127; + atlOffset=75.569992; + }; + class Item6 + { + dataType="Marker"; + position[]={26947.609,21.974001,24301.393}; + name="duty_officer_spike_team"; + type="mil_dot"; + colorName="ColorWhite"; + angle=222.00151; + id=1128; + atlOffset=-0.092508316; + }; + }; + id=1129; + atlOffset=18.776302; + }; + class Item83 + { + dataType="Logic"; + class PositionInfo + { + position[]={26245.461,-0.051803589,26429.17}; + }; + init="if (isServer) then {" \n " [] spawn {" \n " while {isNil ""stopCuratorLoop""} do {" \n " { _x addCuratorEditableObjects [vehicles + allUnits]} forEach allCurators;" \n " uisleep 10;" \n " };" \n " };" \n "};"; + id=1130; + type="ModuleCurator_F"; + atlOffset=183.33701; + class CustomAttributes + { + class Attribute0 + { + property="ModuleCurator_F_Owner"; + expression="_this setVariable ['Owner',_value,true];"; + class Value + { + class data + { + singleType="STRING"; + value="#adminLogged"; + }; + }; + }; + class Attribute1 + { + property="ModuleCurator_F_Forced"; + expression="_this setVariable ['Forced',_value,true];"; + class Value + { + class data + { + singleType="SCALAR"; + value=0; + }; + }; + }; + class Attribute2 + { + property="ModuleCurator_F_Name"; + expression="_this setVariable ['Name',_value,true];"; + class Value + { + class data + { + singleType="STRING"; + value="Zeus (Admin)"; + }; + }; + }; + class Attribute3 + { + property="ModuleCurator_F_Addons"; + expression="_this setVariable ['Addons',_value,true];"; + class Value + { + class data + { + singleType="SCALAR"; + value=3; + }; + }; + }; + nAttributes=4; + }; + }; + class Item84 + { + dataType="Marker"; + position[]={26914.861,22.732,24581.002}; + name="blocked_area1"; + text="Molos Airfield"; + markerType="RECTANGLE"; + type=""; + a=676.32397; + b=266.01199; + angle=310.25101; + id=1131; + atlOffset=-1.3747025; + }; + class Item85 + { + dataType="Logic"; + class PositionInfo + { + position[]={26527.061,19.134216,24186.801}; + angles[]={0.016004669,3.7821634,0.025324726}; + }; + areaSize[]={60.193001,0,63.747002}; + areaIsRectangle=1; + flags=1; + id=764; + type="ModuleHideTerrainObjects_F"; + atlOffset=0.5739975; + class CustomAttributes + { + class Attribute0 + { + property="#filter"; + expression="_this setVariable [""#filter"",_value]"; + class Value + { + class data + { + singleType="SCALAR"; + value=15; + }; + }; + }; + class Attribute1 + { + property="#hideLocally"; + expression="_this setVariable [""#hideLocally"",_value]"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=2; + }; + }; + class Item86 + { + dataType="Layer"; + name="Vehicle spawn point"; + class Entities + { + items=11; + class Item0 + { + dataType="Layer"; + name="Air transport"; + class Entities + { + items=24; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={27043.045,23.861341,24849.498}; + angles[]={0,2.2852614,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1187; + type="vn_signad_sponsors_f"; + atlOffset=-1.9073486e-006; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item1 + { + dataType="Object"; + class PositionInfo + { + position[]={27051.414,23.863651,24850.613}; + angles[]={0,5.4294319,-0}; + }; + side="Empty"; + class Attributes + { + }; + id=1188; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0000153; + }; + class Item2 + { + dataType="Logic"; + class PositionInfo + { + position[]={27047.662,22.725365,24848.824}; + angles[]={6.256525,6.1393075,0}; + }; + init="['air_transport', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1189; + type="Logic"; + atlOffset=1.335144e-005; + }; + class Item3 + { + dataType="Object"; + class PositionInfo + { + position[]={27059.266,24.405575,24869.025}; + angles[]={0,2.2852614,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1191; + type="vn_signad_sponsors_f"; + atlOffset=1.5258789e-005; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item4 + { + dataType="Object"; + class PositionInfo + { + position[]={27067.635,24.28961,24870.141}; + angles[]={0,5.4294319,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1192; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.99998856; + }; + class Item5 + { + dataType="Logic"; + class PositionInfo + { + position[]={27063.883,23.218979,24868.352}; + angles[]={6.2618566,6.1393075,6.2765174}; + }; + init="['air_transport', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1193; + type="Logic"; + atlOffset=2.6702881e-005; + }; + class Item6 + { + dataType="Object"; + class PositionInfo + { + position[]={27076.842,24.781246,24889.814}; + angles[]={0,2.2852614,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1194; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item7 + { + dataType="Object"; + class PositionInfo + { + position[]={27085.211,24.875446,24890.93}; + angles[]={0,5.4294319,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1195; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0001068; + }; + class Item8 + { + dataType="Logic"; + class PositionInfo + { + position[]={27081.459,23.705511,24889.141}; + angles[]={6.2578578,6.1393075,0.018663859}; + }; + init="['air_transport', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1196; + type="Logic"; + }; + class Item9 + { + dataType="Object"; + class PositionInfo + { + position[]={27093.506,25.337284,24909.625}; + angles[]={0,2.2852614,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1197; + type="vn_signad_sponsors_f"; + atlOffset=3.0517578e-005; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item10 + { + dataType="Object"; + class PositionInfo + { + position[]={27101.875,25.391912,24910.74}; + angles[]={0,5.4294319,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1198; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0000153; + }; + class Item11 + { + dataType="Logic"; + class PositionInfo + { + position[]={27098.123,24.248276,24908.951}; + angles[]={6.2711854,6.1393075,0.017329043}; + }; + init="['air_transport', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1199; + type="Logic"; + atlOffset=3.0517578e-005; + }; + class Item12 + { + dataType="Object"; + class PositionInfo + { + position[]={27086.252,25.605595,24932.354}; + angles[]={0,5.3910227,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1218; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item13 + { + dataType="Object"; + class PositionInfo + { + position[]={27077.928,25.401194,24930.939}; + angles[]={0,2.252008,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1219; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0000534; + }; + class Item14 + { + dataType="Logic"; + class PositionInfo + { + position[]={27081.613,24.414516,24932.861}; + angles[]={6.253861,2.9618907,0.010664274}; + }; + init="['air_transport', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1220; + type="Logic"; + }; + class Item15 + { + dataType="Object"; + class PositionInfo + { + position[]={27069.824,25.125013,24913.531}; + angles[]={0,5.3910227,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1221; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item16 + { + dataType="Object"; + class PositionInfo + { + position[]={27061.5,24.983517,24912.117}; + angles[]={0,2.252008,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1222; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0000134; + }; + class Item17 + { + dataType="Logic"; + class PositionInfo + { + position[]={27065.186,23.971037,24914.039}; + angles[]={6.2658563,2.9618907,0.0053265258}; + }; + init="['air_transport', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1223; + type="Logic"; + atlOffset=1.9073486e-006; + }; + class Item18 + { + dataType="Object"; + class PositionInfo + { + position[]={27051.305,24.718351,24892.184}; + angles[]={0,5.3910227,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1224; + type="vn_signad_sponsors_f"; + atlOffset=-1.9073486e-006; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item19 + { + dataType="Object"; + class PositionInfo + { + position[]={27042.98,24.714289,24890.77}; + angles[]={0,2.252008,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1225; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0000668; + }; + class Item20 + { + dataType="Logic"; + class PositionInfo + { + position[]={27046.666,23.598629,24892.691}; + angles[]={6.2671871,2.9618907,6.2805333}; + }; + init="['air_transport', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1226; + type="Logic"; + }; + class Item21 + { + dataType="Object"; + class PositionInfo + { + position[]={27035.16,24.519674,24873.51}; + angles[]={0,5.3910227,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1227; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item22 + { + dataType="Object"; + class PositionInfo + { + position[]={27026.836,24.592268,24872.096}; + angles[]={0,2.252008,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1228; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0002365; + }; + class Item23 + { + dataType="Logic"; + class PositionInfo + { + position[]={27030.521,23.457294,24874.018}; + angles[]={6.2405462,2.9618907,6.2751846}; + }; + init="['air_transport', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1229; + type="Logic"; + }; + }; + id=1186; + atlOffset=0.26616859; + }; + class Item1 + { + dataType="Layer"; + name="Air fire support"; + class Entities + { + items=12; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={27094.658,26.071339,24951.264}; + angles[]={0,2.252008,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1216; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.000061; + }; + class Item1 + { + dataType="Logic"; + class PositionInfo + { + position[]={27098.344,24.965,24953.186}; + angles[]={6.2578578,2.9618907,6.2685165}; + }; + init="['air_fire_support', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1217; + type="Logic"; + atlOffset=1.335144e-005; + }; + class Item2 + { + dataType="Object"; + class PositionInfo + { + position[]={27102.982,26.025597,24952.678}; + angles[]={0,5.3910227,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1215; + type="vn_signad_sponsors_f"; + atlOffset=1.5258789e-005; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item3 + { + dataType="Object"; + class PositionInfo + { + position[]={27105.025,26.109077,24963.295}; + angles[]={0,2.252008,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1213; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0000877; + }; + class Item4 + { + dataType="Logic"; + class PositionInfo + { + position[]={27108.711,24.989935,24965.217}; + angles[]={6.2738566,2.9618907,6.2511969}; + }; + init="['air_fire_support', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1214; + type="Logic"; + atlOffset=-1.9073486e-006; + }; + class Item5 + { + dataType="Object"; + class PositionInfo + { + position[]={27113.35,25.997477,24964.709}; + angles[]={0,5.3910227,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1212; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item6 + { + dataType="Object"; + class PositionInfo + { + position[]={27121.629,25.53709,24983.268}; + angles[]={0,2.252008,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1210; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.99995804; + }; + class Item7 + { + dataType="Logic"; + class PositionInfo + { + position[]={27125.314,24.41765,24985.189}; + angles[]={6.2738566,2.9618907,0.0080009829}; + }; + init="['air_fire_support', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1211; + type="Logic"; + atlOffset=3.8146973e-006; + }; + class Item8 + { + dataType="Object"; + class PositionInfo + { + position[]={27129.953,25.578388,24984.682}; + angles[]={0,5.3910227,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1209; + type="vn_signad_sponsors_f"; + atlOffset=1.9073486e-006; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item9 + { + dataType="Object"; + class PositionInfo + { + position[]={27136.379,25.784866,24961.867}; + angles[]={0,2.2852614,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1200; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item10 + { + dataType="Logic"; + class PositionInfo + { + position[]={27140.996,24.741255,24961.193}; + angles[]={0.017329043,6.1393075,0.018663859}; + }; + init="['air_fire_support', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1202; + type="Logic"; + atlOffset=7.6293945e-006; + }; + class Item11 + { + dataType="Object"; + class PositionInfo + { + position[]={27144.748,25.820383,24962.982}; + angles[]={0,5.4294319,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1201; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0000229; + }; + }; + id=1230; + atlOffset=0.56052017; + }; + class Item2 + { + dataType="Layer"; + name="Air heavy fire support"; + class Entities + { + items=6; + class Item0 + { + dataType="Logic"; + class PositionInfo + { + position[]={27158.055,24.728073,24981.842}; + angles[]={0.017329043,6.1393075,0.012000273}; + }; + init="['air_heavy_fire_support', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1205; + type="Logic"; + }; + class Item1 + { + dataType="Object"; + class PositionInfo + { + position[]={27153.438,25.808016,24982.516}; + angles[]={0,2.2852614,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1203; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item2 + { + dataType="Logic"; + class PositionInfo + { + position[]={27141.828,24.485788,25005.725}; + angles[]={0.014664836,2.9618907,0.0053265258}; + }; + init="['air_heavy_fire_support', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1208; + type="Logic"; + atlOffset=-1.9073486e-006; + }; + class Item3 + { + dataType="Object"; + class PositionInfo + { + position[]={27146.467,25.569494,25005.217}; + angles[]={0,5.3910227,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1206; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item4 + { + dataType="Object"; + class PositionInfo + { + position[]={27138.143,25.536446,25003.803}; + angles[]={0,2.252008,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1207; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.99999619; + }; + class Item5 + { + dataType="Object"; + class PositionInfo + { + position[]={27161.807,25.817425,24983.631}; + angles[]={0,5.4294319,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1204; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0000153; + }; + }; + id=1232; + atlOffset=0.86755943; + }; + class Item3 + { + dataType="Layer"; + name="Jets"; + class Entities + { + items=6; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={26988.469,25.230753,24865.268}; + angles[]={0,5.3910227,-0}; + }; + side="Empty"; + flags=1; + class Attributes + { + disableSimulation=1; + }; + id=1237; + type="vn_signad_sponsors_f"; + atlOffset=0.31362152; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item1 + { + dataType="Logic"; + class PositionInfo + { + position[]={26983.83,24.184208,24865.775}; + angles[]={0,2.9618933,0}; + }; + init="['jets', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1239; + type="Logic"; + atlOffset=0.40855217; + }; + class Item2 + { + dataType="Object"; + class PositionInfo + { + position[]={26977.207,24.118366,24865.404}; + angles[]={0,2.252008,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1238; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.28463173; + }; + class Item3 + { + dataType="Object"; + class PositionInfo + { + position[]={26960.953,24.034506,24833.605}; + angles[]={0,5.3910227,-0}; + }; + side="Empty"; + flags=1; + class Attributes + { + disableSimulation=1; + }; + id=1241; + type="vn_signad_sponsors_f"; + atlOffset=0.29623985; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item4 + { + dataType="Logic"; + class PositionInfo + { + position[]={26956.314,22.987963,24834.113}; + angles[]={0,2.9618933,0}; + }; + init="['jets', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1242; + type="Logic"; + atlOffset=0.39117241; + }; + class Item5 + { + dataType="Object"; + class PositionInfo + { + position[]={26949.689,23.058775,24833.742}; + angles[]={0,2.252008,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1243; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.40390587; + }; + }; + id=1240; + atlOffset=0.52449036; + }; + class Item4 + { + dataType="Layer"; + name="Light transports"; + class Entities + { + items=9; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={26851.242,25.864477,24307.393}; + angles[]={0,5.3910227,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1252; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item1 + { + dataType="Logic"; + class PositionInfo + { + position[]={26849.375,24.804703,24308.828}; + angles[]={6.2551923,2.9618933,6.2551923}; + }; + init="['transport_light', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1253; + type="Logic"; + atlOffset=-1.9073486e-006; + }; + class Item2 + { + dataType="Object"; + class PositionInfo + { + position[]={26847.035,25.903646,24307.238}; + angles[]={0,2.2520158,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1254; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0013103; + }; + class Item3 + { + dataType="Object"; + class PositionInfo + { + position[]={26856.246,26.001011,24313.576}; + angles[]={0,5.3910227,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1256; + type="vn_signad_sponsors_f"; + atlOffset=-1.9073486e-006; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item4 + { + dataType="Logic"; + class PositionInfo + { + position[]={26854.379,24.931482,24315.012}; + angles[]={6.2299018,2.9618933,6.2765174}; + }; + init="['transport_light', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1257; + type="Logic"; + }; + class Item5 + { + dataType="Object"; + class PositionInfo + { + position[]={26852.039,25.940483,24313.422}; + angles[]={0,2.2520158,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1258; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0011559; + }; + class Item6 + { + dataType="Object"; + class PositionInfo + { + position[]={26861.436,26.313719,24319.842}; + angles[]={0,5.3910227,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1259; + type="vn_signad_sponsors_f"; + atlOffset=1.9073486e-006; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item7 + { + dataType="Logic"; + class PositionInfo + { + position[]={26859.568,25.273699,24321.277}; + angles[]={6.2126365,2.9618933,0}; + }; + init="['transport_light', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1260; + type="Logic"; + atlOffset=3.8146973e-006; + }; + class Item8 + { + dataType="Object"; + class PositionInfo + { + position[]={26857.229,26.250874,24319.688}; + angles[]={0,2.2520158,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1261; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0014248; + }; + }; + id=1255; + atlOffset=0.57781219; + }; + class Item5 + { + dataType="Layer"; + name="Heavy transports"; + class Entities + { + items=18; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={26502.307,19.868593,24145.268}; + angles[]={0,3.8784578,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1262; + type="vn_signad_sponsors_f"; + atlOffset=-1.9073486e-006; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item1 + { + dataType="Logic"; + class PositionInfo + { + position[]={26501.799,18.777882,24143.256}; + angles[]={0.021331646,1.449461,6.2631865}; + }; + init="['transport_heavy', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1263; + type="Logic"; + }; + class Item2 + { + dataType="Object"; + class PositionInfo + { + position[]={26503.1,19.821728,24141.789}; + angles[]={0,0.73945063,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1264; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0004005; + }; + class Item3 + { + dataType="Object"; + class PositionInfo + { + position[]={26496.23,19.873074,24150.275}; + angles[]={0,3.8784578,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1266; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item4 + { + dataType="Logic"; + class PositionInfo + { + position[]={26495.723,18.783081,24148.264}; + angles[]={0.021328852,1.449461,6.2685208}; + }; + init="['transport_heavy', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1267; + type="Logic"; + }; + class Item5 + { + dataType="Object"; + class PositionInfo + { + position[]={26497.023,19.854218,24146.797}; + angles[]={0,0.73945063,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1268; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0008278; + }; + class Item6 + { + dataType="Object"; + class PositionInfo + { + position[]={26490.156,19.830647,24155.467}; + angles[]={0,3.8784578,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1269; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item7 + { + dataType="Logic"; + class PositionInfo + { + position[]={26489.648,18.742424,24153.455}; + angles[]={0.025327841,1.449461,0}; + }; + init="['transport_heavy', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1270; + type="Logic"; + atlOffset=1.9073486e-006; + }; + class Item8 + { + dataType="Object"; + class PositionInfo + { + position[]={26490.949,19.82468,24151.988}; + angles[]={0,0.73945063,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1271; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0009537; + }; + class Item9 + { + dataType="Object"; + class PositionInfo + { + position[]={26482.746,19.793404,24161.975}; + angles[]={0,3.8784578,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1272; + type="vn_signad_sponsors_f"; + atlOffset=1.9073486e-006; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item10 + { + dataType="Logic"; + class PositionInfo + { + position[]={26482.238,18.630976,24159.963}; + angles[]={6.2805333,1.449461,0.059927464}; + }; + init="['transport_heavy', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1273; + type="Logic"; + atlOffset=3.8146973e-006; + }; + class Item11 + { + dataType="Object"; + class PositionInfo + { + position[]={26483.539,19.70075,24158.496}; + angles[]={0,0.73945063,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1274; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0000019; + }; + class Item12 + { + dataType="Object"; + class PositionInfo + { + position[]={26476.395,19.375658,24167.125}; + angles[]={0,3.8784578,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1275; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item13 + { + dataType="Logic"; + class PositionInfo + { + position[]={26475.887,18.260054,24165.113}; + angles[]={0.027993103,1.449461,0.059928458}; + }; + init="['transport_heavy', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1276; + type="Logic"; + }; + class Item14 + { + dataType="Object"; + class PositionInfo + { + position[]={26477.188,19.395992,24163.646}; + angles[]={0,0.73945063,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1277; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.000227; + }; + class Item15 + { + dataType="Object"; + class PositionInfo + { + position[]={26470.404,18.961395,24172.367}; + angles[]={0,3.8784578,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1278; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item16 + { + dataType="Logic"; + class PositionInfo + { + position[]={26469.896,17.855984,24170.355}; + angles[]={0.027993103,1.449461,0.039979152}; + }; + init="['transport_heavy', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1279; + type="Logic"; + }; + class Item17 + { + dataType="Object"; + class PositionInfo + { + position[]={26471.197,19.007143,24168.889}; + angles[]={0,0.73945063,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1280; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0000019; + }; + }; + id=1265; + atlOffset=0.57095337; + }; + class Item6 + { + dataType="Layer"; + name="Utility"; + class Entities + { + items=9; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={26477.932,19.022219,24186.137}; + angles[]={0,0.59388065,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1281; + type="vn_signad_sponsors_f"; + atlOffset=-1.9073486e-006; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item1 + { + dataType="Logic"; + class PositionInfo + { + position[]={26478.938,17.875959,24188.633}; + angles[]={0.0093286335,4.447989,0.034652505}; + }; + init="['utility', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1282; + type="Logic"; + }; + class Item2 + { + dataType="Object"; + class PositionInfo + { + position[]={26477.377,18.854347,24191.402}; + angles[]={0,3.8191719,-0}; + }; + side="Empty"; + class Attributes + { + }; + id=1283; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0002384; + }; + class Item3 + { + dataType="Object"; + class PositionInfo + { + position[]={26484.387,19.354092,24181.424}; + angles[]={0,0.59388065,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1285; + type="vn_signad_sponsors_f"; + atlOffset=1.7166138e-005; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item4 + { + dataType="Logic"; + class PositionInfo + { + position[]={26485.393,18.19825,24183.92}; + angles[]={0.021331646,4.447989,0.038647637}; + }; + init="['utility', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1286; + type="Logic"; + atlOffset=1.9073486e-005; + }; + class Item5 + { + dataType="Object"; + class PositionInfo + { + position[]={26483.934,19.151234,24186.234}; + angles[]={0,3.8535509,-0}; + }; + side="Empty"; + class Attributes + { + }; + id=1287; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0001907; + }; + class Item6 + { + dataType="Object"; + class PositionInfo + { + position[]={26490.865,19.670321,24176.705}; + angles[]={0,0.59388065,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1288; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item7 + { + dataType="Logic"; + class PositionInfo + { + position[]={26491.871,18.542704,24179.201}; + angles[]={0.015994642,4.447989,0.037314966}; + }; + init="['utility', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1289; + type="Logic"; + }; + class Item8 + { + dataType="Object"; + class PositionInfo + { + position[]={26490.412,19.50523,24181.516}; + angles[]={0,3.7936802,-0}; + }; + side="Empty"; + class Attributes + { + }; + id=1290; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.99999428; + }; + }; + id=1284; + atlOffset=0.56462669; + }; + class Item7 + { + dataType="Layer"; + name="Light fire support"; + class Entities + { + items=10; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={26505.398,19.432444,24196.266}; + angles[]={0,0.64341629,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1291; + type="vn_signad_sponsors_f"; + atlOffset=3.8146973e-006; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item1 + { + dataType="Logic"; + class PositionInfo + { + position[]={26506.527,18.295252,24198.709}; + angles[]={0.0013372133,4.4975257,0.0066682254}; + }; + init="['light_fire_support', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1292; + type="Logic"; + atlOffset=3.8146973e-006; + }; + class Item2 + { + dataType="Object"; + class PositionInfo + { + position[]={26505.184,19.341202,24201.092}; + angles[]={0,3.787595,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1293; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0000057; + }; + class Item3 + { + dataType="Object"; + class PositionInfo + { + position[]={26499.082,19.517935,24201.166}; + angles[]={0,0.64341629,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1295; + type="vn_signad_sponsors_f"; + atlOffset=3.0517578e-005; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item4 + { + dataType="Logic"; + class PositionInfo + { + position[]={26500.211,18.315145,24203.609}; + angles[]={0.037314966,4.4975257,6.2671909}; + }; + init="['light_fire_support', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1296; + type="Logic"; + atlOffset=2.8610229e-005; + }; + class Item5 + { + dataType="Object"; + class PositionInfo + { + position[]={26498.867,19.30579,24205.992}; + angles[]={0,3.787595,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1297; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0000153; + }; + class Item6 + { + dataType="Object"; + class PositionInfo + { + position[]={26492.813,19.341606,24206.102}; + angles[]={0,0.64341629,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1298; + type="vn_signad_sponsors_f"; + atlOffset=3.0517578e-005; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item7 + { + dataType="Logic"; + class PositionInfo + { + position[]={26493.941,18.126869,24208.545}; + angles[]={0.037314966,4.4975257,0.013332055}; + }; + init="['light_fire_support', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1299; + type="Logic"; + atlOffset=2.6702881e-005; + }; + class Item8 + { + dataType="Object"; + class PositionInfo + { + position[]={26492.598,19.104065,24210.928}; + angles[]={0,3.787595,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1300; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.99999809; + }; + class Item9 + { + dataType="Layer"; + name="Patrol"; + class Entities + { + items=18; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={26482.32,19.278074,24203.029}; + angles[]={0,3.8041716,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1301; + type="vn_signad_sponsors_f"; + atlOffset=6.1035156e-005; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item1 + { + dataType="Logic"; + class PositionInfo + { + position[]={26481.145,18.046124,24200.609}; + angles[]={6.2578607,1.3750926,0.041311946}; + }; + init="['patrol', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1302; + type="Logic"; + }; + class Item2 + { + dataType="Object"; + class PositionInfo + { + position[]={26482.691,19.103426,24198.16}; + angles[]={0,0.66516447,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1303; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0001011; + }; + class Item3 + { + dataType="Object"; + class PositionInfo + { + position[]={26488.602,19.329123,24198.236}; + angles[]={0,3.8041716,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1305; + type="vn_signad_sponsors_f"; + atlOffset=7.2479248e-005; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item4 + { + dataType="Logic"; + class PositionInfo + { + position[]={26487.426,18.112143,24195.816}; + angles[]={6.2578578,1.3750926,0.02666023}; + }; + init="['patrol', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1306; + type="Logic"; + atlOffset=1.1444092e-005; + }; + class Item5 + { + dataType="Object"; + class PositionInfo + { + position[]={26488.973,19.225615,24193.367}; + angles[]={0,0.66516447,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1307; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0000648; + }; + class Item6 + { + dataType="Object"; + class PositionInfo + { + position[]={26495.053,19.44496,24193.557}; + angles[]={0,3.8041716,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1308; + type="vn_signad_sponsors_f"; + atlOffset=8.2015991e-005; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item7 + { + dataType="Logic"; + class PositionInfo + { + position[]={26493.877,18.325159,24191.137}; + angles[]={0.019996032,1.3750926,0.022662206}; + }; + init="['patrol', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1309; + type="Logic"; + atlOffset=1.9073486e-005; + }; + class Item8 + { + dataType="Object"; + class PositionInfo + { + position[]={26495.424,19.468538,24188.688}; + angles[]={0,0.66516447,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1310; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.000061; + }; + class Item9 + { + dataType="Object"; + class PositionInfo + { + position[]={26584.398,20.291014,24203.152}; + angles[]={0,0.59546632,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1337; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item10 + { + dataType="Logic"; + class PositionInfo + { + position[]={26585.41,19.232655,24205.646}; + angles[]={6.256525,4.4495668,0.029324362}; + }; + init="['patrol', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1338; + type="Logic"; + atlOffset=1.9073486e-006; + }; + class Item11 + { + dataType="Object"; + class PositionInfo + { + position[]={26583.701,20.303926,24207.986}; + angles[]={0,3.7396448,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1339; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0008984; + }; + class Item12 + { + dataType="Object"; + class PositionInfo + { + position[]={26577.969,20.23325,24208.057}; + angles[]={0,0.59546632,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1340; + type="vn_signad_sponsors_f"; + atlOffset=8.392334e-005; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item13 + { + dataType="Logic"; + class PositionInfo + { + position[]={26578.98,19.173336,24210.551}; + angles[]={6.2618566,4.4495668,0.027990974}; + }; + init="['patrol', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1341; + type="Logic"; + atlOffset=8.392334e-005; + }; + class Item14 + { + dataType="Object"; + class PositionInfo + { + position[]={26577.271,20.235027,24212.891}; + angles[]={0,3.7396448,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1342; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0009403; + }; + class Item15 + { + dataType="Object"; + class PositionInfo + { + position[]={26571.658,20.167131,24212.822}; + angles[]={0,0.59546632,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1343; + type="vn_signad_sponsors_f"; + atlOffset=-1.9073486e-006; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item16 + { + dataType="Logic"; + class PositionInfo + { + position[]={26572.67,19.098257,24215.316}; + angles[]={6.2618566,4.4495668,0.027990974}; + }; + init="['patrol', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1344; + type="Logic"; + }; + class Item17 + { + dataType="Object"; + class PositionInfo + { + position[]={26570.961,20.18055,24217.656}; + angles[]={0,3.7396448,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1345; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0011444; + }; + }; + id=1304; + atlOffset=0.58489609; + }; + }; + id=1294; + atlOffset=0.44392776; + }; + class Item8 + { + dataType="Layer"; + name="Heavy fire support"; + class Entities + { + items=9; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={26510.018,19.334686,24212.891}; + angles[]={0,3.8041716,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1317; + type="vn_signad_sponsors_f"; + atlOffset=1.9073486e-006; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item1 + { + dataType="Logic"; + class PositionInfo + { + position[]={26508.842,18.179853,24210.471}; + angles[]={0.0039967569,1.3750926,0.018663859}; + }; + init="['heavy_fire_support', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1318; + type="Logic"; + }; + class Item2 + { + dataType="Object"; + class PositionInfo + { + position[]={26510.389,19.284561,24208.021}; + angles[]={0,0.66516447,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1319; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0000286; + }; + class Item3 + { + dataType="Object"; + class PositionInfo + { + position[]={26503.654,19.198172,24217.723}; + angles[]={0,3.8041716,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1314; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item4 + { + dataType="Logic"; + class PositionInfo + { + position[]={26502.479,18.045111,24215.303}; + angles[]={0.0039967569,1.3750926,0.017329043}; + }; + init="['heavy_fire_support', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1315; + type="Logic"; + }; + class Item5 + { + dataType="Object"; + class PositionInfo + { + position[]={26504.025,19.139841,24212.854}; + angles[]={0,0.66516447,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1316; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0000553; + }; + class Item6 + { + dataType="Object"; + class PositionInfo + { + position[]={26497.396,19.090921,24222.662}; + angles[]={0,3.8041716,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1311; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item7 + { + dataType="Logic"; + class PositionInfo + { + position[]={26496.221,17.943184,24220.242}; + angles[]={-0,1.3750926,0.0053265258}; + }; + init="['heavy_fire_support', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1312; + type="Logic"; + }; + class Item8 + { + dataType="Object"; + class PositionInfo + { + position[]={26497.768,19.012781,24217.793}; + angles[]={0,0.66516447,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1313; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0000267; + }; + }; + id=1320; + atlOffset=0.57637405; + }; + class Item9 + { + dataType="Layer"; + name="Large static"; + class Entities + { + items=12; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={26623.85,19.668858,24107.662}; + angles[]={0,0.68217778,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1321; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item1 + { + dataType="Logic"; + class PositionInfo + { + position[]={26625.557,18.626287,24110.322}; + angles[]={6.2605205,4.5362854,0.027993103}; + }; + init="['large_static', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1322; + type="Logic"; + }; + class Item2 + { + dataType="Object"; + class PositionInfo + { + position[]={26623.535,19.66538,24111.449}; + angles[]={0,3.8263562,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1323; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0003338; + }; + class Item3 + { + dataType="Object"; + class PositionInfo + { + position[]={26616.303,19.672438,24113.234}; + angles[]={0,0.65452921,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1324; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item4 + { + dataType="Logic"; + class PositionInfo + { + position[]={26618.01,18.556448,24115.895}; + angles[]={6.272521,4.5362854,0.019996032}; + }; + init="['large_static', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1325; + type="Logic"; + }; + class Item5 + { + dataType="Object"; + class PositionInfo + { + position[]={26615.988,19.624384,24117.021}; + angles[]={0,3.8263562,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1326; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.99999619; + }; + class Item6 + { + dataType="Object"; + class PositionInfo + { + position[]={26609.451,19.899189,24118.117}; + angles[]={0,0.68217778,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1330; + type="vn_signad_sponsors_f"; + atlOffset=0.12238121; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item7 + { + dataType="Logic"; + class PositionInfo + { + position[]={26611.158,18.630043,24120.777}; + angles[]={6.2751846,4.5362854,6.2778587}; + }; + init="['large_static', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1331; + type="Logic"; + }; + class Item8 + { + dataType="Object"; + class PositionInfo + { + position[]={26609.137,19.71595,24121.904}; + angles[]={0,3.8263562,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1332; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=0.99996376; + }; + class Item9 + { + dataType="Object"; + class PositionInfo + { + position[]={26601.904,19.842285,24123.689}; + angles[]={0,0.65452921,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1333; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item10 + { + dataType="Logic"; + class PositionInfo + { + position[]={26603.611,18.773788,24126.35}; + angles[]={6.256525,4.5362854,0.0039967569}; + }; + init="['large_static', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1334; + type="Logic"; + }; + class Item11 + { + dataType="Object"; + class PositionInfo + { + position[]={26601.59,19.861374,24127.477}; + angles[]={0,3.8263562,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1335; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0002384; + }; + }; + id=1336; + atlOffset=0.57683563; + }; + class Item10 + { + dataType="Layer"; + name="Airport utility"; + class Entities + { + items=9; + class Item0 + { + dataType="Object"; + class PositionInfo + { + position[]={26923.953,21.084875,24779.594}; + angles[]={0,3.8346221,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1346; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item1 + { + dataType="Logic"; + class PositionInfo + { + position[]={26922.705,19.865358,24777.211}; + angles[]={6.2525291,1.4055839,0.0039967569}; + }; + init="['utility_airport', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1347; + type="Logic"; + }; + class Item2 + { + dataType="Object"; + class PositionInfo + { + position[]={26923.928,20.853241,24774.762}; + angles[]={0,0.7512359,-0}; + }; + side="Empty"; + class Attributes + { + }; + id=1348; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0000324; + }; + class Item3 + { + dataType="Object"; + class PositionInfo + { + position[]={26929.721,20.976362,24774.277}; + angles[]={0,3.8346221,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1349; + type="vn_signad_sponsors_f"; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item4 + { + dataType="Logic"; + class PositionInfo + { + position[]={26928.473,19.765438,24771.895}; + angles[]={6.2805333,1.4055839,0.010664274}; + }; + init="['utility_airport', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1350; + type="Logic"; + }; + class Item5 + { + dataType="Object"; + class PositionInfo + { + position[]={26929.695,20.830046,24769.445}; + angles[]={0,0.7512359,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1351; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0000038; + }; + class Item6 + { + dataType="Object"; + class PositionInfo + { + position[]={26936.797,21.155081,24768.348}; + angles[]={0,3.8346221,-0}; + }; + side="Empty"; + flags=5; + class Attributes + { + disableSimulation=1; + }; + id=1352; + type="vn_signad_sponsors_f"; + atlOffset=6.8664551e-005; + class CustomAttributes + { + class Attribute0 + { + property="allowDamage"; + expression="_this allowdamage _value;"; + class Value + { + class data + { + singleType="BOOL"; + value=0; + }; + }; + }; + nAttributes=1; + }; + }; + class Item7 + { + dataType="Logic"; + class PositionInfo + { + position[]={26935.549,19.947208,24765.965}; + angles[]={6.2805109,1.4055839,0.050623242}; + }; + init="['utility_airport', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; + id=1353; + type="Logic"; + atlOffset=6.8664551e-005; + }; + class Item8 + { + dataType="Object"; + class PositionInfo + { + position[]={26936.771,21.096415,24763.516}; + angles[]={0,0.7512359,0}; + }; + side="Empty"; + class Attributes + { + }; + id=1354; + type="Sign_Arrow_Direction_Green_F"; + atlOffset=1.0001507; + }; + }; + id=1355; + atlOffset=0.6097641; + }; + }; + id=1190; + atlOffset=-4.2021923; + }; + class Item87 + { + dataType="Object"; + class PositionInfo + { + position[]={27251.35,28.629963,24919.598}; + angles[]={6.2069139,5.3856668,0.052359879}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=1244; + type="Land_vn_b_trench_revetment_tall_09"; + atlOffset=-3.8146973e-006; + }; + class Item88 + { + dataType="Object"; + class PositionInfo + { + position[]={27257.105,29.478642,24926.775}; + angles[]={6.2069139,5.3856668,0.052359879}; + }; + side="Empty"; + flags=5; + class Attributes + { + }; + id=1245; + type="Land_vn_b_trench_revetment_tall_09"; + }; + }; + class Connections + { + class LinkIDProvider + { + nextID=142; + }; + class Links + { + items=142; + class Item0 + { + linkID=0; + item0=547; + item1=174; + class CustomData + { + type="Sync"; + }; + }; + class Item1 + { + linkID=1; + item0=551; + item1=174; + class CustomData + { + type="Sync"; + }; + }; + class Item2 + { + linkID=2; + item0=576; + item1=174; + class CustomData + { + type="Sync"; + }; + }; + class Item3 + { + linkID=3; + item0=577; + item1=174; + class CustomData + { + type="Sync"; + }; + }; + class Item4 + { + linkID=4; + item0=621; + item1=174; + class CustomData + { + type="Sync"; + }; + }; + class Item5 + { + linkID=5; + item0=652; + item1=174; + class CustomData + { + type="Sync"; + }; + }; + class Item6 + { + linkID=6; + item0=664; + item1=174; + class CustomData + { + type="Sync"; + }; + }; + class Item7 + { + linkID=7; + item0=668; + item1=174; + class CustomData + { + type="Sync"; + }; + }; + class Item8 + { + linkID=8; + item0=670; + item1=174; + class CustomData + { + type="Sync"; + }; + }; + class Item9 + { + linkID=9; + item0=673; + item1=174; + class CustomData + { + type="Sync"; + }; + }; + class Item10 + { + linkID=10; + item0=675; + item1=174; + class CustomData + { + type="Sync"; + }; + }; + class Item11 + { + linkID=11; + item0=522; + item1=174; + class CustomData + { + type="Sync"; + }; + }; + class Item12 + { + linkID=12; + item0=524; + item1=174; + class CustomData + { + type="Sync"; + }; + }; + class Item13 + { + linkID=13; + item0=527; + item1=174; + class CustomData + { + type="Sync"; + }; + }; + class Item14 + { + linkID=14; + item0=697; + item1=174; + class CustomData + { + type="Sync"; + }; + }; + class Item15 + { + linkID=15; + item0=523; + item1=174; + class CustomData + { + type="Sync"; + }; + }; + class Item16 + { + linkID=16; + item0=525; + item1=174; + class CustomData + { + type="Sync"; + }; + }; + class Item17 + { + linkID=17; + item0=526; + item1=174; + class CustomData + { + type="Sync"; + }; + }; + class Item18 + { + linkID=18; + item0=696; + item1=174; + class CustomData + { + type="Sync"; + }; + }; + class Item19 + { + linkID=19; + item0=676; + item1=174; + class CustomData + { + type="Sync"; + }; + }; + class Item20 + { + linkID=20; + item0=674; + item1=174; + class CustomData + { + type="Sync"; + }; + }; + class Item21 + { + linkID=21; + item0=671; + item1=174; + class CustomData + { + type="Sync"; + }; + }; + class Item22 + { + linkID=22; + item0=669; + item1=174; + class CustomData + { + type="Sync"; + }; + }; + class Item23 + { + linkID=23; + item0=667; + item1=174; + class CustomData + { + type="Sync"; + }; + }; + class Item24 + { + linkID=24; + item0=662; + item1=174; + class CustomData + { + type="Sync"; + }; + }; + class Item25 + { + linkID=25; + item0=651; + item1=174; + class CustomData + { + type="Sync"; }; - class Item6 + }; + class Item26 + { + linkID=26; + item0=620; + item1=174; + class CustomData { - dataType="Marker"; - position[]={26947.609,21.974001,24301.393}; - name="duty_officer_spike_team"; - type="mil_dot"; - colorName="ColorWhite"; - angle=222.00151; - id=1128; - atlOffset=-0.092508316; + type="Sync"; }; }; - id=1129; - atlOffset=18.776287; - }; - class Item83 - { - dataType="Logic"; - class PositionInfo + class Item27 { - position[]={26245.461,-0.051803589,26429.17}; + linkID=27; + item0=575; + item1=174; + class CustomData + { + type="Sync"; + }; }; - init="if (isServer) then {" \n " [] spawn {" \n " while {isNil ""stopCuratorLoop""} do {" \n " { _x addCuratorEditableObjects [vehicles + allUnits]} forEach allCurators;" \n " uisleep 10;" \n " };" \n " };" \n "};"; - id=1130; - type="ModuleCurator_F"; - atlOffset=183.33701; - class CustomAttributes + class Item28 { - class Attribute0 + linkID=28; + item0=574; + item1=174; + class CustomData { - property="ModuleCurator_F_Owner"; - expression="_this setVariable ['Owner',_value,true];"; - class Value - { - class data - { - singleType="STRING"; - value="#adminLogged"; - }; - }; + type="Sync"; }; - class Attribute1 + }; + class Item29 + { + linkID=29; + item0=550; + item1=174; + class CustomData { - property="ModuleCurator_F_Forced"; - expression="_this setVariable ['Forced',_value,true];"; - class Value - { - class data - { - singleType="SCALAR"; - value=0; - }; - }; + type="Sync"; }; - class Attribute2 + }; + class Item30 + { + linkID=30; + item0=3; + item1=837; + class CustomData { - property="ModuleCurator_F_Name"; - expression="_this setVariable ['Name',_value,true];"; - class Value - { - class data - { - singleType="STRING"; - value="Zeus (Admin)"; - }; - }; + type="Sync"; }; - class Attribute3 + }; + class Item31 + { + linkID=31; + item0=179; + item1=3; + class CustomData { - property="ModuleCurator_F_Addons"; - expression="_this setVariable ['Addons',_value,true];"; - class Value - { - class data - { - singleType="SCALAR"; - value=3; - }; - }; + type="Sync"; }; - nAttributes=4; }; - }; - class Item84 - { - dataType="Marker"; - position[]={26914.861,22.732,24581.002}; - name="blocked_area1"; - text="Molos Airfield"; - markerType="RECTANGLE"; - type=""; - a=676.32397; - b=266.01199; - angle=310.25101; - id=1131; - atlOffset=-1.3747025; - }; - class Item85 - { - dataType="Logic"; - class PositionInfo + class Item32 { - position[]={26527.061,19.134216,24186.801}; - angles[]={0.016004669,3.7821634,0.025324726}; + linkID=32; + item0=321; + item1=3; + class CustomData + { + type="Sync"; + }; }; - areaSize[]={60.193001,0,63.747002}; - areaIsRectangle=1; - flags=1; - id=764; - type="ModuleHideTerrainObjects_F"; - atlOffset=0.5739975; - class CustomAttributes + class Item33 { - class Attribute0 + linkID=33; + item0=552; + item1=174; + class CustomData { - property="#filter"; - expression="_this setVariable [""#filter"",_value]"; - class Value - { - class data - { - singleType="SCALAR"; - value=15; - }; - }; + type="Sync"; }; - class Attribute1 + }; + class Item34 + { + linkID=34; + item0=553; + item1=174; + class CustomData { - property="#hideLocally"; - expression="_this setVariable [""#hideLocally"",_value]"; - class Value - { - class data - { - singleType="BOOL"; - value=0; - }; - }; + type="Sync"; }; - nAttributes=2; }; - }; - class Item86 - { - dataType="Object"; - class PositionInfo + class Item35 { - position[]={26490.197,21.125433,24150.994}; - angles[]={0.025327841,0.69410789,6.2685165}; + linkID=35; + item0=1124; + item1=3; + class CustomData + { + type="Sync"; + }; }; - side="Empty"; - flags=4; - class Attributes + class Item36 { + linkID=36; + item0=305; + item1=172; + class CustomData + { + type="Sync"; + }; }; - id=1152; - type="vn_b_armor_m113_acav_01"; - atlOffset=4.5776367e-005; - }; - class Item87 - { - dataType="Object"; - class PositionInfo + class Item37 { - position[]={27133.361,27.138948,25008.246}; - angles[]={0.014664836,2.343061,0.037314966}; + linkID=37; + item0=829; + item1=172; + class CustomData + { + type="Sync"; + }; }; - side="Empty"; - flags=4; - class Attributes + class Item38 { + linkID=38; + item0=812; + item1=172; + class CustomData + { + type="Sync"; + }; }; - id=1156; - type="vn_b_air_uh1d_03_06"; - atlOffset=-0.032684326; - }; - class Item88 - { - dataType="Object"; - class PositionInfo + class Item39 { - position[]={27117.566,27.457439,24986.389}; - angles[]={0.012000273,2.2728858,6.2485328}; + linkID=39; + item0=834; + item1=172; + class CustomData + { + type="Sync"; + }; }; - side="Empty"; - flags=4; - class Attributes + class Item40 { + linkID=40; + item0=835; + item1=172; + class CustomData + { + type="Sync"; + }; }; - id=1158; - type="vn_b_air_uh1e_02_04"; - atlOffset=0.005821228; - }; - class Item89 - { - dataType="Object"; - class PositionInfo + class Item41 { - position[]={27073.188,27.315491,24934.92}; - angles[]={6.2605257,2.2984414,0.014660771}; + linkID=41; + item0=832; + item1=172; + class CustomData + { + type="Sync"; + }; }; - side="Empty"; - flags=4; - class Attributes + class Item42 { + linkID=42; + item0=815; + item1=172; + class CustomData + { + type="Sync"; + }; }; - id=1162; - type="vn_b_air_uh1e_03_04"; - atlOffset=0.018554688; - }; - }; - class Connections - { - class LinkIDProvider - { - nextID=99; - }; - class Links - { - items=99; - class Item0 + class Item43 { - linkID=0; - item0=547; - item1=174; + linkID=43; + item0=814; + item1=172; class CustomData { type="Sync"; }; }; - class Item1 + class Item44 { - linkID=1; - item0=551; - item1=174; + linkID=44; + item0=172; + item1=1133; class CustomData { type="Sync"; }; }; - class Item2 + class Item45 { - linkID=2; - item0=576; - item1=174; + linkID=45; + item0=172; + item1=1134; class CustomData { type="Sync"; }; }; - class Item3 + class Item46 { - linkID=3; - item0=577; - item1=174; + linkID=46; + item0=172; + item1=1154; class CustomData { type="Sync"; }; }; - class Item4 + class Item47 { - linkID=4; - item0=621; - item1=174; + linkID=47; + item0=172; + item1=1153; class CustomData { type="Sync"; }; }; - class Item5 + class Item48 { - linkID=5; - item0=652; - item1=174; + linkID=48; + item0=1188; + item1=1189; class CustomData { type="Sync"; }; }; - class Item6 + class Item49 { - linkID=6; - item0=664; - item1=174; + linkID=49; + item0=1187; + item1=1189; class CustomData { type="Sync"; }; }; - class Item7 + class Item50 { - linkID=7; - item0=668; - item1=174; + linkID=50; + item0=1192; + item1=1193; class CustomData { type="Sync"; }; }; - class Item8 + class Item51 { - linkID=8; - item0=670; - item1=174; + linkID=51; + item0=1191; + item1=1193; class CustomData { type="Sync"; }; }; - class Item9 + class Item52 { - linkID=9; - item0=673; - item1=174; + linkID=52; + item0=1195; + item1=1196; class CustomData { type="Sync"; }; }; - class Item10 + class Item53 { - linkID=10; - item0=675; - item1=174; + linkID=53; + item0=1194; + item1=1196; class CustomData { type="Sync"; }; }; - class Item11 + class Item54 { - linkID=11; - item0=522; - item1=174; + linkID=54; + item0=1198; + item1=1199; class CustomData { type="Sync"; }; }; - class Item12 + class Item55 { - linkID=12; - item0=524; - item1=174; + linkID=55; + item0=1197; + item1=1199; class CustomData { type="Sync"; }; }; - class Item13 + class Item56 { - linkID=13; - item0=527; - item1=174; + linkID=56; + item0=1201; + item1=1202; class CustomData { type="Sync"; }; }; - class Item14 + class Item57 { - linkID=14; - item0=697; - item1=174; + linkID=57; + item0=1200; + item1=1202; class CustomData { type="Sync"; }; }; - class Item15 + class Item58 { - linkID=15; - item0=523; - item1=174; + linkID=58; + item0=1204; + item1=1205; class CustomData { type="Sync"; }; }; - class Item16 + class Item59 { - linkID=16; - item0=525; - item1=174; + linkID=59; + item0=1203; + item1=1205; class CustomData { type="Sync"; }; }; - class Item17 + class Item60 { - linkID=17; - item0=526; - item1=174; + linkID=60; + item0=1207; + item1=1208; class CustomData { type="Sync"; }; }; - class Item18 + class Item61 { - linkID=18; - item0=696; - item1=174; + linkID=61; + item0=1206; + item1=1208; class CustomData { type="Sync"; }; }; - class Item19 + class Item62 { - linkID=19; - item0=676; - item1=174; + linkID=62; + item0=1210; + item1=1211; class CustomData { type="Sync"; }; }; - class Item20 + class Item63 { - linkID=20; - item0=674; - item1=174; + linkID=63; + item0=1209; + item1=1211; class CustomData { type="Sync"; }; }; - class Item21 + class Item64 { - linkID=21; - item0=671; - item1=174; + linkID=64; + item0=1213; + item1=1214; class CustomData { type="Sync"; }; }; - class Item22 + class Item65 { - linkID=22; - item0=669; - item1=174; + linkID=65; + item0=1212; + item1=1214; class CustomData { type="Sync"; }; }; - class Item23 + class Item66 { - linkID=23; - item0=667; - item1=174; + linkID=66; + item0=1216; + item1=1217; class CustomData { type="Sync"; }; }; - class Item24 + class Item67 { - linkID=24; - item0=662; - item1=174; + linkID=67; + item0=1215; + item1=1217; class CustomData { type="Sync"; }; }; - class Item25 + class Item68 { - linkID=25; - item0=651; - item1=174; + linkID=68; + item0=1219; + item1=1220; class CustomData { type="Sync"; }; }; - class Item26 + class Item69 { - linkID=26; - item0=620; - item1=174; + linkID=69; + item0=1218; + item1=1220; class CustomData { type="Sync"; }; }; - class Item27 + class Item70 { - linkID=27; - item0=575; - item1=174; + linkID=70; + item0=1222; + item1=1223; class CustomData { type="Sync"; }; }; - class Item28 + class Item71 { - linkID=28; - item0=574; - item1=174; + linkID=71; + item0=1221; + item1=1223; class CustomData { type="Sync"; }; }; - class Item29 + class Item72 { - linkID=29; - item0=550; - item1=174; + linkID=72; + item0=1225; + item1=1226; class CustomData { type="Sync"; }; }; - class Item30 + class Item73 { - linkID=30; - item0=3; - item1=837; + linkID=73; + item0=1224; + item1=1226; class CustomData { type="Sync"; }; }; - class Item31 + class Item74 { - linkID=31; - item0=179; - item1=3; + linkID=74; + item0=1228; + item1=1229; class CustomData { type="Sync"; }; }; - class Item32 + class Item75 { - linkID=32; - item0=321; - item1=3; + linkID=75; + item0=1227; + item1=1229; class CustomData { type="Sync"; }; }; - class Item33 - { - linkID=33; - item0=552; - item1=174; + class Item76 + { + linkID=76; + item0=1238; + item1=1239; class CustomData { type="Sync"; }; }; - class Item34 + class Item77 { - linkID=34; - item0=553; - item1=174; + linkID=77; + item0=1237; + item1=1239; class CustomData { type="Sync"; }; }; - class Item35 + class Item78 { - linkID=35; - item0=1124; - item1=3; + linkID=78; + item0=1243; + item1=1242; class CustomData { type="Sync"; }; }; - class Item36 + class Item79 { - linkID=36; - item0=1143; - item1=172; + linkID=79; + item0=1241; + item1=1242; class CustomData { type="Sync"; }; }; - class Item37 + class Item80 { - linkID=37; - item0=699; - item1=172; + linkID=80; + item0=1254; + item1=1253; class CustomData { type="Sync"; }; }; - class Item38 + class Item81 { - linkID=38; - item0=184; - item1=172; + linkID=81; + item0=1252; + item1=1253; class CustomData { type="Sync"; }; }; - class Item39 + class Item82 { - linkID=39; - item0=185; - item1=172; + linkID=82; + item0=1258; + item1=1257; class CustomData { type="Sync"; }; }; - class Item40 + class Item83 { - linkID=40; - item0=183; - item1=172; + linkID=83; + item0=1256; + item1=1257; class CustomData { type="Sync"; }; }; - class Item41 + class Item84 { - linkID=41; - item0=186; - item1=172; + linkID=84; + item0=1261; + item1=1260; class CustomData { type="Sync"; }; }; - class Item42 + class Item85 { - linkID=42; - item0=305; - item1=172; + linkID=85; + item0=1259; + item1=1260; class CustomData { type="Sync"; }; }; - class Item43 + class Item86 { - linkID=43; - item0=578; - item1=172; + linkID=86; + item0=1264; + item1=1263; class CustomData { type="Sync"; }; }; - class Item44 + class Item87 { - linkID=44; - item0=689; - item1=172; + linkID=87; + item0=1262; + item1=1263; class CustomData { type="Sync"; }; }; - class Item45 + class Item88 { - linkID=45; - item0=1148; - item1=172; + linkID=88; + item0=1268; + item1=1267; class CustomData { type="Sync"; }; }; - class Item46 + class Item89 { - linkID=46; - item0=649; - item1=172; + linkID=89; + item0=1266; + item1=1267; class CustomData { type="Sync"; }; }; - class Item47 + class Item90 { - linkID=47; - item0=532; - item1=172; + linkID=90; + item0=1271; + item1=1270; class CustomData { type="Sync"; }; }; - class Item48 + class Item91 { - linkID=48; - item0=829; - item1=172; + linkID=91; + item0=1269; + item1=1270; class CustomData { type="Sync"; }; }; - class Item49 + class Item92 { - linkID=49; - item0=812; - item1=172; + linkID=92; + item0=1274; + item1=1273; class CustomData { type="Sync"; }; }; - class Item50 + class Item93 { - linkID=50; - item0=809; - item1=172; + linkID=93; + item0=1272; + item1=1273; class CustomData { type="Sync"; }; }; - class Item51 + class Item94 { - linkID=51; - item0=794; - item1=172; + linkID=94; + item0=1277; + item1=1276; class CustomData { type="Sync"; }; }; - class Item52 + class Item95 { - linkID=52; - item0=797; - item1=172; + linkID=95; + item0=1275; + item1=1276; class CustomData { type="Sync"; }; }; - class Item53 + class Item96 { - linkID=53; - item0=793; - item1=172; + linkID=96; + item0=1280; + item1=1279; class CustomData { type="Sync"; }; }; - class Item54 + class Item97 { - linkID=54; - item0=792; - item1=172; + linkID=97; + item0=1278; + item1=1279; class CustomData { type="Sync"; }; }; - class Item55 + class Item98 { - linkID=55; - item0=795; - item1=172; + linkID=98; + item0=1283; + item1=1282; class CustomData { type="Sync"; }; }; - class Item56 + class Item99 { - linkID=56; - item0=796; - item1=172; + linkID=99; + item0=1281; + item1=1282; class CustomData { type="Sync"; }; }; - class Item57 + class Item100 { - linkID=57; - item0=790; - item1=172; + linkID=100; + item0=1287; + item1=1286; class CustomData { type="Sync"; }; }; - class Item58 + class Item101 { - linkID=58; - item0=834; - item1=172; + linkID=101; + item0=1285; + item1=1286; class CustomData { type="Sync"; }; }; - class Item59 + class Item102 { - linkID=59; - item0=835; - item1=172; + linkID=102; + item0=1290; + item1=1289; class CustomData { type="Sync"; }; }; - class Item60 + class Item103 { - linkID=60; - item0=832; - item1=172; + linkID=103; + item0=1288; + item1=1289; class CustomData { type="Sync"; }; }; - class Item61 + class Item104 { - linkID=61; - item0=786; - item1=172; + linkID=104; + item0=1293; + item1=1292; class CustomData { type="Sync"; }; }; - class Item62 + class Item105 { - linkID=62; - item0=787; - item1=172; + linkID=105; + item0=1291; + item1=1292; class CustomData { type="Sync"; }; }; - class Item63 + class Item106 { - linkID=63; - item0=788; - item1=172; + linkID=106; + item0=1297; + item1=1296; class CustomData { type="Sync"; }; }; - class Item64 + class Item107 { - linkID=64; - item0=806; - item1=172; + linkID=107; + item0=1295; + item1=1296; class CustomData { type="Sync"; }; }; - class Item65 + class Item108 { - linkID=65; - item0=805; - item1=172; + linkID=108; + item0=1300; + item1=1299; class CustomData { type="Sync"; }; }; - class Item66 + class Item109 { - linkID=66; - item0=791; - item1=172; + linkID=109; + item0=1298; + item1=1299; class CustomData { type="Sync"; }; }; - class Item67 + class Item110 { - linkID=67; - item0=807; - item1=172; + linkID=110; + item0=1303; + item1=1302; class CustomData { type="Sync"; }; }; - class Item68 + class Item111 { - linkID=68; - item0=810; - item1=172; + linkID=111; + item0=1301; + item1=1302; class CustomData { type="Sync"; }; }; - class Item69 + class Item112 { - linkID=69; - item0=808; - item1=172; + linkID=112; + item0=1307; + item1=1306; class CustomData { type="Sync"; }; }; - class Item70 + class Item113 { - linkID=70; - item0=789; - item1=172; + linkID=113; + item0=1305; + item1=1306; class CustomData { type="Sync"; }; }; - class Item71 + class Item114 { - linkID=71; - item0=815; - item1=172; + linkID=114; + item0=1310; + item1=1309; class CustomData { type="Sync"; }; }; - class Item72 + class Item115 { - linkID=72; - item0=814; - item1=172; + linkID=115; + item0=1308; + item1=1309; class CustomData { type="Sync"; }; }; - class Item73 + class Item116 { - linkID=73; - item0=856; - item1=172; + linkID=116; + item0=1313; + item1=1312; class CustomData { type="Sync"; }; }; - class Item74 + class Item117 { - linkID=74; - item0=852; - item1=172; + linkID=117; + item0=1311; + item1=1312; class CustomData { type="Sync"; }; }; - class Item75 + class Item118 { - linkID=75; - item0=851; - item1=172; + linkID=118; + item0=1316; + item1=1315; class CustomData { type="Sync"; }; }; - class Item76 + class Item119 { - linkID=76; - item0=850; - item1=172; + linkID=119; + item0=1314; + item1=1315; class CustomData { type="Sync"; }; }; - class Item77 + class Item120 { - linkID=77; - item0=855; - item1=172; + linkID=120; + item0=1319; + item1=1318; class CustomData { type="Sync"; }; }; - class Item78 + class Item121 { - linkID=78; - item0=849; - item1=172; + linkID=121; + item0=1317; + item1=1318; class CustomData { type="Sync"; }; }; - class Item79 + class Item122 { - linkID=79; - item0=1013; - item1=172; + linkID=122; + item0=1323; + item1=1322; class CustomData { type="Sync"; }; }; - class Item80 + class Item123 { - linkID=80; - item0=1012; - item1=172; + linkID=123; + item0=1321; + item1=1322; class CustomData { type="Sync"; }; }; - class Item81 + class Item124 { - linkID=81; - item0=996; - item1=172; + linkID=124; + item0=1326; + item1=1325; class CustomData { type="Sync"; }; }; - class Item82 + class Item125 { - linkID=82; - item0=999; - item1=172; + linkID=125; + item0=1324; + item1=1325; class CustomData { type="Sync"; }; }; - class Item83 + class Item126 { - linkID=83; - item0=998; - item1=172; + linkID=126; + item0=1332; + item1=1331; class CustomData { type="Sync"; }; }; - class Item84 + class Item127 { - linkID=84; - item0=995; - item1=172; + linkID=127; + item0=1330; + item1=1331; class CustomData { type="Sync"; }; }; - class Item85 + class Item128 { - linkID=85; - item0=172; - item1=1140; + linkID=128; + item0=1335; + item1=1334; class CustomData { type="Sync"; }; }; - class Item86 + class Item129 { - linkID=86; - item0=172; - item1=1137; + linkID=129; + item0=1333; + item1=1334; class CustomData { type="Sync"; }; }; - class Item87 + class Item130 { - linkID=87; - item0=172; - item1=1138; + linkID=130; + item0=1339; + item1=1338; class CustomData { type="Sync"; }; }; - class Item88 + class Item131 { - linkID=88; - item0=172; - item1=1152; + linkID=131; + item0=1337; + item1=1338; class CustomData { type="Sync"; }; }; - class Item89 + class Item132 { - linkID=89; - item0=172; - item1=1139; + linkID=132; + item0=1342; + item1=1341; class CustomData { type="Sync"; }; }; - class Item90 + class Item133 { - linkID=90; - item0=172; - item1=1141; + linkID=133; + item0=1340; + item1=1341; class CustomData { type="Sync"; }; }; - class Item91 + class Item134 { - linkID=91; - item0=172; - item1=1142; + linkID=134; + item0=1345; + item1=1344; class CustomData { type="Sync"; }; }; - class Item92 + class Item135 { - linkID=92; - item0=172; - item1=1133; + linkID=135; + item0=1343; + item1=1344; class CustomData { type="Sync"; }; }; - class Item93 + class Item136 { - linkID=93; - item0=172; - item1=1134; + linkID=136; + item0=1348; + item1=1347; class CustomData { type="Sync"; }; }; - class Item94 + class Item137 { - linkID=94; - item0=172; - item1=1154; + linkID=137; + item0=1346; + item1=1347; class CustomData { type="Sync"; }; }; - class Item95 + class Item138 { - linkID=95; - item0=172; - item1=1153; + linkID=138; + item0=1351; + item1=1350; class CustomData { type="Sync"; }; }; - class Item96 + class Item139 { - linkID=96; - item0=1158; - item1=172; + linkID=139; + item0=1349; + item1=1350; class CustomData { type="Sync"; }; }; - class Item97 + class Item140 { - linkID=97; - item0=1156; - item1=172; + linkID=140; + item0=1354; + item1=1353; class CustomData { type="Sync"; }; }; - class Item98 + class Item141 { - linkID=98; - item0=1162; - item1=172; + linkID=141; + item0=1352; + item1=1353; class CustomData { type="Sync"; From c2bb7931436fcbad4325361c7699e50ae750819c Mon Sep 17 00:00:00 2001 From: Spoffy Date: Tue, 13 Jun 2023 03:13:14 +0100 Subject: [PATCH 29/34] Fixes team array not being sync'd and causing runtime --- mission/functions/core/teams/fn_force_team_change.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mission/functions/core/teams/fn_force_team_change.sqf b/mission/functions/core/teams/fn_force_team_change.sqf index dd475c8e..5f905a50 100644 --- a/mission/functions/core/teams/fn_force_team_change.sqf +++ b/mission/functions/core/teams/fn_force_team_change.sqf @@ -31,7 +31,7 @@ publicVariable _playerGroup; _player setVariable ["vn_mf_db_player_group", _team, true]; private _nextPlayerTeamArray = missionNamespace getVariable [_team, []]; _nextPlayerTeamArray pushBackUnique _player; -publicVariable _nextPlayerTeam; +publicVariable _team; [[_team], { [] call vn_mf_fnc_task_refresh_tasks_client; From 2586902b96ad9809278671c625eb8cc5029e5def Mon Sep 17 00:00:00 2001 From: Spoffy Date: Tue, 13 Jun 2023 04:00:48 +0100 Subject: [PATCH 30/34] Brings changelog up to date --- mission/config/changelog.hpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/mission/config/changelog.hpp b/mission/config/changelog.hpp index eedeb88c..bf192695 100644 --- a/mission/config/changelog.hpp +++ b/mission/config/changelog.hpp @@ -1,15 +1,23 @@ class Changelog { class 1_00_03 { version = "1.00.03"; - date = "28th January 2023"; + date = "13th June 2023"; changes[] = { - "[New] Adds S.O.G. Prairie Fire 1.3 content", + "[New] Adds S.O.G. Prairie Fire 1.3 weapons to the arsenal", + "[New] Adds S.O.G. Prairie Fire 1.3 vehicles to the spawn points", + "[New] Adds S.O.G. Prairie Fire 1.3 vehicles to FOB workshops", + "[Change] Vehicles can now be changed when they're at their spawn point. Press '6' to change vehicle.", + "[New] Added static weapon spawn points, with M45, M101, ZPU, etc.", "[New] Adds a mission parameter to scale the number of AI (and therefore difficulty)", - "[Change] Redesigned vehicle spawning. The base now has a handful of spawn points, each with a selection of vehicles", "[Change] Added a notification when counterattacks are failed", + "[Change] Altis Green Hornets base is now more compact", "[Fix] Zone progression rewritten to be more robust (fewer bugs)", "[Fix] Headless clients should be much more effective at hosting AI", - "[Fix] Team swapping no longer causes an error" + "[Fix] Vehicles should explode far less often when created at the workshop", + "[Fix] Vehicles should explode far less often when recovered at a wreck recovery point", + "[Fix] Wreck recovery point status should update correctly", + "[Fix] Team swapping no longer causes an error", + "[Change] Minor changes to bases on Khe Sanh, Cam Lao Nam and The Bra" }; }; From b6492ab0e69e41657f2552a12c41576a929acc04 Mon Sep 17 00:00:00 2001 From: Spoffy Date: Tue, 13 Jun 2023 04:30:38 +0100 Subject: [PATCH 31/34] Updates some altitude offsets on The Bra --- maps/vn_the_bra/mission.sqm | 76 ++++++++++++++++++------------------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/maps/vn_the_bra/mission.sqm b/maps/vn_the_bra/mission.sqm index 6bc3fe88..04b5b6f4 100644 --- a/maps/vn_the_bra/mission.sqm +++ b/maps/vn_the_bra/mission.sqm @@ -16,11 +16,11 @@ class EditorData }; class LayerIndexProvider { - nextID=655; + nextID=684; }; class Camera { - pos[]={3350.6877,62.139259,4297.0088}; + pos[]={3417.2913,143.5565,4263.9644}; dir[]={-0.65638942,-0.59361577,0.46564054}; up[]={-0.48416653,0.80474663,0.34346718}; aside[]={0.57860953,1.473818e-007,0.81563699}; @@ -9650,7 +9650,7 @@ class Mission }; id=598; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.19369125; + atlOffset=1.0000458; }; class Item2 { @@ -9665,7 +9665,7 @@ class Mission }; }; id=618; - atlOffset=0.059909821; + atlOffset=0.26150131; }; class Item76 { @@ -9721,7 +9721,7 @@ class Mission }; id=601; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.16160583; + atlOffset=1; }; class Item2 { @@ -9736,7 +9736,7 @@ class Mission }; }; id=619; - atlOffset=0.040401459; + atlOffset=0.25; }; class Item77 { @@ -9793,7 +9793,7 @@ class Mission }; id=571; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.26903152; + atlOffset=1; }; class Item2 { @@ -9809,7 +9809,7 @@ class Mission }; }; id=620; - atlOffset=0.080528259; + atlOffset=0.26326752; }; class Item78 { @@ -9866,7 +9866,7 @@ class Mission }; id=574; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.3627243; + atlOffset=1.0000076; }; class Item2 { @@ -9882,7 +9882,7 @@ class Mission }; }; id=621; - atlOffset=0.042087555; + atlOffset=0.20140457; }; class Item79 { @@ -9952,11 +9952,11 @@ class Mission }; id=578; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.25253677; + atlOffset=1; }; }; id=622; - atlOffset=0.14577866; + atlOffset=0.51951218; }; class Item80 { @@ -10013,7 +10013,7 @@ class Mission }; id=568; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.21142197; + atlOffset=1; }; class Item2 { @@ -10029,7 +10029,7 @@ class Mission }; }; id=623; - atlOffset=0.052852631; + atlOffset=0.25; }; class Item81 { @@ -10086,7 +10086,7 @@ class Mission }; id=565; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.21027374; + atlOffset=1; }; class Item2 { @@ -10102,7 +10102,7 @@ class Mission }; }; id=624; - atlOffset=0.052570343; + atlOffset=0.25; }; class Item82 { @@ -10159,7 +10159,7 @@ class Mission }; id=580; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.2431221; + atlOffset=1.0000191; }; class Item2 { @@ -10175,7 +10175,7 @@ class Mission }; }; id=625; - atlOffset=0.090110779; + atlOffset=0.27933502; }; class Item83 { @@ -10232,7 +10232,7 @@ class Mission }; id=592; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.3194809; + atlOffset=1; }; class Item2 { @@ -10248,7 +10248,7 @@ class Mission }; }; id=626; - atlOffset=0.0847435; + atlOffset=0.254879; }; class Item84 { @@ -10305,7 +10305,7 @@ class Mission }; id=595; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.40203857; + atlOffset=1.000042; }; class Item2 { @@ -10321,7 +10321,7 @@ class Mission }; }; id=627; - atlOffset=0.094730377; + atlOffset=0.24422836; }; class Item85 { @@ -10378,7 +10378,7 @@ class Mission }; id=586; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.31412125; + atlOffset=1.0000458; }; class Item2 { @@ -10394,7 +10394,7 @@ class Mission }; }; id=628; - atlOffset=0.046333313; + atlOffset=0.2178154; }; class Item86 { @@ -10446,12 +10446,12 @@ class Mission angles[]={0,1.225379,0}; }; side="Empty"; - flags=4; class Attributes { }; id=583; type="Sign_Arrow_Direction_Green_F"; + atlOffset=1; }; class Item2 { @@ -10467,7 +10467,7 @@ class Mission }; }; id=629; - atlOffset=-0.025402069; + atlOffset=0.22459793; }; class Item87 { @@ -10524,7 +10524,7 @@ class Mission }; id=589; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.1677475; + atlOffset=1; }; class Item2 { @@ -10540,7 +10540,7 @@ class Mission }; }; id=630; - atlOffset=0.0091438293; + atlOffset=0.21720505; }; class Item88 { @@ -10597,7 +10597,7 @@ class Mission }; id=607; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.60484695; + atlOffset=0.74914169; }; class Item2 { @@ -10613,7 +10613,7 @@ class Mission }; }; id=631; - atlOffset=0.21392441; + atlOffset=0.021381378; }; class Item89 { @@ -10670,7 +10670,7 @@ class Mission }; id=610; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.60484695; + atlOffset=0.74914169; }; class Item2 { @@ -10686,7 +10686,7 @@ class Mission }; }; id=632; - atlOffset=0.031162262; + atlOffset=0.067237854; }; class Item90 { @@ -10743,7 +10743,7 @@ class Mission }; id=616; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.49655914; + atlOffset=0.74914169; }; class Item2 { @@ -10759,7 +10759,7 @@ class Mission }; }; id=633; - atlOffset=0.18685532; + atlOffset=0.25; }; class Item91 { @@ -10816,7 +10816,7 @@ class Mission }; id=613; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.41897583; + atlOffset=0.74914169; }; class Item2 { @@ -10832,7 +10832,7 @@ class Mission }; }; id=634; - atlOffset=0.1674614; + atlOffset=0.072570801; }; class Item92 { @@ -10889,7 +10889,7 @@ class Mission }; id=604; type="Sign_Arrow_Direction_Green_F"; - atlOffset=0.35966873; + atlOffset=1; }; class Item2 { @@ -10904,7 +10904,7 @@ class Mission }; }; id=635; - atlOffset=0.089916229; + atlOffset=0.25; }; }; class Connections From bf35d1846b154294179655b3bd776d17704594ef Mon Sep 17 00:00:00 2001 From: Spoffy Date: Tue, 13 Jun 2023 04:30:51 +0100 Subject: [PATCH 32/34] Fixes HCs on Altis --- maps/altis/mission.sqm | 413 +++++++++++++++++------------------ mission/config/changelog.hpp | 1 + 2 files changed, 206 insertions(+), 208 deletions(-) diff --git a/maps/altis/mission.sqm b/maps/altis/mission.sqm index 9d69caa4..612d84c4 100644 --- a/maps/altis/mission.sqm +++ b/maps/altis/mission.sqm @@ -8,7 +8,7 @@ class EditorData toggles=521; class ItemIDProvider { - nextID=1356; + nextID=1359; }; class MarkerIDProvider { @@ -16,14 +16,14 @@ class EditorData }; class LayerIndexProvider { - nextID=491; + nextID=521; }; class Camera { - pos[]={26523.84,24.940479,24213.369}; - dir[]={0.71472037,-0.4536432,0.53235906}; - up[]={0.3638157,0.89117867,0.27098799}; - aside[]={0.59735793,1.9266736e-007,-0.80198586}; + pos[]={14479.979,34.028595,6175.1948}; + dir[]={-0.43369952,-0.69989479,0.56750834}; + up[]={-0.42497972,0.71424693,0.5560981}; + aside[]={0.79455078,-2.750312e-008,0.60720921}; }; }; binarizationWanted=0; @@ -34,7 +34,6 @@ addons[]= "A3_Ui_F", "objects_f_vietnam_c", "A3_Modules_F", - "A3_Characters_F", "structures_f_vietnam_c", "A3_Structures_F_Walls", "A3_Structures_F_Civ_Camping", @@ -57,7 +56,8 @@ addons[]= "A3_Structures_F_Heli_Civ_Constructions", "A3_Structures_F_Items_Tools", "A3_Modules_F_Curator_Curator", - "A3_Misc_F_Helpers" + "A3_Misc_F_Helpers", + "A3_Characters_F" }; class AddonsMetaData { @@ -93,124 +93,124 @@ class AddonsMetaData url="https://www.arma3.com"; }; class Item4 - { - className="A3_Characters_F"; - name="Arma 3 Alpha - Characters and Clothing"; - author="Bohemia Interactive"; - url="https://www.arma3.com"; - }; - class Item5 { className="structures_f_vietnam_c"; name="structures_f_vietnam_c"; author="Savage Game Design"; url="https://www.arma3.com"; }; - class Item6 + class Item5 { className="A3_Structures_F"; name="Arma 3 - Buildings and Structures"; author="Bohemia Interactive"; url="https://www.arma3.com"; }; - class Item7 + class Item6 { className="A3_Structures_F_Mil"; name="Arma 3 - Military Buildings and Structures"; author="Bohemia Interactive"; url="https://www.arma3.com"; }; - class Item8 + class Item7 { className="A3_Structures_F_EPC"; name="Arma 3 Win Episode - Buildings and Structures"; author="Bohemia Interactive"; url="https://www.arma3.com"; }; - class Item9 + class Item8 { className="A3_Props_F_Enoch"; name="Arma 3 Contact Platform - Decorative and Mission Objects"; author="Bohemia Interactive"; url="https://www.arma3.com"; }; - class Item10 + class Item9 { className="weapons_f_vietnam_c"; name="weapons_f_vietnam_c"; author="Savage Game Design"; url="https://www.arma3.com"; }; - class Item11 + class Item10 { className="A3_Structures_F_Argo"; name="Arma 3 Malden - Buildings and Structures"; author="Bohemia Interactive"; url="https://www.arma3.com"; }; - class Item12 + class Item11 { className="wheeled_f_vietnam_c"; name="wheeled_f_vietnam_c"; author="Savage Game Design"; url="https://www.arma3.com"; }; - class Item13 + class Item12 { className="A3_Structures_F_Enoch"; name="Arma 3 Contact Platform - Buildings and Structures"; author="Bohemia Interactive"; url="https://www.arma3.com"; }; - class Item14 + class Item13 { className="static_f_vietnam_c"; name="static_f_vietnam_c"; author="Savage Game Design"; url="https://www.arma3.com"; }; - class Item15 + class Item14 { className="static_f_vietnam_03_c"; name="static_f_vietnam_03_c"; author="Savage Game Design"; url="https://www.arma3.com"; }; - class Item16 + class Item15 { className="A3_Structures_F_Ind"; name="Arma 3 - Industrial Structures"; author="Bohemia Interactive"; url="https://www.arma3.com"; }; - class Item17 + class Item16 { className="characters_f_vietnam_c"; name="characters_f_vietnam_c"; author="Savage Game Design"; url="https://www.arma3.com"; }; - class Item18 + class Item17 { className="A3_Structures_F_Heli"; name="Arma 3 Helicopters - Buildings and Structures"; author="Bohemia Interactive"; url="https://www.arma3.com"; }; - class Item19 + class Item18 { className="A3_Modules_F_Curator"; name="Arma 3 Zeus Update - Scripted Modules"; author="Bohemia Interactive"; url="https://www.arma3.com"; }; - class Item20 + class Item19 { className="A3_Misc_F"; name="Arma 3 - 3D Aids and Helpers"; author="Bohemia Interactive"; url="https://www.arma3.com"; }; + class Item20 + { + className="A3_Characters_F"; + name="Arma 3 Alpha - Characters and Clothing"; + author="Bohemia Interactive"; + url="https://www.arma3.com"; + }; }; }; dlcs[]= @@ -2058,52 +2058,13 @@ class Mission }; }; class Item8 - { - dataType="Logic"; - class PositionInfo - { - position[]={14473.242,25.090881,6179.7104}; - angles[]={0.021328852,0,6.2805109}; - }; - description="hc1"; - id=175; - type="HeadlessClient_F"; - atlOffset=2.4795532e-005; - }; - class Item9 - { - dataType="Logic"; - class PositionInfo - { - position[]={14472.326,25.112719,6178.8013}; - angles[]={0.021328852,0,6.2805109}; - }; - description="hc2"; - id=176; - type="HeadlessClient_F"; - atlOffset=2.2888184e-005; - }; - class Item10 - { - dataType="Logic"; - class PositionInfo - { - position[]={14473.718,25.110493,6178.731}; - angles[]={0.021328852,0,6.2805109}; - }; - description="hc3"; - id=177; - type="HeadlessClient_F"; - atlOffset=3.8146973e-006; - }; - class Item11 { dataType="Layer"; name="Vehicles"; id=182; atlOffset=185.97; }; - class Item12 + class Item9 { dataType="Layer"; name="Mike Force"; @@ -2265,7 +2226,7 @@ class Mission id=323; atlOffset=-35.738907; }; - class Item13 + class Item10 { dataType="Layer"; name="Green Hornets"; @@ -3012,7 +2973,7 @@ class Mission class PositionInfo { position[]={27216.42,29.867428,24884.871}; - angles[]={0,0.72198671,-0}; + angles[]={0,0.72198671,0}; }; side="Empty"; flags=1; @@ -5264,7 +5225,7 @@ class Mission class PositionInfo { position[]={27141.725,26.47098,24941.986}; - angles[]={-0,4.1968412,0.014664836}; + angles[]={0,4.1968412,0.014664836}; }; side="Empty"; flags=4; @@ -5282,7 +5243,7 @@ class Mission class PositionInfo { position[]={27139.365,26.436419,24943.35}; - angles[]={-0,4.1990023,0.014664836}; + angles[]={0,4.1990023,0.014664836}; }; side="Empty"; flags=4; @@ -5405,7 +5366,7 @@ class Mission name="supply_officer_initial_2"; text="Initial Supply Officer 2"; type="Empty"; - angle=46.721531; + angle=46.721527; id=1082; }; class Item10 @@ -8899,7 +8860,7 @@ class Mission class PositionInfo { position[]={27165.088,24.969599,24965.793}; - angles[]={-0,2.2961795,0.0026520467}; + angles[]={0,2.2961795,0.0026520467}; }; side="Empty"; flags=4; @@ -9078,7 +9039,7 @@ class Mission class PositionInfo { position[]={27026.547,24.953299,24872.096}; - angles[]={0,2.2778649,-0}; + angles[]={0,2.2778649,0}; }; side="Empty"; class Attributes @@ -9351,7 +9312,7 @@ class Mission class PositionInfo { position[]={27250.727,32.508999,24927.066}; - angles[]={0,3.7923059,-0}; + angles[]={0,3.7923059,0}; }; side="Empty"; flags=1; @@ -9425,7 +9386,7 @@ class Mission class PositionInfo { position[]={27249.473,29.859896,24932.025}; - angles[]={0,3.8109577,-0}; + angles[]={0,3.8109577,0}; }; side="Empty"; flags=1; @@ -9458,7 +9419,7 @@ class Mission id=324; atlOffset=2.1202755; }; - class Item14 + class Item11 { dataType="Layer"; name="ACAV"; @@ -11310,7 +11271,7 @@ class Mission text="Initial Supply Drop 1"; type="Empty"; colorName="ColorOrange"; - angle=225.49704; + angle=225.49702; id=1058; atlOffset=0.50146294; }; @@ -12190,7 +12151,7 @@ class Mission id=346; atlOffset=-0.063421249; }; - class Item15 + class Item12 { dataType="Logic"; class PositionInfo @@ -12234,7 +12195,7 @@ class Mission nAttributes=2; }; }; - class Item16 + class Item13 { dataType="Group"; side="West"; @@ -12297,7 +12258,7 @@ class Mission id=858; atlOffset=-5.6266785e-005; }; - class Item17 + class Item14 { dataType="Group"; side="West"; @@ -12359,7 +12320,7 @@ class Mission id=862; atlOffset=-5.6266785e-005; }; - class Item18 + class Item15 { dataType="Group"; side="West"; @@ -12421,7 +12382,7 @@ class Mission id=864; atlOffset=-8.3446503e-005; }; - class Item19 + class Item16 { dataType="Group"; side="West"; @@ -12483,7 +12444,7 @@ class Mission id=866; atlOffset=3.695488e-005; }; - class Item20 + class Item17 { dataType="Group"; side="West"; @@ -12545,7 +12506,7 @@ class Mission id=868; atlOffset=3.7193298e-005; }; - class Item21 + class Item18 { dataType="Group"; side="West"; @@ -12607,7 +12568,7 @@ class Mission id=870; atlOffset=-0.00013828278; }; - class Item22 + class Item19 { dataType="Group"; side="West"; @@ -12669,7 +12630,7 @@ class Mission id=872; atlOffset=-9.226799e-005; }; - class Item23 + class Item20 { dataType="Group"; side="West"; @@ -12731,7 +12692,7 @@ class Mission id=874; atlOffset=3.695488e-005; }; - class Item24 + class Item21 { dataType="Group"; side="West"; @@ -12793,7 +12754,7 @@ class Mission id=876; atlOffset=3.7193298e-005; }; - class Item25 + class Item22 { dataType="Group"; side="West"; @@ -12855,7 +12816,7 @@ class Mission id=878; atlOffset=5.6028366e-005; }; - class Item26 + class Item23 { dataType="Group"; side="West"; @@ -12917,7 +12878,7 @@ class Mission id=880; atlOffset=-0.00013780594; }; - class Item27 + class Item24 { dataType="Group"; side="West"; @@ -12979,7 +12940,7 @@ class Mission id=882; atlOffset=3.6716461e-005; }; - class Item28 + class Item25 { dataType="Group"; side="West"; @@ -13041,7 +13002,7 @@ class Mission id=884; atlOffset=3.6716461e-005; }; - class Item29 + class Item26 { dataType="Group"; side="West"; @@ -13103,7 +13064,7 @@ class Mission id=886; atlOffset=-0.00011634827; }; - class Item30 + class Item27 { dataType="Group"; side="West"; @@ -13165,7 +13126,7 @@ class Mission id=888; atlOffset=-0.00011658669; }; - class Item31 + class Item28 { dataType="Group"; side="West"; @@ -13227,7 +13188,7 @@ class Mission id=890; atlOffset=-0.00017499924; }; - class Item32 + class Item29 { dataType="Group"; side="West"; @@ -13289,7 +13250,7 @@ class Mission id=892; atlOffset=-0.0001168251; }; - class Item33 + class Item30 { dataType="Group"; side="West"; @@ -13351,7 +13312,7 @@ class Mission id=894; atlOffset=-0.00011730194; }; - class Item34 + class Item31 { dataType="Group"; side="West"; @@ -13413,7 +13374,7 @@ class Mission id=896; atlOffset=-0.0001168251; }; - class Item35 + class Item32 { dataType="Group"; side="West"; @@ -13475,7 +13436,7 @@ class Mission id=898; atlOffset=-0.0001168251; }; - class Item36 + class Item33 { dataType="Group"; side="West"; @@ -13537,7 +13498,7 @@ class Mission id=900; atlOffset=-0.0001168251; }; - class Item37 + class Item34 { dataType="Group"; side="West"; @@ -13599,7 +13560,7 @@ class Mission id=902; atlOffset=-4.7683716e-005; }; - class Item38 + class Item35 { dataType="Group"; side="West"; @@ -13661,7 +13622,7 @@ class Mission id=904; atlOffset=-4.7206879e-005; }; - class Item39 + class Item36 { dataType="Group"; side="West"; @@ -13723,7 +13684,7 @@ class Mission id=906; atlOffset=-4.7206879e-005; }; - class Item40 + class Item37 { dataType="Group"; side="West"; @@ -13785,7 +13746,7 @@ class Mission id=908; atlOffset=-8.058548e-005; }; - class Item41 + class Item38 { dataType="Group"; side="West"; @@ -13847,7 +13808,7 @@ class Mission id=910; atlOffset=-4.7206879e-005; }; - class Item42 + class Item39 { dataType="Group"; side="West"; @@ -13909,7 +13870,7 @@ class Mission id=912; atlOffset=-7.0095062e-005; }; - class Item43 + class Item40 { dataType="Group"; side="West"; @@ -13971,7 +13932,7 @@ class Mission id=914; atlOffset=-4.7206879e-005; }; - class Item44 + class Item41 { dataType="Group"; side="West"; @@ -14033,7 +13994,7 @@ class Mission id=916; atlOffset=-7.9631805e-005; }; - class Item45 + class Item42 { dataType="Group"; side="West"; @@ -14095,7 +14056,7 @@ class Mission id=918; atlOffset=-0.0001244545; }; - class Item46 + class Item43 { dataType="Group"; side="West"; @@ -14157,7 +14118,7 @@ class Mission id=920; atlOffset=-4.8160553e-005; }; - class Item47 + class Item44 { dataType="Group"; side="West"; @@ -14219,7 +14180,7 @@ class Mission id=922; atlOffset=-7.9631805e-005; }; - class Item48 + class Item45 { dataType="Group"; side="West"; @@ -14281,7 +14242,7 @@ class Mission id=924; atlOffset=-5.3405762e-005; }; - class Item49 + class Item46 { dataType="Group"; side="West"; @@ -14343,7 +14304,7 @@ class Mission id=926; atlOffset=-7.9154968e-005; }; - class Item50 + class Item47 { dataType="Group"; side="West"; @@ -14405,7 +14366,7 @@ class Mission id=928; atlOffset=-5.2928925e-005; }; - class Item51 + class Item48 { dataType="Group"; side="West"; @@ -14467,7 +14428,7 @@ class Mission id=930; atlOffset=-5.2928925e-005; }; - class Item52 + class Item49 { dataType="Group"; side="West"; @@ -14529,7 +14490,7 @@ class Mission id=932; atlOffset=-5.3405762e-005; }; - class Item53 + class Item50 { dataType="Group"; side="West"; @@ -14591,7 +14552,7 @@ class Mission id=934; atlOffset=-5.2928925e-005; }; - class Item54 + class Item51 { dataType="Group"; side="West"; @@ -14653,7 +14614,7 @@ class Mission id=936; atlOffset=-5.3405762e-005; }; - class Item55 + class Item52 { dataType="Group"; side="West"; @@ -14715,7 +14676,7 @@ class Mission id=938; atlOffset=-5.2928925e-005; }; - class Item56 + class Item53 { dataType="Group"; side="West"; @@ -14777,7 +14738,7 @@ class Mission id=940; atlOffset=-5.3405762e-005; }; - class Item57 + class Item54 { dataType="Group"; side="West"; @@ -14839,7 +14800,7 @@ class Mission id=942; atlOffset=-5.2928925e-005; }; - class Item58 + class Item55 { dataType="Group"; side="West"; @@ -14901,7 +14862,7 @@ class Mission id=944; atlOffset=-5.3405762e-005; }; - class Item59 + class Item56 { dataType="Group"; side="West"; @@ -14963,7 +14924,7 @@ class Mission id=946; atlOffset=-5.3405762e-005; }; - class Item60 + class Item57 { dataType="Group"; side="West"; @@ -15025,7 +14986,7 @@ class Mission id=948; atlOffset=-5.3405762e-005; }; - class Item61 + class Item58 { dataType="Group"; side="West"; @@ -15087,7 +15048,7 @@ class Mission id=950; atlOffset=-4.4822693e-005; }; - class Item62 + class Item59 { dataType="Group"; side="West"; @@ -15149,7 +15110,7 @@ class Mission id=952; atlOffset=-4.4822693e-005; }; - class Item63 + class Item60 { dataType="Group"; side="West"; @@ -15211,7 +15172,7 @@ class Mission id=954; atlOffset=-4.4345856e-005; }; - class Item64 + class Item61 { dataType="Group"; side="West"; @@ -15273,7 +15234,7 @@ class Mission id=956; atlOffset=-4.4822693e-005; }; - class Item65 + class Item62 { dataType="Group"; side="West"; @@ -15335,7 +15296,7 @@ class Mission id=958; atlOffset=8.9168549e-005; }; - class Item66 + class Item63 { dataType="Group"; side="West"; @@ -15397,7 +15358,7 @@ class Mission id=960; atlOffset=-4.4345856e-005; }; - class Item67 + class Item64 { dataType="Group"; side="West"; @@ -15459,7 +15420,7 @@ class Mission id=962; atlOffset=-4.4345856e-005; }; - class Item68 + class Item65 { dataType="Group"; side="West"; @@ -15521,7 +15482,7 @@ class Mission id=964; atlOffset=-4.529953e-005; }; - class Item69 + class Item66 { dataType="Group"; side="West"; @@ -15583,7 +15544,7 @@ class Mission id=966; atlOffset=8.9168549e-005; }; - class Item70 + class Item67 { dataType="Group"; side="West"; @@ -15645,7 +15606,7 @@ class Mission id=968; atlOffset=8.9168549e-005; }; - class Item71 + class Item68 { dataType="Group"; side="West"; @@ -15707,7 +15668,7 @@ class Mission id=970; atlOffset=-2.3841858e-005; }; - class Item72 + class Item69 { dataType="Group"; side="West"; @@ -15769,7 +15730,7 @@ class Mission id=972; atlOffset=0.00020885468; }; - class Item73 + class Item70 { dataType="Group"; side="West"; @@ -15831,7 +15792,7 @@ class Mission id=974; atlOffset=0.00020885468; }; - class Item74 + class Item71 { dataType="Group"; side="West"; @@ -15893,7 +15854,7 @@ class Mission id=976; atlOffset=0.00020885468; }; - class Item75 + class Item72 { dataType="Group"; side="West"; @@ -15955,7 +15916,7 @@ class Mission id=978; atlOffset=0.00020933151; }; - class Item76 + class Item73 { dataType="Group"; side="West"; @@ -16017,7 +15978,7 @@ class Mission id=980; atlOffset=0.00020933151; }; - class Item77 + class Item74 { dataType="Group"; side="West"; @@ -16079,7 +16040,7 @@ class Mission id=982; atlOffset=0.00020885468; }; - class Item78 + class Item75 { dataType="Group"; side="West"; @@ -16141,7 +16102,7 @@ class Mission id=984; atlOffset=0.00020885468; }; - class Item79 + class Item76 { dataType="Group"; side="West"; @@ -16203,7 +16164,7 @@ class Mission id=986; atlOffset=0.00020885468; }; - class Item80 + class Item77 { dataType="Group"; side="West"; @@ -16265,7 +16226,7 @@ class Mission id=988; atlOffset=0.00020885468; }; - class Item81 + class Item78 { dataType="Layer"; name="Wreck Bay"; @@ -16911,7 +16872,7 @@ class Mission id=1016; atlOffset=-0.0087795258; }; - class Item82 + class Item79 { dataType="Layer"; name="Spike Team"; @@ -17057,7 +17018,7 @@ class Mission id=1129; atlOffset=18.776302; }; - class Item83 + class Item80 { dataType="Logic"; class PositionInfo @@ -17125,7 +17086,7 @@ class Mission nAttributes=4; }; }; - class Item84 + class Item81 { dataType="Marker"; position[]={26914.861,22.732,24581.002}; @@ -17139,7 +17100,7 @@ class Mission id=1131; atlOffset=-1.3747025; }; - class Item85 + class Item82 { dataType="Logic"; class PositionInfo @@ -17184,7 +17145,7 @@ class Mission nAttributes=2; }; }; - class Item86 + class Item83 { dataType="Layer"; name="Vehicle spawn point"; @@ -17204,7 +17165,7 @@ class Mission class PositionInfo { position[]={27043.045,23.861341,24849.498}; - angles[]={0,2.2852614,-0}; + angles[]={0,2.2852614,0}; }; side="Empty"; flags=5; @@ -17239,7 +17200,7 @@ class Mission class PositionInfo { position[]={27051.414,23.863651,24850.613}; - angles[]={0,5.4294319,-0}; + angles[]={0,5.4294319,0}; }; side="Empty"; class Attributes @@ -17268,7 +17229,7 @@ class Mission class PositionInfo { position[]={27059.266,24.405575,24869.025}; - angles[]={0,2.2852614,-0}; + angles[]={0,2.2852614,0}; }; side="Empty"; flags=5; @@ -17332,7 +17293,7 @@ class Mission class PositionInfo { position[]={27076.842,24.781246,24889.814}; - angles[]={0,2.2852614,-0}; + angles[]={0,2.2852614,0}; }; side="Empty"; flags=5; @@ -17394,7 +17355,7 @@ class Mission class PositionInfo { position[]={27093.506,25.337284,24909.625}; - angles[]={0,2.2852614,-0}; + angles[]={0,2.2852614,0}; }; side="Empty"; flags=5; @@ -17458,7 +17419,7 @@ class Mission class PositionInfo { position[]={27086.252,25.605595,24932.354}; - angles[]={0,5.3910227,-0}; + angles[]={0,5.3910227,0}; }; side="Empty"; flags=5; @@ -17520,7 +17481,7 @@ class Mission class PositionInfo { position[]={27069.824,25.125013,24913.531}; - angles[]={0,5.3910227,-0}; + angles[]={0,5.3910227,0}; }; side="Empty"; flags=5; @@ -17583,7 +17544,7 @@ class Mission class PositionInfo { position[]={27051.305,24.718351,24892.184}; - angles[]={0,5.3910227,-0}; + angles[]={0,5.3910227,0}; }; side="Empty"; flags=5; @@ -17646,7 +17607,7 @@ class Mission class PositionInfo { position[]={27035.16,24.519674,24873.51}; - angles[]={0,5.3910227,-0}; + angles[]={0,5.3910227,0}; }; side="Empty"; flags=5; @@ -17748,7 +17709,7 @@ class Mission class PositionInfo { position[]={27102.982,26.025597,24952.678}; - angles[]={0,5.3910227,-0}; + angles[]={0,5.3910227,0}; }; side="Empty"; flags=5; @@ -17812,7 +17773,7 @@ class Mission class PositionInfo { position[]={27113.35,25.997477,24964.709}; - angles[]={0,5.3910227,-0}; + angles[]={0,5.3910227,0}; }; side="Empty"; flags=5; @@ -17875,7 +17836,7 @@ class Mission class PositionInfo { position[]={27129.953,25.578388,24984.682}; - angles[]={0,5.3910227,-0}; + angles[]={0,5.3910227,0}; }; side="Empty"; flags=5; @@ -17910,7 +17871,7 @@ class Mission class PositionInfo { position[]={27136.379,25.784866,24961.867}; - angles[]={0,2.2852614,-0}; + angles[]={0,2.2852614,0}; }; side="Empty"; flags=5; @@ -17996,7 +17957,7 @@ class Mission class PositionInfo { position[]={27153.438,25.808016,24982.516}; - angles[]={0,2.2852614,-0}; + angles[]={0,2.2852614,0}; }; side="Empty"; flags=5; @@ -18043,7 +18004,7 @@ class Mission class PositionInfo { position[]={27146.467,25.569494,25005.217}; - angles[]={0,5.3910227,-0}; + angles[]={0,5.3910227,0}; }; side="Empty"; flags=5; @@ -18120,7 +18081,7 @@ class Mission class PositionInfo { position[]={26988.469,25.230753,24865.268}; - angles[]={0,5.3910227,-0}; + angles[]={0,5.3910227,0}; }; side="Empty"; flags=1; @@ -18184,7 +18145,7 @@ class Mission class PositionInfo { position[]={26960.953,24.034506,24833.605}; - angles[]={0,5.3910227,-0}; + angles[]={0,5.3910227,0}; }; side="Empty"; flags=1; @@ -18259,7 +18220,7 @@ class Mission class PositionInfo { position[]={26851.242,25.864477,24307.393}; - angles[]={0,5.3910227,-0}; + angles[]={0,5.3910227,0}; }; side="Empty"; flags=5; @@ -18322,7 +18283,7 @@ class Mission class PositionInfo { position[]={26856.246,26.001011,24313.576}; - angles[]={0,5.3910227,-0}; + angles[]={0,5.3910227,0}; }; side="Empty"; flags=5; @@ -18385,7 +18346,7 @@ class Mission class PositionInfo { position[]={26861.436,26.313719,24319.842}; - angles[]={0,5.3910227,-0}; + angles[]={0,5.3910227,0}; }; side="Empty"; flags=5; @@ -18460,7 +18421,7 @@ class Mission class PositionInfo { position[]={26502.307,19.868593,24145.268}; - angles[]={0,3.8784578,-0}; + angles[]={0,3.8784578,0}; }; side="Empty"; flags=5; @@ -18523,7 +18484,7 @@ class Mission class PositionInfo { position[]={26496.23,19.873074,24150.275}; - angles[]={0,3.8784578,-0}; + angles[]={0,3.8784578,0}; }; side="Empty"; flags=5; @@ -18585,7 +18546,7 @@ class Mission class PositionInfo { position[]={26490.156,19.830647,24155.467}; - angles[]={0,3.8784578,-0}; + angles[]={0,3.8784578,0}; }; side="Empty"; flags=5; @@ -18648,7 +18609,7 @@ class Mission class PositionInfo { position[]={26482.746,19.793404,24161.975}; - angles[]={0,3.8784578,-0}; + angles[]={0,3.8784578,0}; }; side="Empty"; flags=5; @@ -18712,7 +18673,7 @@ class Mission class PositionInfo { position[]={26476.395,19.375658,24167.125}; - angles[]={0,3.8784578,-0}; + angles[]={0,3.8784578,0}; }; side="Empty"; flags=5; @@ -18774,7 +18735,7 @@ class Mission class PositionInfo { position[]={26470.404,18.961395,24172.367}; - angles[]={0,3.8784578,-0}; + angles[]={0,3.8784578,0}; }; side="Empty"; flags=5; @@ -18847,7 +18808,7 @@ class Mission class PositionInfo { position[]={26477.932,19.022219,24186.137}; - angles[]={0,0.59388065,-0}; + angles[]={0,0.59388065,0}; }; side="Empty"; flags=5; @@ -18894,7 +18855,7 @@ class Mission class PositionInfo { position[]={26477.377,18.854347,24191.402}; - angles[]={0,3.8191719,-0}; + angles[]={0,3.8191719,0}; }; side="Empty"; class Attributes @@ -18910,7 +18871,7 @@ class Mission class PositionInfo { position[]={26484.387,19.354092,24181.424}; - angles[]={0,0.59388065,-0}; + angles[]={0,0.59388065,0}; }; side="Empty"; flags=5; @@ -18958,7 +18919,7 @@ class Mission class PositionInfo { position[]={26483.934,19.151234,24186.234}; - angles[]={0,3.8535509,-0}; + angles[]={0,3.8535509,0}; }; side="Empty"; class Attributes @@ -18974,7 +18935,7 @@ class Mission class PositionInfo { position[]={26490.865,19.670321,24176.705}; - angles[]={0,0.59388065,-0}; + angles[]={0,0.59388065,0}; }; side="Empty"; flags=5; @@ -19020,7 +18981,7 @@ class Mission class PositionInfo { position[]={26490.412,19.50523,24181.516}; - angles[]={0,3.7936802,-0}; + angles[]={0,3.7936802,0}; }; side="Empty"; class Attributes @@ -19047,7 +19008,7 @@ class Mission class PositionInfo { position[]={26505.398,19.432444,24196.266}; - angles[]={0,0.64341629,-0}; + angles[]={0,0.64341629,0}; }; side="Empty"; flags=5; @@ -19111,7 +19072,7 @@ class Mission class PositionInfo { position[]={26499.082,19.517935,24201.166}; - angles[]={0,0.64341629,-0}; + angles[]={0,0.64341629,0}; }; side="Empty"; flags=5; @@ -19175,7 +19136,7 @@ class Mission class PositionInfo { position[]={26492.813,19.341606,24206.102}; - angles[]={0,0.64341629,-0}; + angles[]={0,0.64341629,0}; }; side="Empty"; flags=5; @@ -19246,7 +19207,7 @@ class Mission class PositionInfo { position[]={26482.32,19.278074,24203.029}; - angles[]={0,3.8041716,-0}; + angles[]={0,3.8041716,0}; }; side="Empty"; flags=5; @@ -19309,7 +19270,7 @@ class Mission class PositionInfo { position[]={26488.602,19.329123,24198.236}; - angles[]={0,3.8041716,-0}; + angles[]={0,3.8041716,0}; }; side="Empty"; flags=5; @@ -19373,7 +19334,7 @@ class Mission class PositionInfo { position[]={26495.053,19.44496,24193.557}; - angles[]={0,3.8041716,-0}; + angles[]={0,3.8041716,0}; }; side="Empty"; flags=5; @@ -19437,7 +19398,7 @@ class Mission class PositionInfo { position[]={26584.398,20.291014,24203.152}; - angles[]={0,0.59546632,-0}; + angles[]={0,0.59546632,0}; }; side="Empty"; flags=5; @@ -19500,7 +19461,7 @@ class Mission class PositionInfo { position[]={26577.969,20.23325,24208.057}; - angles[]={0,0.59546632,-0}; + angles[]={0,0.59546632,0}; }; side="Empty"; flags=5; @@ -19564,7 +19525,7 @@ class Mission class PositionInfo { position[]={26571.658,20.167131,24212.822}; - angles[]={0,0.59546632,-0}; + angles[]={0,0.59546632,0}; }; side="Empty"; flags=5; @@ -19642,7 +19603,7 @@ class Mission class PositionInfo { position[]={26510.018,19.334686,24212.891}; - angles[]={0,3.8041716,-0}; + angles[]={0,3.8041716,0}; }; side="Empty"; flags=5; @@ -19705,7 +19666,7 @@ class Mission class PositionInfo { position[]={26503.654,19.198172,24217.723}; - angles[]={0,3.8041716,-0}; + angles[]={0,3.8041716,0}; }; side="Empty"; flags=5; @@ -19767,7 +19728,7 @@ class Mission class PositionInfo { position[]={26497.396,19.090921,24222.662}; - angles[]={0,3.8041716,-0}; + angles[]={0,3.8041716,0}; }; side="Empty"; flags=5; @@ -19801,7 +19762,7 @@ class Mission class PositionInfo { position[]={26496.221,17.943184,24220.242}; - angles[]={-0,1.3750926,0.0053265258}; + angles[]={0,1.3750926,0.0053265258}; }; init="['heavy_fire_support', 0] call vn_mf_fnc_veh_asset_3DEN_spawn_point"; id=1312; @@ -19840,7 +19801,7 @@ class Mission class PositionInfo { position[]={26623.85,19.668858,24107.662}; - angles[]={0,0.68217778,-0}; + angles[]={0,0.68217778,0}; }; side="Empty"; flags=5; @@ -19902,7 +19863,7 @@ class Mission class PositionInfo { position[]={26616.303,19.672438,24113.234}; - angles[]={0,0.65452921,-0}; + angles[]={0,0.65452921,0}; }; side="Empty"; flags=5; @@ -19964,7 +19925,7 @@ class Mission class PositionInfo { position[]={26609.451,19.899189,24118.117}; - angles[]={0,0.68217778,-0}; + angles[]={0,0.68217778,0}; }; side="Empty"; flags=5; @@ -20027,7 +19988,7 @@ class Mission class PositionInfo { position[]={26601.904,19.842285,24123.689}; - angles[]={0,0.65452921,-0}; + angles[]={0,0.65452921,0}; }; side="Empty"; flags=5; @@ -20100,7 +20061,7 @@ class Mission class PositionInfo { position[]={26923.953,21.084875,24779.594}; - angles[]={0,3.8346221,-0}; + angles[]={0,3.8346221,0}; }; side="Empty"; flags=5; @@ -20146,7 +20107,7 @@ class Mission class PositionInfo { position[]={26923.928,20.853241,24774.762}; - angles[]={0,0.7512359,-0}; + angles[]={0,0.7512359,0}; }; side="Empty"; class Attributes @@ -20162,7 +20123,7 @@ class Mission class PositionInfo { position[]={26929.721,20.976362,24774.277}; - angles[]={0,3.8346221,-0}; + angles[]={0,3.8346221,0}; }; side="Empty"; flags=5; @@ -20224,7 +20185,7 @@ class Mission class PositionInfo { position[]={26936.797,21.155081,24768.348}; - angles[]={0,3.8346221,-0}; + angles[]={0,3.8346221,0}; }; side="Empty"; flags=5; @@ -20290,7 +20251,7 @@ class Mission id=1190; atlOffset=-4.2021923; }; - class Item87 + class Item84 { dataType="Object"; class PositionInfo @@ -20307,7 +20268,7 @@ class Mission type="Land_vn_b_trench_revetment_tall_09"; atlOffset=-3.8146973e-006; }; - class Item88 + class Item85 { dataType="Object"; class PositionInfo @@ -20323,6 +20284,42 @@ class Mission id=1245; type="Land_vn_b_trench_revetment_tall_09"; }; + class Item86 + { + dataType="Logic"; + class PositionInfo + { + position[]={14471.778,25.076406,6182.2837}; + }; + name="hc1"; + isPlayable=1; + id=1356; + type="HeadlessClient_F"; + }; + class Item87 + { + dataType="Logic"; + class PositionInfo + { + position[]={14474.597,25.079538,6180.2876}; + }; + name="hc3"; + isPlayable=1; + id=1357; + type="HeadlessClient_F"; + }; + class Item88 + { + dataType="Logic"; + class PositionInfo + { + position[]={14471.706,25.111204,6178.9487}; + }; + name="hc2"; + isPlayable=1; + id=1358; + type="HeadlessClient_F"; + }; }; class Connections { diff --git a/mission/config/changelog.hpp b/mission/config/changelog.hpp index bf192695..53071f0b 100644 --- a/mission/config/changelog.hpp +++ b/mission/config/changelog.hpp @@ -17,6 +17,7 @@ class Changelog { "[Fix] Vehicles should explode far less often when recovered at a wreck recovery point", "[Fix] Wreck recovery point status should update correctly", "[Fix] Team swapping no longer causes an error", + "[Fix] Headless client slots added to Altis", "[Change] Minor changes to bases on Khe Sanh, Cam Lao Nam and The Bra" }; }; From 5be2278316c4904a7a430bc7603d5bf98e1f830b Mon Sep 17 00:00:00 2001 From: Spoffy Date: Tue, 13 Jun 2023 04:49:40 +0100 Subject: [PATCH 33/34] Adds changelog entry about respawn markers --- mission/config/changelog.hpp | 1 + 1 file changed, 1 insertion(+) diff --git a/mission/config/changelog.hpp b/mission/config/changelog.hpp index 53071f0b..51207483 100644 --- a/mission/config/changelog.hpp +++ b/mission/config/changelog.hpp @@ -18,6 +18,7 @@ class Changelog { "[Fix] Wreck recovery point status should update correctly", "[Fix] Team swapping no longer causes an error", "[Fix] Headless client slots added to Altis", + "[Fix] Respawn markers should be created when a building is loaded from a save", "[Change] Minor changes to bases on Khe Sanh, Cam Lao Nam and The Bra" }; }; From 22e5388db9e38f8fef659aa5c7f97f0892142d46 Mon Sep 17 00:00:00 2001 From: Spoffy Date: Tue, 13 Jun 2023 11:41:07 +0100 Subject: [PATCH 34/34] Updates version to `v1.00.03` --- maps/altis/mission.sqm | 2 +- maps/cam_lao_nam/mission.sqm | 2 +- maps/vn_khe_sanh/mission.sqm | 2 +- maps/vn_the_bra/mission.sqm | 10 +++++----- mission/version.hpp | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/maps/altis/mission.sqm b/maps/altis/mission.sqm index 612d84c4..23ae8b25 100644 --- a/maps/altis/mission.sqm +++ b/maps/altis/mission.sqm @@ -270,7 +270,7 @@ class Mission assetType="Free"; class Intel { - briefingName="Mike Force (v1.00.03 Indev)"; + briefingName="Mike Force (v1.00.03)"; timeOfChanges=1800.0002; startWeather=0.30000001; startWind=0.1; diff --git a/maps/cam_lao_nam/mission.sqm b/maps/cam_lao_nam/mission.sqm index 778ed911..0a9de62e 100644 --- a/maps/cam_lao_nam/mission.sqm +++ b/maps/cam_lao_nam/mission.sqm @@ -297,7 +297,7 @@ class Mission appId=1227700; class Intel { - briefingName="Mike Force (v1.00.03 Indev)"; + briefingName="Mike Force (v1.00.03)"; resistanceWest=0; timeOfChanges=1800.0002; startWeather=0.34999999; diff --git a/maps/vn_khe_sanh/mission.sqm b/maps/vn_khe_sanh/mission.sqm index 83d41455..5ddbcb35 100644 --- a/maps/vn_khe_sanh/mission.sqm +++ b/maps/vn_khe_sanh/mission.sqm @@ -230,7 +230,7 @@ class Mission assetType="Free"; class Intel { - briefingName="Mike Force (v1.00.03 Indev - 230611v3)"; + briefingName="Mike Force (v1.00.03)"; timeOfChanges=1800.0002; startWeather=0.25; startWind=0.1; diff --git a/maps/vn_the_bra/mission.sqm b/maps/vn_the_bra/mission.sqm index 04b5b6f4..9d17903b 100644 --- a/maps/vn_the_bra/mission.sqm +++ b/maps/vn_the_bra/mission.sqm @@ -20,10 +20,10 @@ class EditorData }; class Camera { - pos[]={3417.2913,143.5565,4263.9644}; - dir[]={-0.65638942,-0.59361577,0.46564054}; - up[]={-0.48416653,0.80474663,0.34346718}; - aside[]={0.57860953,1.473818e-007,0.81563699}; + pos[]={3522.6306,85.464821,4409.623}; + dir[]={0.9603883,-0.27665213,-0.034191575}; + up[]={0.27649489,0.960967,-0.0098444363}; + aside[]={-0.0355797,3.3799734e-007,-0.99939507}; }; }; binarizationWanted=0; @@ -213,7 +213,7 @@ class Mission assetType="Free"; class Intel { - briefingName="Mike Force (v1.00.03 Indev - 230611v3)"; + briefingName="Mike Force (v1.00.03)"; timeOfChanges=1800.0002; startWeather=0.25; startWind=0.1; diff --git a/mission/version.hpp b/mission/version.hpp index 085e2ec1..c137187c 100644 --- a/mission/version.hpp +++ b/mission/version.hpp @@ -1,2 +1,2 @@ // Remember to update this in the mission.sqm too! -#define VN_MF_VERSION v1.00.03 Indev \ No newline at end of file +#define VN_MF_VERSION v1.00.03 \ No newline at end of file