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: 27 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. Hilfeforum

    Waffen nur beschlagnahmen wenn kein Waffenschein oder kein Jagtschein im Besitz ist.

    • Saturin78
    • 27. Juli 2017 um 22:53
    • Geschlossen
    • Erledigt
    • Saturin78
      Profi
      Reaktionen
      409
      Trophäen
      10
      Beiträge
      1.340
      • 27. Juli 2017 um 22:53
      • #1

      Hallo zusammen,

      bin grad ein bisschen am grübeln, wie das wohl am einfachsten geht, dass man beim Waffen beschlagnahmen ( Cops ), dann bei dem Spieler ( Civ ) nur dann z.B. die MK14 weg nimmt, wenn dieser nicht im Besitz eines Waffenscheins und des Jagtscheins ist. Genauso die ganzen " legalen Pistolen " nur dann beschlagnahmt werden wenn der Spieler keinen Waffenschein hat. Die illegalen alle beschlagnahmt werden egal ob Waffenschein oder Jagtschein vorhanden ist.

      Meine das Waffen beschlagnahmen hab ich ja in dieser Datei drin:

      C: fn_seizeClient.sqf
      #include "..\..\script_macros.hpp"
      /*
          File: fn_seizeClient.sqf
          Author: Daniel "Skalicon" Larusso
      
          Description:
          Removes the players weapons client side
      */
      private ["_exempt","_uniform","_vest","_headgear"];
      _exempt = LIFE_SETTINGS(getArray,"seize_exempt");
      _headgear = LIFE_SETTINGS(getArray,"seize_headgear");
      _vest = LIFE_SETTINGS(getArray,"seize_vest");
      _uniform = LIFE_SETTINGS(getArray,"seize_uniform");
      
      {
          if (!(_x in _exempt)) then {
              player removeWeapon _x;
          };
      } forEach weapons player;
      
      {
          if (!(_x in _exempt)) then {
              player removeItemFromUniform _x;
          };
      } forEach uniformItems player;
      
      {
          if (!(_x in _exempt)) then {
              player removeItemFromVest _x;
          };
      } forEach vestItems player;
      
      {
          if (!(_x in _exempt)) then {
              player removeItemFromBackpack _x;
          };
      } forEach backpackItems player;
      
      {
          if (!(_x in _exempt)) then {
                  player removeMagazine _x;
          };
      } forEach magazines player;
      
      if (uniform player in _uniform) then {removeUniform player;};
      if (vest player in _vest) then {removeVest player;};
      if (headgear player in _headgear) then {removeHeadgear player;};
      
      [] call SOCK_fnc_updateRequest;
      titleText[localize "STR_NOTF_SeizeIllegals","PLAIN"];
      Alles anzeigen

      im _exempt ist ja durch die Master_config.hpp schon festgelegt welche items nicht beschalgnahmt werden, wie z.B. GPS usw. Ich bin mir jetzt nicht sicher wie ich abfrage, dass was der Spieler, den ich gerade durchsuche, als Lizenzen hat.

      C: Brainfuck
      Vor den IF abfragen sowas einbauen:
      
      if ((jagtschein in _lizenzen) && (waffenschein in _lizenzen))then {
          _exempt1 = [ "srifle_DMR_01_F", "srifle_DMR_06_olive_F"];
      };
      if (waffenschein in _lizenzen) then {
          _exempt2 = [ "hgun_PDW2000_F", "SMG_01_F", "hgun_ACPC2_F", "hgun_Pistol_01_F", "hgun_Rook40_F"];
      };
      
      und dann unten in den beschlagnahme zeilen das si einfügen:
      
      {
          if (!(_x in _exempt) || !(_x in _exempt1) || !(_x in _exempt2)) then {
              player removeWeapon _x;
          };
      } forEach weapons player;
      Alles anzeigen

      Könnte das so in die Richtung gehen und wie kann ich die Lizenzen abfragen, ob er den Jagtschein und oder den Waffenschein hat?

      Tapse mich wieder ins Arma3 xxx-Life rein :D

    • Brizi Jaeger
      Profi
      Reaktionen
      291
      Trophäen
      11
      Beiträge
      1.025
      • 27. Juli 2017 um 23:12
      • #2

      Eigentlich so :

      Code
      if (missionNamespace getVariable LICENSE_VARNAME("gun","jadtschein")) then { 
    • Saturin78
      Profi
      Reaktionen
      409
      Trophäen
      10
      Beiträge
      1.340
      • 28. Juli 2017 um 08:37
      • #3
      Zitat von Brizi Jaeger

      Eigentlich so :

      Code
      if (missionNamespace getVariable LICENSE_VARNAME("gun","jadtschein")) then { 

      Ok danke,

      dann sollte das ganze dann wohl so aussehen, oder? Kann´s grad nicht testen, aber denke das passt so dann, oder?

      C: fn_seizeClient.sqf
      #include "..\..\script_macros.hpp"
      /*
          File: fn_seizeClient.sqf
          Author: Daniel "Skalicon" Larusso
      
          Description:
          Removes the players weapons client side
      */
      private ["_exempt","_exempt1","_exempt2","_uniform","_vest","_headgear"];
      _exempt = LIFE_SETTINGS(getArray,"seize_exempt");
      _headgear = LIFE_SETTINGS(getArray,"seize_headgear");
      _vest = LIFE_SETTINGS(getArray,"seize_vest");
      _uniform = LIFE_SETTINGS(getArray,"seize_uniform");
      
      //Ausgenommene Waffen, wenn Waffenschein und Jagtschein vorhanden ist.
      if (missionNamespace getVariable LICENSE_VARNAME("gun","jadt")) then { 
          _exempt1 = ["srifle_DMR_01_F", "srifle_DMR_06_olive_F","hgun_PDW2000_F", "SMG_01_F", "hgun_ACPC2_F", "hgun_Pistol_01_F", "hgun_Rook40_F", "20Rnd_762x51_Mag", "10Rnd_762x54_Mag", "30Rnd_45ACP_Mag_SMG_01", "30Rnd_9x21_Mag", "9Rnd_45ACP_Mag", "10Rnd_9x21_Mag", "16Rnd_9x21_Mag"];
      } else {
          _exempt1 = [""];
      };
      
      //Ausgenommene Waffen, wenn nur der Waffenschein vorhanden ist.
      if (missionNamespace getVariable LICENSE_VARNAME("gun")) then { 
          _exempt2 = ["hgun_PDW2000_F", "SMG_01_F", "hgun_ACPC2_F", "hgun_Pistol_01_F", "hgun_Rook40_F", "30Rnd_45ACP_Mag_SMG_01", "30Rnd_9x21_Mag", "9Rnd_45ACP_Mag", "10Rnd_9x21_Mag", "16Rnd_9x21_Mag"];
      } else {
          _exempt2 = [""];
      };
      
      {
          if (!(_x in _exempt) || !(_x in _exempt1) || !(_x in _exempt2)) then {
              player removeWeapon _x;
          };
      } forEach weapons player;
      
      {
          if (!(_x in _exempt) || !(_x in _exempt1) || !(_x in _exempt2)) then {
              player removeItemFromUniform _x;
          };
      } forEach uniformItems player;
      
      {
          if (!(_x in _exempt) || !(_x in _exempt1) || !(_x in _exempt2)) then {
              player removeItemFromVest _x;
          };
      } forEach vestItems player;
      
      {
          if (!(_x in _exempt) || !(_x in _exempt1) || !(_x in _exempt2)) then {
              player removeItemFromBackpack _x;
          };
      } forEach backpackItems player;
      
      {
          if (!(_x in _exempt) || !(_x in _exempt1) || !(_x in _exempt2)) then {
                  player removeMagazine _x;
          };
      } forEach magazines player;
      
      if (uniform player in _uniform) then {removeUniform player;};
      if (vest player in _vest) then {removeVest player;};
      if (headgear player in _headgear) then {removeHeadgear player;};
      
      [] call SOCK_fnc_updateRequest;
      titleText[localize "STR_NOTF_SeizeIllegals","PLAIN"];
      Alles anzeigen

      Denke das ist sicher nicht die eleganteste Lösung, aber mal ein erster Versuch :)

      Tapse mich wieder ins Arma3 xxx-Life rein :D

    • Saturin78
      Profi
      Reaktionen
      409
      Trophäen
      10
      Beiträge
      1.340
      • 28. Juli 2017 um 20:36
      • #4

      Hm, konnte es nun auf dem Server integrieren. Allerdings spuckt er nun beim Starten des Servers ein Fehler aus.

      Das kommt im Server Log beim Serverstart:

      ------------->

      Fehler Name: Fehler mit Spezifischer Datei

      20:29:04 Error in expression <;

      20:29:04 Error position: <) then {

      20:29:04 Error unexpected )

      20:29:04 File core\cop\fn_seizeClient.sqf [life_fnc_seizeClient], line 85

      ------------->

      Kann mir da jemand weiter helfen?

      C: fn_seizeClient.sqf
      #include "..\..\script_macros.hpp"
      /*
          File: fn_seizeClient.sqf
          Author: Daniel "Skalicon" Larusso
      
          Description:
          Removes the players weapons client side
      */
      private ["_exempt","_exempt1","_exempt2","_uniform","_vest","_headgear"];
      _exempt = LIFE_SETTINGS(getArray,"seize_exempt");
      _headgear = LIFE_SETTINGS(getArray,"seize_headgear");
      _vest = LIFE_SETTINGS(getArray,"seize_vest");
      _uniform = LIFE_SETTINGS(getArray,"seize_uniform");
      
      //Ausgenommene Waffen, wenn Waffenschein und Jagtschein vorhanden ist.
      if (missionNamespace getVariable LICENSE_VARNAME("gun","jadt")) then { 
          _exempt1 = ["arifle_SPAR_01_blk_F", "arifle_Mk20_F", "srifle_DMR_01_F", "srifle_DMR_06_olive_F","hgun_PDW2000_F", "SMG_01_F", "hgun_ACPC2_F", "hgun_Pistol_01_F", "hgun_Rook40_F", "20Rnd_762x51_Mag", "10Rnd_762x54_Mag", "30Rnd_45ACP_Mag_SMG_01", "30Rnd_9x21_Mag", "9Rnd_45ACP_Mag", "10Rnd_9x21_Mag", "16Rnd_9x21_Mag", "30Rnd_556x45_Stanag", "optic_ACO_grn_smg"];
      } else {
          _exempt1 = [""];
      };
      
      //Ausgenommene Waffen, wenn nur der Waffenschein vorhanden ist.
      if (missionNamespace getVariable LICENSE_VARNAME("gun")) then { 
          _exempt2 = ["arifle_SPAR_01_blk_F", "arifle_Mk20_F", "hgun_PDW2000_F", "SMG_01_F", "hgun_ACPC2_F", "hgun_Pistol_01_F", "hgun_Rook40_F", "30Rnd_45ACP_Mag_SMG_01", "30Rnd_9x21_Mag", "9Rnd_45ACP_Mag", "10Rnd_9x21_Mag", "16Rnd_9x21_Mag", "30Rnd_556x45_Stanag", "optic_ACO_grn_smg"];
      } else {
          _exempt2 = [""];
      };
      
      {
          if (!(_x in _exempt) || !(_x in _exempt1) || !(_x in _exempt2)) then {
              player removeWeapon _x;
          };
      } forEach weapons player;
      
      {
          if (!(_x in _exempt) || !(_x in _exempt1) || !(_x in _exempt2)) then {
              player removeItemFromUniform _x;
          };
      } forEach uniformItems player;
      
      {
          if (!(_x in _exempt) || !(_x in _exempt1) || !(_x in _exempt2)) then {
              player removeItemFromVest _x;
          };
      } forEach vestItems player;
      
      {
          if (!(_x in _exempt) || !(_x in _exempt1) || !(_x in _exempt2)) then {
              player removeItemFromBackpack _x;
          };
      } forEach backpackItems player;
      
      {
          if (!(_x in _exempt) || !(_x in _exempt1) || !(_x in _exempt2)) then {
                  player removeMagazine _x;
          };
      } forEach magazines player;
      
      if (uniform player in _uniform) then {removeUniform player;};
      if (vest player in _vest) then {removeVest player;};
      if (headgear player in _headgear) then {removeHeadgear player;};
      
      [] call SOCK_fnc_updateRequest;
      titleText[localize "STR_NOTF_SeizeIllegals","PLAIN"];
      Alles anzeigen

      Tapse mich wieder ins Arma3 xxx-Life rein :D

    • Saturin78
      Profi
      Reaktionen
      409
      Trophäen
      10
      Beiträge
      1.340
      • 29. Juli 2017 um 20:36
      • #5

      Sodele, der Fehler ist beseitigt.

      Es lag an der Lizenzabfrage, die war so nicht ganz richtig. Zum einen kann man nicht in einer Abfrage nach mehreren Lizenzen fragen und dann hatte ich das _flag vergessen.

      Das ganze muss so aussehen:

      if (missionNamespace getVariable LICENSE_VARNAME("gun","civ") && missionNamespace getVariable LICENSE_VARNAME("jagt","civ")) then {

      Tapse mich wieder ins Arma3 xxx-Life rein :D

    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™