VCOM

Aus TTT Wiki
Wechseln zu: Navigation, Suche
Seiteninformation
Betreuer Technik & QM des TTT´s
Aktuelle Version 10
(01.07.2018)

Was ist VCOM AI 3.0?

Diese Modifikation verändert das Arma3 Vanilla KI-Verhalten grundlegend.

Was beinhaltet VCOM AI 3.0?

Verschiedenste Funktionen sorgen dafür, dass die KI sich völlig anders verhält als man es von der Vanilla KI gewohnt ist.

Die Funktionen und die daraus resultierenden Verhaltensweisen der VCOM KI können im einzelnen hier betrachtet werden!

Was muss der Missionsbauer bei VCOM AI 3.0 beachten?

Als Missionsbauer musst du für dich beantworten, ob es angebracht bzw. Sinnvoll ist, VCOM AI zu nutzen.

Das hängt ganz individuell vom gewünschten Verhalten der KI in der Mission ab.

Auf den Servern des TTT, ist VCOM KI grundsätzlich erst mal ausgeschaltet.

Bedeutet, erst wenn ich mich für VCOM KI entschieden habe, muss ich als Missionsbauer tätig werden.

BetaTest Hinweise zu VCOM AI

Testet ihr eure Mission in einer MP-Instanz auf dem Rechner so müsst ihr beachten das durch die Mod VCOM AI lokal bei euch eingeschaltet ist.

Wollt ihr keine VCOM AI in eurer lokalen MP-Instanz so müsst ihr VCOM AI per cba_settings.sqf ausschalten. Klick mich hart! Eine andere Möglichkeit ist das Importieren der TTT Server-Settings.

Dazu auf einen der TTT-Server verbinden und unter "Einstellungen-> "AddonOptions" -> "Exportieren und Speichern"

Dann in eure Mission gehen "Einstellungen" -> "AddonOptions" -> Laden, dort die TTT-Servereinstellungen rein laden.

Grundlegend kann man folgende Aussagen treffen:

VCOM AI ist sehr gut geeignet für sich bewegende KI.

Bei statischer KI sorgt VCOM hin und wieder für ungewünschte Effekte wie, Weglaufen der KI oder ungewolltes Einsteigen in Fahrzeuge.

Bei HVTs sollte man spezielle Einstellungen tätigen. Und vieles mehr.....

Im Zweifel das Verhalten der KI immer genau testen. Dies sollte sowieso Inhalt eines jeden BetaTests sein.

Zusätzlich gibt es aber auch noch andere Möglichkeiten das Verhalten der VCOM KI zu Verwalten. Siehe hierzu 4.3

VCOM AI in die Mission einbauen.

Wenn du dich dafür entscheidest VCOM AI zu nutzen, brauchst du nichts anderes tun als, VCOM AI einzuschalten und ggf. einzustellen.

VCOM AI einschalten.

Um VCOM AI einzuschalten, erstellst du in deinem Missionsordner folgende Datei.

cba_settings.sqf

Der Missionsordner mit der cba_settings.sqf sollte dann in etwa so aussehen.

Dort fügst du folgenden Befehl ein:
// VCOM SETTINGS
force Vcm_ActivateAI = true;
Jetzt ist VCOM AI, mit denn von der Technik voreingestellten Settings aktiv.

Gegebenenfalls musst du noch ein paar Grundeinstellungen tätigen. Dazu ab 5.0 mehr.

Folgende Grundeinstellungen sind auf dem Server gesetzt und als Standard eingestellt.
Vcom seite1.jpg
Vcom seite2.jpg

Grundeinstellungen tätigen bzw. ändern.

Es gibt zwei möglichkeiten die Grundeinstellungen zu tätigen bzw. zu ändern.

Die Grundeinstellungen betreffen alle KI Soldaten. Auch jene, die per Zeus gesetzt werden.

Um einzelne KI- Gruppen feiner einzustellen siehe unter Punkt 6 nach.

Variante 1:

Um Einstellungen abzuändern, öffnest du deine cba_settings.sqf Datei, fügst folgende weitere Zeilen hinzu und stellst sie gegebenenfalls weiter ein.

Wichtig ist, dass du vor jeder Zeile noch ein force einfügst.
force VCM_ADVANCEDMOVEMENT = true; //Erlaubt Flankieren und dem damit verbundenen setzen neuer Wegpunkte. True für an, false für aus
force VCM_AIDISTANCEVEHPATH = 100; // Umkreis in Meter, in dem die KI Fahrzeuge stehlen darf
force VCM_AIMagLimit = 5; // Magazin Anzahl, nach der die KI beginnt zu Looten
force VCM_ARTYDELAY = 300; // Verzögerung in Sekunden, bis die KI beginnt Artillerie anzufordern, wenn vorhanden.
force VCM_ARTYENABLE = true; // KI benutzt Artillerie. true an, false aus
force VCM_ARTYSPREAD = 400; // Streuung in Metern,in der KI Artilleriegeschosse landen
force VCM_Debug = false; // Schaltet den Debug ein bzw. aus. true or false
force VCM_FRMCHANGE = true; // KI schalten voreingestellte Formationen selbst um. true or false
force VCM_HEARINGDISTANCE = 800; // Die Distanz auf die VCOM-KI auf Schussgeräusche reagiert
force VCM_MINECHANCE = 75; // Die Chance in Prozent, dass KI Minen und Explosives legt 
force VCM_RAGDOLL = true; // Animation das KI umfällt wenn getroffen. true or false
force VCM_RAGDOLLCHC = 50; // Chance in Prozent, das die Ki umfällt wenn sie getroffen wird.
force VCM_SIDEENABLED = [WEST,EAST,GUER]; // Seite einstellen für die VCOM Aktiv ist. Es gehen auch einzelne
force VCM_SKILLCHANGE = true; // True verändert Skills der KI auf VCOM. false belässt den eingestellten Vanilla Skill
force VCM_STATICARMT = 300; // Zeit in Sekunden, die KI statische Waffen unbenutzt lässt bevor sie diese besetzt
force VCM_StealVeh = true; // Erlaubt der KI Fahrzeuge zu stehlen.
force VCM_WARNDELAY = 30; //Zeit in Sekunden bevor die KI verstärkung ruft
force VCM_WARNDIST = 1000; // Distanz in Metern, in denen die KI Verstärkung ranholt
Am Ende sollte es, je nachdem was du eingestellt hast, so aussehen

Variante 2:

Du gehst in denn EdenEditor und lädst deine gebaute Mission.

Wenn du als Spielfigur auf der Karte gespawnt bist:

ESC -> Einstellungen -> Configure Addons

-> VCOM aus dem DropDownMenü auswählen.

Dann dort die Einstellungen tätigen, die du benötigst.

Anschließend drückst du auf Exportieren und fügst die im Zwischenspeicher hinterlegten Codezeilen in einen Editor deiner Wahl ein.

Dort löschst du alle Einstellungen, die du nicht verändert hast. Z.b ACE³ oder TFAR- Einstellungen.

Nun steht dort:
force force Vcm_ActivateAI = false;
WICHTIG! Ein force muss weg.

Nun speicherst du die Datei in deinem Missionsordner. Natürlich als .sqf Datei, mit dem Namen cba_settings.

Das ganze könnte, wenn es fertig ist, dann z.B so aussehen. Je nach dem, wie du die Einstellungen getätigt hast.

Im Missionsordner könnte das ganze dann so aussehen.

Verhalten von KI Gruppen unter VCOM AI, zusätzlich einstellen bzw. Verwalten?

Zusätzlich gibt es Befehle um einzelne Soldaten bzw. Gruppen von VCOM auszuschließen oder um ihr verhalten etwas genauer zu definieren.

Dies kann zum Beispiel nötig werden, wenn ich nicht will das eine Gruppe KI- Soldaten Verstärkung rufen soll oder wenn ich nicht will das eine KI Gruppe überhaupt mit VCOM AI laufen soll.

Die Befehle können zum Beispiel in das Init-Feld einer Gruppe eingefügt werden und nicht in das Init-Feld eines einzelnen KI Soldaten. Alternativ geht das auch per Eventscript.
(group this) setVariable ["VCM_NOFLANK",true]; //This command will stop the AI squad from executing advanced movement maneuvers. Dieser Befehl verbietet der KI Gruppe das Flankieren

(group this) setVariable ["VCM_NORESCUE",true]; //This command will stop the AI squad from responding to calls for backup. Dieser Befehl verbietet der KI Gruppe als Verstärkung zu agieren.

(group this) setVariable ["VCM_TOUGHSQUAD",true]; //This command will stop the AI squad from calling for backup. Dieser Befehl verbietet der KI Gruppe Verstärkung zu rufen.

(group this) setVariable ["Vcm_Disable",true]; //This command will disable Vcom AI on a group entirely. //Dieser Befehl schliesst die ganze Gruppe von VCOM Ai aus. Bedeutet sie reagiert Vanilla

(group this) setVariable ["VCM_DisableForm",true]; //This command will disable AI group from changing formations. Dieser Befehl verbietet der KI Gruppe die Formation zu wechseln.

(group this) setVariable ["VCM_Skilldisable",true]; //This command will disable an AI group from being impacted by Vcom AI skill changes. //Dieser Befehl verbietet der Ki Gruppe die VCOM KI Skills zu nutzen. Damit nutzt sie Vanilla KI Skills
Alternativ können die Befehle auch per foreach- Schleife, in das Init- Feld eines einzelnen Soldaten. Ein Beispiel:
{_x setvariable ["Vcm_Disable",true]} foreach units (group this);

Weitere Einstellungsmöglichkeiten

KI Skill Einstellungen:

Die nun folgenden Einstellungsmöglichkeiten sind nur über die cba_settings.sqf Datei einstellbar.

Dies setzt, aber das die Variabel wie folgt eingestellt ist:
VCM_SKILLCHANGE = true;
Nun wird der Skill der KI wie von VCom voreingestellt übernommen. Es besteht nun aber die Möglichkeit diese Werte selber zu definieren in dem du folgendes in die cba_settings.sqf schreibst und nach deinen Bedürfnissen anpasst:
VCM_AIDIFA = [['aimingAccuracy',0.25],['aimingShake',0.15],['aimingSpeed',0.35],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]];

VCM_AIDIFA = [['Treffsicherheit',0.25],['Verwacklung beim Zielen',0.15],['Zielgeschwindigkeit',0.35],['Kommandieren',1],['Mut',1],['Ausdauer',1],['Allgemein',1],['Nachladegeschwindigkeit',1],['Aufklärungsreichweite',0.85],['Aufklärungsgeschwindigkeit',0.85]];
Dies betraf eben jegliche vorhandene KI, ist aber auch für die unterschiedlichen Seiten (Blufor, Opfor und Independent) möglich einzustellen:
VCM_SIDESPECIFICSKILL = true;

(Blufor)
VCM_AIDIFWEST = [['aimingAccuracy',0.25],['aimingShake',0.15],['aimingSpeed',0.35],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]];

(Opfor)
VCM_AIDIFEAST = [['aimingAccuracy',0.25],['aimingShake',0.15],['aimingSpeed',0.35],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]];

(Independent)
VCM_AIDIFRESISTANCE = [['aimingAccuracy',0.25],['aimingShake',0.15],['aimingSpeed',0.35],['commanding',1],['courage',1],['endurance',1],['general',1],['reloadSpeed',1],['spotDistance',0.85],['spotTime',0.85]];
Es gäbe auch noch die Möglichkeit dies Classnames abhängig zuzuweisen, wer daran Interesse hat, sollte sich in der VCom Materie sehr gut auskennen. Daher wird dies hier nicht beschrieben.

Schalldämpfer

Mit der folgenden Variabel könnt ihr per Classname festlegen, welche Schalldämpfer nicht als Schalldämpfer zählen sollen. Bedeutet die KI reagiert so, als ob kein Schalldämpfer vorhanden wäre:
VCM_ATTACHMENTIGNORE = ["Atch1","Atch2","Atch3"];
Atch1, Atch2 und Atch3 stehen dabei für mögliche Schalldämpfer.

VCOM AI und Mörser. Ein Hinweis

Die KI mit VCOM spricht sich ab und schießt mit Unterstützungswaffen recht genau.

Deshalb ist beim Einsatz mit VCOM AI zum Empfehlen, den Streuradius des Mörsers recht groß einzustellen.

Im zweifel lieber das abfeuern von Mörser der VCOM AI verbeiten und per Zeus ausführen.
force VCM_ARTYDELAY = 300; // Verzögerung in Sekunden, bis die KI beginnt Artillerie anzufordern, wenn vorhanden.
force VCM_ARTYENABLE = true; // KI benutzt Artillerie. true an, false aus
force VCM_ARTYSPREAD = 400; // Streuung in Metern,in der KI Artilleriegeschosse landen

Bekannte Fehler

- AI's with mortars will still attempt to deploy the mortar INSIDE a structure.

- You must enable -filepatching on your server/machine if you want the userconfig folder to work. Not doing this may result in an error message.

Hinweise, Fragen und das Qualitätsmanagement

Bis hierhin nur Bahnhof verstanden?

Dann solltest du darüber nachdenken VCOM AI erst mal nicht zu nutzen.

Wende dich an erfahrene Missionsbauer oder das Qualitätsmanagement des TTT´s..

Dort wird die geholfen.

Verantwortlich für dieses Beitrag: Technik und QM des TTT´s

Quellen

GitHub VCOM AI 3.0: https://github.com/genesis92x/VcomAI-3.0

BI Forums: https://forums.bohemia.net/forums/topic/216611-release-vcom-ai-3-dangerous-ai/