Autor |
|
Parcifal
Crusader
  

Dabei seit: Juni 2002
Geschlecht: 
Herkunft: OB
Beiträge: 397
 |
|
|
07.07.2003, 18:15 |
|
Hephaistos
Verschollen


Dabei seit: Februar 2003
Geschlecht: 
Herkunft: Wien
Beiträge: 2102
 |
|
Ja. Das sollte mit disable/enable kein Problem sein. Per Script einfach das Mauerstück disablen und die Tür, und den Rahmen enablen.
__________________
Die Dummheit der Menschen und das Weltall sind unendlich, wobei ich mir beim Weltall noch nicht sicher bin.
Albert Einstein
Wenn die Klügeren nachgeben, regiert Dummheit die Welt.
Marie von Ebner-Eschenbach
Dieser Beitrag wurde von Hephaistos am 07.07.2003, 20:16 Uhr editiert.
|
|
07.07.2003, 20:16 |
|
Parcifal
Crusader
  

Dabei seit: Juni 2002
Geschlecht: 
Herkunft: OB
Beiträge: 397
 |
|
Super, per Script........äh........bittebittebitte Also es geht darum.......Ich hab einen Drachen und er soll das Topic "Gral" bekommen (ja, ein sprechender Drache) - Kann dieses Topic die Tür dann "einschalten", die vorher nicht zu sehen ist? Ich möchte nähmlich nicht das man vorher schon "ausversehen" über die Höhle bzw. Zugang stolpert.
|
|
07.07.2003, 21:10 |
|
Hephaistos
Verschollen


Dabei seit: Februar 2003
Geschlecht: 
Herkunft: Wien
Beiträge: 2102
 |
|
Also dann schaun wir mal.
beginn drachen_script
short ds_talked
if ( cellchanged == 1 )
..if ( ds_talked == 0 )
...."ID_door"->disable
...."ID_rahmen"->disable
...."ID_wand"->enable
..endif
endif
if ( cellchanged == 1 )
..if ( ds_talked == 1 )
...."ID_door"->enable
...."ID_rahmen"->enable
...."ID_wand"->disable
..endif
endif
end
Jetzt mußt du nur im Result-Fenster des Topic die Variable ds_talked auf 1 setzen (set ds_talked to 1) und es müßte funktionieren. Möglicherweise mußt du noch mehrere Objekte enablen/disablen, aber ich bin sicher, das kriegst du hin.
Edit:
Ach ja, das Script gibst du auf die Tür, den Rahmen, die Wand oder ein anderes Static in der Zelle.
__________________
Die Dummheit der Menschen und das Weltall sind unendlich, wobei ich mir beim Weltall noch nicht sicher bin.
Albert Einstein
Wenn die Klügeren nachgeben, regiert Dummheit die Welt.
Marie von Ebner-Eschenbach
Dieser Beitrag wurde von Hephaistos am 07.07.2003, 21:27 Uhr editiert.
|
|
07.07.2003, 21:25 |
|
Garak
Admin
     

Dabei seit: Juli 2002
Geschlecht: 
Herkunft: Cardassia Prime
Beiträge: 9269
 |
|
Hephaistos, mit der methode müsste man das Static (besser: den Activator - statics können keine scripte haben) einzeln addressieren, nach der methode
set ActivatorID.ds_talked to 1
da lokal definierte shorts nun mal genau das sind - lokal gültig! In dem Fall also ds_talked als Global definieren (Menü gampeplay/Globals) und das "short ds_talked" aus dem script rauslassen! Am flexibelsten wär es, mit eine r Global und dem script
beginn drachen_script
if ( cellchanged == 1 )
..if ( ds_talked == 0 )
....disable
..else
....enable
..endif
endif
end
direkt auf den an/auszuknipsenden teilen!
__________________ drei mal dürft ihr raten, wer grade seine Signatur geschrottet hat...geht aber wieder - allerdings solltet Ihr noch die Finger von den Avataren lassen 
|
|
08.07.2003, 06:37 |
|
Hephaistos
Verschollen


Dabei seit: Februar 2003
Geschlecht: 
Herkunft: Wien
Beiträge: 2102
 |
|
Das man auf Statics, keine Scripts legen kann stimmt natürlich, sorry, mein Fehler.
Aber warum eine Globales Script, der Drache ist doch in der selben Zelle wie die erscheinende Tür, oder etwa nicht?
Edit:
Ich hab mir den Threat jetzt nochmal durchgelesen und muß gestehen, daß ich mir das mit der selben Zelle scheinbar eingebildet habe. Das heißt, wenn der Drache und die erscheinende Tür nicht in der selben Zelle sind mußt du so wie Garak gesagt hat eine globale Variable verwenden, oder du machst das mit einem Tagebucheintrag.
__________________
Die Dummheit der Menschen und das Weltall sind unendlich, wobei ich mir beim Weltall noch nicht sicher bin.
Albert Einstein
Wenn die Klügeren nachgeben, regiert Dummheit die Welt.
Marie von Ebner-Eschenbach
Dieser Beitrag wurde von Hephaistos am 08.07.2003, 07:46 Uhr editiert.
|
|
08.07.2003, 07:42 |
|
Parcifal
Crusader
  

Dabei seit: Juni 2002
Geschlecht: 
Herkunft: OB
Beiträge: 397
 |
|
Es ist Richtig, daß der Drache nicht in der selben Zelle ist, er wird sogar ziemlich weit weg sein. Ich werde mich heute Mittag oder am abend mal daran machen und dann Bericht erstatten. Vielen DAnk schon mal bis hierher.
|
|
08.07.2003, 11:35 |
|
Garak
Admin
     

Dabei seit: Juli 2002
Geschlecht: 
Herkunft: Cardassia Prime
Beiträge: 9269
 |
|
Zitat: Original von Hephaistos
Aber warum eine Globales Script, der Drache ist doch in der selben Zelle wie die erscheinende Tür, oder etwa nicht?
das SCRIPT ist nicht global, sondern muss, wie geschrieben, auf den an/auszuknipsenden teilen liegen - nur die Steuernde Variable ist Global - das ganze funktioniert genauso wie Bethesdas Stronghold-Script!
__________________ drei mal dürft ihr raten, wer grade seine Signatur geschrottet hat...geht aber wieder - allerdings solltet Ihr noch die Finger von den Avataren lassen 
|
|
08.07.2003, 12:52 |
|
Hephaistos
Verschollen


Dabei seit: Februar 2003
Geschlecht: 
Herkunft: Wien
Beiträge: 2102
 |
|
Zitat: das SCRIPT ist nicht global, sondern muss, wie geschrieben, auf den an/auszuknipsenden teilen liegen - nur die Steuernde Variable ist Global - das ganze funktioniert genauso wie Bethesdas Stronghold-Script!
Für mich ist jedes Script mit einer globalen Variable ein globales Script, ich muß mir in Zukunft Mühe geben mich präziser auszudrücken. Meine Überlegungen gingen ursprünglich in diese Richtung:
Ich leg das Script auf einer der Gegenstände, die verschwinden/erscheinen sollen und schalte damit auch gleich alle anderen Gegenstände (damit brauch ich dann nur ein en Activator). Durch das Script existiert die Variable in dieser Zelle. Durch das Gespräch mit dem drachen wird die Variable dann verändert und die Gegenstände geschalten. Wie gesagt zu diesem Zeitpunkt ging ich noch davon aus, daß Drache und Tür in der selben Zelle liegen.
__________________
Die Dummheit der Menschen und das Weltall sind unendlich, wobei ich mir beim Weltall noch nicht sicher bin.
Albert Einstein
Wenn die Klügeren nachgeben, regiert Dummheit die Welt.
Marie von Ebner-Eschenbach
|
|
08.07.2003, 13:28 |
|
Parcifal
Crusader
  

Dabei seit: Juni 2002
Geschlecht: 
Herkunft: OB
Beiträge: 397
 |
|
Wäre es eventuell einacher die Tür zwar sichtbar, aber nicht betretbar zu lassen? Z.B. mit dem Text "Die Grabkammer ist noch nicht betretbar"?
|
|
08.07.2003, 13:32 |
|
Garak
Admin
     

Dabei seit: Juli 2002
Geschlecht: 
Herkunft: Cardassia Prime
Beiträge: 9269
 |
|
jep, die onactivate-abfrage sollte da helfen! Die fängt praktisch den klick auf die tür ab, erlaubt dir, per script ein paar abfragen zu machen und fürt die Aktion (in diesem fall: Türe benutzen) nur aus, falls das im script dann per "Activate" ausgelöst wird!
__________________ drei mal dürft ihr raten, wer grade seine Signatur geschrottet hat...geht aber wieder - allerdings solltet Ihr noch die Finger von den Avataren lassen 
|
|
08.07.2003, 14:08 |
|
Parcifal
Crusader
  

Dabei seit: Juni 2002
Geschlecht: 
Herkunft: OB
Beiträge: 397
 |
|
Könntest Du ein wenig konkreter werden ? Und der Script muss auf die Tür, ähnlich wie beim Zeitlichen öffnen denke ich wie bei der Tür "Höhle des Fleischgewordenen".
|
|
08.07.2003, 14:56 |
|
Hephaistos
Verschollen


Dabei seit: Februar 2003
Geschlecht: 
Herkunft: Wien
Beiträge: 2102
 |
|
if ( ds_talked == 0 )
..if ( OnActivate == 1 )
....MessageBox, "Text_warum_die_Tür_nicht_aufgeht."
..endif
endif
if ( ds_talked == 1 )
..if ( OnActivate == 1 )
....Activate
....return
..endif
endif
ds_talked wie gehabt eine Globale Variable.
So, ich hoffe ich hab nicht schon wieder Mist gebaut.
Edit:
Ja das Script muß auf die Tür. Außerdem kannst du noch Sound hinzufügen um das ganze realistischer zu machen (z.B. "Open Lock Fail").
__________________
Die Dummheit der Menschen und das Weltall sind unendlich, wobei ich mir beim Weltall noch nicht sicher bin.
Albert Einstein
Wenn die Klügeren nachgeben, regiert Dummheit die Welt.
Marie von Ebner-Eschenbach
Dieser Beitrag wurde von Hephaistos am 08.07.2003, 15:46 Uhr editiert.
|
|
08.07.2003, 15:39 |
|
Parcifal
Crusader
  

Dabei seit: Juni 2002
Geschlecht: 
Herkunft: OB
Beiträge: 397
 |
|
Zitat: ds_talked wie gehabt eine Globale Variable
Was ist eine Globale Variable, ein Topic? Heißt das als ds_talked muss ich z.B. GRAL eingeben?
Neee war wohl docjh zu einfach gedacht......bittebitte Scriptdummy braucht Hilfe.....
Dieser Beitrag wurde von Parcifal am 08.07.2003, 19:03 Uhr editiert.
|
|
08.07.2003, 18:24 |
|
Hephaistos
Verschollen


Dabei seit: Februar 2003
Geschlecht: 
Herkunft: Wien
Beiträge: 2102
 |
|
Eine globale Variable ist eine Variable, die nicht wie eine locale nur in der entsprechenden Zelle wirkt, sondern in ganz Morrowind. Du definierst sie unter "Gameplay=>Globals".
Im Topic muß du dann nur unter Result, beim entsprechenden Eintrag, die Variable auf 1 setzen und schon ist die Tür passierbar.
__________________
Die Dummheit der Menschen und das Weltall sind unendlich, wobei ich mir beim Weltall noch nicht sicher bin.
Albert Einstein
Wenn die Klügeren nachgeben, regiert Dummheit die Welt.
Marie von Ebner-Eschenbach
|
|
08.07.2003, 18:41 |
|
Parcifal
Crusader
  

Dabei seit: Juni 2002
Geschlecht: 
Herkunft: OB
Beiträge: 397
 |
|
Muss ich das Script also unter Gamplay/editScript anlegen und dann unter Global auswählen? Oder direkt im Globals und new auswählen? Was ist dann aber short, long und float und auch noch Value? Ich hab meine ich gute Ideen für Mods, kann sie aber nicht umsetzen! Grrrrrrrrrrrr
|
|
08.07.2003, 19:41 |
|
Hephaistos
Verschollen


Dabei seit: Februar 2003
Geschlecht: 
Herkunft: Wien
Beiträge: 2102
 |
|
Das Script erstellst du wie immer. Nur definierst du die Variable nicht am Amfang des Scripts mit
short ds_talked
sondern gehst unter Gamplay=>Globals
Dort gehst du auf New und gibst den Namen der Variable ein (ds_talked) wenn du auf OK gehst erscheint die Variable in der Liste. Wenn du die Variable jetzt auswählst, kannst du bestimmen um welchen Typ von Variable es sich handelt (short, Float, Long), für deinen Zweck dürfte short ausreichen. Jetzt noch das Script den Objekt zuordnen und das Topic erstellen. Fertig.
__________________
Die Dummheit der Menschen und das Weltall sind unendlich, wobei ich mir beim Weltall noch nicht sicher bin.
Albert Einstein
Wenn die Klügeren nachgeben, regiert Dummheit die Welt.
Marie von Ebner-Eschenbach
|
|
08.07.2003, 20:07 |
|
Parcifal
Crusader
  

Dabei seit: Juni 2002
Geschlecht: 
Herkunft: OB
Beiträge: 397
 |
|
Oh Mann....jetzt hab ichs denke ich......Hab unter Gamplay\Edit Script einen neuen Script angelegt, dann den Scrip eingefügt und abgeändert
begin gral
if ( gral == 0 )
..if ( OnActivate == 1 )
....MessageBox, "Ich sehe das Ihr nicht mit dem Drachen gesprochen habt."
..endif
endif
if ( gral == 1 )
..if ( OnActivate == 1 )
....Activate
....return
..endif
endif
end gral
und schließlich beim Drachen unter Gretings direkt im Result Fenster set gral to 1 gesetzt und es scheint zu funzen. Muss man eigentlich immer Morrowind starten um sowas auszutesten, oder kann man das umgehen?
|
|
08.07.2003, 20:10 |
|
Hephaistos
Verschollen


Dabei seit: Februar 2003
Geschlecht: 
Herkunft: Wien
Beiträge: 2102
 |
|
Ja, leider. Ärgert mich auch immer, daß man die Scripts nur im Spiel testen kann, aber so ist es nun mal.
__________________
Die Dummheit der Menschen und das Weltall sind unendlich, wobei ich mir beim Weltall noch nicht sicher bin.
Albert Einstein
Wenn die Klügeren nachgeben, regiert Dummheit die Welt.
Marie von Ebner-Eschenbach
|
|
08.07.2003, 20:12 |
|
Parcifal
Crusader
  

Dabei seit: Juni 2002
Geschlecht: 
Herkunft: OB
Beiträge: 397
 |
|
Soooo, Teil zwei folgt nun, ich denke aber das es ähnlich funktioniert. Wie gesagt, der Drache redet nun und die Tür ist zugänglich. Nun kann der Spieler aber ja vorher schon auf den Zauberer treffen, in dessen Turm der Zugang zur Grabkammer ist. Das habe ich soweit mit einem Greating gelößt, und er sagt: "Ich frage mich ob ihr mit dem Drachen gesprochen habt." Soweit so gut. Nun möchte ich aber, daß der Zauberer einen anderen Text spricht NACHDEM ich mit dem Drachen gesprochen habe. Ist das einigermaßen Verständlich erklärt?
|
|
09.07.2003, 11:47 |
|
|