Crystals-DSA-Foren
Item-Format - Druckversion

+- Crystals-DSA-Foren (https://www.crystals-dsa-foren.de)
+-- Forum: Allgemeines zur Nordlandtrilogie DOS (https://www.crystals-dsa-foren.de/forumdisplay.php?fid=20)
+--- Forum: Technische Werkstatt (https://www.crystals-dsa-foren.de/forumdisplay.php?fid=34)
+--- Thema: Item-Format (/showthread.php?tid=5063)



Item-Format - Rabenaas - 10.08.2015

Nach JackyDs Tabelle bzw. der im Wiki müsste im dritten Byte eigentlich der Stapelzähler stehen. Allerdings testet BE mit
Code:
(host_readb(item + 0x02) >> 6) & 1
darauf, ob ein Gegenstand verlierbar ist. Wie passt das denn zusammen?


RE: Item-Format - HenneNWH - 11.08.2015

Das ist folgendermaßen:

Die allgemeine Beschreibung von Gegenständen (z.B. istPersönlicherGegenstand, istWaffe, istRüstung, istMagisch, istStapelbar, Bild-ID, etc.)
befinden sich in der Datei ITEMS.DAT, aus welcher das Spiel sich auch diese Informationen besorgt.

Die von dir erwähnten Tabellen beziehen sich aber auf die Inventarplätze, die ein anderes Format besitzen weil sie auch andere Informationen speichern
(z.B. die Anzahl der Gegenstände, kaputt, leer, etc).

Alle Funktionen in (v302de.h) die mit "item_" beginnen greifen auf die Daten der ITEMS.DAT, alle Funktionen die mit "ks_" beginnen greifen auf das Iventar zu.
(ks steht für Knapsack/Rucksack).


RE: Item-Format - Rabenaas - 11.08.2015

Verstehe, danke. Und die item_id (bzw. Item-code bei JackyD) ist dann der gemeinsame Schlüssel der beiden Tabellen? Und steckt da eine tiefere Bedeutung in in den IDs, oder kann man einfach eine nicht vergebene Nummer für seine Zwecke verwenden?


RE: Item-Format - HenneNWH - 13.08.2015

Eine tiefere Bedeutung gibt es nicht. Bis SCHICK geht es von (0 = leere Hände, bis 253 = 20 Kletterhaken).
Du solltest mal sehen (in der HEX-Liste) was die größten Werte bei SCHWEIF/RIVA sind und dir einen "privaten Zahlenbereich definieren".
Für für den privaten Zahlenbereich ist vielleicht alles was mit 0x4000-0x8000 geeignet.
Die ID sind immer die ersten zwei Byte im Little Endian Format, z.B. Armreif (gold) 9B01 => ID ist 0x019b.

Hab gerade gesehen, dass es bei den IDs zwischen den Spielen auch unterschiede gibt z.B. 0x00eb = Empfehlungsschreiben/ Astenilschwert.