-
Notifications
You must be signed in to change notification settings - Fork 0
winconditions Presets
Presets sind gängige Siegbedingungen, die im TvT Template mitgelieferte Funktionen benutzen. Die Parameter nehmen dabei Einfluss auf das Verhalten der Presets. In den Tabellen bedeutet Parameter 0, dass dieser Parameter im presetParams
Array an erster Stelle stehen muss. Parameter 1 an zweiter Stelle, Parameter 2 an dritter Stelle usw.
Das Elimination Preset löst aus, sobald keine Einheiten der als Parameter übergebenen Seiten mehr leben.
Parameter | Erklärung |
---|---|
0 | Seite, die eliminiert sein muss. (WEST / EAST / INDEPENDENT / CIVILIAN). |
1 | optional - Seite, die eliminiert sein muss. (WEST / EAST / INDEPENDENT / CIVILIAN). |
2 | optional - Seite, die eliminiert sein muss. (WEST / EAST / INDEPENDENT / CIVILIAN). |
3 | optional - Seite, die eliminiert sein muss. (WEST / EAST / INDEPENDENT / CIVILIAN). |
Beispiel:
Missionsende, wenn OPFOR und INDEPENDENT ausgeschaltet sind.
class bluforWinElimination {
preset = "ELIMINATION";
presetParams[] = {"EAST","INDEPENDENT"};
condition = "";
checkInterval = 0;
winners[] = {"WEST"};
winText = "BLUFOR wins by elimination!";
winTextParams[] = {};
};
Das Timeout Preset löst aus, nachdem eine feste Zeit abgelaufen ist. Dieses Preset ist zum Beispiel nützlich, um in einem Verteidigungsszenario den Verteidiger nach einer bestimmten Zeit zum Sieger zu erklären. Das Preset unterstützt außerdem eine zweite, optionale Bedingung, die zusätzlich zur abgelaufenen Zeit erfüllt sein muss.
Parameter | Erklärung |
---|---|
0 | Zeit in Sekunden |
1 | optional - Zusätzliche Bedingung |
Beispiel 1:
Das Spiel dauert eine halbe Stunde und wartet am Ende darauf, dass keine Bluforeinheiten mehr in der Zone "AREA1" sind.
class opforWinDefense {
preset = "TIMEOUT";
presetParams[] = {1800,"{side _x == WEST && {_x inArea 'AREA1'}} count playableUnits"};
condition = "";
checkInterval = 0;
winners[] = {"EAST"};
winText = "OPFOR has defended AREA1!";
winTextParams[] = {};
};
Beispiel 2:
Das Spiel endet nach einer halben Stunde, egal was ist.
class timeoutDraw {
preset = "TIMEOUT";
presetParams[] = {1800};
condition = "";
checkInterval = 0;
winners[] = {};
winText = "Time is up. No winner.";
winTextParams[] = {};
};
Das Destroy Preset löst aus, wenn alle Objekte / Einheiten, die in den presetParams
übergeben wurden, zerstört oder tot sind.
Parameter | Erklärung |
---|---|
0 | Objekt oder Einheit, die zerstört werden muss. |
1 | optional - Objekt oder Einheit, die zerstört werden muss. |
2 | optional - Objekt oder Einheit, die zerstört werden muss. |
... | ... |
Beispiel:
Das Spiel endet, wenn die Soldaten soldier1
und soldier2
getötet wurden.
class agentsKilled {
preset = "DESTROY";
presetParams[] = {"soldier1","soldier2"};
condition = "";
checkInterval = 0;
winners[] = {"WEST"};
winText = "BLUFOR eliminated the agents!";
winTextParams[] = {};
};
Das Points Preset löst aus, wenn eine Seite einen bestimmten Punktestand erreicht hat, oder die Zeit abgelaufen ist.
Parameter | Erklärung |
---|---|
0 | Seite, deren Punktestand geprüft werden soll. |
1 | Punkte, die erreicht werden müssen, um zu gewinnen. |
2 | optional - Zeit, nach der die Mission endet. |
Beispiel:
Das Spiel endet, wenn BLUFOR 30 Punkte erreicht hat oder die Mission seit 30 Minuten läuft.
class bluforWinPoints {
preset = "POINTS";
presetParams[] = {"WEST",30,1800};
condition = "";
checkInterval = 0;
winners[] = {"WEST"};
winText = "BLUFOR wins with 30 points!<br/>OPFOR only had %1 points.";
winTextParams[] = {"[EAST] call grad_common_fnc_getPoints"};
};
Das Control Preset löst aus, sobald die angegebene Seite für die angegebene Zeit am Stück die angegebene Zone kontrolliert. Für dieses Preset definieren wir zunächste die Zone mit einem Trigger. Dem Trigger geben wir einen Variablennamen (bspw. "AREA1") und setzen den Haken bei Server Only.
Parameter | Erklärung |
---|---|
0 | Variablenname des Triggers, der die Zone definiert. |
1 | Seite, die die Zone einnehmen muss. (WEST / EAST / INDEPENDENT) |
2 | optional - Zeit in Sekunden, die die angegebene Seite die angegebene Zone halten muss. Default: 0 |
Beispiel:
BLUFOR muss die Zone "AREA1" für 30 Sekunden kontrollieren.
class bluforCapturedArea1 {
preset = "CONTROL";
presetParams[] = {"AREA1","WEST",30};
condition = "";
checkInterval = 0;
winners[] = {"WEST"};
winText = "BLUFOR captured AREA1!";
winTextParams[] = {};
};