EGSpectator Eventhander zum Verlassen

  • Multiplayer

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • EGSpectator Eventhander zum Verlassen

    Guten Mittag zusammen bräuchte mal wieder einen kleine Hilfestellung

    Ich Öffne den Spectator via

    Quellcode

    1. _LBTN_5 buttonSetAction "
    2. closeDialog 0;
    3. waituntil {!isnull (finddisplay 46)};
    4. (findDisplay 46) displayAddEventHandler ['KeyDown', 'if (_this in [1]) then { hint ''Test''; [''Terminate''] call BIS_fnc_EGSpectator; };'];
    5. ['Initialize', [player]] call BIS_fnc_EGSpectator;
    6. ";

    Direkt mit einem EH welcher ja auf den Haupt Arma 3 Screen gebunden wird.
    Jedoch scheint dieser in der EG Cam nicht der zufunktionieren
    Es ist auch egal ob eine abfrage eingebaut (ESC Key) ist oder direkt Hint....

    Jemand eine Idee wie ich das verwirklichen kann? Cool währe auch wenn mir jemand eine Lösung bieten könnte wie ich den Event Händler beim Drücken des Escape Key löschen kann
  • Du müsstest raus finden, welche Nummer die EG-Kamera hat... Wenn du Glück hast weiß die hier sogar jemand auswendig ^^
    Für mich hört sich das nämlich so an, als würdest du den EH an das falsche Display kleben.
    Wenn du CBA drin hast kannst du auch einfach darüber einen Key-EH anbringen, der dann (soweit ich weiß) unabhängig vom aktuell geöffneten Display ist.


    Das ist zwar keine Lösung für dein Problem, aber eine generelle Anmerkung:

    DerSilver schrieb:

    if (_this in [1]) then { hint ''Test''; [''Terminate''] call BIS_fnc_EGSpectator; };
    Daraus sollte man das hier machen:

    Quellcode

    1. if (_this isEqualTo 1) exitWith{ hint "Test"; ["Terminate"] call BIS_fnc_EGSpectator};
    Das mit dem exitWith ist jetzt funktional unwichtig, aber erleichtert generell das Lesen des Codes, da dann klar ist, dass das was da in Klammern kommt der letzte Code vor Verlassen des Scopes sit (ist aber wie gesagt in diesem Fall relativ egal). _this in [1] ist hingegen absolut unnötig. Warum einen Array mit nur einem Element erstellen und anschließend prüfen, ob _this in diesem Ein-Element-Array ist, wenn man direkt abfragen kann, ob _this gleich 1 ist? :P
    Entwickler von SQDev
  • So die Fehler habe ich gefunden ich danke für die Hilfestellungen.


    Quellcode

    1. [] spawn {
    2. ['Initialize', [player]] call BIS_fnc_EGSpectator;
    3. waitUntil {!isNull (findDisplay 60492)};
    4. (findDisplay 60492) displayAddEventHandler ['KeyDown',if ((_this select 1) isEqualTo 68) exitWith {[''Terminate''] call BIS_fnc_EGSpectator;}'];
    5. };
    Das ist der Code der nun bei Drücken des Button ausgeführt wird.

    60492 ist die Display Number von der GUI des Spectate Screens.