FANDOM


Konwersacja, czyli plik .DLG Edytuj

Na początek stworzymy konwersację dla Zygfryda. Tak naprawdę będą to trzy różne konwersacje wyświetlane w zależności od zaistniałej sytuacji. Zygfryd będzie miał zlecenie dla Geralta, czyli gracza, aby ten zabił herszta bandytów. Aby stworzyć plik konwersacji, musimy z menu File wybrać New -> Conversation (.dlg):

Image1115

Otworzy się okno new conversation:

Image1117

Musimy jeszcze wyświetlić okno właściwości (ang. properties). Z menu View wybieramy Utility Windows -> Properties:

Image1119

Z prawej strony ekranu otworzy się Properties:

Image1121


Tworzenie węzłów konwersacji zadaniowej Edytuj

Teraz dodamy pierwszy węzeł (ang. node) rozmowy. W tym celu klikamy lewym, a potem prawym przyciskiem myszki w wiersz new conversation:

Image1123

Jeżeli zapiszemy naszą konwersację, to zamiast nazwy new conversation będzie tam znajdował się wiersz z nazwą pliku, np. zygfryd_rozmowa. Konwersację zapiszemy później. Teraz z menu wybieramy Create Quest Node:

Image1125

W ten sposób zaczniemy tworzyć konwersację zadaniową. W tym miejscu pojawił się pierwszy pusty (ang. empty) węzeł:

Image1127

Pamiętajcie, że w każdej konwersacji (niezależnie czy to jest konwersacja standardowa, zadaniowa czy filmowa), rozmowę zaczyna zawsze druga postać biorąca w niej udział. Nigdy rozmowy nie zaczyna Geralt, czyli gracz. Stąd też węzeł, który właśnie dodaliśmy, będzie wypowiadał Zygfryd. Aby wprowadzić tekst, który ma wypowiedzieć Zygfryd, klikamy dwukrotnie w wiersz EMPTY:

Image1129

Otworzy się okno:

Image1131

Wpisujemy "Witaj Geralt" i naciskamy klawisz ENTER. Pierwszy węzeł dla Zygfryda gotowy:

Image1133

Teraz odpowiedzieć musi Geralt, czyli gracz. W tym celu klikamy lewym, a następnie prawym przyciskiem w węzeł "Witaj Geralt":

Image1135

Z menu wybieramy Create Quest Replay:

Image1137

Pojawił się kolejny pusty węzeł:

Image1139

Zwróćcie uwagę, że ten węzeł jest zaznaczony na niebiesko. Oznacza to, że taki węzeł będzie wypowiadał właśnie Geralt, czyli gracz. Konwersacje odbywają się na przemian – raz mówi jedna postać, następnie druga i tak na przemian. Aby wprowadzić tekst, klikamy dwukrotnie w nowo dodany węzeł. Otworzy się okno, w którym wpisujemy "Witaj Zygfrydzie. Masz dla mnie jakieś zlecenie?", a następnie naciskamy klawisz ENTER:

Image1141

Dodamy jeszcze drugi węzeł dla Geralta. W ten sposób będzie można wybrać wypowiedź. Klikamy lewym, a potem prawym przyciskiem myszki w węzeł "Witaj Geralt":

Image1143

i z menu ponownie wybieramy Create Quest Replay:

Image1145

Dodaliśmy jeszcze jeden pusty węzeł z wypowiedzią dla Geralta:

Image1147

Klikamy dwukrotnie w dodany węzeł i wpisujemy tekst "Bywaj". Potem naciskamy klawisz ENTER:

Image1149

Musimy teraz jeszcze zaznaczyć, że węzeł "Bywaj" jest opcją do wyboru podczas konwersacji zadaniowej tzn. gracz będzie mógł wybrać czy powiedzieć "Witaj Zygfrydzie. Masz dla mnie jakieś zlecenie?" czy też "Bywaj". Klikamy lewym przyciskiem myszki w węzeł "Bywaj":

Image1151

i w oknie właściwości klikamy w prawej kolumnie obok atrybutu Conv Type. Z listy wybieramy Accompanying:

Image1153

Dzięki temu węzeł "Bywaj" jest opcją do wyboru podczas konwersacji zadaniowej, co widać po zmianie ikony obok tego węzła:

Image1155

To, co dotychczas zrobiliśmy, można przedstawić tak:

po rozpoczęciu konwersacji Geralta z Zygfrydem, Zygfryd wypowiada kwestię "Witaj Geralt". Po tej wypowiedzi Geralt, czyli gracz, będzie mógł zapytać Zygfryda, czy ten ma dla niego jakieś zlecenie, wypowiadając kwestię "Witaj Zygfrydzie. Masz dla mnie jakieś zlecenie?" lub po prostu zakończyć konwersację, wypowiadając kwestię "Bywaj".


Teraz dodamy kolejny węzeł dla Zygfryda, tuż po wypowiedzi Geralta "Witaj Zygfrydzie. Masz dla mnie jakieś zlecenie?". W tym celu klikamy lewym, a potem prawym przyciskiem myszki w ten węzeł:

Image1157

i z menu wybieramy Create Quest Entry:

Image1159

Dodaliśmy pusty węzeł dla wypowiedzi Zygfryda:

Image1161

Klikamy w niego dwukrotnie i wpisujemy tekst "Mam. Trzeba zlikwidować herszta bandytów. Ja nie mogę tego zrobić". Po wpisaniu naciskamy klawisz ENTER:

Image1163

Musimy teraz dodać odpowiedź na to, co powiedział Zygfryd. Klikamy ponownie lewym, a potem prawym przyciskiem myszki w węzeł "Mam. Trzeba zlikwidować herszta bandytów. Ja tego nie mogę zrobić.":

Image1165

i z menu wybieramy Create Quest Replay:

Image1167

Kolejny węzeł został dodany:

Image1169

Klikamy w niego dwukrotnie i wpisujemy "Zrobi się". Po wpisaniu tekstu naciskamy klawisz ENTER:

Image1171

Oczywiście Geralt nie musi przyjąć tego zlecenia, więc musimy dodać odpowiedni węzeł z wypowiedzią. W przypadku, gdy Geralt, czyli gracz, nie będzie chciał przyjąć zlecenia od Zygfryda, ma do niego powiedzieć "Bywaj". Jednak taka kwestia już istnieje, więc po co ją dublować? Posłużymy się pewnym trikiem.


Odnośnik do węzła Edytuj


Klikamy lewym, a potem prawym przyciskiem myszki w istniejący już węzeł "Bywaj":

Image1173

i z menu wybieramy Copy:

Image1175

Teraz klikamy lewym, a potem prawym przyciskiem myszki w węzeł "Mam. Trzeba zlikwidować herszta bandytów. Ja tego nie mogę zrobić.":

Image1177

i z menu wybieramy Paste as link:

Image1179

W ten sposób dodaliśmy węzeł, który tak naprawdę jest linkiem do innego węzła:

Image1181

Dzięki takiemu trikowi możemy uniknąć dublowania wpisów. Oczywiście gracz na ekranie będzie widział normalną wypowiedź "Bywaj".


Przestawianie kolejności węzłów Edytuj


Musimy jeszcze węzeł z linkiem przesunąć pod węzeł "Zrobi się". W tym celu klikamy lewym przyciskiem myszki w link do węzła:

Image1183

i trzymając wciśnięty lewy klawisz myszki przesuwamy węzeł na: "Zrobi się". Puszczamy lewy klawisz myszki:

Image1185

W ten oto sposób można przesuwać węzły w inne miejsca. To także bardzo użyteczna funkcja.


To co teraz mamy zrobione można przedstawić tak:

po rozpoczęciu konwersacji Geralta z Zygfrydem, Zygfryd wypowiada kwestię "Witaj Geralt". Po tej wypowiedzi Geralt, czyli gracz, będzie mógł zapytać Zygfryda, czy ten ma dla niego jakieś zlecenie, wypowiadając kwestię "Witaj Zygfrydzie. Masz dla mnie jakieś zlecenie?" lub po prostu zakończyć konwersację, wypowiadając kwestię "Bywaj".


Identyfikator zadania w konwersacji Edytuj

Gdy Geralt powie "Witaj Zygfrydzie. Masz dla mnie jakieś zlecenie?", usłyszy od Zygfryda "Mam. Trzeba zlikwidować herszta bandytów. Ja tego nie mogę zrobić.". W tym momencie gracz będzie mógł zdecydować czy podejmie się zadania, wybierając "Zrobi się." lub odrzucając zlecenie poprzez wybranie "Bywaj". Jak łatwo zauważyć, węzeł "Zrobi się." decyduje o otrzymaniu zadania od Zygfryda, dlatego też temu węzłowi musimy przypisać identyfikator zadania (ang. quest id). Klikamy w węzeł "Zrobi się.":

Image1187

Teraz w oknie właściwości klikamy w prawej kolumnie obok atrybutu Quest Id i wpisujemy zygfryd_zlecenie:

Image1189

Zwróćcie uwagę, że ikona przy węźle "Zrobi się" zmieniła się:

Image1191


I tu ważna informacja. Po węźle zadaniowym, czyli takim, który zawiera identyfikator zadania, następne węzły w danej gałęzi konwersacji nie mogą być już typu Quest. W naszym przypadku tak jest, ponieważ link prowadzi do węzła "Bywaj", a ten jest typu Accompanying.


System flag lokalnych Edytuj

Jeżeli gracz już będzie miał zadanie od Zygfryda, to przygotowana przez nas konwersacja nie zostanie wyświetlona. Musimy stworzyć kolejną konwersację, w której Zygfryd będzie pytał Geralta, czy wykonał już zadanie. Potem będzie jeszcze konwersacja, w której Zygfryd pochwali Geralta za wykonanie zadania.


Skoro będą trzy konwersacje, skąd gra będzie wiedziała, którą ma wyświetlić w danym momencie? O to zadbać musimy my. Wykorzystamy do tego system flag, które zaraz dodamy. Klikamy w węzeł "Witaj Geralt":

Image1193

Teraz w oknie właściwości klikamy w małą żółtą ikonę w prawej kolumnie atrybutu Add Flag w grupie flag After Flags:

Image1195

Otworzy się okno Flags:

Image1197

Klikamy prawym przyciskiem myszki w białym polu okna Flags i z menu wybieramy:

Image1199

Pojawi się kolejne okno, tym razem jest to okno Enter name:

Image1201

W polu Name wpisujemy posiada_zlecenie:

Image1203

i klikamy w przycisk OK. Nasza flaga pojawiła się w oknie Flags:

Image1205

Gdybyśmy chcieli usunąć daną flagę, klikamy w nią prawym przyciskiem myszki i z menu wybieramy Delete Name:

Image1207

Po dodaniu flagi klikamy w przycisk OK w oknie Flags:

Image1209

Dodamy jeszcze flagę herszt_zabity. Flaga ta będzie miała wartość 0 (fałsz), gdy herszt bandytów będzie żył oraz wartość 1 (prawda), gdy Geralt, czyli gracz, zabije herszta bandytów. Jednak ta flaga musi być flagą globalną.


Flagi globalne i pliki .2da Edytuj

Dotychczas tworzyliśmy flagi lokalne tzn. takie, które są widoczne tylko i wyłącznie w konwersacji. Natomiast flagi globalne to takie, które są widoczne w obrębie całej gry. Dzięki temu będzie można je użyć np. przy tworzeniu zadań, o czym zostało napisane w innym rozdziale podręcznika.


Flagi globalne zapisane są w pliku globaldlgflags.2da. Musimy taki plik stworzyć. W tym celu z menu File wybieramy New -> 2DA file (.2da):

Image1211

Otworzy się nowe okno New 2da editor:

Image1213

Pliki .2da to dość proste bazy danych, które zawierają tekst zapisany w dwuwymiarowych tablicach. Pierwszy wiersz pliku .2da jest nagłówkiem, a kolejne wiersze to rekordy. Pierwsza kolumna jest zawsze kluczem rekordu, za pomocą którego baza danych jest adresowana. Plik .2da może składać się z dowolnej liczby kolumn i wierszy. Każdy nowo stworzony plik .2da posiada 2 kolumny i dwa wiersze.


W naszym pliku globaldlgflags.2da, który właśnie tworzymy potrzebujemy tylko jedną kolumnę. Aby usunąć drugą kolumnę, klikamy prawym przyciskiem myszki w któryś z wierszy pliku .2da:

Image1215

i z menu wybieramy Remove Column:

Image1217

Pojawi się okno Removing columns... z zapytaniem czy na pewno chcemy usunąć kolumnę:

Image1219

Klikamy w przycisk Tak, co spowoduje usunięcie kolumny:

Image1221

Gdybyśmy chcieli wstawić nową kolumnę, to klikamy prawym przyciskiem myszki w miejscu, gdzie ta kolumna ma być wstawiona i z menu wybieramy Insert Column:

Image1223

Jeżeli chcemy dodać kolumnę, która ma znaleźć się na końcu, po prostu z menu wybieramy Add Column:

Image1225

W porządku, nasz plik .2da ma już jedną kolumnę. W chwili obecnej potrzebny jest nam tylko jeden wiersz, ale nie możemy żadnego usunąć.


Zauważcie też, że wiersze numerowane są od 0, nie od pierwszego wiersza, lecz od drugiego. Dlaczego? Tak jak już wcześniej zostało napisane, pierwsza kolumna i pierwszy wiersz mogą posłużyć do stworzenia nagłówka. W naszym przypadku jest to niepotrzebne, dlatego klikamy prawym przyciskiem myszki w pierwszy wiersz:

Image1227

i z menu wybieramy ****:

Image1229

W ten sposób zaznaczyliśmy, że nasz plik .2da nie posiada nagłówka kolumny:

Image1231

Teraz dwukrotnie klikamy lewym przyciskiem myszki w drugi wiersz:

Image1233

i wpisujemy herszt_zabity:

Image1235

Po wpisaniu tekstu naciskamy klawisz ENTER. To w zasadzie wszystko. Gdybyśmy w przyszłości chcieli dodawać kolejne wiersze do tego pliku, klikamy prawym przyciskiem myszki w wiersz, w którym chcemy wstawić nowy wiersz i z menu wybieramy Insert Row:

Image1237

Jeżeli chcemy dodać nowy wiersz, który ma znaleźć się na końcu, z menu wybieramy Add Row:

Image1239

Jeżeli nasz plik .2da miałby zawierać nagłówki dla kolumn i wierszy, to przed zapisaniem pliku musimy jeszcze z menu wybrać Fix / Unifix:

Image1241

Dzięki temu pierwsza kolumna i pierwszy wiersz zostaną zamienione w nagłówki. W razie potrzeby modyfikacji pliku, po jego wczytaniu musimy wybrać z menu Fix / Unfix. W innym przypadku nie będzie można dodawać nowych kolumn i wierszy.


Nasz plik .2da nie potrzebuje żadnych nagłówków, więc pozostawiamy go takim, jakim jest. Musimy jeszcze zapisać plik. W tym celu z menu File wybieramy Save As...:

Image1243

Otworzy się standardowe okno systemu Windows służące do zapisywania plików. Pliki .2da zapisane są w folderze \Data\2DA\. Przechodzimy do tego folderu, wpisujemy nazwę globaldlgflags i klikamy w przycisk Zapisz. Proszę zwrócić uwagę, że plik będziemy zapisywać w formacie .2da:

Image1245

Jeżeli widnieje tam inny typ pliku, oznacza to, iż prawdopodobnie chcemy zapisać zawartość innego otwartego okna. Przed zapisaniem pliku upewnijcie się, że aktywnym oknem jest okno new 2da editor. Jeżeli okno pozostanie nieaktywne, pasek tytułu będzie w kolorze szarym:

Image1247

Inny kolor paska niż szary oznacza, że okno to jest aktywne:

Image1249

Gwiazdka widniejąca przed nazwą okna w pasku tytułowym oznacza, że plik nie został zapisany od czasu wprowadzenia ostatniej zmiany. Tak samo jak w przypadku zapisywania szablonów tak i tu zamiast wybierania Save as... z menu File, możemy wybrać Save new 2da editor, co pozwoli zapisać plik bezpośrednio do modułu. Nie róbcie jednak tego w tej chwili, ponieważ w tym podręczniku nie korzystano z tej metody.


Stany flag Edytuj

Wracamy do naszej konwersacji. Klikamy w prawej kolumnie atrybutu Add Flags w grupie flag After Flags i z listy wybieramy posiada_zlecenie:

Image1251

Lista posortowana jest alfabetycznie. W ten sposób dodaliśmy flagę posiada_zlecenie:

Image1253

Flagi mają to do siebie, że posiadają dwa stany – albo flaga jest prawdziwa (ang. true, wartość liczbowa 1) albo fałszywa (ang. false, wartość liczbowa 0). W momencie, gdy Geralt rozpoczyna rozmowę z Zygfrydem, nie ma jeszcze zlecenia od niego, dlatego też musimy ustawić naszą flagę na 0. Aby zmienić ustawienie, klikamy w prawej kolumnie obok flagi posiada_zlecenie i wpisujemy wartość 0:

Image1255

Po wpisaniu wartości naciskamy klawisz ENTER. Jeżeli chcemy usunąć daną flagę z grupy flag After Flags (proszę nie mylić z usuwaniem flag w oknie Flags), klikajmy w prawej kolumnie danej flagi i usuwamy istniejącą wartość:

Image1257

i naciskamy klawisz ENTER. Flaga zostanie automatycznie usunięta z grupy flag After Flags:

Image1259

Jeżeli usunęliście flagę, to dodajcie ją ponownie wybierając z listy i ustawcie jej odpowiednią wartość, czyli 0. Teraz klikamy w węźle "Zrobi się.":

Image1261

W oknie właściwości klikamy w prawej kolumnie obok atrybutu Add Flags w grupie flag After Flags. Z listy wybieramy posiada_zlecenie:

Image1263

Ponieważ flaga automatycznie jest ustawiona na wartość 1 (prawda) nie musimy nic zmieniać:

Image1265

Ponownie klikamy w prawej kolumnie obok atrybutu Add Flags w grupie After Flags i z listy wybieramy herszt_zabity:

Image1267

W ten sposób dodaliśmy flagę herszt_zabity:

Image1269

Jednak wartość flagi herszt_zabity musimy ustawić na 0, ponieważ herszt bandytów nie został jeszcze zabity. Klikamy w prawej kolumnie obok flagi herszt_zabity i wpisujemy wartość 0:

Image1271

Po wpisaniu wartości naciskamy klawisz ENTER. Dzięki zastosowaniu flag gra będzie wiedziała, jaką konwersację ma w danym momencie wyświetlić.


Kolejna konwersacja, którą zaraz dodamy, będzie wyświetlona tylko wtedy, gdy wartość flagi posiada_zlecenie będzie równa 1 (prawda). Wiemy już, że wartość taką flaga ta będzie miała ustawiona dopiero po zaakceptowaniu przez Geralta zadania od Zygfryda, czyli po wybraniu węzła "Zrobi się.".


Ważne uwagi na koniec Edytuj

Na koniec dwie ważne uwagi. Konwersacje zadaniowe posiadają tylko grupę flag After Flags, które będą miały ustawiane wartości po wybraniu danego węzła. Dodatkowo, gdy gracz wybierze węzeł zadaniowy tzn. taki, który zawiera identyfikator zadania (ang. quest id), przy następnej rozmowie konwersacja zawierająca ten węzeł nie zostanie już wyświetlona.

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Więcej z Fandomu

Losowa wiki