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: 31 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

    Probleme mit zweiter Sirene und keyhandler

      • Altis Life
    • Red Bull
    • 24. Januar 2020 um 13:52
    • Erledigt
    • Red Bull
      Frischling
      Trophäen
      8
      Beiträge
      12
      • 24. Januar 2020 um 13:52
      • #1

      Hallo,

      ich bin nach diesem Tutorial hier aus dem Forum gegangen um eine zweite Sirene für die Cops einzufügen. So weit so gut. Das Problem ist, obwohl ich alles nach Anleitung gemacht habe, passiert beim Drücken der festgelegten Taste B nichts. Ich habe inzwischen auch schon verschiedenste Varianten im keyhandler ausprobiert, was entweder keine Wirkung hatte, oder es funktionierten überhaupt keine keyhandler Tasten mehr.

      Nachdem ich mich kaputt gegoogelt habe, bin ich nun ratlos, wo der Fehler liegt.

      Habe mal alle relevanten Dateien mit angehangen. Wäre schön, wenn mir jemand helfen könnte.

      Achja, die Server Log sagt überhaupt nichts dazu.


      Die einzige Änderung durch mich fand in der copSiren2.sqf statt nach diesem Eintrag, um die Sirene nur einmal und nicht in Schleife abzuspielen. Und da von einem Nutzer bestätigt wurde, dass es funktioniert, habe ich diesen Code genutzt.

      Dateien

      Zweitsirene.zip 10,02 kB – 215 Downloads
    • Alice Kingsleigh
      Profi
      Reaktionen
      329
      Trophäen
      8
      Beiträge
      1.141
      • 24. Januar 2020 um 14:11
      • #2

      Hi, ich persönlich wühle mich ungerne blind durch fremden Code. Sei doch so gut und hänge Server- und Clientlog an. Vielleicht gibt sich dort ja einen Anhaltspunkt, wieso es nicht geht :)

    • Red Bull
      Frischling
      Trophäen
      8
      Beiträge
      12
      • 24. Januar 2020 um 14:23
      • #3

      Ok ich dachte es würde dadurch einfacher. Hier die Logs.

      Dateien

      arma3server_x64_2020-01-24_13-01-12.rpt 83,93 kB – 151 Downloads Arma3_x64_2020-01-24_13-01-54.rpt 78,09 kB – 131 Downloads
    • Alice Kingsleigh
      Profi
      Reaktionen
      329
      Trophäen
      8
      Beiträge
      1.141
      • 24. Januar 2020 um 14:37
      • #4

      Logs anhängen macht es immer einfacher :)

      Du hast auf jeden Fall in einem The Programmer Ding einen Fehler, weiß nicht ob das aus deren Sachen oder von falscher Einbindung kommt:

      Code
      13:03:52 Error in expression <nt];
      maxence_waiting_med_callspushBack [(name player),(position player),_msg,se>
      13:03:52   Error position: <[(name player),(position player),_msg,se>
      13:03:52   Error Fehlendes ;

      Und im Briefing ist auch ein Fehler

      Code
      13:03:53 Error in expression <llkommen auf dem Altis Life Server von "The A!mFreaks" !<br/><br/>
                   >
      13:03:53   Error position: <The A!mFreaks" !<br/><br/>
                   >
      13:03:53   Error Fehlende ]
      13:03:53 File mpmissions\__CUR_MP.Altis\briefing.sqf..., line 30

      Hattest du die angelegte Taste gedürckt? Im Log seh ich dazu nichts.

    • Red Bull
      Frischling
      Trophäen
      8
      Beiträge
      12
      • 24. Januar 2020 um 14:41
      • #5

      Alsooo...

      The Programmer ist das Dispatch System drauf und das funktioniert eigentlich.

      Das Briefing ist gar nicht aktiv, das ist abgeschaltet.

      Und ja, die Taste hab ich sogar mehrfach gedrückt. Danach sogar gespammt. Keine Reaktion.

    • Alice Kingsleigh
      Profi
      Reaktionen
      329
      Trophäen
      8
      Beiträge
      1.141
      • 24. Januar 2020 um 15:39
      • #6

      Ob es funktioniert oder nicht ist eigentlich immer egal, da ist ein Fehler. Ich verstehe die Denkweise, aber auf Dauer wird es sich irgendwann rächen :) Also immer beheben. Wenn das Briefing aus ist wieso sind die entsprechenden Dateien nicht entfernt? Es scheint von irgendwoher ja noch angesprochen zu werden, sonst würde er den Fehler nicht zeigen. Also beheben oder Datenmüll entsorgen.

      Dann hab ich nun mal in den keyHandler geschaut. Zwei else funktionieren einfach nicht so. Egal wie man es dreht und wendet. Zudem ist es Shift+B und nicht nur B. Das Ganze könntest du korrigiert so einbinden:

      Code
      //Surrender (Shift + B)
          case 48: {
               if (_shift) then {
                   if (player getVariable ["playerSurrender",false]) then {
                       player setVariable ["playerSurrender",false,true];
                  } else {
                       [] spawn life_fnc_surrender;
                  };
                  _handled = true;
                  if (playerSide in [west,independent] && {vehicle player != player} && {!life_siren2_active} && {((driver vehicle player) == player)}) then {
                      [] spawn {
                          life_siren2_active = true;
                              sleep 2.89;
                              life_siren2_active = false;
                      };
                      
                      _veh = vehicle player;
                      if (isNil {_veh getVariable "siren2"}) then {_veh setVariable ["siren2",false,true];};
                      if ((_veh getVariable "siren2")) then {
                          titleText [localize "STR_MISC_SirensOFF","PLAIN"];
                          _veh setVariable ["siren2",false,true];
                          if !(isNil {(_veh getVariable "sirenJIP")}) then {
                              private _jip = _veh getVariable "sirenJIP";
                              _veh setVariable ["sirenJIP",nil,true];
                              remoteExec ["",_jip]; //remove from JIP queue
                          };
                      } else {
                          titleText [localize "STR_MISC_SirensON","PLAIN"];
                          _veh setVariable ["siren2",true,true];
                          private "_jip";
                          if (playerSide isEqualTo west) then {
                              _jip = [_veh] remoteExec ["life_fnc_copSiren2",RCLIENT,true];
                          };
                      _veh setVariable ["sirenJIP",_jip,true];
                      };
                  };
              };
          };
      Alles anzeigen

      Allerdings frage ich mich, wieso du das nicht z. B. bei der F Sirene mit einbindest, z. B. mit Shift+F. Codebeispiel dafür:

      Code
      //F Key
          case 33: {
              if (playerSide in [west,independent] && {vehicle player != player} && {!life_siren_active} && {((driver vehicle player) == player)}) then {
                  [] spawn {
                      life_siren_active = true;
                      sleep 4.7;
                      life_siren_active = false;
                  };
      
                  _veh = vehicle player;
                  if (isNil {_veh getVariable "siren"}) then {_veh setVariable ["siren",false,true];};
                  if ((_veh getVariable "siren")) then {
                      titleText [localize "STR_MISC_SirensOFF","PLAIN"];
                      _veh setVariable ["siren",false,true];
                      if !(isNil {(_veh getVariable "sirenJIP")}) then {
                          private _jip = _veh getVariable "sirenJIP";
                          _veh setVariable ["sirenJIP",nil,true];
                          remoteExec ["",_jip]; //remove from JIP queue
                      };
                  } else {
                      titleText [localize "STR_MISC_SirensON","PLAIN"];
                      _veh setVariable ["siren",true,true];
                      private "_jip";
                      if (playerSide isEqualTo west) then {
                          _jip = [_veh] remoteExec ["life_fnc_copSiren",RCLIENT,true];
                      } else {
                          _jip = [_veh] remoteExec ["life_fnc_medicSiren",RCLIENT,true];
                      };
                      _veh setVariable ["sirenJIP",_jip,true];
                  };
              };
              if (_shift && playerSide in [west,independent] && {vehicle player != player} && {!life_siren2_active} && {((driver vehicle player) == player)}) then {
                      [] spawn {
                          life_siren2_active = true;
                              sleep 2.89;
                              life_siren2_active = false;
                      };
                      
                      _veh = vehicle player;
                      if (isNil {_veh getVariable "siren2"}) then {_veh setVariable ["siren2",false,true];};
                      if ((_veh getVariable "siren2")) then {
                          titleText [localize "STR_MISC_SirensOFF","PLAIN"];
                          _veh setVariable ["siren2",false,true];
                          if !(isNil {(_veh getVariable "sirenJIP")}) then {
                              private _jip = _veh getVariable "sirenJIP";
                              _veh setVariable ["sirenJIP",nil,true];
                              remoteExec ["",_jip]; //remove from JIP queue
                          };
                      } else {
                          titleText [localize "STR_MISC_SirensON","PLAIN"];
                          _veh setVariable ["siren2",true,true];
                          private "_jip";
                          if (playerSide isEqualTo west) then {
                              _jip = [_veh] remoteExec ["life_fnc_copSiren2",RCLIENT,true];
                          };
                      _veh setVariable ["sirenJIP",_jip,true];
                      };
                  };
              };
          };
      Alles anzeigen

      Achte bitte in deinem eigenen Interesse immer auf Einrückungen.

    • Red Bull
      Frischling
      Trophäen
      8
      Beiträge
      12
      • 24. Januar 2020 um 19:14
      • #7

      Erstmal vielen Dank, dass du dich damit befasst hast.

      Ok das mit Shift+F hatte ich direkt am Anfang probiert und da es nicht funktioniert hat, hatte ich es umbelegt auf C, was nicht klappte und dann auf Shift+B, was auch nicht ging.

      Nun hab ich es nochmal mit deiner Variante für Shift+F versucht und folgendes Ergebnis erzielt.

      Wenn ich den Code so nehme, wie er da steht, geht der keyhandler gar nicht mehr. Sprich, ich kann ingame keine Tastenkombis zum Springen oder Waffe holstern etc. mehr nutzen. Entferne ich eine Klammer am Ende, dann geht alles andere außer die neue Sirene. :rolleyes: Beim Drücken von Shift+F springt nur die erste Sirene an, welche über F belegt ist. Ich habe auch mal die eigentliche keyhandler Datei verwendet, denn die andere war nur zum Test.

      Leider geht es immer noch nicht und auch die Logs sagen nichts Neues. ;(

      Mein aktueller keyhandler ist angehängt. Wollte ihn mit Spoiler reinsetzen, aber Nachricht ist dann zu lang X/.

      Dateien

      fn_keyHandler.sqf 20,85 kB – 129 Downloads
    • Alice Kingsleigh
      Profi
      Reaktionen
      329
      Trophäen
      8
      Beiträge
      1.141
      • 24. Januar 2020 um 19:30
      • #8

      Also ich möchte nicht mit 100 %-iger Sicherheit behaupten mein Code wäre richtig, da ich ihn eher nebenbei gemacht habe, aber so beim Rüberschauen sehe ich jetzt keinen Fehler. Vielleicht mag ja blackfisch oder moeck oder jemand anderes mal schauen. Bestimmt war ich wieder irgendwo kernbehindert :D

    • blackfisch
      Legende
      Reaktionen
      2.944
      Trophäen
      10
      Beiträge
      5.966
      Dateien
      6
      Bilder
      63
      • 24. Januar 2020 um 19:48
      • #9
      Zitat von Alice Kingsleigh

      Logs anhängen macht es immer einfacher :)

      Du hast auf jeden Fall in einem The Programmer Ding einen Fehler, weiß nicht ob das aus deren Sachen oder von falscher Einbindung kommt:

      Code
      13:03:52 Error in expression <nt];
      maxence_waiting_med_callspushBack [(name player),(position player),_msg,se>
      13:03:52   Error position: <[(name player),(position player),_msg,se>
      13:03:52   Error Fehlendes ;

      Und im Briefing ist auch ein Fehler

      Code
      13:03:53 Error in expression <llkommen auf dem Altis Life Server von "The A!mFreaks" !<br/><br/>
                   >
      13:03:53   Error position: <The A!mFreaks" !<br/><br/>
                   >
      13:03:53   Error Fehlende ]
      13:03:53 File mpmissions\__CUR_MP.Altis\briefing.sqf..., line 30

      Hattest du die angelegte Taste gedürckt? Im Log seh ich dazu nichts.

      Sind die Fehler gefixt? Wenn nein, sei so gut und mach das eben, is machmal weird

      Zitat von Red Bull

      Mein aktueller keyhandler ist angehängt. Wollte ihn mit Spoiler reinsetzen, aber Nachricht ist dann zu lang .

      Dateianhänge sind immer besser. Da bleibt wenigstens der Kontext & vor allem Einrückungen und son Quatsch ordentlich erhalten :D

      Alice Kingsleigh Code sieht richtig aus :P

      Red Bull Eintrag für life_fnc_copSiren2 in der CfgRemoteExec.hpp ist vorhanden? Müsste JIP(life_fnc_copSiren2,CLIENT) lauten :) (gern einfach mal die CfgRemoteExec anhängen :D )

      Im Anhang ist ne etwas überarbeitete Keyhandler, die fixt paar potenzielle Probleme à la "die Sirene geht nicht mehr aus!!!!!"

      #MakeArmaNotWar

      Kein Support via PN & Steam! / No Support via DM & Steam!


      Mit freundlichen Grüßen
      blackfisch
      ______________________

      Web: blackfisch.me

      GitHub: GitHub.com/blackfisch

      Mail: [email protected]

      ______________________
      Wichtige Links:
      [Erklärung|Leitfaden] Code Optimierung

      [Tutorial] life_fnc_MP zu remoteExec

      Ohne Logs & entsprechende Dateien kein Support!

      ______________________

    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™