1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Downloads
  4. Galerie
    1. Alben
  5. Toolbox
    1. Passwort Generator
    2. Portchecker
  6. Mitglieder
    1. Mitgliedersuche
    2. Benutzer online
    3. Trophäen
    4. Team
Di: 20 Mai 2025
  • Anmelden oder registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Forum
  • Dateien
  • Seiten
  • Bilder
  • Erweiterte Suche

Schön, dass du den Weg zu NodeZone.net gefunden hast! Aktuell bist du nicht angemeldet und kannst deshalb nur eingeschränkt auf unsere Community zugreifen. Um alle Funktionen freizuschalten, spannende Inhalte zu entdecken und dich aktiv einzubringen, registriere dich jetzt kostenlos oder melde dich mit deinem Account an.

Anmelden oder registrieren
    1. Nodezone.net Community
    2. Forum
    3. Gameserver & Hosting
    4. ArmA Series - ArmA 3 / Reforger
    5. Tutorials & Releases

    [Tutorial] Handschellen für Cops

      • Altis Life
    • Noldy
    • 9. August 2015 um 05:44
    • Noldy
      Amateur
      Reaktionen
      100
      Trophäen
      11
      Beiträge
      166
      • 9. August 2015 um 05:44
      • #1

      Hallo,

      Mit diesem Tutorial, müsst ihr als Cop zuerst Handschellen kaufen um jemmanden festzunehmen. Habt ihr keine Handschellen könnt ihr niemand festnehmen.

      1. Öffnet eure core/configuration.sqf und fügt folgendes unter life_inv_items = ein:

      Code
      "life_inv_handschellen"


      (Achtet aud das Komma, da sletzte darf keines haben. Fügt also das ganz unten ein bei life_inv_items = und gebt dem obendrüber ein ","
      und bei buy_array = des eintragen:

      Code
      ["handschellen",100]

      2. Öffnet eure core/config/fn_itemWeight.sqf und fügt folgendes hinzu:

      Code
      case "handschellen": {1};

      3. Öffnet eure core/config/fn_varHandle.sqf und fügt folgendes hinzu:
      case 0:

      Code
      case "handschellen": {"life_inv_handschellen"};


      bei case 1:

      Code
      case "life_inv_handschellen": {"handschellen"};

      4. Öffnet eure core/config/fn_varToStr.sqf und fügt folgendes hinzu unter //Virtual Inventory Items:

      Code
      case "life_inv_handschellen": {"Handschellen"};

      5. Öffnet eure core/config/fn_virt_shops.sqf und fügt folgendes bei case "cop": hinzu:

      Code
      "handschellen"


      Achtet hierbei, das ihr das Item richtig einfügt. Dies müsste in etwa so aussehen:

      Code
      case "cop": {["Polizei Shop",["donuts","coffee","handschellen","spikeStrip","fuelF","defusekit","laptop","speedtrap","barrier","cone"]]};

      6. Öffnet eure core/actions/fn_restrainAction.sqf und sucht nach if(side _unit == west) exitWith {}; löscht das, und fügt folgendes hinzu:

      Code
      if (side player == west) then 
          {
          if(life_inv_handschellen < 1) exitWith { hint "Du hast keine Handschellen"; };
          life_inv_handschellen = life_inv_handschellen - 1;
          };

      7. und letzter punkt. Öffnet eure core/functions/fn_keyHandler.sqf und sucht unter //Restraining (Shift + R) nach 
      if(_shift && playerSide == west && !isNull cursorTarget && cursorTarget isKindOf "Man" && (isPlayer cursorTarget) && (side cursorTarget in [civilian,independent]) && alive cursorTarget && cursorTarget distance player < 3.5 && !(cursorTarget getVariable "Escorting") && !(cursorTarget getVariable "restrained") && speed cursorTarget < 1) then
      und fügt folgendes darunter:

      Code
      {
              if([false,"handschellen",1] call life_fnc_handleInv) then
              {
          [] call life_fnc_restrainAction;
              }
              else
              {
              hint "Du hast keine Handschellen!";
              };
              };

      Das war es.
      Nun müsst ihr Zuerst in eurem Cop Shop Handschellen kaufen, damit ihr leute festnehmen könnt.

      Viel spaß damit.
      MfG
      Noldy

    • Werner Smith
      Schüler
      Reaktionen
      9
      Trophäen
      9
      Beiträge
      96
      • 2. Oktober 2016 um 18:04
      • #2

      Es ist doch möglich das ganze auf Zivilisten umzuschreiben also so benutzen wie Kabelbinder oder?

    • Kuchenplatte
      Erleuchteter
      Reaktionen
      1.013
      Beiträge
      3.387
      Dateien
      7
      Bilder
      10
      • 2. Oktober 2016 um 22:10
      • #3
      Zitat von Werner Smith

      Es ist doch möglich das ganze auf Zivilisten umzuschreiben also so benutzen wie Kabelbinder oder?

      Ja Schritt 5.

      Shadow|Eagle: "Frag mich eher why ich dich nicht noch irgendwas gegeben hab als Vorschlag xD"

      !Acryl-Exile Server!

      195.201.148.155:2302

      Kuchenplatte On GitHub

      https://github.com/Kuchenplatte

      Kuchenplattes Backstube

      Kuchenplattes Discord

      Kuchenplatte On Twitch
      Come On and Follow Me! On Twitch.TV

    • Werner Smith
      Schüler
      Reaktionen
      9
      Trophäen
      9
      Beiträge
      96
      • 8. Oktober 2016 um 19:36
      • #4

      Guten Tag,

      was für dateien sind 3. und 4. bei der 4.4r3

    • blackfisch
      Legende
      Reaktionen
      2.944
      Trophäen
      9
      Beiträge
      5.966
      Dateien
      6
      Bilder
      63
      • 8. Oktober 2016 um 19:36
      • #5

      Config_vItems.hpp

      #MakeArmaNotWar

      Kein Support via PN & Steam! / No Support via DM & Steam!


      Mit freundlichen Grüßen
      blackfisch
      ______________________

      Web: blackfisch.me

      GitHub: GitHub.com/blackfisch

      Mail: [email protected]

      ______________________
      Wichtige Links:
      [Erklärung|Leitfaden] Code Optimierung

      [Tutorial] life_fnc_MP zu remoteExec

      Ohne Logs & entsprechende Dateien kein Support!

      ______________________

    • AmaZiinG
      Profi
      Reaktionen
      496
      Beiträge
      798
      Dateien
      4
      Bilder
      46
      • 8. Oktober 2016 um 19:36
      • #6

      Config_vItems.hpp

      Mein Discord:
      https://discord.gg/4UMWmpfDet

    • Kuchenplatte
      Erleuchteter
      Reaktionen
      1.013
      Beiträge
      3.387
      Dateien
      7
      Bilder
      10
      • 8. Oktober 2016 um 21:02
      • #7

      Config_vitems.hpp

      Shadow|Eagle: "Frag mich eher why ich dich nicht noch irgendwas gegeben hab als Vorschlag xD"

      !Acryl-Exile Server!

      195.201.148.155:2302

      Kuchenplatte On GitHub

      https://github.com/Kuchenplatte

      Kuchenplattes Backstube

      Kuchenplattes Discord

      Kuchenplatte On Twitch
      Come On and Follow Me! On Twitch.TV

    • nflug
      Nerd
      Reaktionen
      225
      Trophäen
      9
      Beiträge
      781
      • 9. Oktober 2016 um 11:28
      • #8

      Config_vItems.hpp

      #MAKE_ARMA_NOT_WAR

      ⥴ Scripts made with love

      Why do programmers work in dark rooms?

      Because light attracts bugs...

    • Werner Smith
      Schüler
      Reaktionen
      9
      Trophäen
      9
      Beiträge
      96
      • 9. Oktober 2016 um 11:34
      • #9

      Danke :)

      Ich habe das nun eingefügt ich kann nun nur nicht mehr springen und z drücken kann leider die Dateinen grad nicht anhängen bin mobil unterwegs.

      Hat vllt jemand eine Idee müsste eig. Am KeyHandler liegen oder?

    • Kuchenplatte
      Erleuchteter
      Reaktionen
      1.013
      Beiträge
      3.387
      Dateien
      7
      Bilder
      10
      • 9. Oktober 2016 um 11:58
      • #10

      Poste nachher mal deine keyhandler einfach :)

      Shadow|Eagle: "Frag mich eher why ich dich nicht noch irgendwas gegeben hab als Vorschlag xD"

      !Acryl-Exile Server!

      195.201.148.155:2302

      Kuchenplatte On GitHub

      https://github.com/Kuchenplatte

      Kuchenplattes Backstube

      Kuchenplattes Discord

      Kuchenplatte On Twitch
      Come On and Follow Me! On Twitch.TV

    • Werner Smith
      Schüler
      Reaktionen
      9
      Trophäen
      9
      Beiträge
      96
      • 10. Oktober 2016 um 15:24
      • #11

      Erwas später aber hier der KeyHandler

      Spoiler anzeigen

      #include "..\..\script_macros.hpp"
      /*
      * File: fn_keyHandler.sqf
      * Author: Bryan "Tonic" Boardwine
      *
      * Description:
      * Main key handler for event 'keyDown'
      */
      private ["_handled","_shift","_alt","_code","_ctrl","_alt","_ctrlKey","_veh","_locked","_interactionKey","_mapKey","_interruptionKeys"];
      _ctrl = _this select 0;
      _code = _this select 1;
      _shift = _this select 2;
      _ctrlKey = _this select 3;
      _alt = _this select 4;
      _speed = speed cursorObject;
      _handled = false;

      _interactionKey = if (count (actionKeys "User10") isEqualTo 0) then {219} else {(actionKeys "User10") select 0};
      _mapKey = (actionKeys "ShowMap" select 0);
      //hint str _code;
      _interruptionKeys = [17,30,31,32]; //A,S,W,D

      //Vault handling...
      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 getVariable ["restrained",false]) || (player getVariable ["playerSurrender",false]) || life_isknocked || life_istazed)) exitWith {
      true;
      };

      if (life_action_inUse) exitWith {
      if (!life_interrupted && _code in _interruptionKeys) then {life_interrupted = true;};
      _handled;
      };

      //Hotfix for Interaction key not being able to be bound on some operation systems.
      if (!(count (actionKeys "User10") isEqualTo 0) && {(inputAction "User10" > 0)}) exitWith {
      //Interaction key (default is Left Windows, can be mapped via Controls -> Custom -> User Action 10)
      if (!life_action_inUse) then {
      [] spawn {
      private "_handle";
      _handle = [] spawn life_fnc_actionKeyHandler;
      waitUntil {scriptDone _handle};
      life_action_inUse = false;
      };
      };
      true;
      };

      if (life_container_active) then {
      switch (_code) do {
      //space key
      case 57: {
      [] spawn life_fnc_placestorage;
      };
      };
      true;
      };
      case 207:
      {
      switch (player getVariable["Earplugs",0]) do {
      case 0: {hint composeText [ image "icons\sound.paa"," 90% Leiser"]; 1 fadeSound 0.1; player setVariable ["Earplugs", 10]; };
      case 10: {hint composeText [ image "icons\sound.paa"," 60% Leiser"]; 1 fadeSound 0.4; player setVariable ["Earplugs", 40]; };
      case 40: {hint composeText [ image "icons\sound.paa"," 30% Leiser"]; 1 fadeSound 0.7; player setVariable ["Earplugs", 70]; };
      case 70: {hint composeText [ image "icons\sound_new.paa"," Normaler Sound"]; 1 fadeSound 1; player setVariable ["Earplugs", 0]; };
      };
      };

      switch (_code) do {
      //Space key for Jumping
      case 57: {
      if (!_shift && life_barrier_active) then {
      0 spawn life_fnc_placeablesPlaceComplete;
      };
      if (isNil "jumpActionTime") then {jumpActionTime = 0;};
      if (_shift && {!(animationState player isEqualTo "AovrPercMrunSrasWrflDf")} && {isTouchingGround player} && {stance player isEqualTo "STAND"} && {speed player > 2} && {!life_is_arrested} && {((velocity player) select 2) < 2.5} && {time - jumpActionTime > 1.5}) then {
      if (life_barrier_active) then { [true] call life_fnc_placeableCancel; };
      jumpActionTime = time; //Update the time.
      [player] remoteExec ["life_fnc_jumpFnc",RANY]; //Global execution
      _handled = true;
      };
      };


      //Surrender (Shift + B)
      case 48: {
      if (_shift) then {
      if (player getVariable ["playerSurrender",false]) then {
      player setVariable ["playerSurrender",false,true];
      } else {
      [] spawn life_fnc_surrender;
      };
      _handled = true;
      };
      };

      //Map Key
      case _mapKey: {
      switch (playerSide) do {
      case west: {if (!visibleMap) then {[] spawn life_fnc_copMarkers;}};
      case independent: {if (!visibleMap) then {[] spawn life_fnc_medicMarkers;}};
      case civilian: {if (!visibleMap) then {[] spawn life_fnc_civMarkers;}};
      };
      };

      //Holster / recall weapon. (Shift + H)
      case 35: {
      if (_shift && !_ctrlKey && !(currentWeapon player isEqualTo "")) then {
      life_curWep_h = currentWeapon player;
      player action ["SwitchWeapon", player, player, 100];
      player switchCamera cameraView;
      };

      if (!_shift && _ctrlKey && !isNil "life_curWep_h" && {!(life_curWep_h isEqualTo "")}) then {
      if (life_curWep_h in [primaryWeapon player,secondaryWeapon player,handgunWeapon player]) then {
      player selectWeapon life_curWep_h;
      };
      };
      };

      //Interaction key (default is Left Windows, can be mapped via Controls -> Custom -> User Action 10)
      case _interactionKey: {
      if (!life_action_inUse) then {
      [] spawn {
      private "_handle";
      _handle = [] spawn life_fnc_actionKeyHandler;
      waitUntil {scriptDone _handle};
      life_action_inUse = false;
      };
      };
      };

      //Restraining (Shift + R)
      case 19: {
      if (_shift) then {_handled = true;};
      if (_shift && playerSide isEqualTo west && {!isNull cursorObject} && {cursorObject isKindOf "Man"} && {(isPlayer cursorObject)} && {(side cursorObject in [civilian,independent])} && {alive cursorObject} && {cursorObject distance player < 3.5} && {!(cursorObject getVariable "Escorting")} && {!(cursorObject getVariable "restrained")} && {speed cursorObject < 1}) then {
      {
      if([false,"handschellen",1] call life_fnc_handleInv) then
      {
      [] call life_fnc_restrainAction;
      }
      else
      {
      hint "Du hast keine Handschellen!";
      [] call life_fnc_restrainAction;
      };
      };

      //Knock out, this is experimental and yeah... (Shift + G)
      case 34: {
      if (_shift) then {_handled = true;};
      if (_shift && playerSide isEqualTo civilian && !isNull cursorObject && cursorObject isKindOf "Man" && isPlayer cursorObject && alive cursorObject && cursorObject distance player < 4 && speed cursorObject < 1) then {
      if ((animationState cursorObject) != "Incapacitated" && (currentWeapon player == primaryWeapon player || currentWeapon player == handgunWeapon player) && currentWeapon player != "" && !life_knockout && !(player getVariable ["restrained",false]) && !life_istazed && !life_isknocked) then {
      [cursorObject] spawn life_fnc_knockoutAction;
      };
      };
      };

      //T Key (Trunk)
      case 20: {
      if (!_alt && !_ctrlKey && !dialog && {!life_action_inUse}) then {
      if (vehicle player != player && alive vehicle player) then {
      if ((vehicle player) in life_vehicles) then {
      [vehicle player] spawn life_fnc_openInventory;
      };
      } else {
      private "_list";
      _list = ((ASLtoATL (getPosASL player)) nearEntities [["Box_IND_Grenades_F","B_supplyCrate_F"], 2.5]) select 0;
      if (!(isNil "_list")) then {
      _house = nearestObject [(ASLtoATL (getPosASL _list)), "House"];
      if (_house getVariable ["locked", false]) then {
      hint localize "STR_House_ContainerDeny";
      } else {
      [_list] spawn life_fnc_openInventory;
      };
      } else {
      _list = ["landVehicle","Air","Ship"];
      if (KINDOF_ARRAY(cursorObject,_list) && {player distance cursorObject < 7} && {isNull objectParent player} && {alive cursorObject} && {!life_action_inUse}) then {
      if (cursorObject in life_vehicles) then {
      [cursorObject] spawn life_fnc_openInventory;
      };
      };
      };
      };
      };
      };
      //Ö-Key
      case 39: {
      if ((isNull(findDisplay 20000)) && (playerSide in ([west,independent]))) then {
      0 spawn life_fnc_placeablesMenu;
      _handled = true;
      };
      _handled = true;
      };

      //ENTF-Key
      case 211: {
      if ((playerSide in [west,independent]) && ((typeOf cursorTarget) in life_definePlaceables)) then {
      deleteVehicle cursorTarget;
      hintSilent "Die Absperrung wurde entfernt";
      };
      };

      //L Key?
      case 38: {
      //If cop run checks for turning lights on.
      if (_shift && playerSide in [west,independent]) then {
      if (vehicle player != player && (typeOf vehicle player) in ["C_Offroad_01_F","B_MRAP_01_F","C_SUV_01_F","C_Hatchback_01_sport_F","B_Heli_Light_01_F","B_Heli_Transport_01_F"]) then {
      if (!isNil {vehicle player getVariable "lights"}) then {
      if (playerSide isEqualTo west) then {
      [vehicle player] call life_fnc_sirenLights;
      } else {
      [vehicle player] call life_fnc_medicSirenLights;
      };
      _handled = true;
      };
      };
      };

      if (!_alt && !_ctrlKey) then { [] call life_fnc_radar; };
      };

      //Y Player Menu
      case 21: {
      if (!_alt && !_ctrlKey && !dialog && !(player getVariable ["restrained",false]) && {!life_action_inUse}) then {
      if (!_shift) then {
      [] call life_fnc_p_openMenu;
      } else {
      [] call life_fnc_altisPhone;
      };
      };
      };

      //F Key
      case 33: {
      if (playerSide in [west,independent] && {vehicle player != player} && {!life_siren_active} && {((driver vehicle player) == player)}) then {
      [] spawn {
      life_siren_active = true;
      sleep 4.7;
      life_siren_active = false;
      };

      _veh = vehicle player;
      if (isNil {_veh getVariable "siren"}) then {_veh setVariable ["siren",false,true];};
      if ((_veh getVariable "siren")) then {
      titleText [localize "STR_MISC_SirensOFF","PLAIN"];
      _veh setVariable ["siren",false,true];
      } else {
      titleText [localize "STR_MISC_SirensON","PLAIN"];
      _veh setVariable ["siren",true,true];
      if (playerSide isEqualTo west) then {
      [_veh] remoteExec ["life_fnc_copSiren",RCLIENT];
      } else {
      [_veh] remoteExec ["life_fnc_medicSiren",RCLIENT];
      };
      };
      };
      };

      //O Key
      case 24: {
      if (_shift) then {
      if (soundVolume != 1) then {
      1 fadeSound 1;
      systemChat localize "STR_MISC_soundnormal";
      } else {
      1 fadeSound 0.1;
      systemChat localize "STR_MISC_soundfade";
      };
      };
      };

      //U Key
      case 22: {
      if (!_alt && !_ctrlKey) then {
      if (isNull objectParent player) then {
      _veh = cursorObject;
      } else {
      _veh = vehicle player;
      };

      if (_veh isKindOf "House_F" && {playerSide isEqualTo civilian}) then {
      if (_veh in life_vehicles && player distance _veh < 8) then {
      _door = [_veh] call life_fnc_nearestDoor;
      if (_door isEqualTo 0) exitWith {hint localize "STR_House_Door_NotNear"};
      _locked = _veh getVariable [format["bis_disabled_Door_%1",_door],0];

      if (_locked isEqualTo 0) then {
      _veh setVariable [format["bis_disabled_Door_%1",_door],1,true];
      _veh animate [format["door_%1_rot",_door],0];
      systemChat localize "STR_House_Door_Lock";
      } else {
      _veh setVariable [format["bis_disabled_Door_%1",_door],0,true];
      _veh animate [format["door_%1_rot",_door],1];
      systemChat localize "STR_House_Door_Unlock";
      };
      };
      } else {
      _locked = locked _veh;
      if (_veh in life_vehicles && player distance _veh < 8) then {
      if (_locked isEqualTo 2) then {
      if (local _veh) then {
      _veh lock 0;

      // BI
      _veh animateDoor ["door_back_R",1];
      _veh animateDoor ["door_back_L",1];
      _veh animateDoor ['door_R',1];
      _veh animateDoor ['door_L',1];
      _veh animateDoor ['Door_L_source',1];
      _veh animateDoor ['Door_rear',1];
      _veh animateDoor ['Door_rear_source',1];
      _veh animateDoor ['Door_1_source',1];
      _veh animateDoor ['Door_2_source',1];
      _veh animateDoor ['Door_3_source',1];
      _veh animateDoor ['Door_LM',1];
      _veh animateDoor ['Door_RM',1];
      _veh animateDoor ['Door_LF',1];
      _veh animateDoor ['Door_RF',1];
      _veh animateDoor ['Door_LB',1];
      _veh animateDoor ['Door_RB',1];
      _veh animateDoor ['DoorL_Front_Open',1];
      _veh animateDoor ['DoorR_Front_Open',1];
      _veh animateDoor ['DoorL_Back_Open',1];
      _veh animateDoor ['DoorR_Back_Open ',1];
      } else {
      [_veh,0] remoteExecCall ["life_fnc_lockVehicle",_veh];

      _veh animateDoor ["door_back_R",1];
      _veh animateDoor ["door_back_L",1];
      _veh animateDoor ['door_R',1];
      _veh animateDoor ['door_L',1];
      _veh animateDoor ['Door_L_source',1];
      _veh animateDoor ['Door_rear',1];
      _veh animateDoor ['Door_rear_source',1];
      _veh animateDoor ['Door_1_source',1];
      _veh animateDoor ['Door_2_source',1];
      _veh animateDoor ['Door_3_source',1];
      _veh animateDoor ['Door_LM',1];
      _veh animateDoor ['Door_RM',1];
      _veh animateDoor ['Door_LF',1];
      _veh animateDoor ['Door_RF',1];
      _veh animateDoor ['Door_LB',1];
      _veh animateDoor ['Door_RB',1];
      _veh animateDoor ['DoorL_Front_Open',1];
      _veh animateDoor ['DoorR_Front_Open',1];
      _veh animateDoor ['DoorL_Back_Open',1];
      _veh animateDoor ['DoorR_Back_Open ',1];
      };
      systemChat localize "STR_MISC_VehUnlock";
      [_veh,"UnlockCarSound"] remoteExec ["life_fnc_say3D",RANY];
      } else {
      if (local _veh) then {
      _veh lock 2;

      _veh animateDoor ["door_back_R",0];
      _veh animateDoor ["door_back_L",0];
      _veh animateDoor ['door_R',0];
      _veh animateDoor ['door_L',0];
      _veh animateDoor ['Door_L_source',0];
      _veh animateDoor ['Door_rear',0];
      _veh animateDoor ['Door_rear_source',0];
      _veh animateDoor ['Door_1_source',0];
      _veh animateDoor ['Door_2_source',0];
      _veh animateDoor ['Door_3_source',0];
      _veh animateDoor ['Door_LM',0];
      _veh animateDoor ['Door_RM',0];
      _veh animateDoor ['Door_LF',0];
      _veh animateDoor ['Door_RF',0];
      _veh animateDoor ['Door_LB',0];
      _veh animateDoor ['Door_RB',0];
      _veh animateDoor ['DoorL_Front_Open',0];
      _veh animateDoor ['DoorR_Front_Open',0];
      _veh animateDoor ['DoorL_Back_Open',0];
      _veh animateDoor ['DoorR_Back_Open ',0];
      } else {
      [_veh,2] remoteExecCall ["life_fnc_lockVehicle",_veh];

      _veh animateDoor ["door_back_R",0];
      _veh animateDoor ["door_back_L",0];
      _veh animateDoor ['door_R',0];
      _veh animateDoor ['door_L',0];
      _veh animateDoor ['Door_L_source',0];
      _veh animateDoor ['Door_rear',0];
      _veh animateDoor ['Door_rear_source',0];
      _veh animateDoor ['Door_1_source',0];
      _veh animateDoor ['Door_2_source',0];
      _veh animateDoor ['Door_3_source',0];
      _veh animateDoor ['Door_LM',0];
      _veh animateDoor ['Door_RM',0];
      _veh animateDoor ['Door_LF',0];
      _veh animateDoor ['Door_RF',0];
      _veh animateDoor ['Door_LB',0];
      _veh animateDoor ['Door_RB',0];
      _veh animateDoor ['DoorL_Front_Open',0];
      _veh animateDoor ['DoorR_Front_Open',0];
      _veh animateDoor ['DoorL_Back_Open',0];
      _veh animateDoor ['DoorR_Back_Open ',0];
      };
      systemChat localize "STR_MISC_VehLock";
      [_veh,"LockCarSound"] remoteExec ["life_fnc_say3D",RANY];
      };
      };
      };
      };
      };
      };

      _handled;

    • blackfisch
      Legende
      Reaktionen
      2.944
      Trophäen
      9
      Beiträge
      5.966
      Dateien
      6
      Bilder
      63
      • 10. Oktober 2016 um 18:10
      • #12

      nicht. als. Spoiler. Die Code-Tags gibt es nicht aus Spaß...

      #MakeArmaNotWar

      Kein Support via PN & Steam! / No Support via DM & Steam!


      Mit freundlichen Grüßen
      blackfisch
      ______________________

      Web: blackfisch.me

      GitHub: GitHub.com/blackfisch

      Mail: [email protected]

      ______________________
      Wichtige Links:
      [Erklärung|Leitfaden] Code Optimierung

      [Tutorial] life_fnc_MP zu remoteExec

      Ohne Logs & entsprechende Dateien kein Support!

      ______________________

    • Werner Smith
      Schüler
      Reaktionen
      9
      Trophäen
      9
      Beiträge
      96
      • 10. Oktober 2016 um 18:12
      • #13
      Code
      #include "..\..\script_macros.hpp"
      /*
      *    File: fn_keyHandler.sqf
      *    Author: Bryan "Tonic" Boardwine
      *
      *    Description:
      *    Main key handler for event 'keyDown'
      */
      private ["_handled","_shift","_alt","_code","_ctrl","_alt","_ctrlKey","_veh","_locked","_interactionKey","_mapKey","_interruptionKeys"];
      _ctrl = _this select 0;
      _code = _this select 1;
      _shift = _this select 2;
      _ctrlKey = _this select 3;
      _alt = _this select 4;
      _speed = speed cursorObject;
      _handled = false;
      
      
      
      
      _interactionKey = if (count (actionKeys "User10") isEqualTo 0) then {219} else {(actionKeys "User10") select 0};
      _mapKey = (actionKeys "ShowMap" select 0);
      //hint str _code;
      _interruptionKeys = [17,30,31,32]; //A,S,W,D
      
      
      
      
      //Vault handling...
      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 getVariable ["restrained",false]) || (player getVariable ["playerSurrender",false]) || life_isknocked || life_istazed)) exitWith {
          true;
      };
      
      
      
      
      if (life_action_inUse) exitWith {
          if (!life_interrupted && _code in _interruptionKeys) then {life_interrupted = true;};
          _handled;
      };
      
      
      
      
      //Hotfix for Interaction key not being able to be bound on some operation systems.
      if (!(count (actionKeys "User10") isEqualTo 0) && {(inputAction "User10" > 0)}) exitWith {
          //Interaction key (default is Left Windows, can be mapped via Controls -> Custom -> User Action 10)
          if (!life_action_inUse) then {
              [] spawn {
                  private "_handle";
                  _handle = [] spawn life_fnc_actionKeyHandler;
                  waitUntil {scriptDone _handle};
                  life_action_inUse = false;
              };
          };
          true;
      };
      
      
      
      
      if (life_container_active) then {
          switch (_code) do {
              //space key
              case 57: {
                  [] spawn life_fnc_placestorage;
              };
          };
          true;
      };
       case 207:
       {
       switch (player getVariable["Earplugs",0]) do {
       case 0: {hint composeText [ image "icons\sound.paa"," 90% Leiser"]; 1 fadeSound 0.1; player setVariable ["Earplugs", 10]; };
       case 10: {hint composeText [ image "icons\sound.paa"," 60% Leiser"]; 1 fadeSound 0.4; player setVariable ["Earplugs", 40]; };
       case 40: {hint composeText [ image "icons\sound.paa"," 30% Leiser"]; 1 fadeSound 0.7; player setVariable ["Earplugs", 70]; };
       case 70: {hint composeText [ image "icons\sound_new.paa"," Normaler Sound"]; 1 fadeSound 1; player setVariable ["Earplugs", 0]; };
       };
       };
      
      
      
      
      switch (_code) do {
              //Space key for Jumping
              case 57: {
              if (!_shift && life_barrier_active) then {
              0 spawn life_fnc_placeablesPlaceComplete;
              };
              if (isNil "jumpActionTime") then {jumpActionTime = 0;};
              if (_shift && {!(animationState player isEqualTo "AovrPercMrunSrasWrflDf")} && {isTouchingGround player} && {stance player isEqualTo "STAND"} && {speed player > 2} && {!life_is_arrested} && {((velocity player) select 2) < 2.5} && {time - jumpActionTime > 1.5}) then {
              if (life_barrier_active) then { [true] call life_fnc_placeableCancel; };
              jumpActionTime = time; //Update the time.
              [player] remoteExec ["life_fnc_jumpFnc",RANY]; //Global execution
              _handled = true;
          };
      };
      
      
      
      
      
      
      
          //Surrender (Shift + B)
          case 48: {
              if (_shift) then {
                  if (player getVariable ["playerSurrender",false]) then {
                      player setVariable ["playerSurrender",false,true];
                  } else {
                      [] spawn life_fnc_surrender;
                  };
                  _handled = true;
              };
          };
      
      
      
      
          //Map Key
          case _mapKey: {
              switch (playerSide) do {
                  case west: {if (!visibleMap) then {[] spawn life_fnc_copMarkers;}};
                  case independent: {if (!visibleMap) then {[] spawn life_fnc_medicMarkers;}};
                  case civilian: {if (!visibleMap) then {[] spawn life_fnc_civMarkers;}};
              };
          };
      
      
      
      
          //Holster / recall weapon. (Shift + H)
          case 35: {
              if (_shift && !_ctrlKey && !(currentWeapon player isEqualTo "")) then {
                  life_curWep_h = currentWeapon player;
                  player action ["SwitchWeapon", player, player, 100];
                  player switchCamera cameraView;
              };
      
      
      
      
              if (!_shift && _ctrlKey && !isNil "life_curWep_h" && {!(life_curWep_h isEqualTo "")}) then {
                  if (life_curWep_h in [primaryWeapon player,secondaryWeapon player,handgunWeapon player]) then {
                      player selectWeapon life_curWep_h;
                  };
              };
          };
      
      
      
      
          //Interaction key (default is Left Windows, can be mapped via Controls -> Custom -> User Action 10)
          case _interactionKey: {
              if (!life_action_inUse) then {
                  [] spawn  {
                      private "_handle";
                      _handle = [] spawn life_fnc_actionKeyHandler;
                      waitUntil {scriptDone _handle};
                      life_action_inUse = false;
                  };
              };
          };
      
      
      
      
          //Restraining (Shift + R)
          case 19: {
              if (_shift) then {_handled = true;};
              if (_shift && playerSide isEqualTo west && {!isNull cursorObject} && {cursorObject isKindOf "Man"} && {(isPlayer cursorObject)} && {(side cursorObject in [civilian,independent])} && {alive cursorObject} && {cursorObject distance player < 3.5} && {!(cursorObject getVariable "Escorting")} && {!(cursorObject getVariable "restrained")} && {speed cursorObject < 1}) then {
                 {
                 if([false,"handschellen",1] call life_fnc_handleInv) then
                 {
                 [] call life_fnc_restrainAction;
                 }
                 else
                 {
                 hint "Du hast keine Handschellen!";
      		   [] call life_fnc_restrainAction;
              };
          };
      
      
      
      
          //Knock out, this is experimental and yeah... (Shift + G)
          case 34: {
              if (_shift) then {_handled = true;};
              if (_shift && playerSide isEqualTo civilian && !isNull cursorObject && cursorObject isKindOf "Man" && isPlayer cursorObject && alive cursorObject && cursorObject distance player < 4 && speed cursorObject < 1) then {
                  if ((animationState cursorObject) != "Incapacitated" && (currentWeapon player == primaryWeapon player || currentWeapon player == handgunWeapon player) && currentWeapon player != "" && !life_knockout && !(player getVariable ["restrained",false]) && !life_istazed && !life_isknocked) then {
                      [cursorObject] spawn life_fnc_knockoutAction;
                  };
              };
          };
      
      
      
      
          //T Key (Trunk)
          case 20: {
              if (!_alt && !_ctrlKey && !dialog && {!life_action_inUse}) then {
                  if (vehicle player != player && alive vehicle player) then {
                      if ((vehicle player) in life_vehicles) then {
                          [vehicle player] spawn life_fnc_openInventory;
                      };
                  } else {
                      private "_list";
                      _list = ((ASLtoATL (getPosASL player)) nearEntities [["Box_IND_Grenades_F","B_supplyCrate_F"], 2.5]) select 0;
                      if (!(isNil "_list")) then {
                          _house = nearestObject [(ASLtoATL (getPosASL _list)), "House"];
                          if (_house getVariable ["locked", false]) then {
                              hint localize "STR_House_ContainerDeny";
                          } else {
                              [_list] spawn life_fnc_openInventory;
                          };
                      } else {
                          _list = ["landVehicle","Air","Ship"];
                          if (KINDOF_ARRAY(cursorObject,_list) && {player distance cursorObject < 7} && {isNull objectParent player} && {alive cursorObject} && {!life_action_inUse}) then {
                              if (cursorObject in life_vehicles) then {
                                  [cursorObject] spawn life_fnc_openInventory;
                              };
                          };
                      };
                  };
              };
          };
      
          //Ö-Key
          case 39: {
              if ((isNull(findDisplay 20000)) && (playerSide in ([west,independent]))) then {
              0 spawn life_fnc_placeablesMenu;
              _handled = true;
              };
              _handled = true;
              };
      
          //ENTF-Key
          case 211: {
              if ((playerSide in [west,independent]) && ((typeOf cursorTarget) in life_definePlaceables)) then {
              deleteVehicle cursorTarget;
              hintSilent "Die Absperrung wurde entfernt";
              };
          };
      
      
      
      
          //L Key?
          case 38: {
              //If cop run checks for turning lights on.
              if (_shift && playerSide in [west,independent]) then {
                  if (vehicle player != player && (typeOf vehicle player) in ["C_Offroad_01_F","B_MRAP_01_F","C_SUV_01_F","C_Hatchback_01_sport_F","B_Heli_Light_01_F","B_Heli_Transport_01_F"]) then {
                      if (!isNil {vehicle player getVariable "lights"}) then {
                          if (playerSide isEqualTo west) then {
                              [vehicle player] call life_fnc_sirenLights;
                          } else {
                              [vehicle player] call life_fnc_medicSirenLights;
                          };
                          _handled = true;
                      };
                  };
              };
      
      
      
      
              if (!_alt && !_ctrlKey) then { [] call life_fnc_radar; };
          };
      
      
      
      
          //Y Player Menu
          case 21: {
              if (!_alt && !_ctrlKey && !dialog && !(player getVariable ["restrained",false]) && {!life_action_inUse}) then {
                  if (!_shift) then {
                      [] call life_fnc_p_openMenu;
                  } else {
                      [] call life_fnc_altisPhone;
                  };
              };
          };
      
      
      
      
          //F Key
          case 33: {
              if (playerSide in [west,independent] && {vehicle player != player} && {!life_siren_active} && {((driver vehicle player) == player)}) then {
                  [] spawn {
                      life_siren_active = true;
                      sleep 4.7;
                      life_siren_active = false;
                  };
      
      
      
      
                  _veh = vehicle player;
                  if (isNil {_veh getVariable "siren"}) then {_veh setVariable ["siren",false,true];};
                  if ((_veh getVariable "siren")) then {
                      titleText [localize "STR_MISC_SirensOFF","PLAIN"];
                      _veh setVariable ["siren",false,true];
                  } else {
                      titleText [localize "STR_MISC_SirensON","PLAIN"];
                      _veh setVariable ["siren",true,true];
                      if (playerSide isEqualTo west) then {
                          [_veh] remoteExec ["life_fnc_copSiren",RCLIENT];
                      } else {
                          [_veh] remoteExec ["life_fnc_medicSiren",RCLIENT];
                      };
                  };
              };
          };
      
      
      
      
          //O Key
          case 24: {
              if (_shift) then {
                  if (soundVolume != 1) then {
                      1 fadeSound 1;
                      systemChat localize "STR_MISC_soundnormal";
                  } else {
                      1 fadeSound 0.1;
                      systemChat localize "STR_MISC_soundfade";
                  };
              };
          };
      
      
      
      
          //U Key
          case 22: {
              if (!_alt && !_ctrlKey) then {
                  if (isNull objectParent player) then {
                      _veh = cursorObject;
                  } else {
                      _veh = vehicle player;
                  };
      
      
      
      
                  if (_veh isKindOf "House_F" && {playerSide isEqualTo civilian}) then {
                      if (_veh in life_vehicles && player distance _veh < 8) then {
                          _door = [_veh] call life_fnc_nearestDoor;
                          if (_door isEqualTo 0) exitWith {hint localize "STR_House_Door_NotNear"};
                          _locked = _veh getVariable [format["bis_disabled_Door_%1",_door],0];
      
      
      
      
                          if (_locked isEqualTo 0) then {
                              _veh setVariable [format["bis_disabled_Door_%1",_door],1,true];
                              _veh animate [format["door_%1_rot",_door],0];
                              systemChat localize "STR_House_Door_Lock";
                          } else {
                              _veh setVariable [format["bis_disabled_Door_%1",_door],0,true];
                              _veh animate [format["door_%1_rot",_door],1];
                              systemChat localize "STR_House_Door_Unlock";
                          };
                      };
                  } else {
                      _locked = locked _veh;
                      if (_veh in life_vehicles && player distance _veh < 8) then {
                          if (_locked isEqualTo 2) then {
                              if (local _veh) then {
                                  _veh lock 0;
      
      
      
      
                                  // BI
                                  _veh animateDoor ["door_back_R",1];
                                  _veh animateDoor ["door_back_L",1];
                                  _veh animateDoor ['door_R',1];
                                  _veh animateDoor ['door_L',1];
                                  _veh animateDoor ['Door_L_source',1];
                                  _veh animateDoor ['Door_rear',1];
                                  _veh animateDoor ['Door_rear_source',1];
                                  _veh animateDoor ['Door_1_source',1];
                                  _veh animateDoor ['Door_2_source',1];
                                  _veh animateDoor ['Door_3_source',1];
                                  _veh animateDoor ['Door_LM',1];
                                  _veh animateDoor ['Door_RM',1];
                                  _veh animateDoor ['Door_LF',1];
                                  _veh animateDoor ['Door_RF',1];
                                  _veh animateDoor ['Door_LB',1];
                                  _veh animateDoor ['Door_RB',1];
                                  _veh animateDoor ['DoorL_Front_Open',1];
                                  _veh animateDoor ['DoorR_Front_Open',1];
                                  _veh animateDoor ['DoorL_Back_Open',1];
                                  _veh animateDoor ['DoorR_Back_Open ',1];
                              } else {
                                  [_veh,0] remoteExecCall ["life_fnc_lockVehicle",_veh];
      
      
      
      
                                  _veh animateDoor ["door_back_R",1];
                                  _veh animateDoor ["door_back_L",1];
                                  _veh animateDoor ['door_R',1];
                                  _veh animateDoor ['door_L',1];
                                  _veh animateDoor ['Door_L_source',1];
                                  _veh animateDoor ['Door_rear',1];
                                  _veh animateDoor ['Door_rear_source',1];
                                  _veh animateDoor ['Door_1_source',1];
                                  _veh animateDoor ['Door_2_source',1];
                                  _veh animateDoor ['Door_3_source',1];
                                  _veh animateDoor ['Door_LM',1];
                                  _veh animateDoor ['Door_RM',1];
                                  _veh animateDoor ['Door_LF',1];
                                  _veh animateDoor ['Door_RF',1];
                                  _veh animateDoor ['Door_LB',1];
                                  _veh animateDoor ['Door_RB',1];
                                  _veh animateDoor ['DoorL_Front_Open',1];
                                  _veh animateDoor ['DoorR_Front_Open',1];
                                  _veh animateDoor ['DoorL_Back_Open',1];
                                  _veh animateDoor ['DoorR_Back_Open ',1];
                              };
                              systemChat localize "STR_MISC_VehUnlock";
                              [_veh,"UnlockCarSound"] remoteExec ["life_fnc_say3D",RANY];
                          } else {
                              if (local _veh) then {
                                  _veh lock 2;
      
      
      
      
                                  _veh animateDoor ["door_back_R",0];
                                  _veh animateDoor ["door_back_L",0];
                                  _veh animateDoor ['door_R',0];
                                  _veh animateDoor ['door_L',0];
                                  _veh animateDoor ['Door_L_source',0];
                                  _veh animateDoor ['Door_rear',0];
                                  _veh animateDoor ['Door_rear_source',0];
                                  _veh animateDoor ['Door_1_source',0];
                                  _veh animateDoor ['Door_2_source',0];
                                  _veh animateDoor ['Door_3_source',0];
                                  _veh animateDoor ['Door_LM',0];
                                  _veh animateDoor ['Door_RM',0];
                                  _veh animateDoor ['Door_LF',0];
                                  _veh animateDoor ['Door_RF',0];
                                  _veh animateDoor ['Door_LB',0];
                                  _veh animateDoor ['Door_RB',0];
                                  _veh animateDoor ['DoorL_Front_Open',0];
                                  _veh animateDoor ['DoorR_Front_Open',0];
                                  _veh animateDoor ['DoorL_Back_Open',0];
                                  _veh animateDoor ['DoorR_Back_Open ',0];
                              } else {
                                  [_veh,2] remoteExecCall ["life_fnc_lockVehicle",_veh];
      
      
      
      
                                  _veh animateDoor ["door_back_R",0];
                                  _veh animateDoor ["door_back_L",0];
                                  _veh animateDoor ['door_R',0];
                                  _veh animateDoor ['door_L',0];
                                  _veh animateDoor ['Door_L_source',0];
                                  _veh animateDoor ['Door_rear',0];
                                  _veh animateDoor ['Door_rear_source',0];
                                  _veh animateDoor ['Door_1_source',0];
                                  _veh animateDoor ['Door_2_source',0];
                                  _veh animateDoor ['Door_3_source',0];
                                  _veh animateDoor ['Door_LM',0];
                                  _veh animateDoor ['Door_RM',0];
                                  _veh animateDoor ['Door_LF',0];
                                  _veh animateDoor ['Door_RF',0];
                                  _veh animateDoor ['Door_LB',0];
                                  _veh animateDoor ['Door_RB',0];
                                  _veh animateDoor ['DoorL_Front_Open',0];
                                  _veh animateDoor ['DoorR_Front_Open',0];
                                  _veh animateDoor ['DoorL_Back_Open',0];
                                  _veh animateDoor ['DoorR_Back_Open ',0];
                              };
                              systemChat localize "STR_MISC_VehLock";
                              [_veh,"LockCarSound"] remoteExec ["life_fnc_say3D",RANY];
                          };
                      };
                  };
              };
          };
      };
      
      
      
      
      _handled;
      Alles anzeigen
    • blackfisch
      Legende
      Reaktionen
      2.944
      Trophäen
      9
      Beiträge
      5.966
      Dateien
      6
      Bilder
      63
      • 10. Oktober 2016 um 18:19
      • #14

      Irgendwo fehlen Klammern, gib mir 5 Minuten. Außerdem hast du das so eingestellt, dass egal ob mit oder ohne Handschellen das festnehmen klappt... Klasse Matthias

      #MakeArmaNotWar

      Kein Support via PN & Steam! / No Support via DM & Steam!


      Mit freundlichen Grüßen
      blackfisch
      ______________________

      Web: blackfisch.me

      GitHub: GitHub.com/blackfisch

      Mail: [email protected]

      ______________________
      Wichtige Links:
      [Erklärung|Leitfaden] Code Optimierung

      [Tutorial] life_fnc_MP zu remoteExec

      Ohne Logs & entsprechende Dateien kein Support!

      ______________________

    • blackfisch
      Legende
      Reaktionen
      2.944
      Trophäen
      9
      Beiträge
      5.966
      Dateien
      6
      Bilder
      63
      • 10. Oktober 2016 um 18:31
      • #15
      C
      #include "..\..\script_macros.hpp"
      /*
      * File: fn_keyHandler.sqf
      * Author: Bryan "Tonic" Boardwine
      *
      * Description:
      * Main key handler for event 'keyDown'
      */
      private ["_handled","_shift","_alt","_code","_ctrl","_alt","_ctrlKey","_veh","_locked","_interactionKey","_mapKey","_interruptionKeys"];
      _ctrl = _this select 0;
      _code = _this select 1;
      _shift = _this select 2;
      _ctrlKey = _this select 3;
      _alt = _this select 4;
      _speed = speed cursorObject;
      _handled = false;
      _interactionKey = if (count (actionKeys "User10") isEqualTo 0) then {219} else {(actionKeys "User10") select 0};
      _mapKey = (actionKeys "ShowMap" select 0);
      //hint str _code;
      _interruptionKeys = [17,30,31,32]; //A,S,W,D
      //Vault handling...
      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 getVariable ["restrained",false]) || (player getVariable ["playerSurrender",false]) || life_isknocked || life_istazed)) exitWith {
      	true;
      };
      
      
      
      
      if (life_action_inUse) exitWith {
      	if (!life_interrupted && _code in _interruptionKeys) then {life_interrupted = true;};
      	_handled;
      };
      
      
      
      
      //Hotfix for Interaction key not being able to be bound on some operation systems.
      if (!(count (actionKeys "User10") isEqualTo 0) && {(inputAction "User10" > 0)}) exitWith {
      	//Interaction key (default is Left Windows, can be mapped via Controls -> Custom -> User Action 10)
      	if (!life_action_inUse) then {
      		0 spawn {
      			private "_handle";
      			_handle = 0 spawn life_fnc_actionKeyHandler;
      			waitUntil {scriptDone _handle};
      			life_action_inUse = false;
      		};
      	};
      true;
      };
      
      
      
      
      if (life_container_active) then {
      	switch (_code) do {
      		//space key
      		case 57: {
      			0 spawn life_fnc_placestorage;
      		};
      	};
      	true;
      };
      
      
      
      
      switch (_code) do {
      	case 207: {
      		switch (player getVariable["Earplugs",0]) do {
      			case 0: {hint composeText [ image "icons\sound.paa"," 90% Leiser"]; 1 fadeSound 0.1; player setVariable ["Earplugs", 10]; };
      			case 10: {hint composeText [ image "icons\sound.paa"," 60% Leiser"]; 1 fadeSound 0.4; player setVariable ["Earplugs", 40]; };
      			case 40: {hint composeText [ image "icons\sound.paa"," 30% Leiser"]; 1 fadeSound 0.7; player setVariable ["Earplugs", 70]; };
      			case 70: {hint composeText [ image "icons\sound_new.paa"," Normaler Sound"]; 1 fadeSound 1; player setVariable ["Earplugs", 0]; };
      		};
      	};
      
      
      
      
      	//Space key for Jumping
      	case 57: {
      		if (!_shift && life_barrier_active) then {
      			0 spawn life_fnc_placeablesPlaceComplete;
      		};
      		if (isNil "jumpActionTime") then {jumpActionTime = 0;};
      		if (_shift && {!(animationState player isEqualTo "AovrPercMrunSrasWrflDf")} && {isTouchingGround player} && {stance player isEqualTo "STAND"} && {speed player > 2} && {!life_is_arrested} && {((velocity player) select 2) < 2.5} && {time - jumpActionTime > 1.5}) then {
      		if (life_barrier_active) then { [true] call life_fnc_placeableCancel; };
      			jumpActionTime = time; //Update the time.
      			[player] remoteExec ["life_fnc_jumpFnc",0]; //Global execution
      			_handled = true;
      		};
      	};
      
      
      
      
      	//Surrender (Shift + B)
      	case 48: {
      		if (_shift) then {
      			if (player getVariable ["playerSurrender",false]) then {
      				player setVariable ["playerSurrender",false,true];
      			} else {
      				0 spawn life_fnc_surrender;
      			};
      			_handled = true;
      		};
      	};
      
      
      
      
      	//Map Key
      	case _mapKey: {
      		switch (playerSide) do {
      			case west: {if (!visibleMap) then {0 spawn life_fnc_copMarkers;}};
      			case independent: {if (!visibleMap) then {0 spawn life_fnc_medicMarkers;}};
      			case civilian: {if (!visibleMap) then {0 spawn life_fnc_civMarkers;}};
      		};
      	};
      
      
      
      
      	//Holster / recall weapon. (Shift + H)
      	case 35: {
      		if (_shift && !_ctrlKey && !(currentWeapon player isEqualTo "")) then {
      			life_curWep_h = currentWeapon player;
      			player action ["SwitchWeapon", player, player, 100];
      			player switchCamera cameraView;
      		};
      		if (!_shift && _ctrlKey && !isNil "life_curWep_h" && {!(life_curWep_h isEqualTo "")}) then {
      			if (life_curWep_h in [primaryWeapon player,secondaryWeapon player,handgunWeapon player]) then {
      				player selectWeapon life_curWep_h;
      			};
      		};
      	};
      
      
      
      
      	//Interaction key (default is Left Windows, can be mapped via Controls -> Custom -> User Action 10)
      	case _interactionKey: {
      		if (!life_action_inUse) then {
      			0 spawn {
      				private "_handle";
      				_handle = 0 spawn life_fnc_actionKeyHandler;
      				waitUntil {scriptDone _handle};
      				life_action_inUse = false;
      			};
      		};
      	};
      
      
      
      
      	//Restraining (Shift + R)
      	case 19: {
      	if (_shift) then {_handled = true;};
      	if (_shift && playerSide isEqualTo west && {!isNull cursorObject} && {cursorObject isKindOf "Man"} && {(isPlayer cursorObject)} && {(side cursorObject in [civilian,independent])} && {alive cursorObject} && {cursorObject distance player < 3.5} && {!(cursorObject getVariable "Escorting")} && {!(cursorObject getVariable "restrained")} && {speed cursorObject < 1}) then {
      		if([false,"handschellen",1] call life_fnc_handleInv) then {
      			call life_fnc_restrainAction;
      		} else {
      			hint "Du hast keine Handschellen!";
      		};
      		};
      	};
      
      
      
      
      	//Knock out, this is experimental and yeah... (Shift + G)
      	case 34: {
      		if (_shift) then {_handled = true;};
      		if (_shift && playerSide isEqualTo civilian && !isNull cursorObject && cursorObject isKindOf "Man" && isPlayer cursorObject && alive cursorObject && cursorObject distance player < 4 && speed cursorObject < 1) then {
      			if ((animationState cursorObject) != "Incapacitated" && (currentWeapon player == primaryWeapon player || currentWeapon player == handgunWeapon player) && currentWeapon player != "" && !life_knockout && !(player getVariable ["restrained",false]) && !life_istazed && !life_isknocked) then {
      				[cursorObject] spawn life_fnc_knockoutAction;
      			};
      		};
      	};
      
      
      
      
      	//T Key (Trunk)
      	case 20: {
      		if (!_alt && !_ctrlKey && !dialog && {!life_action_inUse}) then {
      			if (vehicle player != player && alive vehicle player) then {
      				if ((vehicle player) in life_vehicles) then {
      					[vehicle player] spawn life_fnc_openInventory;
      				};
      			} else {
      				private "_list";
      				_list = ((ASLtoATL (getPosASL player)) nearEntities [["Box_IND_Grenades_F","B_supplyCrate_F"], 2.5]) select 0;
      				if (!(isNil "_list")) then {
      					_house = nearestObject [(ASLtoATL (getPosASL _list)), "House"];
      					if (_house getVariable ["locked", false]) then {
      						hint localize "STR_House_ContainerDeny";
      					} else {
      						[_list] spawn life_fnc_openInventory;
      					};
      				} else {
      					_list = ["landVehicle","Air","Ship"];
      					if (KINDOF_ARRAY(cursorObject,_list) && {player distance cursorObject < 7} && {isNull objectParent player} && {alive cursorObject} && {!life_action_inUse}) then {
      						if (cursorObject in life_vehicles) then {
      							[cursorObject] spawn life_fnc_openInventory;
      						};
      					};
      				};
      			};
      		};
      	};
      
      
      
      
      	//Ö-Key
      	case 39: {
      		if ((isNull(findDisplay 20000)) && (playerSide in ([west,independent]))) then {
      			0 spawn life_fnc_placeablesMenu;
      			_handled = true;
      		};
      	};
      
      
      
      
      	//ENTF-Key
      	case 211: {
      		if ((playerSide in [west,independent]) && ((typeOf cursorTarget) in life_definePlaceables)) then {
      			deleteVehicle cursorTarget;
      			hintSilent "Die Absperrung wurde entfernt";
      		};
      	};
      
      
      
      
      	//L Key?
      	case 38: {
      		//If cop run checks for turning lights on.
      		if (_shift && playerSide in [west,independent]) then {
      			if (vehicle player != player && (typeOf vehicle player) in ["C_Offroad_01_F","B_MRAP_01_F","C_SUV_01_F","C_Hatchback_01_sport_F","B_Heli_Light_01_F","B_Heli_Transport_01_F"]) then {
      				if (!isNil {vehicle player getVariable "lights"}) then {
      					if (playerSide isEqualTo west) then {
      						[vehicle player] call life_fnc_sirenLights;
      					} else {
      						[vehicle player] call life_fnc_medicSirenLights;
      					};
      					_handled = true;
      				};
      			};
      		};
      		if (!_alt && !_ctrlKey) then { call life_fnc_radar; };
      	};
      
      
      
      
      	//Y Player Menu
      	case 21: {
      		if (!_alt && !_ctrlKey && !dialog && !(player getVariable ["restrained",false]) && {!life_action_inUse}) then {
      			if (!_shift) then {
      				call life_fnc_p_openMenu;
      			} else {
      				call life_fnc_altisPhone;
      			};
      		};
      	};
      	//F Key
      	case 33: {
      		if (playerSide in [west,independent] && {vehicle player != player} && {!life_siren_active} && {((driver vehicle player) == player)}) then {
      			0 spawn {
      				life_siren_active = true;
      				sleep 4.7;
      				life_siren_active = false;
      			};
      			_veh = vehicle player;
      			if (isNil {_veh getVariable "siren"}) then {_veh setVariable ["siren",false,true];};
      			if ((_veh getVariable "siren")) then {
      				titleText [localize "STR_MISC_SirensOFF","PLAIN"];
      				_veh setVariable ["siren",false,true];
      			} else {
      				titleText [localize "STR_MISC_SirensON","PLAIN"];
      				_veh setVariable ["siren",true,true];
      				if (playerSide isEqualTo west) then {
      					[_veh] remoteExec ["life_fnc_copSiren",-2];
      				} else {
      					[_veh] remoteExec ["life_fnc_medicSiren",-2];
      				};
      			};
      		};
      	};
      	//O Key
      	case 24: {
      		if (_shift) then {
      			if (soundVolume != 1) then {
      				1 fadeSound 1;
      				systemChat localize "STR_MISC_soundnormal";
      			} else {
      				1 fadeSound 0.1;
      				systemChat localize "STR_MISC_soundfade";
      			};
      		};
      	};
      
      
      
      
      	//U Key
      	case 22: {
      		if (!_alt && !_ctrlKey) then {
      			if (isNull objectParent player) then {
      				_veh = cursorObject;
      			} else {
      				_veh = vehicle player;
      			};
      			if (_veh isKindOf "House_F" && {playerSide isEqualTo civilian}) then {
      				if (_veh in life_vehicles && player distance _veh < 8) then {
      					_door = [_veh] call life_fnc_nearestDoor;
      					if (_door isEqualTo 0) exitWith {hint localize "STR_House_Door_NotNear"};
      					_locked = _veh getVariable [format["bis_disabled_Door_%1",_door],0];
      					if (_locked isEqualTo 0) then {
      						_veh setVariable [format["bis_disabled_Door_%1",_door],1,true];
      						_veh animate [format["door_%1_rot",_door],0];
      						systemChat localize "STR_House_Door_Lock";
      					} else {
      						_veh setVariable [format["bis_disabled_Door_%1",_door],0,true];
      						_veh animate [format["door_%1_rot",_door],1];
      						systemChat localize "STR_House_Door_Unlock";
      					};
      				};
      			} else {
      				_locked = locked _veh;
      				if (_veh in life_vehicles && player distance _veh < 8) then {
      					if (_locked isEqualTo 2) then {
      						if (local _veh) then {
      							_veh lock 0;
      							// BI
      							_veh animateDoor ["door_back_R",1];
      							_veh animateDoor ["door_back_L",1];
      							_veh animateDoor ['door_R',1];
      							_veh animateDoor ['door_L',1];
      							_veh animateDoor ['Door_L_source',1];
      							_veh animateDoor ['Door_rear',1];
      							_veh animateDoor ['Door_rear_source',1];
      							_veh animateDoor ['Door_1_source',1];
      							_veh animateDoor ['Door_2_source',1];
      							_veh animateDoor ['Door_3_source',1];
      							_veh animateDoor ['Door_LM',1];
      							_veh animateDoor ['Door_RM',1];
      							_veh animateDoor ['Door_LF',1];
      							_veh animateDoor ['Door_RF',1];
      							_veh animateDoor ['Door_LB',1];
      							_veh animateDoor ['Door_RB',1];
      							_veh animateDoor ['DoorL_Front_Open',1];
      							_veh animateDoor ['DoorR_Front_Open',1];
      							_veh animateDoor ['DoorL_Back_Open',1];
      							_veh animateDoor ['DoorR_Back_Open ',1];
      						} else {
      							[_veh,0] remoteExecCall ["life_fnc_lockVehicle",_veh];
      							_veh animateDoor ["door_back_R",1];
      							_veh animateDoor ["door_back_L",1];
      							_veh animateDoor ['door_R',1];
      							_veh animateDoor ['door_L',1];
      							_veh animateDoor ['Door_L_source',1];
      							_veh animateDoor ['Door_rear',1];
      							_veh animateDoor ['Door_rear_source',1];
      							_veh animateDoor ['Door_1_source',1];
      							_veh animateDoor ['Door_2_source',1];
      							_veh animateDoor ['Door_3_source',1];
      							_veh animateDoor ['Door_LM',1];
      							_veh animateDoor ['Door_RM',1];
      							_veh animateDoor ['Door_LF',1];
      							_veh animateDoor ['Door_RF',1];
      							_veh animateDoor ['Door_LB',1];
      							_veh animateDoor ['Door_RB',1];
      							_veh animateDoor ['DoorL_Front_Open',1];
      							_veh animateDoor ['DoorR_Front_Open',1];
      							_veh animateDoor ['DoorL_Back_Open',1];
      							_veh animateDoor ['DoorR_Back_Open ',1];
      						};
      						systemChat localize "STR_MISC_VehUnlock";
      						[_veh,"UnlockCarSound"] remoteExec ["life_fnc_say3D",0];
      					} else {
      						if (local _veh) then {
      							_veh lock 2;
      							_veh animateDoor ["door_back_R",0];
      							_veh animateDoor ["door_back_L",0];
      							_veh animateDoor ['door_R',0];
      							_veh animateDoor ['door_L',0];
      							_veh animateDoor ['Door_L_source',0];
      							_veh animateDoor ['Door_rear',0];
      							_veh animateDoor ['Door_rear_source',0];
      							_veh animateDoor ['Door_1_source',0];
      							_veh animateDoor ['Door_2_source',0];
      							_veh animateDoor ['Door_3_source',0];
      							_veh animateDoor ['Door_LM',0];
      							_veh animateDoor ['Door_RM',0];
      							_veh animateDoor ['Door_LF',0];
      							_veh animateDoor ['Door_RF',0];
      							_veh animateDoor ['Door_LB',0];
      							_veh animateDoor ['Door_RB',0];
      							_veh animateDoor ['DoorL_Front_Open',0];
      							_veh animateDoor ['DoorR_Front_Open',0];
      							_veh animateDoor ['DoorL_Back_Open',0];
      							_veh animateDoor ['DoorR_Back_Open ',0];
      						} else {
      							[_veh,2] remoteExecCall ["life_fnc_lockVehicle",_veh];
      							_veh animateDoor ["door_back_R",0];
      							_veh animateDoor ["door_back_L",0];
      							_veh animateDoor ['door_R',0];
      							_veh animateDoor ['door_L',0];
      							_veh animateDoor ['Door_L_source',0];
      							_veh animateDoor ['Door_rear',0];
      							_veh animateDoor ['Door_rear_source',0];
      							_veh animateDoor ['Door_1_source',0];
      							_veh animateDoor ['Door_2_source',0];
      							_veh animateDoor ['Door_3_source',0];
      							_veh animateDoor ['Door_LM',0];
      							_veh animateDoor ['Door_RM',0];
      							_veh animateDoor ['Door_LF',0];
      							_veh animateDoor ['Door_RF',0];
      							_veh animateDoor ['Door_LB',0];
      							_veh animateDoor ['Door_RB',0];
      							_veh animateDoor ['DoorL_Front_Open',0];
      							_veh animateDoor ['DoorR_Front_Open',0];
      							_veh animateDoor ['DoorL_Back_Open',0];
      							_veh animateDoor ['DoorR_Back_Open ',0];
      						};
      						systemChat localize "STR_MISC_VehLock";
      						[_veh,"LockCarSound"] remoteExec ["life_fnc_say3D",0];
      					};
      				};
      			};
      		};
      	};
      };
      _handled;
      Alles anzeigen

      Demnächst statt sturem C&P auch versuchen zu Verstehen was du tust und möglichst nicht mehr Klammern öffnen als du schließt

      #MakeArmaNotWar

      Kein Support via PN & Steam! / No Support via DM & Steam!


      Mit freundlichen Grüßen
      blackfisch
      ______________________

      Web: blackfisch.me

      GitHub: GitHub.com/blackfisch

      Mail: [email protected]

      ______________________
      Wichtige Links:
      [Erklärung|Leitfaden] Code Optimierung

      [Tutorial] life_fnc_MP zu remoteExec

      Ohne Logs & entsprechende Dateien kein Support!

      ______________________

    • Lukas692
      Anfänger
      Reaktionen
      1
      Trophäen
      9
      Beiträge
      61
      • 27. Oktober 2016 um 06:57
      • #16

      Wo muss ich "life_inv_handschellen" in der neusten Version (4.5) einfügen, weiß das jemand?
      ("life_inv_items =" gibt es in der configuration.sqf)

    • MauGi_LP
      Fortgeschrittener
      Reaktionen
      57
      Trophäen
      9
      Beiträge
      374
      • 23. Oktober 2017 um 16:58
      • #17

      Ich habe mal eine Frage für welche Version ist/war dieses Skript?

      Ich frage wir die 4.4r4 benutzen aber in unserer configuration.sqf keine life_inv_items haben

    • SilentF0x
      Profi
      Reaktionen
      266
      Trophäen
      10
      Beiträge
      1.246
      Dateien
      5
      • 23. Oktober 2017 um 17:13
      • #18
      Zitat von MauGi_LP

      Ich habe mal eine Frage für welche Version ist/war dieses Skript?

      Ich frage wir die 4.4r4 benutzen aber in unserer configuration.sqf keine life_inv_items haben

      3.1.4.8 würde ich sagen.

      ✌

      Aktuelle Dateien:

      Altis | Krankenhaus | Modded

      Mercedes E Klasse | Rettungswagen | Mod

      Altis | Kupferhandel | No Mods

      Altis Markplatz | No Mods

    • MauGi_LP
      Fortgeschrittener
      Reaktionen
      57
      Trophäen
      9
      Beiträge
      374
      • 23. Oktober 2017 um 17:17
      • #19
      Zitat von STG_SilentF0x

      3.1.4.8 würde ich sagen.

      weißt du wo ich ein tut für die 4.4r4 finden kann?

    • SilentF0x
      Profi
      Reaktionen
      266
      Trophäen
      10
      Beiträge
      1.246
      Dateien
      5
      • 23. Oktober 2017 um 17:20
      • #20

      Man könnte das Tutorial umschreiben für die 4.4. Wäre aber recht viel arbeit.

      ✌

      Aktuelle Dateien:

      Altis | Krankenhaus | Modded

      Mercedes E Klasse | Rettungswagen | Mod

      Altis | Kupferhandel | No Mods

      Altis Markplatz | No Mods

    Registrieren oder Einloggen

    Du bist noch kein Mitglied von NodeZone.net? Registriere dich kostenlos und werde Teil einer großartigen Community!

    Registrieren

    Ähnliche Themen

    • Festnehmen mit Kabelbinder

      • Natic
      • 23. Februar 2017 um 13:19
      • Hilfeforum
    • Hilfe bei Script [Handschellen]

      • harti
      • 2. Oktober 2016 um 17:19
      • Hilfeforum
    • Ich brauche ein Skript Handschellen

      • arrra
      • 1. Oktober 2016 um 00:28
      • Hilfeforum

    Wichtige Links & Informationen

    Server & Hosting-Ressourcen

      Server Administration & Hosting Basics

      Windows Server Support & Guides

      Linux Server Configuration & Help

      Setting up TeamSpeak 3 & VoIP Servers

      Domains & Web Hosting for Beginners & Professionals

      Cloud Hosting, Docker & Kubernetes Tutorials

    Gameserver & Modding-Ressourcen

      ArmA 3 Tutorials & Script Collection

      Renting & Operating Gameservers

      DayZ Server Management & Help

      FiveM (GTA V) Server & Script Development

      Rust Server Modding & Administration

      Setting up & Optimizing ARK Survival Servers

    NodeZone.net – Deine Community für Gameserver, Server-Hosting & Modding

      NodeZone.net ist dein Forum für Gameserver-Hosting, Rootserver, vServer, Webhosting und Modding. Seit 2015 bietet unsere Community eine zentrale Anlaufstelle für Server-Admins, Gamer und Technikbegeisterte, die sich über Server-Management, Hosting-Lösungen und Spielemodding austauschen möchten.


      Ob Anleitungen für eigene Gameserver, Hilfe bei Root- und vServer-Konfigurationen oder Tipps zu Modding & Scripting – bei uns findest du fundiertes Wissen und praxisnahe Tutorials. Mit einer stetig wachsenden Community findest du hier Antworten auf deine Fragen, Projektpartner und Gleichgesinnte für deine Gaming- und Serverprojekte. Schließe dich NodeZone.net an und werde Teil einer aktiven Community rund um Server-Hosting, Gameserver-Management und Modding-Ressourcen.

    Wer jetzt nicht teilt ist selber Schuld:
    1. Nutzungsbestimmungen
    2. Datenschutzerklärung
    3. Impressum
    4. Urheberrechts- oder Lizenzverstoß melden
  • Trimax Design coded & layout by Gino Zantarelli 2023-2025©
    Community-Software: WoltLab Suite™