Mitspieler Online

· Gäste: 24

· Mitspieler Online: 0

Login

Benutzername

Passwort



Passwort vergessen?
Um ein neues Passwort anzufordern klicke hier.

Ereignisse

<< Mai 2024 >>
Mo Di Mi Do Fr Sa So
    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    

Social

Thema ansehen

 Thema drucken
Missionsbau aber smart!
19.07.2018 um 20:01

Top  #1  Beitrag drucken

OmniMan

Benutzeravatar
Alpha-Wolf

An 100 Events bei Gruppe W teilgenommen

W-ichtigtuer


Beiträge: 596

Registriert am: 05.12.14

Hallo Leute,

Ich liebe Missionsbau und ich freue mich jedesmal wenn ich in diesen Workflow verfalle und dadurch meiner kreativität freien lauf lassen kann...aber!

Es gibt doch immer wieder diese Momente und Vorgänge die mich und sicher viele andere auch ziemlich ausbremsen und frusten.
Diese kleinen Arbeiten sind einfach nur lästig, nerven und fressen nicht nur eine menge Zeit sonder arbeiten auch gegen gemäß Pareto!
(Pareto, 20% der Arbeit erzielen 80% der Ergebnisse, nur hier umgekehrt)

Speziell 2 Punkte stören mich ganz besonders.

  • Punkt 1: Das Platzieren und benennen der Einheiten (Und zwar ohne das diese sich auf magische weiße in der Slotliste vertauschen)
  • Punkt 2: Die Nummerierung der Einheiten nach Slotliste.



So und da es offensichtlich ist, dass man nur einen guten Workflow und den ultimativen Spaß erreichen kann, wenn man die lästigen Dinge entweder abschafft oder automatisiert, habe ich folgendes gemacht.

Punkt 1 ist relativ einfach zu bewerkstelligen: Mehrere Compositions (Composition, eine in ED3N gespeicherte Zusammenstellung von mehreren Objekten, die beliebig platzierbar ist) mit allen Einheiten die man gerne Verwendet anlegen, dabei ist der Vorteil das die Einheiten auch schon benannt und auf "Spielbar" gesetzt werden können. Also z.b. eine Panzercrew mit zusätzlichem Panzer. Und wenn man das ganze jetzt noch mit den Classnames mit denen Poppy arbeitet, abstimmt und ein für sich standardisiertes Loadout verwendet, hat man mit einem Klick die gewünschte Einheit mit passendem Loadout. Praktisch!
Jetzt noch kurz Zeit nehmen und die Einheiten genau Schritt für Schritt nach seiner Slotliste abarbeiten.
Damit wird verhindert, dass ArmA bei späteren Änderungen einer Einheit innerhalb eines Teams, die Slotliste neu priorisiert wird (Arma legt die Slotliste immer nach Alter der gesetzten Einheiten fest (Ein CO ist immer älter als der Logisitker da er zuerst gesetzt wird)).


So das wäre gelöst, jedoch habe ich für Punkt 2 nur Theoretisch eine Lösung und brauche deshalb eure Hilfe!

Das durchnummerieren der Einheiten kann nicht einfach mit in der Composition gespeichert werden, da wenn ich beispielsweise ein Squad 4x setze, es immer wieder mit der gleichen Nummerierung gesetzt wird. So auch mit einem Platoon oder anderen Einheiten.
Deshalb ist dieser Vorgang auch so nervig, da erst alles gesetzt, bearbeitet und dann durchnummeriert werden muss!

Ein enormer Aufwand für ein nahezu nichtiges Ergebnis!

Abschaffen können wir die Nummerierung auch nicht, da diese ja für die Slotliste im Forum gebraucht wird und im Falle des Vertauschens der Slotliste durch ArmA, diese dem Missionsbauer beim Event den Arsch rettet.

Also bleibt folgende Idee:

In der mission.sqm stehen alle Informationen in Textform die der Editor verarbeitet und anschließend umsetzt.
Diese Datei kann mit einem Texteditor bearbeitet werden. Nun könnte man die Nummerierung hier von Hand vornehmen doch das wäre noch aufwendiger als es das so schon ist!

Also warum nicht ein kleines Windows Script entwickeln, welches die gewünschte Mission.sqm durchgeht, die gesetzten Einheiten herausfiltert und dann automatisch durchnummeriert!
Das ganze lässt man vor der Testphase durchlaufen und hat diesen Schritt ziemlich einfach gelöst indem er automatisiert wurde!


Da ich keine Erfahrung im Coding habe (außer SQF, welches ich mir in 2 Jahren selbst angeeignet habe), eine Frage an die IT Spezialisten hier:
  • Ist so ein Script zu entwickeln möglich? Wenn ja wäre das der Traum aller Missionsbauer!
  • Eventuell gibt es eine andere Alternative auf die ich bisher noch nicht gekommen bin...



Also dann, ich freue mich auf eure Antworten Nice
"Nobody in the history of fucking warfare has said, hey we're being ambushed, slow down!" -Dslyecxi
Situational Awareness is Everything[Guide]
Der Umgang mit Kriegsgefangenen [Guide]
Willkommen im Team Soldat! [Squadbriefing]
19.07.2018 um 20:12

Top  #2  Beitrag drucken

Soldia

Benutzeravatar
Forenprofi


Beiträge: 1463

Registriert am: 07.04.13

Oder einfach was existierendes nutzen:

http://www.armaho...p?id=27376

Für das automatische nummerieren: Einen vernünftigen Texteditor, der Multi-Cursor unterstützt und ein Auto-Numbering ebenfalls (meistens Plugin).

Bsp: Sublime Text 3 + https://rricketts...me-text-3/
forum.gruppe-w.de/pics/Foren_Signaturen/Soldia.png
ACRE2 Issues
27.10.2018 um 23:23

Top  #3  Beitrag drucken

Wetzer

Benutzeravatar
Halloween 2022

Du hast die Halloween-Nacht 2022 überlebt!

W-ichtigtuer


Beiträge: 504

Registriert am: 04.03.17

Zum Thema auch passend:

Scriptbefehle "Do's and Don'ts":

Hier: While vs WaitUntil:

YouTube Video
Bearbeitet von Wetzer am 27.10.2018 um 23:31
Wenn man neben jemanden steht, der "Hört!" schreit, hält man die Klappe.
Wenn man neben jemanden steht, der "Kann mich jemand hören?" schreit, hält man die Klappe.
Wenn man neben jemanden steht, der "Ich kann dich nicht hören!" schreit, jippt man.
28.10.2018 um 00:32

Top  #4  Beitrag drucken

BlauBaer

Benutzeravatar
W-ichtigtuer


Beiträge: 832

Registriert am: 06.02.15

Wieso das zum Thema passen soll ist mir schleierhaft. Da du diesen Unsinn aber bereits gepostet hast, möchte ich nun kurz darauf eingehen, warum du genau das, was der Typ da sagt, nicht machen solltest.

  • Wenn eine Funktion während der gesamten Mission laufen soll, sollte man sich zuerst fragen, ob das denn wirklich der Fall ist. Oftmals will man nur bestimmte Konditionen abfragen, die viel besser in Event Handler gepackt werden können. Diese verbrauchen, so lange sie nicht ausgelöst werden, absolut 0 Performance. Ein Großteil der Schleifen diverser Mods und Missionsskripte die man so findet würden sich damit deutlich optimieren lassen.
  • Regelmäßige Abfragen sollten nicht in while {true} Schleifen gepackt werden, denn, wie hier gezeigt, laufen die so lange sie wollen. Das kann heißen mehr als einmal pro Frame, das kann aber auch heißen alle 3 Frames ein bisschen. Aber auch dieser bescheuerte waitUntil Trick hat das Problem, dass er nicht jeden Frame laufen muss oder der Code manchmal während eines Frames unterbrochen werden kann. Dies führt häufig zu gravierenden, schwer auffindbaren und nicht nachvollziehbaren Fehlern, da man als Programmierer keine Kontrolle hat, wann was passiert. Mein Lieblingsbeispiel ist dieses hier, welches dauernd hints produziert, obwohl dies auf den ersten Blick absolut nicht ersichtlich ist (funktioniert auch mit waitUntil, jedoch taucht der Fehler seltener auf):

myVar = true;
0 spawn {
    while {true} do {
        if (myVar) then {
            if (!myVar) then {
                hint "hi";
            };
        };
    };
};
0 spawn {
    while {true} do {
        myVar = !myVar;
    };
};


  • Stattdessen sollte man CBA PerFrameHandler nutzen (kurz PFH). Diese laufen genau einmal pro Frame oder genau alle X Sekunden ohne dabei die Performance anderer Skripte zu beinflussen. onEachFrame, was von dem Spaßvogel sogar erwähnt wird, funktioniert ähnlich, ist aber bereits veraltet. Es gibt zwar dazu eine neuere Alternative, da die jedoch weniger mächtig als ein PFH ist werde ich sie gar nicht erst nennen.
  • Zuletzt wird noch behauptet, man könnte auch Trigger verwenden, die wären "wirklich gut" da sie alle "in dem selben Thread laufen". Das ist dann wirklich das Dümmste was ich jemals als Empfehlung gehört habe. Es gibt kein "Skript-Threads" in Arma, hat es auch nie gegeben. Skripte, die im Scheduled Environment laufen, werden regelmäßig unterbrochen, damit ein anderes laufen kann, dass dann auch wieder unterbrochen wird, aber parallel läuft da nichts. Auch hier ist ein PFH die deutlich bessere Wahl.


Wer sich mehr in die Thematik von Scheduled Environment und Performance einlesen will sollte sich diesen Artikel durchlesen:
https://ace3mod.c...tices.html
Springe ins Forum:
Seitenaufbau in 0.18 Sekunden
Serverzeit: 00:25:00 Uhr , 54,518,468 eindeutige Besuche