1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Downloads
  4. Galerie
    1. Alben
  5. Toolbox
    1. Passwort Generator
    2. Portchecker
  6. Mitglieder
    1. Mitgliedersuche
    2. Benutzer online
    3. Trophäen
    4. Team
Fr: 16 Mai 2025
  • Anmelden oder registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Forum
  • Dateien
  • Seiten
  • Bilder
  • Erweiterte Suche

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

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

    Script per Taste aktivieren

      • Mapping & Modding
    • flrnwlnd
    • 24. Dezember 2016 um 13:44
    • Geschlossen
    • Erledigt
    • flrnwlnd
      Anfänger
      Reaktionen
      5
      Trophäen
      9
      Beiträge
      74
      • 24. Dezember 2016 um 13:44
      • #1

      Moin!

      Wie ist es möglich ein Script per Tastendruck zu aktivieren?
      Ich habe schon ein wenig gegoogelt und alle Scripts die ich gefunden habe waren veraltet oder gingen einfach nicht.

    • Rom
      Kenner
      Reaktionen
      156
      Beiträge
      533
      • 24. Dezember 2016 um 13:47
      • #2

      Hallo,
      nutzt du das in Verbindung mit Altis Life oder baust du selber was zusammen?

      Wenn ich etwas missverstanden habe, hoppala

    • flrnwlnd
      Anfänger
      Reaktionen
      5
      Trophäen
      9
      Beiträge
      74
      • 24. Dezember 2016 um 13:49
      • #3

      Nein. Ich bin dabei mein eigenes Sandbox Framework zu erstellen.

    • Stig
      Profi
      Reaktionen
      598
      Trophäen
      9
      Beiträge
      941
      • 24. Dezember 2016 um 14:33
      • #4

      Kann gerade nicht ausführlich schreiben. Du musst auf das gewünschte Display ein uiEventhandler ablegen mit dem event keyDown. Google das mal und guck dir fn_keyhandler.sqf in altis life an. BI Dialog IDD Liste

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

    • flrnwlnd
      Anfänger
      Reaktionen
      5
      Trophäen
      9
      Beiträge
      74
      • 24. Dezember 2016 um 15:44
      • #5

      Das hilft mir nicht weiter.

    • flrnwlnd
      Anfänger
      Reaktionen
      5
      Trophäen
      9
      Beiträge
      74
      • 24. Dezember 2016 um 16:26
      • #6

      Ich hab jetzt noch ein wenig weiter gesucht, und dies gefunden:

      SQL: init.sqf
      if (isDedicated) exitWith {};
      if !(hasinterface) exitwith {};
      
      
      
      
      ["Preload"] call BIS_fnc_arsenal;
      private["_keyDown"];
      
      
      
      
      [] spawn {
      	waitUntil {!isNull player && player == player};
      	waitUntil{!isNil "BIS_fnc_init"};
      	waituntil {!(IsNull (findDisplay 46))};
      	private["_i", "_keyDown"];
         	_keyDown = (findDisplay 46) displayAddEventHandler ["KeyDown", "if (_this select 1 == 21) then {['Open', true] call BIS_fnc_arsenal;}"];
      };
      Alles anzeigen

      Allerdings bekomme ich beim Ausführen (Taste "Z" ("21") drücken) den Fehler:


      SQL
      '|#|if (_this select 1 == 21) then {['Open',...'
      Error Typ Display (dialog), erwartet Bool
    • Rom
      Kenner
      Reaktionen
      156
      Beiträge
      533
      • 24. Dezember 2016 um 16:31
      • #7

      Also, nehmen wir einmal an, du hast eine Init geschrieben, in der gewartet wird, bis der Display 46 nicht mehr Null ist !isNull (findDisplay 46).
      Mögliche Erklärung für Display 46, wieso/weshalb/warum: Der Display 46 wird sehr häufig verwendet um Hotkeys zu setzen, welche ermöglichen Aktionen beim Drücken von bestimmten Tasten ausfzuführen.
      Code-Beispiel zum setzen eines neuen "Key"-Eventhandlers

      Code
      (findDisplay 46) displayAddEventHandler ["KeyDown", "params [""_ctrl"",""_taste"",""_shift"",""_strg"",""_alt""]; hint format['%1\n\n\nWelche Taste: %2\nHalte Shift: %3\nHalte STRG: %4\nHalte Alt: %5',_ctrl,_taste,_shift,_strg,_alt];"];

      In den Anführungsstrichen kannst du deinen eigenen Code einbauen oder eine Funktion/ein Script aufrufen.
      Das Beispiel habe ich jetzt nicht getestet, sondern einfach zusammen geschustert.

      Wenn ich etwas missverstanden habe, hoppala

    • flrnwlnd
      Anfänger
      Reaktionen
      5
      Trophäen
      9
      Beiträge
      74
      • 24. Dezember 2016 um 17:50
      • #8

      Kannst du das vielleicht nochmal ein wenig besser formatieren? Oder direkt in den vorhandenen Code einbauen?

    • Stig
      Profi
      Reaktionen
      598
      Trophäen
      9
      Beiträge
      941
      • 24. Dezember 2016 um 18:00
      • #9

      @Prankson eigentlich war dein Code richtig, nur braucht der keyDown-Eventhandler einen Rückgabewert (bool), um zu sagen ob die Standard-arma-tastenbefehle ignoriert werden sollen (true == Standardtastenzuweisung ignorieren).
      Daher auch der Fehler Error XY, erwartet Bool.

      So habe ich das z.B. mal gemacht in einer Mission, du kannst aber auch einfach deinen Code nehmen und ein true oder falseals Rückgabewert anhängen.


      Brainfuck: addHotkey.sqf
      waitUntil { time > 0 AND !isNull player AND player == player};
      waitUntil {!(isNull (findDisplay 46))};
      diag_log "Hotkey wird angelegt.";
      (findDisplay 46) displayAddEventHandler ["KeyDown",  
      { 
       if ( (_this select 1) == 22 ) then   
       { 
        (format ["%1 hat das Arsenal geoeffnet.",profileName]) remoteExecCall ["systemChat",-2,false]; 
        _s = ["Open",true] spawn BIS_fnc_Arsenal;
        _s = nil;
        true;
       }; 
      }];
      titleText ["Hotkey:\n\nU - Arsenal","PLAIN"];
      Alles anzeigen

      Siehe Zeile 11

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

    • Rom
      Kenner
      Reaktionen
      156
      Beiträge
      533
      • 24. Dezember 2016 um 18:06
      • #10
      Code
      if (isDedicated) exitWith {};
      if !(hasinterface) exitwith {};
      ["Preload"] call BIS_fnc_arsenal;
      private["_keyDown"];
      [] spawn {
       waitUntil {!isNull player && player == player};
       waitUntil{!isNil "BIS_fnc_init"};
       waituntil {!(IsNull (findDisplay 46))};
       private["_i", "_keyDown"];
       (findDisplay 46) displayAddEventHandler ["KeyDown", "params [""_ctrl"",""_taste"",""_shift"",""_strg"",""_alt""]; if (_taste == 21) then {['Open', true] call BIS_fnc_arsenal; false}; false"];
      };
      Alles anzeigen

      Da hat zum Schluss nen Bool gefehlt, ist mir auch erst nicht aufgefallen ^^
      Falls du die Hotkeys erweiter solltest, würde ich ne Funktion nutzen als "Master-Keyhandler" für Hotkeys, wäre ja unnötig für jede einzelne Taste nen neuen Eventhandler zu setzen.

      Wenn ich etwas missverstanden habe, hoppala

    Registrieren oder Einloggen

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

    Benutzerkonto erstellen

    Ähnliche Themen

    • [Tutorial] VIS Vehicle Information System | Script für Infos über Tankinformationen, Reichweite, Ø Verbrauch, etc.

      • DerL30N
      • 9. September 2016 um 16:35
      • Tutorials & Releases

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