ARMA II Briefings und Debriefings

Transcription

ARMA II Briefings und Debriefings
ARMA II Briefings und Debriefings
Autor: Imutep
Version: 1.0
Support: AMS Forum
Website: Assault Mission Studio
Inhalt:
Kapitel1:
Kapitel2:
Kapitel3:
Kapitel4:
Kapitel5:
Kapitel6:
Kapitel7:
Nötige Textformatierungen …........................................................................ 02
Notizen im Briefing …................................................................................... 03
Einsatzziele definieren …............................................................................... 04
Task Kontrolle ….......................................................................................... 05
Task Hints anzeigen lassen …........................................................................ 06
Das Debriefing …......................................................................................... 07
Das Overview ….......................................................................................... 08
Die Briefings in ArmA2 haben sich grundlegend geändert. Vergesst so ziemlich alles was ihr
bisher über Briefings wusstet. Das alte html hat wohl ausgedient, es wird nur noch für das
Debriefing genutzt. XML Kenntnisse und Scripting sind jetzt gefragt. Theoretisch könnte man
seine Texte auch farblich hervorheben. Alles zu den parseTexten findet ihr im BIS Wiki.
In ArmA2 wird das Briefing in eurer Mission als initJIPcompatible.sqf deklariert. Nicht mehr
wie sonst als Briefing.html. Ihr könnt es natürlich auch als Briefing.sqf speichern, jedoch
müsst ihr es dann in der init.sqf starten/aktivieren. ([] execVM "briefing.sqf";)
Das Briefing beinhaltet wieder wie bekannt, das Briefing selbst und dazugehörige Notizen.
Ich versuche hier mal ausführlich die neuen Funktionen und Inhalte der Briefings etws genauer
zu beschreiben. Sollte jemand neue oder bessere Infos haben, so bitte in unserem Forum
posten und alle dran teilhaben lassen. Danke!
Nötige Textformatierungen
In den Notizen und im Briefing sind jedoch einige Formatierungen der Texte nötig um
Markerlinks, Bilder und Leerzeilen einzufügen. Ebenso müssen die Umlaute in UTF-8 formatiert
werden um auch im Briefing angezeigt zu werden.
Umlaute im Briefing:
Die Umlaute (ÄÖÜß) werden in der englischen Sprache nicht verwendet, daher erkennt ArmA2
Umlaute nicht gleich. Man muss sie vorher in UTF-8 formatieren.Wie schon in Armed Assault,
die sqf Dateien, welche Texte enthalten in UTF-8 formatieren. Das geht ganz einfach, indem
ihr die Datei mit dem Notepad (Editor) öffnet und sie erneut als Briefing.sqf speichert, jedoch
die Codierung auf UTF-8 stellt!
Markerlinks:
Markerlinks sind wie der Name schon sagt, Textverlinkungen auf Marker die ihr auf der Karte
platziert habt. Wenn ihr nun in eurem Briefing auf einen Textlink klickt, so fährt der Cursor auf
den entsprechenden Marker.
<marker name=""NameMarker"">Verlinkter Text</marker>
Zeilenumbrüche:
Wollt ihr in eurem Text hin und wieder einen Zeilenumbruch einfügen, so lässt sich dies mit
einem „Break“ realisieren. Eine Leerzeile besteht demnach aus 2 „Breaks“.
NeueZeile (Zeilenumbruch) <br />
Für eine leerzeile <br /><br />
Bilder einfügen:
Ihr könnt euer Briefing natürlich auch etwas aufwerten indem ihr Bilder einfügt, um zum
Beispiel Satellitenaufnahmen, oder Bilder von Gegnern zeigen wollt. Möglich ist auch jpg.
<img image='Bild.paa'/>
Notizen im Briefing:
Notizen werden im Briefing als diary deklariert. Die Notizen könnt ihr jetzt in einzelne Themen
aufteilen wie z.B Lage, Ausführung, Unterstützung, Feindsicht,....usw).
Zu den jeweiligen Themen könnt ihr noch einen beliebigen Text verfassen und so dem Spieler
eine Fülle an Infos zu seinem Einsatz anbieten. Sehen wir uns einmal einen Notiz-Eintrag an.
_diary1 = player createDiaryRecord ["Diary", ["Titel Notiz1", "Nachricht Notiz 1"]];
Als Titel könnt ihr jetzt z.B "Durchführung" schreiben und als Text z.B die Info zur
Durchführung. Das würde dann in etwa so aussehen.
_diary1 = player createDiaryRecord ["Diary", ["Durchführung", "Serzhant Snjertenk, sie
bekommen 5 speziell ausgebildete Kameraden an ihre Seite die bereits in Tschetschenien als
Speznatz erfolgreich Einsätze durchführten.</br></br> Gemeinsam werdet ihr unweit der
Stadt <marker name=""Stadt"">Myshkino</marker> mit einem UAZ an dieser <marker
name=""Start"">Koordinate</marker> abgesetzt. Von hieraus könnt ihr euch unbemerkt der
Stadt nähern und die Guerillas eliminieren. Waffen und Ausrüstung findet ihr im bereits
vorbereitetem BTR-90."]];
Wollt ihr natürlich mehrere Notizen in euer Briefing einbauen, dann könnt das wie folgt
aussehen. Achtet auf die Reihenfolge der deklarierten Notizen, die von unten nach ob
geschrieben wird!
_diary2 = player createDiaryRecord ["Diary", ["Unterstützung", "Solltet ihr unerwartet bei
diesem Einsatz in Bedrängnis kommen, so stehen euch 2 Möglichkeiten an Verstärkung zur
Seite.<br /><br />Panzertrupp samt Infanterie:<br />Wir stellen euch einen BMP3 samt
Infanterie mit gut ausgebildeten MVD Soldaten zur Verfügung. Jedoch wird es mehrere
Minuten dauern bis die Truppen zu euch vorgestossen sind um euch zu unterstützen. Beachtet
beim Ruf der Verstärkung diesen kleinen Nachteil.<br /><br />Luftunterstützung:<br />Als
Luftunterstützung steht euch eine Hind zur Verfügung, der die Guerillas aus der Luft
versuchen wird zu bekämpfen und euch aus der Luft unterstützen wird. Nach Abruf könnte
der Hind in wenigen Minuten bei euch sein."]];
_diary1 = player createDiaryRecord ["Diary", ["Durchführung", "Serzhant Snjertenk, sie
bekommen 5 speziell ausgebildete Kameraden an ihre Seite die bereits in Tschetschenien als
Speznatz erfolgreich Einsätze durchführten.</br></br> Gemeinsam werdet ihr unweit der
Stadt <marker name=""Stadt"">Myshkino</marker> mit einem UAZ an dieser <marker
name=""Start"">Koordinate</marker> abgesetzt. Von hieraus könnt ihr euch unbemerkt der
Stadt nähern und die Guerillas Eliminieren. Waffen und Ausrüstung findet ihr im bereits
vorbereitetem UAZ."]];
Einsatzziele (Tasks) im Briefing:
Die neue Benennung der Einsatzziele lautet "task" (task1, task2, task3....)
Ihr könnt Tasks wie und wann ihr wollt aktivieren und deaktivieren. Fügen wir einen einfachen
task dem Briefing hinzu.
task6 = player createSimpleTask ["Auf Heli warten"];
Jetzt ist noch keine Nachricht für diesen Task definiert. das geht wie folgt.
task6 setSimpleTaskDescription ["Task Nachricht", "Task Titel", "Task HUD Titel"];
Fertig sieht das dann in etwa so aus:
task6 setSimpleTaskDescription ["Sobald sie ihren Einsatz beendet haben bekommen sie die
Koordinaten für die Abholzone, wo man sie und ihren Trupp aufnehmen wird. Wir bereiten
alles weitere für euch vor.","Auf Heli warten","Auf Heli warten"];
Das erste Element in dem Array ist die Nachricht zum Einsatzziel (hier task6), das zweite ist
der Titel des Einsatzzieles (wird hier nur redefiniert) und das dritte Element ist der Titel der im
HUD angezeigt wird im Briefing. (oben rechts)
Der Text "Auf Heli warten" wird im Briefing somit als Missionsziel angezeigt. Rechts davon die
Beschreibung angezeigt (description).
Ebenso könnt ihr zu jedem Einsatzziel einen sogenannten Objective Marker anzeigen lassen,
damit man weiss wo und welches das nächste Einsatzziel ist. Das geht mit diesem Befehl.
task6 setSimpleTaskDestination markerpos "Abholen";
"Abholen" steht für den Namen des Markers, den ihr als leeren Marker auf der Karte postiert
habt. Nun seht ihr einen semi transparenten Marker eures Einsatzieles auf der Karte. Fahrt ihr
nun mit der Maus über den Marker, so wird der Name des dazugehörigem tasks angezeigt.
Ein fertiger Task-Eintrag im Briefing würde dann in etwa so aussehen:
task3 = player createSimpleTask ["Hauptziel: Tristian töten"];
task3 setSimpleTaskDescription ["Wir wissen dass sich Tristian irgendwo in der Ortschaft
<marker name=""Stadt"">Myshkino</marker> oder in dem versteckten <marker
name=""Lager"">Nachschublager</marker> aufhält. Finden und töten sie ihn!","Hauptziel:
Tristian töten","Hauptziel: Tristian töten"];
task3 setSimpleTaskDestination markerpos "Flucht";
task3 setTaskState "Created";
Bestimmten task als momentanes Einsatzziel festlegen:
player setCurrentTask task1;
Tasks Kontrolle:
Ihr könnt in ArmA2 durchweg die Kontrolle über eure vorgegebenen Einsatzziele haben.
Löschen, aktivieren, neu hinzufügen und so weiter. Sogar einzelnen Einheiten aus eurer
Gruppe könnt ihr ein Einsatzziel vorgeben. (Genial im MP) Das geht ganz einfach mit dem
Befehl.
task6 = NameEinheit createSimpleTask ["Hauptziel: Auf Heli warten"];
Wenn dieses Einsatzziel z.B. erfüllt wurde, könnt ihr wieder und wieder weitere Einsatzziele
angeben. Wie ihr wollt.
Einsatzziel erreicht:
task1 setTaskState "Succeeded";
Einsatzziel fehlgeschlagen:
task2 setTaskState "Failed";
Einsatzziel abbrechen/löschen:
task2 setTaskState "Canceled";
Einsatzziel aktiviert im Briefing:
task7 = player createSimpleTask ["Titel 7"];
task7 setTaskState "Created";
Ensatzziele per Zufall aktivieren:
Ihr könnt auch per Zufall ein Einsatzziel aktivieren wann ihr wollt. Hier mal ein Beispiel dazu.
Ein Shilka mit dem Namen tank1 des Gegner wurde mit 60% Bedingung der Anwesenheit
platziert. Existiert das Shilka nun im Spiel, fügt einen task zum zerstören hinzu.
if (alive tank1) then {
tskShilka = player createSimpleTask["Shilka zerstören"];
tskShilka setSimpleTaskDescription["Findet und zerstört das gegnerische Shilka, welches sich
irgendwo nahe den Wäldern befindet.", "Shilka zerstören", "Shilka zerstören"];
};
Einsatzziele später aktivieren:
[] spawn {
waitUntil {!(isNil "obj3_active")};
task3 = player createSimpleTask ["Neues Ziel: T72 zerstören"];
};
[] spawn {
waitUntil {!(isNil "obj4_active")};
task4 = player createSimpleTask ["Neues Ziel: Ortschaft säubern"];
task4 setSimpleTaskDestination markerpos "Ortschaft";
};
Task Hints anzeigen lassen:
Wer gerne die task Hints wie ihr sie aus der Kampagne kennt, aktivieren will, kann das mit
folgendem Scriptaufruf machen. Wenn nun zum Beispiel ein Einsatzziel erfolgreich
abgeschlossen wurde, so könnt ihr mit diesem Aufruf folgenden Hint anzeigen lassen.
nul = [objNull, ObjNull, task4, "SUCCEEDED"] execVM
"CA\Modules\MP\data\scriptCommands\taskHint.sqf";
"SUCCEEDED"
"FAILED"
"CREATED"
"CANCELED"
MP Briefings:
MP Briefings unterscheiden sich von den üblichen Briefings. Hier kommt nämlich das Thema
Respawn ins Spiel. Und zwar Betrifft es das verschwinden der Notizen sowie der Aufgaben nach
einem Respawn. Dieses Problem wird erst im nächsten Patch behoben. Um dieses Problem
jetzt schon zu umgehen, gibt es eine gute Möglichkeiten, welche ich hier versuche etwas
genauer zu erklären.
Briefing neu laden nach Respawn:
Hier ein Beispiel von Mikey, welches neben Briefings für alle Seiten auch das Respawn Problem
behebt, indem das Briefing jeweils wieder neu geladen wird. Der Nachteil ist hier, dass der
Spieler seine zuvor erreichten Einsatzziele als nicht erfüllt sieht. Ich kopiere hier die komplette
Briefing.sqf
waitUntil { !isNull player }; // all hip now ;-)
waitUntil { player == player };
switch (side player) do
{
case WEST: // BLUFOR Briefing steht hier
{
player createDiaryRecord["Diary", ["Info", "Info Text"]];
player createDiaryRecord["Diary", ["Enemy", "Enemy...."]];
player createDiaryRecord["Diary", ["Friendly", "1st Platoon...]];
player createDiaryRecord["Diary", ["Mission", "1st Platoon..."]];
player createDiaryRecord["Diary", ["Situation", "Prior to our..."]];
// Secondary Objectives
tskObj3 = player createSimpleTask["Secondary: engage"];
tskObj3 setSimpleTaskDescription["The civilians.....", "engage", "engage"];
tskObj2 = player createSimpleTask["Secondary: No risk"];
tskObj2 setSimpleTaskDescription["Let's not...", "No risk", "No risk"];
// Primary Objective
tskObj1 = player createSimpleTask["Primary: Secure The Town"];
tskObj1 setSimpleTaskDescription["Your...", "Secure Town", "Secure Town"];
player setCurrentTask tskObj1;
};
case EAST: // Redfor Briefing steht hier
{
};
case RESISTANCE: // Widerstand/Independent Briefing steht hier
{
};
case CIVILIAN: // Zivilisten Briefing steht hier
{
};
};
// run this file again when respawning (only setup the killed EH once though)
if ( isNil {player getVariable "mk_briefingEH"} ) then
{
player addEventHandler ["killed",
{
[] spawn {
waitUntil { alive player }; // waitUntil player has respawned
execVM "briefing.sqf";
// make sure this path is correct
};
}];
player setVariable ["mk_briefingEH", true];
};
Das Debriefing:
Das Debriefing wird in ArmA2 als Briefing.html deklariert. Im Debriefing wird am Ende der
Mission ihr Erfolg oder Misserfolg der Mission zum Ausdruck gebracht. Neben der Statistik ihrer
Abschüsse und Verluste an eigenen Einheiten, wird hier auch die entsprechende Notiz zum
entsprechendem Ende angezeigt, welches ihr deklariert habt.
Ansicht Debriefing (Verlieren)
So sieht das Briefing html in etwa aus
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<title>Nachbesprechung</title>
</head>
<body bgcolor="#FFFFFF">
<! -----DEBRIEFING----->
<hr>
<br>
<h2><a name="Debriefing:End1">Mission erfolgreich!</a></h2>
<br>
<p>
<! ------victory------>
Yeah, wir haben gewonnen.....
</p>
<br>
<hr>
<br>
<h2><a name="Debriefing:Loser">Mission gescheitert!</a></h2>
<br>
<p>
<! ------KIA------>
Mist, wir haben verloren....
</p>
<br>
</body>
</html>
Das Overview
Das Overview ist sozusagen euer Titel in der Kampagnen-oder Missionsauswahl im Spiel.
Neben dem Bild eures Szenarios ist auch kurzer Infotext zu sehen. Alles von euch selbst in der
Overview.html deklariert. Das Overview ist wie üblich als html zu schreiben und sieht jetzt wie
folgt aus.
Bilder sollten am besten mit Grösse 512x512 zugeschnitten sein und können als .paa oder
.jpg gespeichert werden. Achtet auf die neue Bildgrösse im Overview!
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<meta name="GENERATOR" content="VB">
<title>Overview</title>
</head>
<body bgcolor="#FFFFFF">
<p align="center"><img src="saw.jpg" width="240" height="121"></p>
<p>
Einer unserer Nachschub Konvois wurde von Guerillas in Myshkino angegriffen. Wir
haben seither jeden Funkkontakt zu der Einheit verloren. Steckt der Warlord
Tristian dahinter?
<br>
</p>
</body>
</html>
So sieht ein Overview in der Missionsauswahl im Spiel aus:
Das wars dann auch schon fürs erste. In naher Zukunft werden wir dieses Tutorial erweitern
und auch den MP Part einbinden. Briefings nach Respawn, Briefings für alle Seiten und vieles
mehr. Jedoch müssen hierfür noch ausreichend Tests getätigt werden um euch auch hiermit ein
fehlerfreies Tutorial anbieten zu können.
Zum Schluss natürlich wie immer ein grosses Dankeschön an die ArmA2 Community, das
G.G.C. Forum, Mapfact Forum, Lester, OFPEC, Mikey, und natürlich den eifrigen Editing Gurus
des Assault Mission Studios, die Tag für Tag ihre Erfahrungen im Bereich Editing kund tun und
somit eine Fülle an Infos für die gesamte Community anbieten.
Sollten noch Fragen zu diesem Tutorial auftreten oder ihr gerne mit uns weitere Aspekte zu
den Briefings in ArmA2 mitteilen möchtet, so könnt ihr dies gerne in unserem AMS-Editing
Forum tätigen. Ihr seid herzlich eingeladen!
Links
1.
2.
3.
4.
zum Thema Briefing:
Assault Mission Studio
OFPEC
Mapfact
BIS Forum
Vielen Dank für dein Interesse an diesem Tutorial !

Documents pareils