chrisrucksack Posted March 20, 2017 Posted March 20, 2017 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
caponi Posted March 20, 2017 Posted March 20, 2017 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 ...
Rakuzard Posted March 20, 2017 Posted March 20, 2017 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 -
caponi Posted March 20, 2017 Posted March 20, 2017 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 ...
Rakuzard Posted March 20, 2017 Posted March 20, 2017 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 addSubmenu addCommand setUserFlag Viel Spaß :) 1 - Deutsche Tutorials und DCS Gameplay: youtube.com/Rakuzard | raku.yt/discord -
caponi Posted March 20, 2017 Posted March 20, 2017 (edited) Und das Script setzt man bei einem Trigger im Missionsstart ein ? z.B. Edited March 20, 2017 by caponi too much ...
Rakuzard Posted March 20, 2017 Posted March 20, 2017 Zum Beispiel. Ich habs in einem Scriptfile (da es doch ein paar mehr addCommands bei mir sind). Jeder wie er mag ;) - Deutsche Tutorials und DCS Gameplay: youtube.com/Rakuzard | raku.yt/discord -
chrisrucksack Posted March 22, 2017 Author Posted March 22, 2017 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" 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
Rakuzard Posted March 22, 2017 Posted March 22, 2017 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 -
chrisrucksack Posted March 22, 2017 Author Posted March 22, 2017 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) 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
Rakuzard Posted March 22, 2017 Posted March 22, 2017 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 -
Recommended Posts