Mission-Counter-Script (EM4)

Wir verwenden Cookies, um Inhalte und Anzeigen zu personalisieren, Dienste bereitzustellen und die Zugriffe auf unsere Website zu analysieren. Außerdem werden durch unsere Partner Informationen zu Ihrer Nutzung für soziale Medien, Werbung und Analysen erfasst. Weitere Informationen

  • Beispiel-Script zur Nutzung des Mission Counter in EMERGENCY 4.

    Inhaltsverzeichnis

    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.

    In diesem Beispiel-Script müssen alle Verletzten abtransportiert und alle Brände gelöscht werden, damit die Mission als gewonnen gesetzt wird.

    Quellcode

    1. // Dieses Script darf frei verwendet werden wenn dieser Kommentar enthalten bleibt.
    2. // Missionsscript by rusticus und Bass-ti
    3. // Idea by HH-EM4
    4. const char OBJECTIVE_A[] = "Löschen Sie alle Brände!";
    5. const char OBJECTIVE_B[] = "Bringen Sie alle verletzten und toten Personen ins Krankenhaus";
    6. object Mission01 : MissionScript
    7. {
    8. Mission01()
    9. {}
    10. ~Mission01()
    11. {}
    12. void Start()
    13. {
    14. Mission::AddObjective(OBJECTIVE_A);
    15. Mission::SetObjectiveAccomplished(OBJECTIVE_A, false);
    16. Mission::AddObjective(OBJECTIVE_B);
    17. Mission::SetObjectiveAccomplished(OBJECTIVE_B, false);
    18. }
    19. MissionState GetMissionState()
    20. {
    21. if (Mission::GetCounter("Burning Objects") + Mission::GetCounter("Burning Houses") == 0)
    22. {
    23. if (!Mission::IsObjectiveAccomplished(OBJECTIVE_A))
    24. {
    25. Mission::SetObjectiveAccomplished(OBJECTIVE_A, true);
    26. } else
    27. {
    28. Mission::SetObjectiveAccomplished(OBJECTIVE_A, false);
    29. }
    30. }
    31. if (Mission::GetCounter("Injured Persons") + Mission::GetCounter("Dead Persons") == 0)
    32. {
    33. if (!Mission::IsObjectiveAccomplished(OBJECTIVE_B))
    34. {
    35. Mission::SetObjectiveAccomplished(OBJECTIVE_B, true);
    36. } else
    37. {
    38. Mission::SetObjectiveAccomplished(OBJECTIVE_B, false);
    39. }
    40. if (Mission::IsObjectiveAccomplished(OBJECTIVE_A) && Mission::IsObjectiveAccomplished(OBJECTIVE_B))
    41. return MISSION_SUCCEEDED;
    42. return MISSION_RUNNING;
    43. }
    44. };
    Alles anzeigen

    197 mal gelesen