Construction Set Der Dialog-Thread

Dark

Ehrbarer Bürger
Da des öfteren Fragen betüglich Dialoge auftauchen, mach ich mal einen Sammelthread auf.😉

Und habe gleich 2 Fragen:
1. Wie mache ich es, das sobald ich einen bestimmten Raum betrete, mich ein bestimmter npc, mit einen bestimmten Greeting anspricht?

2. Wie entferne ich alle Greetings ohne sie zu Löschen. Den es ist nen bischen blöod, wenn das Greeting einen andere Stimme hat, als das gesprochende.:lol:

Hoffe jemand kann mir helfen.
 
Hi
Dass mit dem ansprechen, musst du vieleicht die Conditions von dem jenigen NPC
bearbeiten??
Ich kenne mich dabei nicht so aus

Dann hätte ich Fragen:
Wenn ich ein Dialog bearbeite und einem NPC zuweise, kann ich den Dialog auch mehreren zuweisen oder einer ganze Stadt ohne viel Aufwand??

MfG
bauer
 
Sorry, da kann ich dir leider auch nicht helfen.
Schau doch mal bei einem NPC in Oblivion, der so was macht.

MfG
bauer
 
Hi Dark,

für deine 1. Frage würde ich einen Script nehmen und auf den NPC packen:

Code:
scn [Scriptname]

short var

Begin GameMode

If player.getincell [CellID] && var == 0
sayto player [Greeting]
set var to 1
Endif

Die Variable soll lediglich dazu dienen, damit der NPC dich nicht immer anspricht.
 
Hi Dark,

für deine 1. Frage würde ich einen Script nehmen und auf den NPC packen:

Code:
scn [Scriptname]

short var

Begin GameMode

If player.getincell [CellID] && var == 0
sayto player [Greeting]
set var to 1
Endif

Die Variable soll lediglich dazu dienen, damit der NPC dich nicht immer anspricht.

Irgentwie klappt das nicht. Der NPC bleibt immer an der stelle stehn, und ich muss ihn ansprechen.🙁. Kann es sein, dass er das schon vorher labert? Denn immer wenn ich ihn nanspreche, ist das Thema grau unterlegt.
 
Ich habe noch mal im CS bei nem NPC's nachgeguckt und ich glaube, das müsste mit dem Package "Find" gehen.
Ich denke, so eines müsstest du erstellen mit der Condition "GetInCell" und "run on target" und im tab target den player eingeben.
Ich hoffe, es hilft.^^
 
  • Like
Reaktionen: Dark
dieser script müsste für deine erste frage der richtige sein:

PHP:
scn NPCScript
Begin GameMode
if GetDistance player < 70
NpcRef.startConversation player, Greeting
end

du musst halt NpcRef mit dem Namen von dem NPC vertauschen also ersetzen.
 
Zuletzt bearbeitet:
dieser script müsste für deine erste frage der richtige sein:

PHP:
scn NPCScript
Begin GameMode
if GetDistance player < 70
NpcRef.startConversation player, Greeting
end

du musst halt NpcRef mit dem Namen von dem NPC vertauschen also ersetzen.

Werds mal ausprobieren.😉
 
Ich hätte da ne Frage: Topic-GREETING:
Ich habe mehreren Leuten mehrere Dialoge zugesetzt aber sie sagen immer nur den ersten in der Liste, es sollte in Zufallsreihenfolge kommen.

Topic-Sandrun
In dem Topic sagen sie gar nichts obwohl es doch als Button erscheinen sollte:huh:
 
@ bauer
Hi,
Zu deiner 1. Frage: Wenn du willst, dass per Zufall eines der verschiedenen Dinge gesagt wird, dann musst du glaube ich nur "OR" aktivieren, das rechts unten bei den Conditions ist.

Zu deiner 2. Frage: Wenn der Button nicht da ist, denke ich, ist das einzige Problem, dass du vieleicht vergessen hast beim Greeting den "Result Script" einzutippen.
AddTopic Topic-Sandrun

Mfg Gildur
 
  • Like
Reaktionen: bauer
Ok, wenn Or nicht geht, würde ich es mit einer prozentualen Chance machen (Habe ich erst letztens gesehen, wie so was geht xD):

1. Ich würde eine Global Variable erstellen (was ich sehr gerne mache^^) mit dem Namen "ans" (kannst natürlchi auch eine andere nehmen😀)
2. ich würde diesen Result Script auf jede Antwort, die der NPC beim Topic zufällig geben soll, packen:

Code:
set ans to 1 + 0.05 * getrandompercent  ;je nachdem, wie viele Antworten es gibt, musst du die 5 ersetzen

Und bei den Conditions der Antworten musst du dann noch folgendes festlegen:
bei der ersten Antwort: GetGlobalValue ans == 1
bei der zweiten Antwort: GetGlobalValue ans == 2

Und so weiter. Bei jeder Antwort immer neue Zahlen.

Edit: Ach ja, wenn du die Global Variable ans erstellst, muss ihr Wert 1 sein. So gibt der NPC, wenn du ihn das erste mal ansprichst, die erste Antwort, und danach immer zufällige.
Ganz vergessen 😳
 
Zuletzt bearbeitet:
  • Like
Reaktionen: bauer
??? Habe ich jetzt alles falsch verstanden?
sprechen wir beide von einem NPC, der verschiedene Antworten von sich geben soll? :huh:
Oder mehrere NPCs?
 
ich bin ein dialog-noob und hab gleich ganz viele fragen:
1. wie macht man neue topics? man kann nicht recktsklicken und "new" machen!
2. wie ordnet man texten die passenden sound-files zu?
3. wie kann man einstellen dass leute einem was sagen und dann das gespraech beendet ist wenn man nicht in einer bestimmten fraktion ist.
4. gleich wie oben nur wenn man in einer bestimmten fraktion ist die verfeindet ist!
 
Hi .:Kadir:.,

zu deiner 1. Frage: Du gehst im Tab Topic auf die Topicliste und klickst rechtsklick. Dann gehst du auf "AddTopic". Wenn du das getan hast, ist da ja eine sehr lange Liste aller Topics, die es gibt. Dort klickst du wieder rechtsklick und gehst auf "New", dann die ID eingeben und fertig^^
Zu deiner 2. Frage: Ich weiß leider nicht die Antwort^^
Zu deiner 3. Frage:
3.0. Wenn ich das richtig verstanden habe, erstellst du am besten zwei verschiedene Antworten im Topic. Die eine kommt, wenn man in der Fraktion ist, und die andere, wenn man eben nicht die Fraktion hat.
3.1. Jetzt musst du bei der Antwort, die du bekommst, wenn du in der Faktion bist, folgende Condition reinsetzen:
GetFactionRank [FactionID] >= 1
3.2. Bei der Antwort, die du bekommst, falls du nicht zur Faction gehörst, musst du folgendes in die Condition eingeben:
GetFactionRank [FactionID] < 1
Anschließend musst du nur noch bei "Goodbye" ein Häckchen setzen, dass sich irgendwo bei dem Button "Compile" befindet. Das bewirkt dann, das der NPC danach das Gespräch beendet.
Zu deiner 4. Frage: Da weiß ich nicht genau, was du meinst xD

Mfg Gildur
 
Zuletzt bearbeitet:
  • Like
Reaktionen: .:Kadir:.