Aby dodać wpis do dziennika Geralta należy wykonać kilka czynności, które wyjaśnię poniżej. Mój wpis będzie zawierał informacje o miejscu jakim jest karczma.
1. Na początku dodajemy plik journal.2da do modułu (znajduje się on w folderze _2da00 po rozpakowaniu UnBIFem)
2. Następnie otwieramy journal.2da i dodajemy wiersz ze swoim wpisem w moim przypadku wyglądało to tak:
Teraz wyjaśnie znaczenia poszczególnych nagłówków w pliku journal.2da:
Picture - tutaj umieszczamy obrazki jakie maja być wyświetlone przy przeglądaniu wpisów w dzienniku. Wszystkie pliki muszą być zapisane w formacie *.dds - DirectDraw Surface (Jak otwierać i edytować pliki *.dds znajdziecie tutaj link). Gotowe obrazy oraz tekstury można znaleźć w folderze _textures00(po rozpakowaniu UnBifem). Nazwy wszystkich obrazów, które były umieszczane przy wpisach w grze zaczynają się od jp_p_(jest to skrót od journalpicture_place_) jest to ważne gdyż w folderze znajduje sie ok. 9 tysięcy obrazów i może to znacznie ułatwić wyszukiwanie. Obrazek karczmy jest nazwany jp_p_innout, jego nazwę wpisałem w wierszu ,,Picture”. Category - tutaj określamy do jakiej kategorii zostanie dodany wpis w dzienniku Geralta. Kategorie jakie możemy użyć:
- Beastiary – wpis zostanie dodany do kategorii "Bestariusz"
- Character - wpis zostanie dodany do kategorii "Postacie"
- Girlfriend - wpis zostanie dodany do postaci po zdobyciu karty seksu
- Tutorial – wpis zostanie dodany do kategorii "Samouczki"
- Info – wpis zostanie dodany do kategorii "Glosariusz"
- Place – wpis zostanie dodany do kategorii "Miejsca"
- Recipe – wpis zostanie dodany do kategorii "Recepty"
- Aether, rebis, vitriol, quebrith itp. – każdy składnik alchemiczny spotykany w grze ma osobną kategorię. Wymieniłem tylko kilka z nich ale w każdym bądź razie wpisy będą dodawane do kategorii "Składniki".
W pliku journal.2da możemy spotkać jeszcze kilka innych kategorii, które są wykorzystywane do szerszych zastosowań i nie zostaną omówione w tym tutorialu.
EntryId – jest to identyfikator pliku, dzięki któremu dodamy odpowiedni wpis do odpowiedniego zagadnienia.
CategoryOverride - tutaj możemy przypisać dwa atrybuty boss lub character.
BigPicture – tutaj możemy wpisać tylko jedną wartość: "1". Wpisujemy ją gdy obrazek dołączony do wpisu ma mieć większy rozmiar. W grze użyto dużych obrazkach przy wpisach z kategorii "Place" oraz przy niektórych z kategorii "Info" oraz "Tutorial".
SexPicture – tutaj możemy do wpisu dodać kartę seksu. Oczywiście karty te dodajemy jedynie do postaci płci żeńskiej, chyba że ktoś chce stworzyć "nietypowy mod".
AlchemyRecipe – jeśli nasz wpis do dziennika jest receptą, wpisujemy tutaj to samo co w EntryId.
3. Następnie piszemy skrypt (.nss) który pobierze informacje z powyższej bazy danych. Mój skrypt wpisu o karczmie wyglądał następująco:
void main() { AddJournalEntry("Place","gospoda/basic"); }
Jak widać wyżej skrypt pobiera informacje jedynie z nagłówku ,,Category” oraz ,,EntryId” Plik zapisałem pod nazwą j_gospoda.nss
4. W kolejnym kroku dodajemy konwersację (plik .dlg) z treścią wpisu. Każdy wpis składa się z tytułu oraz treści. Treść jest oddzielona od tytułu podwójną pionową linią ,,||”. Mój wpis wyglądał następująco:
Gospoda||W gospodzie możesz odpocząć, napić się mocniejszych trunków, powalczyć na pięści lub zagrać z kimś w kości.
Jeżeli wpis dotyczy postaci zapisujemy go jako character.dlg, jeżeli miejsca to place.dlg, tzn. wpis musi mieć tą samą nazwę, co kategoria, jakiej dany wpis dotyczy.
Następnie w sekcji ,,JournalId” wpisujemy to samo co w pliku .2da w sekcji EntryId, w moim przypadku: gospoda/basic
5. Mój wpis o karczmie dodałem do konwersacji karczmarza (Zostanie dodany do dziennika gry rozpoczniesz rozmowę z oberżystą). Bardziej szczegółowo wygląda to tak. Najpierw otwieramy konwersację oberżysty. Przeszedłem do linijki w, której karczmarz mówi tekst ,,Czego ci trzeba?” i w sekcji ActionScript wpisałem j_gospoda (nazwa skryptu, który stworzyłem w kroku 3). Wszystko widoczne na screenie poniżej:
6. Wszystko zapisujemy, odpalamy grę i powinniśmy po rozmowie z oberżystą mieć wpis w dzienniku. Wszystko powiino wyglądać jak na screenie poniżej:
Kliknij powyższy obrazek, żeby zobaczyć w pełnym rozmiarze.