Inhaltsverzeichnis
Warnblinker-Script
Das Warnblinker-Script aktiviert die in EMERGENCY 4 von Anfang an, an jedem Zivil- und Einsatzfahrzeug existierenden, Blinker. Dank Patch 1.05 ist es möglich, die Blinker einzeln via Command-Script zu aktivieren.Dieses Command-Script funktioniert nur mit EMERGENCY 4 Version 1.05 oder höher!
Funktionsweise
Das Warnblinker-Script hat den Namen „VCmdWarningLights“. VCmd ist meine persönliche Ausführung der Script-Namensgebung, damit man später noch den Überblick behält welches Commando für welchen Typ gedacht ist. "VCmd" - "VehicleCommando".Zur einwandfreien Funktion benötigt das Fahrzeug im Editor nur das „VCmdWarningLights“. 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. (warninglights.rar)Quellcode
- const char DUMMY_HASWARNINGLIGHTS[] = "DUMMYHasWarningLights";
- // Hier muss der Name(!) des Bildes aus dem UI-Ordner stehen.
- const char IMG[] = "warninglight";
- const char DUMMY_HASWARNINGLIGHTS[] = "DUMMYHasWarningLights";
- int DummyGroup = 20;
- // 1.0
- object VCmdWarningLights : CommandScript
- {
- VCmdWarningLights()
- {
- SetIcon(IMG);
- SetCursor(IMG);
- SetGroupID(DummyGroup);
- SetGroupLeader(true);
- SetRestrictions(RESTRICT_SELFEXECUTE);
- }
- bool CheckPossible(GameObject *Caller)
- {
- if (!Caller->IsValid())
- return false;
- if (Caller->GetType() == ACTOR_VEHICLE)
- {
- return true;
- }
- return false;
- }
- bool CheckTarget(GameObject *Caller, Actor *Target, int childID)
- {
- if (!Caller->IsValid() || !Target->IsValid() || Target->GetID() != Caller->GetID())
- return false;
- if (Caller->GetType() == ACTOR_VEHICLE)
- {
- return true;
- }
- return true;
- }
- void PushActions(GameObject *Caller, Actor *Target, int childID)
- {
- Vehicle v(Caller);
- if (v.HasCommand(DUMMY_HASWARNINGLIGHTS))
- {
- v.EnableBlinker(BLT_NONE);
- v.RemoveCommand(DUMMY_HASWARNINGLIGHTS);
- return;
- }
- if (!v.HasCommand(DUMMY_HASWARNINGLIGHTS))
- {
- v.EnableBlinker(BLT_BOTH);
- v.AssignCommand(DUMMY_HASWARNINGLIGHTS);
- return;
- }
- }
- };
- // 1.1
- object DUMMYHasWarningLights : CommandScript
- {
- DUMMYHasWarningLights()
- {
- SetGroupID(DummyGroup);
- }
- bool CheckGroupVisibility(GameObject *Caller)
- {
- return false;
- }
- bool CheckPossible(GameObject *Caller)
- {
- return false;
- }
- bool CheckTarget(GameObject *Caller, Actor *Target, int childID)
- {
- return false;
- }
- void PushActions(GameObject *Caller, Actor *Target, int childID)
- {
- }
- };
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: WarningLights.script
ScriptVersion: V.1.1 Datum: 18.04.2006
Bemerkungen: Siehe unten
Dieses Warnblinker-Script dient nicht nur dazu Warnblinker zu deaktivieren, es ist auch der Gruppenführer aller DUMMY-Scripts die ich schreibe. Da man in EMERGENCY 4 jedes Command-Script im Menü sieht musst ich mir etwas einfallen lassen, damit man dies nichtmehr sieht. Ich brauchte also ein Commando was jedes Fahrzeug besitzt, was eine sinnvolle Funktion hat und gleichzeitig der Gruppenführer für alle DUMMYs wird. Wenn eine Gruppe mehrere Commandos hat, dann sieht EMERGENCY 4 immer nach, welches der Commandos der Gruppenführer ist und zeigt keines der anderen (es sei denn der Gruppenführer ist nicht ausführbar).
2.261 mal gelesen