Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
26.10.2006, 18:03
JohnLeDon



Hallo.
Ich habe den auftrag für unseren hl2-mod ein Dialogsystem im Stil von Deus Ex zu coden.

Ich habe zwar coding erfahrung aber keinen blassen schimmer von modding.

Es soll ein system werden, wo man dann aus mehreren antworten auswählen kann.
Kann mir jemand helfen dies zu realisieren?
oder gibt es so etwas schon? -> bitte linkt mich dahin.
ich wäre euch sehr verbunden, wenn ich gleich noch source code hätte dazu.

Was ich mir bis jetzt so vorgestellt habe:

Ein triggerbares entity, welches dann aus einer textdatei die dialogdaten ausliest und anzeigt. Die Textdatei sollte eine rudimentäre skriptsprache haben, um multiple choice antworten mit waffen-spawns (oder besser entity-spawns) zu realisieren.

Entity: env_dialog

name: dlg_1
playdialog: xxx
input: onuser1 etc.

Die text datei sollte dann in etwa so aussehen:
(damit unser dialog scripter nicht mit irgendwelchen zahlen hantieren muss.)

[comment] der dialog von hans meier, in der bar.
[dialog] xxx
[text] hallo, ich bin hans meier, ein npc.
[choice] erzähl mir mehr über dich.
[goto] xx2
[choice] gib mir ne waffe
[spawn] weapon_rpg
[choice] ach lass mich doch in ruhe
[text] na dann, tschüss
[text] warum sprichst du mich überhaupt an?

[dialog] xx2
[text] also ich habe dies und das etc.
etc....

danke für eure hilfe.

--


Dieser Beitrag wurde am 26.10.2006 um 18:18 von JohnLeDon bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
001
26.10.2006, 18:42
Oswhikk



Ich habe das selbe vor, wie du. Zu diesem Thema habe ich allerdings noch nichts gefunden. Ein SP Mod verwendet diese Technik, exat wie du sie Beschrieben hast.
Deine Planung ist schon recht gut, geht aber noch nicht tiefer ins detail, was erstmal auch gut ist.

Mein Vorschlag wäre:
- Eigne dir Wissen über das Erstellen eines Entity an (Logial, Brush, Model).
- Eigne dir Wissen über VGUI an. Das Programmieren und Stylen.
- Eigne dir Wissen über Tastenbelegungen und abfrage an.
- Eigne dir ein tieferes Wissen über die SourceEngine an.

Wenn du dies getan hast, können wir uns in Verbindung setzen (icq, Skype,..) um gemeinsam dran zu arbeiten. Wie gesagt, ich arbeite auch gerade an so einem Entity. Ich wiederum plane aber die Sprechsequenz vom NPC mit einzufügen.

Gruß Oswhikk

--

zum Seitenanfang zum Seitenende Profil || Suche
002
26.10.2006, 18:55
feigling



Ich denke mal ein sinnvoller Ansatz ist, wenn du den Dateiparser und die wichtigstens Funktionen erstmal ohne Hl schreibst. Du kannst ja dann emulieren, dass der Benutzer XYZ geantwortet hat. Auf diese Weise kannst du das System erstmal ausbauen und testen, ohne jedesmal HL zu starten. Wenn alles soweit funktioniert, kannst du dann anfangen, das ganze System in HL zu implementieren mit Entities .. etc. Das Meiste des Codes, den du für das Stand-Alone Dialogsystem geschrieben hast, wirst du übernehmen können. Jedenfalls würde ich das so machen

--

zum Seitenanfang zum Seitenende Profil || Suche
003
26.10.2006, 19:03
JohnLeDon



@feigling @Oswhikk Ja das sind gute ansätze, danke.

Ich frage mich nur: ist es überhaupt möglich, ein entity bzw. eine waffe zu spawnen? sonst bringt ja das ganze eigentlich nicht viel...naja ok, man kann mehr story einbauen und so zeug aber am schluss käme es dann wohl aufs selbe raus wie wenn man sich einfach durchballert.

bezüglich sprechsequenzen: das wäre ja dann noch der über-hammer....können wir bestimmt auch brauchen.

--------
[playsound] sndfile_001xyz.wav

hrhrhr :)

[edit]
@Oswhikk:weisst du denn noch den namen dieses SP mods?

--


Dieser Beitrag wurde am 26.10.2006 um 19:12 von JohnLeDon bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
004
27.10.2006, 09:57
Oswhikk



mhhh zur Zeit leider nicht. Es ist auf jeden fall ein MOD, der in der ModDatabase enthalten ist. Ich bin zur Zeit auf der Arbeit, werde aber heute Abend noch mal nach schauen.

@feigling: Deine Idee ist auch net schlecht. Das Dummy-Gerüst könnte man vielleicht vorher in eigenem prog testen. Dies scheint mir aber zu einfach zu sein, als das man dies anschließend auf die Source Engine Portieren könnte.

@John.eDon: Nach reichlicher Überlegung finde ich es passender, das man die Dialoge im Hammer eingibt. Denn Dort kann man anschließend mit dem Input/Output System noch weitere Aktionen festlegen, wie z.B. die Waffe spawnen zu lassen, die Sprachsequenz zu starten, etc.

--

zum Seitenanfang zum Seitenende Profil || Suche
005
27.10.2006, 12:53
feigling



Du sollst ja auch nicht nur das Grundgerüst bauen, sondern alles komplett. Dann baust du noch Funktionen wie

blah = user_seletected_sentence(ctx, 3. Satz von oben)

for(i = 0; blah->text_num; i++)
printf("%s\n", text[i]);

oder für HL dann so was in der art.

for(i = 0; blah->text_num; i++)
display_text_on_screen(x, y + i*5, "%s\n", text[i]);

Damit kannst du erstmal in deinem StandAlone Programm gut testen und später brauchst du auch nur genau diese Funktionen aufrufen, wenn du das in HL implementierst. Heißt also, du hast am Ende vielleicht 10 Funktionen, die du von HL aufrufen lässt und den Rest macht dein System von ganz alleine (wie Antworten bereitstellen .. etc etc).

--

zum Seitenanfang zum Seitenende Profil || Suche
006
27.10.2006, 13:55
theDon



Zitat:
Oswhikk postete
@John.eDon: Nach reichlicher Überlegung finde ich es passender, das man die Dialoge im Hammer eingibt. Denn Dort kann man anschließend mit dem Input/Output System noch weitere Aktionen festlegen, wie z.B. die Waffe spawnen zu lassen, die Sprachsequenz zu starten, etc.
Ganz schlechte Idee, damit verbaut man sich schonmal saemtliche i18n-Moeglichkeiten, zudem muss man fuer jeden Tippfehler die Map neu kompilieren.

--

\o tanz den naziprau! o/

And more than ever, I hope to never fall,
Where enough is not the same it was before

zum Seitenanfang zum Seitenende Profil || Suche
007
27.10.2006, 14:24
DefCon



Und wenn man die Dialogzeilen dann extra in einer Textdatei speichert und diese nur auslesen lässt?

--

DefCon ist großartig, denn...

zum Seitenanfang zum Seitenende Profil || Suche
008
27.10.2006, 15:02
theDon



Zitat:
DefCon postete
Und wenn man die Dialogzeilen dann extra in einer Textdatei speichert und diese nur auslesen lässt?
Das war ja der urspruengliche Plan, der deutliche Vorteile gegenueber der Dialog-ueber-Hammer-Architektur hat.

--

\o tanz den naziprau! o/

And more than ever, I hope to never fall,
Where enough is not the same it was before

zum Seitenanfang zum Seitenende Profil || Suche
009
28.10.2006, 14:33
Oswhikk



Zitat:
theDon postete
Zitat:
Oswhikk postete
@John.eDon: Nach reichlicher Überlegung finde ich es passender, das man die Dialoge im Hammer eingibt. Denn Dort kann man anschließend mit dem Input/Output System noch weitere Aktionen festlegen, wie z.B. die Waffe spawnen zu lassen, die Sprachsequenz zu starten, etc.
Ganz schlechte Idee, damit verbaut man sich schonmal saemtliche i18n-Moeglichkeiten, zudem muss man fuer jeden Tippfehler die Map neu kompilieren.
Stimmt auch wieder *selbst gegen kopf hau*
So wird das mit der Mehrsprachigkeit auch nix....

--


Dieser Beitrag wurde am 28.10.2006 um 14:34 von Oswhikk bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
010
28.10.2006, 18:41
JohnLeDon



naja ich hab mal so einen inifile loader geschrieben, der kann sowas auslesen:

text="bla"
num=234

a=getnum("num");
b=gettext("text");

das problem an dem teil ist nur, dass erstens (NOCH) die nummer als text speichert, für jeden text neuen speicher reserviert (auch wenns die selbe variable ist) UND

es nur jeweils das erste nimmt...
text="bla1"
text="bla2"

nimmt also maximal und immer noch nur "bla1"

naja ich bau heut mal dran weiter...

--

zum Seitenanfang zum Seitenende Profil || Suche
011
10.11.2006, 15:05
JohnLeDon



So hier ist nun ein funktionierendes Dialogsystem im DOS fenster.
ich wäre doch sehr froh, wenn jemand einen link auf ein vgui- und entity-coding
tutorial posten könnte....

http://dashandelsimperium.de/Code/env_dialog.zip

--


Dieser Beitrag wurde am 10.11.2006 um 15:05 von JohnLeDon bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
012
10.11.2006, 15:11
hausi



http://developer.valvesoftware.com/wiki/Category:VGUI und http://developer.valvesoftware.com/wiki/Category:Programming. Aber das hättest du auch selber finden können.

--

zum Seitenanfang zum Seitenende Profil || Suche
013
11.11.2006, 13:50
JohnLeDon



ja das hab ich gesucht, nur ist mir der name nicht recht eingefallen...

--

zum Seitenanfang zum Seitenende Profil || Suche