Construction Set Türen durch Magie platzieren

Nuhravin

Neuankömmling
Ich wollt mal fragen wie man das hinkriegt das man Türen durch einen Zauber in der Welt platzieren kann. Die Türen sollen an Ort und Stelle bleiben bis man den nötigen Gegenzauber auf die Tür wirkt. Außerdem sollen die Türen begehbar sein os das man beispielweise in einen Lagerraum kommt wenn man durch die Tür schreitet.
Ich hab das schon mal probiert wusste da aber nicht genau was ich machen muss:huh:
Wäre für Hife echt dankbar!;)
 
...ga nicht. Also zumindest nicht genauso, wie du es willst (also das man die Tür frei bewegen kann, wie bei einem Telekinese-Zauber), da die Türen "Doors" sind (ganz logisch, eigentlich), und die sind bei einem Telekinese Zauber nunmal genauso beweglich wie ein Haus.... Evtl. könnte man eine Sequenz scripten, dass jemand anderes einen Zauber auf sich selbst wirkt, und die Tür dann per Script bewegt wird. Aber so wie du es beschrieben hast, geht es (meines Wissens nach!) nicht :( Obwohl das sicher ganz lustig wäre...

DaNNZ
 
Das heißt ich kann den mächtigen Zauber namens "Tür beschwören" wirken:shock: Das ist ja schrecklich!
Also wird es wohl niemals was mit meinem Mod:cry:
 
Ohh, ich hab mich wohl verlesen :shock: Du hast plazieren geschrieben. Also das du einen Zauber wirkst, und die Tür dann da ist? Das geht natürlich! Da müsste man einen Zauber mit Scripteffect, der die Tür enabled/disabled (also das zumindest müsste ziemlich sicher gehen...) Sorry, für die falsche Antwort. (Obwohl es immernoch stimmt, was ich geschrieben habe, aber hat das hiermit nichts zutun ;))

Sorry,
DaNNZ
 
wenn ich Nuhravin richtig verstanden habe, möchte er die tür schon frei in der welt platzieren, mit enable/disable vorhandene türen aktivieren wird da wohl nicht funktionieren (bzw. ziemlich aufwendig, dann müsste man ein paar 100.000 türen disabled in der ganzen welt verteilen :roll:)

aber funktionieren muss das schon irgendwie. gibt es bei midas magic nicht auch einen zauber, mit dem man ein oblivion-tor an beliebiger stelle beschwören kann?

auch wenn man keine türen beschwören kann, mit irgend welchen anderen gegenständen wirds doch funktionieren. dann würd ich näömlich einfach so einen gegenstand (oder zur not eine kreatur, die sich nicht bewegen darf) nehmen, und ihm einfach nur das aussehen (= die mesh) der tür verpassen. und über skripte wird dann halt einfach festgelegt, was passieren soll, wenn der gegenstand benutzt (oder die kreatur "angesprochen") wird. :D
 
Das ist ja klasse!!! Jetzt wirdmein großer Traum vom Moden entlich war! Da gebe es nur noch ein kleines Problemchen. Ich bin noch Anfänger im Scripten:oops: Kann nicht mal jemand bitte den Script aufschreiben?
Und das mit dem falsch verstehen meines Problems kein Problem hat sich ja jetzt geklärt!:D
 
Der folgende Script stammt von dieser Seite: http://cs.elderscrolls.com/constwiki/index.php/Summon_Object

Es wurden lediglich die Referenzen ersetzt.
Code:
scn Scriptname

float pos
float ang
float ang2
float ang4
float sign
float sin
float cos

begin scriptEffectStart
    [TürRef].disable
end

begin scriptEffectFinish
    set sign to 1
    set ang to player.getAngle z
    if ang > 270
        set ang to ang - 360
    elseif ang > 90
        set ang to ang - 180
        set sign to -1
    endif
    set ang to 0.017453*ang 
    set ang2 to ang * ang
    set ang4 to ang2 * ang2
    set sin to sign*ang*(1 - 0.16605*ang2 + 0.00761*ang4)
    set cos to sign*(1 - 0.4967*ang2 + 0.03705*ang4)

    [TürRef].moveTo player 

    set pos to player.getPos x + 150*sin
    [TürRef].setPos x pos
    
    set pos to player.getPos y + 150*cos
    [TürRef].setPos y pos

    set pos to player.getPos z + 55
    [TürRef].setPos z pos

    set ang to player.getAngle z + 90
    [TürRef].setAngle x 0
    [TürRef].setAngle y 0
    [TürRef].setAngle z ang

    [TürRef].enable
end
Das einzige Problem ist hierbei der Marker - dem kann man nämlich keine Referenz geben, somit wird der Spieler auf die Position dieses Markers teleportiert, und der ist immer noch dort, wo er im CS hingesetzt wurde. Deswegen empfehle ich 2 Activator, die auf ein Tür-mesh zurückgreifen und auf denen ein Teleport-script liegt.
 
das Beschwören von Türen und der anschließende Teleport (hin und zurück) habe ich in meiner Mod Celestiel über mehrere Skripts geregelt.

Hier sind die für deine Zwecke angepassten Skripte (eins mehr als im Original, da die Tür über einen Gegenzauber geschlossen werden soll)

Skript 1 beschwört die Tür und liegt auf einem Zauber:

Code:
scn [Name deines Skripts]

Begin ScriptEffectStart
[Referenz der Tür].enable 
[Referenz der Tür].MoveTo Player, 77, 0, 0
; die erste Zahl steht für die Entfernung, 50 - 100 ist ideal
End

Begin ScriptEffectUpdate
End

Begin ScriptEffectFinish
End

Skript 2 bestimmt wohin es gehen soll und liegt auf der Tür:

Code:
scn [Name deines Skripts]

begin onactivate
player.MoveTo [Referenz des Markers] 0, 0, 0
; in der Zelle des Zielortes platzierst du einen Marker, zu dem man teleportiert wird 
end

Skript 3 bringt dich zurück zum Ausgangsort und liegt auf einer zweiten Tür (Rückkehr-Tür), die sich am Zielort befindet (der oben genannte Marker sollte in der Nähe dieser Tür sein):

Code:
scn [Name deines Skripts]

begin OnActivate player
	player.MoveTo [Ref der ersten Tür] 77, 0, 0
activate	
End

Das letzte Skript lässt die Tür wieder verschwinden und liegt auf dem Gegenzauber:

Code:
scn [Name deines Skripts]

Begin ScriptEffectStart
[Referenz der Tür].disable
End

Begin ScriptEffectUpdate
End

Begin ScriptEffectFinish
End

PS: ich hatte mal versucht, dies mit begehbaren Türen zu machen, doch ich landete immer in der Zelle, wo ich die Tür im CS gesetzt hatte (eine leere Zelle, in der sich nur die zu beschwörenden Sachen befinden). Ich glaube, dass es am gelben Doormarker liegt, denn dieser wird bei MoveTo irgendwie nicht mit versetzt.
 
Zuletzt bearbeitet:
sorry, mir ist beim 3. Skript ein Fehler unterlaufen:oops:. Es muss die Referenz der ersten Tür angeben werden, nicht der zweiten (ist schon editiert). Und wenn du in den Skripts deine eigenen Namen verwendest, müssen die eckigen Klammern weglassen werden (sie dienen nur zur besseren Veranschaulichung, denn mit diesen Klammern funktioniert das Skript nicht). Weißt du, wie man Objekten eine Referenz zuweist? Falls nicht, eine kurze Erklärung: das Objekt im Renderwindow mit Doppelklick anklicken und in dem langem weißen Feld einen beliebigen Namen eingeben, der leicht zu merken ist (z. B. Teleporttür) und bestätigst mit OK. Wenn z. B. "Teleporttür" die Referenz der ersten Tür ist, müsste es z. B. im 3. Skript so lauten:
Code:
player.MoveTo Teleporttür 77, 0, 0
 
Zuletzt bearbeitet: