diff --git a/addons/OPT/GELDZEIT/fn_clientInit.sqf b/addons/OPT/GELDZEIT/fn_clientInit.sqf index 1f9e378a..8b1c3d84 100644 --- a/addons/OPT/GELDZEIT/fn_clientInit.sqf +++ b/addons/OPT/GELDZEIT/fn_clientInit.sqf @@ -48,6 +48,8 @@ player action ["WeaponOnBack", player]; // TEAM BALANCE - end mission for player if side is full // nicht in onPlayerRespawn, da nur zu Missionsbeginn prüfen +if (!(OPT_SECTORCONTROL_trainingon)) then +{ if (isMultiplayer && hasInterface) then { if (GVAR(TEAMBALANCE) > 0) then @@ -109,9 +111,10 @@ player action ["WeaponOnBack", player]; }; }; +}; - // friere Spieler, falls freezeTime aktiv - [] call FUNC(frezztime); +// friere Spieler, falls freezeTime aktiv +[] call FUNC(frezztime); //Beam ausführen zur zweiten Basis GVAR(beam_trigger) = []; diff --git a/addons/OPT/GELDZEIT/fn_init.sqf b/addons/OPT/GELDZEIT/fn_init.sqf index 94c41b70..9646964d 100644 --- a/addons/OPT/GELDZEIT/fn_init.sqf +++ b/addons/OPT/GELDZEIT/fn_init.sqf @@ -36,6 +36,12 @@ if (OPT_SECTORCONTROL_trainingon) then { [] call FUNC(zeus); + + Player addEventHandler ["Respawn", { + + [] call FUNC(zeus); + + }]; }; }] call CFUNC(addEventhandler); \ No newline at end of file diff --git a/addons/OPT/GPS/fn_gps.sqf b/addons/OPT/GPS/fn_gps.sqf index 93db7494..ba11b3ed 100644 --- a/addons/OPT/GPS/fn_gps.sqf +++ b/addons/OPT/GPS/fn_gps.sqf @@ -146,7 +146,7 @@ GVAR(markerplayer) = [] call FUNC(createPlayerMarker); { _marker setMarkerTextLocal _name; - if (lifeState _obj isEqualTo "INCAPACITATED") then + if ((lifeState _obj isEqualTo "INCAPACITATED") or (_obj getVariable "OPT_isUnconscious" == 1)) then { _marker setMarkerTextLocal ""; _marker setMarkerPosLocal [0,0]; diff --git a/addons/OPT/GPS/fn_gps_Unconscious.sqf b/addons/OPT/GPS/fn_gps_Unconscious.sqf index 6d0d1fa3..cfea7f01 100644 --- a/addons/OPT/GPS/fn_gps_Unconscious.sqf +++ b/addons/OPT/GPS/fn_gps_Unconscious.sqf @@ -41,7 +41,7 @@ GVAR(markerPoolisUnconscious) = []; _Sideidunit = getnumber (configFile >> "CfgVehicles" >> (typeof _x) >> "side"); _sideidplayer = playerSide call BIS_fnc_sideID; - if ((_Sideidunit == _sideidplayer) and (lifeState _x isEqualTo "INCAPACITATED")) then + if ((_Sideidunit == _sideidplayer) and ((lifeState _x isEqualTo "INCAPACITATED") or (_x getVariable "OPT_isUnconscious" == 1))) then { _unitsToMarkisUnconscious pushBack _x; diff --git a/addons/OPT/REVIVE/fn_checkplaymove.sqf b/addons/OPT/REVIVE/fn_checkplaymove.sqf index 649d8417..343328f7 100644 --- a/addons/OPT/REVIVE/fn_checkplaymove.sqf +++ b/addons/OPT/REVIVE/fn_checkplaymove.sqf @@ -16,7 +16,7 @@ params ["_target"]; -if !(animationState _target == "AcinPknlMwlkSnonWnonDb") then +if (!(animationState _target == "AcinPknlMwlkSnonWnonDb") and alive _target and !(lifeState _target isEqualTo "INCAPACITATED")) then { _target playMove "AcinPknlMwlkSnonWnonDb"; }; diff --git a/addons/OPT/REVIVE/fn_clientInitEH.sqf b/addons/OPT/REVIVE/fn_clientInitEH.sqf index e2a1a136..baa59652 100644 --- a/addons/OPT/REVIVE/fn_clientInitEH.sqf +++ b/addons/OPT/REVIVE/fn_clientInitEH.sqf @@ -108,15 +108,21 @@ DFUNC(playerHandleDamage) = //Var übergabe GVAR(playerHandleDamage_unit) = _unit; - GVAR(playerHandleDamage_instigator) = _instigator; + //_instigator kann oft nicht übergeben werden _source ist immer vorhanden. + GVAR(playerHandleDamage_instigator) = _source; GVAR(playerHandleDamage_source) = _source; GVAR(playerHandleDamage_projectile) = _projectile; GVAR(playerHandleDamage_damage) = _damage; private _resultingDamage = _damage; - if (_damage >= GVAR(MAX_DAMAGE)) then { + if (getDammage _unit >= 0.65) then + { [FUNC(playercheckINCAPACITATED), 1,""] call CLib_fnc_wait; + }; + + if (_damage >= GVAR(MAX_DAMAGE)) then + { // Player will be "down" from this point on. // Making him invulnerable to prevent forced respawn and random damage that accumulates, if he get overkilled diff --git a/addons/OPT/REVIVE/fn_drag.sqf b/addons/OPT/REVIVE/fn_drag.sqf index 9046ab40..884531af 100644 --- a/addons/OPT/REVIVE/fn_drag.sqf +++ b/addons/OPT/REVIVE/fn_drag.sqf @@ -39,7 +39,7 @@ GVAR(Addaction_id) = player addAction ]; //Playmove check -player addEventHandler ["AnimChanged", {[_this select 0] call FUNC(checkplaymove)}]; +GVAR(PLAYER_AnimChanged_EH_ID) = player addEventHandler ["AnimChanged", {[_this select 0] call FUNC(checkplaymove)}]; [{ params ["_args", "_handle"]; @@ -50,7 +50,7 @@ player addEventHandler ["AnimChanged", {[_this select 0] call FUNC(checkplaymove GVAR(OPT_isDragging) = false; //EH entfernen - player removeEventHandler ["AnimChanged", 0]; + player removeEventHandler ["AnimChanged", GVAR(PLAYER_AnimChanged_EH_ID)]; //Löschen der letzen Animation player switchMove ""; diff --git a/addons/OPT/SHOP/fn_einlesenInShopDialog.sqf b/addons/OPT/SHOP/fn_einlesenInShopDialog.sqf index 4026f77d..9a95cb56 100644 --- a/addons/OPT/SHOP/fn_einlesenInShopDialog.sqf +++ b/addons/OPT/SHOP/fn_einlesenInShopDialog.sqf @@ -129,18 +129,21 @@ switch (GVAR(vehicleType)) do { _pool = GVAR(nato_choppers); GVAR(pads) = GVAR(pad_air_west); + GVAR(Checkbereich) = 13; GVAR(Hardcap_pool) = GVAR(Hardcap_nato_choppers); }; case east : { _pool = GVAR(csat_choppers); GVAR(pads) = GVAR(pad_air_east); + GVAR(Checkbereich) = 13; GVAR(Hardcap_pool) = GVAR(Hardcap_csat_choppers); }; case independent : { _pool = GVAR(AAF_choppers); GVAR(pads) = GVAR(pad_air_independent); + GVAR(Checkbereich) = 13; GVAR(Hardcap_pool) = GVAR(Hardcap_aaf_choppers); }; default diff --git a/addons/OPT/SHOP/fn_handledeadvehicle.sqf b/addons/OPT/SHOP/fn_handledeadvehicle.sqf index e71449af..621e3862 100644 --- a/addons/OPT/SHOP/fn_handledeadvehicle.sqf +++ b/addons/OPT/SHOP/fn_handledeadvehicle.sqf @@ -28,6 +28,19 @@ params [ // log destroyed vehicle and killer [_vec, _instigator, _source] call FUNC(writeKill); +//Log Besatzung bei Fahrzeugabschuss +//Fahrzeug Explosionen überlager den queller des Abschuss. + + if ((_vec isKindOf "Air") or (_vec isKindOf "tank") or (_vec isKindOf "Wheeled_APC")) then +{ + private _crewarray = Crew _vec; + + _crewarray apply + { + [_x, _instigator, _source] call FUNC(writeKill); + }; +}; + // delete all wrecks within the base safezone switch OPT_GELDZEIT_Fraktionauswahl do