Einzelnen Beitrag anzeigen

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, 13: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