Mitspieler Online

· Gäste: 33

· Mitspieler Online: 0

Login

Benutzername

Passwort



Passwort vergessen?
Um ein neues Passwort anzufordern klicke hier.

Ereignisse

<< April 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          

Social

Thema ansehen

 Thema drucken
FRMS2
15.03.2017 um 11:25

Top  #1  Beitrag drucken

rufix

Benutzeravatar
Firestarter

Hat gelernt, Feuer zu machen.

Forenprofi


Beiträge: 1132

Registriert am: 04.09.15

Farantis Random Mission Script v2


------------------------------------------------------
Inhalt
------------------------------------------------------


1.0 1. Was ist FRMS2?
2.0 2. Wie funktioniert FRMS2?
3.0 3. Wie verwende ich FRMS2?
>>>3.1 Voraussetzungen
>>>3.2 Dateien und Einbindung
>>>3.3 Konfiguration
>>>3.4 Im Editor
>>>3.5 Briefing
4.0 4. Download
5.0 5. Credits


------------------------------------------------------
>>>1. Was ist FRMS2?<<<
------------------------------------------------------

FRMS2 steht für "Farantis Random Mission Script Version 2"

Wie der Name schon sagt, ist es ein Script, mit dem zufallsgenerierte Missionen schnell und leicht erstellt werden können. Die ursprüngliche Version wurde von Farantis entwickelt und von mir nun stark überarbeitet bzw. großteils neu geschrieben.

Das Script wählt aus einer Liste von Markern zufällig einen aus und spawnt dort Einheiten aus einer vorher festgelegten Liste. Viele Einstellungen können vom Missionsbauer vorgenommen werden. Zusätzlich gibt es ein paar Parameter, die bei Missionsstart geändert werden können.

------------------------------------------------------
>>>2. Wie funktioniert FRMS2?<<<
------------------------------------------------------

FRMS2 wählt aus einer vom Missionsbauer definierten Klasse von Markern zufällig einen aus, an dem es Feindeinheiten spawnen wird. Dort legt es einen für die Spieler sichtbaren Marker als Zielmarkierung an. Außerdem legt es die Zieldaten in einer public Variable an, sodass sie auch ins Briefing eingebunden werden können.

Anschließend spawnt das Script an dieser Zielposition eine in den Missions-Parametern festgelegte Zahl von Gruppen, die zufällig aus einer vom Missionsbauer erstellten Liste ausgewählt werden, und lässt diese das Zielgebiet patrouillieren / verteidigen.

Schließlich wird ein Script gestartet, dass der KI durchgängig die Position der Spieler verrät, sodass die Gegner wesentlich fordernder werden, insbesondere im Stadtkampf.

Zukünftig soll das Script auch einen Trigger erstellen, der checkt, ob das Zielgebiet feindfrei ist, und entsprechend die Mission beendet.

------------------------------------------------------
>>>3. Wie verwende ich FRMS2?<<<
------------------------------------------------------

1. Voraussetzungen
Das Script nutzt CBA-Funktionen; CBA muss also geladen sein, um es zu verwenden.
Es sollte ein Headless Client verbaut sein, auch wenn dieser nicht benutzt werden soll.


2. Dateien und Einbindung
Kopiere den Ordner "FRMS2" in das Missionsverzeichnis.

Füge in der description.ext folgenden Code ein. Dies fügt die Missionsparameter hinzu, die für FRMS2 benötigt werden und in der MP-Lobby geändert werden können.
#include "frms2\Params.hpp"



Füge in der initServer.sqf folgenden Code ein. Dies lässt den Server das Script bei Missionsstart ausführen.
[] execVM "FRMS2\frms2.sqf";



Füge in initPlayerServer.sqf folgenden Code ein. Dies lässt Spielern, die JIPen, die Zieldaten zukommen, die für die das Briefing benötigt werden.
if (_didJIP) then {
   publicVariable "frmsSelectedTargetData";
};




3. Konfiguration
Es gibt drei Dateien, in denen du Änderungen vornehmen kannst, um das Script an deine Mission anzupassen.

3.1 Params.hpp
Die Datei befindet sich im Ordner "FRMS2".
Hier werden die Parameter festgelegt, die vom Admin bei Missionsstart in der Lobby verändert werden können.
Wichtige Konfigurationsmöglichkeiten:
  • doDebug: Hier kann der Default-Wert auf "0" gesetzt werden, wenn man nicht möchte, dass alle (!) Clients Debug-Informationen in die .rpt geschrieben bekommen.
  • enemySize: Die Werte geben an, wie viele Gruppen von Gegner gespawnt werden. Sollte so angepasst werden, dass der mittlere Wert eine für die Spielerzahl angemessene Herausforderung bietet und beim höchsten Wert nicht mehr Einheiten gespawnt werden, als der Server/HC bewältigen kann.
  • AISkill: Wer möchte, kann den Default-Wert ändern. Die Zahl gibt die Nachkommastelle des Skill-Wertes der KI an (Default "8" -> Skill "0.8").
  • Daytime: Auch hier kann der Default-Wert verändert werden. Bei "0" wird eine Uhrzeit völlig zufällig ausgewählt. Bei den anderen Werten wird die Uhrzeit auf 6:00, 12:00, 18:00 oder 0:00 +/- drei Stunden gesetzt.


3.2 missionConfig.sqf
Die Datei befindet sich im Ordner "FRMS2\config".
Hier werden Variablen festgelegt, die NICHT vom Admin verändert werden können, sondern vom Missionsbauer angepasst werden sollten.
  • frmsConfigDoSpawn: Nur zum Debuggen auf false setzen (dann wird das spawn-script übergangen und nur das Ziel ausgewählt).
  • frmsConfigDoTrigger: Wenn "true" wird ein Trigger erstellt, der die Mission beendet, sobald im Umkreis um das Zielgebiet keine feindlichen Einheiten mehr sind. WIP, deshalb default: "false".
  • frmsConfigPossibleTargetMarkerType: Typ der Marker, an denen möglicherweise Gegner spawnen. Wenn man möchte, dass alle möglichen Gebiete für Spieler sichtbar sind, kann man diesen ändern.
  • frmsConfigSelectedTargetMarkerType: Classname des Markers, der über dem Ziel erstellt werden soll, um es zu markieren. Wenn man das Ziel nicht markieren will, kann er auf "empty" gesetzt werden.
  • frmsConfigEnemySide und frmsConfigEnemySideString: Seite der Gegner (east, west, guer). Der String ist Case-sensitive, muss also groß stehen. Denk daran, in Eden die Seite zur Spielerseite auf feindlich zu setzen!
  • frmsConfigTargetArea: Radius des Gebiets um den Zielmarker herum, das von der KI verteidigt werden soll.


3.3 spawnList.sqf
Die Datei befindet sich im Ordner "FRMS2\config".
Hier werden die Einheiten und Gruppen festgelegt, die FRMS2 spawnen wird.
Die Einheiten werden festgelegt, indem man ihnen einen (beliebigen) Variablennamen gibt und den Classname angibt:
private _sl = "CUP_O_TK_SpecOps_TL";


frmsGroupsToSpawn ist ein Array, dass die vordefinierten Gruppen als Arrays enthält. Für jede gespawnte Gruppe wird zufällig eine aus diesem Array ausgewählt und dann alle angegebenen Units gespawnt.
EINSCHRÄNKUNG: Derzeit unterstützt FRMS2 es nicht, dass in einer Gruppe Fahrzeuge und Infanterie vorkommen. Fahrzeuge werden aber automatisch besetzt.

frmsGroupsToSpawn = [
   [_sl,_ar,_rm,_gr,_cm],
...
   [_tl,_mg,_rm,_at,_ab],
   [_car],
   [_ifv]
];





4. Im Editor
Setze einen Headless Client und mache ihn spielbar.
Setze die Einheiten für die Spieler, die Fahrzeuge, die ihnen zur Verfügung stehen sollen, und baue ihnen eventuell eine FOB oder Ähnliches.
Du kannst die Mission auch weiter ausgestalten, gewünschte Module setzen usw. usf.
Es ist sogar möglich, an den möglichen Zielpositionen leere Geschütze zu platzieren, die später von der KI bemannt werden sollen (sofern CBA hält, was es verspricht...). Auf Mörser und Artillerie solltest du aber verzichten, da FRMS2 der KI durchgängig die Spielerpositionen verrät.

Platziere nun an allen Orten, die als Zielgebiet in Frage kommen, einen Marker von dem Typ, den du in der Konfigurationsdatei angegeben hast. Gib diesem Marker einen Anzeigenamen - dieser wird vom Script benötigt.
ACHTUNG: Du darfst diesen Marker für nichts anderes verwenden! Wenn du den "empty"-Marker verwendest, musst du also für die respawn-Marker einen anderen benutzen und diesen Eventuell unsichtbar stellen (Alpha auf 0%).

Sonst muss im Editor nichts weiter gemacht werden, es sei denn, du möchtest das :-)

5. Briefing
Füge vor dem Briefing folgenden Code ein. Dieser lässt den Client mit der Erstellung des Briefings warten, bis er die Zieldaten vom Server erhalten hat.
waitUntil {!isNil "frmsSelectedTargetData"};


Denk daran, im Briefing die Situation und Lage zu beschreiben, damit die Spieler wissen, womit sie es zu tun haben.
Dort kannst du folgende Variablen nutzen:
frmsSelectedTargetData select 0 enthält den Namen des Ziel-Markers (mit select 1 erhält man die Position).
frmsSelectedTargetMarker ist der sichtbare Marker. Auf diesen kann im Briefing verlinkt werden.

------------------------------------------------------
>>>4. Download<<<
------------------------------------------------------

Download

Beispielmission: Co32 Rabbit Hunt


------------------------------------------------------
>>>5. Credits<<<
------------------------------------------------------

Original FRMS von Farantis.
Verwendet CBA.

Getestet von Mitgliedern und Mitspielern von Gruppe-W.
Bearbeitet von rufix am 30.06.2017 um 22:04
15.03.2017 um 11:25

Top  #2  Beitrag drucken

rufix

Benutzeravatar
Firestarter

Hat gelernt, Feuer zu machen.

Forenprofi


Beiträge: 1132

Registriert am: 04.09.15

------------------------------------------------------
>>>Spielbare Missionen mit FRMS2<<<
------------------------------------------------------

Co12 Bazaar (Kunduz)

Afghanistan, Juli 2009:
Die afghanische Bevölkerung leidet unter den Anschlägen der Taliban. Die ISAF hat daher ihre Präsenz verstärkt.

Eine Gruppe von Taliban hat sich vorgenommen, eine Patrouille der Bundeswehr in der Kunduz-Region zu überfallen. Schlecht ausgerüstet aber mit Gottes Unterstützung machen sie sich auf, die westlichen Besatzer mit der Unterwelt bekannt zu machen.
Inschallah!

Standard-Feindstärke: BW-Gruppe

Medic-System wahlweise Running-Man oder Hardcore.


Co31 ATTA (Altis)

Vor drei Monaten wurde die FIA offiziell als Terroristische Vereinigung eingestuft. Kurz darauf wurde ein Sonderkommando der AAF ins Leben gerufen: ATTA - die Anti Terror Taskforce Altis. Nach kurzem, hartem Sondertraining ist heute der erste offizielle Einsatztag der ATTA. Der Vormittag war ruhig, doch vor einer halben Stunde läutete das Grüne Telefon: ALARM!!!

Die AAF rückt mit einem Combat Platoon aus, unterstützt durch einen BAT.

Standard-Feindstärke: Company-Größe

Medic-System: Basejumper.


Co32 Rabbit Hunt (Bozcaada)

Die türkische Insel Bozcaada wurde vom IS überrannt. Die Türkei hat den Bündnisfall ausgerufen. Daher kommt ein Platoon des USMC zu Hilfe, um die eroberten Städte zurückzuholen.

Das USMC verügt über ein Light Platoon, mechanisierte Infanterie und einen Aufklärungsheli.

Standard-Feindstärke: Company-Größe

Medic-System: Running Man.
Bearbeitet von rufix am 15.03.2017 um 11:41
05.08.2021 um 16:08

Top  #3  Beitrag drucken

Caunterattack

Benutzeravatar
Rudeljäger

An 50 Events bei Gruppe W teilgenommen

Anfänger


Beiträge: 145

Registriert am: 11.10.20

Der neue Downloadlink für FRMS 2 falls man kein PBO Manager nutzen möchte
Spoiler:
Sind Stabsoffiziere Götter? - JohnofGaunt OP Badeurlaub

Es regnet 80mm Shells - Lusor Richtschütze in einem KPz während es blitzte
Springe ins Forum:
Seitenaufbau in 0.11 Sekunden
Serverzeit: 03:45:44 Uhr , 53,932,445 eindeutige Besuche