AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Wie in einem RPG Gespräche für ein NPC speichern/festlegen?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie in einem RPG Gespräche für ein NPC speichern/festlegen?

Ein Thema von Master_RC · begonnen am 17. Mai 2005 · letzter Beitrag vom 18. Mai 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Master_RC
Master_RC

Registriert seit: 18. Jan 2005
459 Beiträge
 
Delphi 7 Enterprise
 
#1

Wie in einem RPG Gespräche für ein NPC speichern/festlegen?

  Alt 17. Mai 2005, 14:49
hi leutz!

Ich möchte euch fragen, ob ihr eine Idee zu meinem Problem habt:

Ich mach gerade ein RPG und da müssen die NPCs natürlich reden

Zuerst einmal die Funktion, durch die ich eine Textnachricht anzeige:

Delphi-Quellcode:
function Textmessage(Headline,Text:string;Picture:string=''):boolean;
begin
 if Headline = 'then Headline := 'FeHlEr:';
 if Text = 'then Text := '+++ EMPTY +++';
 if Picture <> 'then begin
  if FileExists(Picture) then begin
  end else Picture := '';
 end;
Headline := ReplaceString(Headline, '%playername%', character.name);
unit9.mHeadline := Headline;
Text := ReplaceString(Text, '%playername%', character.name);
unit9.mText := Text;
unit9.mPicture := Picture;
form9.ShowModal;
result := true;
end;
Mmmh... also "Headline" ist die Überschrift, die in der Textnachricht angezeigt werden soll und "Text" natürlich der Text

Gut...
bis jetzt habe ich es so gemacht, dass jeder NPC einen Namen für sein Gespräch hat.
Die ganzen Gespräche sind alsp derzeit in meiner .exe mit drinnen.

Wenn ich also den Gesprächsnamen "galakk1" gegeben habe, so sucht Delphi per "if Talkname = '' then ..." in der .dpr-Datei nach diesem Gespräch und führt eben die "Textmessage"-Funktionen aus.
Hier ein kleiner Überblick der "Gesprächsfunktion":

Delphi-Quellcode:
procedure NPCTalking(Talkname,NPCName,NPCPic:String);
begin
 if Talkname = 'galakk1then begin
  Textmessage('%playername%'+':','Na da sieh doch einer her! %playername%',NPCPic);
  Textmessage(NPCName+':','ES KLAPPT!!!!!!',NPCPic);
 end;
end;
Tja...
Jetzt das Problem:
Das Spiel ist damit ein wenig "doof" zum Updaten, da ich ja immer die .exe mitliefern muss bei einem Patch...
Jetzt hab ich mir also gedacht, die Gespräche in eine .DLL zu packen.

Jetzt kommt wieder ein Problem:
Wie? Also... wie schreibe ich es in die .DLL und wie les ich es aus? Array? String zum Zerteilen? etc...
Ein String zum Zerteilen ist natürlich einfach, doch...
Ich brauch ja für jedes Gespräch einmal die "Überschrift", dann den "Text" und dann den String zum Pfad des "Charakterbildes"...

habt ihr eine Lösung für mich?
Die Frage quält mich schon seit Tagen

[edit=alcaeus]Code-Tags durch Delphi-Tags ersetzt. Mfg, alcaeus[/edit]
Ein Volk ist nur soviel wert, wie es dessen Toten ehrt.
  Mit Zitat antworten Zitat
Fingolfin

Registriert seit: 8. Okt 2003
62 Beiträge
 
#2

Re: Wie in einem RPG Gespräche für ein NPC speichern/festleg

  Alt 17. Mai 2005, 15:13
Hallo. Mit einem RPG hast du dir ja eine Menge vorgenommen.

Daten, wie die Namen deiner NPCs und deren Dialoge lagert man ab besten aus. Sowas in den Quellcode zu schreiben, wird dich über kurz oder lang wahnsinnig machen. Da hilft auch keine Dll.

Suche doch mal nach Streams und Speicherung von Daten im Allgemeinen. Da wirst du eine Menge im Board finden und Tutorials gibt's zuhauf. Denkbar wäre natürlich noch eine Datenbank, um solche Informationen abzulegen.
  Mit Zitat antworten Zitat
Benutzerbild von Master_RC
Master_RC

Registriert seit: 18. Jan 2005
459 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Wie in einem RPG Gespräche für ein NPC speichern/festleg

  Alt 17. Mai 2005, 15:16
Was sind eigentlich diese Streams?

und warum sollte eine DLL nicht reichen?
immerhin kann die ja auch mal größer sein

oder ich mach für jeden NPC eine eigene DLL
Ein Volk ist nur soviel wert, wie es dessen Toten ehrt.
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#4

Re: Wie in einem RPG Gespräche für ein NPC speichern/festleg

  Alt 17. Mai 2005, 15:35
Zitat von Master_RC:
Was sind eigentlich diese Streams?
--><--


Zitat von Master_RC:
und warum sollte eine DLL nicht reichen?
immerhin kann die ja auch mal größer sein
Das steht nirgendwo, dass sie nicht reicht. Nur es ist nicht hilfreich, eine zu benutzen. Da kann man das auch gleich im Quellcode machen


Zitat von Master_RC:
oder ich mach für jeden NPC eine eigene DLL
Ich hoffe, du wirst dann nicht sehr viele NPCs haben
  Mit Zitat antworten Zitat
Benutzerbild von Master_RC
Master_RC

Registriert seit: 18. Jan 2005
459 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Wie in einem RPG Gespräche für ein NPC speichern/festleg

  Alt 17. Mai 2005, 16:25
das letztere war ja nur ein schwerz ^^

naja, welche datenbank könnt ihr mir denn empfehlen? ich hab immerhin D7Pers.....

und das mit den streams muss ich mir noch genauer anschauen...

PS:
kennt ihr eine MySQL-Verbindung für D7Pers? wenn ja, dann sagen
Ein Volk ist nur soviel wert, wie es dessen Toten ehrt.
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#6

Re: Wie in einem RPG Gespräche für ein NPC speichern/festleg

  Alt 17. Mai 2005, 16:26
MySQL für Delphi
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#7

Re: Wie in einem RPG Gespräche für ein NPC speichern/festleg

  Alt 17. Mai 2005, 16:33
Ich denka mal alle NPC´s haben in etwa die gleichen Eigenschaften. Dann kannst du also eine KLasse benutzen und die verschiedenen NPC´s sind dann die verschiedenen Instanzen. Die Frage ist ja nun, wie man die Daten der einzelnen NPC´s speichert. ICh würde es wahrscheinlich mit einer Ini-Datei versuchen. Als Section den NPC-Name und dann die entsprechenden eigenschaften.

Ist nur eine Idee.
MfG
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#8

Re: Wie in einem RPG Gespräche für ein NPC speichern/festleg

  Alt 17. Mai 2005, 16:36
Zitat von freak4fun:
Ich denka mal alle NPC´s haben in etwa die gleichen Eigenschaften. Dann kannst du also eine KLasse benutzen und die verschiedenen NPC´s sind dann die verschiedenen Instanzen. Die Frage ist ja nun, wie man die Daten der einzelnen NPC´s speichert. ICh würde es wahrscheinlich mit einer Ini-Datei versuchen. Als Section den NPC-Name und dann die entsprechenden eigenschaften.

Ist nur eine Idee.
MfG
freak
Inis sind unpraktisch, weil man dann ja jederzeit die NPC-Eigenschaften ändern könnte. Dann doch lieber Datenbanken
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#9

Re: Wie in einem RPG Gespräche für ein NPC speichern/festleg

  Alt 17. Mai 2005, 16:39
Da hast du allerdings recht. Ich weiß ja nicht wie professionel das Spiel wird. Zum üben dürfte es allemal reichen.

MfG
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Benutzerbild von Master_RC
Master_RC

Registriert seit: 18. Jan 2005
459 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Wie in einem RPG Gespräche für ein NPC speichern/festleg

  Alt 17. Mai 2005, 16:40
hab ich mir auch schon überlegt, nur...

wie lese ich eben dann die einzelnen texte aus?!
außerdem sind die wieder net sicher vor "hackern", enn man das bei inis so bezeichnen kann

@malo: wo find eich eine TDataSource oder so?
ich brauch ja auch die ganzen komponenten dazu

PS:
naja... so professionell iss es auch net
abba es sollte wenigstens *etwas* professionell sein
Ein Volk ist nur soviel wert, wie es dessen Toten ehrt.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz