AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wie Items in einem RPG speichern?

Ein Thema von Master_RC · begonnen am 17. Mai 2005 · letzter Beitrag vom 19. 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 Items in einem RPG speichern?

  Alt 17. Mai 2005, 13:50
hi leutz!

Ich bin mal wieder da - heißt gleichzeitig, dass ich ein Problem habe

yo...
Zwecks meines RPG brauch ich ja Items.
Jetzt hab ich mir gedacht, dass ich die während der Laufzeit generieren lasse, damit es eben nicht langweilig wird
Das klappt ja alles...

Nur... wie speichere ich die Items?
Gut... jeder Charakter, den man erstellt, hat einen eigenen Ordner, was heißt, dass ich in diesen jedes Item abspeichern könnte (meinetwegen in nem Unterordner)
Nur wird das dann ziemlich doof, weil man ja dann jedes Item einzeln editieren könnte...

Wie speichere ich es also ab?

Habt ihr eine Idee?
Also ein Item sieht so aus:
Delphi-Quellcode:
TItem = record
     name: string[255]; // Der Name des Items
     kind: string[255]; // Der Typus des Gegenstandes
     picture: string[255]; // Bild des Gegenstandes
     hands: integer; // Anzahl der benötigten Hände (z.B. für Waffen)
     dmg: integer; // +Schaden, den der Gegenstand gibt
     def: integer; // +Verteidigung, die der Gegenstand gibt
     life,mana: integer; // +max Leben / +max Mana
     strength: integer; // +Stärke
     defense: integer; // +Verteidung (Charakterwert)
     agility: integer; // +Tempo
     wisdom: integer; // +Weisheit
     charisma: integer; // +Charisma
     needstrength: integer; // gebrauchte Stärke zum Anlegen des Gegenstandes
     needdefense: integer; // gebrauchte Verteidigung zum Anlegen des Gegenstandes
     needagility: integer; // gebrauchtes Tempo zum Anlegen des Gegenstandes
     needwisdom: integer; // gebrauchte Weisheit zum Anlegen des Gegenstandes
     needcharisma: integer; // gebrauchtes Charisma zum Anlegen des Gegenstandes
     onlytype: string[255]; // Für charakterspezifische Gegenstände
     special1: string[255]; // evtl. Spezial-Sache des Gegenstandes
     special2: string[255]; // evtl. Spezial-Sache des Gegenstandes
    end;
Könnt ihr mir da ein wenig helfen?
(super wäre es ja mit codierung eine XOR reicht aus! )
Ein Volk ist nur soviel wert, wie es dessen Toten ehrt.
  Mit Zitat antworten Zitat
Fingolfin

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

Re: Wie Items in einem RPG speichern?

  Alt 17. Mai 2005, 14:29
Oha, da ist ja noch was wegen Speichern.

Wie gesagt, Streams oder DBs sind deine Freunde. Bei Streams kannst du u.a. beliebig viele Daten in eine Datei schreiben.

Abgesehen davon, solltest du dir mal etwas über OOP duchlesen und etwas abstrakter rangehen. Anstatt z.B. jeden Attributsmodifikator direkt in deinem Record zu definiern, wäre es vielleicht sinnvoller, eine abstrakte Liste von Attributen zu verwalten. So kannst du dann später auch einfach weitere hinzufügen.

Also stark vereinfacht eher sowas:

Delphi-Quellcode:
TAttribModi = class
private
  FAttrib: TAttrib;
  FModi: Integer;
public
  property Attrib: TAttrib read FAttrib write FAttrib;
  property Modi: Integer read FModi write FModi;
end;

TAttribModiList = class(TObjectList)
public
  Items[ind: Integer]: TAttribModi read GetAttribModi write SetAttribModi;
end;

TItem = class
private
  FName: string;
  FAttribModiList: AttribModiList;
public
  property Name: string read FName write FName;
  property AttribModiList: TAttribModiList read FAttribModiList write FAttribModiList;
end;
Wenn das jetzt alles totales Kauderwelsch sein sollte, suche einfach mal nach OOP-Tutorials. Über kurz oder lang wird dich der Code sonst in den Irrsinn treiben.
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#3

Re: Wie Items in einem RPG speichern?

  Alt 17. Mai 2005, 14:36
Hallo Master_RC,

fuer die Speicherung hat sich bei mir die dpCollection bewaehrt. Du findest sie hier, und wenn du im Forum suchst findest du auch einige Beispiele zur Verwendung. Damit sparst du dir die Laengenbegrenzung von Strings auf ShortString (=255 Zeichen), und du kannst auch Unterobjekte abspeichern.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von Master_RC
Master_RC

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

Re: Wie Items in einem RPG speichern?

  Alt 17. Mai 2005, 15:20
danke an euch beide, nur...

ich weiß immernoch nicht, was nun ein Stream ist...

speichert ein stream auch "verschlüsselt" ab, also wenigstens unleserlich?
wenn ja, könnt ihr mir ein sehr knappen beispiel geben, wie ich es denn dann abspeichere/lade?


PS:
alle Items sind bei mir zur Zeit in einem Array abgespeichert, wie "Items:array of Items"
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
 
#5

Re: Wie Items in einem RPG speichern?

  Alt 17. Mai 2005, 15:25
Zitat von Master_RC:
ich weiß immernoch nicht, was nun ein Stream ist...
  Mit Zitat antworten Zitat
Benutzerbild von Master_RC
Master_RC

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

Re: Wie Items in einem RPG speichern?

  Alt 17. Mai 2005, 15:40
ja, jetz weiß ich es schon :p

nur zurück zum thema, wie speichere ich dann alle items ab?
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
 
#7

Re: Wie Items in einem RPG speichern?

  Alt 17. Mai 2005, 15:48
Zitat von Master_RC:
ja, jetz weiß ich es schon :p

nur zurück zum thema, wie speichere ich dann alle items ab?
Ähm, jedes Item per Streams in eine Datei speichern, wie im Tutorial erklärt wird. Du solltest jedoch eventuell ein wenig Erfahrung mit Arrays (bzw. TList oder TObjectList-Objekten) und For-Schleifen haben
  Mit Zitat antworten Zitat
Benutzerbild von Master_RC
Master_RC

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

Re: Wie Items in einem RPG speichern?

  Alt 17. Mai 2005, 15:53
kannst du mir ein beispiel geben?
büdde...

denn... wie erkenne ich, dass das item, das ich laden will, genau das ist, was ich will?
oder wie lösche ich welche?
Ein Volk ist nur soviel wert, wie es dessen Toten ehrt.
  Mit Zitat antworten Zitat
Fingolfin

Registriert seit: 7. Okt 2003
62 Beiträge
 
#9

Re: Wie Items in einem RPG speichern?

  Alt 17. Mai 2005, 16:31
Das genau ist der Knackpunkt mit der OOP. Wenn du eine irgendwie geartete Liste hast, lädt die alle Items, die sie in dem Stream findet. Du hast dann also alle Daten in der Liste, kannst in ihr löschen, ändern sonstwas. Wenn du fertig bist, speicherst du einfach wieder alle vorhandenen Items ab, die gelöschten sind dann ja nicht mehr vorhanden, werden also auch nicht erneut gespeichert.

Im Tutorial wird das Speichern eigentlich gut erklärt. Sag uns doch lieber, was genau du nicht verstehst.
  Mit Zitat antworten Zitat
Benutzerbild von Master_RC
Master_RC

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

Re: Wie Items in einem RPG speichern?

  Alt 17. Mai 2005, 18:00
k, ich hab gerade von alcaeus ein tuto bekommen, elches ich mir erst durchlese

nochmal dankie an euch, weitere fragen folgen
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:28 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