HX3 Foren

HX3 Foren (https://hx3.de/)
-   Editing & Scripting (https://hx3.de/editing-scripting-187/)
-   -   Tastendruck zu Waffe wechseln Script (https://hx3.de/editing-scripting-187/tastendruck-waffe-wechseln-script-23695/)

Bruklin 19.04.2014 22:28

Tastendruck zu Waffe wechseln Script
 
Halloa,

gibt es die Möglichkeit es per Script möglich zu machen, dass man auf z.B. die selbst definierbaren Tasten zu einer bestimmten Waffe wechselt?

Ich finde es schade, dass ich die Taste unter der Sicherungshaube nicht so definieren kann, dass ich beim Druck darauf zu den GBU12 wechseln kann.
Habe zwar schon einige leichte Missionen gescriptet, jedoch nur einfache Sachen und nix so komplexes.

Grüße Bruklin

Moerderhoschi 20.04.2014 00:31

du koenntest dafuer einen displayeventhandler benutzen

https://community.bistudio.com/wiki/...ddEventHandler

koennte dann in etwa so aus sehen

Code:

(findDisplay 46) displayaddeventhandler ["keydown",
"
        if (!(_this select 2)) then
                {
                        if (!(_this select 3)) then
                        {
                                if (!(_this select 4)) then
                                {
                                        if (_this select 1 == 2) then
                                        {
                                                if (vehicle player != player) then
                                                {
                                                    vehicle player selectweapon 'GBU12BombLauncher'
                                                };                                   
                                        };
                                };
                        };
                };
        false
"];

in dem beispiel wurde die taste 1 auf der Tastatur verwendet, fuer die keycodes siehe folgenden link

Liste von Keycodes: https://community.bistudio.com/wiki/ListOfKeyCodes

gruß
hoschi

Vienna 20.04.2014 12:11

Da scheint ein Fehler vorzuliegen?

So geht es einfacher:
Code:


temp = (findDisplay 46) displayAddEventHandler
 [
  "KeyDown",
  "
  _taste=(_this select 1)-1;
  if (_taste == 1) then {hint 'Taste 1'};
  if (_taste == 2) then {hint 'Taste 2'};
  if (_taste == 3) then {hint 'Taste 3'};
  if (_taste == 4) then {hint 'Taste 4'};
  if (_taste == 5) then {hint 'Taste 5'}
  "
 ];

Anstelle von {hint 'Taste ...'} in den {} den gewünschten Befehl anführen.

Moerderhoschi 20.04.2014 17:27

Zitat:

Zitat von Vienna (Beitrag 471517)
Da scheint ein Fehler vorzuliegen?

Denke nicht, bei mir ist der Code voll Funktionsfaehig

Zitat:

Zitat von Vienna (Beitrag 471517)
So geht es einfacher: ...

Eine bessere Variante ist mit Switch:

Code:


temp = (findDisplay 46) displayAddEventHandler
 [
  "KeyDown",
  "
  _taste=(_this select 1)-1;
  switch (_taste) do
  {
    case 1: {hint 'Taste 1'};
    case 2: {hint 'Taste 2'};
    case 3: {hint 'Taste 3'};
    case 4: {hint 'Taste 4'};
    case 5: {hint 'Taste 5'};
    default {}
  }
  "
 ];


Vienna 20.04.2014 18:03

Deine Version habe ich als Infanterist getestet, die geht natürlich nur in einem Fahrzeug.

Mit switch ist es sicher eleganter. Das ist eine Anschauung wie dieser Eventhandler funktioniert. Eingrenzungen auf Fahrzeuge oder Waffen sind noch einzubauen.

Bruklin 21.04.2014 10:39

Danke für die Hilfe :daumen:
Dann mache ich mich mal ans basteln


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:08 Uhr.

Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias


SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119