Construction Set Allgemeine CS-Fragen

Ah, sehr gut :D Vielen herzlichen Dank für deine hilfreichen Tipps :D

EDIT: zu früh gefreut... wenn ich CS Extender aufrufe kommt nur ein schmales Fenster-chen am oberen Bildschirmrand, wo was von Landscape-Radius, Pfadliste, einfrieren und Achsen steht. Also letztlich ein funktionsloser Haufen Buttons und Textfenster o_O

Entweder ich bin zu blöd das zu bedienen oder --- was weiß ich... wäre nett wenn du mir das erklärst XD

mfg
 
Zuletzt bearbeitet:
Da sollte es auch noch ein Tray-Menü-Eintrag (das Menü neben der Uhr geben). Außerdem bin ich mir ziemlich sicher, dass das auch in der Anleitung steht und das diese dem Download beiliegt (oder sollte ich da mal geschlampt haben?).;)

Aber wie bereits erwähnt: Du brauchst ihn nicht unbedingt dafür. So circa 99% der von ihm verrichteten Arbeit kannst Du selbst vornehmen. Die für dich relevanten Einträge in der ini-Datei habe ich sogar genannt.
Das sei nur mal so erwähnt, da es keine Updates mehr geben wird! Sollte also irgendeine Funktion nicht ihren Zweck erfüllen (warum auch immer) wirst Du damit leben müssen.
 
Kopf -> Tisch!!!!!


Wie habe ich es geschafft, den ganzen gestrigen Abend diesen Tray-Menü-Eintrag zu übersehen? Q_Q Ich bin doch wirklich zu blöd ey :'D Danke für den Hinweis, es ist alles am rechten Ort :'D

Die Änderung was die Zeichenbegrenzung betrifft habe ich bereits mit Erfolg vorgenommen. Mich hat der CSExtender an sich interessiert, und ich war ohnehin schon ziemlich entnervt, weil das Modden nicht hinhauen wollte, wie es sollte (auch wegen der Zeichenbegrenzung). So kam wohl das eine zum anderen, sodass ich mich so auf das Fenster oben konzentriert hatte, dass ich kein einziges Mal nach unten geschaut habe.
Wie gesagt, alles am rechten Fleck, du hast nichts verschlampt ^.^

Danke nochmals für deine Hilfe :'D

mfg Malcador
 
Auch ich hab eine Frage, die allerdings eher technischer Natur ist:

Ich versuche nun schon länger mit dem ConstructionSet (unter Windows 8 ) die AI für einen eigenen NPC zu erstellen, doch jedes mal wenn ich mitten in der AI-Bearbeitung bin stürzt das CS ab!
Kennt jemand eventuell eine Lösung?

Vielen Dank im Vorraus!
LeutnantRaptor
 
Zuletzt bearbeitet:
Eventuell hilft OBSE. Allerdings habe ich keine Ahnung, ob da auch direkt Korrekturen für das CS enthalten sind.
In shadeMes Construction Set Extender sind auf jeden Fall einige Korrekturen für das CS enthalten. Ob es dir hilft, müsstest Du allerdings selbst probieren.
 
Von dem Problem habe ich noch nicht gehört, aber es gibt so etwas ähnliches unter Windows 7 im Fenster für Questerstellung. Da kann man das Problem einfach lösen, indem man einen Stecker in den Audioaus- oder -eingang des PCs steckt; ich bin mir nicht mehr sicher, welcher das war. Vielleicht gibt es ja hier eine ähnliche Lösung.
 
Da kann man das Problem einfach lösen, indem man einen Stecker in den Audioaus- oder -eingang des PCs steckt; ich bin mir nicht mehr sicher, welcher das war.
Es war der Eingang. Irgendwie kam das CS nicht damit klar, dass es theoretisch eine Aufnahme-Funktion für die Dialoge bot aber gleichzeitig kein Mikrofon angeschlossen war.
 
Hallo,

Ich möchte gerne erfahren, beginnen Topic Texte welche keine Sätze sind immer mit einem Großbuchstaben?

Bei Morrowind beginnen solche Themen mit Kleinbuchstaben, wen das erste Wort kein Substantiv ist.

In Vanilla Oblivion beginnen alle ausnahmslos mit einem Großbuchstaben. Was ist korrekt?

Ich hoffe jemand kann das beantworten.

Gruß :)
 
Zuletzt bearbeitet:
Das liegt daran, dass Oblivion und Morrowind unterschiedliche Methoden des Dialogssystems verwenden. In Morrowind kann man die Themen direkt im Satz anklicken, daher wird alles, außer Substantiven kleingeschrieben. In Oblivion wählt man die Themen ausschließlich aus der Themenspalte aus, man kann sie nicht im Satz anklicken und so werden sie großgeschrieben. Daher kann man nicht sagen, dass eine Methode "falsch" ist.

Hoffe, mein Beitrag ist einigermaßen verständlich :)

Edit: Kurzes Beispiel, wie das Dialogsystem in Morrowind funktioniert:
Seid Ihr noch immer ein Mitglied der Gilde? Sobald @Trebonius# seine Erlaubnis erteilt, können wir wieder @Fragen# der Gilde @besprechen#.
Alles, was mit @# gekennzeichnet ist, ist ein Topic und kann im Spiel direkt im Satz angeklickt werden. Die Markierung kannst du auch im CS automatisch setzen lassen, indem du bei dem entsprechenden Topic auf den Button "Update HyperLinks" klickst.
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Raubkopiesäbel
Hallo, da nach tagelangem Rumprobieren und Internetrecherche mein selbst erstellter NPC immer noch nicht tut was er soll, hoffe ich hier erfahrene Hilfe zu erlangen.
Ich habe kaum Erfahrung mit dem CS und möchte Folgendes vollbringen:
1. Mein NPC soll ein längeres Selbstgespräch führen (über 150 Zeichen).
2. Danach soll er sich mir zuwenden und mir eine längere Geschichte erzählen (ebenfalls über 150 Zeichen).
Also, es soll kein Auswahlmenü erscheinen. Der NPC soll mir nach seinem Selbstgespräch nur eine längere Info geben.
Was muß ich wo eingeben um dies zu erstellen?
Mein Dank sei Euch gewiss!
 
Erstelle ein Topic für den NPC im Conversation-Tab. In diesem legst Du so viele Infos an, wie eben nötig sind. Jedes einzelnen Info bekommt noch das Flag SayOnce. Nun braucht es nur noch ein kleines Skript, dass das Topic dann aufruft, wenn es benötigt wird.

Hier mal ein Beispiel: Der NPC fängt zu reden an sobald der Spieler in seine Nähe kommt. Es wird nun immer das selbe Topic aufgerufen. Da aber die einzelnen Infos wegen Say Once nur einmal ausgegeben werden, wird immer das nachfolgende genommen. Wichtig dabei ist, im Main-Tab der Quest auch das Flag "Allow Repeated Conversation Topics" anzuhakeln. Der Timer dient dazu die Satzlänge festzustellen. Das funktioniert aber nur dann genau, wenn auch eine Vertonung vorhanden ist. Ansonsten könnte man auch mit direkten Zeitwerten arbeiten.
In diesem Beispiel würde der NPC bei den ersten 3 Infos den Spieler nicht anblicken, erst bei den nächsten 3 tut er es. Wie DarkRuler schon sagte, braucht man dazu nur Say oder SayTo. Wieviele Infos Du brauchst um deinen Text unterzubringen weiß ich ja nicht, musst es eben im Skript anpassen.


Code:
scn PalaverSkript

short Ablauf
short Satz
float Timer

Begin GameMode

    if Ablauf == 0

         if Player.GetDistance < 256   ; sobald Spieler in der Nähe ist, wird die erste Info ausgegeben
            set Ablauf to 1       
            set Timer to Say NPCPalaver 1
         endif
    endif

    if Ablauf == 1
       set Timer to Timer - GetSecondsPassed

            if Timer < 0 && Satz == 5   ; Das Palaver endet hier
               set Ablauf to 2
               Return
            endif

            if Timer < 0 && Satz >= 3   ; der NPC labert mit 3 Infos den Spieler voll
               set Satz to Satz + 1
               set Timer to SayTo Player NPCPalaver 1
            endif

            if Timer < 0 && Satz <= 2    ; der NPC labert 3 Infos in seinen Bart
               set Satz to Satz + 1
               set Timer to Say NPCPalaver 1
            endif
     endif

End
 
Danke für das Script, aber leider kommt bei mir die Fehlermeldung:

Line 11:
Missing parameter ObjectReferenceID

und ich kanns nicht abspeichern.
 
OK, mein Fehler. Muss natürlich so heißen:

if GetDistance Player < 256

Das Skript muss auf den NPC, ansonsten benötigen die Say und SayTo noch die Referenz des NPC
 
Die Zeile 11 habe ich geändert und das Script lässt sich nun ohne Fehlermeldung speichern. Danke :0)
Das Selbstgespräch umfasst 3 Sätze und das Hauptgespräch zum Player 2. Die habe ich bei "Conversation" untereinander geschrieben.
"Allow Repeated Conversation Topics" ist abgehakt, aber er sagt nur den ersten Satz des Topics. Liegt das vielleicht an der fehlenden Vertonung?
Jedenfalls kann ich den NPC dann anklicken und er gibt nur noch GREETING-Standartsätze von sich.
In den letzten Tagen habe ich nichts Anderes von dem gehört...Ich könnt den Typen in den Hintern treten *grrrrr*
Hm...naja, wenigstens sagt er jetzt "einen" meiner Sätze.
 
Was genau heißt, bei Conversation untereinander geschrieben? :)

Damit wir jetzt nicht aneinander vorbei reden. Die Topics sind folgendermaßen aufgebaut. Das Topic ist sozusagen der Behälter, ihm selbst kann keine Sprachausgabe zugewiesen werden. In einem Topic liegt eine oder mehrere Infos als untergeordnetes Element. In einer Info befinden sich die Responses, also das Element was die Sprache ausgibt.
Bei Conversation-Topics ist es aber nicht möglich, einer Info mehrere Responses zuzuweisen. Das geht nur bei den Spieler-Topics. Also gibt es bei Conversations nur eine Response pro Info. Das ist der Grund weshalb man hier 5 Infos braucht.

Ich weiß nicht was Du gemacht hast, aber im CS müsste das bei dir folgendermaßen aussehen:
Ein neues Topic, in welchem sich 5 Infos befinden. Es gibt also nur ein Topic. Jede der 5 Infos hat eine Response mir dem jeweiligen Satz. Bei allen 5 Infos muss auch das Flag Say Once angehakelt sein, sonst würde das Skript die oberste Info 5 Mal wiederholen. Hab das Skript mal angepasst damit es zu deinen 5 Sätzen passt.


Code:
scn PalaverSkript

short Ablauf
short Satz
float Timer

Begin GameMode

    if Ablauf == 0

         if Player.GetDistance Player < 256   ; sobald Spieler in der Nähe ist, wird die erste Info ausgegeben
            set Ablauf to 1       
            set Timer to Say NPCPalaver 1     ; hier wird der erste Satz ausgegeben
         endif
    endif

    if Ablauf == 1
       set Timer to Timer - GetSecondsPassed

            if Timer < 0 && Satz == 4   ; Das Palaver endet hier
               set Ablauf to 2
               Return
            endif

            if Timer < 0 && Satz >= 2   ; hier Satz 4 und 5 in Richtung Spieler
               set Satz to Satz + 1
               set Timer to SayTo Player NPCPalaver 1
            endif

            if Timer < 0 && Satz <= 1    ; hier Satz 2 und 3
               set Satz to Satz + 1
               set Timer to Say NPCPalaver 1
            endif
     endif

End


Was das Greeting des NPC betrifft, das ist natürlich weiterhin vorhanden - hat ja erstmal nichts mit seinen Conversations zu tun. Das birgt aber die Gefahr, dass ein Spieler die Conversation abwürgen kann, sollte er den NPC aktivieren. Das lässt sich natürlich aushebeln. Du könntest das auch mischen, also die ersten drei Sätze wie gehabt als Conversations und die an den Spieler ins Dialogmenü verfrachten.
 
Ich habe es nun mit dem neuen Script abermals versucht: keine Veränderung. Der NPC spricht nur den ersten Satz.
Ich meine schon, dass ich die 5 Infos richtig erstellt habe und dass das Script funktioniert, stelle ich ausser Zweifel. Bestimmt habe ich nen blöden Anfängerfehler gemacht.
Hier mal mein genauer Tathergang: Ich habe im "Quest Data-Tab" folgendes eingegeben: bei EditorID einen neue QuestID-Namen: PalaverQuest. Bei Quest Name: Palaver und jeweils Start Game Enabled sowie Allowed repeated conversation topics abgehakt. Danach habe ich im "Conversation-Tab" bei EditorID die PalaverQuest ausgewählt und im EditorID-Feld daneben eine neue Topic-ID erstellt: NPCPalaver. Nun habe ich im Info-Feld Satz für Satz untereinander geschrieben. Satz 1 in Zeile 1. Satz 2 in Zeile 2 usw...bis Satz 5 in Zeile 5. Jede Info ist bei Say Once abgehakt und für jede Info habe ich unten im Conditions-Feld dieses hier stehen: no, GetIsID, NPC: PalaverXaver (dieser NPC steht fertig erstellt mit deinem Script in einer Kapelle),
== , 1.00, AND. Als Next Speaker war und ist Target ausgewählt.

Das mit dem Dialogmenü würde dazu führen, dass der Spieler den NPC ohne alles abgefragt zu haben wieder verlassen kann. Der NPC muß dem Spieler einen Gegenstand zukommen lassen und das Gespräch lässt diese Übergabe sinnvoll in die Story einfliesen.
 
Dass ein Skript funktioniert, würde ich grundsätzlich erst mal anzweifeln. :D

So wie Du es beschrieben hast, sehe ich jetzt keinen Fehler. Wenn es da die 5 Infos im PalaverTopic gibt, sollten die theoretisch auch nacheinander aufgerufen werden. Die Info mit dem ersten Satz scheint ja zu funktionieren. Nimm mal dieses abgeänderte Skript zum Testen, das gibt jetzt anstelle der Sätze, Messages und Sounds aus. So bekommt man besser mit ob das Skript das macht was es soll. Der Teufel sitzt gern im Detail. :-D


Code:
scn PalaverSkript

short Ablauf
short Satz
float Timer

Begin GameMode

    if Ablauf == 0

         if GetDistance Player Player < 256   ; sobald Spieler in der Nähe ist, wird die erste Info ausgegeben
            set Ablauf to 1       
            ;set Timer to Say NPCPalaver 1     ; hier wird der erste Satz ausgegeben
             set Timer to 7
             Message "Debug: Der erste Satz wird gesprochen!"
             Playsound3d NPCHumanGaspMale
         endif
    endif

    if Ablauf == 1
       set Timer to Timer - GetSecondsPassed

            if Timer < 0 && Satz == 4   ; Das Palaver endet hier
               set Ablauf to 2
               Playsound3d AMBArenaCrowdReactCheer
               Message "Debug: Das Skript ist durchgelaufen!"
               Return
            endif

            if Timer < 0 && Satz >= 2   ; hier Satz 4 und 5 in Richtung Spieler
               set Satz to Satz + 1
               ;set Timer to SayTo Player NPCPalaver 1
                set Timer to 7
                Playsound3d NPCHumanGaspMale
                Message "Debug: Satz 4, oder 5 wird zum Spieler gesagt!"
            endif

            if Timer < 0 && Satz <= 1    ; hier Satz 2 und 3
               set Satz to Satz + 1
               ;set Timer to Say NPCPalaver 1
               set Timer to 7
               Playsound3d NPCHumanGaspMale
               Message "Debug: Satz 2, oder 3 wird gesagt!"
            endif
     endif

End
 
[FONT=&amp]Der Script Editor sagt dazu leider :0(

Line 16:[/FONT]
[FONT=&amp]Item NPCHumanGaspMale not found for parameter Sound.[/FONT]
 
NPCHumanGaspMale ist aber eine vanilla Sound-ID. Die muss bei dir auch drin sein. Schau mal bei Miscellaneous\Sound, alles was dort an ID´s vorhanden ist, findet auch der Script-Compiler. Hast Du vielleicht versucht das Skript abzuspeichern, ohne zuvor eine esp/esm zu laden?