Arma 3 - Kommunikation mit AI

  • Um mit Zivilisten zu interagieren gibt es mehrere Wege, u.a über Ace Interaktion oder mit einem einfachem Interaction-Menu. Weil ich das Interaction aufgrund der Bedienbarkeit für Spieler mit ACE zu langatmig empfand, habe ich mich in dem nachfolgendem Beispiel in einer Vietnam Mission mit globalchat und den mitgeliferten Unsung Soundfiles bedient.


    Nachdem ich mir eine ganze Reihe von Soundfiles aus dem besagtem Mod rausgeschrieben habe, habe ich die Namen für den Aufruf dazu in 2 verschiedene Arrays geschrieben, damit diese niemals das gleiche wiederholen.

    Anmerkung: Ich kann kein vietnamesisch und habe keinen Plan was die also brabbeln ! :P .


    Auftrag: Die Spieler waren hier halt angehalten in der Nähe eines Dorfes zu patroullieren und die Zivilisten nach Vietcong-Aktivitäten zu befragen. Erst daraus begann die eingentliche Mission.


    Die Befehlszeile für das addaction am Zivilisten. kommt in jeden Zivilisten der befragt werden kann oder soll.

    Code
    1. talking = this addAction ["<t color='#FF0000'>Befragen</t>", "talktounit.sqf", "", 0, true, true, "", "_this distance cursortarget < 3"];


    Das Skript als solches ist für die allgemeine Konversation zur Untermalung gedacht für die Spieler. Hier sind keine relevanten Infos für den Spieler, eher nur zur Beschäftigung. Sie weisen auf den Dorffältesten , mit dem man reden soll. Der Dorfälteste hat dann in ähnlicher Form ein anderes Skript mit den eigentlichen Informationen zur Mission.

    Desweiteren sollten die AI Zivis stehen bleiben soweit man diese angesprochen hatte und sich erst wieder in Bewegung setzen, wenn as Gespräch beendet ist.


    Einge bekamen zum Gepräch auch einige Bewegungsanimationen um das ganze zu untermalen. Um die Soundfiles abzuspielen nutze ich hier say3D . Ab und zu fiel auch mal ne Grante vor die Füsse :) . Alles Ausagen sind wiegesagt auch random, so das sie Spieler auch durchaus damit mal länger beschäftigt sein können ...


    Das Skript in einer talktounit.sqf (oder wie immer sie bei euch heißen wird)


    So siehts dann inGame aus: