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
Do: 17 Juli 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] Looten von Cops und Medics verhindern

      • Altis Life
    • SBuserhy
    • 18. September 2015 um 20:49
    • SBuserhy
      Kenner
      Reaktionen
      265
      Beiträge
      519
      • 18. September 2015 um 20:49
      • #1

      Hier zeig Ich euch, wie man verhindert, dass Spieler Cop- oder Medicleichen looten können.

      Ist eigenlich ganz einfach, man portet die Leichen beim Tot einfach weg.

      Dazu müßt ihr folgendes beim DeathScreen hinzufügen.

      Missionsordner \ core \ medical \ fn_onPlayerKilled.sqf

      Code: fn_onPlayerKilled.sqf
      if ((playerSide == west) || ((side _unit) == west) or (playerSide == independent) || ((side _unit) == independent))  then {
              [_unit] spawn {
                  (_this select 0) setPos [0,0,0];
                  sleep 5;
                  deleteVehicle (_this select 0);
      
                  private["_RespawnBtn","_Timer"];
                  disableSerialization;
                  _RespawnBtn = ((findDisplay 7300) displayCtrl 7302);
                  _Timer = ((findDisplay 7300) displayCtrl 7301);
                  _RespawnBtn ctrlEnable true;
                  _Timer ctrlSetText "Du kannst jetzt respawnen";
              };
          };
      Alles anzeigen

      hier nochmal meine komplette fn_onPlayerKilled.sqf

      Code: fn_onPlayerKilled.sqf
      /*
          File: fn_onPlayerKilled.sqf
          Author: Bryan "Tonic" Boardwine
      
          Description:
          When the player dies collect various information about that player
          and pull up the death dialog / camera functionality.
      */
      private["_unit","_killer","_pos"];
      disableSerialization;
      _unit = [_this,0,ObjNull,[ObjNull]] call BIS_fnc_param;
      _killer = [_this,1,ObjNull,[ObjNull]] call BIS_fnc_param;
      _pos = [(getPosATL _unit select 0)-(vectorDir _unit select 0)*3,(getPosATL _unit select 1)-(vectorDir _unit select 1)*3,(getPosATL _unit select 2)+1];
      
      
      
      
      //Set some vars
      _unit setVariable["Revive",FALSE,TRUE]; //Set the corpse to a revivable state.
      _unit setVariable["name",profileName,TRUE]; //Set my name so they can say my name.
      _unit setVariable["restrained",FALSE,TRUE];
      _unit setVariable["Escorting",FALSE,TRUE];
      _unit setVariable["transporting",FALSE,TRUE]; //Why the fuck do I have this? Is it used?
      _unit setVariable["steam64id",(getPlayerUID player),true]; //Set the UID.
      _unit setVariable["missingOrgan",FALSE,TRUE]; //I DONT KNOW WHY SOMETIMES THEY ARE CAPS or not
      _unit setVariable["hasOrgan",FALSE,TRUE]; 
      
      
      
      
      //Setup our camera view
      life_deathCamera  = "CAMERA" camCreate (getPosATL _unit);
      showCinemaBorder TRUE;
      life_deathCamera cameraEffect ["Internal","Back"];
      createDialog "DeathScreen";
      life_deathCamera camSetTarget _unit;
      life_deathCamera CamPreparePos _pos;
      life_deathCamera camCommitPrepared 0;
      life_deathCamera camSetRelPos [-3, 20, 10];
      life_deathCamera camPrepareFOV 0.474;
      life_deathCamera camCommit 20;
      
      
      
      
      (findDisplay 7300) displaySetEventHandler ["KeyDown","if((_this select 1) == 1) then {true}"]; //Block the ESC menu
      
      
      
      
      //Create a thread for something?
      _unit spawn
      {
          private["_maxTime","_RespawnBtn","_Timer"];
          disableSerialization;
          _RespawnBtn = ((findDisplay 7300) displayCtrl 7302);
          _Timer = ((findDisplay 7300) displayCtrl 7301);
      
          _maxTime = time + (life_respawn_timer * 60);
          _RespawnBtn ctrlEnable false;
          waitUntil {_Timer ctrlSetText format[localize "STR_Medic_Respawn",[(_maxTime - time),"MM:SS.MS"] call BIS_fnc_secondsToString]; 
          round(_maxTime - time) <= 0 || isNull _this || Life_request_timer};
      
          if (Life_request_timer) then {
              _maxTime = time + (life_respawn_timer * 120);
              waitUntil {_Timer ctrlSetText format[localize "STR_Medic_Respawn",[(_maxTime - time),"MM:SS.MS"] call BIS_fnc_secondsToString]; 
              round(_maxTime - time) <= 0 || isNull _this};
          };
          Life_request_timer = false; //resets increased respawn timer
      
          _RespawnBtn ctrlEnable true;
          _Timer ctrlSetText localize "STR_Medic_Respawn_2";
      };
      
      
      
      
      [] spawn life_fnc_deathScreen;
      
      
      
      
      //Create a thread to follow with some what precision view of the corpse.
      [_unit] spawn
      {
          private["_unit"];
          _unit = _this select 0;
          waitUntil {if(speed _unit == 0) exitWith {true}; life_deathCamera camSetTarget _unit; life_deathCamera camSetRelPos [0,3.5,4.5]; life_deathCamera camCommit 0;};
      };
      //Looten verhindern Start
      if ((playerSide == west) || ((side _unit) == west) or (playerSide == independent) || ((side _unit) == independent))  then {
              [_unit] spawn {
                  (_this select 0) setPos [0,0,0];
                  sleep 5;
                  deleteVehicle (_this select 0);
      
                  private["_RespawnBtn","_Timer"];
                  disableSerialization;
                  _RespawnBtn = ((findDisplay 7300) displayCtrl 7302);
                  _Timer = ((findDisplay 7300) displayCtrl 7301);
                  _RespawnBtn ctrlEnable true;
                  _Timer ctrlSetText "Du kannst jetzt respawnen";
              };
          };
      //Looten verhindern Ende
      
      
      
      
      //Make the killer wanted
      if(!isNull _killer && {_killer != _unit} && {side _killer != west} && {alive _killer}) then {
          if(vehicle _killer isKindOf "LandVehicle") then {
              [[getPlayerUID _killer,_killer getVariable["realname",name _killer],"187V"],"life_fnc_wantedAdd",false,false] spawn life_fnc_MP;
              //Get rid of this if you don't want automatic vehicle license removal.
              if(!local _killer) then {
                  [[2],"life_fnc_removeLicenses",_killer,FALSE] spawn life_fnc_MP;
              };
          } else {
              [[getPlayerUID _killer,_killer getVariable["realname",name _killer],"187"],"life_fnc_wantedAdd",false,false] spawn life_fnc_MP;
      
              if(!local _killer) then {
                  [[3],"life_fnc_removeLicenses",_killer,FALSE] spawn life_fnc_MP;
              };
          };
      };
      
      
      
      
      //Killed by cop stuff...
      if(side _killer == west && playerSide != west) then {
          life_copRecieve = _killer;
          //Did I rob the federal reserve?
          if(!life_use_atm && {life_cash > 0}) then {
              [format[localize "STR_Cop_RobberDead",[life_cash] call life_fnc_numberText],"life_fnc_broadcast",true,false] spawn life_fnc_MP;
              life_cash = 0;
          };
      };
      
      
      
      
      if(!isNull _killer && {_killer != _unit}) then {
          life_removeWanted = true;
      };
      
      
      
      
      _handle = [_unit] spawn life_fnc_dropItems;
      waitUntil {scriptDone _handle};
      
      
      
      
      life_hunger = 100;
      life_thirst = 100;
      life_carryWeight = 0;
      life_cash = 0;
      life_battery = 50;
      life_drink = 0;
      
      
      
      
      [] call life_fnc_hudUpdate; //Get our HUD updated.
      [[player,life_sidechat,playerSide],"TON_fnc_managesc",false,false] spawn life_fnc_MP;
      
      
      
      
      [0] call SOCK_fnc_updatePartial;
      [3] call SOCK_fnc_updatePartial;
      Alles anzeigen

      PS: Bei Civs macht das keinen Sinn, es sei denn man portet Sie ins Krankenhaus. :D

      MFG pleasantry

      ausprobieren, lernen, weiterentwickeln, verbessern :gamer:

      kein Support per PM | schnelle Fehleranalyse >> RPT log Filter

      Einmal editiert, zuletzt von SBuserhy (26. Juli 2016 um 21:31)

    Registrieren oder Einloggen

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

    Registrieren

    Benutzer online in diesem Thema

    • 1 Besucher

    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™