Jump to content

Recommended Posts

Posted

Hallo zusammen!

 

Ich würde gerne in einer Mission radio items hinzufügen. Nach betätigen eines der radio items soll ein Untermenü geöffnet werden. Die dort auswählbaren radio items sollen dann eine Aktion auslösen und im ausgewählten Untermenü das ausgewählte radio item ein radio item (Gegenteil) ersetzen.

 

Bsp:

 

F-10 ######## Untermenü mit Aktion

+ FAOR A ##### harddeck aktivieren

############Gegner aktivieren

+ FAOR B ##### harddeck aktivieren

############Gegner aktivieren

+ FAOR C ##### harddeck aktivieren

############Gegner aktivieren

 

Nachdem ich in der FAOR B das harddeck ausgewählt habe (Tastenfolge: #, F10, F2, F1)

möchte ich dieses auch wieder deaktivieren können:

 

F-10 ######## Untermenü mit Aktion

+ FAOR A ##### harddeck aktivieren

############Gegner aktivieren

+ FAOR B ##### harddeck deaktivieren

############Gegner aktivieren

+ FAOR C ##### harddeck aktivieren

############Gegner aktivieren

 

Dies soll dann in allen Varianten so geschehen.

 

Gibt es hierfür ein Script oder eine andere Lösung oder muss man sowas zu Fuß lösen?

Bullseye-Training

Hardware: TrackIR5 | Buddy-Fox UFC | TM Warthog | Saitek Pro Flight Rudder Pedals | i7-4790k | GTX 980 | 32GB RAM

Modules: F/A-18C | A-10C | M-2000C | F-5 Tiger II | UH-1H

Posted

zu Fuß ...

Leider habe ich gerade nicht die YT-Videos zur Hand

 

ist nicht so schwer:

Aber mache diese Einheiten, die dann aktiviert werden sollen, im ME nicht "hidden/unsichtbar" am Missionstart, dann funktioniert das Aktivieren nicht mehr richtig !

too much ...

 

 

Posted

Bei uns funktioniert das wunderbar mit dem Hidden und dem anschließenden aktivieren.

Ich hab die Funkmenüs bei uns in ein Script ausgelagert, um das mit Untermenüs zu machen. Find ich übersichtlicher. Wenn ich zuhause bin (und es nicht vergesse), dann poste ich mal, was ich da gemacht hab.

- Deutsche Tutorials und DCS Gameplay: youtube.com/Rakuzard | raku.yt/discord -
Posted
Bei uns funktioniert das wunderbar mit dem Hidden und dem anschließenden aktivieren.

Ich hab die Funkmenüs bei uns in ein Script ausgelagert, um das mit Untermenüs zu machen. Find ich übersichtlicher. Wenn ich zuhause bin (und es nicht vergesse), dann poste ich mal, was ich da gemacht hab.

 

bei mir hat nur die erste Gruppe funktioniert. Die zweite Gruppe hat wohl in der Luft startend erstmal seine Startup-Prozedur durchgeführt und kam dann mit etlichen Minuten später in Spiel ... ohne Hidden kam sie sofort ...

 

und das Script würde ich mir auch gerne mal zu Gemüte führen ...

too much ...

 

 

Posted

Das Skript ist nix besonderes.

 

Hier mal auszugsweise:

 

local _path6 = missionCommands.addSubMenu("Ranges 6x", nil)

missionCommands.addCommand("Range 61B",_path6,function() 
 trigger.action.setUserFlag("612",1) 
end,nil)

 

Ich benutze das in der Form, um bei uns auf dem Geschwaderserver die einzelnen Ranges in der NTTR reinzuspawnen, damit nicht immer alles auf der Map rumsteht.

 

missionCommands.addSubMenu("Ranges 6x", nil)

Gibt dir das Submenü zurück. Unbedingt in einer Variablen abspeichern...

 

missionCommands.addCommand("Range 61B",_path6,function() 
 trigger.action.setUserFlag("612",1) 
end,nil)

... weil man es hier direkt braucht. Das fügt das angegebene Kommando zum Submenü hinzu. Die anonyme Funktion ist das Callback, das beim Aufrufen ausgeführt wird. Hier setze ich einfach ein Flag. Alle Einheiten der betreffenden Range werden dann durch einen Trigger aktiviert, der bei genau dem Flag anspringt.

 

Eine Deaktivierung habe ich bei uns nicht drin. Brauchten wir bisher nie. :)

 

Hier ist die Dokumentation zu

 

Viel Spaß :)

  • Like 1
- Deutsche Tutorials und DCS Gameplay: youtube.com/Rakuzard | raku.yt/discord -
Posted
Das Skript ist nix besonderes...

...Viel Spaß :)

 

Vielen Dank! Genau das habe ich gesucht und konnte es auch erfolgreich implementieren. :thumbup: Da haben wir ja schon ein Thema für 30.3.

Meine Frau bekommt eine Krise, da ich jetzt auch noch lua lernen werde :smartass:.

 

Ich habe jetzt die Unterpunkte der FAOR 4808, Caliente, Coyote und AG2 eingefügt:

 

 

local _AG2 = missionCommands.addSubMenu("AG2", nil)
local _4808 = missionCommands.addSubMenu("FAOR 4808", nil)
local _Caliente = missionCommands.addSubMenu("FAOR Caliente", nil)
local _Coyote = missionCommands.addSubMenu("FAOR Coyote", nil)



missionCommands.addCommand("hard deck enable",_4808,function() 
 trigger.action.setUserFlag("10",1) 
end,nil)
missionCommands.addCommand("hard deck disable",_4808,function() 
 trigger.action.setUserFlag("10",0) 
end,nil)

missionCommands.addCommand("hard deck enable",_Caliente,function() 
 trigger.action.setUserFlag("20",1) 
end,nil)
missionCommands.addCommand("hard deck disable",_Caliente,function() 
 trigger.action.setUserFlag("20",0) 
end,nil)

missionCommands.addCommand("hard deck enable",_Coyote,function() 
 trigger.action.setUserFlag("30",1) 
end,nil)
missionCommands.addCommand("hard deck disable",_Coyote,function() 
 trigger.action.setUserFlag("30",0) 
end,nil)

missionCommands.addCommand("AA enable",_AG2,function() 
 trigger.action.setUserFlag("40",1) 
end,nil)
missionCommands.addCommand("AA disable",_AG2,function() 
 trigger.action.setUserFlag("40",0) 
end,nil)

 

 

Die Sensoren der AA in AG2 triggere ich über "UNIT EMISSION ON" und "UNIT EMISSION OFF"

Screen_170319_215454.thumb.jpg.c27613f6175eb7ce512be633ba905471.jpg

Bullseye-Training

Hardware: TrackIR5 | Buddy-Fox UFC | TM Warthog | Saitek Pro Flight Rudder Pedals | i7-4790k | GTX 980 | 32GB RAM

Modules: F/A-18C | A-10C | M-2000C | F-5 Tiger II | UH-1H

Posted

Schön, dass es funktioniert :)

Mein Script sieht fast genau so aus :D

 

Sag mal Bescheid, falls es bei dir funktioniert, die Funkmenüeinträge wieder zu entfernen. Per Trigger im ME hat das bei mir nicht geklappt. Mich störts aber auch einfach nicht, wenn die Einträge da drin bleiben... passiert ja nix beim nochmal draufdrücken und der Personenkreis, der das Funkmenü benutzt ist bei uns mehr als überschaubar ;)

- Deutsche Tutorials und DCS Gameplay: youtube.com/Rakuzard | raku.yt/discord -
Posted

Zu Fuß sieht das so aus (Bilder Anhang), jedoch ohne Menü-Unterpunkte.

 

Würde sowas per script funktionieren, wenn die Namen sowie Flag-Werte per Variable (Vorsicht, absoluter Neuling, bitte Syntax nicht beachten) über if/else definiert sind?

 

if Flag1=true then _Unterpunktname = "Flag1 ist an" and _UnterpunktWert = 1
else Unterpunktname = "Flag2 ist aus" and _UnterpunktWert = 0

local _Unterpunkt = missionCommands.addSubMenu("Unterpunkt", nil)

missionCommands.addCommand("_UnterpunktName",_Unterpunkt,function() 
 trigger.action.setUserFlag("1",_UnterpunktWert) 
end,nil)

Screen_170319_215518.thumb.jpg.3911dac6f0a48e9a4a8398b9ab3ab2dc.jpg

Screen_170319_215519.thumb.jpg.e8916d1adbf42459e4a5c95040cd61ea.jpg

Screen_170319_215520.thumb.jpg.60c8dd3f5cc2cfad595b49c025d38869.jpg

Screen_170319_215515.thumb.jpg.1ff994b095835613d2bdca5bad7f773c.jpg

Bullseye-Training

Hardware: TrackIR5 | Buddy-Fox UFC | TM Warthog | Saitek Pro Flight Rudder Pedals | i7-4790k | GTX 980 | 32GB RAM

Modules: F/A-18C | A-10C | M-2000C | F-5 Tiger II | UH-1H

Posted

Theoretisch.... jain.

Das Problem mit den Switched Conditions ist, dass die intern in einer Schleife ablaufen (teure Performance!). Die müsstest du natürlich im Script nachbauen. Ansonsten würde deine Bedingung bzw. würden die daraus resultierenden Aufrufe nur ein einziges Mal aufgerufen - nämlich dann, wenn dein Script aufgerufen wird.

 

Spontan würde ich mich in Richtung Event Handler umschauen, wenn es denn unbedingt per Script sein soll. Ich weiß auswendig nicht mehr, ob es einen Handler "flag set" oder so Ähnlich gab.

Ansonsten lass die Switched Conditions lieber im ME, wenn sie da funktionieren und du keine andere Idee hast, das ohne Schleifen etc. zu lösen.

- Deutsche Tutorials und DCS Gameplay: youtube.com/Rakuzard | raku.yt/discord -
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...