Jump to content

Recommended Posts

Posted

Hallo zusammen,

 

für unseren Staffelbetrieb würde ich gerne eine Mission erstellen, in der die Anzahl der KI-Gegner abhängig von der Client-Anzahl ist.

 

Bsp:

Drei Spieler gegen X Gegner oder

Fünf Spieler gegen Y Gegner, usw.

 

Ich kann via MissionEditor folgende Abfrage kreieren:

 

Tigger Once(Spieler1) -> Unit(Spieler1) in Zone -> Flag1 increase (value+1)

Tigger Once(Spieler2) -> Unit(Spieler2) in Zone -> Flag1 increase (value+1)

...

Tigger Once (value1) -> Flag is more (value=1) -> Aktion1 ausführen

Tigger Once (value2) -> Flag is more (value=2) -> Aktion2 ausführen

...

 

Gibt es noch eine elegantere Abfragemöglichkeit im MissionEditor? Auf eine Eingreifen via COM->F10->Aktionsauswahlliste->Aktion ausführen würde ich gerne verzichten wollen.

Da ich mich noch nicht mit dem scripten beschäftigt habe, wie würde so eine Lösung via Script aussehen?

 

Vielen Dank!

Bullseye-Training

Hardware: TrackIR5 | Buddy-Fox UFC | TM Warthog | Saitek Pro Flight Rudder Pedals | i7-4790k | GTX 980 | 32GB RAM

Modules: F/A-18C | A-10C | M-2000C | F-5 Tiger II | UH-1H

Posted
wie würde so eine Lösung via Script aussehen?

 

Kommt drauf an, wie du es haben willst.

 

Wenn du es rein per Script machen willst, dann wird das relativ schnell relativ kompliziert, weil du dann nicht drumrum kommst die Einheiten per Script zu spawnen.

Du kannst dir hier als Beispiel das Script aus der Mission vom Deutschen Community-Server anschauen. Da hab ich alles dynamisch gemacht und es ist vorher nix im Missioneditor gesetzt, außer die Spawnpunkte.

 

Eine einfachere Lösung wäre, dass du dir im ME ein paar Gruppen auf late activation setzt. Die Gruppen sollten schon in der Anzahl sein, wie du sie später spawnen lassen willst.

Dann kannst du abhängig der Anzahl der Clients die jeweils korrekte Gruppe spawnen.

 

In beiden Fällen brauchst du die Anzahl der Clients... und hier hab ich spontan echt keine gute Idee und mir ist auch keine einfache API Funktion bekannt, die einem genau das gibt. Vielleicht kennt jemand anders hier eine solche Funktion.

Aber auch das kann man sich selber schreiben... ;) Ich würde über alle bekannten Spielergruppen iterieren und die Anzahl der existierenden Einheiten zählen.

 

Spontan aus dem Kopf könnte das irgendwie so aussehen...

groups = {
"clientgroup1",
"clientgroup2"
}

count = 0;

for _,_group in pairs(groups) do
for _,_unit in pairs(Group.getByName(_group):getUnits()) do
	count = count +1
end
end

- Deutsche Tutorials und DCS Gameplay: youtube.com/Rakuzard | raku.yt/discord -
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...