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.png

Otworzy się okno new conversation:

Image1117.png

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

Image1119.png

Z prawej strony ekranu otworzy się Properties:

Image1121.png


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.png

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.png

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

Image1127.png

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.png

Otworzy się okno:

Image1131.png

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

Image1133.png

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

Image1135.png

Z menu wybieramy Create Quest Replay:

Image1137.png

Pojawił się kolejny pusty węzeł:

Image1139.png

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.png

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.png

i z menu ponownie wybieramy Create Quest Replay:

Image1145.png

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

Image1147.png

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

Image1149.png

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.png

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

Image1153.png

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

Image1155.png

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.png

i z menu wybieramy Create Quest Entry:

Image1159.png

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

Image1161.png

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

Image1163.png

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.png

i z menu wybieramy Create Quest Replay:

Image1167.png

Kolejny węzeł został dodany:

Image1169.png

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

Image1171.png

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.png

i z menu wybieramy Copy:

Image1175.png

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

Image1177.png

i z menu wybieramy Paste as link:

Image1179.png

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

Image1181.png

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.png

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

Image1185.png

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.png

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

Image1189.png

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

Image1191.png


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.png

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

Image1195.png

Otworzy się okno Flags:

Image1197.png

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

Image1199.png

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

Image1201.png

W polu Name wpisujemy posiada_zlecenie:

Image1203.png

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

Image1205.png

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

Image1207.png

Po dodaniu flagi klikamy w przycisk OK w oknie Flags:

Image1209.png

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.png

Otworzy się nowe okno New 2da editor:

Image1213.png

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.png

i z menu wybieramy Remove Column:

Image1217.png

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

Image1219.png

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

Image1221.png

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.png

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

Image1225.png

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.png

i z menu wybieramy ****:

Image1229.png

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

Image1231.png

Teraz dwukrotnie klikamy lewym przyciskiem myszki w drugi wiersz:

Image1233.png

i wpisujemy herszt_zabity:

Image1235.png

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.png

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

Image1239.png

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.png

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.png

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.png

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.png

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

Image1249.png

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.png

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

Image1253.png

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.png

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.png

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

Image1259.png

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.png

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.png

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

Image1265.png

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

Image1267.png

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

Image1269.png

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.png

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