Construction Set Tor öffne dich ?!

Yves

Bürger
HI

Habe zwei fragen:


1.kann mir jemand sagen wie mann ein Script erstält der wie ein Schalter funktuinirt ABER das mann den Sachalter nur ein mal benutzen kann und wenn man das noch mal versucht dann soll eine Nachricht kommt.

2.ich möchte ein Tor machen was sich bei nächten mal betreten der Zelle zu ist

Danke im vorraus
 
Was soll der Schalter denn machen? Generell kann ich folgendes empfehlen:
[...]

short doOnce

begin <x>

if doOnce !=1
<Schalter auswirkung>
set DoOnce to 1

elseif doOnce == 1
Get Message "Deine Nachricht"
endif
end

[...]

zur 2. Frage, seh ich das richtig:
1. Spieler betritt Zelle, Tor offen
2. Spieler geht raus
3. Spieler geht wieder rein, Tor zu?

und, soll die Tür die eingangstür sein, oder ne bwegliche innerhalb der zelle ohne teleport?
 
Zuletzt bearbeitet:
1. Also die Scriptstruktur sieht in etwa so aus:

begin my_schalter_script

short doOnce

if ( doOnce == 0 )
if ( OnActivate == 1 )
Schaltereffekt
set doOnce to 1
endif
endif

end


2. Erklär erst mal genau was du meinst.
 
also das 1. und 2. hängt zusammen, der knopf ist dafü das tor zu SEnKEN NICHT ZU HEBEN und wenn das tor auf ist und man geht raus und wider rein dann ist das tor zu.
 
SuFu!!!
Also, bitte! Das kannst du doch auch selbst!

Die nötige Abfrage lautet OnDeath und der Teleporterbefehl PositionCell, xpos, ypos, zpos, zrot, "Zellenname"

begin my_creature_script

if ( OnDeath == 1 )
my_tor->PositionCell, xpos, ypos, zpos, zrot, "Zellenname"
endif

end

Wenn das ganze noch animiert sein soll, geht es zB. auch so:
begin my_tor_script

short state

if ( GetDeadCount "my_creature" > 0 )
set state to 1
PlaySound "Door Stone Open"
endif

if ( state == 1 )
if ( GetPos Z < 704 )
MoveWorld Z 100
else
set state to 2
endif
endif

end

Da.
Die Koordinaten musst du aber noch verändern.
Das olltest du schaffen.
 
Was genau hat mein Script jetzt mit einem CellChange zu tun?

Also wenn ich dich richtig verstehe, soll das ganze so aussehen:

1. Du betritts die Zelle und dos Tor ist oben.
2. Du drückst den Schalter und das Tor fällt zu.
3. Du verlässt die Zelle.
4. siehe 1.

Dafür erstellst du ein Tor (Static oder Activator) mit einmaliger iD und setzt es auf "Reference Persistent". Dann setzt du dieses Tor an die obere (geöffnete) Position.
Dann nimmst du deinen Schalter und legst auf ihn ein Script dieser Struktur:

begin my_schalter_script

short state
float timer

if ( MenuMode == 1 )
return
endif

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

if ( state == 1 )
set timer to timer + GetSecondsPassed
my_tor->MoveWorld Z -120
if ( timer >= 1 )
set timer to 0
set state to 2
endif
endif

if ( state == 2 )
if ( CellChanged == 1 )
my_tor->PositionCell xpos ypos zpos zrot "Zellenname"
set state to 0
endif
endif

end


Bei dem PositionCell-Befehl gibst du die Startposition des Tores an.
 
NEIN

wenn mann in der Zelle ist,ist das Tor ZU NICHT OFFEN,und es öffnet sich wenn mann auf den knopf drückt,und wenn es dann auf ist und man geht raus und wider rein dann ist das Tor ZU.und mann kann den schalter nicht mehr benutzen und wenn man es verschucht kommt ne nachricht....

Und mann muss dochj für das tor und für den Schalter ein script machen o?oder
 
...oder?
Nein!

Dazu nimmst du einfach mein Script, setzt das Tor auf die geschlossene Position als Startposition und kehrst die Bewegungsrichtungen um.
Wenn der Schalter nur einmal funktionieren soll, setzt du in der viertletzten Zeile state einfach auf 3 und fügst noch folgendes zwischen dem letzten endif und dem end ein:

if ( state == 3 )
if ( OnActivate == 1 )
MessageBox "Das Tor bleibt zu."
endif
endif
 
also
Code:
begin my_schalter_script

short state
float timer

if ( state == 3 )
if ( OnActivate == 1 )
MessageBox "Das Tor bleibt zu."
endif
endif
if ( state == 1 )
set timer to timer + GetSecondsPassed
my_tor->MoveWorld Z -120
if ( timer >= 1 )
set timer to 0
set state to 2
endif
endif

if ( state == 2 )
if ( CellChanged == 1 )
my_tor->PositionCell xpos ypos zpos zrot "Zellenname"
set state to 0
endif
endif

end
oder