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
Mo: 30 Juni 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. Entwicklung & Codeschnipsel

    [SCHNIPSEL] Brandmeldeanlage

      • Altis Life
    • Natic
    • 6. April 2019 um 18:46
    • Natic
      Fortgeschrittener
      Reaktionen
      66
      Trophäen
      10
      Beiträge
      408
      • 6. April 2019 um 18:46
      • #1

      Hey NN,

      ich möchte euch Schnipsel von meinem BMZ Script geben.

      Es entstand so, dass ich ja aus der Feuerwehr komme und ich eine BMZ Anlage verwirklicht habe :D

      Ich habe es letze Woche entwickelt doch die Zwei Dateien sind weg :D

      Was macht das BMZ Script:

      Es wird per Random Floor Prinzip ein Marker irgendwo auf der Karte erstellt, ebenfalls bekommen die Medics

      eine Meldung, dass die BMZ ausgelöst ist.

      Es war ein Script, dass an der BMZ Fehlalarme aber auch richtiges Feuer sein kann, da ich die Dialoge (für die BMZ) und das Feuer Script verloren habe, möchte ich euch einfach

      nur den Auslöser des Script geben.

      Wenn ich lust und Laune habe, werde ich das Script vervollständigen und hier als Tutorial posten.

      Hier die Schnipsel:

      fn_BMZ_Alarm.sqf

      Code
      /*
          Auhtor: Natic | Technic-Zone.de
          Date: 06.04.2019
          
          Nobody is allowed to use or edit this Script without my Permissions
      */
      private ["_chance","_side","_alarm","_pos","_marker"];
      
      _chance = floor(random(100));
      _alarm = this select 1;
      
      
      if ((_chance <= 30) || (_chance == 45)) then {
          
      _pos = call BIS_fnc_randomPos;
      _marker = createMarkerLocal [format["BMZ_marker"],_pos]; 
      _marker setMarkerColorLocal "ColorRed"; 
      _marker setMarkerTypeLocal "mil_warning"; 
      _marker setMarkerTextLocal format["!!! BMZ EINGELAUFEN !!!"];
      1 = _marker spawn {sleep 500; deleteMarkerLocal _this;};
      
      call life_fnc_BMZ_msg;
      } else {};
      
      //Fehlender Aufruf für fn_startfire.sqf und fn_wrongAlarm.sqf
      Alles anzeigen

      fn_BMZ_msg.sqf

      Code
      /*
          Auhtor: Natic | Technic-Zone.de
          Date: 06.04.2019
          
          Nobody is allowed to use or edit this Script without my Permissions
      */
      private ["_marker"];
      ["BMZ Einsatzmeldung", format["<t align='center' font='PuristaBold' size='2' color='#ff0000'>BMZ EINGELAUFEN</t><br/><br/><t align='center' size='1.5'>%3<br/><br/>Eine BMZ ist eingelaufen<br/> Siehe Karte!</t>",,'============'], false, "fast"] remoteExecCall ["natic_msgsystem", independent];
      "alarm" remoteExec["playsound", independent];

      Viel spaß damit, vielleicht könnt ihr daraus ja was zaubern XD

      Mit freundlichen Grüßen

      Natic

      --------------------------------------------------------------------------------------------------------------------------

      Kein direkten PN - Support

      --------------------------------------------------------------------------------------------------------------------------

      Programierung

      Wir lieben

      es

    • Natic
      Fortgeschrittener
      Reaktionen
      66
      Trophäen
      10
      Beiträge
      408
      • 6. April 2019 um 19:43
      • #2

      Ergänzung: Bezüglich Fehlalarm, kann man einfach abfragen ob der Spieler die BMZ geöffnet hat und dann im random Floor einen Hint erzeugen

      Beispiel: hint "Mhh, war wohl ein Fehlalarm";

      Bezüglich richtigem Feuer werde ich mal schauen ^^

      Mit freundlichen Grüßen

      Natic

      --------------------------------------------------------------------------------------------------------------------------

      Kein direkten PN - Support

      --------------------------------------------------------------------------------------------------------------------------

      Programierung

      Wir lieben

      es

    • Natic
      Fortgeschrittener
      Reaktionen
      66
      Trophäen
      10
      Beiträge
      408
      • 7. April 2019 um 16:55
      • #3

      VERBESSERUNG:

      Das Script ist aktuell in Entwicklung und wird bald als Tutorial veröffentlicht.

      Ich versuche das Script so Performance schonend wie möglich zu entwickeln.

      Danke an Alice Kingsleigh für die Hilfe mit dem Feuer Objekt

      und Danke an BlueType für die Entwicklung an den Dialogen ^^

      Die Dateien sind im Anhang, VORSICHT: Es ist noch nicht fertig!

      IHR SIEHT NUR DIE ENTWICKLUNGS STADIEN

      Dateien

      fn_BMZ_delete.sqf 339 Byte – 165 Downloads fn_BMZ_fire.sqf 1,24 kB – 258 Downloads fn_BMZ_loop.sqf 395 Byte – 170 Downloads fn_BMZ_msg.sqf 560 Byte – 178 Downloads fn_BMZ_miss.sqf 1,59 kB – 190 Downloads

      Mit freundlichen Grüßen

      Natic

      --------------------------------------------------------------------------------------------------------------------------

      Kein direkten PN - Support

      --------------------------------------------------------------------------------------------------------------------------

      Programierung

      Wir lieben

      es

    • gruescho I TikroMilan
      Amateur
      Reaktionen
      22
      Trophäen
      10
      Beiträge
      218
      Dateien
      3
      Bilder
      6
      • 7. April 2019 um 17:04
      • #4

      mega geil das du das machst weil ich suche so ein script und habe schon seit einer woche gesucht und gefragt danke das du das machst.

      Hoffe es wird schnell fertig :)

      LakesideLife - Projektleiter

      TS: LakesideLife | Server Ip: /////


      LakesideLife | Milan

      ______________________

      Meine Links:

      ?key=9b1f1408acddad23362056b405820a500853552186bb7994e64e44ee6c045a66-aHR0cDovL3MzLm5ldHVwbG9hZC5kZS9maWxlLzE3MTEzMC9BdWVmYVFrNC5wbmc%3D ?key=3d94fd3505940db19f73ee98459a3cdcbea87c5d3dcd74d5cfdbf59f3b404e06-aHR0cDovL3MxLm5ldHVwbG9hZC5kZS9maWxlLzE3MTEzMC9mWGdPc1R0Yi5wbmc%3D ?key=dda62bc0d84cb19826ddedf02f7395f93c05a176d585bd168edf2530017c3437-aHR0cDovL25pY2VreXBlLmRlL2ltYWdlcy9pbnN0YWdyYW0tbGl0dGxlLnBuZw%3D%3D ?key=177ef3121cf7bf978fac9b1fe07ab5df0de6bbf1b9d15846db2b270e4375eec7-aHR0cDovL25pY2VreXBlLmRlL2ltYWdlcy9zdGVhbS1saXR0bGUucG5n

      Schaut Vorbei<3

      ______________________

    • gruescho I TikroMilan
      Amateur
      Reaktionen
      22
      Trophäen
      10
      Beiträge
      218
      Dateien
      3
      Bilder
      6
      • 7. April 2019 um 17:06
      • #5

      wo sollen denn alle diese dateien hin dann kann mann die schonmal da hinpacken

      LakesideLife - Projektleiter

      TS: LakesideLife | Server Ip: /////


      LakesideLife | Milan

      ______________________

      Meine Links:

      ?key=9b1f1408acddad23362056b405820a500853552186bb7994e64e44ee6c045a66-aHR0cDovL3MzLm5ldHVwbG9hZC5kZS9maWxlLzE3MTEzMC9BdWVmYVFrNC5wbmc%3D ?key=3d94fd3505940db19f73ee98459a3cdcbea87c5d3dcd74d5cfdbf59f3b404e06-aHR0cDovL3MxLm5ldHVwbG9hZC5kZS9maWxlLzE3MTEzMC9mWGdPc1R0Yi5wbmc%3D ?key=dda62bc0d84cb19826ddedf02f7395f93c05a176d585bd168edf2530017c3437-aHR0cDovL25pY2VreXBlLmRlL2ltYWdlcy9pbnN0YWdyYW0tbGl0dGxlLnBuZw%3D%3D ?key=177ef3121cf7bf978fac9b1fe07ab5df0de6bbf1b9d15846db2b270e4375eec7-aHR0cDovL25pY2VreXBlLmRlL2ltYWdlcy9zdGVhbS1saXR0bGUucG5n

      Schaut Vorbei<3

      ______________________

    • Natic
      Fortgeschrittener
      Reaktionen
      66
      Trophäen
      10
      Beiträge
      408
      • 7. April 2019 um 17:07
      • #6

      Du kannst die irgendwo hinpacken, aber ich würde es lassen, da ich denke das sich noch was Ändern wird

      Mit freundlichen Grüßen

      Natic

      --------------------------------------------------------------------------------------------------------------------------

      Kein direkten PN - Support

      --------------------------------------------------------------------------------------------------------------------------

      Programierung

      Wir lieben

      es

    • gruescho I TikroMilan
      Amateur
      Reaktionen
      22
      Trophäen
      10
      Beiträge
      218
      Dateien
      3
      Bilder
      6
      • 7. April 2019 um 17:20
      • #7
      Zitat von Natic

      Du kannst die irgendwo hinpacken, aber ich würde es lassen, da ich denke das sich noch was Ändern wird

      ok dann warte ich auf die updates/Tutorial

      LakesideLife - Projektleiter

      TS: LakesideLife | Server Ip: /////


      LakesideLife | Milan

      ______________________

      Meine Links:

      ?key=9b1f1408acddad23362056b405820a500853552186bb7994e64e44ee6c045a66-aHR0cDovL3MzLm5ldHVwbG9hZC5kZS9maWxlLzE3MTEzMC9BdWVmYVFrNC5wbmc%3D ?key=3d94fd3505940db19f73ee98459a3cdcbea87c5d3dcd74d5cfdbf59f3b404e06-aHR0cDovL3MxLm5ldHVwbG9hZC5kZS9maWxlLzE3MTEzMC9mWGdPc1R0Yi5wbmc%3D ?key=dda62bc0d84cb19826ddedf02f7395f93c05a176d585bd168edf2530017c3437-aHR0cDovL25pY2VreXBlLmRlL2ltYWdlcy9pbnN0YWdyYW0tbGl0dGxlLnBuZw%3D%3D ?key=177ef3121cf7bf978fac9b1fe07ab5df0de6bbf1b9d15846db2b270e4375eec7-aHR0cDovL25pY2VreXBlLmRlL2ltYWdlcy9zdGVhbS1saXR0bGUucG5n

      Schaut Vorbei<3

      ______________________

    • Natic
      Fortgeschrittener
      Reaktionen
      66
      Trophäen
      10
      Beiträge
      408
      • 3. Mai 2019 um 12:22
      • #8

      Hiermit veröffentliche ich mein Feuer - Script.

      Es ist noch nicht ganz fertig, so aber schon nutzbar^^

      Ein richtiges Tutorial folgt...

      Dateien

      BMZ.zip 17,58 MB – 254 Downloads

      Mit freundlichen Grüßen

      Natic

      --------------------------------------------------------------------------------------------------------------------------

      Kein direkten PN - Support

      --------------------------------------------------------------------------------------------------------------------------

      Programierung

      Wir lieben

      es

    • BlueType
      Nerd
      Reaktionen
      190
      Trophäen
      8
      Beiträge
      735
      Bilder
      27
      • 3. Mai 2019 um 12:31
      • #9

      Wenn das alles aufm Client läuft haben alle User ne andere Random stelle vom Feuer so wie ich dad grade sehe

      MFG ƁLƱΣƬΨƤΣ™

      :!:Hinweis:!:

      :!:Ich bin zwar erfahren mit der Sprache SQF, lerne trotzdem noch, definitiv kein Profi:!:

      Discord : ╲⎝⧹⎝ƁLƱΣƬΨƤΣ™⎠⧸⎠╱#0448

      Discord Server : https://discord.gg/K8KhAnE

      Teamspeak : ts.Endless-Net.de

    • Natic
      Fortgeschrittener
      Reaktionen
      66
      Trophäen
      10
      Beiträge
      408
      • 3. Mai 2019 um 13:09
      • #10

      Deshalb ist es noch nicht fertig :D

      Mit freundlichen Grüßen

      Natic

      --------------------------------------------------------------------------------------------------------------------------

      Kein direkten PN - Support

      --------------------------------------------------------------------------------------------------------------------------

      Programierung

      Wir lieben

      es

    • Risk
      Kenner
      Reaktionen
      193
      Trophäen
      11
      Beiträge
      573
      • 3. Mai 2019 um 13:10
      • #11

      spawnst du das ganze immer noch über createVehicle?

      mfg Risk

      https://www.twitch.tv/theriskarma

    • Natic
      Fortgeschrittener
      Reaktionen
      66
      Trophäen
      10
      Beiträge
      408
      • 3. Mai 2019 um 13:12
      • #12

      ja ich entwickel und die optiermierung kommt am Ende :D

      Mit freundlichen Grüßen

      Natic

      --------------------------------------------------------------------------------------------------------------------------

      Kein direkten PN - Support

      --------------------------------------------------------------------------------------------------------------------------

      Programierung

      Wir lieben

      es

    • Risk
      Kenner
      Reaktionen
      193
      Trophäen
      11
      Beiträge
      573
      • 3. Mai 2019 um 13:14
      • #13

      ja mache heute abend ein paar fotos von Bränden dann kannst du dir eins aussuchen. Habe glaube ich 5 verschiedene rumliegen

      mfg Risk

      https://www.twitch.tv/theriskarma

    • BlueType
      Nerd
      Reaktionen
      190
      Trophäen
      8
      Beiträge
      735
      Bilder
      27
      • 3. Mai 2019 um 15:10
      • #14
      Zitat von Risk

      ja mache heute abend ein paar fotos von Bränden dann kannst du dir eins aussuchen. Habe glaube ich 5 verschiedene rumliegen

      Poste das mal hier. Kann das auch gebrauchen. Bin grade dran eins selber zu entwickeln mit nen paar vielen extra Features

      MFG ƁLƱΣƬΨƤΣ™

      :!:Hinweis:!:

      :!:Ich bin zwar erfahren mit der Sprache SQF, lerne trotzdem noch, definitiv kein Profi:!:

      Discord : ╲⎝⧹⎝ƁLƱΣƬΨƤΣ™⎠⧸⎠╱#0448

      Discord Server : https://discord.gg/K8KhAnE

      Teamspeak : ts.Endless-Net.de

    • Risk
      Kenner
      Reaktionen
      193
      Trophäen
      11
      Beiträge
      573
      • 3. Mai 2019 um 15:16
      • #15

      Dann entwickelt das doch zusammen :)

      mfg Risk

      https://www.twitch.tv/theriskarma

    • BlueType
      Nerd
      Reaktionen
      190
      Trophäen
      8
      Beiträge
      735
      Bilder
      27
      • 3. Mai 2019 um 15:22
      • #16
      Zitat von Risk

      Dann entwickelt das doch zusammen :)

      Hehe... Ne geht drum das das schon fertig ist aber man es Performant machen kann. Ich werde das auch irgendwann hier mal Posten aber das ganze Feuersystem geht auch mit Feuer legen und BMZ und allem möglichem... Wie gesagt wäre lieb da ich dann auch die Performance verbessern kann :D

      MFG ƁLƱΣƬΨƤΣ™

      :!:Hinweis:!:

      :!:Ich bin zwar erfahren mit der Sprache SQF, lerne trotzdem noch, definitiv kein Profi:!:

      Discord : ╲⎝⧹⎝ƁLƱΣƬΨƤΣ™⎠⧸⎠╱#0448

      Discord Server : https://discord.gg/K8KhAnE

      Teamspeak : ts.Endless-Net.de

    • Risk
      Kenner
      Reaktionen
      193
      Trophäen
      11
      Beiträge
      573
      • 3. Mai 2019 um 15:31
      • #17

      Nummer 1#

      Spoiler anzeigen
      Code
      //[_POSITION] remoteexec ["client_fnc_fireStart",-2];
      
      params ["_location"];
      
      _num = 3;
      
      while {_num > 0 } do {
      
          _radiusspread = (random 5) + 1;
          _height = (random 100) / 100;
          _rotation = (random 100) / 100;
          _size = random 5;
          _thickness = ((random 100) / 100) + 0.3;
          _angle = (random 100) / 100;
          _moveVel = (random 100) / 100;
          _size2 = (random 100) / 100;
      
          _PS = "#particlesource" createVehicleLocal _location;  
            
          _ps setParticleCircle [_radiusSpread, [0, 0, 0]];  
          _ps setParticleRandom [20, [0.25, 0.25, _height], [0.2, 0.2, _rotation], 0, _size, [0, 0, 0, _thickness], _angle, 0];  
          _ps setParticleParams [["\a3\data_f\ParticleEffects\Universal\Universal.p3d", 8, 3, 1], "", "Billboard", 1, 8, [0, 0, 0], [0, 0, _moveVel], 0, 10, 7.9, _size2, [1, 3, 6], [[0.5, 0.5, 0.5, 0.15], [0.75, 0.75, 0.75, 0.075], [1, 1, 1, 0]], [0.125], 1, 0, "", "", _location];  
          _ps setDropInterval 0.05; 
      
          FIRES PUSHBACK [_PS,_location];
          _num = _num - 1;
          
      };
      Alles anzeigen

      Nummer 2#

      Spoiler anzeigen
      Code
      /*
          File: fn_objektInBrandSetzenTeil2.sqf
          Autor: Thomas 'smallfly' Ludwig aka 'Schmitt'
      */
      
      if (isDedicated) exitWith { diag_log "FEHLER: 'fn_objektInBrandSetzenTeil2' lässt sich nur clientseitig ausführen!"; };
      
      Private [
          "_regionId", "_feuerPosition", "_lichtPosition1", "_lichtPosition2",
          "_feuerLicht1", "_feuerLicht2", "_feuerEffekt", "_qualmEffekt",
          "_bisherigeBrenndauer", "_gesamtBrenndauer", "_zeitBisMaximaleFeuerGroesse", "_intervallInSek",
          "_zeitBisFeuerGanzAusIst", "_groesseFaktor"
      ];
      
      _feuerPosition = [_this,0,[]     ,[[]]     ] call BIS_fnc_param;
      _regionId      = [_this,1,""     ,[""]     ] call BIS_fnc_param;
      _groesseFaktor = [_this,2,0      ,[0]      ] call BIS_fnc_param; // 1.0 für Gebäudebrand
      _brandObjekt   = [_this,3,objNull,[objNull]] call BIS_fnc_param; // kann auch null sein, z. B. feuer nach gebäudebombe
      
      _lichtEinrichten =
      {
          Private ["_lichtPosition", "_licht"];
          
          _lichtPosition = _this select 0;
          
          _licht = "#lightpoint" createVehicleLocal _lichtPosition; 
          _licht setLightAttenuation [0.01, 0, 1, 5]; 
          _licht setLightBrightness 10000;
          _licht setLightIntensity 50000;  
          _licht setLightFlareSize 0;  
          _licht setLightFlareMaxDistance 200; 
          _licht setLightUseFlare true;  
          _licht setLightDayLight true;  
          _licht setLightColor [1.0,0.4,0.0];  
          _licht setLightAmbient [1.0,0.3,0.1];
          
          _licht;
      };
      
      _lichtPosition1 = [(_feuerPosition select 0) + 15, (_feuerPosition select 1) + 15, (_feuerPosition select 2) + 15];
      _lichtPosition2 = [(_feuerPosition select 0) - 15, (_feuerPosition select 1) - 15, (_feuerPosition select 2) + 15];
      
      _feuerLicht1 = [_lichtPosition1] call _lichtEinrichten;
      _feuerLicht2 = [_lichtPosition2] call _lichtEinrichten;
          
      _feuerEffekt = "#particlesource" createVehicleLocal _feuerPosition;
      _feuerEffekt setParticleCircle [0, [0, 0, 0]];
      
      feuerEffekt = _feuerEffekt;
      
      _qualmEffekt = "#particlesource" createVehicleLocal _feuerPosition;
      _qualmEffekt setParticleCircle [0, [0, 0, 0]];
      
      _bisherigeBrenndauer        = 0;
      _gesamtBrenndauer           = 2 * 60;
      _zeitBisMaximaleFeuerGroesse= 20;
      _zeitBisFeuerGanzAusIst     = 30;
      _intervallInSek             = 1.5;
      _zeitpunktBeginnAusfaden    = _gesamtBrenndauer - _zeitBisFeuerGanzAusIst;
      
      _brandObjekt setVariable ["brandStufe", 3, true];
      
      while {_bisherigeBrenndauer < _gesamtBrenndauer} do
      {
          Private ["_faktor", "_verbleibendeZeitBisGanzAus", "_brandStufe", "_personenInDerNaehe"];
          
          _brandStufe = _brandObjekt getVariable ["brandStufe", 3];
          
          if (_brandStufe == 0) exitWith {};
          
          _verbleibendeZeitBisGanzAus = _gesamtBrenndauer - _bisherigeBrenndauer;
          
          if (_bisherigeBrenndauer < _zeitpunktBeginnAusfaden) then {
              _faktor = (_bisherigeBrenndauer / _zeitBisMaximaleFeuerGroesse) min 1.0;
          } else {
              _faktor = (_verbleibendeZeitBisGanzAus / _zeitBisFeuerGanzAusIst) min 1.0;
          };
          
          _faktor = _faktor min ((_faktor / schmitt_maxBrandStufe) * _brandStufe); // Aktuelle Brandstufe begrenzt die maximale Größe des Feuers
          
          _faktor = _faktor * _groesseFaktor;
          _faktor = 0.1 max _faktor; // sicherstellen, dass _faktor nie kleiner als 0.1 ist, um "durch 0 teilen"-Fehler zu verhindern
          
          groesseFaktor = _groesseFaktor;
          faktor = _faktor;
          
          _feuerLicht1 setLightBrightness (_faktor * 10000);
          _feuerLicht1 setLightIntensity (_faktor * 50000); 
          
          _feuerLicht2 setLightBrightness (_faktor * 10000);
          _feuerLicht2 setLightIntensity (_faktor * 50000); 
          
          _feuerEffekt setParticleParams [["\A3\data_f\cl_exp", 1, 0, 1], "", "Billboard", 1, 1, [0, 0, 1], [_faktor * 0, _faktor * 0, _faktor * 2], 15, 4, 5, 0.075, [_faktor * 4, _faktor * 4, _faktor * 8], [[1, 1, 1, 1], [0.25, 0.25, 0.25, 0.5], [0.5, 0.5, 0.5, 0]], [0.08], 3, 2, "", "", _feuerPosition];
          _feuerEffekt setParticleRandom [0.3, [1.0 + _faktor * 2.0, 1.0 + _faktor * 2.0, 1.0 + _faktor * 4.0], [0.5 + _faktor * 1.0, 0.5 + _faktor * 1.0, 0.5 + _faktor * 1.0], 5, 0.2, [0, 0, 0, 0], 0, 0];
          _feuerEffekt setDropInterval 0.005 / _faktor;
      
          _qualmEffekt setParticleParams [["\A3\data_f\ParticleEffects\Universal\smoke.p3d", 1, 0, 1], "", "Billboard", 1, 7, [_faktor * 0, _faktor * 0, _faktor * 0.5], [_faktor * 0.5, _faktor * 0.5, _faktor * 3.5], 1, 6.4, 5, 0.0075, [_faktor * 8, _faktor * 8, _faktor * 12], [[0.5, 0.5, 0.5, 0.51], [0.25, 0.25, 0.25, 0.95], [0.5, 0.5, 0.5, 0]], [0.08], 0, 0, "", "", _feuerPosition];
          _qualmEffekt setParticleRandom [5, [1.0 + _faktor * 1.5, 1.0 + _faktor * 1.5, 1.0 + _faktor * 1.5], [0.3, 0.3, 1.0 + _faktor * 2.5], 0.3, 0.3, [0, 0, 0, 0], 0, 0];
          _qualmEffekt setDropInterval 0.08 / _faktor;
          
          if ( player distance _feuerPosition <= schmitt_schadenRadiusFeuer ) then
          {
              // Pro Zeiteinheit dem Spieler Schaden zufügen, während er durchs Feuer geht ...
              Private ["_schaden"];
              _schaden = damage player;
              player setDamage (_schaden + schmitt_feuerSchadenProIntervall);
              
              // Wenn der Spieler noch nicht am Verbluten ist, so ist er es jetzt ...
              if ( !(player getVariable ["verblutetGerade", false]) ) then {
                  player setVariable ["verblutetGerade", true, true]; 
              };
          };
      
          switch (true) do
          {
              case (_bisherigeBrenndauer % (4 * _intervallInSek) == (3 * _intervallInSek)) : { _feuerEffekt say3D "feuerKnistern3"; };
              case (_bisherigeBrenndauer % (4 * _intervallInSek) == (2 * _intervallInSek)) : { _qualmEffekt say3D "feuerKnistern2"; };
              case (_bisherigeBrenndauer % (4 * _intervallInSek) == (1 * _intervallInSek)) : { _feuerEffekt say3D "feuerKnistern1"; };
              default                                                                        { _qualmEffekt say3D "feuerKnistern0"; };
          };
          
          sleep _intervallInSek;
          _bisherigeBrenndauer = _bisherigeBrenndauer + _intervallInSek;
      };
      
      _brandObjekt setVariable ["brandStufe", nil, true];
      
      deleteVehicle _feuerLicht1;
      deleteVehicle _feuerLicht2;
      deleteVehicle _feuerEffekt;
      deleteVehicle _qualmEffekt;
      Alles anzeigen

      Mehr finde ich gerade nicht.

      mfg Risk

      https://www.twitch.tv/theriskarma

    • BlueType
      Nerd
      Reaktionen
      190
      Trophäen
      8
      Beiträge
      735
      Bilder
      27
      • 3. Mai 2019 um 16:04
      • #18

      Ich geb gutes auf die Nummer eins da ich es so auch mache und tatsächlich ist meins Performant XD

      MFG ƁLƱΣƬΨƤΣ™

      :!:Hinweis:!:

      :!:Ich bin zwar erfahren mit der Sprache SQF, lerne trotzdem noch, definitiv kein Profi:!:

      Discord : ╲⎝⧹⎝ƁLƱΣƬΨƤΣ™⎠⧸⎠╱#0448

      Discord Server : https://discord.gg/K8KhAnE

      Teamspeak : ts.Endless-Net.de

    • Joe Barbaro
      Nerd
      Reaktionen
      199
      Trophäen
      8
      Beiträge
      688
      • 3. Mai 2019 um 17:06
      • #19
      Zitat von Risk

      Nummer 1#

      Spoiler anzeigen
      Code
      //[_POSITION] remoteexec ["client_fnc_fireStart",-2];
      
      params ["_location"];
      
      _num = 3;
      
      while {_num > 0 } do {
      
          _radiusspread = (random 5) + 1;
          _height = (random 100) / 100;
          _rotation = (random 100) / 100;
          _size = random 5;
          _thickness = ((random 100) / 100) + 0.3;
          _angle = (random 100) / 100;
          _moveVel = (random 100) / 100;
          _size2 = (random 100) / 100;
      
          _PS = "#particlesource" createVehicleLocal _location;  
            
          _ps setParticleCircle [_radiusSpread, [0, 0, 0]];  
          _ps setParticleRandom [20, [0.25, 0.25, _height], [0.2, 0.2, _rotation], 0, _size, [0, 0, 0, _thickness], _angle, 0];  
          _ps setParticleParams [["\a3\data_f\ParticleEffects\Universal\Universal.p3d", 8, 3, 1], "", "Billboard", 1, 8, [0, 0, 0], [0, 0, _moveVel], 0, 10, 7.9, _size2, [1, 3, 6], [[0.5, 0.5, 0.5, 0.15], [0.75, 0.75, 0.75, 0.075], [1, 1, 1, 0]], [0.125], 1, 0, "", "", _location];  
          _ps setDropInterval 0.05; 
      
          FIRES PUSHBACK [_PS,_location];
          _num = _num - 1;
          
      };
      Alles anzeigen

      Nummer 2#

      Spoiler anzeigen
      Code
      /*
          File: fn_objektInBrandSetzenTeil2.sqf
          Autor: Thomas 'smallfly' Ludwig aka 'Schmitt'
      */
      
      if (isDedicated) exitWith { diag_log "FEHLER: 'fn_objektInBrandSetzenTeil2' lässt sich nur clientseitig ausführen!"; };
      
      Private [
          "_regionId", "_feuerPosition", "_lichtPosition1", "_lichtPosition2",
          "_feuerLicht1", "_feuerLicht2", "_feuerEffekt", "_qualmEffekt",
          "_bisherigeBrenndauer", "_gesamtBrenndauer", "_zeitBisMaximaleFeuerGroesse", "_intervallInSek",
          "_zeitBisFeuerGanzAusIst", "_groesseFaktor"
      ];
      
      _feuerPosition = [_this,0,[]     ,[[]]     ] call BIS_fnc_param;
      _regionId      = [_this,1,""     ,[""]     ] call BIS_fnc_param;
      _groesseFaktor = [_this,2,0      ,[0]      ] call BIS_fnc_param; // 1.0 für Gebäudebrand
      _brandObjekt   = [_this,3,objNull,[objNull]] call BIS_fnc_param; // kann auch null sein, z. B. feuer nach gebäudebombe
      
      _lichtEinrichten =
      {
          Private ["_lichtPosition", "_licht"];
          
          _lichtPosition = _this select 0;
          
          _licht = "#lightpoint" createVehicleLocal _lichtPosition; 
          _licht setLightAttenuation [0.01, 0, 1, 5]; 
          _licht setLightBrightness 10000;
          _licht setLightIntensity 50000;  
          _licht setLightFlareSize 0;  
          _licht setLightFlareMaxDistance 200; 
          _licht setLightUseFlare true;  
          _licht setLightDayLight true;  
          _licht setLightColor [1.0,0.4,0.0];  
          _licht setLightAmbient [1.0,0.3,0.1];
          
          _licht;
      };
      
      _lichtPosition1 = [(_feuerPosition select 0) + 15, (_feuerPosition select 1) + 15, (_feuerPosition select 2) + 15];
      _lichtPosition2 = [(_feuerPosition select 0) - 15, (_feuerPosition select 1) - 15, (_feuerPosition select 2) + 15];
      
      _feuerLicht1 = [_lichtPosition1] call _lichtEinrichten;
      _feuerLicht2 = [_lichtPosition2] call _lichtEinrichten;
          
      _feuerEffekt = "#particlesource" createVehicleLocal _feuerPosition;
      _feuerEffekt setParticleCircle [0, [0, 0, 0]];
      
      feuerEffekt = _feuerEffekt;
      
      _qualmEffekt = "#particlesource" createVehicleLocal _feuerPosition;
      _qualmEffekt setParticleCircle [0, [0, 0, 0]];
      
      _bisherigeBrenndauer        = 0;
      _gesamtBrenndauer           = 2 * 60;
      _zeitBisMaximaleFeuerGroesse= 20;
      _zeitBisFeuerGanzAusIst     = 30;
      _intervallInSek             = 1.5;
      _zeitpunktBeginnAusfaden    = _gesamtBrenndauer - _zeitBisFeuerGanzAusIst;
      
      _brandObjekt setVariable ["brandStufe", 3, true];
      
      while {_bisherigeBrenndauer < _gesamtBrenndauer} do
      {
          Private ["_faktor", "_verbleibendeZeitBisGanzAus", "_brandStufe", "_personenInDerNaehe"];
          
          _brandStufe = _brandObjekt getVariable ["brandStufe", 3];
          
          if (_brandStufe == 0) exitWith {};
          
          _verbleibendeZeitBisGanzAus = _gesamtBrenndauer - _bisherigeBrenndauer;
          
          if (_bisherigeBrenndauer < _zeitpunktBeginnAusfaden) then {
              _faktor = (_bisherigeBrenndauer / _zeitBisMaximaleFeuerGroesse) min 1.0;
          } else {
              _faktor = (_verbleibendeZeitBisGanzAus / _zeitBisFeuerGanzAusIst) min 1.0;
          };
          
          _faktor = _faktor min ((_faktor / schmitt_maxBrandStufe) * _brandStufe); // Aktuelle Brandstufe begrenzt die maximale Größe des Feuers
          
          _faktor = _faktor * _groesseFaktor;
          _faktor = 0.1 max _faktor; // sicherstellen, dass _faktor nie kleiner als 0.1 ist, um "durch 0 teilen"-Fehler zu verhindern
          
          groesseFaktor = _groesseFaktor;
          faktor = _faktor;
          
          _feuerLicht1 setLightBrightness (_faktor * 10000);
          _feuerLicht1 setLightIntensity (_faktor * 50000); 
          
          _feuerLicht2 setLightBrightness (_faktor * 10000);
          _feuerLicht2 setLightIntensity (_faktor * 50000); 
          
          _feuerEffekt setParticleParams [["\A3\data_f\cl_exp", 1, 0, 1], "", "Billboard", 1, 1, [0, 0, 1], [_faktor * 0, _faktor * 0, _faktor * 2], 15, 4, 5, 0.075, [_faktor * 4, _faktor * 4, _faktor * 8], [[1, 1, 1, 1], [0.25, 0.25, 0.25, 0.5], [0.5, 0.5, 0.5, 0]], [0.08], 3, 2, "", "", _feuerPosition];
          _feuerEffekt setParticleRandom [0.3, [1.0 + _faktor * 2.0, 1.0 + _faktor * 2.0, 1.0 + _faktor * 4.0], [0.5 + _faktor * 1.0, 0.5 + _faktor * 1.0, 0.5 + _faktor * 1.0], 5, 0.2, [0, 0, 0, 0], 0, 0];
          _feuerEffekt setDropInterval 0.005 / _faktor;
      
          _qualmEffekt setParticleParams [["\A3\data_f\ParticleEffects\Universal\smoke.p3d", 1, 0, 1], "", "Billboard", 1, 7, [_faktor * 0, _faktor * 0, _faktor * 0.5], [_faktor * 0.5, _faktor * 0.5, _faktor * 3.5], 1, 6.4, 5, 0.0075, [_faktor * 8, _faktor * 8, _faktor * 12], [[0.5, 0.5, 0.5, 0.51], [0.25, 0.25, 0.25, 0.95], [0.5, 0.5, 0.5, 0]], [0.08], 0, 0, "", "", _feuerPosition];
          _qualmEffekt setParticleRandom [5, [1.0 + _faktor * 1.5, 1.0 + _faktor * 1.5, 1.0 + _faktor * 1.5], [0.3, 0.3, 1.0 + _faktor * 2.5], 0.3, 0.3, [0, 0, 0, 0], 0, 0];
          _qualmEffekt setDropInterval 0.08 / _faktor;
          
          if ( player distance _feuerPosition <= schmitt_schadenRadiusFeuer ) then
          {
              // Pro Zeiteinheit dem Spieler Schaden zufügen, während er durchs Feuer geht ...
              Private ["_schaden"];
              _schaden = damage player;
              player setDamage (_schaden + schmitt_feuerSchadenProIntervall);
              
              // Wenn der Spieler noch nicht am Verbluten ist, so ist er es jetzt ...
              if ( !(player getVariable ["verblutetGerade", false]) ) then {
                  player setVariable ["verblutetGerade", true, true]; 
              };
          };
      
          switch (true) do
          {
              case (_bisherigeBrenndauer % (4 * _intervallInSek) == (3 * _intervallInSek)) : { _feuerEffekt say3D "feuerKnistern3"; };
              case (_bisherigeBrenndauer % (4 * _intervallInSek) == (2 * _intervallInSek)) : { _qualmEffekt say3D "feuerKnistern2"; };
              case (_bisherigeBrenndauer % (4 * _intervallInSek) == (1 * _intervallInSek)) : { _feuerEffekt say3D "feuerKnistern1"; };
              default                                                                        { _qualmEffekt say3D "feuerKnistern0"; };
          };
          
          sleep _intervallInSek;
          _bisherigeBrenndauer = _bisherigeBrenndauer + _intervallInSek;
      };
      
      _brandObjekt setVariable ["brandStufe", nil, true];
      
      deleteVehicle _feuerLicht1;
      deleteVehicle _feuerLicht2;
      deleteVehicle _feuerEffekt;
      deleteVehicle _qualmEffekt;
      Alles anzeigen

      Mehr finde ich gerade nicht.

      Erstmal vielen Dank das ihr eure Arbeit veröffentlicht. Ich stelle allerdings trotzdem mal die frage warum ihr euer private variables auf deutsch schreibt, da mich das ein wenig triggert :D.

      Trotzdem gehen an der Stelle dicke Probs an euch raus :*.


      Mit freundlichen Grüßen

      Joe Barbaro

      Entwickler vom Arma 3 Batch Generator


    • Risk
      Kenner
      Reaktionen
      193
      Trophäen
      11
      Beiträge
      573
      • 3. Mai 2019 um 18:24
      • #20

      das eine war ja von schmittys life. Da ist das ganze Script auf deutsch :D

      mfg Risk

      https://www.twitch.tv/theriskarma

    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™