Advertisement
Jens_Rudolph

Untitled

May 10th, 2019
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQF 18.79 KB | None | 0 0
  1. #include "..\..\script_macros.hpp"
  2. /*
  3. *   File: fn_keyHandler.sqf
  4. *   Author: Bryan "Tonic" Boardwine
  5. *
  6. *   Description:
  7. *   Main key handler for event 'keyDown'
  8. */
  9. private ["_handled","_shift","_alt","_code","_ctrl","_alt","_ctrlKey","_veh","_locked","_interactionKey","_mapKey","_interruptionKeys"];
  10. _ctrl = SEL(_this,0);
  11. _code = SEL(_this,1);
  12. _shift = SEL(_this,2);
  13. _ctrlKey = SEL(_this,3);
  14. _alt = SEL(_this,4);
  15. _speed = speed cursorObject;
  16. _handled = false;
  17. _speakKey = if((actionKeys "PushToTalk") isEqualTo []) then {58} else {(actionKeys "PushToTalk") select 0};
  18.  
  19. _interactionKey = if((EQUAL(count (actionKeys "User10"),0))) then {219} else {(actionKeys "User10") select 0};
  20. _mapKey = SEL(actionKeys "ShowMap",0);
  21. //hint str _code;
  22. _interruptionKeys = [17,30,31,32]; //A,S,W,D
  23. private _vehicle = vehicle player;
  24. private _cursorObject = cursorObject;
  25.  
  26. //Vault handling...
  27. if((_code in (actionKeys "GetOver") || _code in (actionKeys "salute") || _code in (actionKeys "SitDown") || _code in (actionKeys "Throw") || _code in (actionKeys "GetIn") || _code in (actionKeys "GetOut") || _code in (actionKeys "Fire") || _code in (actionKeys "ReloadMagazine") || _code in [16,18]) && ((player GVAR ["restrained",false]) || (player GVAR ["playerSurrender",false]) || life_isknocked || life_istazed)) exitWith {
  28.     true;
  29. };
  30.  
  31. if(life_action_inUse) exitWith {
  32.     if(!life_interrupted && _code in _interruptionKeys) then {life_interrupted = true;};
  33.     _handled;
  34. };
  35.  
  36. //Hotfix for Interaction key not being able to be bound on some operation systems.
  37. if(!(EQUAL(count (actionKeys "User10"),0)) && {(inputAction "User10" > 0)}) exitWith {
  38.     //Interaction key (default is Left Windows, can be mapped via Controls -> Custom -> User Action 10)
  39.     if(!life_action_inUse) then {
  40.         [] spawn {
  41.             private "_handle";
  42.             _handle = [] spawn life_fnc_actionKeyHandler;
  43.             waitUntil {scriptDone _handle};
  44.             life_action_inUse = false;
  45.         };
  46.     };
  47.     true;
  48. };
  49.  
  50. if (life_container_active) exitwith {
  51.     //ignore movement actions
  52.     private _allowedMoves = [
  53.         "MoveForward",
  54.         "MoveBack",
  55.         "TurnLeft",
  56.         "TurnRight",
  57.         "MoveFastForward",
  58.         "MoveSlowForward",
  59.         "turbo",
  60.         "TurboToggle",
  61.         "MoveLeft",
  62.         "MoveRight",
  63.         "WalkRunTemp",
  64.         "WalkRunToggle",
  65.         "AdjustUp",
  66.         "AdjustDown",
  67.         "AdjustLeft",
  68.         "AdjustRight",
  69.         "Stand",
  70.         "Crouch",
  71.         "Prone",
  72.         "MoveUp",
  73.         "MoveDown",
  74.         "LeanLeft",
  75.         "LeanLeftToggle",
  76.         "LeanRight",
  77.         "LeanRightToggle"
  78.     ];
  79.    
  80.     if (({_code in (actionKeys _x)} count _allowedMoves) > 0) exitwith {
  81.         false;
  82.     };
  83.     if (life_container_active) then {
  84.         switch (_code) do {
  85.             //space key
  86.             case 57: {
  87.                 [life_container_activeObj] spawn life_fnc_placedefinestorage;
  88.             };
  89.         };
  90.         true;
  91.     };
  92. };
  93.  
  94. switch (_code) do {
  95.     //Space key for Jumping
  96.     case 57: {
  97.         if(isNil "jumpActionTime") then {jumpActionTime = 0;};
  98.         if(_shift && {!(EQUAL(animationState player,"AovrPercMrunSrasWrflDf"))} && {isTouchingGround player} && {EQUAL(stance player,"STAND")} && {speed player > 2} && {!life_is_arrested} && {SEL((velocity player),2) < 2.5} && {time - jumpActionTime > 1.5}) then {
  99.             jumpActionTime = time; //Update the time.
  100.             [player,true] spawn life_fnc_jumpFnc; //Local execution
  101.             [player,false] remoteExec ["life_fnc_jumpFnc",0]; //Global execution
  102.             _handled = true;
  103.         };
  104.     };
  105.  
  106.     //Map Key
  107.     case _mapKey: {
  108.         switch (playerSide) do {
  109.             case west: {if(!visibleMap) then {[] spawn life_fnc_copMarkers;}};
  110.             case independent: {if(!visibleMap) then {[] spawn life_fnc_medicMarkers;}};
  111.             case civilian: {if(!visibleMap) then {[] spawn life_fnc_civMarkers;}};
  112.         };
  113.     };
  114.  
  115.     //Holster / recall weapon. (Shift + H)
  116.     case 35: {
  117.         if(_shift && !_ctrlKey && !(EQUAL(currentWeapon player,""))) then {
  118.             life_curWep_h = currentWeapon player;
  119.             player action ["SwitchWeapon", player, player, 100];
  120.             player switchCamera cameraView;
  121.         };
  122.  
  123.         if(!_shift && _ctrlKey && !isNil "life_curWep_h" && {!(EQUAL(life_curWep_h,""))}) then {
  124.             if(life_curWep_h in [RIFLE,LAUNCHER,PISTOL]) then {
  125.                 player selectWeapon life_curWep_h;
  126.             };
  127.         };
  128.     };
  129.    
  130.     // Shift -> Chip tuning boost
  131.     case 42: {
  132.  
  133.         if( _vehicle != player && { local _vehicle } && { isEngineOn _vehicle } && { _vehicle getVariable["chip.enabled", false] } ) then {
  134.             [_vehicle] call life_fnc_chipboost;
  135.         };
  136.     };
  137.  
  138.     //Interaction key (default is Left Windows, can be mapped via Controls -> Custom -> User Action 10)
  139.     case _interactionKey: {
  140.         if(!life_action_inUse) then {
  141.             [] spawn  {
  142.                 private "_handle";
  143.                 _handle = [] spawn life_fnc_actionKeyHandler;
  144.                 waitUntil {scriptDone _handle};
  145.                 life_action_inUse = false;
  146.             };
  147.         };
  148.     };
  149.  
  150.     //Restraining (Shift + R)
  151.     case 19: {
  152.         if(_shift) then {_handled = true;};
  153.         if(_shift && playerSide == west && {!isNull cursorObject} && {cursorObject isKindOf "Man"} && {(isPlayer cursorObject)} && {(side cursorObject in [civilian,independent])} && {alive cursorObject} && {cursorObject distance player < 3.5} && {!(cursorObject GVAR "Escorting")} && {!(cursorObject GVAR "restrained")} && {speed cursorObject < 1}) then {
  154.             [] call life_fnc_restrainMFAction;
  155.         };
  156.        
  157.         if(_alt) then {
  158.                 if([false,"redgull",1] call life_fnc_handleInv) then
  159.                 {
  160.                
  161.                     [] spawn {
  162.                     life_redgull_effect = time;
  163.                     titleText[ "Du kannst jetzt für 3 Minuten weiter laufen","PLAIN"];
  164.                     player enableFatigue false;
  165.                     waitUntil {!alive player OR ((time - life_redgull_effect) > (3 * 60))};
  166.                     player enableFatigue true;
  167.                     };
  168.                 }
  169.                 else
  170.                 {
  171.                     hint "Bruder, du hast kein RedGull";
  172.                 };
  173.         };
  174.     };
  175.  
  176.     //Knock out, this is experimental and yeah... (Shift + G)
  177.     case 34: {
  178.         if(_shift) then {_handled = true;};
  179.         if(_shift && !isNull cursorObject && cursorObject isKindOf "Man" && isPlayer cursorObject && alive cursorObject && cursorObject distance player < 4 && speed cursorObject < 1) then {
  180.             if((animationState cursorObject) != "Incapacitated" && (currentWeapon player == primaryWeapon player OR currentWeapon player == handgunWeapon player) && currentWeapon player != "" && !life_knockout && !(player GVAR ["restrained",false]) && !life_istazed && !life_isknocked) then {
  181.                
  182.                 [getPlayerUID player, 8, format ["Hat %1 (%2) niedergeschlagen @ %3", name _cursorObject, getPlayerUID _cursorObject, mapGridPosition player ]] remoteExec ["hc_fnc_log", HC_Life];
  183.                 [getPlayerUID _cursorObject, 8, format ["Wurde von %1 (%2) niedergeschlagen @ %3", profileName, getPlayerUID player, mapGridPosition player ]] remoteExec ["hc_fnc_log", HC_Life]; 
  184.            
  185.                 [cursorObject] spawn life_fnc_knockoutAction;
  186.             };
  187.         };
  188.     };
  189.  
  190.     //T Key (Trunk)
  191.     case 20: {
  192.         if(!_alt && !_ctrlKey && !dialog && {!life_action_inUse}) then {
  193.             if(vehicle player != player && alive vehicle player) then {
  194.                 if((vehicle player) in life_vehicles) then {
  195.                     [vehicle player] spawn life_fnc_openInventory;
  196.                 };
  197.             } else {
  198.                 private ["_list"];
  199.                 _list = [getPosATL player, ["Box_IND_Grenades_F","B_supplyCrate_F"], 2.5] call life_fnc_nearestObjects;
  200.                 if (count _list > 0) then {
  201.                     _list = _list select 0;
  202.                     [_list] spawn life_fnc_openInventory;
  203.                 } else {
  204.                     _list = ["landVehicle","Air","Ship"];
  205.                     if(KINDOF_ARRAY(cursorObject,_list) && {player distance cursorObject < 7} && {vehicle player == player} && {alive cursorObject} && {!life_action_inUse}) then {
  206.                         if(cursorObject in life_vehicles) then {
  207.                             [cursorObject] spawn life_fnc_openInventory;
  208.                         };
  209.                     };
  210.                 };
  211.             };
  212.         };
  213.        
  214.         if(_shift) then {
  215.             if(player GVAR ["playerSurrender",false]) then {
  216.                 player SVAR ["playerSurrender",false,true];
  217.             } else {
  218.                 [] spawn life_fnc_surrender;
  219.             };
  220.             _handled = true;
  221.         };
  222.     };
  223.  
  224.     /*
  225.     // AltGr
  226.     case 184: {
  227.         if (life_adminlevel == 0) exitWith{};
  228.         private ["_altgrcurTarget"];
  229.         _altgrcurTarget = cursorObject;
  230.         if(_altgrcurTarget isKindOf "Man" && {!alive _altgrcurTarget} && !(_altgrcurTarget GVAR["Revive",false]) && {playerSide in [west,independent]}) exitWith {
  231.             [_curTarget] call life_fnc_revivePlayer;
  232.         };
  233.     };
  234.     */
  235.    
  236.     //L Key?
  237.     case 38: {
  238.         if (_shift) then {
  239.             if(!isNil {vehicle player getVariable "lights"} && vehicle player != player) then {
  240.                 if (!(vehicle player getVariable "lights")) then {
  241.                     [vehicle player, player] spawn life_fnc_emergencyLights;
  242.                 } else {
  243.                     vehicle player setVariable ["lights", false, true];
  244.                 };
  245.             };
  246.         };
  247.         if(!_alt && !_ctrlKey) then { [] call life_fnc_radar; };
  248.     };
  249.    
  250.     //Y Player Menu
  251.     case 21: {
  252.         if(!_alt && !_ctrlKey && !dialog && !(player GVAR ["restrained",false]) && {!life_action_inUse}) then {
  253.             if(!_shift) then {
  254.                 [] call life_fnc_p_openMenu;
  255.             };
  256.         };
  257.         [player, uniform player] call life_fnc_equipGear;
  258.     };
  259.  
  260.     //F Key
  261.     case 33: {
  262.         if(playerSide in [west,independent] && {vehicle player != player} && {!life_siren_active} && {((driver vehicle player) == player)}) then {
  263.             [] spawn {
  264.                 life_siren_active = true;
  265.                 sleep 9.1;
  266.                 life_siren_active = false;
  267.             };
  268.  
  269.             _veh = vehicle player;
  270.             if(isNil {_veh GVAR "siren"}) then {_veh SVAR ["siren",false,true];};
  271.             if((_veh GVAR "siren")) then {
  272.                 titleText [ "Sirene AUS","PLAIN"];
  273.                 _veh SVAR ["siren",false,true];
  274.             } else {
  275.                 titleText [ "Sirene AN","PLAIN"];
  276.                 _veh SVAR ["siren",true,true];
  277.                 if(playerSide == west) then {
  278.                     [_veh] remoteExec ["life_fnc_copSiren",-2];
  279.                 } else {
  280.                     [_veh] remoteExec ["life_fnc_medicSiren",-2];
  281.                 };
  282.             };
  283.         };
  284.     };
  285.  
  286.     //O Key
  287.     case 24: {
  288.         if (_shift) then {
  289.             [] call life_fnc_ohrstopsel;
  290.             _handled = true;
  291.         };
  292.         if (!_shift && !_alt && !_ctrlKey && playerSide in [west,independent] && (vehicle player != player)) then {
  293.             [] call life_fnc_copOpener;
  294.         };
  295.         if (!_shift && !_alt && !_ctrlKey && (life_adminlevel != 0) && (vehicle player != player)) then {
  296.             [] call life_fnc_copOpener;
  297.         };
  298.     };
  299.  
  300.     //U Key
  301.     case 22: {
  302.         if(!_alt && !_ctrlKey) then {
  303.             if(vehicle player == player) then {
  304.                 _veh = cursorObject;
  305.             } else {
  306.                 _veh = vehicle player;
  307.             };
  308.  
  309.             if(_veh isKindOf "House_F" && {playerSide == civilian}) then {
  310.                 if(_veh in life_vehicles && player distance _veh < 18) then {
  311.                     _door = [_veh] call life_fnc_nearestDoor;
  312.                     if(EQUAL(_door,0)) exitWith {hint  "Keine Tür in der Nähe!"};
  313.                     _locked = _veh GVAR [format["bis_disabled_Door_%1",_door],0];
  314.  
  315.                     if(EQUAL(_locked,0)) then {
  316.                         _veh SVAR [format["bis_disabled_Door_%1",_door],1,true];
  317.                         _veh animate [format["door_%1_rot",_door],0];
  318.                         systemChat  "Du hast die Tür abgeschlossen.";
  319.                     } else {
  320.                         _veh SVAR [format["bis_disabled_Door_%1",_door],0,true];
  321.                         _veh animate [format["door_%1_rot",_door],1];
  322.                         systemChat  "Du hast die Tür aufgeschlossen.";
  323.                     };
  324.                 };
  325.             } else {
  326.                 _locked = locked _veh;
  327.                 if(_veh in life_vehicles && player distance _veh < 18) then {
  328.                     if(EQUAL(_locked,2)) then {
  329.                         if(local _veh) then {
  330.                             _veh lock 0;
  331.  
  332.                             // BI
  333.                             _veh animateDoor ["door_back_R",1];
  334.                             _veh animateDoor ["door_back_L",1];
  335.                             _veh animateDoor ['door_R',1];
  336.                             _veh animateDoor ['door_L',1];
  337.                             _veh animateDoor ['Door_L_source',1];
  338.                             _veh animateDoor ['Door_rear',1];
  339.                             _veh animateDoor ['Door_rear_source',1];
  340.                             _veh animateDoor ['Door_1_source',1];
  341.                             _veh animateDoor ['Door_2_source',1];
  342.                             _veh animateDoor ['Door_3_source',1];
  343.                             _veh animateDoor ['Door_LM',1];
  344.                             _veh animateDoor ['Door_RM',1];
  345.                             _veh animateDoor ['Door_LF',1];
  346.                             _veh animateDoor ['Door_RF',1];
  347.                             _veh animateDoor ['Door_LB',1];
  348.                             _veh animateDoor ['Door_RB',1];
  349.                             _veh animateDoor ['DoorL_Front_Open',1];
  350.                             _veh animateDoor ['DoorR_Front_Open',1];
  351.                             _veh animateDoor ['DoorL_Back_Open',1];
  352.                             _veh animateDoor ['DoorR_Back_Open ',1];
  353.                         } else {
  354.                             [_veh,0] remoteExecCall ["life_fnc_lockVehicle",_veh];
  355.  
  356.                             _veh animateDoor ["door_back_R",1];
  357.                             _veh animateDoor ["door_back_L",1];
  358.                             _veh animateDoor ['door_R',1];
  359.                             _veh animateDoor ['door_L',1];
  360.                             _veh animateDoor ['Door_L_source',1];
  361.                             _veh animateDoor ['Door_rear',1];
  362.                             _veh animateDoor ['Door_rear_source',1];
  363.                             _veh animateDoor ['Door_1_source',1];
  364.                             _veh animateDoor ['Door_2_source',1];
  365.                             _veh animateDoor ['Door_3_source',1];
  366.                             _veh animateDoor ['Door_LM',1];
  367.                             _veh animateDoor ['Door_RM',1];
  368.                             _veh animateDoor ['Door_LF',1];
  369.                             _veh animateDoor ['Door_RF',1];
  370.                             _veh animateDoor ['Door_LB',1];
  371.                             _veh animateDoor ['Door_RB',1];
  372.                             _veh animateDoor ['DoorL_Front_Open',1];
  373.                             _veh animateDoor ['DoorR_Front_Open',1];
  374.                             _veh animateDoor ['DoorL_Back_Open',1];
  375.                             _veh animateDoor ['DoorR_Back_Open ',1];
  376.                         };
  377.                         hint composeText [ image "MINEFACTORY\BILDER\icons\unlock.paa", " Fahrzeug aufgeschlossen" ];
  378.                         player say3D "car_unlock";
  379.                     } else {
  380.                         if(local _veh) then {
  381.                             _veh lock 2;
  382.  
  383.                             _veh animateDoor ["door_back_R",0];
  384.                             _veh animateDoor ["door_back_L",0];
  385.                             _veh animateDoor ['door_R',0];
  386.                             _veh animateDoor ['door_L',0];
  387.                             _veh animateDoor ['Door_L_source',0];
  388.                             _veh animateDoor ['Door_rear',0];
  389.                             _veh animateDoor ['Door_rear_source',0];
  390.                             _veh animateDoor ['Door_1_source',0];
  391.                             _veh animateDoor ['Door_2_source',0];
  392.                             _veh animateDoor ['Door_3_source',0];
  393.                             _veh animateDoor ['Door_LM',0];
  394.                             _veh animateDoor ['Door_RM',0];
  395.                             _veh animateDoor ['Door_LF',0];
  396.                             _veh animateDoor ['Door_RF',0];
  397.                             _veh animateDoor ['Door_LB',0];
  398.                             _veh animateDoor ['Door_RB',0];
  399.                             _veh animateDoor ['DoorL_Front_Open',0];
  400.                             _veh animateDoor ['DoorR_Front_Open',0];
  401.                             _veh animateDoor ['DoorL_Back_Open',0];
  402.                             _veh animateDoor ['DoorR_Back_Open ',0];
  403.                         } else {
  404.                             [_veh,2] remoteExecCall ["life_fnc_lockVehicle",_veh];
  405.  
  406.                             _veh animateDoor ["door_back_R",0];
  407.                             _veh animateDoor ["door_back_L",0];
  408.                             _veh animateDoor ['door_R',0];
  409.                             _veh animateDoor ['door_L',0];
  410.                             _veh animateDoor ['Door_L_source',0];
  411.                             _veh animateDoor ['Door_rear',0];
  412.                             _veh animateDoor ['Door_rear_source',0];
  413.                             _veh animateDoor ['Door_1_source',0];
  414.                             _veh animateDoor ['Door_2_source',0];
  415.                             _veh animateDoor ['Door_3_source',0];
  416.                             _veh animateDoor ['Door_LM',0];
  417.                             _veh animateDoor ['Door_RM',0];
  418.                             _veh animateDoor ['Door_LF',0];
  419.                             _veh animateDoor ['Door_RF',0];
  420.                             _veh animateDoor ['Door_LB',0];
  421.                             _veh animateDoor ['Door_RB',0];
  422.                             _veh animateDoor ['DoorL_Front_Open',0];
  423.                             _veh animateDoor ['DoorR_Front_Open',0];
  424.                             _veh animateDoor ['DoorL_Back_Open',0];
  425.                             _veh animateDoor ['DoorR_Back_Open ',0];
  426.                         };
  427.                         hint composeText [ image "MINEFACTORY\BILDER\icons\lock.paa", " Fahrzeug abgeschlossen" ];
  428.                         player say3D "car_lock";
  429.                     };
  430.                 };
  431.             };
  432.         };
  433.     };
  434.    
  435.     case 67:
  436.     {
  437.         [] spawn life_fnc_placeablesPlaceComplete;
  438.     };
  439.    
  440.     case _speakKey:
  441.     {
  442.         if (getPlayerChannel player in [0,1,7,9]) then {
  443.             setCurrentChannel 5;
  444.             hint "Bitte nicht im SideChat Reden!";
  445.         };
  446.     };
  447.    
  448.     //nicken (Shift + Num 5)
  449.     case 76:
  450.     {
  451.         if(_shift) then {_handled = true;};
  452.             if ((_shift) && (vehicle player == player)) then
  453.             {
  454.                 player playActionNow "gesturenod";
  455.             };
  456.     };
  457.  
  458.    
  459.         //nicken (Shift + Num 6)
  460.     case 77:
  461.     {
  462.         if(_shift) then {_handled = true;};
  463.             if ((_shift) && (vehicle player == player)) then
  464.             {  
  465.                 player playActionNow "GestureHiB";
  466.             };
  467.     };
  468.  
  469.    
  470.    
  471.     //Takwondo(Traditional Martial arts in korea)(Shift + Num 1)
  472.     case 79:
  473.     {
  474.         if(_shift) then {_handled = true;};
  475.             if ((_shift) && (vehicle player == player)) then
  476.             {
  477.                 cutText [format["Takwondo!!!"], "PLAIN DOWN"];
  478.                 player playMove "AmovPercMstpSnonWnonDnon_exerciseKata";
  479.             };
  480.     };
  481.  
  482.     //Kneebend Slow(Shift + Num 2)
  483.     case 80:
  484.     {
  485.         if(_shift) then {_handled = true;};
  486.             if ((_shift) && (vehicle player == player)) then
  487.             {
  488.                 cutText [format["KneeBend Slow baby~"], "PLAIN DOWN"];
  489.                 player playMove "AmovPercMstpSnonWnonDnon_exercisekneeBendA";
  490.             };
  491.     };
  492.  
  493.     //Kneebend Fast(Shift + Num 3)
  494.     case 81:
  495.     {
  496.         if(_shift) then {_handled = true;};
  497.             if ((_shift) && (vehicle player == player)) then
  498.             {
  499.                 cutText [format["KneeBend more Hard!!!Move!!Move!!"], "PLAIN DOWN"];
  500.                 player playMove "AmovPercMstpSnonWnonDnon_exercisekneeBendB";
  501.             };
  502.     };
  503.  
  504.     //tabulator
  505.     case 15 : {
  506.         _restrained = player getVariable ["restrained", false];
  507.         if(!_restrained) then {
  508.             player playActionNow "gestureHi";
  509.         };        
  510.     };
  511.  
  512.     //Pushup(Shift + Num 4)
  513.     case 75:
  514.     {
  515.         if(_shift) then {_handled = true;};
  516.             if ((_shift) && (vehicle player == player)) then
  517.             {
  518.                 cutText [format["Pushup!!!!!!"], "PLAIN DOWN"];
  519.                 player playMove "AmovPercMstpSnonWnonDnon_exercisePushup";
  520.             };
  521.     };
  522.    
  523.    
  524.  
  525.  
  526.     //4
  527.     case 5:
  528.     {
  529.         [] spawn life_fnc_pickAxeUse;
  530.     };
  531.  
  532.     //5 Nitro AMK
  533.     case 6:
  534.     {
  535.         [] spawn life_fnc_activateNitro;
  536.     };
  537.    
  538.     case 7:
  539.     {
  540.         if(playerSide in [west,independent] && vehicle player != player && ((driver vehicle player) == player)) then {
  541.        
  542.             [player,"Yelp"] call life_fnc_globalSound;
  543.        
  544.         } else {
  545.             systemChat "Du bist kein Cop oder in keinem Fahrzeug.";
  546.         };
  547.     };
  548.    
  549.     case 8:
  550.     {
  551.         if(playerSide in [west,independent] && vehicle player != player && ((driver vehicle player) == player)) then {
  552.        
  553.             [player,"Fahren_sie_rechts_ran"] call life_fnc_globalSound;
  554.        
  555.         } else {
  556.             systemChat "Du bist kein Cop oder in keinem Fahrzeug.";
  557.         };
  558.     };
  559.    
  560.     case 9:
  561.     {
  562.         if(playerSide in [west,independent] && vehicle player != player && ((driver vehicle player) == player)) then {
  563.        
  564.             [player,"Runter_auf_den_Boden"] call life_fnc_globalSound;
  565.        
  566.         } else {
  567.             systemChat "Du bist kein Cop oder in keinem Fahrzeug.";
  568.         };
  569.     };
  570.    
  571.     case 10:
  572.     {
  573.         if(playerSide in [west,independent] && vehicle player != player && ((driver vehicle player) == player)) then {
  574.        
  575.             [player,"Speerzone"] call life_fnc_globalSound;
  576.        
  577.         } else {
  578.             systemChat "Du bist kein Cop oder in keinem Fahrzeug.";
  579.         };
  580.     };
  581.    
  582.     case 62:
  583.     {
  584.         if (_alt) then {
  585.             diag_log format ["SERVER_INFO | %1 (%2) verwendete ALT+F4",_player getVariable["realname",name _player],getPlayerUID _player];
  586.             [0,format["%1 verwendet ALT+F4",_player getVariable["realname",name _player]]] remoteExec ["life_fnc_broadcast",-2];
  587.  
  588.             if(player getVariable "restrained") then {
  589.                 [1,format[":: SERVER INFO :: %1 verwendet ALT+F4 während er gefesselt ist - !COMBAT_LOG! (Screenshot machen und dem Support melden)",_player getVariable["realname",name _player]]]remoteExec ["life_fnc_broadcast",-2];
  590.             };
  591.             [] call SOCK_fnc_updateRequest;
  592.         };
  593.     };
  594.    
  595. };
  596.  
  597. _handled;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement