PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Brauche Hilfe bei Questerstellung...



Lagerhaus_Jonny
14.04.2006, 18:09
Hi, ich habe ziemlich 0 Ahnung, wie man nen Quest macht.
Der Quest an sich sollte nicht so herrausfordernd sein, für jemanden, der sich damit auskennt. Man soll ein Journal finden, und mit dem lesen einen Quest bekommen, wie üblich. Dann soll man irgendwo in einer Höhle einen bestimmtes Object suchen und einmal mit dem Schwert draufhauen, worauf sich wieder ein Questlog öffnen sollte in dem dann sowas steht wie "ich schlug mit meinem Schwert auf bla..bla..bla woraufhin das Monster verschwand". Ja und das Monster auch nicht zu vergessen: es sollte unsterblich sein, bis der Spieler eben auf dieses eine Objekt schlägt. Dann sollte es verschwinden/sterben.
Wie mache ich sowas ?
Hat dazu mal jemand ne Anleitung ?

[Für diesen Quest habe ich extra ein 18 Einträge langes Journal geschrieben ^^ das hat mich jetzt mehrere Stunden gekostet (natürlich auf englisch)]

imported_Lakos
14.04.2006, 19:37
Hi, ich habe ziemlich 0 Ahnung, wie man nen Quest macht.
Der Quest an sich sollte nicht so herrausfordernd sein, für jemanden, der sich damit auskennt. Man soll ein Journal finden, und mit dem lesen einen Quest bekommen, wie üblich. Dann soll man irgendwo in einer Höhle einen bestimmtes Object suchen und einmal mit dem Schwert draufhauen, worauf sich wieder ein Questlog öffnen sollte in dem dann sowas steht wie "ich schlug mit meinem Schwert auf bla..bla..bla woraufhin das Monster verschwand". Ja und das Monster auch nicht zu vergessen: es sollte unsterblich sein, bis der Spieler eben auf dieses eine Objekt schlägt. Dann sollte es verschwinden/sterben.
Wie mache ich sowas ?
Hat dazu mal jemand ne Anleitung ?

[Für diesen Quest habe ich extra ein 18 Einträge langes Journal geschrieben ^^ das hat mich jetzt mehrere Stunden gekostet (natürlich auf englisch)]

Sagen wir mal so: Ich weiß in etwa, was zu tun ist, allerdings wäre es verdammt schwierig, dir das zu erklären.

Fangen wir mal so an: Was von deinem Quest kannsts du alles machen?

Lagerhaus_Jonny
14.04.2006, 19:41
Garnix xD
Ich kann nur die Journaleinträge schreiben, die man für die verschiedenen Queststages erhalten soll. Das wars dann aber auch wirklich schon. Ohne irgendeine genauere, praxisbezogene Intruduktion, wird das nix.
Dein Script Tut habe ich mir schon durchgelesen. Ist aber sehr verwirrend und weil es da auch um nen ganz anderen Quest geht, half mir das ungefähr garnichts bis noch viel, viel weniger. ^^
:\

imported_Lakos
14.04.2006, 19:49
Garnix xD
Ich kann nur die Journaleinträge schreiben, die man für die verschiedenen Queststages erhalten soll. Das wars dann aber auch wirklich schon. Ohne irgendeine genauere, praxisbezogene Intruduktion, wird das nix.
Dein Script Tut habe ich mir schon durchgelesen. Ist aber sehr verwirrend und weil es da auch um nen ganz anderen Quest geht, half mir das ungefähr garnichts bis noch viel, viel weniger. ^^
:\

Ich denke einfach mal, dass dir so ziemlich ALLE Scriptbefehle fehlen, hab ich recht?
Hier ist eine Liste davon:
http://cs.elderscrolls.com/constwiki/index.php/Category:Functions

Lagerhaus_Jonny
14.04.2006, 19:58
Ja nicht nur das. Ich weiß garnicht, was alles in das Script muss und in welcher Reihenfolge und wie das alles so überhaupt funktioniert. Ich kann im Questmenü doch irgendwelche "Conditions" festlegen... muss ich das auch machen ?
Ich habe echt 0 plan... da bringt mich die Liste leider auch nicht viel weiter.. :(
Habe auch schon versucht, mir von anderen Quests was abzugucken, aber daraus wurde ich auch nicht schlau.

*hilflos*

[edit]
Also ich glaube der erste Abschnitt des Quests würde mir schon helfen. Aber ich habe keinen Plan, wie man ein Journalfenster erzeugt, sobald man einen bestimmten Brief liest. Muss ich das mit einem Script machen oder kann ich den Brief einfach als Condition für die erste Stage vermittels "GetIsUsedItem" -> BriefXY = 1 setzen ?
Wie gesagt, keinen Plan.
Für X³ kann ich dir einfachere Scripts schreiben, aber nicht für Morrowind/Oblivion.

Lagerhaus_Jonny
15.04.2006, 15:24
*hochschieb*

Also kann/will mir keiner helfen ?
Lakos scheint nicht sonderlich viel Muse dazu zu haben, kann ich ihm natürlich nicht übel nehmen.
Newbies zu helfen ist anstrengend.
Any volunteers ?

imported_Lakos
15.04.2006, 15:30
*hochschieb*

Also kann/will mir keiner helfen ?
Lakos scheint nicht sonderlich viel Muse dazu zu haben, kann ich ihm natürlich nicht übel nehmen.
Newbies zu helfen ist anstrengend.
Any volunteers ?

Sagen wir mal so: Ich hatte gestern einiges um die Ohren und heute auch.

Erstell am besten erstmal die Items, die du für die Quest neu machen musst (Quest-relevante Items immer neu machen). Dann überlege dir, was sie tun. Wenn sie einen Stage aktivieren (für Referenzen schaue bitte im Tut nach), dann musst du sie mit einem Script belegen, dass ausgeführt wird, sobald man sie aufnimmt bzw. sobald sie im Inventar landen. Verstanden soweit?

Lagerhaus_Jonny
15.04.2006, 15:37
Gegenstände machen ist kein Problem.
Mit einem Skript belegen ist auch kein Problem.
Das wird es nur, wenn das Script auch funktionieren soll. :rolleyes:
Ich kann einfach kein Script schreiben. Ich habe es gestern versucht aber es kam nur Müll dabei heraus. Ich brauche eine praxisbezogene Referenz, also eine, die mir z.B. schonmal die erste Stage vormacht.
Andernfalls habe ich da nur nen paar Befehle "[...]and I don't know what the hell they are talking about."

imported_Lakos
15.04.2006, 15:42
Gegenstände machen ist kein Problem.
Mit einem Skript belegen ist auch kein Problem.
Das wird es nur, wenn das Script auch funktionieren soll. :rolleyes:
Ich kann einfach kein Script schreiben. Ich habe es gestern versucht aber es kam nur Müll dabei heraus. Ich brauche eine praxisbezogene Referenz, also eine, die mir z.B. schonmal die erste Stage vormacht.
Andernfalls habe ich da nur nen paar Befehle "[...]and I don't know what the hell they are talking about."

Hm. Ok, hier ist das Script, das du auf den Brief legen musst (Hierbei heißt die Quest einfach nur Quest):



scn questscriptbrief

Begin OnAdd player
SetStage quest 20
End


Das wars auch schon.

Lagerhaus_Jonny
15.04.2006, 17:31
OnAdd... das bedeutet doch dann, dass der Quest erst aktiv wird, wenn man die Schrifftrolle in das Inventar aufnimmt. Der Quest soll aber aktiv werden, wenn die Rolle gelesen wird. Was ist der Befehl dafür ? GetIsUsed ?

imported_Lakos
15.04.2006, 17:32
OnAdd... das bedeutet doch dann, dass der Quest erst aktiv wird, wenn man die Schrifftrolle in das Inventar aufnimmt. Der Quest soll aber aktiv werden, wenn die Rolle gelesen wird. Was ist der Befehl dafür ? GetIsUsed ?

Ich schätze mal:

Begin OnActivate

Lagerhaus_Jonny
15.04.2006, 17:34
Hm, ok.
Aber jetzt habe ich noch ne andere Frage.
In dem Quest werden ja mehrere Items involviert sein. Einmal das Journal, dann 2 NPCs [sollen den Spieler angreifen+Journal Update: "bla bla griffen mich sofort an"] und dann ein Baum oder sowas. Muss ich jetzt 3 oder gar mehr verschiedene Scripte schreiben oder wie funktioniert das ?
Oder ein komplettes für alles ?
Ich habe da echt keinen Plan.

[Edit]Achja, übrigends: immer wenn ich versuche eine andere "begin" Sequenz als "Gamemode" zu benutzten, bekomme ich beim speichern des Scriptes eine Debugaufforderung: Script '%Scriptname', Line 3:
Invalid block type for quest script.

Ich kann immer nur "begin Gamemode" benutzen. Was mache ich falsch ?

imported_Lakos
15.04.2006, 18:07
Hm, ok.
Aber jetzt habe ich noch ne andere Frage.
In dem Quest werden ja mehrere Items involviert sein. Einmal das Journal, dann 2 NPCs [sollen den Spieler angreifen+Journal Update: "bla bla griffen mich sofort an"] und dann ein Baum oder sowas. Muss ich jetzt 3 oder gar mehr verschiedene Scripte schreiben oder wie funktioniert das ?
Oder ein komplettes für alles ?
Ich habe da echt keinen Plan.




Es gibt mehrere Actors (schwer zu erklären), die ein Script ausführen können. Du musst dir immer vergegenwärtigen, was das Script machen soll und was du dafür brauchen sollst. Für das Journal war es IMO das klügste, es auf eben diese Journal zu pappen. Und da es ein Item ist, das man sowieso hätte neu erstellen müssen, war es eine perfekte Gelegenheit.

[Edit]Achja, übrigends: immer wenn ich versuche eine andere "begin" Sequenz als "Gamemode" zu benutzten, bekomme ich beim speichern des Scriptes eine Debugaufforderung: Script '%Scriptname', Line 3:
Invalid block type for quest script.

Ich kann immer nur "begin Gamemode" benutzen. Was mache ich falsch ?

Versuch mal das:


Begin OnAdd player
(Script-Text)
End

Lagerhaus_Jonny
15.04.2006, 19:37
Ok, nächste Frage:
wie bewerkstellige ich, dass ich dem Objekt: WorldObjects->Static->Dungeons->Misc->Root03 ein Script zuweisen kann sowie es als Questobject deklarieren kann [letzteres geht schon, nur das mit dem Script nicht] ?

[Edit]Ich habe jetzt die dazugehörige .nif extrahiert und als WorldObjects->Activator eingefügt, das sollte mir alle nötigen Optionen verleihen, denke ich.

imported_Lakos
15.04.2006, 19:51
Ok, nächste Frage:
wie bewerkstellige ich, dass ich dem Objekt: WorldObjects->Static->Dungeons->Misc->Root03 ein Script zuweisen kann sowie es als Questobject deklarieren kann [letzteres geht schon, nur das mit dem Script nicht] ?

Ein Script direkt drauf legen kannst du nicht, allerdings kannst du dem Objekt eine Reference-ID zuweisen, die du dann später in einem anderen Script wieder aufrufst.
Schau am besten hier noch mal nach:
http://cs.elderscrolls.com/constwiki/index.php/Variable_types:_reference_variables

Lagerhaus_Jonny
15.04.2006, 21:45
Hmm, das mit dem .nif extrahieren und es in einen Activator umwandeln hat nicht funktioniert. Der Editor stürzt jedes mal ab, wenn ich versuche dem Teil das Script zuzuweisen. Ist wohl nicht dafür ausgelegt oder so.
Mal schauen, was ich jetzt mache.

[Edit]Hat sich erledigt. Andere Frage: was für einen befehl muss ich benutzten, um ein Item nach dem aufsammeln verschwinden zu lassen ? "disable" ?

[Edit 2]Ich habe gerade festgestellt, dass ich, aus welchen Gründen auch immer, das geschriebene Journal nicht lesen kann.
Was ist da los ? warum kann ich es nicht lesen ? Gibt es vielleicht eine Zeichenbegrenzung ?

Lagerhaus_Jonny
16.04.2006, 10:18
Soo.. also ich habe jetzt eigentlich von dem Quest alles fertig, habe ein Script für jede Stage und die entsprechenden Objecte... und was soll ich sagen ?
Nicht ein einziges funktioniert :\
Das geschriebene Journal kann ich nur lesen, wenn ich es mit dem Konsolenbefehl "activate" benutze, ansonsten passiert nichts, beim aktivieren.
Trotz der Konsole aktivert das Script aber auch nicht den Quest, warum auch immer.
Das einzige was funktioniert hat, war das hinzufügen eines Schlüssels in das Inventar, wenn man den Activator, den ich gestern gebastelt habe, benutzt. Damit bekomme ich auch die Kiste auf, die ich plaziert habe, aber die Scripts... die funktionieren alle nicht :(

imported_Lakos
16.04.2006, 10:22
Postest du mal deine esp-Datei?

Lagerhaus_Jonny
16.04.2006, 20:09
Soo, ich habe jetzt wichtige Änderungen vorgenommen und der Quest funktioniert jetzt.
Nur 2 Probleme habe ich damit noch: die Schriftrolle lässt sich immernoch nicht lesen, oder aufheben und wie ist der Scriptbefehl zum killen einer Kreatur oder eines NPCs ?
Ich meine killen, nicht "disable".

imported_Lakos
16.04.2006, 20:15
Soo, ich habe jetzt wichtige Änderungen vorgenommen und der Quest funktioniert jetzt.
Nur 2 Probleme habe ich damit noch: die Schriftrolle lässt sich immernoch nicht lesen, oder aufheben und wie ist der Scriptbefehl zum killen einer Kreatur oder eines NPCs ?
Ich meine killen, nicht "disable".

kill vielleicht? ;)

Lagerhaus_Jonny
16.04.2006, 20:16
Das habe ich mir ja auch gedacht, aber da will er leider kein Ziel das ich eingebe akzeptieren. Weder die Editor ID noch die Form ID nimmt er an. Sagt mir immer, es wäre ungültig. ??

imported_Lakos
16.04.2006, 20:22
http://cs.elderscrolls.com/constwiki/index.php/Kill

Kill tötet immer den Ausführenden.

Lagerhaus_Jonny
16.04.2006, 20:25
Werden wir ja sehen. ^^ Ich habe jetzt kill '%Actor' eingegeben und er hat nicht gemeckert, sollte also klappen. Bleibt noch das Problem mit der Schriftrolle. Warum kann ich sie nicht aufheben oder lesen ?

imported_Lakos
16.04.2006, 20:26
Werden wir ja sehen. ^^ Ich habe jetzt kill '%Actor' eingegeben und er hat nicht gemeckert, sollte also klappen. Bleibt noch das Problem mit der Schriftrolle. Warum kann ich sie nicht aufheben oder lesen ?

Das blieb auch mir verschlossen. ^^
Am besten du erstellst sie einfach nocheinmal.

Lagerhaus_Jonny
16.04.2006, 21:25
Das hätte auch nix genutzt ^^
Ich habe das Geheimnis lüften können. Dazu schaue man einfach mal den Befehl "onActivate" bei CSWiki nach, wo dann steht:

This block will be run once when the scripted reference is activated.

Note that this will prevent normal activation of the object. To use the object's default activation you must call Activate on it. If you want to do something specific depending on what activated the object, use IsActionRef inside the OnActivate block.

Note that the activator type of object has NO default activation.

lol
[Edit]Alles klar, der Quest funktioniert nun perfekt :D
Dann kann ich mir ja jetzt den nächsten Dungeon vornehmen :)

imported_Lakos
17.04.2006, 08:09
[Edit]Alles klar, der Quest funktioniert nun perfekt :D
Dann kann ich mir ja jetzt den nächsten Dungeon vornehmen :)

Aber dieses mal solltest du das alleine hinkriegen. :p

Lagerhaus_Jonny
17.04.2006, 10:39
Dieses mal, mache ich ja nicht wieder einen Quest daraus ^^
Das war nur mal zur Abwechslung.