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: 18 Juli 2025
  • Anmelden oder registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Forum
  • Dateien
  • Seiten
  • Bilder
  • Erweiterte Suche

Schön, dass du den Weg zu NodeZone.net gefunden hast! Aktuell bist du nicht angemeldet und kannst deshalb nur eingeschränkt auf unsere Community zugreifen. Um alle Funktionen freizuschalten, spannende Inhalte zu entdecken und dich aktiv einzubringen, registriere dich jetzt kostenlos oder melde dich mit deinem Account an.

Anmelden oder registrieren
    1. Nodezone.net Community
    2. Forum
    3. Gameserver & Hosting
    4. ArmA Series - ArmA 3 / Reforger
    5. Hilfeforum

    Mikrofonstatus im Nametag?

      • Altis Life
    • BeFreezy
    • 26. Januar 2018 um 21:32
    • Erledigt
    • BeFreezy
      Fortgeschrittener
      Reaktionen
      107
      Trophäen
      9
      Beiträge
      376
      • 26. Januar 2018 um 21:32
      • #1

      It's me again.

      Ich benötige Hilfe, undzwar möchte ich in meinen Nametags links neben dem Spielernamen ein Icon das aufleuchtet wenn der jenige gerade am sprechen ist, wie zum beispiel auf Just4FunGaming.

      Ist jemand so nett und erklärt es einem SQF Padawn wie mir? :/


      Grüße!

      Hinweis:

      Kann mich gerne Mal irren, versuche nur zu helfen!

      1QJFpae.gif

      Wie frage ich richtig um Hilfe?

      Arma 3 Logs - Client, Server & extDB Log

      Arma 3 Code Optimierung

      life_fnc_MP zu remoteExec

      (Bin aktuell im ArmA Urlaub)

      1QJFpae.gif

    • Stig
      Profi
      Reaktionen
      598
      Trophäen
      9
      Beiträge
      941
      • 26. Januar 2018 um 22:33
      • #2

      Die Namen über den Köpfen der Spieler werden durch Altis_Life.Altis/core/functions/fn_playerTags.sqf erzeugt. Um ein Mikrofon-icon vor den Text zu machen, wird <img image='\A3\ui_f\data\igui\rscingameui\rscdisplayvoicechat\microphone_ca.paa'></img> vor den Namen geschrieben.

      Das Schwierige ist jetzt, herauszufinden ob ein Spieler spricht oder nicht. Es gibt zwar den Befehl getPlayerChannel, der das kann, aber ausgerechnet den "Direct"-Channel unterstützt dieser Bfehl nicht.

      Die (gezwungene) Alternative:

      Lokal anhand der UI überprüfen, ob ein Spieler spricht und die Information über das Netzwerk an andere Spieler weiterleiten.

      Soetwas ähnliches hat Just4FunGaming auch getan:

      Zuerst wurde ein Eventhandler für keyDown/keyUp angelegt, der mit player setVariable["mic", true/false, true] für jeden anderen PC abfragbar macht, ob ein Spieler gerade redet oder nicht. Das ganze wird hier ähnlich wie bei Killzonekid anhand der Icons festgemacht (!(isNull findDisplay 55) && { !(isNull findDisplay 63) }).

      C: https://github.com/kupferkarpfen/kk-altis-life/blob/master/Scripts/Client/functions/fn_noside.sqf
      // Written by Kupferkarpfen
      // License: CC BY-NC-SA 4.0
      
      // Anti-Side-Talking Script
      // Inspired by http://www.armaholic.com/page.php?id=28897
      
      private _fncCheckVoice = {
          if( !(isNull findDisplay 55) && { !(isNull findDisplay 63) } ) then {
      
              // User is speaking, check channel...
              if( !(currentChannel in [3, 4, 5]) ) then {
                  titleCut [" BITTE NICHT IM SIDECHAT REDEN ", "BLACK IN", 15];
                  // Talking side/globally/command, switch to direct:
                  setCurrentChannel 5;
              };
      
              if( currentChannel == 5 && { !(player getVariable["mic", false]) } ) then {
                  player setVariable["mic", true, true];
                  [] spawn {
                      waitUntil { sleep 0.5; isNull (findDisplay 55) || isNull (findDisplay 63) };
                      player setVariable["mic", false, true];
                  };
              };
          };
          false
      };
      
      waitUntil { sleep 1; !(isNull (findDisplay 46)) };
      (findDisplay 46) displayAddEventHandler ["KeyDown", _fncCheckVoice];
      (findDisplay 46) displayAddEventHandler ["KeyUp", _fncCheckVoice];
      Alles anzeigen

      Dann kann schonmal jeder Spieler für jeden anderen Spieler abfragen, ob er/sie gerade redet.

      if(_targetPlayer getVariable ["mic",false])then{ /* _targetPlayer redet gerade */ };

      Wenn X also redet, wird nur noch das Symbol vor den Namen geschrieben:

      C: https://github.com/kupferkarpfen/kk-altis-life/blob/master/Scripts/Client/functions/fn_playerTags.sqf
      if( _unit getVariable ["mic", false] ) then {
         _text = format["<img image='\A3\ui_f\data\igui\rscingameui\rscdisplayvoicechat\microphone_ca.paa'></img> %1", _text];
      };

      Und siehe da, du hast den Mikrofonstatus in den Nametags.

      MfG Stig

      Diese Nachricht wurde automatisch generiert. Antworten auf diese Nachricht können nicht empfangen werden. Bitte wenden Sie sich mit Anliegen an einen Administrator.

    • BeFreezy
      Fortgeschrittener
      Reaktionen
      107
      Trophäen
      9
      Beiträge
      376
      • 26. Januar 2018 um 22:51
      • #3
      Zitat von Stig

      Die Namen über den Köpfen der Spieler werden durch Altis_Life.Altis/core/functions/fn_playerTags.sqf erzeugt. Um ein Mikrofon-icon vor den Text zu machen, wird <img image='\A3\ui_f\data\igui\rscingameui\rscdisplayvoicechat\microphone_ca.paa'></img> vor den Namen geschrieben.

      Das Schwierige ist jetzt, herauszufinden ob ein Spieler spricht oder nicht. Es gibt zwar den Befehl getPlayerChannel, der das kann, aber ausgerechnet den "Direct"-Channel unterstützt dieser Bfehl nicht.

      Die (gezwungene) Alternative:

      Lokal anhand der UI überprüfen, ob ein Spieler spricht und die Information über das Netzwerk an andere Spieler weiterleiten.

      Soetwas ähnliches hat Just4FunGaming auch getan:

      Zuerst wurde ein Eventhandler für keyDown/keyUp angelegt, der mit player setVariable["mic", true/false, true] für jeden anderen PC abfragbar macht, ob ein Spieler gerade redet oder nicht. Das ganze wird hier ähnlich wie bei Killzonekid anhand der Icons festgemacht (!(isNull findDisplay 55) && { !(isNull findDisplay 63) }).

      C: https://github.com/kupferkarpfen/kk-altis-life/blob/master/Scripts/Client/functions/fn_noside.sqf
      // Written by Kupferkarpfen
      // License: CC BY-NC-SA 4.0
      
      // Anti-Side-Talking Script
      // Inspired by http://www.armaholic.com/page.php?id=28897
      
      private _fncCheckVoice = {
          if( !(isNull findDisplay 55) && { !(isNull findDisplay 63) } ) then {
      
              // User is speaking, check channel...
              if( !(currentChannel in [3, 4, 5]) ) then {
                  titleCut [" BITTE NICHT IM SIDECHAT REDEN ", "BLACK IN", 15];
                  // Talking side/globally/command, switch to direct:
                  setCurrentChannel 5;
              };
      
              if( currentChannel == 5 && { !(player getVariable["mic", false]) } ) then {
                  player setVariable["mic", true, true];
                  [] spawn {
                      waitUntil { sleep 0.5; isNull (findDisplay 55) || isNull (findDisplay 63) };
                      player setVariable["mic", false, true];
                  };
              };
          };
          false
      };
      
      waitUntil { sleep 1; !(isNull (findDisplay 46)) };
      (findDisplay 46) displayAddEventHandler ["KeyDown", _fncCheckVoice];
      (findDisplay 46) displayAddEventHandler ["KeyUp", _fncCheckVoice];
      Alles anzeigen

      Dann kann schonmal jeder Spieler für jeden anderen Spieler abfragen, ob er/sie gerade redet.

      if(_targetPlayer getVariable ["mic",false])then{ /* _targetPlayer redet gerade */ };

      Wenn X also redet, wird nur noch das Symbol vor den Namen geschrieben:

      C: https://github.com/kupferkarpfen/kk-altis-life/blob/master/Scripts/Client/functions/fn_playerTags.sqf
      if( _unit getVariable ["mic", false] ) then {
         _text = format["<img image='\A3\ui_f\data\igui\rscingameui\rscdisplayvoicechat\microphone_ca.paa'></img> %1", _text];
      };

      Und siehe da, du hast den Mikrofonstatus in den Nametags.

      MfG Stig

      Alles anzeigen

      Holy... vielen Dank!

      Hinweis:

      Kann mich gerne Mal irren, versuche nur zu helfen!

      1QJFpae.gif

      Wie frage ich richtig um Hilfe?

      Arma 3 Logs - Client, Server & extDB Log

      Arma 3 Code Optimierung

      life_fnc_MP zu remoteExec

      (Bin aktuell im ArmA Urlaub)

      1QJFpae.gif

    • Stig
      Profi
      Reaktionen
      598
      Trophäen
      9
      Beiträge
      941
      • 26. Januar 2018 um 22:53
      • #4
      Zitat von BeFreezy

      Holy... vielen Dank!

      Gerne, aber das macht dann 2,70€.


      :P

      Diese Nachricht wurde automatisch generiert. Antworten auf diese Nachricht können nicht empfangen werden. Bitte wenden Sie sich mit Anliegen an einen Administrator.

    • BeFreezy
      Fortgeschrittener
      Reaktionen
      107
      Trophäen
      9
      Beiträge
      376
      • 26. Januar 2018 um 23:13
      • #5
      Zitat von Stig

      Gerne, aber das macht dann 2,70€.


      :P

      Wait, wie kommst du auf 2,70€? :D

      Hinweis:

      Kann mich gerne Mal irren, versuche nur zu helfen!

      1QJFpae.gif

      Wie frage ich richtig um Hilfe?

      Arma 3 Logs - Client, Server & extDB Log

      Arma 3 Code Optimierung

      life_fnc_MP zu remoteExec

      (Bin aktuell im ArmA Urlaub)

      1QJFpae.gif

    • Matthias Burns
      Fortgeschrittener
      Reaktionen
      167
      Trophäen
      10
      Beiträge
      317
      Dateien
      1
      Bilder
      31
      • 26. Januar 2018 um 23:23
      • #6
      Zitat von Stig

      Gerne, aber das macht dann 2,70€.


      :P

      Da fehlt der Maverick Big Mac vergleich.

    • BeFreezy
      Fortgeschrittener
      Reaktionen
      107
      Trophäen
      9
      Beiträge
      376
      • 27. Januar 2018 um 00:27
      • #7

      Stig

      Okay, ich habe jetzt die Datei "fn_noside.sqf" erstellt und via. Funtion.h eingebunden undif( _unit getVariable ["mic", false] ) then { _text = format["<img image='\A3\ui_f\data\igui\rscingameui\rscdisplayvoicechat\microphone_ca.paa'></img> %1", _text]; }; in der fn_playerTags.sqf eingefügt, mir werden trotzdem keine Mikrofone angezeigt, was mache ich falsch?

      (Datein im Anhang)

      Dateien

      fn_noside.sqf 1,07 kB – 180 Downloads fn_playerTags.sqf 4,98 kB – 252 Downloads

      Hinweis:

      Kann mich gerne Mal irren, versuche nur zu helfen!

      1QJFpae.gif

      Wie frage ich richtig um Hilfe?

      Arma 3 Logs - Client, Server & extDB Log

      Arma 3 Code Optimierung

      life_fnc_MP zu remoteExec

      (Bin aktuell im ArmA Urlaub)

      1QJFpae.gif

    • Kuchenplatte
      Erleuchteter
      Reaktionen
      1.013
      Beiträge
      3.387
      Dateien
      7
      Bilder
      10
      • 27. Januar 2018 um 08:01
      • #8
      Zitat von Stig

      Die Namen über den Köpfen der Spieler werden durch Altis_Life.Altis/core/functions/fn_playerTags.sqf erzeugt. Um ein Mikrofon-icon vor den Text zu machen, wird <img image='\A3\ui_f\data\igui\rscingameui\rscdisplayvoicechat\microphone_ca.paa'></img> vor den Namen geschrieben.

      Das Schwierige ist jetzt, herauszufinden ob ein Spieler spricht oder nicht. Es gibt zwar den Befehl getPlayerChannel, der das kann, aber ausgerechnet den "Direct"-Channel unterstützt dieser Bfehl nicht.

      Die (gezwungene) Alternative:

      Lokal anhand der UI überprüfen, ob ein Spieler spricht und die Information über das Netzwerk an andere Spieler weiterleiten.

      Soetwas ähnliches hat Just4FunGaming auch getan:

      Zuerst wurde ein Eventhandler für keyDown/keyUp angelegt, der mit player setVariable["mic", true/false, true] für jeden anderen PC abfragbar macht, ob ein Spieler gerade redet oder nicht. Das ganze wird hier ähnlich wie bei Killzonekid anhand der Icons festgemacht (!(isNull findDisplay 55) && { !(isNull findDisplay 63) }).

      C: https://github.com/kupferkarpfen/kk-altis-life/blob/master/Scripts/Client/functions/fn_noside.sqf
      // Written by Kupferkarpfen
      // License: CC BY-NC-SA 4.0
      
      // Anti-Side-Talking Script
      // Inspired by http://www.armaholic.com/page.php?id=28897
      
      private _fncCheckVoice = {
          if( !(isNull findDisplay 55) && { !(isNull findDisplay 63) } ) then {
      
              // User is speaking, check channel...
              if( !(currentChannel in [3, 4, 5]) ) then {
                  titleCut [" BITTE NICHT IM SIDECHAT REDEN ", "BLACK IN", 15];
                  // Talking side/globally/command, switch to direct:
                  setCurrentChannel 5;
              };
      
              if( currentChannel == 5 && { !(player getVariable["mic", false]) } ) then {
                  player setVariable["mic", true, true];
                  [] spawn {
                      waitUntil { sleep 0.5; isNull (findDisplay 55) || isNull (findDisplay 63) };
                      player setVariable["mic", false, true];
                  };
              };
          };
          false
      };
      
      waitUntil { sleep 1; !(isNull (findDisplay 46)) };
      (findDisplay 46) displayAddEventHandler ["KeyDown", _fncCheckVoice];
      (findDisplay 46) displayAddEventHandler ["KeyUp", _fncCheckVoice];
      Alles anzeigen

      Dann kann schonmal jeder Spieler für jeden anderen Spieler abfragen, ob er/sie gerade redet.

      if(_targetPlayer getVariable ["mic",false])then{ /* _targetPlayer redet gerade */ };

      Wenn X also redet, wird nur noch das Symbol vor den Namen geschrieben:

      C: https://github.com/kupferkarpfen/kk-altis-life/blob/master/Scripts/Client/functions/fn_playerTags.sqf
      if( _unit getVariable ["mic", false] ) then {
         _text = format["<img image='\A3\ui_f\data\igui\rscingameui\rscdisplayvoicechat\microphone_ca.paa'></img> %1", _text];
      };

      Und siehe da, du hast den Mikrofonstatus in den Nametags.

      MfG Stig

      Alles anzeigen

      Bitte denk an die Mehrwertsteuer von 19%.

      Aber grenzt fast an ein Tutorial...

      Shadow|Eagle: "Frag mich eher why ich dich nicht noch irgendwas gegeben hab als Vorschlag xD"

      !Acryl-Exile Server!

      195.201.148.155:2302

      Kuchenplatte On GitHub

      https://github.com/Kuchenplatte

      Kuchenplattes Backstube

      Kuchenplattes Discord

      Kuchenplatte On Twitch
      Come On and Follow Me! On Twitch.TV

    • BeFreezy
      Fortgeschrittener
      Reaktionen
      107
      Trophäen
      9
      Beiträge
      376
      • 27. Januar 2018 um 19:08
      • #9

      #minipush

      Hinweis:

      Kann mich gerne Mal irren, versuche nur zu helfen!

      1QJFpae.gif

      Wie frage ich richtig um Hilfe?

      Arma 3 Logs - Client, Server & extDB Log

      Arma 3 Code Optimierung

      life_fnc_MP zu remoteExec

      (Bin aktuell im ArmA Urlaub)

      1QJFpae.gif

    • Stig
      Profi
      Reaktionen
      598
      Trophäen
      9
      Beiträge
      941
      • 27. Januar 2018 um 23:19
      • #10

      BeFreezy

      Du hast _unit getVariable ["mic", false] geschrieben, müsste aber _x getVariable ["mic", false] sein.

      Diese Nachricht wurde automatisch generiert. Antworten auf diese Nachricht können nicht empfangen werden. Bitte wenden Sie sich mit Anliegen an einen Administrator.

    • BeFreezy
      Fortgeschrittener
      Reaktionen
      107
      Trophäen
      9
      Beiträge
      376
      • 28. Januar 2018 um 05:21
      • #11
      Zitat von Stig

      BeFreezy

      Du hast _unit getVariable ["mic", false] geschrieben, müsste aber _x getVariable ["mic", false] sein.

      Wird heute getestet, danke!

      Hinweis:

      Kann mich gerne Mal irren, versuche nur zu helfen!

      1QJFpae.gif

      Wie frage ich richtig um Hilfe?

      Arma 3 Logs - Client, Server & extDB Log

      Arma 3 Code Optimierung

      life_fnc_MP zu remoteExec

      (Bin aktuell im ArmA Urlaub)

      1QJFpae.gif

    • BeFreezy
      Fortgeschrittener
      Reaktionen
      107
      Trophäen
      9
      Beiträge
      376
      • 1. Februar 2018 um 11:39
      • #12
      Zitat von Stig

      BeFreezy

      Du hast _unit getVariable ["mic", false] geschrieben, müsste aber _x getVariable ["mic", false] sein.

      Will leider immer noch nicht, hab soweit alles eingebunden wie du es mir erklärt hast, gibt auch keine Art von Error, hab ich vielleicht noch was vergessen? ;(

      Hinweis:

      Kann mich gerne Mal irren, versuche nur zu helfen!

      1QJFpae.gif

      Wie frage ich richtig um Hilfe?

      Arma 3 Logs - Client, Server & extDB Log

      Arma 3 Code Optimierung

      life_fnc_MP zu remoteExec

      (Bin aktuell im ArmA Urlaub)

      1QJFpae.gif

    • CrypteX
      Fortgeschrittener
      Reaktionen
      23
      Trophäen
      9
      Beiträge
      316
      • 21. Februar 2018 um 02:50
      • #13

      Gibts hierzu was neues ?

    • Stig
      Profi
      Reaktionen
      598
      Trophäen
      9
      Beiträge
      941
      • 21. Februar 2018 um 10:23
      • #14

      BeFreezy führst du die Datei noside.sqf auf dem Client auch einmal aus?

      Diese Nachricht wurde automatisch generiert. Antworten auf diese Nachricht können nicht empfangen werden. Bitte wenden Sie sich mit Anliegen an einen Administrator.

    • BeFreezy
      Fortgeschrittener
      Reaktionen
      107
      Trophäen
      9
      Beiträge
      376
      • 21. Februar 2018 um 11:27
      • #15
      Zitat von Stig

      BeFreezy führst du die Datei noside.sqf auf dem Client auch einmal aus?

      Hm, bin ich mir nicht sicher, ich schätze ich trage die Datei einfach mal in die initPlayerLocal.sqf ein, korrekt?

      Hinweis:

      Kann mich gerne Mal irren, versuche nur zu helfen!

      1QJFpae.gif

      Wie frage ich richtig um Hilfe?

      Arma 3 Logs - Client, Server & extDB Log

      Arma 3 Code Optimierung

      life_fnc_MP zu remoteExec

      (Bin aktuell im ArmA Urlaub)

      1QJFpae.gif

    • Stig
      Profi
      Reaktionen
      598
      Trophäen
      9
      Beiträge
      941
      • 21. Februar 2018 um 16:24
      • #16

      Ja

      Diese Nachricht wurde automatisch generiert. Antworten auf diese Nachricht können nicht empfangen werden. Bitte wenden Sie sich mit Anliegen an einen Administrator.

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

      Stig meinst du so ist alles richtig?

      Die fn_noside.sqf ist im Functions Ordner, in der Functions.hpp ist unter class functions auch das class noside eingetragen.

      Dateien

      fn_noside.sqf 1,07 kB – 228 Downloads fn_playerTags.sqf 4,17 kB – 224 Downloads initPlayerLocal.sqf 656 Byte – 307 Downloads
    • CrypteX
      Fortgeschrittener
      Reaktionen
      23
      Trophäen
      9
      Beiträge
      316
      • 21. Februar 2018 um 17:09
      • #18

      War die falsche initPlayerLocal.sqf! hier die richtige.

      Dateien

      initPlayerLocal.sqf 697 Byte – 245 Downloads
    • Stig
      Profi
      Reaktionen
      598
      Trophäen
      9
      Beiträge
      941
      • 21. Februar 2018 um 18:04
      • #19

      Noch ein ; ans Ende der initPlayerLocal.sqf, ansonsten sieht es gut aus. Man muss die fn_noside.sqf übrigens nicht unbedingt in die Functions.hpp eintragen, wenn man sie nur per execVM startet, aber du kannst sie trotzdem drin lassen.

      Diese Nachricht wurde automatisch generiert. Antworten auf diese Nachricht können nicht empfangen werden. Bitte wenden Sie sich mit Anliegen an einen Administrator.

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

      Ok ich werds testen und sag bescheid, danke schonmal.

    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™