Einzelnen Beitrag anzeigen
Alt 30.10.2011, 10:30   #16 (permalink)
Asso-Loki
50 Beiträge100 Beiträge
 
Registriert seit: 01.06.2009
Beiträge: 103
Standard

@ Drunken Officer

Es ist Morgen, ich bin ausgeschlafen und entsprechend kann ich auf meinen vollen IQ von 2 (aufgerundet) zurückgreifen.

Ich würde die ganze Sache ganz anders anpacken. Die Zuweisung der Ampellichttextur würde ich ganz normal in der config.cpp des Modells unter class Useractions - class OpenDoor / CloseDoor (oder wie immer Du dieses Classes benannt hast) - statement erledigen.

Bei der class Eventhandlers würde ich dann den init nur dazu verwenden, die Ampellichtextur auf rot zu stellen, damit von Anfang an das passende Licht angeht.

Ich denke das ist die sauberste Lösung.

Edit:
Beispiel
Code:
class Eventhandlers
    {
    init = "this setobjecttexture [0, '\polizei\grafik\lichtrot.paa'];";
    };
Unter class Useractions - class zum öffnen des Tores
Code:
statement = "this animate ['door_pb_aussenhof', 1]; this setobjecttexture [0, '\polizei\grafik\lichtgruen.paa'];";
class zum schliessen des Tores
Code:
statement = "this animate ['door_pb_aussenhof', 0]; this setobjecttexture [0, '\polizei\grafik\lichtrot.paa'];";
Edit:
@ Vienna
Deine Sorgen sind unbegründet. Wohl verwendet das Script den gleichen Syntax wie eine Funktion (sqf), aber es wird eben als Script (execVM) und nicht als Funktion (call / spawn) benutzt. Deshalb sind sleep / waituntil kein Problem, ebenso wenig wie dabei die Kommentare (//) stören, welche er ja hoffentlich eh daraus gelöscht hätte, da sie ja nur quasi als einmalige Erklärung gedacht sind.
Der Status eines Script bleibt unberührt von seinem Aufruf- Ort. Es ist also egal, ob ein Script von einem Auslöser, einer Objektinitzeile, einem anderen Script oder eben einer Modell- config aus gestartet wird.
Die while- Schlaufe würde auch gemäss meines Info- Standes "bloss" 10000 mal durchlaufen, was aber im Kontext dieser Problemstellung nahezu irrelevant ist, da es extremst unwahrscheinlich ist, dass das Tor innerhalb eines Szenariums 10000 mal geöffnet / geschlossen wird.

Abgesehen davon finde ich aber - wie oben schon dargelegt - die bisher hier verfolgten Lösungsansätze - natürlich meinen inklusive - Blödsinn. Selbst wenn eine der bisher vorgeschlagenen Script- Lösungen zum funktionieren kommen würde, fände ich es einen Murks, unsauber, unbefriedigend.

Geändert von Asso-Loki (30.10.2011 um 11:14 Uhr).
Asso-Loki ist offline