Djinni Wiki PL
Advertisement

Konwersacja standardowa[]

Teraz stworzymy kolejną konwersację dla Zygfryda. Będzie ona wyświetlana w momencie, gdy Geralt, czyli gracz, zaakceptuje zadanie od Zygfryda (konwersacja zadaniowa, którą stworzyliśmy wcześniej), ale jeszcze go nie wykona. Po zabiciu herszta bandytów Geralt będzie musiał poinformować o tym Zygfryda. Do tego wykorzystamy tę samą konwersację. Wyświetlone węzły rozmowy będą uzależnione od wartości flag.


Wracamy do naszej konwersacji. Nie musimy tworzyć nowego pliku. Aby konwersacja zadaniowa za bardzo nam nie przeszkadzała w dalszej pracy, możemy zwinąć gałąź tej konserwacji, klikając w mały znak '-' obok węzła "Witaj Geralt.":

Image1273

Gdybyśmy chcieli teraz rozwinąć taką gałąź, po prostu klikamy w mały znak '+' obok węzła "Witaj Geralt":

Image1275

Aby dodać konwersację standardową klikamy lewym, a potem prawym przyciskiem myszki w węzeł New conversation:

Image1277

i z menu wybieramy Create Dialog Node:

Image1273

W ten sposób dodaliśmy pierwszy pusty węzeł (ang. empty) do konwersacji standardowej:

Image1281


Podobieństwo konwersacji standardowej do filmowej[]

Jeżeli chcielibyśmy stworzyć konwersację filmową, czyli taką, która zostanie użyta w filmie (ang. cutscene) stworzonym na enginie gry Wiedźmin, musimy wybrać z menu Create Cutscene Node.


W zasadzie konwersacja filmowa nie różni się niczym od konwersacji standardowej. Jedyna różnica jest taka, że o ile konwersacje standardowe i zadaniowe mogą znajdować się w jednym pliku, o tyle konwersacja filmowa już nie. Musi być zapisana w oddzielnym pliku. Do pliku z konwersacją filmową nie będzie można już dodać konwersacji standardowej czy zadaniowej. Proszę o tym pamiętać.


Flagi konwersacji standardowej[]

Wracamy do naszej konwersacji standardowej. Skoro węzeł, który dodaliśmy, jest pierwszy, to na pewno będzie go wypowiadał Zygfryd. Klikamy dwukrotnie w ten pusty węzeł i wpisujemy "Geralt czy zlikwidowałeś już herszta bandytów?":

Image1283

Po wpisaniu tekstu naciskamy klawisz ENTER. Teraz musimy zrobić tak, aby konwersacja była wyświetlona tylko wtedy, gdy wartość flagi posiada_zlecenie będzie miała wartość 1 (prawda).


Konwersacje zadaniowe posiadają tylko grupę flag After Flag, co oznacza, że wartości tych flag będą ustawiane po wybraniu danego węzła konwersacji. Konwersacje standardowe także posiadają grupę flag After Flags, ale dodatkowo posiadają grupę flag Required Flags, w których wartości są sprawdzane (a nie ustawiane) przed wyświetleniem danego węzła i dopiero, gdy dana flaga ma wymaganą wartość, taki węzeł jest wyświetlany.


Może najpierw dodajmy sprawdzanie flagi posiada_zlecenie. W tym celu klikamy w prawą kolumną obok atrybutu Add Flag w grupie flag Required Flags i z listy wybieramy posiada_zlecenie:

Image1285

W ten sposób flaga posiada_zlecenie została dodana do grupy flag Required Flags:

Image1287

Aby konwersacja zaczynająca się od węzła "Geralt czy zlikwidowałeś już herszta bandytów?" była wyświetlona, musi posiadać flagę posiada_zlecenie ustawioną na 1. I tak właśnie zrobiliśmy.


Dodawanie nowej flagi[]

Dodamy kolejną flagę. Flaga ta będzie miała wartość 1 (prawda), gdy Geralt, czyli Gracz, zabije herszta bandytów i poinformuje o tym Zygfryda. Aby dodać flagę klikamy w małą żółtą ikonę w prawej kolumnie atrybutu Add Flag w grupie flag Required Flags:

Image1289

Otworzy się znane już okno Flags:

Image1291

Klikamy prawym przyciskiem myszki na białym polu i z menu wybieramy Create Name:

Image1293

W oknie Enter name, które się otworzy, wpisujemy raport_zdany:

Image1295

i klikamy w przycisk OK. W ten sposób mamy już trzy flagi:

Image1297

Ponownie klikamy w prawej kolumnie obok atrybutu Add Flags w grupie flag Required Flags i z listy wybieramy raport_zdany:

Image1299

W ten sposób mamy dwie flagi:

Image1301

Musimy ustawić wartość flagi raport_zdany na 0 (fałsz). W tym celu klikamy w prawej kolumnie obok flagi raport_zdany i wpisujemy 0:

Image1303

Po wpisaniu wartości naciskamy klawisz ENTER. Konwersacja standardowa, którą właśnie tworzymy, będzie wyświetlona dopiero wtedy, gdy flaga posiada_zlecenie będzie miała wartość 1 (prawda, czyli gracz będzie posiadał już zlecenie od Zygfryda), a flaga raport_zdany będzie miała wartość 0 (fałsz, czyli gracz nie zdał jeszcze raportu o zabiciu herszta bandytów).


Kolejne węzły konwersacji[]

Kontynuujemy tworzenie węzłów konwersacji. Teraz dodamy wypowiedź dla Geralta, czyli gracza. Klikamy lewym, a potem prawym przyciskiem myszki w węzeł "Geralt czy zlikwidowałeś już herszta bandytów?":

Image1305

i z menu wybieramy Create Dialog Replay:

Image1307

Dodaliśmy pusty węzeł dla wypowiedzi Geralta, czyli gracza:

Image1301

Klikamy dwukrotnie w tym pustym (ang. empty) węźle i wpisujemy "Nie, jeszcze nie":

Image1311

Po wpisaniu tekstu naciskamy klawisz ENTER. Ten węzeł ma być wyświetlony tylko wtedy, gdy Geralt, czyli gracz, nie zabił jeszcze herszta bandytów. W związku z tym klikamy w prawej kolumnie obok atrybutu Add Flags w grupie flag Required Flags i z listy wybieramy herszt_zabity:

Image1313

W ten sposób dodaliśmy flagę:

Image1315

Musimy zmienić jej wartość na 0 (fałsz), ponieważ chcemy, aby ten węzeł konwersacji był wyświetlany tylko wtedy, gdy herszt bandytów nie został zabity przez Geralta. Klikamy w prawej kolumnie obok flagi hersz_zabity i wpisujemy wartość 0:

Image1317

Po wpisaniu wartości naciskamy klawisz ENTER. Dodamy kolejny węzeł z wypowiedzią dla Geralta. Ponownie klikamy lewym, a potem prawym przyciskiem myszki w węzeł "Geralt czy zlikwidowałeś już herszta bandytów?":

Image1319

Z menu wybieramy Create Dialog Reply:

Image1321

Klikamy dwukrotnie na pustym (ang. empty) węźle, który właśnie dodaliśmy:

Image1323

i wpisujemy "Tak, bydlak już nie żyje":

Image1325

Ten węzeł ma być wyświetlony tylko wtedy, gdy Geralt, czyli gracz, zabije herszta bandytów. W tym celu klikamy w prawej kolumnie obok atrybutu Add Flags w grupie flag Required Flags i z listy wybieramy herszt_zabity:

Image1327

Dzięki temu dodaliśmy flagę herszt_zabity, a ponieważ jej wartość jest automatycznie ustawiona na 1 (prawda), nie musimy nic zmieniać:

Image1329

Teraz dodamy węzeł z wypowiedzią dla Zygfryda na temat wykonanego przez Geralta zadania. Klikamy lewym, a potem prawym przyciskiem myszki w węzeł "Tak, bydlak już nie żyje":

Image1331

i z menu wybieramy Create Dialog Entry:

Image1333

Klikamy dwukrotnie w nowo dodany pusty (ang. empty) węzeł i wpisujemy "Świetna robota Geralt! Oto Twoje 500 orenów":

Image1335

Po wpisaniu tekstu naciskamy klawisz ENTER. Dodatkowo węzeł ten posłuży jako zdanie raportu Zygfrydowi. W tym celu ustawimy wartość flagi raport_zdany na 1 (prawda). Klikamy w prawej kolumnie obok atrybutu Add Flags w grupie flag After Flags i z listy wybieramy raport_zdany:

Image1337

Flaga została dodana. Nie musimy zmieniać jej wartości, ponieważ wynosi ona 1 (prawda), a o to nam chodzi:

Image1339

Na koniec dodamy jeszcze możliwość zakończenia rozmowy z Zygfrydem. Klikamy lewym, a potem prawym przyciskiem myszki w węzeł "Geralt czy zlikwidowałeś już herszta bandytów?":

Image1341

i z menu wybieramy Create Dialog Reply:

Image1343

Klikamy dwukrotnie w nowo dodany pusty (ang. empty) węzeł i wpisujemy "Bywaj":

Image1345

W ten sposób zakończyliśmy drugą konwersację dla Zygfryda. Zrobimy jeszcze trzecią, bardzo prostą. Będzie wyświetlana za każdym razem, gdy Geralt, czyli gracz, porozmawia z Zygfrydem już po zlikwidowaniu herszta bandytów i złożeniu raportu.


Kolejna konwersacja[]

Zwiniemy gałąź drugiej konwersacji, klikając w mały znak '-'obok węzła "Geralt czy zlikwidowałeś już herszta bandytów?":

Image1347

W ten sposób będzie łatwiej dalej tworzyć kolejną konwersację w tym samym pliku:

Image1349

Aby dodać nową konwersację, klikamy lewym, a potem prawym przyciskiem myszki w wiersz New conversation:

Image1351

i z menu wybieramy Create Dialog Node:

Image1353

Dodaliśmy kolejny pusty węzeł z kwestią dla Zygfryda:

Image1355

Klikamy w niego dwukrotnie i wpisujemy Świetna robota Geralt!":

Image1357

Teraz musimy zrobić tak, aby konwersacja została wyświetlona tylko wtedy, gdy flagi herszt_zabity oraz raport_zdany mają wartości równe 1. Aby zmienić ustawienie, klikamy w prawej kolumnie obok atrybutu Add Flags w grupie flag Required Flags i z listy wybieramy herszt_zabity:

Image1359

W ten sposób dodaliśmy flagę herszt_zabity. Nie musimy zmieniać jej wartości, ponieważ jest ona automatycznie ustawiona na 1 (prawda).

Image1361

Dodamy kolejną flagę. Ponownie klikamy w prawej kolumnie obok atrybutu Add Flags w grupie flag Required Flags i z listy wybieramy raport_zdany:

Image1363

Ta flaga również została dodana i tu także nie musimy zmieniać wartości, ponieważ wynosi ona 1 (prawda) a o to nam właśnie chodzi:

Image1365

Dzięki tym flagom konwersacja zostanie wyświetlona w momencie, gdy Geralt, czyli gracz, zabije herszta bandytów i złoży raport Zygfrydowi.


Zmiana standardowej kolejności wygłaszanych kwestii[]

Teraz dodamy kolejny węzeł konwersacji, ale chcemy, aby nadal mówił Zygfryd. Wcześniej napisano, że każda konwersacja odbywa się na przemian, czyli raz mówi jedna postać, potem druga" itd. Można temu zaradzić. Klikamy lewym, a potem prawym przyciskiem myszki w węzeł "Świetna robota Geralt!":

Image1367

i z menu wybieramy Create Continue:

Image1369

W ten sposób dodamy węzeł, który nie będzie wyświetlany podczas konwersacji. Dzięki temu omijamy kolejne wypowiedzi Geralta, czyli gracza:

Image1371

Teraz klikamy lewym, a potem prawym przyciskiem myszki w ten węzeł i z menu wybieramy Create Dialog Entry:

Image1373

Dodaliśmy kolejny pusty (ang. empty) węzeł:

Image1375

Jest to węzeł, który dalej będzie wypowiadał Zygfryd. Klikamy w niego dwukrotnie i wpisujemy "Oby tak dalej!":

Image1377

Po wpisaniu tekstu naciskamy klawisz ENTER. I to wszystko, jeżeli chodzi o tworzenie konwersacji. Konwersacja dla Zygfryda jest gotowa. W całości wygląda tak:

Image1379


Zapisanie pliku[]

Pozostało nam jej zapisanie. W tym celu z menu File wybieramy Save As...

Image1381

Otworzy się standardowe okno systemu Windows służące do zapisywania plików. Konwersacje musimy zapisać w folderze \Dialogues\ Przechodzimy do niego, wpisujemy nazwę zygfryd_rozmowa i klikamy w przycisk Zapisz. Pamiętajcie, że nazwa pliku nie może być dłuższa niż 16 znaków. W innym przypadku D’jinni nie będzie jej widział. Proszę też zwrócić uwagę, że przy zapisywaniu pliku będziemy zapisywać go w formacie .dlg:

Image1383

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

Image1385

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

Image1387

Gwiazdka widniejąca przed nazwą okna w pasku tytułowym oznacza, że plik nie został zapisany od czasu wprowadzenia ostatniej zmiany. Tak jak w przypadku zapisywania szablonów tak i tu zamiast wybierania Save as… z menu File, możemy wybrać Save new conversation, 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.


Praca z węzłami drzewa konwersacji[]

Na koniec wypadałoby wspomnieć o usuwaniu węzłów, o ich zwijaniu i rozwijaniu, przenoszeniu itp. Jak widzicie nasza konwersacja jest wyświetlona w postaci drzewka. Można w nim wyodrębnić trzy główne gałęzie:

Image1389

Kliknięcie lewym, a potem prawym przyciskiem myszki na jakimkolwiek węźle konwersacji i wybranie z menu Collapse All:

Image1391

spowoduje zwinięcie wszystkich gałęzi drzewka:

Image1393

Jeżeli teraz z menu wybierzemy Expand All:

Image1395

wszystkie gałęzie drzewka ponownie zostaną rozwinięte. Kliknijcie teraz lewym, a potem prawym przyciskiem myszki w węzeł „Nie, jeszcze nie” i w menu Move Down:

Image1397

co spowoduje przeniesienie węzła "Nie, jeszcze nie" pod węzeł "Tak, bydlak już nie żyje":

Image1399

Aby ustawić ten węzeł na swoje miejsce, klikamy lewym, a potem prawym przyciskiem myszki w węzeł "Nie, jeszcze nie" i z menu wybieramy Move Up. Węzeł powróci na swoje miejsce.


Jeżeli klikniemy lewym, a potem prawym przyciskiem myszki w jakiś węzeł i z menu wybierzemy Insert File:

Image1401

to otworzy się standardowe okno systemu Windows do wczytywania plików. Dzięki temu możemy do danego węzła podpiąć istniejącą już konwersację. Przypominam, że wszystkie konwersacje zapisywane są w folderze \Data\Dialogues\. Pozostałe polecenia w menu, takie jak Cut, Copy i Pase:

Image1403

służą do wycinania, kopiowania i wklejania węzłów. Polecenie Paste as link służy do tworzenia linków do innych węzłów konwersacji. Na koniec jeszcze o usuwaniu węzłów. Aby usunąć dany węzeł konwersacji klikamy w niego lewym, a potem prawym przyciskiem myszki i z menu wybieramy Remove Entry:

Image1405

Dany węzeł konwersacji zostanie usunięty. Proszę uważać przy usuwaniu węzłów, ponieważ usunięcie głównego węzła gałęzi jak np. "Witaj Geralt":

Image1407

spowoduje usunięcie całej gałęzi:

Image1409

Aby uniknąć omyłkowego usunięcia całej gałęzi konwersacji, przy próbie jej usunięcia pojawi się okno Question:

Image1411

Dopiero kliknięcie w przycisk TAK spowoduje usunięcie danej gałęzi.


To tyle, jeśli chodzi o menu konwersacji. Teraz pozostało nam przypisanie stworzonej konwersacji do Zygfryda.


Przypisywanie konwersacji do obiektów i aktorów[]

Konwersację możemy przypisać do szablonu Zygfryda, ale nie jest to zalecane dla postaci fabularnych, a przecież Zygfryd właśnie taką postacią jest. Jest to spowodowane tym, że postać fabularna w każdej fazie fabularnej może mieć przypisaną inną konwersację. Zygfrydowi przypiszemy konwersację stworzoną do jego systemu odradzania. Musimy otworzyć plik zawierający system odradzania Zygfryda. Posłużymy się eksploratorem zasobów (ang. resources explorer).


Aby otworzyć eksplorator zasobów, z menu View wybieramy Utility Windows -> Resources Explorer. Z lewej strony ekranu otworzy się okno Resources Explorer. Dokładniej eksplorator zasobów został opisany w innym rozdziale podręcznika.


System odradzania Zygfryda zapisaliśmy do folderu \Data\Templates\NPCSpawn\ pod nazwą nasz_zygfryd.npc. Aby otworzyć ten plik, rozwijamy gałąź Templates, klikając w mały znak '+' obok nazwy folderu:

Image1413

Potem rozwijamy kolejną gałąź, tym razem NPCSpawn ponownie klikając w mały znak '+' obok nazwy folderu:

Image1415

Teraz klikamy dwukrotnie w plik nasz_zygfryd.npc:

Image1417

Otworzy się okno nasz_zygfryd.npc zawierające system odradzania Zygfryda:

Image1419

Przypomnę teraz jak przypisać konwersację do systemu odradzania postaci. Klikamy dwukrotnie w polu pod kolumną Dialogs:

Image1421

Otworzy się okno Select:

Image1423

Okno wyświetla listę dialogów. Aby przypisać naszą konwersację musimy rozwinąć gałąź Dialogues klikając w mały znak '+' obok tej gałęzi:

Image1425

i na wyświetlonej liście klikamy dwukrotnie konwersację zygfryd_rozmowa:

Image1427

W ten sposób przypisaliśmy stworzoną przez nas konwersację do systemu odradzania Zygfryda:

Image1429

Pozostaje nam jeszcze zapisanie zaktualizowanej wersji pliku nasz_zygfryd.npc. To, że coś zostało zmienione w pliku i nie zapisane, jest oznaczone w postaci gwiazdki umieszczonej przed nazwą okna nasz_zygfryd.npc:

Image1431

Aby zapisać plik pod tą samą nazwą, czyli nasz_zygfryd.npc, z menu File wybieramy Save nasz_zygfryd.npc:

Image1433

Jeżeli nie ma Save nasz_zygfryd.npc lub widnieje tam inna nazwa pliku oznacza to, że okno nasz_zygfryd.npc nie jest aktywne. Aby je uaktywnić wystarczy kliknąć w nazwę okna nasz_zygfryd.npc i ponownie z menu File wybrać Save nasz_zygfryd.npc.


Pozostałe atrybuty konwersacji[]

W zakończeniu tego podrozdziału zostaną przedstawione pozostałe atrybuty konwersacji. Na początek klikamy w wiersz zygfryd_rozmowa (jeżeli konwersacja nie została jeszcze zapisana, zamiast nazwy pliku wyświetlany jest wiersz new conversation):

Image1435

W oknie właściwości znajdującym się z prawej strony ekranu pojawią się następujące atrybuty:

Image1437


Grupa Conversation Properties[]

  • Enable cine view on start. Atrybut ten jest odpowiedzialny za to, czy przed konwersacją zostanie zwężony ekran i pokażą się czarne ramki. Znaczenie poszczególnych opcji atrybutu:
False – oznacza, że ekran nie zostanie zwężony i czarne ramki nie będą wyświetlone,
True – oznacza, że ekran zostanie zwężony i pojawią się czarne ramki. Ta opcja jest zaleca. Ustawienie tego atrybutu na False może spowodować błędy.
  • Disable cine view on end. Atrybut ten jest odpowiedzialny za to, czy po konwersacji ekran zostanie rozszerzony i czarne ramki znikną. Znaczenie poszczególnych opcji atrybutu:
False – oznacza, że ekran nie zostanie rozszerzony i czarne ramki będą dalej wyświetlone,
True – oznacza, że ekran zostanie rozszerzony, a czarne ramki usunięte. Opcja ta jest zalecana. W innym przypadku mogą pojawić się błędy.
  • Force Interactive Mode.


Grupa Stats for Lang[]

Tak naprawdę nie są to atrybuty, tylko statystyki związane z konwersacją:

  • Words – podaje ilość wyrazów w konwersacji,
  • Chars – podaje ilość znaków w konwersacji,
  • Translated – podaje ile węzłów (ang. node) w konwersacji zostało napisanych w innym języku.

Teraz klikamy w węzeł konwersacji zadaniowej, który wypowie postać inna niż gracz, czyli w naszym wypadku Zygfryd. Klikamy w węzeł "Witaj Geralt":

Image1439

W oknie właściwości pojawią się kolejne atrybuty:

Image1441


Grupa Node Text[]

  • FinalEnglish_Short. Atrybut ten zawiera tekst, który znajduje się w danym węźle konwersacji. My wpisywaliśmy tekst poprzez dwukrotne kliknięcie w węzeł. Oczywiście tekst można wpisywać w atrybucie. Wystarczy kliknąć w prawej kolumnie obok atrybutu FinalEnglish_Short, wpisać tekst i nacisnąć klawisz ENTER. Nazwa atrybutu może być inna np. Polish. Wszystko zależy od tego, jaką wersję językową mamy ustawioną w D’jinni. Więcej na ten temat napisano w innym rozdziale podręcznika.
  • Speaker. Ten atrybut decyduje o tym, która postać będzie wypowiadała dany węzeł konwersacji. Znaczenie poszczególnych opcji atrybutu:
__owner__ – oznacza, że dany węzeł konwersacji będzie wypowiadać inna postać niż Geralt,
__player__ – oznacza, że dany węzeł konwersacji będzie wypowiadać Geralt, czyli gracz.

Oczywiście w konwersacji mogą brać więcej niż dwie postacie, np. w naszej konwersacji mógłby brać udział jeszcze Józek. Ponieważ tak naprawdę tworzymy konwersacje dla Zygfryda i Geralta, Józka musimy dodać, jako dodatkową postać. Klikamy w małą żółtą ikonę w prawej kolumnie obok atrybutu Speaker:

Image1443

Otworzy się okno Speakers:

Image1445

Teraz klikamy prawym przyciskiem myszki w białym polu okna i z menu wybieramy Create Name:

Image1447

Otworzy się kolejne okno, tym razem jest to okno Add Speaker:

Image1449

Kolejną postać do konwersacji można dodać na dwa sposoby – wpisując tag takiej postaci w polu Name , np. nasz_jozek:

Image1451

lub wybierając ją z listy:

Image1453

Na liście znajdują się tylko postacie fabularne, które posiadają tag. Po dodaniu postaci klikamy w przycisk OK w oknie Add Speaker. Postać znajdzie się na liście:

Image1455

Gdybyśmy chcieli ją usunąć, klikamy prawym przyciskiem myszki i z menu wybieramy Delete Name:

Image1457

Na koniec klikamy w przycisk OK w oknie Speakers:

Image1459

Teraz, aby przypisać dany węzeł konwersacji do nowej postaci, klikamy w prawej kolumnie obok atrybutu Speaker i z listy wybieramy nasz_jozek:

Image1461

W ten sposób tworzy się konwersacje, w których udział biorą więcej niż dwie postacie. Jeżeli w konwersacji biorą udział tylko dwie osoby tj. Geralt, czyli gracz, i druga postać, tak jak to jest w naszej konwersacji, w tym atrybucie nie musimy nic zmieniać. W zależności od tego, który węzeł konwersacji tworzymy, atrybut ten automatycznie ma przypisywane postacie na przemian __owner__ oraz __player__.

  • Interlocutor. Ten atrybut decyduje o tym, do której postaci zwraca się postać wypowiadająca dany węzeł konwersacji. Znaczenie poszczególnych opcji atrybutu:
__owner__ – postać zwraca się sama do siebie,
__player__ – postać zwraca się do Geralta, czyli do gracza.

W konwersacjach, gdzie udział biorą tylko dwie postacie, tak jak w naszym przypadku, w atrybucie nie musimy nic zmieniać. Gdyby w konwersacji brały udział więcej niż dwie postacie i zaszła by potrzeba zwrócenia się do innej osoby, trzeba taką postać dodać. Wszystko robi się tak samo jak w atrybucie Speaker.

  • Voice File. Ten atrybut odpowiedzialny jest za plik dźwiękowy z wypowiedzią dla danego węzła konwersacji. Aby taki plik przypisać musimy kliknąć w małą żółtą ikonę w prawej kolumnie obok atrybutu Voice File:

Image1463

Otworzy się standardowe okno systemu Windows służące do wczytywania plików. Wyszukujemy interesujący nasz plik z dźwiękiem i klikamy w przycisk Otwórz. Jeżeli chcemy posłuchać jak brzmi przypisany dźwięk, klikamy w małą niebieską ikonę w prawej kolumnie obok atrybutu Voice File:

Image1465

  • Voiceset tag. Atrybut ten odpowiada za zestaw predefiniowanych dźwięków, które słychać w tle podczas poszczególnych węzłów konwersacji. Dzięki temu podczas konwersacji słychać np. padający deszcz. Wyboru dokonuje się z listy. Aby zmienić ustawienie, musimy kliknąć w prawą kolumnę obok atrybutu Voiceset tag:

Image1467

Kliknięcie w małą niebieską ikonę obok listy wyboru otworzy plik voiceset_tags.2da, który jest bazą danych zawierającą informację na temat predefiniowanych dźwięków.

  • Comment. Atrybut ten zawiera dowolny komentarz. To po prostu pole informacyjne. Możemy w tym miejscu wpisać dowolny tekst.
  • Camera Shot. Atrybut ten odpowiada za ujęcie kamery podczas konwersacji. Do każdego węzła konwersacji możemy inaczej ustawić kamerę. Wyboru dokonuje się z listy. Aby zmienić ustawienie musimy kliknąć w prawej kolumnie obok atrybutu Camera Shot:

Image1469

Znaczenie opcji atrybutu:

Auto – oznacza automatyczne ustawienie kamery, jest to opcja najbardziej zalecana,
Random – oznacza losowe ustawienie kamery,
NoChange – oznacza, że kamera nie jest ustawiana.

Pozostałe opcje atrybutu odpowiadają za ustawienie kamery na różnej pozycji. Proponuję jednak nie ustawiać innej opcji niż Auto chyba, że podczas konwersacji zauważymy, iż kamera znajduje się w dziwnym miejscu. Kliknięcie w małą niebieską ikonę obok listy wyboru otworzy plik dlgcamshots.2da. Jest to baza danych zawierająca ustawienia poszczególnych ujęć kamery.

  • Response Atrybut ten odpowiada za reakcję postaci biorącej udział w konwersacji na postać Geralta, czyli gracza. Dla przykładu w naszej konwersacji moglibyśmy zrobić tak, że Zygfryd zleciłby zadanie Geraltowi, czyli graczowi, dopiero wtedy, gdy ten mu da np. pierścień. Możemy też zrobić tak, że Zygfryd w ogóle nie będzie chciał rozmawiać z Geraltem, bo będzie zajęty. Wszystko ustawiamy za pomocą tego atrybutu. Zawiera on szereg opcji, które wybiera się i zaznacza z listy:

Image1471

Ustawienia dokonujemy przez kliknięcie w mały kwadrat obok nazwy reakcji, którą chcemy zaznaczyć:

Image1473

Ponowne kliknięcie wcześniej zaznaczonej reakcji spowoduje jej odznaczenie. Jeżeli z jakiegoś powodu chcemy ustawić wszystkie reakcje, co nie jest zalecane, po prostu klikamy w mały kwadrat obok gwiazdki:

Image1475

Znaczenie poszczególnych opcji atrybutu:

Default – ustawienie domyślne, postać nie żąda niczego
Gain – postać chce otrzymać cokolwiek,
Gain / Signet – postać chce sygnet,
Gain / Drink – postać chce otrzymać alkohol,
Gain / Bribe – postać chce otrzymać łapówkę,
Gain / Gift – postać chce otrzymać podarunek,
Gain / Fistfight – ostać chce stoczyć pojedynek na pięści,
Reject – postać nie chce rozmawiać,
Reject / Busy – postać nie chce rozmawiać, ponieważ jest zajęta,
Reject / Drink – postać nie chce rozmawiać, ponieważ jest pijana,
Reject / Offend – postać nie chce rozmawiać, ponieważ jest obrażona,
Reject / Sleep – postać nie chce rozmawiać, ponieważ śpi,
Reject / Fistfight – postać nie chce rozmawiać, ponieważ walczy na pięści,
Reject / Gift – postać nie chce rozmawiać, ponieważ nie otrzymała podarunku.
  • Action Script. Atrybut ten odpowiada za skrypt, który jest uruchamiany po zakończeniu danego węzła konwersacji. Aby przypisać skrypt, klikamy w małą żółtą ikonę w prawej kolumnie obok atrybutu Action Script:

Image1477

Otworzy się standardowe okno systemu Windows służące do wczytywania plików. Przechodzimy do folderu \Data\Scripts\ (w tym folderze zapisane są wszystkie pliki ze skryptami), wyszukujemy interesujący nas plik i klikamy w przycisk Otwórz. Więcej na temat skryptów napisano w innym rozdziale podręcznika.

  • Conv Type. Atrybut ten odpowiada za typ konwersacji. W zasadzie jest on ustawiany automatycznie w zależności od tego, czy jest to konwersacja zadaniowa czy standardowa. Czasami może zajść potrzeba zmiany tego atrybutu, np. aby zaznaczyć w konwersacji zadaniowej, że dany węzeł konwersacji jest opcją do wyboru wypowiedzi dla Geralta, czyli gracza. Wyboru dokonuje się z listy. Aby zmienić ustawienie klikamy w prawej kolumnie obok atrybutu Conv Type:

Image1479

Znaczenie poszczególnych opcji atrybutu:

Cutscene – oznacza, że jest to węzeł konwersacji filmowej,
Dialog – oznacza, że jest to węzeł standardowy,
Quest – oznacza, że jest to węzeł zadaniowy,
Accompanying – oznacza, że dany węzeł w konwersacji zadaniowej jest opcją wyboru wypowiedzi dla Geralta, czyli gracza.

Jest jeszcze jedna opcja do wyboru, czyli Gameplay. Jest dostępna tylko wtedy, gdy dany węzeł konwersacji wypowiada Geralt. Więcej na ten temat zostanie wyjaśnione w następnym podrozdziale.

  • JournalId. Atrybut ten zawiera informacje, które mogą pojawić się w dzienniku Geralta, czyli gracza. Może to być np. wpis na temat Zygfryda czy Józka itp. Wyboru dokonuje się z listy. Aby zmienić ustawienie klikamy w prawej kolumnie obok atrybutu JurnalId:

Image1481

Kliknięcie w niebieską ikonę obok listy wyboru otworzy plik jurnal.2da. Jest to baza danych zawierająca informacje na temat wpisów do dziennika gracza.


Grupa Node Emotions[]

Atrybuty w tej grupie odpowiedzialne są za emocje wyrażane przez postaci podczas danego węzła konwersacji. Emocje to po prostu zestaw animacji, która będzie wyświetlana w danym węźle konwersacji.

  • __player__. Ten atrybut odpowiada za emocje dla Geralta, czyli gracza.
  • __owner__. Ten atrybut odpowiada za emocję dla postaci, do której przypisana jest dana konwersacja, czyli w naszym przypadku jest to Zygfryd.

W obu tych atrybutach wyboru dokonuje się z listy. Aby zmienić ustawienie klikamy w prawej kolumnie obok atrybutu __player__ lub __owner__:

Image1483

Znaczenie poszczególnych opcji atrybutu:

puste pole – brak emocji,
afraid – przestraszony,
alarmed – zaniepokojony,
amused – rozbawiony,
amused_kid – żartowniś,
angry – zły,
armed – uzbrojony,
bored – zmęczony,
default – domyślne,
despaired – zrozpaczony,
drunk – pijany,
excited – podekscytowany,
fistfight
flirting_female – zalotna kobieta,
friendly – przyjazny,
hostile – nieprzyjazny,
hostile_female – nieprzyjazna kobieta,
interested – zainteresowany,
lofty – dumny,
pain – cierpiący,
sad – smutny,
shy – nieśmiały,
terrified – przerażony
timid – bojaźliwy,
tired – zmęczony,
witcher – wiedźmin.


Grupa Rotate Towards[]

Atrybuty w tej grupie odpowiedzialne są za sposób ustawienia postaci biorących udział w konwersacji i mówią np. o tym, na kogo dana postać ma patrzeć podczas rozmowy. Jeżeli jest to konwersacja, w której udział biorą tylko dwie postacie, nie musimy nic zmieniać, jeżeli natomiast w konwersacji biorą udział więcej niż dwie postacie, za pomocą tych atrybutów możemy ustawić, kto na kogo ma spoglądać.

  • __player__. Atrybut ten zawiera postać, do której podczas wypowiadania danego węzła konwersacji zwrócony jest gracz,
  • __owner__: Atrybut ten zawiera osobę, w stronę której podczas wypowiadania danego węzła konwersacji zwrócona jest postać, do której przypisana jest dana konwersacja, czyli w naszym przypadku jest to Zygfryd.

Jeżeli w konwersacji biorą udział więcej niż dwie postacie, pozostałe musimy dodać. Jak to zrobić zostało wyjaśnione przy omawianiu atrybutu Speaker.


Grupa After Flags[]

Przeznaczenie grupy After Flags opisano już wcześniej. Za pomocą tej grupy możemy dodawać flagi, które będą miały ustawiane wartości po zakończeniu danego węzła wypowiedzi. Atrybuty węzła konwersacji zadaniowej dla Geralta, czyli gracza, różnią się tylko jednym atrybutem i jedną opcją. Klikamy w węzeł "Witaj Zygfrydzie. Masz dla mnie jakieś zlecenie?":

Image1485

Jeśli przyjrzymy się teraz atrybutom, to zauważymy, że nie ma już atrybutu Response, a jego miejsce zajął atrybut Quest Id:

Image1487

Jak już wcześniej opisano, atrybut ten odpowiada za identyfikator zadania.


Inna różnica w konwersacji zadaniowej dla Geralta jest taka, że mamy dostępną dodatkową opcję w atrybucie Conv Type:

Image1489

Po ustawieniu opcji Gameplay w atrybucie Conv Type pojawią się dodatkowe atrybuty:

Image1491

Szczegółowo zostaną one opisane w następnym podrozdziale, gdzie będziemy tworzyć akcje grania (ang. gameplay).


Teraz klikamy w węzeł konwersacji wypowiadany przez inną postać niż Geralt, czyli gracz, ale tym razem chodzi o konwersację standardową.

Image1493

Tu także nastąpiła tylko jedna zmiana, tzn. doszedł jeden atrybut Condition Script:

Image1495

O ile skrypt przypisany do atrybutu Action Script jest uruchamiany zaraz po zakończeniu danego węzła konwersacji, o tyle skrypt przypisany do atrybutu Condition Script jest uruchamiany przed danym węzłem konwersacji. Dzięki temu przed wyświetleniem danego węzła możemy sprawdzić czy zostały spełnione jakieś dodatkowe warunki (ang. condition).


To wszystko, jeśli chodzi o atrybuty konwersacji.

Advertisement