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
Fr: 16 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] No Fire in der SafeZone

      • Altis Life
    • #Provokan
    • 9. Mai 2016 um 11:39
    • #Provokan
      Anfänger
      Reaktionen
      10
      Trophäen
      11
      Beiträge
      54
      • 9. Mai 2016 um 11:39
      • #1

      Hiermit verbiete ich die verbreitung dieses Tutorials in anderen Foren

      Schritt 1. Ihr erstell in eurem Ordner Core/civ/ eine datei die nennt sich
      fn_SafeZone.sqf
      und fügt dort dann folgendes ein.

      CSS
      /*
      	File: fn_safezones.sqf
              Author: keine Ahnung :D Hab das Script vor ewigkeiten mal auf meiner platte Gefunden
      	Editor: #Provokan
      	Description: kein Kravalla in Kavalla :)
                           löscht die einzelnen Kugeln. 
      */
      private ["_eh1","_inArea","_zone1","_zone2","_zone3","_zone4","_zone5","_dis"];
      _zone1 = getMarkerPos "Safe_Kav"; // <-- HIER EURE SAFE_ZONE NAMEN REIN !!!
      _zone2 = getMarkerPos "Safe_don"; // <-- HIER EURE SAFE_ZONE NAMEN REIN !!!
      _zone3 = getMarkerPos "Safe_reb"; // <-- HIER EURE SAFE_ZONE NAMEN REIN !!!
      _zone4 = getMarkerPos "safezone_4"; // <-- HIER EURE SAFE_ZONE NAMEN REIN !!!
      _zone5 = getMarkerPos "safezone_5"; // <-- HIER EURE SAFE_ZONE NAMEN REIN !!!
      _dis = 175; // DISTANCE SAFE ZONE (euren Marker Radius angeben)                        
      _inArea = false;
      switch (playerSide) do
      {
      	case civilian:
      	{
      		while {true} do
      		{
      			if (alive player) then
      			{	
      				if (((_zone1 distance player < _dis) || (_zone2 distance player < _dis) || (_zone3 distance player < _dis) || (_zone4 distance player < _dis) || (_zone5 distance player < _dis)) && (!_inArea)) then 
      				{     
      					_eh1 = player addEventHandler ["fired", {deleteVehicle (_this select 6);}];
      					_inArea = true;
      					hint parseText "<t color='#FF0000'><t size='2'><t align='center'>Warnung<br/><br/><t align='center'><t size='1'><t color='#ffffff'>Du betrittst eine Safezone. Holster dein Waffe. Du kannst niemanden ausrauben oder töten!";
      					player allowDamage false;
      				};
      				if (((_zone1 distance player > _dis) && (_zone2 distance player > _dis) && (_zone3 distance player > _dis) && (_zone4 distance player > _dis) &&(_zone5 distance player > _dis)) && (_inArea)) then 
      				{    
      					player removeEventHandler ["fired", _eh1];
      					_inArea = false;
      					hint parseText "<t color='#FF0000'><t size='2'><t align='center'>Warnung<br/><br/><t align='center'><t size='1'><t color='#ffffff'>Du verlässt die Safezone.";
      					player allowDamage true;
      				};
      			};
      		};
      	};
      	sleep 3;
      };
      Alles anzeigen

      Schritt 2. Anschließend geht ihr in die function.h datei und fügt unter class civilian
      folgendes ein

      Code
      class Civilian
      	{
                      class SafeZone {}; //<-- EINFÜGEN
      	};

      Schritt 3. Map Editor

      Nun Öffnet ihr euren Map-Editor und geht zu den "gewünschten" SafeZone stellen und platziert dort ein MARKER
      mit den EUREN gewünschten Namen, z.B bei mir hieß die Kravalla SafeZone "Safe_kav".


      Dies ist natürlich euch überlassen, wie Ihr diese bennent.
      Achtet nur darauf, diese dann auch ggf. in der fn_SafeZone.sqf auch umzubennen

      so wollt ihr z.B die SafeZone in Kavalla anders nennen
      dann müsst ihr aus dem

      _zone1 = getMarkerPos "Safe_kav";

      abändern in

      _zone1 = getMarkerPos "EUER_MARKERNAME";

      Viel Spass damit Jungs :)

    • John_Parker
      Fortgeschrittener
      Reaktionen
      37
      Trophäen
      10
      Beiträge
      338
      • 14. Mai 2016 um 04:32
      • #2

      Habs genau so eingefügt, und Funktioniert leider nicht :)

      d4ccfe34e7e85df1132cf7f0832e56.gif

    • Plotmod
      Schüler
      Reaktionen
      46
      Trophäen
      11
      Beiträge
      90
      • 14. Mai 2016 um 11:34
      • #3
      Zitat von De2aii

      Editor: #Provokan

      Irgendwas stimmt da nicht :huh:

      Mit freundlichen Grüßen

      Plotmod

    • Saturin78
      Profi
      Reaktionen
      409
      Trophäen
      10
      Beiträge
      1.340
      • 14. Mai 2016 um 12:10
      • #4

      Auf welcher Version läuft das? Auf der 4.0?

      MfG

      Saturin78

      Tapse mich wieder ins Arma3 xxx-Life rein :D

    • #Provokan
      Anfänger
      Reaktionen
      10
      Trophäen
      11
      Beiträge
      54
      • 14. Mai 2016 um 13:43
      • #5

      Also, ich habe es gerade bei einer RO Version von 4.4 eingebunden und es läuft problemlos?!

      RPT logs? :)

    • John_Parker
      Fortgeschrittener
      Reaktionen
      37
      Trophäen
      10
      Beiträge
      338
      • 15. Mai 2016 um 05:07
      • #6
      Zitat von De2aii

      Also, ich habe es gerade bei einer RO Version von 4.4 eingebunden und es läuft problemlos?!

      RPT logs? :)

      Ich Benutze "3.1.4.8" und es Funktioniert nicht. Dann denke ich mal das es für die 4.0 Version ist.

      d4ccfe34e7e85df1132cf7f0832e56.gif

    • Saturin78
      Profi
      Reaktionen
      409
      Trophäen
      10
      Beiträge
      1.340
      • 15. Mai 2016 um 18:18
      • #7

      Stimmt es eigentlich, dass diese "NoFire-SafeZones" am der Leistung des Servers nagen? ir wurde gesagt, wenn man diese einbaut verliert man gute 5 bis 10 fps.

      MfG

      Saturin78

      Tapse mich wieder ins Arma3 xxx-Life rein :D

    • Saturin78
      Profi
      Reaktionen
      409
      Trophäen
      10
      Beiträge
      1.340
      • 28. Mai 2016 um 08:06
      • #8

      Hallo zusammen,

      ich habe das eingebaut. Allerdings kann ich weiterhin Leute erschiesen in den SafeZones. Es werden keine Fehler ausgespuckt. Er ignoriert das Script einfach habe ich das Gefühl.

      Bash: fn_SafeZone.sqf
      /*
       File: fn_safezones.sqf
       Author: keine Ahnung :D Hab das Script vor ewigkeiten mal auf meiner platte Gefunden
       Editor: #Provokan
       Description: kein Kravalla in Kavalla :)
       löscht die einzelnen Kugeln. 
      */
      private ["_eh1","_inArea","_zone1","_zone2","_zone3","_zone4","_zone5","_dis"];
      _zone1 = getMarkerPos "Safe_Kav"; // <-- HIER EURE SAFE_ZONE NAMEN REIN !!!
      _zone2 = getMarkerPos "Safe_Sof"; // <-- HIER EURE SAFE_ZONE NAMEN REIN !!!
      _zone3 = getMarkerPos "Safe_Pyr"; // <-- HIER EURE SAFE_ZONE NAMEN REIN !!!
      _zone4 = getMarkerPos "Safe_Ath"; // <-- HIER EURE SAFE_ZONE NAMEN REIN !!!
      //_zone5 = getMarkerPos "safezone_5"; // <-- HIER EURE SAFE_ZONE NAMEN REIN !!!
      _dis = 175; // DISTANCE SAFE ZONE (euren Marker Radius angeben) 
      _inArea = false;
      switch (playerSide) do
      {
       case civilian:
       {
       while {true} do
       {
       if (alive player) then
       { 
       if (((_zone1 distance player < _dis) || (_zone2 distance player < _dis) || (_zone3 distance player < _dis)) || (_zone4 distance player < _dis) && (!_inArea)) then  //|| (_zone5 distance player < _dis))
       { 
       _eh1 = player addEventHandler ["fired", {deleteVehicle (_this select 6);}];
       _inArea = true;
       hint parseText "<t color='#FF0000'><t size='2'><t align='center'>Warnung<br/><br/><t align='center'><t size='1'><t color='#ffffff'>Du betrittst eine Safezone. Holster dein Waffe. Du kannst niemanden ausrauben oder töten!";
       player allowDamage false;
       };
       if (((_zone1 distance player > _dis) && (_zone2 distance player > _dis) && (_zone3 distance player > _dis)) && (_zone4 distance player > _dis) && (_inArea)) then  //&&(_zone5 distance player > _dis)
       { 
       player removeEventHandler ["fired", _eh1];
       _inArea = false;
       hint parseText "<t color='#FF0000'><t size='2'><t align='center'>Warnung<br/><br/><t align='center'><t size='1'><t color='#ffffff'>Du verlässt die Safezone.";
       player allowDamage true;
       };
       };
       };
       };
       sleep 3;
      };
      Alles anzeigen

      So ist es in der function.h eingetragen:

      Spoiler anzeigen

      class Civilian
      {
      file = "core\civilian";
      class jailMe {};
      class jail {};
      class tazed {};
      class knockedOut {};
      class knockoutAction {};
      class robReceive {};
      class robPerson {};
      class removeLicenses {};
      class demoChargeTimer {};
      class civLoadout {};
      class civInteractionMenu {};
      class hasOrgan {};
      class freezePlayer {};
      class SafeZone {};
      };

      So die Marker gesetzt über den Städten.

      Spoiler anzeigen


      class Item337
      {
      position[]={14049.032,25.638454,18751.576};
      name="Safe_Ath";
      text="Safe_Ath";
      markerType="ELLIPSE";
      type="Empty";
      colorName="ColorGreen";
      a=175;
      b=175;
      };

      class Item247
      {
      position[]={3648.7063,10.221745,13111.384};
      name="Safe_Kav";
      text="safezone";
      markerType="ELLIPSE";
      type="mil_circle";
      colorName="ColorGreen";
      a=175;
      b=175;
      };

      class Item325
      {
      position[]={25729.551,20.440516,21347.865};
      name="Safe_Sof";
      text="Safe_Sof";
      markerType="ELLIPSE";
      type="Empty";
      colorName="ColorGreen";
      a=175;
      b=175;
      };

      class Item324
      {
      position[]={16893.451,20.354923,12663.903};
      name="Safe_Pyr";
      text="Safe_Pyr";
      markerType="ELLIPSE";
      type="Empty";
      colorName="ColorGreen";
      a=175;
      b=175;
      };

      Also ich finde da keinen Fehler. Hat jemand ne Idee, warum man trotzdem jemanden erschiesen kann?

      MfG

      Saturin78

      Tapse mich wieder ins Arma3 xxx-Life rein :D

    • SBuserhy
      Kenner
      Reaktionen
      265
      Beiträge
      519
      • 28. Mai 2016 um 15:31
      • #9

      Marker im Editor eingefügt und Mission hochgeladen ?

      Code
      private ["_eh1","_inArea","_zone1","_zone2","_zone3","_zone4","_zone5","_dis"];
      _zone1 = getMarkerPos "Safe_Kav"; // <-- HIER EURE SAFE_ZONE NAMEN REIN !!!
      _zone2 = getMarkerPos "Safe_don"; // <-- HIER EURE SAFE_ZONE NAMEN REIN !!!
      _zone3 = getMarkerPos "Safe_reb"; // <-- HIER EURE SAFE_ZONE NAMEN REIN !!!
      _zone4 = getMarkerPos "safezone_4"; // <-- HIER EURE SAFE_ZONE NAMEN REIN !!!
      _zone5 = getMarkerPos "safezone_5"; // <-- HIER EURE SAFE_ZONE NAMEN REIN !!!
      _dis = 175; // DISTANCE SAFE ZONE (euren Marker Radius angeben)

      ausprobieren, lernen, weiterentwickeln, verbessern :gamer:

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

    • Saturin78
      Profi
      Reaktionen
      409
      Trophäen
      10
      Beiträge
      1.340
      • 28. Mai 2016 um 15:33
      • #10

      jap, im 2. Spoiler sind die Marker, das ist aus der mission.sqm

      Hochgeladen hab ich die auch.

      Tapse mich wieder ins Arma3 xxx-Life rein :D

    • SBuserhy
      Kenner
      Reaktionen
      265
      Beiträge
      519
      • 28. Mai 2016 um 15:35
      • #11

      jo hat ich übersehen ;(

      schon mal mit [] execVM "core\civilian\fn_SafeZone.sqf"; in der init probiert?

      ausprobieren, lernen, weiterentwickeln, verbessern :gamer:

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

    • Saturin78
      Profi
      Reaktionen
      409
      Trophäen
      10
      Beiträge
      1.340
      • 28. Mai 2016 um 15:36
      • #12

      ne noch net

      Tapse mich wieder ins Arma3 xxx-Life rein :D

    • John_Parker
      Fortgeschrittener
      Reaktionen
      37
      Trophäen
      10
      Beiträge
      338
      • 8. Juni 2016 um 07:05
      • #13
      Zitat von SBuserhy

      jo hat ich übersehen ;(

      schon mal mit [] execVM "core\civilian\fn_SafeZone.sqf"; in der init probiert?

      Ich habe die 4.4 und ich hab sie auch schon in die init.sqf geschrieben und funktioniert nicht.
      Jemand eine idee woran das liegen könnte ?

      d4ccfe34e7e85df1132cf7f0832e56.gif

    • Plotmod
      Schüler
      Reaktionen
      46
      Trophäen
      11
      Beiträge
      90
      • 8. Juni 2016 um 21:14
      • #14

      @John_Parker mach mal in dein Main File das Script rein und mach das fn_ weg. dann müsste es safezone.sqf heißen. Dann gehst du mal in die Init und schreibst []execVM "safezone.sqf"; in die Init...

      Das fn_ sollte eigentlich nicht störten aber Arma halt :D

      Mit freundlichen Grüßen

      Plotmod

    • SirFluffyVonKitten
      Nerd
      Reaktionen
      407
      Trophäen
      11
      Beiträge
      798
      Bilder
      3
      • 8. Juni 2016 um 21:15
      • #15

      Bitte zurück zum Thema ...

    • r8n8gad8
      Anfänger
      Reaktionen
      11
      Trophäen
      9
      Beiträge
      53
      • 30. August 2016 um 16:10
      • #16

      Gibt es hier eine Lösung?

      Bei mir in der 4.4R3 klappt es leider auch nicht.....

      Das hier werde ich aber heute abend mal ausprobieren:

      Zitat von Plotmod

      @John_Parker mach mal in dein Main File das Script rein und mach das fn_ weg. dann müsste es safezone.sqf heißen. Dann gehst du mal in die Init und schreibst []execVM "safezone.sqf"; in die Init...

      Das fn_ sollte eigentlich nicht störten aber Arma halt

    • CrypteX
      Fortgeschrittener
      Reaktionen
      23
      Trophäen
      9
      Beiträge
      316
      • 20. Februar 2018 um 21:41
      • #17

      Wurde dafür schon eine Lösung gefunden ? Bzw wurde das weiter verfolgt..?

    • moeck
      Erleuchteter
      Reaktionen
      632
      Trophäen
      9
      Beiträge
      3.160
      Bilder
      9
      • 21. Februar 2018 um 07:16
      • #18

      Moin,

      also eine einfache Lösung wäre das hier.

      C
      player addEventHandler ["FiredMan", {
          params ["_unit", "_weapon", "", "", "", "", "_projectile",""];
          _DeleteProjectile = false;
          _SafeZones = ["peaches_1","peaches_2","peaches_3","apple_1","apple_2","apple_3","apple_4"];
          {
              _distance = _unit distance2D (getMarkerPos _x);
              if (_distance < 50) then {_DeleteProjectile = true;};
          } foreach _SafeZones;
          _distance = _unit distance2D (getMarkerPos "rebel area_3"); //Marker für Kavala
          if(_distance < 450 && !((_unit getVariable ["admin",0]) > 0)) then {_DeleteProjectile = true;};
          if (_DeleteProjectile) then {
              deleteVehicle _projectile;
              hint "Du verschwendest deine Kugeln, hier wird nicht geschossen!";
          };    
      }];
      Alles anzeigen

      das einfach in die fn_initCiv.sqf einfügen und den Markernamen tauschen.

      Gruß,

      moeck

      Signatur? Was ist eine Signatur? Kann man das essen?

      Bitte beachten: Ich gebe keinen Support über private Nachrichten!


      Ganz wichtig: [Leitfaden] Wie frage Ich richtig um Hilfe?

      Nicht zu vergessen [Tutorial/Selbst-Test] Sollte ich einen Life Server eröffnen ?

    • CrypteX
      Fortgeschrittener
      Reaktionen
      23
      Trophäen
      9
      Beiträge
      316
      • 21. Februar 2018 um 14:31
      • #19

      Das heißt hinter "rebel area_3" kommen dann die anderen Safezones. Also Quasi so:

      Code
      player addEventHandler ["FiredMan", {
       params ["_unit", "_weapon", "", "", "", "", "_projectile",""];
       _DeleteProjectile = false;
       _SafeZones = ["peaches_1","peaches_2","peaches_3","apple_1","apple_2","apple_3","apple_4"];
       {
       _distance = _unit distance2D (getMarkerPos _x);
       if (_distance < 50) then {_DeleteProjectile = true;};
       } foreach _SafeZones;
       _distance = _unit distance2D (getMarkerPos "rebel area_3","zone_kavala","zone_athira","zone_pyrgos","zone_sofia"); //Marker für Kavala
       if(_distance < 450 && !((_unit getVariable ["admin",0]) > 0)) then {_DeleteProjectile = true;};
       if (_DeleteProjectile) then {
       deleteVehicle _projectile;
       hint "Hier wird nicht geschossen! Pack deine Waffe weg, bevor du dich selbst verletzt!";
       }; 
      }];
      Alles anzeigen

      Das ist aber keine Godmode Safezone sondern es werden nur die Projektile gelöscht versteh ich das richtig?

    • moeck
      Erleuchteter
      Reaktionen
      632
      Trophäen
      9
      Beiträge
      3.160
      Bilder
      9
      • 21. Februar 2018 um 15:03
      • #20

      Hi,

      richtig hierbei handelt es sich nicht um eine Godmode Safezone. So wie du die anderen Safezones eingefügt hast ist das leider falsch. Wenn Du weiter oben schaust existieren bereits Safezones allerdings nur mit einem Radius von 50 m um den Marker! Solltest du Weitere Safezones mit größerem Radius benötigen musst Du das anders machen!

      So ich habe dir das mal noch etwas übersichtlicher gestaltet.

      C
      player addEventHandler ["FiredMan", {
           params ["_unit", "_weapon", "", "", "", "", "_projectile",""];
           _DeleteProjectile = false;
           _SafeZones = [
              //["MarkerName",Radius]
              ["zone_kavala",450]    //Kavala im Umkreis von 450 Metern um den Marker werden die Projektile gelöscht
              ,["zone_athira",350]
              ,["zone_pyrgos",300]
              ,["zone_sofia",200]
              ,["peaches_1",50]
              ,["peaches_2",50]
              ,["peaches_3",50]
              ,["apple_1",50]
              ,["apple_2",50]
              ,["apple_3",50]
              ,["apple_4",50]
          ];
          {
              _distance = _unit distance2D (getMarkerPos _x select 0);
              if (_distance <= (_x select 1) && !((_unit getVariable ["admin",0]) > 0)) exitWith {_DeleteProjectile = true;};
          } foreach _SafeZones;
          if (_DeleteProjectile) then {
              deleteVehicle _projectile;
              hint "Hier wird nicht geschossen! Pack deine Waffe weg, bevor du dich selbst verletzt!";
          }; 
      }];
      Alles anzeigen

      Im Normalfall reicht das ja auch ^^ , ansonsten muss ich mal noch ein wenig wühlen :/

      Signatur? Was ist eine Signatur? Kann man das essen?

      Bitte beachten: Ich gebe keinen Support über private Nachrichten!


      Ganz wichtig: [Leitfaden] Wie frage Ich richtig um Hilfe?

      Nicht zu vergessen [Tutorial/Selbst-Test] Sollte ich einen Life Server eröffnen ?

    Registrieren oder Einloggen

    Du bist noch kein Mitglied von Native-Servers.com? Registriere dich kostenlos und werde Teil einer großartigen Community!

    Benutzerkonto erstellen

    Ähnliche Themen

    • Safezone

      • Julian
      • 14. August 2017 um 01:06
      • Hilfeforum
    • Safezone geht nicht

      • Steven Hunter
      • 10. März 2017 um 20:14
      • Hilfeforum

    Tags

    • Nox
    • nofire
    • safezone
    • safe
    • zone
    • kravalla

    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. Verhaltensregeln
    3. Datenschutzerklärung
    4. Impressum
    5. Urheberrechts- oder Lizenzverstoß melden
  • Trimax Design coded & layout by Gino Zantarelli 2023-2025©
    Community-Software: WoltLab Suite™