From 2786d8b6e39101eb4c2fc1bf60ff3e1ab2593183 Mon Sep 17 00:00:00 2001 From: Vdauphin Date: Sun, 31 Oct 2021 12:47:05 +0100 Subject: [PATCH 1/2] Migrate to a proper function --- .../core/fnc/compile.sqf | 3 + .../core/fnc/tow/int.sqf | 68 +++++++++++++++++++ .../core/fnc/veh/init.sqf | 24 ++----- 3 files changed, 75 insertions(+), 20 deletions(-) create mode 100644 =BTC=co@30_Hearts_and_Minds.Altis/core/fnc/tow/int.sqf diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/compile.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/compile.sqf index 3f7ec025c..7d8f829e7 100644 --- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/compile.sqf +++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/compile.sqf @@ -269,6 +269,9 @@ btc_rep_fnc_foodRemoved = compileScript ["core\fnc\rep\foodRemoved.sqf"]; //ARSENAL btc_arsenal_fnc_ammoUsage = compileScript ["core\fnc\arsenal\ammoUsage.sqf"]; +//TOW +btc_tow_fnc_int = compileScript ["core\fnc\tow\int.sqf"]; + //VEH btc_veh_fnc_init = compileScript ["core\fnc\veh\init.sqf"]; diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/tow/int.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/tow/int.sqf new file mode 100644 index 000000000..4f289f3a2 --- /dev/null +++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/tow/int.sqf @@ -0,0 +1,68 @@ + +/* ---------------------------------------------------------------------------- +Function: btc_tow_fnc_int + +Description: + _tower ----rope--- (hook)_towed, Show feedback message when trying to tow a vehicle. + +Parameters: + _tower - Tower vehicle. [Object] + _towed - Towed vehicle. [Object] + +Returns: + _canTow - Can tow or not. [Boolean] + +Examples: + (begin example) + [typeOf cursorObject] call btc_tow_fnc_int; + (end) + +Author: + Vdauphin + +---------------------------------------------------------------------------- */ + +params [ + ["_type", "", [""]] +]; + +private _action = [ + "Logistic", + localize "STR_BTC_HAM_ACTION_LOC_MAIN", + "\A3\ui_f\data\igui\cfg\simpleTasks\letters\L_ca.paa", + {}, + {isNull isVehicleCargo attachedto _target && isNull isVehicleCargo _target} +] call ace_interact_menu_fnc_createAction; +[_type, 0, ["ACE_MainActions"], _action] call ace_interact_menu_fnc_addActionToClass; + +if ( + !(_type isKindOf "Helicopter") || + !(_type isKindOf "Plane") +) then { + _action = [ + "log_tow", + localize "STR_BTC_HAM_ACTION_VEHINIT_TOW", + "\z\ace\addons\attach\UI\attach_ca.paa", + {_target call btc_tow_fnc_ropeCreate;}, + {!isNull btc_tow_vehicleSelected && {btc_tow_vehicleSelected != _target}} + ] call ace_interact_menu_fnc_createAction; + [_type, 0, ["ACE_MainActions", "Logistic"], _action] call ace_interact_menu_fnc_addActionToClass; +}; + +_action = [ + "log_hook", + localize "STR_BTC_HAM_ACTION_VEHINIT_HOOK", + "\z\ace\addons\attach\UI\attach_ca.paa", + {btc_tow_vehicleSelected = _target; (localize "STR_BTC_HAM_TOW_HOOK") call CBA_fnc_notify;}, + {true} +] call ace_interact_menu_fnc_createAction; +[_type, 0, ["ACE_MainActions", "Logistic"], _action] call ace_interact_menu_fnc_addActionToClass; + +_action = [ + "log_hook", + localize "STR_BTC_HAM_ACTION_VEHINIT_UHOOK", + "\z\ace\addons\attach\UI\detach_ca.paa", + {_target call btc_tow_fnc_unhook;}, + {!isNull (_target getVariable ["btc_towing", objNull]);} +] call ace_interact_menu_fnc_createAction; +[_type, 0, ["ACE_MainActions", "Logistic"], _action] call ace_interact_menu_fnc_addActionToClass; diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/veh/init.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/veh/init.sqf index 67a5dc4bf..95875e5a8 100644 --- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/veh/init.sqf +++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/veh/init.sqf @@ -31,14 +31,7 @@ switch true do { case (_type isKindOf "UGV_02_Base_F") : {}; case (_type isKindOf "StaticWeapon") : {}; case (_type isKindOf "LandVehicle" || {_type isKindOf "Ship"}) : { - private _action = ["Logistic", localize "STR_BTC_HAM_ACTION_LOC_MAIN", "\A3\ui_f\data\igui\cfg\simpleTasks\letters\L_ca.paa", {}, {isNull isVehicleCargo attachedto _target && isNull isVehicleCargo _target}] call ace_interact_menu_fnc_createAction; - [_type, 0, ["ACE_MainActions"], _action] call ace_interact_menu_fnc_addActionToClass; - _action = ["log_tow", localize "STR_BTC_HAM_ACTION_VEHINIT_TOW", "\z\ace\addons\attach\UI\attach_ca.paa", {_target call btc_tow_fnc_ropeCreate;}, {!isNull btc_tow_vehicleSelected && {btc_tow_vehicleSelected != _target}}] call ace_interact_menu_fnc_createAction; - [_type, 0, ["ACE_MainActions", "Logistic"], _action] call ace_interact_menu_fnc_addActionToClass; - _action = ["log_hook", localize "STR_BTC_HAM_ACTION_VEHINIT_HOOK", "\z\ace\addons\attach\UI\attach_ca.paa", {btc_tow_vehicleSelected = _target; (localize "STR_BTC_HAM_TOW_HOOK") call CBA_fnc_notify;}, {true}] call ace_interact_menu_fnc_createAction; - [_type, 0, ["ACE_MainActions", "Logistic"], _action] call ace_interact_menu_fnc_addActionToClass; - _action = ["log_hook", localize "STR_BTC_HAM_ACTION_VEHINIT_UHOOK", "\z\ace\addons\attach\UI\detach_ca.paa", {_target call btc_tow_fnc_unhook;}, {!isNull (_target getVariable ["btc_towing", objNull]);}] call ace_interact_menu_fnc_createAction; - [_type, 0, ["ACE_MainActions", "Logistic"], _action] call ace_interact_menu_fnc_addActionToClass; + _type call btc_tow_fnc_int; private _action = ["btc_flag_deployVeh", localize "STR_BTC_HAM_ACTION_VEHINIT_DEPLOYFLAG", "\A3\ui_f\data\map\markers\handdrawn\flag_CA.paa", {}, { btc_p_flag > 0 && @@ -56,12 +49,8 @@ switch true do { [_type, 1, ["ACE_SelfActions"], _action] call ace_interact_menu_fnc_addActionToClass; }; case (_type isKindOf "Helicopter") : { - private _action = ["Logistic", localize "STR_BTC_HAM_ACTION_LOC_MAIN", "\A3\ui_f\data\igui\cfg\simpleTasks\letters\L_ca.paa", {}, {true}] call ace_interact_menu_fnc_createAction; - [_type, 0, ["ACE_MainActions"], _action] call ace_interact_menu_fnc_addActionToClass; - _action = ["log_hook", localize "STR_BTC_HAM_ACTION_VEHINIT_HOOK", "\z\ace\addons\attach\UI\attach_ca.paa", {btc_tow_vehicleSelected = _target; (localize "STR_BTC_HAM_TOW_HOOK") call CBA_fnc_notify;}, {true}] call ace_interact_menu_fnc_createAction; - [_type, 0, ["ACE_MainActions", "Logistic"], _action] call ace_interact_menu_fnc_addActionToClass; - _action = ["log_hook", localize "STR_BTC_HAM_ACTION_VEHINIT_UHOOK", "\z\ace\addons\attach\UI\detach_ca.paa", {_target call btc_tow_fnc_unhook;}, {!isNull (_target getVariable ["btc_towing", objNull]);}] call ace_interact_menu_fnc_createAction; - [_type, 0, ["ACE_MainActions", "Logistic"], _action] call ace_interact_menu_fnc_addActionToClass; + _type call btc_tow_fnc_int; + //Lift _action = ["Deploy_ropes", localize "STR_ACE_Fastroping_Interaction_deployRopes", "\A3\ui_f\data\igui\cfg\simpleTasks\types\container_ca.paa", {[] spawn btc_lift_fnc_deployRopes;}, {!btc_ropes_deployed && {(driver vehicle player) isEqualTo player} && {(getPosATL player) select 2 > 4}}] call ace_interact_menu_fnc_createAction; [_type, 1, ["ACE_SelfActions"], _action] call ace_interact_menu_fnc_addActionToClass; @@ -84,12 +73,7 @@ switch true do { [_type, 1, ["ACE_SelfActions"], _action] call ace_interact_menu_fnc_addActionToClass; }; case (_type isKindOf "Plane") : { - private _action = ["Logistic", localize "STR_BTC_HAM_ACTION_LOC_MAIN", "\A3\ui_f\data\igui\cfg\simpleTasks\letters\L_ca.paa", {}, {true}] call ace_interact_menu_fnc_createAction; - [_type, 0, ["ACE_MainActions"], _action] call ace_interact_menu_fnc_addActionToClass; - _action = ["log_hook", localize "STR_BTC_HAM_ACTION_VEHINIT_HOOK", "\z\ace\addons\attach\UI\attach_ca.paa", {btc_tow_vehicleSelected = _target; (localize "STR_BTC_HAM_TOW_HOOK") call CBA_fnc_notify;}, {true}] call ace_interact_menu_fnc_createAction; - [_type, 0, ["ACE_MainActions", "Logistic"], _action] call ace_interact_menu_fnc_addActionToClass; - _action = ["log_hook", localize "STR_BTC_HAM_ACTION_VEHINIT_UHOOK", "\z\ace\addons\attach\UI\detach_ca.paa", {_target call btc_tow_fnc_unhook;}, {!isNull (_target getVariable ["btc_towing", objNull]);}] call ace_interact_menu_fnc_createAction; - [_type, 0, ["ACE_MainActions", "Logistic"], _action] call ace_interact_menu_fnc_addActionToClass; + _type call btc_tow_fnc_int; }; }; From fd9b122b5d4ded630f7c0bd38672eac950bcb81e Mon Sep 17 00:00:00 2001 From: Vdauphin Date: Sun, 31 Oct 2021 17:07:48 +0100 Subject: [PATCH 2/2] Invert tower and towed --- .../core/def/mission.sqf | 2 +- .../core/fnc/lift/deployRopes.sqf | 2 +- .../core/fnc/tow/ViV.sqf | 2 +- .../core/fnc/tow/check.sqf | 2 +- .../core/fnc/tow/int.sqf | 24 +++++----- .../core/fnc/tow/ropeCreate.sqf | 6 +-- .../stringtable.xml | 45 +++++-------------- 7 files changed, 29 insertions(+), 54 deletions(-) diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/def/mission.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/def/mission.sqf index 35d0fc7fe..908e5ffb2 100644 --- a/=BTC=co@30_Hearts_and_Minds.Altis/core/def/mission.sqf +++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/def/mission.sqf @@ -528,7 +528,7 @@ btc_log_def_can_load = _cContainers; btc_log_def_placeable = (_cFortifications + _cContainers + _cSupplies + _cFOB + _cDecontamination + _cVehicle_logistic + flatten btc_supplies_mat + btc_type_hazmat) select { getNumber(_cfgVehicles >> _x >> "ace_dragging_canCarry") isEqualTo 0 }; -btc_tow_vehicleSelected = objNull; +btc_tow_vehicleTowing = objNull; btc_log_placing_max_h = 12; btc_log_placing = false; btc_log_obj_created = []; diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/lift/deployRopes.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/lift/deployRopes.sqf index b1f864cc6..2e6e8f9a2 100644 --- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/lift/deployRopes.sqf +++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/lift/deployRopes.sqf @@ -40,7 +40,7 @@ btc_lift_action_hud = player addAction ["" + (localize "STR [] call btc_lift_fnc_hud; }; }, [], -8, false, false, "", "true"]; //"" + ("Hud On\Off") + "" -btc_lift_action = player addAction ["" + (localize "STR_BTC_HAM_ACTION_VEHINIT_HOOK") + "",{[] call btc_lift_fnc_hook}, [], 9, true, false, "", "[] call btc_lift_fnc_check"]; //"" + ("Hook") + "" +btc_lift_action = player addAction ["" + (localize "STR_BTC_HAM_LOG_HOOK") + "",{[] call btc_lift_fnc_hook}, [], 9, true, false, "", "[] call btc_lift_fnc_check"]; //"" + ("Hook") + "" waitUntil {sleep 5; (vehicle player isEqualTo player)}; diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/tow/ViV.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/tow/ViV.sqf index 37af04257..9eb91e34a 100644 --- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/tow/ViV.sqf +++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/tow/ViV.sqf @@ -13,7 +13,7 @@ Returns: Examples: (begin example) - [btc_tow_vehicleSelected, cursorObject] call btc_tow_fnc_ViV; + [cursorObject, btc_tow_vehicleTowing] call btc_tow_fnc_ViV; (end) Author: diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/tow/check.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/tow/check.sqf index fe0bb8de8..6bb548392 100644 --- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/tow/check.sqf +++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/tow/check.sqf @@ -14,7 +14,7 @@ Returns: Examples: (begin example) - _canTow = [cursorObject, btc_tow_vehicleSelected] call btc_tow_fnc_check; + _canTow = [btc_tow_vehicleTowing, cursorObject] call btc_tow_fnc_check; (end) Author: diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/tow/int.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/tow/int.sqf index 4f289f3a2..34e837231 100644 --- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/tow/int.sqf +++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/tow/int.sqf @@ -3,14 +3,12 @@ Function: btc_tow_fnc_int Description: - _tower ----rope--- (hook)_towed, Show feedback message when trying to tow a vehicle. + Add towing interactions. Parameters: - _tower - Tower vehicle. [Object] - _towed - Towed vehicle. [Object] + _type - Type of vehicle. [String] Returns: - _canTow - Can tow or not. [Boolean] Examples: (begin example) @@ -41,26 +39,26 @@ if ( ) then { _action = [ "log_tow", - localize "STR_BTC_HAM_ACTION_VEHINIT_TOW", - "\z\ace\addons\attach\UI\attach_ca.paa", - {_target call btc_tow_fnc_ropeCreate;}, - {!isNull btc_tow_vehicleSelected && {btc_tow_vehicleSelected != _target}} + localize "STR_ACE_Towing_displayName", + "", + {btc_tow_vehicleTowing = _target; (localize "STR_BTC_HAM_TOW_HOOK") call CBA_fnc_notify;}, + {isNull (_target getVariable ["btc_towing", objNull]);} ] call ace_interact_menu_fnc_createAction; [_type, 0, ["ACE_MainActions", "Logistic"], _action] call ace_interact_menu_fnc_addActionToClass; }; _action = [ "log_hook", - localize "STR_BTC_HAM_ACTION_VEHINIT_HOOK", + localize "STR_ACE_Towing_attach", "\z\ace\addons\attach\UI\attach_ca.paa", - {btc_tow_vehicleSelected = _target; (localize "STR_BTC_HAM_TOW_HOOK") call CBA_fnc_notify;}, - {true} + {[btc_tow_vehicleTowing, _target] call btc_tow_fnc_ropeCreate;}, + {!isNull btc_tow_vehicleTowing && {btc_tow_vehicleTowing != _target}} ] call ace_interact_menu_fnc_createAction; [_type, 0, ["ACE_MainActions", "Logistic"], _action] call ace_interact_menu_fnc_addActionToClass; _action = [ - "log_hook", - localize "STR_BTC_HAM_ACTION_VEHINIT_UHOOK", + "log_unhook", + localize "STR_ACE_Towing_detach", "\z\ace\addons\attach\UI\detach_ca.paa", {_target call btc_tow_fnc_unhook;}, {!isNull (_target getVariable ["btc_towing", objNull]);} diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/tow/ropeCreate.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/tow/ropeCreate.sqf index 4f49849c0..083c824b0 100644 --- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/tow/ropeCreate.sqf +++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/tow/ropeCreate.sqf @@ -23,7 +23,7 @@ Author: params [ ["_tower", objNull, [objNull]], - ["_vehicleSelected", btc_tow_vehicleSelected, [objNull]] + ["_vehicleSelected", objNull, [objNull]] ]; if !([_tower, _vehicleSelected] call btc_tow_fnc_check) exitWith {}; @@ -41,7 +41,7 @@ if (_alreadyLoaded) then { }; if (_canViV_wreck) exitWith { [_vehicleSelected, _tower] remoteExecCall ["btc_tow_fnc_ViV", 2]; - btc_tow_vehicleSelected = objNull; + btc_tow_vehicleTowing = objNull; }; private _model_selected = (0 boundingBoxReal _vehicleSelected) select 1; @@ -73,4 +73,4 @@ private _rope2 = ropeCreate [_tower, _model_rear_tower, _helper, [0.4, 0, 0]]; [_tower, getMass _tower + (getMass _vehicleSelected)/1.5] remoteExecCall ["setMass", _tower]; _tower setVariable ["btc_towing", _vehicleSelected, true]; _vehicleSelected setVariable ["btc_towing", _tower, true]; -btc_tow_vehicleSelected = objNull; +btc_tow_vehicleTowing = objNull; diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/stringtable.xml b/=BTC=co@30_Hearts_and_Minds.Altis/stringtable.xml index dd8838e49..3adfb4b2c 100644 --- a/=BTC=co@30_Hearts_and_Minds.Altis/stringtable.xml +++ b/=BTC=co@30_Hearts_and_Minds.Altis/stringtable.xml @@ -177,11 +177,9 @@ - <img image='\z\ace\addons\cargo\UI\Icon_Module_Cargo_ca.paa' width='20' height='20'/> <marker name='blufor_base'>Cargo System:</marker><br/> Use ACE 3 Cargo system. <br/><br/> <img image='\z\ace\addons\attach\UI\attach_ca.paa' width='20' height='20'/> <marker name='blufor_base'>Towing system:</marker><br/> To tow a vehicle interact with it and select the option 'HOOK'.<br/>After that place the tow vehicle in front of it and select 'TOW' in the interaction menu.<br/> If the two vehicles are too far away or the vehicle can't tow that load (Car can't tow truck or tank), the option will be disabled.<br/> To unhook interact with one of the two vehicles and select the option 'UNHOOK'.<br/><br/> <img image='\A3\Ui_f\data\IGUI\Cfg\VehicleToggles\VehicleCargoIconOn2_ca.paa' width='20' height='20'/> <marker name='blufor_base'>Vehicle in vehicle system:</marker><br/> BI Vehicle in Vehicle (ViV) system is extended to allow load of any vehicle in a vehicle. To move ViV use the towing system. To unload, move in driver seat of the tower vehicle and select in scroll menu "unload all objects".<br/><br/> <img image='\A3\Data_F_Exp\Images\FeatureVehicleInVehicle_co.paa' width='355' height='200' /><br/><br/> <img image='\z\ace\addons\dragging\UI\icons\box_carry.paa' width='20' height='20'/> <marker name='blufor_base'>Place option:</marker><br/> With this option you can move heavy objects to build small outpost or base.<br/> When you select the option an hint will show all the keys required to move the object. - <img image='\z\ace\addons\cargo\UI\Icon_Module_Cargo_ca.paa' width='20' height='20'/> <marker name='blufor_base'>Fracht-System:</marker><br/>Siehe ACE3 Dokumentation. <br/><br/> <img image='\z\ace\addons\attach\UI\attach_ca.paa' width='20' height='20'/> <marker name='blufor_base'>Abschleppsystem:</marker><br/> Um ein Fahrzeug abzuschleppen muss man mit diesem interagieren und 'EINHACKEN' auswählen.<br/>Als nächstes muss man das Zugfahrzeug vor das abzuschleppende Fahrzeug stellen und über das Interagtionsmenü die Option 'ABSCHLEPPEN' aktivieren.<br/> Zu beachten ist dabei, dass die beiden Fahrzeuge nicht zu weit von einander entfernt sein dürfen. Ebenso ist daruf zu achten, dass das Zugfahrzeug auch das andere Fahrzeug abschleppen kann (zB. Autos können keine Lkw/Panzer abschleppen).<br/> Um das Abschleppseil wieder zu entfernen muss man einen bei einem der beiden Fahrzeuge die Option 'AUSHACKEN' auswählen.<br/><br/> <img image='\z\ace\addons\dragging\UI\icons\box_carry.paa' width='20' height='20'/> <marker name='blufor_base'>Platzierung von Objekten:</marker><br/> Mit dieser Option können Sie schwere Objekte bewegen, um einen kleinen Außenposten oder eine Basis zu bauen.<br/> Wenn Sie die Option auswählen, zeigt ein Hinweis alle Tasten an, die zum Verschieben des Objekts erforderlich sind.<br/><br/> <img image='\A3\Data_F_Exp\Images\FeatureVehicleInVehicle_co.paa' width='355' height='200' /> - <img image='\z\ace\addons\cargo\UI\Icon_Module_Cargo_ca.paa' width='20' height='20'/> <marker name='blufor_base'>Cargo System:</marker><br/> Use ACE 3 Cargo system. <br/><br/><br/> <img image='\z\ace\addons\attach\UI\attach_ca.paa' width='20' height='20'/> <marker name='blufor_base'>Towing system:</marker><br/> Para rebocar um veículo, interaja com ele e selecione a opção "GANCHO".<br/> Depois disso, coloque o veículo de reboque na frente dele e selecione "REBOCAR" no menu de interação.<br/> Se os dois veículos estiverem muito distantes ou o veículo não puder rebocar essa carga (o carro não poderá rebocar o caminhão ou o tanque), a opção será desativada.<br/> Para desengatar, interaja com um dos dois veículos e selecione a opção "DESENGANCHAR".<br/><br/> <img image='\z\ace\addons\dragging\UI\icons\box_carry.paa' width='20' height='20'/> <marker name='blufor_base'>Place option:</marker><br/> Com esta opção, você pode mover objetos pesados para construir um posto avançado ou uma base pequena.<br/> Quando você selecionar a opção, uma dica mostrará todas as ações necessárias para mover o objeto.<br/><br/> <img image='\A3\Data_F_Exp\Images\FeatureVehicleInVehicle_co.paa' width='355' height='200' /> + <img image='\z\ace\addons\cargo\UI\Icon_Module_Cargo_ca.paa' width='20' height='20'/> <marker name='blufor_base'>Cargo System:</marker><br/> Use ACE 3 Cargo system. <br/><br/> <img image='\z\ace\addons\attach\UI\attach_ca.paa' width='20' height='20'/> <marker name='blufor_base'>Towing system:</marker><br/> To tow a vehicle interact with the tower and select the option 'Towing'.<br/>After that, place the tower vehicle in front of it and select 'Attach Tow Rope' in the interaction menu.<br/> If the two vehicles are too far away or the vehicle can't tow that load (Car can't tow truck or tank), the option will be disabled.<br/> To unhook interact with one of the two vehicles and select the option 'UNHOOK'.<br/><br/> <img image='\A3\Ui_f\data\IGUI\Cfg\VehicleToggles\VehicleCargoIconOn2_ca.paa' width='20' height='20'/> <marker name='blufor_base'>Vehicle in vehicle system:</marker><br/> BI Vehicle in Vehicle (ViV) system is extended to allow load of any vehicle in a vehicle. To move ViV use the towing system. To unload, move in driver seat of the tower vehicle and select in scroll menu "unload all objects".<br/><br/> <img image='\A3\Data_F_Exp\Images\FeatureVehicleInVehicle_co.paa' width='355' height='200' /><br/><br/> <img image='\z\ace\addons\dragging\UI\icons\box_carry.paa' width='20' height='20'/> <marker name='blufor_base'>Place option:</marker><br/> With this option you can move heavy objects to build small outpost or base.<br/> When you select the option an hint will show all the keys required to move the object. <img image='\z\ace\addons\cargo\UI\Icon_Module_Cargo_ca.paa' width='20' height='20'/> <marker name='blufor_base'>货运系统:</marker><br/> 使用ACE3货运系统。<br/><br/> <img image='\z\ace\addons\attach\UI\attach_ca.paa' width='20' height='20'/> <marker name='blufor_base'>牵引系统:</marker><br/> 如需牵引一辆载具, 与其互动并选择"启用牵引"。<br/>然后, 将牵引车辆(前车)置于被牵引车辆(后车)前方, 并在互动菜单中选择"牵引"。<br/> 如果两辆车的距离过远, 或前车无法牵引这一载荷(比如汽车(Car)无法牵引卡车(Truck)或坦克(Tank)), 则该选项不可用。<br/> 如需取消牵引, 与两车之一互动并选择"取消牵引"。<br/><br/> <img image='\A3\Ui_f\data\IGUI\Cfg\VehicleToggles\VehicleCargoIconOn2_ca.paa' width='20' height='20'/> <marker name='blufor_base'>托运系统:</marker><br/> 本任务扩展了BI内置的托运(ViV)系统, 使其支持托运任何类型的载具。通过和牵引系统相同的方式来使用载具托运功能。如需取消托运, 进入托运车辆(前车)的驾驶员座位, 选择滚轮菜单中的"卸载货物"。<br/><br/> <img image='\A3\Data_F_Exp\Images\FeatureVehicleInVehicle_co.paa' width='355' height='200' /><br/><br/> <img image='\z\ace\addons\dragging\UI\icons\box_carry.paa' width='20' height='20'/> <marker name='blufor_base'>物体放置:</marker><br/> 您可以使用该选项来移动重物, 从而建造一个小的前哨或基地。<br/> 选择该选项后, 移动对象所需键位的提示将会出现。 - <img image='\z\ace\addons\cargo\UI\Icon_Module_Cargo_ca.paa' width='20' height='20'/> <marker name='blufor_base'>Système de cargaison:</marker><br/> Utilisez le système ACE 3 Cargo. <br/><br/> <img image='\z\ace\addons\attach\UI\attach_ca.paa' width='20' height='20'/> <marker name='blufor_base'>Système de remorquage:</marker><br/> Pour remorquer un véhicule, interagissez avec lui et sélectionnez l'option «ACCROCHER».<br/>Ensuite, placez le véhicule remorqueur devant lui et sélectionnez «REMORQUER» dans le menu d'interaction.<br/> Si les deux véhicules sont trop éloignés ou si le véhicule ne peut pas remorquer cette charge (la voiture ne peut pas dépanner ou remorquer le réservoir), l'option sera désactivée.<br/> Pour décrocher interagissez avec l'un des deux véhicules et sélectionnez l'option «DÉCROCHER».<br/><br/> <img image='\A3\Ui_f\data\IGUI\Cfg\VehicleToggles\VehicleCargoIconOn2_ca.paa' width='20' height='20'/> <marker name='blufor_base'>Vehicle in vehicle system:</marker><br/> Le système BI Vehicle in Vehicle (ViV) est étendu pour permettre le chargement de n'importe quel véhicule dans un véhicule. Pour déplacer ViV, utilisez le système de remorquage. Pour décharger, placez-vous dans le siège conducteur du véhicule tour et sélectionnez dans le menu déroulant «décharger tous les objets».<br/><br/> <img image='\A3\Data_F_Exp\Images\FeatureVehicleInVehicle_co.paa' width='355' height='200' /><br/><br/> <img image='\z\ace\addons\dragging\UI\icons\box_carry.paa' width='20' height='20'/> <marker name='blufor_base'>Place option:</marker><br/> Avec cette option, vous pouvez déplacer des objets lourds pour construire un petit avant-poste ou une base.<br/> Lorsque vous sélectionnez l'option, un indice affichera toutes les touches nécessaires pour déplacer l'objet. + <img image='\z\ace\addons\cargo\UI\Icon_Module_Cargo_ca.paa' width='20' height='20'/> <marker name='blufor_base'>Système de cargaison:</marker><br/> Utilisez le système ACE 3 Cargo. <br/><br/> <img image='\z\ace\addons\attach\UI\attach_ca.paa' width='20' height='20'/> <marker name='blufor_base'>Système de remorquage:</marker><br/> Pour remorquer un véhicule, interagissez avec le remorqueur et sélectionnez l'option «Remorquage».<br/>Ensuite, placez le véhicule remorqueur devant lui et sélectionnez «Attacher la corde de remorquage» dans le menu d'interaction.<br/> Si les deux véhicules sont trop éloignés ou si le véhicule ne peut pas remorquer cette charge (la voiture ne peut pas dépanner ou remorquer le réservoir), l'option sera désactivée.<br/> Pour décrocher interagissez avec l'un des deux véhicules et sélectionnez l'option «DÉCROCHER».<br/><br/> <img image='\A3\Ui_f\data\IGUI\Cfg\VehicleToggles\VehicleCargoIconOn2_ca.paa' width='20' height='20'/> <marker name='blufor_base'>Vehicle in vehicle system:</marker><br/> Le système BI Vehicle in Vehicle (ViV) est étendu pour permettre le chargement de n'importe quel véhicule dans un véhicule. Pour déplacer ViV, utilisez le système de remorquage. Pour décharger, placez-vous dans le siège conducteur du véhicule tour et sélectionnez dans le menu déroulant «décharger tous les objets».<br/><br/> <img image='\A3\Data_F_Exp\Images\FeatureVehicleInVehicle_co.paa' width='355' height='200' /><br/><br/> <img image='\z\ace\addons\dragging\UI\icons\box_carry.paa' width='20' height='20'/> <marker name='blufor_base'>Place option:</marker><br/> Avec cette option, vous pouvez déplacer des objets lourds pour construire un petit avant-poste ou une base.<br/> Lorsque vous sélectionnez l'option, un indice affichera toutes les touches nécessaires pour déplacer l'objet. @@ -1770,30 +1768,6 @@ - - Tow - Remolcar - Abschleppen - Reboque - 牵引 - Remorquer - - - Hook - Enganchar - Einhacken - Enganchar - 启用牵引 - Accrocher - - - Unhook - Desenganchar - Aushaken - Desenganchar - 取消牵引 - Décrocher - Deploy flag 悬挂旗帜 @@ -2501,12 +2475,7 @@ Impossible de remorquer !<br/>(Ce véhicule ne peut pas remorquer %1) - Interact with a vehicle to tow it! - Interactúe con un vehículo para remolcarlo! - Interagieren Sie mit dem Zug-Fahrzeug, um es abzuschleppen! - Interaja com o veículo para rebocá-lo! - 与牵引车(前车)互动以牵引它! - Interagissez avec un véhicule pour le remorquer ! + Towing vehicle selected, interact with the vehicle to tow! Too far! @@ -2531,6 +2500,14 @@ 启用/关闭抬头显示(HUD) Hud On\Off + + Hook + Enganchar + Einhacken + Enganchar + 启用牵引 + Accrocher +