Code:
if (isMultiplayer && isDedicated) exitWith {};
WaitUntil {!isNull player};
player addEventHandler ["Killed", {
_unit = _this select 0;
private ['_magazines','_weapons','_backpack','_backpackweap','_backpackmags','_unit'];
_weapons = weapons _unit;
_magazines = magazines _unit;
_backpack = if (!isNull unitBackpack _unit) then {typeOf unitBackpack _unit} else {""};
if (_backpack != "") then {
_backpackmags = getMagazineCargo unitBackpack _unit;
_backpackweap = getWeaponCargo unitBackpack _unit;
_unit setVariable ["players_bp_content",[_backpack,_backpackweap,_backpackmags]];
} else {
_unit setVariable ["players_bp_content",["","",""]];
};
_items = items player;
_unit setVariable ["players_content",[_weapons,_magazines,_items]];
}];
player addEventHandler ["Respawn", {
_unit = _this select 0;
private ['_a_stuff','_unit','_a_bp','_bp','_bpw','_bpm','_pi'];
removeAllWeapons player;
removeAllItems player;
if (!isNull unitBackpack _unit) then {removeBackpack _unit};
_a_stuff = _unit getVariable "players_content";
_pw = _a_stuff select 0;
_pm = _a_stuff select 1;
_pi = _a_stuff select 2;
{player addMagazine _x} foreach _pm;
{player addWeapon _x} foreach _pw;
{if !(player hasWeapon _x) then {player addWeapon _x}} forEach _pi;
player selectWeapon (primaryWeapon player);
_muzzles = getArray(configFile>>"cfgWeapons" >> primaryWeapon player >> "muzzles"); // Fix for weapons with grenade launcher
player selectWeapon (_muzzles select 0);
_a_bp = _unit getVariable "players_bp_content";
_bp = _a_bp select 0;
if(_bp != "") then {
player addBackpack _bp;
clearWeaponCargoGlobal (unitBackpack player);
clearMagazineCargoGlobal (unitBackpack player);
_bpw = _a_bp select 1;
_bpm = _a_bp select 2;
for "_i" from 0 to (count (_bpm select 0) - 1) do {
(unitBackpack player) addMagazineCargoGlobal [(_bpm select 0) select _i,(_bpm select 1) select _i]
};
for "_i" from 0 to (count (_bpw select 0) - 1) do {
(unitBackpack player) addWeaponCargoGlobal [(_bpw select 0) select _i,(_bpw select 1) select _i]
};
};
}];
ja, sorry. war ein kleiner fehler der dann auftrat wenn der spieler keinen rucksack hat. ist gefixt.