addBackpackGlobal: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Fix page, change warning to a more academic style)
(Undo revision 116585 by Lou Montana (talk) This edit is confusing, implies that backpack is null on the remote machine, while it is only null immediately and once client updates the server th)
Line 1: Line 1:
{{Command|Comments=
{{Command|= Comments
____________________________________________________________________________________________
____________________________________________________________________________________________


| arma 3 |Game name=
| arma 3 |= Game name
|arg= global|arguments=
|arg= global|=
|eff= global|effect=
|eff= global|=
|1.32|Game version=
|1.32|= Game version
____________________________________________________________________________________________
____________________________________________________________________________________________


| Add a backpack to a unit, [[local]] or remote.<br />
| Adds a backpack to a unit (even non-local).<br><br>
<br />
{{Warning | Beware, the backpack added with this command will be created on the PC [[local]] to the unit you are adding it to, even if executed on the server. Because of this, if non-local unit is the target and one tries to immediately access added backpack, the backpack returned will be [[objNull | Null]]. This is inconvenient, but it is what it is. When adding backpack dynamically to a remote unit, wait until backpack is added:
{{Warning|The backpack added with this command is created on the machine where unit is [[local]]. Because of this, if the unit is remote the [[backpackContainer]] command will return [[objNull]].
  _unit [[spawn]]
The workaround is to wait for the backpack information's network synchronisation:
{
  _unit [[addBackpackGlobal]] "B_AssaultPack_khk";
[[if]] (![[isNull]] [[backpackContainer]] [[_this]]) [[then]]
[[waitUntil]] { ![[isNull]] [[backpackContainer]] _unit }; {{codecomment|// needed if target is remote}}
{
[[backpackContainer]] _unit [[addMagazineCargoGlobal]] ["30Rnd_556x45_Stanag", 5];
[[removeBackpackGlobal]] [[_this]];
}} |Description=
[[waitUntil]] { [[isNull]] [[backpackContainer]] [[_this]] };
};
[[_this]] [[addBackpackGlobal]] "B_AssaultPack_khk";
[[waitUntil]] { ![[isNull]] [[backpackContainer]] [[_this]] };
[[backpackContainer]] [[_this]] [[addMagazineCargoGlobal]] ["30Rnd_556x45_Stanag",5];
};
}|= Description
____________________________________________________________________________________________
____________________________________________________________________________________________


| unit [[addBackpackGlobal]] backpackClass |Syntax=
| unit '''addBackpackGlobal''' backpack|= Syntax


|p1= unit: [[Object]] - soldier |Parameter 1=
|p1= unit: [[Object]] - soldier |= Parameter 1
|p2= backpack: [[String]] - backpack class name |= Parameter 2


|p2= backpackClass: [[String]] - backpack class name |Parameter 2=
| [[Nothing]] |= Return value
 
| [[Nothing]] |Return value=
____________________________________________________________________________________________
____________________________________________________________________________________________
   
   
|x1= <code>[[player]] [[addBackpackGlobal]] "B_AssaultPack_khk";</code> |Example 1=
|x1= <code>[[player]] [[addBackpackGlobal]] "B_AssaultPack_khk";</code> |= Example 1
 
____________________________________________________________________________________________
____________________________________________________________________________________________


| [[addBackpack]], [[backpackContainer]], [[firstBackpack]]
| [[addBackpack]], [[backpackContainer]], [[firstBackpack]], [[unitBackpack]], [[backpack]], [[backpackCargo]], [[getBackpackCargo]], [[backpackItems]], [[addBackpackCargo]], [[addBackpackCargoGlobal]], [[removeBackpack]], [[clearBackpackCargo]], [[clearBackpackCargoGlobal]], [[clearAllItemsFromBackpack]], [[loadBackpack]], [[backpackSpaceFor]], [[canAddItemToBackpack]], [[addItemToBackpack]], [[removeItemFromBackpack]], [[everyBackpack]]|= See also
[[unitBackpack]], [[backpack]], [[backpackCargo]]
[[getBackpackCargo]], [[backpackItems]], [[addBackpackCargo]]
[[addBackpackCargoGlobal]], [[removeBackpack]], [[clearBackpackCargo]]
[[clearBackpackCargoGlobal]], [[clearAllItemsFromBackpack]], [[loadBackpack]]
[[backpackSpaceFor]], [[canAddItemToBackpack]], [[addItemToBackpack]]
[[removeItemFromBackpack]], [[everyBackpack]] |See also=


}}
}}

Revision as of 15:27, 6 February 2019

Hover & click on the images for description

Description

Description:
Adds a backpack to a unit (even non-local).

Beware, the backpack added with this command will be created on the PC local to the unit you are adding it to, even if executed on the server. Because of this, if non-local unit is the target and one tries to immediately access added backpack, the backpack returned will be Null. This is inconvenient, but it is what it is. When adding backpack dynamically to a remote unit, wait until backpack is added:
_unit spawn 
{
	if (!isNull backpackContainer _this) then
	{
		removeBackpackGlobal _this;
		waitUntil { isNull backpackContainer _this };
	};
	_this addBackpackGlobal "B_AssaultPack_khk";
	waitUntil { !isNull backpackContainer _this };
	backpackContainer _this addMagazineCargoGlobal ["30Rnd_556x45_Stanag",5];
};
Groups:
Uncategorised

Syntax

Syntax:
unit addBackpackGlobal backpack
Parameters:
unit: Object - soldier
backpack: String - backpack class name
Return Value:
Nothing

Examples

Example 1:
player addBackpackGlobal "B_AssaultPack_khk";

Additional Information

See also:
addBackpackbackpackContainerfirstBackpackunitBackpackbackpackbackpackCargogetBackpackCargobackpackItemsaddBackpackCargoaddBackpackCargoGlobalremoveBackpackclearBackpackCargoclearBackpackCargoGlobalclearAllItemsFromBackpackloadBackpackbackpackSpaceForcanAddItemToBackpackaddItemToBackpackremoveItemFromBackpackeveryBackpack

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note

Notes

Bottom Section