[Official] ArmA 3 Mission Enhancement

  • ArmA 3 Mission Enhancement - Script Collection


    Autor: NetFusion
    GitHub: https://github.com/netfusion/AME
    Aktuelle Version: 0.1 (Pre-Alpha)


    Der Hintergedanke des Projekts ist der, die Features eines Realismusmods in einer Scriptversion bereitzustellen, sodass auch ohne Mods ein besseres Spielerlebnis gegeben ist.
    Leider sind durch BI dort einige Grenzen gesetzt, sodass einige Techniken nicht eingesetzt werden können. Gerade diese Herausforderung motiviert mich an diesem Projekt weiter zu arbeiten.
    Grundsätzlich möchte ich außerdem nicht ausschließen, dass Teile von AME in Zukunft auch als Mod zur Verfügung stehen.


    AME verfolgt außerdem den Grundsatz, dass zwei Interaktionsmenüs parallel überflüssig sind. Das heißt, solange das Scrollmenü nicht deaktiviert werden kann, wird es kein alternatives Menü geben. Das Interaktionsmenü soll nicht als Feature von AME gelten.


    Das Projekt ist in mehrere Module aufgeteilt, sodass unnötige Module in jeder einzelnen Mission schnell entfernt bzw. hinzugefügt werden können.


    Hier ein Überblick über die aktuell implementierten Features:



    • BuildFOB

      • Auf- und abladen von "Land_Cargo20_military_green_F" und "Land_Cargo20_white_F" auf "B_Truck_01_mover_F"
      • Aufbau eines FOBs aus den Containern (Logistik und Medic Version)
      • Abbau des FOB zurück zum Container


    • Chairs

      • Hinsetzen und Aufstehen von Soldaten auf verschiedenen Stühlen/Bänken


    • Crates

      • Bestimmen von vorgefertigten Inhalten für jegliche Kisten und/oder Fahrzeuge


    • DragDrop

      • Ziehen und Loslassen von Kisten und statischen Waffen


    • Environment

      • Festlegen einiger Umgebungsvariablen um die Performance in größeren Events zu steigern


    • GarbageCollect

      • Entfernen von unnötigen Gegenständen sowie toten Einheiten während des Spiels


    • Grenades

      • Sperren der Granaten zu Beginn des Spiels um ein unabsichtliches Werfen zu verhindern


    • LiveFeed

      • Umbau aller "SignAd_Sponsor_F" zu Monitoren auf denen einem einzelnen Gruppenführer via Helmkamera zugeschaut werden kann


    • Load

      • Ein- und Ausladen von Kisten in Fahrzeuge


    • LoadOut

      • Festlegen von Ausrüstung für verschiedene Klassen von Soldaten beim Spawn und Respawn


    • Medical

      • Umfangreiches Medicsystem mit (simulierten) Bandagen, Morphin, Schmerz, Blutverlust und Bewusstlosigkeit
      • verbessertes Schadensmodell am Körper


    • NameTag

      • Anzeigen von Spielernamen im Spiel


    • Teleport

      • Ermöglicht an einer "FlagPole_F" zum eigenen Gruppenführer zu teleportieren


    • TFAR

      • legt Einstellungen für den Einsatz von Task Force Arrowhead Radio fest


    • Zeus

      • Überträgt die Berechnung der KI auf den Zeus
      • Macht im Editor platzierte Objekt editierbar für Zeus



    Weitere Features sind in Planung jedoch steht für mich das Optimieren der vorhandenen Scripte im Vordergrund.


    Ich bin selbstverständlich für jegliche Form von Hilfe bei der Weiterentwicklung dankbar, aber nicht darauf angewiesen.
    Einige haben einen Teil dieser Script in der Mission Speer schon gesehen. Die Resonanz war bisher überwiegend positiv. Ein paar Kleinigkeiten lassen sich jedoch nie vermeiden.


    Bei Fragen zur Integration der Scripte in eure Mission stehe ich gerne zur Verfügung.

  • Version 0.2 wird ein Mod sein.
    Allerdings wird dieser Mod nicht bei jeden Client benötigt sondern muss lediglich auf dem Server liegen.
    Die Scripte werden trotzdem weiterhin hauptsächlich clientseitig laufen um Serverleistung für die KI zu reservieren.
    Der Missionsbauer behält weiterhin die Kontrolle, welche Script in seiner Mission laufen.


    Neben ein paar Erleichterungen für mich als Entwickler reduziert das Ganze die Missionsgröße und Updates müssen nicht in jede alte Mission hinein kopiert werden, sondern nur auf dem Server einmalig durchgeführt werden.

  • Da es das Modul leider nicht in die Version 0.2 geschafft hat, veröffentliche ich hier mal zwei Scripte des LiveFeed-Moduls der Version 0.1 in leicht abgeänderter Form.


    Das LiveFeed Module ermöglicht das auf "SignAd_Sponsor_F"-Schildern, die Helmkamera befreundeter Gruppenführer angezeigt werden kann. Wichtig ist, dass auf mehreren Objekten verschiedene Kameras parallel angezeigt werden können und An- und Aus- sowie Umschalten zwischen den Spielern synchronisiert wird.
    Realisiert wurde das ganz mit einem PiP-Effekts und einem "draw3D"-EventHandler.


    Als erstes der Code innerhalb des "draw3D"-EventHandlers:
    Leider habe ich es nicht geschafft die Kopfposition bzw. die Blickrichtung eines Spielers zu Berechnen wenn er Passagier in einem geschlossenen Fahrzeug ist (Slammer).
    Ansonsten deckt das Skript alle möglichen Fälle ab und ist damit soweit ich weiß das vollständigste (Helm-)Kameraskript, dass es zur Zeit für ArmA3 gibt.




    Um das ganze im Zusammenhang darzustellen hier noch das "initScreen.sqf"-Skript:
    Es wird beim Aktivieren eines Bildschirms ausgeführt und initialisiert die Kamera inklusive des PiP-Effekts



    Abschließen ist noch zu sagen das die beiden Skripte vollständig clientseitig laufen und dadurch keine Last auf dem Server entsteht.
    Ihr könnt die Methoden gerne in euren Skripten/Mods nutzen, dafür aber bitte zumindest den Danke-Button unten links drücken :D
    Ansonsten hab ich das ganze mal etwas kommentiert, damit vielleicht auch noch jemand etwas über SQF daraus lernen kann.

  • Die erste Phase der Entwicklung der Version 0.2 ist nun abgeschlossen. Alle Features sind implementiert.
    Nun wird nochmal der gesamte Code überprüft und optimiert. Gleichzeitig beginnt die erste Testphase in der Bugs und Verbesserungsvorschläge gesammelt werden.
    Abschließend findet dann ein finales Bugfixen statt, welches schließlich mit dem Release endet.


    Wenn ihr beim Pre-Alpha testen dabei sein wollt um eure Ideen in das Projekt einfließen zu lassen, könnt ihr euch bei mir per PM melden.

  • Für alle die es noch interessiert ein kleines Statusupdate zum Projekt:


    Das Projekt kam bisher in Teilen bei den Coopetitions zum Einsatz. Die gesammelten Erfahrungen waren überwiegend positiv, sodass aktuell an einem neuen Projekt gearbeitet wird, welches langfristig AME ablösen soll. Das neue Projekt ist etwas umfangreicher und wird von einem mehrköpfigen Team entwickelt.
    Damit ist die Entwicklung an AME auch offiziell eingestellt und es werden keine neuen Updates kommen.


    Wann das neue Projekt fertig ist steht noch nicht fest, wird aber, wenn es soweit ist, bekanntgegeben.