Closed Fusselwurm closed 7 years ago
:laughing: wenn wir die Pyramid of Doom im Code oben noch in besser verdauliche Häppchen zerhackt kriegen, würd ich das direkt so als Funktion einbauen
Hab es einmal überarbeitet.
Hier noch eine Alternative auf wunsch von Zade:
//in der InitServer.sqf ausführen
UpgradePlayerTier = [[],[],[],[]];
{
if ((faction _x) != "OPF_F" && (vehicleVarName _x) != "unit_indep_c") then
{
(UpgradePlayerTier select 0) pushBackUnique _x;
};
}forEach allPlayers - entities "HeadlessClient_F";
//an den Kill EH anhängen
_index = UpgradePlayerTier find _deceased;
UpgradePlayerTier deleteAt _index;
_side = side _deceased;
_player = "";
_upgradesList = [
{
//Upgrade Tier 1
[_player, _pistol, 2] call _giveMagazin;
_player addWeaponGlobal _pistol;
},
{
//Upgrade Tier 2
[_player, _rifle, 2] call _giveMagazin;
_player addWeaponGlobal _rifle;
},
{
//Upgrade Tier 3
[_player, _rifle, 1] call _giveMagazin;
_player addItem _radio;
_player assignItem _radio;
},
{
//Upgrade Tier 4
[_player, _rifle, 2] call _giveMagazin;
_player addItem "ACE_Banana";
_player addItem "SmokeShell";
}
];
_giveMagazin = {
_player = _this select 0;
_weapon = _this select 1;
_amount = _this select 2;
_magazines = getArray (configFile / "CfgWeapons" / _weapon / "magazines");
_mag = selectRandom _magazines;
for "_i" from 1 to _amount do {
_player addMagazineGlobal _mag;
}
};
{
_playerArray = _x;
_bool = "false";
while {true} do
{
_player = selectRandom _playerArray;
_index = _playerArray find _player;
_playerArray deleteAt _index;
if ((_player distance2D _deceased) >= 200 && (side _player) == _side) exitWith {_bool = "true";};
if ((count _playerArray) == 0) exitWith{}
};
if (_bool == "true") exitWith
{
_player call {_upgradesList select _forEachIndex};
_index = _playerArray find _player;
(UpgradePlayerTier select _forEachIndex) deleteAt _index;
(_upgradePlayerList select (_forEachIndex +1)) pushBackUnique _x;
};
}forEach UpgradePlayerTier;
okay bin dran
Ich hab mal ein bisschen Code hierfür gemacht:
Übergebn werden muss nur Toter + Pistole + Langwaffe + Funkgerät. Es fehlt nur noch das waffen geben.