![]() |
Wie Items in einem RPG speichern?
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:
Könnt ihr mir da ein wenig helfen?
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; (super wäre es ja mit codierung ;) eine XOR reicht aus! :) ) |
Re: Wie Items in einem RPG speichern?
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:
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. ;)
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; |
Re: Wie Items in einem RPG speichern?
Hallo Master_RC,
fuer die Speicherung hat sich bei mir die dpCollection bewaehrt. Du findest sie ![]() Greetz alcaeus |
Re: Wie Items in einem RPG speichern?
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" |
Re: Wie Items in einem RPG speichern?
|
Re: Wie Items in einem RPG speichern?
ja, jetz weiß ich es schon :p
nur zurück zum thema, wie speichere ich dann alle items ab? |
Re: Wie Items in einem RPG speichern?
Zitat:
|
Re: Wie Items in einem RPG speichern?
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? |
Re: Wie Items in einem RPG speichern?
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. |
Re: Wie Items in einem RPG speichern?
k, ich hab gerade von alcaeus ein tuto bekommen, elches ich mir erst durchlese :)
nochmal dankie an euch, weitere fragen folgen ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz