== Mission-Counter-Script ==
Dieses Script dient als Beispiel zur Anwendung der Counter in Missionen, mit denen bestimmte Parameter abgefragt werden können, damit ein vordefiniertes Ereignis eintritt. So lassen sich beispielsweise Missionen als gewonnen oder verloren deklarieren.
Dieses Script dient als Beispiel zur Anwendung der Counter in Missionen, mit denen bestimmte Parameter abgefragt werden können, damit ein vordefiniertes Ereignis eintritt. So lassen sich beispielsweise Missionen als gewonnen oder verloren deklarieren.
In diesem Beispiel-Script müssen alle Verletzten abtransportiert und alle Brände gelöscht werden, damit die Mission als gewonnen gesetzt wird.
Code
// Dieses Script darf frei verwendet werden wenn dieser Kommentar enthalten bleibt.
// Missionsscript by rusticus und Bass-ti
// Idea by HH-EM4
const char OBJECTIVE_A[] = "Löschen Sie alle Brände!";
const char OBJECTIVE_B[] = "Bringen Sie alle verletzten und toten Personen ins Krankenhaus";
object Mission01 : MissionScript
{
Mission01()
{}
~Mission01()
{}
void Start()
{
Mission::AddObjective(OBJECTIVE_A);
Mission::SetObjectiveAccomplished(OBJECTIVE_A, false);
Mission::AddObjective(OBJECTIVE_B);
Mission::SetObjectiveAccomplished(OBJECTIVE_B, false);
}
MissionState GetMissionState()
{
if (Mission::GetCounter("Burning Objects") + Mission::GetCounter("Burning Houses") == 0)
{
if (!Mission::IsObjectiveAccomplished(OBJECTIVE_A))
{
Mission::SetObjectiveAccomplished(OBJECTIVE_A, true);
} else
{
Mission::SetObjectiveAccomplished(OBJECTIVE_A, false);
}
}
if (Mission::GetCounter("Injured Persons") + Mission::GetCounter("Dead Persons") == 0)
{
if (!Mission::IsObjectiveAccomplished(OBJECTIVE_B))
{
Mission::SetObjectiveAccomplished(OBJECTIVE_B, true);
} else
{
Mission::SetObjectiveAccomplished(OBJECTIVE_B, false);
}
if (Mission::IsObjectiveAccomplished(OBJECTIVE_A) && Mission::IsObjectiveAccomplished(OBJECTIVE_B))
return MISSION_SUCCEEDED;
return MISSION_RUNNING;
}
};
Display More