Construction Set Bild Activator

GoSu-HarD

Fremdländer
Hallo liebes Forum


Ich habe mich gestern Abend mal wieder ins cs gestürzt und mir ist die Idee gekommen, ein Bild als Aktivator zu verwenden(wird mit Hebel ausgelöst).
Meine Frage lautet nun, wie ich das anstellen soll. Normalerweise müsste ich ja nur den Hebel, mit dem jeweilig zu bewegenden Objekt verbinden.
Als ich das gestern versucht habe, kam ich jedoch schnell auf das ernüchternde Ergebnis: Nichts passierte, nach kurzem überlegen kam mir der Gedanke, dass es am Bild selber liegen muss, da es ja über keinerlei Animationen(static) verfügt, um sich überhaupt bewegen zu können.
Wenn mir jemand einen Tipp geben könnte, der nicht allzu viel aufwand braucht, wäre ich demjenigen sehr verbunden.

Danke im voraus :)
 
Als Aktivator kann jedes Objekt verwendet werden, das im CS als Aktivator definiert ist und eine Kollision besitzt. Die vanilla Bilder sind als Statics definiert und besitzen glaub nicht mal eine Kollision.

Normalerweise müsste ich ja nur den Hebel, mit dem jeweilig zu bewegenden Objekt verbinden.

Ja, aber nur wenn das verlinkte Objekt eine Animation besitzt, ein Bild hat aber keine, wie Du selbst schon festgestellt hast.

Wenn Du das Bild als Aktivator haben möchtest, ist das kein Problem, vorausgesetzt Du kennst dich ein wenig mit Nifskope aus. Du musst die betreffende Nif öffnen und eine Kollision reinkopieren, oder erstellen. Dann die neue Nif als Aktivator einbinden. Natürlich braucht das Bild dann ein Skript, das bestimmte Dinge ausführt, wenn man es anklickt, sonst ist es als Aktivator sinnlos.
 
Danke dir werde ich gleich mal ausprobieren!
Habe noch eine kleine Frage, möchte deswegen aber kein neues Thema erstellen
Ich habe ein Hebel-Tor Aktivator erstellt und beim Tor folgendes Skript benutzt.

scn TorSkript
...
begin OnActivate
if (IsActionRef Player ==1)
Message "Dieses Tor ist verschlossen"
else
activate
endif
end
...

Nun fehlt mir aber ein passendes HebelSkript, ich habe es bereits selbst versucht, komme aber nicht weiter.

scn HebelSkript
Begin OnActivate

Und da bin ich mit meinem Latein oder besser gesagt "Skriptisch" auch schon am Ende :)

PS: Das Tor ist in dem Fall bereits ein Aktivator.

Danke im voraus:)
 
Ein Skript auf dem Tor ist aber nicht notwendig, wenn Du einen Hebel dafür benutzen willst. Man soll das Tor ja mit dem Hebel öffnen und nicht wenn man es direkt anklickt. Wenn Du eine eigene Hebel-Tor-Kombination skripten willst, dann reicht ein Skript auf dem Hebel. Das Tor braucht eine persistente Referenz, damit Du im Hebelskript die Toranimation auslösen kannst. Um auf eine Animation zugreifen zu können, musst Du wissen wie die Controllerstrings in der Nif heißen. Normalerweise Forward, bzw. Backward um es wieder zu schließen. Einfach das Tor, bzw. den Hebel in Nifskope öffnen und nachschauen wie die Controllerstrings heißen.

Nun hat aber der Hebel selbst auch Animationen, die das Skript ebenfalls steuern soll. Das heißt, das Skript muss im Grunde nur mit der Funktion Playgroup die Animationen von Hebel und Tor auslösen. Damit das Skript auch weiß ob das Tor geöffnet oder geschlossen werden muss, braucht es noch eine Variable um den Zustand festzuhalten. Hier mal ein Beispiel für ein einfaches Skript:


Code:
scn HebelSkript

short Hebel     ; 0 = Tor ist geschlossen, 1 = Tor ist offen

Begin OnActivate

    if IsAnimPlaying == 0

            if Hebel == 0
                set Hebel to 1
                Playgroup Forward 1                ; bewegt den Hebel vor
                TorRef.Playgroup Forward 1       ; öffnet das Tor
            else
                set Hebel to 0
                Playgroup Backward 1                ; bewegt den Hebel zurück
                TorRef.Playgroup Backward 1       ; schließt das Tor
             endif
    endif

End


Man kann das Skript natürlich auch dem Tor direkt zuweisen und auf den Hebel verzichten. Muss nur die beiden Zeilen mit TorRef.Playgroup... löschen. Dann kann man das Tor direkt anklicken und öffnen. Das Tor braucht in diesem Fall keine persistene Referenz. Oder man benennt die Contollerstings in der Tor-Nif in Open und Close um und bindet die Nif als Door im CS ein. Dann braucht man weder Hebel noch Skript. Kommt eben darauf an, wie man es haben will. Möglichkeit gibt es Zuhauf. :)
 
Haben Bilder wirklich keine Kollision? Es gibt doch auch Bilder, die als Container verwendet werden. Und meines Erachtens braucht ein Objekt auch keine Kollision, um es mit einem Skript belegen zu können. Du kannst dann halt nur nicht auf eine vorgefertigte Animation zurückgreifen und müsstest die Bewegung selbst skripten.
 
Ich habe keine Ahnung ob Bilder Kollisionen haben oder nicht. Man platziert Bilder in der Regel an einer Wand die schon eine Kollision hat. Wäre also nur unnütze Vergeudung von Ressourcen wenn die Engine was berechnen muss, was der Spieler gar nicht bemerken kann. Deshalb ging ich davon aus, dass Bethesda wohl keine Kollisionen einbaute. Wenn die Bilder schon Kollisionen haben, dann braucht man natürlich auch keine einbauen um sie als Activator, Container oder als Door zu verwenden. :)

Und meines Erachtens braucht ein Objekt auch keine Kollision, um es mit einem Skript belegen zu können.

Das habe ich auch nie behauptet. Natürlich braucht ein Objekt keine Kollision um ihm ein Skript zuweisen zu können, mir wäre aber nicht bekannt, dass sich ein Objekt ohne Kollision aktivieren lässt.
 
es gibt im spiel ein tressor der hinter einem bild ist. durch drücken eines knopfes schwinkt das bild in die neue position um an den eigendlichen tressor zu kommen. nur schwinkt es da nicht zurück beim wiederholten drücken des knopfes. wenn das bild wie eine tür reagieren soll glaube ich es wäre bedeutend einfacher die meshes einer tur zu kopieren dem ding einen bildnamen geben und die textur ändern. was die maße der tür(bild) angeht sind da natürlich grenzen gesetzt(sind die vanilla schiebetüren eigendlich türen oder wände?) und muß somit ein entsprechendes bild verwenden am besten eine eigene textur.
 
Zuletzt bearbeitet:
Es gibt Bilder mit Kollisionen z.B. das im Malerquest, das als Tür eingebunden ist. Das mit dem schwenkenden Bild ist eine Ressource die falsch eingebunden ist, denn es steht nur Play forward to 0 und nicht backward to 0 bei play animation (im skript). Das reicht zwar bei einigen Animationsobjekten aber eben nicht bei allen. Es gibt auch Bücher die so animiert sind.