Umfeldbeleuchtungs-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 Erstellung von Umfeldbeleuchtungen in EMERGENCY 4.

    Umfeldbeleuchtungs-Script

    Das Umfeldbeleuchtungs-Script dient zur Ausleuchtung der Umgebung eines Einsatzfahrzeuges. Alle Umfeldlichter müssen als „SpecialLights“ im Editor definiert werden.

    Funktionsweise

    Das Umfeldbeleuchtungs-Script hat den Namen „VCmdSurroundingLights“. "VCmd" ist meine persönliche Marke der Script-Namensgebung, damit man später noch den Überblick behält welches Commando für welchen Typ gedacht ist. "VCmd" bedeutet "VehicleCommando".

    Zur einwandfreien Funktion benötigt das Fahrzeug im Editor nur das „VCmdSurroundingLights“. Wie einem Fahrzeug ein Command-Script zugewiesen wird, wird in der Editor-Anleitung erklärt.

    Script

    Da Script wird sowohl als Download, als auch als Code direkt auf dieser Seite angeboten. (surroundinglights.rar)

    Quellcode

    1. const char DUMMY_HASSURLIGHTS[] = "DUMMYHasSurroundingLights";
    2. // Hier muss der Name(!) des Bildes aus dem UI-Ordner stehen.
    3. const char IMG[] = "SurroundingLights";
    4. int DummyGroup = 20;
    5. // 1.0
    6. object VCmdSurroundingLights : CommandScript
    7. {
    8. VCmdSurroundingLights()
    9. {
    10. SetIcon(IMG);
    11. SetCursor(IMG);
    12. SetRestrictions(RESTRICT_SELFEXECUTE);
    13. }
    14. bool CheckPossible(GameObject *Caller)
    15. {
    16. if (!Caller->IsValid())
    17. return false;
    18. if (Caller->GetType() == ACTOR_VEHICLE)
    19. {
    20. return true;
    21. }
    22. return false;
    23. }
    24. bool CheckTarget(GameObject *Caller, Actor *Target, int childID)
    25. {
    26. if (!Caller->IsValid() || !Target->IsValid() || Target->GetID() != Caller->GetID())
    27. return false;
    28. if (Caller->GetType() == ACTOR_VEHICLE)
    29. {
    30. return true;
    31. }
    32. return true;
    33. }
    34. void PushActions(GameObject *Caller, Actor *Target, int childID)
    35. {
    36. Vehicle v(Caller);
    37. if (v.HasCommand(DUMMY_HASSURLIGHTS))
    38. {
    39. v.EnableSpecialLights(false);
    40. v.RemoveCommand(DUMMY_HASSURLIGHTS);
    41. return;
    42. }
    43. if (!v.HasCommand(DUMMY_HASSURLIGHTS))
    44. {
    45. v.EnableSpecialLights(true);
    46. v.AssignCommand(DUMMY_HASSURLIGHTS);
    47. return;
    48. }
    49. }
    50. };
    51. // 1.1
    52. object DUMMYHasSurroundingLights : CommandScript
    53. {
    54. DUMMYHasSurroundingLights()
    55. {
    56. SetGroupID(DummyGroup);
    57. }
    58. bool CheckGroupVisibility(GameObject *Caller)
    59. {
    60. return false;
    61. }
    62. bool CheckPossible(GameObject *Caller)
    63. {
    64. return false;
    65. }
    66. bool CheckTarget(GameObject *Caller, Actor *Target, int childID)
    67. {
    68. return false;
    69. }
    70. void PushActions(GameObject *Caller, Actor *Target, int childID)
    71. {
    72. }
    73. };
    Alles anzeigen

    Problemlösung

    Bei Fehlermeldungen und Problemen kann der Autor des Scripts kontaktiert werden. Hierzu ist eine möglichst detailierte Beschreibung des Fehlers und optimalerweise eine Logfile anzufügen.

    Autor: Bass-ti
    Kontakt: Bass-ti@ddr-mod.de
    Scriptname: SurroundingLights.script
    ScriptVersion: V.1.0 Datum: 29.04.2006
    Bemerkungen: Alle späteren Umfeldlichter müssen als SpecialLights definiert sein.

    222 mal gelesen