Save file/pl: Difference between revisions
Created page with "* Liczba w ASCII zakończona spacją (0x20) - długość wpisu * Ciąg tekstowy zakończony nullem - klucz pary klucz-wartość * Ciąg tekstowy zakończony nullem - pierwsza z pary wartości, ciąg tekstowy * Liczba w ASCII bez zakończenia - druga z pary wartości, liczba całkowita. Ta liczba jest odczytywana z pozostałych bajtów we wpisie." |
No edit summary |
||
Line 1: | Line 1: | ||
<languages /> | <languages /> | ||
'''Plik zapisu''' to plik gry, który zawiera aktualny stan gry. Gra tworzy lub aktualizuje plik zapisu po tym, jak gracz wejdzie w interakcję z [[ | '''Plik zapisu''' to plik gry, który zawiera aktualny stan gry. Gra tworzy lub aktualizuje plik zapisu po tym, jak gracz wejdzie w interakcję z [[Save Point|Punktem Zapisu]]. ''Treasure Adventure Game'' może obsłużyć 3 osobne pliki zapisu ("game_save_1.dat", "game_save_2.dat", and "game_save_3.dat"), które są przechowywane w podfolderze "save_data" w folderze gry. Jeśli chcesz, możesz zamieniać lub modyfikować te pliki aby załadować inne pliki zapisu (nawet podczas gdy gra jest uruchomiona). | ||
Plik zapisu przechowuje różne informacje o grze. Można je podzielić na: | Plik zapisu przechowuje różne informacje o grze. Można je podzielić na: | ||
* [[Wartości globalne]] | * [[Global values|Wartości globalne]] | ||
* [[nieodnawialne | * [[non-renewable collectables|nieodnawialne przedmioty]], które mogą być: | ||
** [[ | ** [[Treasure Chests|Skrzyniami Skarbów]] | ||
** [[Wykopywalne Monety]] | ** [[Dig-Up Coins|Wykopywalne Monety]] | ||
** [[Znajdźki]] | ** [[Collectables|Znajdźki]] | ||
** [[Monety]] | ** [[Coins|Monety]] | ||
* inne zapisywane wartości (na przykład, "[[save point frame]]" i "[[greenhouse plant]]") | * inne zapisywane wartości (na przykład, "[[save point frame]]" i "[[greenhouse plant]]") | ||
Latest revision as of 21:11, 21 July 2023
Plik zapisu to plik gry, który zawiera aktualny stan gry. Gra tworzy lub aktualizuje plik zapisu po tym, jak gracz wejdzie w interakcję z Punktem Zapisu. Treasure Adventure Game może obsłużyć 3 osobne pliki zapisu ("game_save_1.dat", "game_save_2.dat", and "game_save_3.dat"), które są przechowywane w podfolderze "save_data" w folderze gry. Jeśli chcesz, możesz zamieniać lub modyfikować te pliki aby załadować inne pliki zapisu (nawet podczas gdy gra jest uruchomiona).
Plik zapisu przechowuje różne informacje o grze. Można je podzielić na:
- Wartości globalne
- nieodnawialne przedmioty, które mogą być:
- inne zapisywane wartości (na przykład, "save point frame" i "greenhouse plant")
Format pliku zapisu
Pliki zapisu to pliki binarne, które nie powinny być otwierane edytorem tekstu takim jak Notatnik. Zamiast tego, powinno używać się edytora heksadecymalnego, bądź dedykowanego narzędzia do edytowania plików zapisu TAG.
Format jest zasadniczo słownikiem, czyli listą par klucz-wartość. Klucze to ciągi tekstowe, a wartość to para składająca się z ciągu tekstowego i liczby całkowitej. Wpisy są położone jeden za drugim, a każdy wpis ma następującą strukturę:
- Liczba w ASCII zakończona spacją (0x20) - długość wpisu
- Ciąg tekstowy zakończony nullem - klucz pary klucz-wartość
- Ciąg tekstowy zakończony nullem - pierwsza z pary wartości, ciąg tekstowy
- Liczba w ASCII bez zakończenia - druga z pary wartości, liczba całkowita. Ta liczba jest odczytywana z pozostałych bajtów we wpisie.
Cały wpis zajmuje długość + długość_ascii + 3, gdzie długość jest wartością długości (zapisaną na początku wpisu), a długość_ascii jest długością wartości długość, kiedy jest ona przedstawiona jako tekst ASCII. + 3 pochodzi z dwóch bajtów null na końcach ciągów tekstowych i spacji jako zakończenia (0x20).
Przykład
Oto fragment przykładowego pliku zapisu:
34 33 20 63 68 65 73 74 20 32 30 20 63 6F 69 6E 43 chest 20 coin 73 31 39 37 37 31 30 32 00 43 68 65 73 74 20 32 s1977102.Chest 2 30 20 43 6F 69 6E 73 31 39 37 37 31 30 32 00 31 0 Coins1977102.1 34 35 20 63 68 65 73 74 20 32 30 20 63 6F 69 6E 45 chest 20 coin 73 32 30 32 33 30 31 35 30 00 43 68 65 73 74 20 s20230150.Chest
Po lewej stronie znajdują się bajty w systemie heksadecymalnym, po prawej stronie znajduje się przedstawienie tych bajtów jako tekst; bajty null są pokazane jako kropki (.)
Aby odczytać wartości z pliku, należy:
- Odczytać długość wpisu - w tym przypadku jest to 43.
- Odczytać klucz wpisu, dopóki nie napotka się bajtu null - w tym przypadku: chest 20coins1977102
- Odczytać tesktową wartość, dopóki nie napotka się bajtu null - w tym przypadku Chest 20coins1977102
- Odczytać następne x bajtów, gdzie x = długość_wpisu - (długość_klucza + długość_wartości_tekstowej). długość_klucza i długość_wartości_tekstowej to długości poprzednich ciągów tekstowych, wyłączając bajt null. Ten ciąg tekstowy zawiera wartość liczbową całkowitą w formie ASCII. W tym przypadku, x = 43 - (21 + 21) = 1, więc należy odczytać 1 znak. Ten znak to "1" więc wartość liczbowa wynosi 1.
- Powtórzyć proces od kroku 1 dopóki nie osiągniemy końca pliku
Więc, pierwszy wpis można przedstawić jako
Klucz | Wartość tekstowa | Wartość liczbowa całkowita |
---|---|---|
chest 20 coins1977102 | Chest 20 coins1977102 | 1 |
Przeznaczenie wartości tekstowej jest aktualnie nieznane, i wygląda na to, że jeśli wartość tekstowa jest obecna, klucz jest zawsze wartością tekstową, ale zapisaną małymi literami.