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
Sa: 24 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

    Zonenbegrenzung

      • Mapping & Modding
    • GIK_Flex
    • 5. Juni 2019 um 20:22
    • Erledigt
    • GIK_Flex
      Frischling
      Trophäen
      8
      Beiträge
      16
      • 5. Juni 2019 um 20:22
      • #1

      Guten Tag, ich würde gerne für eine PVP Map einen ausgewählten Bereich von Stratis per Zonenbeschränkung abtrennen.

      Dabei bin ich auf das Problem gestoßen das die Einheiten die man Synchronisieren soll direkt getötet werden ohne das die in die Trigger laufen die den Rand der Zone begrenzen sollen.

      Hoffentlich hat da wer mehr Ahnung als ich,

      Grüße Flex

      Einmal editiert, zuletzt von GIK_Flex (6. Juni 2019 um 12:00)

    • DragonGER
      Gast
      • 5. Juni 2019 um 23:08
      • #2

      Hallo Flex da dir noch keiner geantwortet hat und mir langweilig war habe ich dir mal flott ein script gebaut.

      Code
      params [
          ["_marker", objNull], //dein markername
          ["_players", []], //liste der spieler(unit variable name) oder [] für alle spielbaren spieler
          ["_timeout", 2], //timeout zwischen den überprüfungen 
          ["_getBackTime", 5]
      ];
      
      if(_marker isEqualTo objNull) exitWith {};
      
      if(_players isEqualTo []) then {
          _players = (call BIS_fnc_listPlayers) -  entities "HeadlessClient_F";
      };
      
      while {true} do {
          {    
              if(! (getPos _x) inArea _marker && {_x getVariable["getBackMode", 0] isEqualTo 0}) then { //wenn der spieler nicht in der zone ist und nicht bereits einen countdown hat, dann...
      
                  [_x, _marker, _getBackTime] spawn {
      
                      params ["_player", "_marker", "_timeout"];
                      _getBackMessage = format ["zurück in die Schlacht Soldat!\nDu hast noch %1 Sekunden", _timeout];
                      _getBackMessage remoteExec ["hint", _player];
                      _player setVariable ["getBackMode", 1];
      
                      sleep _timeout; //zeit bis zum tod wenn nicht wieder zurück in die Zone
                      
                      if(! (getPos _player) inArea _marker) then {
                          "Du warst zu lange außerhalb der Zoen!" remoteExec ["hint", _player];
                          sleep 1;
                          _player setDamage 1;
                      };
                      _player setVariable ["getBackMode", 0];
                  };
              };
          } count _players;
          sleep _timeout;
      };
      Alles anzeigen

      Als Parameter übergibst du folgendes:

      _marker -> deinen marker der die Kampfzone definiert. Falls du etwas fortgeschrittener bist, das ganze Funktioniert auch mit Polygonen.

      _players -> hier ein Array aus spielern übergeben, oder ein leeres Array ([]) falls du alle Spieler prüfen willst.

      _timeout -> Delay zwischen den einzelnen Prüfungen in Sekunden.

      _getBackTime -> Zeit die ein Spieler hat um in die Zone zurück zu kehren in Sekunden.

      Achtung ich habe aktuell keine Möglichkeit das Script zu testen, aber eigentlich bin ich mir sehr sicher das es geht. Wenn was nicht funktioniert sag mir bescheid.

    • GIK_Flex
      Frischling
      Trophäen
      8
      Beiträge
      16
      • 6. Juni 2019 um 11:59
      • #3

      Sau geil, ich probiere es später mal aus, vielen dank schon mal.

      Ich melde mich nochmal wenns Schwierigkeiten mit dem Skript geben sollte.

      Grüße Flex ^^

    • John Hannibal Smith
      Fortgeschrittener
      Reaktionen
      27
      Trophäen
      10
      Beiträge
      266
      • 10. Juni 2019 um 12:04
      • #4

      @DragonGER Danke für das Script! Ich arbeite mit GIK_Flex gemeinsam an diesem Server.
      Ich habe dein Script auf Polygon umgemodelt, allerdings kommt jetzt folgende Fehlermeldung:

      Verstehe ich nicht, spawn muss doch gezwungenermaßen ein Script ausführen....

      Hier der Code:

      Spoiler anzeigen
      Code
      params [
          ["_polyLine", objNull], //dein markername
          ["_players", []], //liste der spieler(unit variable name) oder [] für alle spielbaren spieler
          ["_timeout", 2], //timeout zwischen den überprüfungen 
          ["_getBackTime", 5]
      ];
      
      private _polyLine = [
          [1986.534, 5179.311, 0], 
          [1979.524, 5180.995, 0], 
          [1971.323, 5183.269, 0],
          [1968.713, 5183.744, 0],
          [1956.88, 5185.921, 0],
          [1937.723, 5191.563, 0],
          [1917.995, 5202.089, 0],
          [1902.403,  5211.313, 0],
          [1891.502, 5228.417, 0],
          [1896.303, 5250.274, 0],
          [1905.985, 5274.773, 0],
          [1916.829, 5297.033, 0],
          [1934.314, 5310.713, 0],
          [1946.833, 5320.004, 0],
          [1957.482, 5332.416, 0],
          [1959.963, 5339.295, 0],
          [1959.849, 5345.484, 0],
          [1953.676, 5351.355, 0],
          [1947.828, 5357.172, 0],
          [1941.872, 5363.046, 0],
          [1936.037, 5368.765, 0],
          [1930.185, 5374.463, 0],
          [1924.027, 5380.352, 0],
          [1918.050, 5386.118, 0],
          [1912.232, 5391.705, 0],
          [1906.540, 5397.336, 0],
          [1902.756, 5404.166, 0],
          [1900.837, 5411.918, 0],
          [1899.186, 5419.362, 0],
          [1880.161, 5500.181, 0],
          [1879.907, 5507.881, 0],
          [1892.381, 5582.235, 0],
          [1892.642, 5590.173, 0],
          [1887.330, 5631.883, 0],
          [1887.712, 5640.014, 0],
          [1904.637, 5712.227, 0],
          [1908.289, 5717.200, 0],
          [1922.702, 5714.576, 0],
          [1927.077, 5718.462, 0],
          [1936.641, 5749.801, 0],
          [1941.174, 5753.708, 0],
          [1949.512, 5754.821, 0],
          [1957.666, 5754.603, 0],
          [2012.233, 5743.442, 0],
          [2002.056, 5695.934, 0],
          [2004.272, 5693.29, 0],
          [2040.201, 5684.704, 0],
          [2053.538, 5727.809, 0],
          [2072.071, 5814.352, 0],
          [2269.266, 5772.503, 0],
          [2332.085, 5736.520, 0],
          [2358.211, 5726.460, 0],
          [2423.367, 5697.709, 0],
          [2435.528, 5710.725, 0],
          [2454.132, 5707.305, 0],
          [2475.289, 5688.107, 0],
          [2480.624, 5682.058, 0],
          [2484.151, 5675.069, 0],
          [2484.62, 5667.349, 0],
          [2482.286, 5659.604, 0],
          [2479.137, 5651.976, 0],
          [2475.214, 5644.954, 0],
          [2470.739, 5637.909, 0],
          [2466.238, 5630.803, 0],
          [2435.028, 5584.031, 0],
          [2389.552, 5523.322, 0],
          [2383.993, 5519.519, 0],
          [2369.622, 5515.908, 0],
          [2364.236, 5511.7, 0],
          [2354.652, 5493.892, 0],
          [2349.254, 5490.040, 0],
          [2336.188, 5489.371, 0],
          [2286.325, 5465.517, 0],
          [2259.827, 5436.423, 0],
          [2258.562, 5412.737, 0],
          [2263.803, 5401.691, 0],
          [2260.236, 5320.615, 0],
          [2256.428, 5315.472, 0],
          [2135.34, 5261.217, 0],
          [2125.990, 5248.724, 0],
          [2112.118, 5218.841, 0],
          [2107.355, 5212.904, 0],
          [2092.907, 5206.104, 0],
          [2077.281, 5202.245, 0],
          [2054.966, 5197.928, 0],
          [2041.966, 5187.989, 0],
          [2035.924, 5173.868, 0],
          [2029.204, 5159.898, 0],
          [2026.422, 5157.122, 0],
          [2018.133, 5158.657, 0],
          [2013.385, 5168.234, 0],
          [2007.346, 5158.045, 0],
          [1987.781, 5163.728, 0],
          [1990.569, 5177.689, 0]
      ];
      
      if(_polyLine isEqualTo objNull) exitWith {};
      
      if(_players isEqualTo []) then {
          _players = (call BIS_fnc_listPlayers) - entities "HeadlessClient_F";
      };
      
      while {true} do {
          { 
              if(!((getPos _x) inPolygon _polyLine) && (_x getVariable["getBackMode", 0] isEqualTo 0)) then { //wenn der spieler nicht in der zone ist und nicht bereits einen countdown hat, dann...
                  [_x, _polyLine, _getBackTime] spawn {
                      params ["_player", "_polyLine", "_timeout"];
                      _getBackMessage = format ["zurück in die Schlacht Soldat!\nDu hast noch %1 Sekunden", _timeout];
                      _getBackMessage remoteExec ["hint", _player];
                      _player setVariable ["getBackMode", 1];
                          sleep _timeout; //zeit bis zum tod wenn nicht wieder zurück in die Zone
                      if(!((getPos player) inPolygon _polyLine)) then {
                          "Du warst zu lange außerhalb der Zone!" remoteExec ["hint", _player];
                          sleep 1;
                          _player setDamage 1;
                      };
                      _player setVariable ["getBackMode", 0];
                  };
              };
          } count _players;
          sleep _timeout;
      };
      Alles anzeigen

      Die Zeile stimmt natürlich nicht, es handelt sich hier um die Zeile 114.

      Weißt du was da los ist?

      Danke für die Hilfe!

      georgepeppard.jpg"Ich liebe es, wenn ein Plan funktioniert!"

      ~ Col. John 'Hannibal' Smith


      Good to know:

      Spyglass benutzen ohne Frust
      Spielerinteraktionsmenü für Zivilisten

      Für private gemoddete Missionen komm doch auf den TeamSpeak realhunters.de oder auf diesen Discord!

      Einmal editiert, zuletzt von John Hannibal Smith (10. Juni 2019 um 12:14)

    • DragonGER
      Gast
      • 10. Juni 2019 um 12:50
      • #5

      Ersetz mal das count _players durch forEach never mind schwachsinn.

      Uff ich sehe es grade auch nicht, in 3-4 Stunden kann ich den Code mal debuggen und schauen.

      Einmal editiert, zuletzt von DragonGER (10. Juni 2019 um 12:56)

    • DragonGER
      Gast
      • 10. Juni 2019 um 13:02
      • #6

      Okay ich habs. Mit foreach würde es doch funktionieren, aber eigentliche Grund ist, das count einen bool Wert am Ende erwartet. Also einfach ein False reingeknallt und die Sache sollte laufen.

      Code
      params [
       ["_polyLine", objNull], //dein markername
       ["_players", []], //liste der spieler(unit variable name) oder [] für alle spielbaren spieler
       ["_timeout", 2], //timeout zwischen den überprüfungen 
       ["_getBackTime", 5]
      ];
      private _polyLine = [
       [1986.534, 5179.311, 0], 
       [1979.524, 5180.995, 0], 
       [1971.323, 5183.269, 0],
       [1968.713, 5183.744, 0],
       [1956.88, 5185.921, 0],
       [1937.723, 5191.563, 0],
       [1917.995, 5202.089, 0],
       [1902.403, 5211.313, 0],
       [1891.502, 5228.417, 0],
       [1896.303, 5250.274, 0],
       [1905.985, 5274.773, 0],
       [1916.829, 5297.033, 0],
       [1934.314, 5310.713, 0],
       [1946.833, 5320.004, 0],
       [1957.482, 5332.416, 0],
       [1959.963, 5339.295, 0],
       [1959.849, 5345.484, 0],
       [1953.676, 5351.355, 0],
       [1947.828, 5357.172, 0],
       [1941.872, 5363.046, 0],
       [1936.037, 5368.765, 0],
       [1930.185, 5374.463, 0],
       [1924.027, 5380.352, 0],
       [1918.050, 5386.118, 0],
       [1912.232, 5391.705, 0],
       [1906.540, 5397.336, 0],
       [1902.756, 5404.166, 0],
       [1900.837, 5411.918, 0],
       [1899.186, 5419.362, 0],
       [1880.161, 5500.181, 0],
       [1879.907, 5507.881, 0],
       [1892.381, 5582.235, 0],
       [1892.642, 5590.173, 0],
        [1887.330, 5631.883, 0],
       [1887.712, 5640.014, 0],
       [1904.637, 5712.227, 0],
       [1908.289, 5717.200, 0],
       [1922.702, 5714.576, 0],
       [1927.077, 5718.462, 0],
       [1936.641, 5749.801, 0],
       [1941.174, 5753.708, 0],
       [1949.512, 5754.821, 0],
       [1957.666, 5754.603, 0],
       [2012.233, 5743.442, 0],
       [2002.056, 5695.934, 0],
       [2004.272, 5693.29, 0],
       [2040.201, 5684.704, 0],
       [2053.538, 5727.809, 0],
       [2072.071, 5814.352, 0],
       [2269.266, 5772.503, 0],
       [2332.085, 5736.520, 0],
       [2358.211, 5726.460, 0],
       [2423.367, 5697.709, 0],
       [2435.528, 5710.725, 0],
       [2454.132, 5707.305, 0],
       [2475.289, 5688.107, 0],
       [2480.624, 5682.058, 0],
       [2484.151, 5675.069, 0],
       [2484.62, 5667.349, 0],
       [2482.286, 5659.604, 0],
       [2479.137, 5651.976, 0],
       [2475.214, 5644.954, 0],
       [2470.739, 5637.909, 0],
       [2466.238, 5630.803, 0],
       [2435.028, 5584.031, 0],
       [2389.552, 5523.322, 0],
       [2383.993, 5519.519, 0],
       [2369.622, 5515.908, 0],
       [2364.236, 5511.7, 0],
       [2354.652, 5493.892, 0],
       [2349.254, 5490.040, 0],
       [2336.188, 5489.371, 0],
       [2286.325, 5465.517, 0],
       [2259.827, 5436.423, 0],
       [2258.562, 5412.737, 0],
       [2263.803, 5401.691, 0],
       [2260.236, 5320.615, 0],
       [2256.428, 5315.472, 0],
       [2135.34, 5261.217, 0],
       [2125.990, 5248.724, 0],
       [2112.118, 5218.841, 0],
       [2107.355, 5212.904, 0],
       [2092.907, 5206.104, 0],
       [2077.281, 5202.245, 0],
       [2054.966, 5197.928, 0],
       [2041.966, 5187.989, 0],
       [2035.924, 5173.868, 0],
       [2029.204, 5159.898, 0],
       [2026.422, 5157.122, 0],
       [2018.133, 5158.657, 0],
       [2013.385, 5168.234, 0],
       [2007.346, 5158.045, 0],
       [1987.781, 5163.728, 0],
       [1990.569, 5177.689, 0]
      ];
      if(_polyLine isEqualTo objNull) exitWith {};
      if(_players isEqualTo []) then {
       _players = (call BIS_fnc_listPlayers) - entities "HeadlessClient_F";
      };
      while {true} do {
       { 
       if(!((getPos _x) inPolygon _polyLine) && (_x getVariable["getBackMode", 0] isEqualTo 0)) then { //wenn der spieler nicht in der zone ist und nicht bereits einen countdown hat, dann...
       [_x, _polyLine, _getBackTime] spawn {
       params ["_player", "_polyLine", "_timeout"];
       _getBackMessage = format ["zurück in die Schlacht Soldat!\nDu hast noch %1 Sekunden", _timeout];
       _getBackMessage remoteExec ["hint", _player];
       _player setVariable ["getBackMode", 1];
       sleep _timeout; //zeit bis zum tod wenn nicht wieder zurück in die Zone
       if(!((getPos player) inPolygon _polyLine)) then {
       "Du warst zu lange außerhalb der Zone!" remoteExec ["hint", _player];
       sleep 1;
       _player setDamage 1;
       };
       _player setVariable ["getBackMode", 0];
       };
       };
       false
       } count _players;
       sleep _timeout;
      };
      Alles anzeigen
    • John Hannibal Smith
      Fortgeschrittener
      Reaktionen
      27
      Trophäen
      10
      Beiträge
      266
      • 10. Juni 2019 um 18:17
      • #7
      Zitat von DragonGER

      Okay ich habs. Mit foreach würde es doch funktionieren, aber eigentliche Grund ist, das count einen bool Wert am Ende erwartet. Also einfach ein False reingeknallt und die Sache sollte laufen.

      Code
      params [
       ["_polyLine", objNull], //dein markername
       ["_players", []], //liste der spieler(unit variable name) oder [] für alle spielbaren spieler
       ["_timeout", 2], //timeout zwischen den überprüfungen 
       ["_getBackTime", 5]
      ];
      private _polyLine = [
       [1986.534, 5179.311, 0], 
       [1979.524, 5180.995, 0], 
       [1971.323, 5183.269, 0],
       [1968.713, 5183.744, 0],
       [1956.88, 5185.921, 0],
       [1937.723, 5191.563, 0],
       [1917.995, 5202.089, 0],
       [1902.403, 5211.313, 0],
       [1891.502, 5228.417, 0],
       [1896.303, 5250.274, 0],
       [1905.985, 5274.773, 0],
       [1916.829, 5297.033, 0],
       [1934.314, 5310.713, 0],
       [1946.833, 5320.004, 0],
       [1957.482, 5332.416, 0],
       [1959.963, 5339.295, 0],
       [1959.849, 5345.484, 0],
       [1953.676, 5351.355, 0],
       [1947.828, 5357.172, 0],
       [1941.872, 5363.046, 0],
       [1936.037, 5368.765, 0],
       [1930.185, 5374.463, 0],
       [1924.027, 5380.352, 0],
       [1918.050, 5386.118, 0],
       [1912.232, 5391.705, 0],
       [1906.540, 5397.336, 0],
       [1902.756, 5404.166, 0],
       [1900.837, 5411.918, 0],
       [1899.186, 5419.362, 0],
       [1880.161, 5500.181, 0],
       [1879.907, 5507.881, 0],
       [1892.381, 5582.235, 0],
       [1892.642, 5590.173, 0],
        [1887.330, 5631.883, 0],
       [1887.712, 5640.014, 0],
       [1904.637, 5712.227, 0],
       [1908.289, 5717.200, 0],
       [1922.702, 5714.576, 0],
       [1927.077, 5718.462, 0],
       [1936.641, 5749.801, 0],
       [1941.174, 5753.708, 0],
       [1949.512, 5754.821, 0],
       [1957.666, 5754.603, 0],
       [2012.233, 5743.442, 0],
       [2002.056, 5695.934, 0],
       [2004.272, 5693.29, 0],
       [2040.201, 5684.704, 0],
       [2053.538, 5727.809, 0],
       [2072.071, 5814.352, 0],
       [2269.266, 5772.503, 0],
       [2332.085, 5736.520, 0],
       [2358.211, 5726.460, 0],
       [2423.367, 5697.709, 0],
       [2435.528, 5710.725, 0],
       [2454.132, 5707.305, 0],
       [2475.289, 5688.107, 0],
       [2480.624, 5682.058, 0],
       [2484.151, 5675.069, 0],
       [2484.62, 5667.349, 0],
       [2482.286, 5659.604, 0],
       [2479.137, 5651.976, 0],
       [2475.214, 5644.954, 0],
       [2470.739, 5637.909, 0],
       [2466.238, 5630.803, 0],
       [2435.028, 5584.031, 0],
       [2389.552, 5523.322, 0],
       [2383.993, 5519.519, 0],
       [2369.622, 5515.908, 0],
       [2364.236, 5511.7, 0],
       [2354.652, 5493.892, 0],
       [2349.254, 5490.040, 0],
       [2336.188, 5489.371, 0],
       [2286.325, 5465.517, 0],
       [2259.827, 5436.423, 0],
       [2258.562, 5412.737, 0],
       [2263.803, 5401.691, 0],
       [2260.236, 5320.615, 0],
       [2256.428, 5315.472, 0],
       [2135.34, 5261.217, 0],
       [2125.990, 5248.724, 0],
       [2112.118, 5218.841, 0],
       [2107.355, 5212.904, 0],
       [2092.907, 5206.104, 0],
       [2077.281, 5202.245, 0],
       [2054.966, 5197.928, 0],
       [2041.966, 5187.989, 0],
       [2035.924, 5173.868, 0],
       [2029.204, 5159.898, 0],
       [2026.422, 5157.122, 0],
       [2018.133, 5158.657, 0],
       [2013.385, 5168.234, 0],
       [2007.346, 5158.045, 0],
       [1987.781, 5163.728, 0],
       [1990.569, 5177.689, 0]
      ];
      if(_polyLine isEqualTo objNull) exitWith {};
      if(_players isEqualTo []) then {
       _players = (call BIS_fnc_listPlayers) - entities "HeadlessClient_F";
      };
      while {true} do {
       { 
       if(!((getPos _x) inPolygon _polyLine) && (_x getVariable["getBackMode", 0] isEqualTo 0)) then { //wenn der spieler nicht in der zone ist und nicht bereits einen countdown hat, dann...
       [_x, _polyLine, _getBackTime] spawn {
       params ["_player", "_polyLine", "_timeout"];
       _getBackMessage = format ["zurück in die Schlacht Soldat!\nDu hast noch %1 Sekunden", _timeout];
       _getBackMessage remoteExec ["hint", _player];
       _player setVariable ["getBackMode", 1];
       sleep _timeout; //zeit bis zum tod wenn nicht wieder zurück in die Zone
       if(!((getPos player) inPolygon _polyLine)) then {
       "Du warst zu lange außerhalb der Zone!" remoteExec ["hint", _player];
       sleep 1;
       _player setDamage 1;
       };
       _player setVariable ["getBackMode", 0];
       };
       };
       false
       } count _players;
       sleep _timeout;
      };
      Alles anzeigen

      Danke! jedoch kommt die Meldung, dass man nicht mehr in der Zone ist direkt wenn man spawnt...

      georgepeppard.jpg"Ich liebe es, wenn ein Plan funktioniert!"

      ~ Col. John 'Hannibal' Smith


      Good to know:

      Spyglass benutzen ohne Frust
      Spielerinteraktionsmenü für Zivilisten

      Für private gemoddete Missionen komm doch auf den TeamSpeak realhunters.de oder auf diesen Discord!

    • DragonGER
      Gast
      • 11. Juni 2019 um 16:10
      • #8

      Wenn man nicht in der Zone spawnt wird das normal sein? Oder passiert das trotzdem?

    • John Hannibal Smith
      Fortgeschrittener
      Reaktionen
      27
      Trophäen
      10
      Beiträge
      266
      • 11. Juni 2019 um 17:51
      • #9
      Zitat von DragonGER

      Wenn man nicht in der Zone spawnt wird das normal sein? Oder passiert das trotzdem?

      Man Spawnt aber in der Zone ;)

      georgepeppard.jpg"Ich liebe es, wenn ein Plan funktioniert!"

      ~ Col. John 'Hannibal' Smith


      Good to know:

      Spyglass benutzen ohne Frust
      Spielerinteraktionsmenü für Zivilisten

      Für private gemoddete Missionen komm doch auf den TeamSpeak realhunters.de oder auf diesen Discord!

    • DragonGER
      Gast
      • 11. Juni 2019 um 18:13
      • #10

      kann sein, dass je nachdem der Spieler noch nicht direkt korrekt initialisiert ist und die Position in dem Fall noch [0,0,0] ist.

    • John Hannibal Smith
      Fortgeschrittener
      Reaktionen
      27
      Trophäen
      10
      Beiträge
      266
      • 11. Juni 2019 um 18:57
      • #11
      Zitat von DragonGER

      kann sein, dass je nachdem der Spieler noch nicht direkt korrekt initialisiert ist und die Position in dem Fall noch [0,0,0] ist.

      Dann reicht doch eigentlich eine einfache if location player != [0, 0, 0], oder nicht?

      georgepeppard.jpg"Ich liebe es, wenn ein Plan funktioniert!"

      ~ Col. John 'Hannibal' Smith


      Good to know:

      Spyglass benutzen ohne Frust
      Spielerinteraktionsmenü für Zivilisten

      Für private gemoddete Missionen komm doch auf den TeamSpeak realhunters.de oder auf diesen Discord!

    • DragonGER
      Gast
      • 11. Juni 2019 um 20:00
      • #12

      mit getPos

    • John Hannibal Smith
      Fortgeschrittener
      Reaktionen
      27
      Trophäen
      10
      Beiträge
      266
      • 12. Juni 2019 um 09:33
      • #13
      Zitat von DragonGER

      mit getPos

      Das ist klar, ich hab nur Pseudocode geschrieben ;)

      Mit diesem hier geht es allerdings nicht... if(!((getPos _x) inPolygon _polyLine) && (_x getVariable["getBackMode", 0] isEqualTo 0) && (str (getPos player) != "[0,0,0]"))

      georgepeppard.jpg"Ich liebe es, wenn ein Plan funktioniert!"

      ~ Col. John 'Hannibal' Smith


      Good to know:

      Spyglass benutzen ohne Frust
      Spielerinteraktionsmenü für Zivilisten

      Für private gemoddete Missionen komm doch auf den TeamSpeak realhunters.de oder auf diesen Discord!

    • DragonGER
      Gast
      • 12. Juni 2019 um 09:52
      • #14

      wieso machst du beides zu einem string? Du kannst die pos Arrays direkt vergleichen. Du kannst auch nicht player nutzen da es zu dem Zeitpunkt nicht defined ist auf dem Server. _x beinhaltet das Player Objekt.

      getPos _x isEqualTo [0,0,0]

    • John Hannibal Smith
      Fortgeschrittener
      Reaktionen
      27
      Trophäen
      10
      Beiträge
      266
      • 12. Juni 2019 um 10:41
      • #15
      Zitat von DragonGER

      wieso machst du beides zu einem string? Du kannst die pos Arrays direkt vergleichen. Du kannst auch nicht player nutzen da es zu dem Zeitpunkt nicht defined ist auf dem Server. _x beinhaltet das Player Objekt.

      getPos _x isEqualTo [0,0,0]

      Ah, nach der Funktion habe ich gesucht ;)

      Jedoch passiert jetzt folgendes:

      - Ich joine auf der Map, bekomme die Meldung trotz allem noch.

      - Ich verlasse das Polygon, bekomme die Meldung, dass ich zu lange außerhalb der Zone war

      - Sterbe nicht!

      Keine Scriptfehler angezeigt.

      Hier mal das ganze aktuelle Script:

      Spoiler anzeigen
      Code
      params [
          ["_polyLine", objNull], //dein markername
          ["_players", []], //liste der spieler(unit variable name) oder [] für alle spielbaren spieler
          ["_timeout", 2], //timeout zwischen den überprüfungen 
          ["_getBackTime", 5]
      ];
      
      private _polyLine = [
          [1986.534, 5179.311, 0], 
          [1979.524, 5180.995, 0], 
          [1971.323, 5183.269, 0],
          [1968.713, 5183.744, 0],
          [1956.88, 5185.921, 0],
          [1937.723, 5191.563, 0],
          [1917.995, 5202.089, 0],
          [1902.403,  5211.313, 0],
          [1891.502, 5228.417, 0],
          [1896.303, 5250.274, 0],
          [1905.985, 5274.773, 0],
          [1916.829, 5297.033, 0],
          [1934.314, 5310.713, 0],
          [1946.833, 5320.004, 0],
          [1957.482, 5332.416, 0],
          [1959.963, 5339.295, 0],
          [1959.849, 5345.484, 0],
          [1953.676, 5351.355, 0],
          [1947.828, 5357.172, 0],
          [1941.872, 5363.046, 0],
          [1936.037, 5368.765, 0],
          [1930.185, 5374.463, 0],
          [1924.027, 5380.352, 0],
          [1918.050, 5386.118, 0],
          [1912.232, 5391.705, 0],
          [1906.540, 5397.336, 0],
          [1902.756, 5404.166, 0],
          [1900.837, 5411.918, 0],
          [1899.186, 5419.362, 0],
          [1880.161, 5500.181, 0],
          [1879.907, 5507.881, 0],
          [1892.381, 5582.235, 0],
          [1892.642, 5590.173, 0],
          [1887.330, 5631.883, 0],
          [1887.712, 5640.014, 0],
          [1904.637, 5712.227, 0],
          [1908.289, 5717.200, 0],
          [1922.702, 5714.576, 0],
          [1927.077, 5718.462, 0],
          [1936.641, 5749.801, 0],
          [1941.174, 5753.708, 0],
          [1949.512, 5754.821, 0],
          [1957.666, 5754.603, 0],
          [2012.233, 5743.442, 0],
          [2002.056, 5695.934, 0],
          [2004.272, 5693.29, 0],
          [2040.201, 5684.704, 0],
          [2053.538, 5727.809, 0],
          [2072.071, 5814.352, 0],
          [2269.266, 5772.503, 0],
          [2332.085, 5736.520, 0],
          [2358.211, 5726.460, 0],
          [2423.367, 5697.709, 0],
          [2435.528, 5710.725, 0],
          [2454.132, 5707.305, 0],
          [2475.289, 5688.107, 0],
          [2480.624, 5682.058, 0],
          [2484.151, 5675.069, 0],
          [2484.62, 5667.349, 0],
          [2482.286, 5659.604, 0],
          [2479.137, 5651.976, 0],
          [2475.214, 5644.954, 0],
          [2470.739, 5637.909, 0],
          [2466.238, 5630.803, 0],
          [2435.028, 5584.031, 0],
          [2389.552, 5523.322, 0],
          [2383.993, 5519.519, 0],
          [2369.622, 5515.908, 0],
          [2364.236, 5511.7, 0],
          [2354.652, 5493.892, 0],
          [2349.254, 5490.040, 0],
          [2336.188, 5489.371, 0],
          [2286.325, 5465.517, 0],
          [2259.827, 5436.423, 0],
          [2258.562, 5412.737, 0],
          [2263.803, 5401.691, 0],
          [2260.236, 5320.615, 0],
          [2256.428, 5315.472, 0],
          [2135.34, 5261.217, 0],
          [2125.990, 5248.724, 0],
          [2112.118, 5218.841, 0],
          [2107.355, 5212.904, 0],
          [2092.907, 5206.104, 0],
          [2077.281, 5202.245, 0],
          [2054.966, 5197.928, 0],
          [2041.966, 5187.989, 0],
          [2035.924, 5173.868, 0],
          [2029.204, 5159.898, 0],
          [2026.422, 5157.122, 0],
          [2018.133, 5158.657, 0],
          [2013.385, 5168.234, 0],
          [2007.346, 5158.045, 0],
          [1987.781, 5163.728, 0],
          [1990.569, 5177.689, 0]
      ];
      
      if(_polyLine isEqualTo objNull) exitWith {};
      
      if(_players isEqualTo []) then {
          _players = (call BIS_fnc_listPlayers) - entities "HeadlessClient_F";
      };
      
      while {true} do {
          { 
              if(!((getPos _x) inPolygon _polyLine) && (_x getVariable["getBackMode", 0] isEqualTo 0) && !(getPos _x isEqualTo [0,0,0])) then { //wenn der spieler nicht in der zone ist und nicht bereits einen countdown hat, dann...
                  [_x, _polyLine, _getBackTime] spawn {
                      params ["_player", "_polyLine", "_timeout"];
                      _getBackMessage = format ["zurück in die Schlacht Soldat!\nDu hast noch %1 Sekunden", _timeout];
                      _getBackMessage remoteExec ["hint", _player];
                      _player setVariable ["getBackMode", 1];
                          sleep _timeout; //zeit bis zum tod wenn nicht wieder zurück in die Zone
                      if(!((getPos player) inPolygon _polyLine)) then {
                          "Du warst zu lange außerhalb der Zone!" remoteExec ["hint", _player];
                          sleep 1;
                          _player setDamage 1;
                      };
                      _player setVariable ["getBackMode", 0];
                  };
              };
              false
          } count _players;
          sleep _timeout;
      };
      Alles anzeigen

      georgepeppard.jpg"Ich liebe es, wenn ein Plan funktioniert!"

      ~ Col. John 'Hannibal' Smith


      Good to know:

      Spyglass benutzen ohne Frust
      Spielerinteraktionsmenü für Zivilisten

      Für private gemoddete Missionen komm doch auf den TeamSpeak realhunters.de oder auf diesen Discord!

    Registrieren oder Einloggen

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

    Registrieren

    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™