diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/db/load_old.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/db/load_old.sqf
index 03e028611..558e9434d 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/db/load_old.sqf
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/db/load_old.sqf
@@ -160,10 +160,13 @@ private _vehs = profileNamespace getVariable [format ["btc_hm_%1_vehs", _name],
{
_x params ["_type", "_rearm_magazineClass", "_cargo_obj"];
- private _obj = _type createVehicle [0, 0, 0];
+ private _l = createVehicle [_type, getPosATL _obj, [], 0, "CAN_COLLIDE"];
+ [_l] call btc_fnc_log_init;
+ private _isloaded = [_l, _obj] call ace_cargo_fnc_loadItem;
+ if (btc_debug_log) then {
+ [format ["Object loaded: %1 in veh/container %2 IsLoaded: %3", _l, _obj, _isloaded], __FILE__, [false]] call btc_fnc_debug_message;
+ };
if (_rearm_magazineClass != "") then {_obj setVariable ["ace_rearm_magazineClass", _rearm_magazineClass, true]};
- btc_log_obj_created pushBack _obj;
- btc_curator addCuratorEditableObjects [[_obj], false];
clearWeaponCargoGlobal _obj;clearItemCargoGlobal _obj;clearMagazineCargoGlobal _obj;
_cargo_obj params ["_weap_obj", "_mags_obj", "_items_obj"];
@@ -182,7 +185,6 @@ private _vehs = profileNamespace getVariable [format ["btc_hm_%1_vehs", _name],
_obj addItemCargoGlobal [(_items_obj select 0) select _i, (_items_obj select 1) select _i];
};
};
- [_obj, _veh] call ace_cargo_fnc_loadItem;
} forEach _veh_cargo;
clearWeaponCargoGlobal _veh;clearItemCargoGlobal _veh;clearMagazineCargoGlobal _veh;
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/db/loadcargo.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/db/loadcargo.sqf
index 95cb6d1c0..f472f8ff7 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/db/loadcargo.sqf
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/db/loadcargo.sqf
@@ -1,63 +1,67 @@
-params ["_obj", "_cargo", "_inventory"];
+[{
+ params ["_obj", "_cargo", "_inventory"];
-//handle cargo
-{
- _x params ["_type", "_magClass", "_cargo_obj"];
+ //handle cargo
+ {
+ _x params ["_type", "_magClass", "_cargo_obj"];
- private _l = _type createVehicle [0, 0, 0];
- if (_magClass != "") then {
- _l setVariable ["ace_rearm_magazineClass", _magClass, true]
- };
- btc_log_obj_created pushBack _l;
- btc_curator addCuratorEditableObjects [[_l], false];
+ private _l = createVehicle [_type, getPosATL _obj, [], 0, "CAN_COLLIDE"];
+ [_l] call btc_fnc_log_init;
+ private _isloaded = [_l, _obj] call ace_cargo_fnc_loadItem;
+ if (btc_debug_log) then {
+ [format ["Object loaded: %1 in veh/container %2 IsLoaded: %3", _l, _obj, _isloaded], __FILE__, [false]] call btc_fnc_debug_message;
+ };
- clearWeaponCargoGlobal _l;
- clearItemCargoGlobal _l;
- clearMagazineCargoGlobal _l;
+ if (_magClass != "") then {
+ _l setVariable ["ace_rearm_magazineClass", _magClass, true]
+ };
- _cargo_obj params ["_weap_obj", "_mags_obj", "_items_obj"];
+ clearWeaponCargoGlobal _l;
+ clearItemCargoGlobal _l;
+ clearMagazineCargoGlobal _l;
- if !(_weap_obj isEqualTo []) then {
- for "_i" from 0 to ((count (_weap_obj select 0)) - 1) do {
- _l addWeaponCargoGlobal [(_weap_obj select 0) select _i, (_weap_obj select 1) select _i];
+ _cargo_obj params ["_weap_obj", "_mags_obj", "_items_obj"];
+
+ if !(_weap_obj isEqualTo []) then {
+ for "_i" from 0 to ((count (_weap_obj select 0)) - 1) do {
+ _l addWeaponCargoGlobal [(_weap_obj select 0) select _i, (_weap_obj select 1) select _i];
+ };
};
- };
- if !(_mags_obj isEqualTo []) then {
- for "_i" from 0 to ((count (_mags_obj select 0)) - 1) do {
- _l addMagazineCargoGlobal [(_mags_obj select 0) select _i, (_mags_obj select 1) select _i];
+ if !(_mags_obj isEqualTo []) then {
+ for "_i" from 0 to ((count (_mags_obj select 0)) - 1) do {
+ _l addMagazineCargoGlobal [(_mags_obj select 0) select _i, (_mags_obj select 1) select _i];
+ };
};
- };
- if !(_items_obj isEqualTo []) then {
- for "_i" from 0 to ((count (_items_obj select 0)) - 1) do {
- _l addItemCargoGlobal [(_items_obj select 0) select _i, (_items_obj select 1) select _i];
+ if !(_items_obj isEqualTo []) then {
+ for "_i" from 0 to ((count (_items_obj select 0)) - 1) do {
+ _l addItemCargoGlobal [(_items_obj select 0) select _i, (_items_obj select 1) select _i];
+ };
};
- };
- [_l, _obj] call ace_cargo_fnc_loadItem;
-} forEach _cargo;
+ } forEach _cargo;
-//set inventory content for weapons, magazines and items
-_inventory params ["_weap", "_mags", "_items"];
+ //set inventory content for weapons, magazines and items
+ _inventory params ["_weap", "_mags", "_items"];
-clearWeaponCargoGlobal _obj;
-clearItemCargoGlobal _obj;
-clearMagazineCargoGlobal _obj;
+ clearWeaponCargoGlobal _obj;
+ clearItemCargoGlobal _obj;
+ clearMagazineCargoGlobal _obj;
-if !(_weap isEqualTo []) then {
- for "_i" from 0 to ((count (_weap select 0)) - 1) do {
- _obj addWeaponCargoGlobal [(_weap select 0) select _i, (_weap select 1) select _i];
+ if !(_weap isEqualTo []) then {
+ for "_i" from 0 to ((count (_weap select 0)) - 1) do {
+ _obj addWeaponCargoGlobal [(_weap select 0) select _i, (_weap select 1) select _i];
+ };
};
-};
-if !(_mags isEqualTo []) then {
- for "_i" from 0 to ((count (_mags select 0)) - 1) do {
- _obj addMagazineCargoGlobal [(_mags select 0) select _i, (_mags select 1) select _i];
+ if !(_mags isEqualTo []) then {
+ for "_i" from 0 to ((count (_mags select 0)) - 1) do {
+ _obj addMagazineCargoGlobal [(_mags select 0) select _i, (_mags select 1) select _i];
+ };
};
-};
-if !(_items isEqualTo []) then {
- for "_i" from 0 to ((count (_items select 0)) - 1) do {
- _obj addItemCargoGlobal [(_items select 0) select _i, (_items select 1) select _i];
+ if !(_items isEqualTo []) then {
+ for "_i" from 0 to ((count (_items select 0)) - 1) do {
+ _obj addItemCargoGlobal [(_items select 0) select _i, (_items select 1) select _i];
+ };
};
-};
-_obj
+}, _this] call CBA_fnc_waitAndExecute;
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/db/save.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/db/save.sqf
index a3df0e733..23af78c68 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/db/save.sqf
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/db/save.sqf
@@ -114,7 +114,7 @@ private _array_veh = [];
private _cargo = [];
{
_cargo pushBack [typeOf _x, _x getVariable ["ace_rearm_magazineClass", ""], [getWeaponCargo _x, getMagazineCargo _x, getItemCargo _x]]
- } forEach (_x getVariable ["cargo", []]);
+ } forEach (_x getVariable ["ace_cargo_loaded", []]);
_data pushBack _cargo;
private _cont = [getWeaponCargo _x, getMagazineCargo _x, getItemCargo _x];
_data pushBack _cont;
@@ -133,7 +133,7 @@ private _array_obj = [];
if !(_data isEqualTo []) then {
_array_obj pushBack _data;
};
-} forEach btc_log_obj_created;
+} forEach (btc_log_obj_created select {!(isObjectHidden _x)});
profileNamespace setVariable [format ["btc_hm_%1_objs", _name], _array_obj];
//Player Markers
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/eh/veh_init.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/eh/veh_init.sqf
index b47ac7c82..fcaee2acf 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/eh/veh_init.sqf
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/eh/veh_init.sqf
@@ -23,18 +23,10 @@ switch true do {
[_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", {(_this select 0) spawn btc_fnc_log_unhook;}, {true}] call ace_interact_menu_fnc_createAction; //Unhook
[_type, 0, ["ACE_MainActions", "Logistic"], _action] call ace_interact_menu_fnc_addActionToClass;
- //Cargo
- _action = ["check_cargo", localize "STR_BTC_HAM_ACTION_LOGISTIC_CHECKCARGO", "\A3\ui_f\data\igui\cfg\simpleTasks\types\search_ca.paa", {(_this select 0) spawn btc_fnc_log_check_cargo;}, {true}] call ace_interact_menu_fnc_createAction; //Check Cargo
- //Outside Vehicle
- [_type, 0, ["ACE_MainActions", "Logistic"], _action] call ace_interact_menu_fnc_addActionToClass; //Logistic
};
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; //Logistic
[_type, 0, ["ACE_MainActions"], _action] call ace_interact_menu_fnc_addActionToClass;
- //Cargo
- _action = ["check_cargo", localize "STR_BTC_HAM_ACTION_LOGISTIC_CHECKCARGO", "\A3\ui_f\data\igui\cfg\simpleTasks\types\search_ca.paa", {(_this select 0) spawn btc_fnc_log_check_cargo;}, {true}] call ace_interact_menu_fnc_createAction; //Check Cargo
- //Outside Vehicle
- [_type, 0, ["ACE_MainActions", "Logistic"], _action] call ace_interact_menu_fnc_addActionToClass; //Logistic
//Lift
_action = ["Deploy_ropes", localize "STR_BTC_HAM_ACTION_VEHINIT_DEPLOYROPES", "\A3\ui_f\data\igui\cfg\simpleTasks\types\container_ca.paa", {[] spawn btc_fnc_log_lift_deploy_ropes;}, {!btc_ropes_deployed && {(driver vehicle player) isEqualTo player} && {(getposATL player) select 2 > 4}}] call ace_interact_menu_fnc_createAction; //Deploy ropes
[_type, 1, ["ACE_SelfActions"], _action, true] call ace_interact_menu_fnc_addActionToClass;
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/int/ask_var.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/int/ask_var.sqf
index 5b0b88a8f..c03c4f19c 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/int/ask_var.sqf
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/int/ask_var.sqf
@@ -13,7 +13,6 @@ private _data = switch (_id) do {
_hd;
};
case 2 : {btc_global_reputation;};
- case 3 : {_target getVariable ["cargo", []];};
case 4 : {_target getVariable ["tow", objNull];};
case 5 : {btc_side_jip_data;};
case 6 : {btc_fobs;};
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/log/CuratorObjectPlaced_s.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/log/CuratorObjectPlaced_s.sqf
index 47602d49f..90763f0e8 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/log/CuratorObjectPlaced_s.sqf
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/log/CuratorObjectPlaced_s.sqf
@@ -1,6 +1,6 @@
params ["_obj_created"];
-btc_log_obj_created pushBack _obj_created;
+[_obj_created] call btc_fnc_log_init;
if (btc_debug_log) then {
[format ["btc_log_obj_created UPDATED by curator %1", _obj_created], __FILE__, [false]] call btc_fnc_debug_message;
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/log/paste.sqf b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/log/paste.sqf
index 060262652..406088908 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/log/paste.sqf
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/core/fnc/log/paste.sqf
@@ -6,4 +6,4 @@ if ({!((_x isKindOf "Animal") || (_x isKindOf "Module_F") || (_x isKindOf "Weapo
if (isNil "_copy_container") exitWith {hint localize "STR_BTC_HAM_O_PASTE_NOCOPIED"}; //No copied container!
-[_copy_container] remoteExec ["btc_fnc_db_loadObjectStatus", 2];
+[_copy_container] remoteExecCall ["btc_fnc_db_loadObjectStatus", 2];
diff --git a/=BTC=co@30_Hearts_and_Minds.Altis/stringtable.xml b/=BTC=co@30_Hearts_and_Minds.Altis/stringtable.xml
index 5e5a649fd..e6a363861 100644
--- a/=BTC=co@30_Hearts_and_Minds.Altis/stringtable.xml
+++ b/=BTC=co@30_Hearts_and_Minds.Altis/stringtable.xml
@@ -141,8 +141,8 @@
Logistik
- <marker name='blufor_base'>Cargo System:</marker><br/> - <img image='a3\ui_f\data\IGUI\Cfg\Actions\loadVehicle_ca.paa' width='20' height='20'/> <marker name='blufor_base'>Load:</marker> You can load objects inside vehicles. Approach the object you want to load and interact with it.<br/> Select 'LOAD IN' option.<br/> After that interact with the vehicle and select 'LOAD object selected' option.<br/> The object has to be close to the vehicle.<br/><br/> - <img image='\A3\ui_f\data\igui\cfg\simpleTasks\types\search_ca.paa' width='20' height='20'/> <marker name='blufor_base'>Unload:</marker> You can unload an object from a vehicle interacting with it. You can be inside the vehicle (personal interaction) or outside (object interaction).<br/> Select the option 'CHECK CARGO', then choose the object you want to unload from the list, and click 'UNLOAD'.<br/> If you are inside a chopper the object will be paradropped with a chute. If your height is too low, the object will crash down.<br/> Every vehicle has a 'CARGO CAPACITY' (CC in game), and every object has a 'REQUIRED CAPACITY' value (RC in game.)<br/> You can check those values in game with 'LOAD IN' and 'CHECK CARGO' options.<br/><br/><br/> <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/> <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.
- <marker name='blufor_base'>Fracht-System:</marker><br/> - <img image='a3\ui_f\data\IGUI\Cfg\Actions\loadVehicle_ca.paa' width='20' height='20'/> <marker name='blufor_base'>Beladen:</marker> Man kann Objekte in Fahrzeuge einladen. Gehen Sie an das Obekt heran und interagieren sie damit.<br/> Wählen sie 'EINLADEN'aus.<br/> Als nächstes gehen Sie zum Fahrzeug und wählen 'AUSGEWÄHLTES EINLADEN' aus.<br/> Denken Sie daran, dass das zu verladende Objekt sich in der Nähe des Fahrzeuges befinden muss.<br/><br/> - <img image='\A3\ui_f\data\igui\cfg\simpleTasks\types\search_ca.paa' width='20' height='20'/> <marker name='blufor_base'>Abladen:</marker> Man kann Objekte aus einen Fahrzeug entladen, indem man mit diesem interagiert. Das funktioniert von Innen (Eigen-Interaktionsmenü) und von Aussen (mit dem Objekt interagieren).<br/> Über den Menüpunkt 'FRACHT ÜBERPRÜFEN' kann man das zu entladende Objekt aus einer Liste auswählen und mit einem Klick auf 'ENTLADEN' ausladen.<br/> Wenn man sich beim Ausladen in einem Hubschrauber befindet, so wird das Objekt automatisch mit einem Fallschrim abgeworfen. Aber Achtung: Der Fallschirm öffnet sich erst ab einer bestimmten Flughöhe.<br/> Jedes Fahrzeug hat eine gewisse Ladekapazität ('Frachtkapazität' - CC im Spiel genannt) und jedes Objekt hat ein gewisses Ladevolumen ('benötigte Kapazität' - RC im Spiel genannt).<br/> Diese Werte können im Spiel mit den Actionen 'EINLADEN' und 'FRACHT ÜBERPRÜFEN' geprüft werden.<br/><br/><br/> <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/> <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.
+ <marker name='blufor_base'>Cargo System:</marker><br/> See ACE3 documentation. <br/><br/> <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/> <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.
+ <marker name='blufor_base'>Fracht-System:</marker><br/> <br/><br/> <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/> <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.
@@ -919,20 +919,6 @@
Fahrzeug anfordern
-
-
- Load in
- Einladen
-
-
- Load selected
- Ausgewähltes einladen
-
-
- Check cargo
- Fracht überprüfen
-
-
Mount FOB