Construction Set Teleport-Türen akzeptieren Scripts nicht...

Kensen

Abenteurer
Hallo

Ich habe in meinem Plugin mehrere Türen, welche unter bestimmten Bedingungen angezeigt werden sollen und ansonsten eben nicht.
Das Problem betrifft nur Türen, die von einer Exterior-Zelle in ein Interior teleportieren (umgekehrt funktioniert daselbe Prinzip problemlos).

Alle Türen, die ich jetzt meine, haben ein Script darauf, welches in etwa wie folgt aussieht:
If (bedingung erfüllt)
If GetDisabled

Enable

Endif

return

Endif

Disable

End

Lege ich dieses Script auf eine Tür in einem Interior, welche in ein Exterior teleportiert, funktioniert alles problemlos. Lege ich aber dasselbe Script auf eine Tür, die von einem Exterior in ein Interior teleportiert, erscheint die Tür nicht, auc wenn die Bedingung erfüllt ist und wenn ich nachher über den "..."-Button der Türeigenschaften im CS das Script öffne, sehe ich nur eine graue Fläche (über das Bleistift-Menü kann ich es aber normal öffnen).

Ist das ein allgemeiner Fehler?
Ich habe nur MW,TR und BM laufen und dazu eben dieses Plugin. Ich habe mir jetzt damit geholfen, dass ich halt Activators mit den Türmeshes verwende, aber das kann ja auch nicht die Lösung sein...

Gruss
Kensen
 
Das dieses Script überhaupt funktioniert ist für mich schon ein Wunder. Eigentlich sollte es nirgendwo funktionieren.

Gestalte dein Script so:

Code:
begin my_door_script

short state

if ( state == 0 )
disable
set state to 1
endif

if ( state == 1 )
if ( my_global == 1 )  //deine Bedingung
enable
set state to 2
endif
endif

end
 
Das Problem hat sich erledigt... Ich habe immer daselbe Savegame zum Test verwendet und da waren dieTüren halt nicht mitgespeichert. Ich habe dann mit demselben Save mal ohne das Plugin gespeichert und nachher wieder neu geladen, jetzt funktioniert alles tadellos - pbrigens mit meiner Version des Scripts ;)

Was genau sollte an meinem Script nicht funktionieren? Ich nehm's mal auseinander...

If Bedingung ;alles wie gehabt...
If GetDisabled ;braucht kein == 1, funktioniert auch so und ohne Klammern

Enable ;wenn die Bedingung erfüllt ist und das Objekt disabled, wird's jetzt sichtbar

Endif ;beendet die Disabled-Abfrage, da das Objekt ja nur einmal enabled werden soll

return ;solange die Bedingung "Bedingung" erfüllt ist, kehrt das Script hier an den Anfang zurück

Endif ;Ende der "If Bedingung"-Abfrage

Disable ;wird ausgeführt, wenn "Bedingung" nicht zutrifft, ja, ich packe das noch mit "Else" in die If-Abfrage

end

Ich sehe da beim besten Willen kein Problem, warum kompliziert, wenn man's einfach haben kann? Ich verwende das Script schon lange (z.B. abgeändert auch für Lichter, die Tag- und Nachtwechsel in Interiors simulieren). Naja, bin mal auf deine Antwort gespannt! :)

Gruss
Kensen
 
Zuletzt bearbeitet:
ach das return stand unter dem ersten endif. Da hab ich nicht so genau hingeguckt.

Aber was meinst du mit komplizieren, meine Scripts sind immer häppchenweise aufgebaut, damit man sie besser nachvollziehen kann.