Forums
Games
Cyberpunk 2077 Thronebreaker: The Witcher Tales GWENT®: The Witcher Card Game The Witcher 3: Wild Hunt The Witcher 2: Assassins of Kings The Witcher The Witcher Adventure Game
Jobs Store Support Log in Register
Forums - CD PROJEKT RED
Menu
Forums - CD PROJEKT RED
  • Najnowsze
  • AKTUALNOŚCI
  • DZIAŁ OGÓLNY
    WIEDŹMIN GRA PRZYGODOWA
  • FABUŁA
    WIEDŹMIN WIEDŹMIN 2 WIEDŹMIN 3 WIEDŹMIŃSKIE OPOWIEŚCI
  • ROZGRYWKA
    WIEDŹMIN WIEDŹMIN 2 WIEDŹMIN 3 MODY (WIEDŹMIN) MODY (WIEDŹMIN 2) MODY (WIEDŹMIN 3)
  • DZIAŁ TECHNICZNY
    WIEDŹMIN WIEDŹMIN 2 (PC) WIEDŹMIN 2 (XBOX) WIEDŹMIN 3 (PC) WIEDŹMIN 3 (PLAYSTATION) WIEDŹMIN 3 (XBOX) WIEDŹMIN 3 (SWITCH)
  • SPOŁECZNOŚĆ
    TWÓRCZOŚĆ FANÓW (ŚWIAT WIEDŹMINA) TWÓRCZOŚĆ FANÓW (ŚWIAT CYBERPUNKA) INNE GRY
  • RED Tracker
    Cyberpunk Seria gier Wiedźmin GWINT
WIEDŹMIN
WIEDŹMIN 2
WIEDŹMIN 3
MODY (WIEDŹMIN)
MODY (WIEDŹMIN 2)
MODY (WIEDŹMIN 3)
Menu

Register

Questy, questy...

+
A

ailinon

Senior user
#1
Jul 26, 2008
Questy, questy...

Może mój mackowaty rozumek nie jest w stanie czegoś pojąć, ale za wielkiego grzyba nie rozumiem sposobu funkcjonowania i relacji między questami a dialogami.W typowym, intuicyjnym schemacie, rozwidlenia dialogów questowych byłyby rozegrane na podstawie jakiegoś warunku - no ale tu są na podstawie questu, który aktualnie jest rozgrywany, i prowadzi do "gwiazdki" w dialogach, czyli linijki opatrzonej jakimś Quest ID. No dobrze, to jeszcze ujdzie.Ale teraz otwieram quest - i tu głupieję. Przykładowo, q6002_iceplains.qst czyli ganianie po Lodowych Pustkowiach. Weźmy etap "GM (3): Nonhumans (7)". W praktyce ma polegać na tym, że Mistrz wygłosi różny dialog, w zależności od ścieżki, jaką podążamy - i odpowiednio do tego zmieni się komentarz w queście. Spodziewałbym się - skoro dialogi mają być sterowane questami (choć to bynajmniej nie jest intuicyjne), że po cichu rozpocznie się jakiś quest (bo spełniony zostanie warunek z journala), wygłoszony zostanie dialog odpowiedni dla tego questu, a na koniec zostanie dany quest zakończony ostatnią linijką dialogu. Tymczasem znajduję subquest, mający dwa warunki STARTOWE: journal ma "hidden:nonhum/good", ORAZ wybraną linię dialogową z nieludziolubnego wątku. No to zaraz - to który warunek startuje ten quest, a który go kończy..? Bo wygląda, jakby warunki startowe i końcowe były tu absurdalnie przemieszane...Mój wewnętrzny purysta, wychowany na diagramach stanów, sieciach Petriego i automatach deterministycznych rwie sobie włosy z głowy :> Czy ktoś może to jakoś objaśnić..?-- Sinus
 
T

Tuszu0x

Forum veteran
#2
Jul 26, 2008
To wygląda tak:Warunek startujący tą fazę zadania to Dialog Line Chosen oraz Hero Has Journal Entry (oczywiście tutaj odpowiednie wartości). Po spełnieniu obydwu warunków ta faza zostaje zakończona i przechodzimy do kolejnej, czyli Experiment killed.Czemu tak jest?Faza questu "q6002_iceplains" pt, "GM (3): Nonhumans (7)" ma kilka faz XOR, czyli albo to, albo to. Tylko jeden z podanych subquestów jest wymagany do skończenia danej fazy zadania.Warunkiem rozpoczęcia jednego subquestu jest odpowiednia linia dialogowa oraz wymagany wpis do dziennika. Nie ma kolejnej fazy w tym podzadaniu, więc zostaje on skończony i przechodzimy do kolejnej fazy zadania.Zachęcam do lekturki o zadaniach na wiki => TUTAJ :)
 
A

ailinon

Senior user
#3
Jul 26, 2008
Oj, Death13, naprawdę wiki przeczytaliśmy od deski do deski, zlitujże się :)Rozumiem w pełni, że fazy xor się wykluczają. Tylko nie rozumiem, tak elementarnie na najniższym poziomie, dlaczego dopuszczony jest tylko jeden dialog, skoro żaden z 3 alternatywnych questów nie jest w danym momencie rozpoczęty. Czy decyduje to, że któremuś z nich brakuje - z jego kilku warunków - już tylko jednego, konwersacyjnego? Czy też pozostałe warunki (ilość zabitych potworów, przedmiotów, wpis w dzienniku) są traktowane jako "długotrwałe" i sprawdzane w odpowiednich momentach, a konwersacje są traktowane jako "jednorazowe" akcje i służą do punktowego "przepchnięcia" akcji questowej, gdy już wszystkie warunki "długotrwałe" zostały spełnione..? Co by nawet tłumaczyło sposób działania, ale nie jest to intuicyjnie przedstawione w Dżinie :> Szczególnie, że niektóre warunki określa się jako "startowe", a niektóre jako "końcowe", tak samo fazy się "kończy" - a kiedy się je "zaczyna"? Intuicyjność.... :)A co do samych subquestów iceplainsowych - to ciężko mówić o "rozpoczęciu" questu, który ma tylko jedną fazę :> To są questy "fire and forget", w zasadzie bardziej zdarzenia, niż questy - szczególnie, że bez podpisów, a więc "ukryte" i służące tylko do spełnienia nadrzędnej fazy. Zresztą od takich się aż roi w większych questach gry i pewnie w naszych też roić się będzie... ;)Na razie wniosek mamy jeden: przestać myśleć w kategoriach "rozpoczynania" questu, bo to może sporo zamieszania narobić. Questy, wedle naszej interpretacji, to nie "zadania do wykonania", a serie "zdarzeń", które mogą wskazywać na następne zdarzenia. Zatem dialog "dobrze babciu, wyczyszczę ci klozet" nie tyle "rozpoczyna zadanie", co powoduje zdarzenie "wykryto wzięcie zadania klozetowego" i wpis w dzienniku. Potem może nastąpić następne, wykryte odpowiednio, zdarzenie "Geralt przeczyścił klozet". Może takie przestawienie się mentalne komuś też się przyda, jeżeli się gubi jako my się zaplątaliśmy.
 
T

Tuszu0x

Forum veteran
#4
Jul 26, 2008
Ailinon said:
Oj, Death13, naprawdę wiki przeczytaliśmy od deski do deski, zlitujże się :)
Click to expand...
Dobra, nie śmiem wątpić. ;)Chciałem pomóc, ale wydaje mi się, że za bardzo to rozkminiacie. Na waszym miejscu zrobiłbym sobie takie pomocnicze mody, w których na zasadzie testów, sprawdziłbym przy konkretnych warunkach, jak zachowują się zadania. Ale to tylko IMO. :)
 
A

ailinon

Senior user
#5
Jul 26, 2008
I tak właśnie czynimy - ale żeby móc na 100% powiedzieć, że tworzenie questów mamy opanowane i nie "kombinujemy w ciemno aż cudem zadziała, a potem nie ruszamy żeby nie popsuć", to właśnie takie detale musimy rozkminić.Ot, jak choćby konkretne spostrzeżenie, czy raczej sprecyzowanie trochę ogólnikowo na wiki wiedzy podanej: dialogi zostają dopuszczone do QuestIDowych 'gwiazdek' wtedy i tylko wtedy, gdy dany QuestID występuje w następnej (żółtej, w podglądzie questu na żywo) fazie questu jako Dialogue Line Spoken, a jeżeli dodatkowo jest odznaczone pole unprogressive, to tylko i wyłącznie wtedy, gdy jest ostatnim brakującym elementem danej fazy i jej wypowiedzenie spowoduje zaliczenie tej fazy.Pięknie obrazuje to przykład, który na sąsiednim forum powstał. Odnoszenie przedmiotu NPCowi, z zabezpieczeniem, by nie móc skłamać:Konwersacja:Q- Masz przedmiot? AC- Może. AC- Umrzyj! Q- Tak. Q- Dziękuję! QID[mamy_przedmiot] - [continue] Q- Nie, nie znalazłem go. Q- No to szukaj! QID[jeszcze_nie] - [continue]Quest:Faza "Znalazłem"Dialogue line: [jeszcze_nie] [V] (niepostępowa)Hero has item(s): przedmiotFaza "Dziękuję!"Dialogue line: [mamy_przedmiot] [ ] (postępowa)Hero has item(s): przedmiotOczywiście, teraz się quest pięknie wywróci na pysk, jeżeli przedmiot pożremy czy wyrzucimy po drugiej fazie - dla zniszczalnych przedmiotów lepiej zatem nie zmieniać fazy po samym tylko znalezieniu, bo quest nie może się cofnąć.Edit - następna sprawa: jak sprawić, by zadanie zostało schrzanione? Są sobie akcje na Failed, fajnie, ale jak do tego doprowadzić, by dana faza została uznana za już niemożliwą do spełnienia, albo niespełnioną w chwili sprawdzenia?
 
D

debren

Senior user
#6
Aug 4, 2008
Ja mam następujące pytanie:przy tworzeniu węzła akceptującego zadanie trzeba podać quest id. Analizując Cenę Neutralności można zauważyć, że identyfikator składa się z kilku części: 1) nazwy2) PQ/PS+numer3) opisu w "ciapach"O co chodzi z tym PQ/PS? Na pewno odnosi się to do konkretnych faz zadania...Czy opis ma jakiś wpływ na działanie questów? Z Ceny Neutralności wynika, że nie...
 
A

ailinon

Senior user
#7
Aug 5, 2008
Identyfikator nadajesz jaki uznasz za sensowne - REDzi przyjęli jakąś konwencję, jednakże masz prawo używać dowolnego ciągu znaków, jaki Ci się spodoba.
 
D

debren

Senior user
#8
Aug 5, 2008
Identyfikator nadajesz jaki uznasz za sensowne - REDzi przyjęli jakąś konwencję, jednakże masz prawo używać dowolnego ciągu znaków, jaki Ci się spodoba.
Click to expand...
Tak myślałem. Zastanawiam się tylko, czy w jakimś miejscu ten identyfikator jest w ogóle wykorzystywany - mam wrażenie, że nie.
 
T

Tuszu0x

Forum veteran
#9
Aug 5, 2008
Identyfikator jest używany w questach, żeby "popchnąć" zadanie dalej. :)
 
A

ailinon

Senior user
#10
Aug 6, 2008
A konkretnie - gra dopuści do dojścia do węzła opisanego danym QuestID tylko i wyłącznie wtedy, gdy dany QuestID jest wpisany w warunku "dialogue line" kończącym bieżącą fazę jakiegoś questu, lub w warunku niepostępowym.
 
A

ailinon

Senior user
#11
Aug 7, 2008
No to kolejne pytanie z serii "czy to ja zwariowałam".O ile questy łatwo poprzez OnPhaseFinished ustawiają różne flagi, wpisy dziennika itd., o tyle dialogi (o ile nie są "questowymi", ale te, jak wszyscy wiemy, są dość niewygodne, gdyż nie można ich swobodnie skryptami czy flagami warunkować) mogą manipulować wyłącznie flagami dialogowymi. Te jednak okazują się prawie kompletnie bezużyteczne przy próbach sterowania questami, gdyż quest nie może warunkować faz na podstawie flag dialogowych czy nawet wyników skryptów, które by te flagi sprawdzały.Wniosek - o ile quest może przy kolejnych fazach w znaczny sposób wpływać na stan gry, o tyle dialogi są skazane albo na "erotomanię gawędziarstwo", czyli flagami dialogowymi pogadali i pogadali i na gadaniu skończyli, albo na posługiwanie się mocno restrykcyjnymi "węzłami zadaniowymi", albo na podczepianie po kilkanaście skryptów do każdego dialogu... (To przecież nie żart - wystarczy jedna bardziej rozbudowana rozmowa, która musi móc się odbyć w dowolnym momencie gry, a porusza kilka wątków tematycznych i na ich podstawie później decyduje o postępach w queście, i już jest grubo ponad dziesięć plików ze skryptami.)Mylę się, czy też jest to jakoś zupełnie niepotrzebnie zaplątane, jakby nie dało się pod węzły rozmów podpiąć takiego samego mechanizmu jak w questach OnPhaseCompleted, z takim samym zestawem możliwych działań? Albo/też w warunkach questów dodać sprawdzanie stanu flag dialogowych..? Będzie coś takiego w Djinnim EE możliwe? A może coś mi zaszkodziło na oczy i nie widzę jakiegoś banalnego triku?Jakby się tak dokładniej przyjrzeć, to wychodzi, że w zasadzie wszelkie warunki się idealnie rozmijają pomiędzy questami a dialogami: questy mogą być uzależnione od faz gry, faz questów, zabitych potworów, posiadanych lub nieposiadanyc przedmiotów, itd., ale NIE mogą być uzależnione od flag dialogowych ani od wyników skryptu - za to (zwykłe) dialogi mogą być uzależnione wyłącznie od skryptów i flag, a nie mogą od niczego innego (chyba że to oskryptować, rzecz jasna). Czyli jeżeli chcę, żeby Geralt po jakimś pozornie banalnym zdarzeniu mógł porozmawiać (niequestowo!) z jakimś NPCem na ten temat, a zarazem otrzymać zadanie tego dotyczące... to muszę w zasadzie już na początku ustawić zarówno wpis do dziennika (żeby sterować questami), jak i flagę dialogową (żeby wygodnie sterować dialogami). Czy w samym Witcherze było to właśnie tak rozwiązane..?
 
A

ailinon

Senior user
#12
Aug 22, 2008
Mały wynalazek, ale może komuś się przyda.Jeżeli mamy jakieś zadanie, w którym skrypt wykorzystywany w jakiejś fazie gwarantuje otrzymanie jakiegoś przedmiotu - np. faza polega na spytaniu Józka o dziurawy but, i skryptem w dialogu Józek nam ten but wręczy - to w zasadzie nie potrzebujemy fazy "gracz znajduje przedmiot". Mimo to lepiej i tak ją dodać, tak "pro forma". Dla samej gry nie ma różnicy, gdyż faza ta zostanie ukończona natychmiast po poprzedniej, w której przedmiot otrzymujemy automatycznie - lecz przy testowaniu okaże się to bezcenne, gdy będzie można wymusić pominięcie poprzednich faz questu. Automat przechodzący quest, napotkawszy fazę "gracz znalazł przedmiot", wymusi samoczynne wpakowanie mu go do plecaka.
 
F

fantasta

Forum veteran
#13
Oct 26, 2008
Mam pytanie o fazę XOR. Po zbudowaniu prostego zadania w oparciu o subquesty z XOR:Quest beginning -> XOR subquest 1 hero has journal entry:... dialog line chosen:.... XOR subquest 2 dialog line chosen ..... pojawił się problem z dziennikiem. Mianowicie w przypadku wybrania wariantu pierwszego (XOR subquest 1) dziennik zadań płynnie przechodzi do drugiej i kolejnych faz i nie wyświetla nazwy fazy pierwszej - tak jak powinno być. Natomiast w przypadku wybrania subquestu 2 dziennik cały czas wyświetla nazwę pierwszej fazy przed nazwą fazy drugiej, a w przypadku przejścia kolejnych faz subquestu 2 nazwa pierwszej fazy też jest dalej wyświetlana. Skąd to się bierze i jak to można naprawić?
 
A

ailinon

Senior user
#14
Oct 27, 2008
A próbowałeś nadać treść dopiero dalszym fazom - pierwszą pozostawić bez tytułu i bez treści?
 
F

fantasta

Forum veteran
#15
Oct 27, 2008
Ech, spróbowałem i nic to nie dało.Ciekawe jest to, że jak zamienię subquest 1 z subquest 2 miejscami to wtedy subquest 2 przechodzi gładko do kolejnych faz bez "niechlujnego" dziennika. Muszę przejrzeć jakieś przygody pod tym kątem. Ciekawi mnie też w jakim celu używa się polecenia: RunClientLua("g_GuiInGame:ReTrackQuestInDiary()") - czy chodzi o śledzenie questu?EDIT: jak ktoś ma chwilę, to może zerknąłby na to, bo ja nie jestem w stanie znaleźć przyczyny błędu. Screeny: subquest 2 : http://duks.republika.pl/subquesty.jpg subquest 2 przesunięty na górę poleceniem "move subquest up": http://duks.republika.pl/subquesty2.jpg testowy moduł "przygody" z użyciem subquestu XOR (czas gry 1 minuta :) http://duks.republika.pl/cokryjeprawda.adv
 
Share:
Facebook Twitter Reddit Pinterest Tumblr WhatsApp Email Link
  • English
    English Polski (Polish) Deutsch (German) Русский (Russian) Français (French) Português brasileiro (Brazilian Portuguese) Italiano (Italian) 日本語 (Japanese) Español (Spanish)

STAY CONNECTED

Facebook Twitter YouTube
CDProjekt RED Mature 17+
  • Contact administration
  • User agreement
  • Privacy policy
  • Cookie policy
  • Press Center
© 2018 CD PROJEKT S.A. ALL RIGHTS RESERVED

The Witcher® is a trademark of CD PROJEKT S. A. The Witcher game © CD PROJEKT S. A. All rights reserved. The Witcher game is based on the prose of Andrzej Sapkowski. All other copyrights and trademarks are the property of their respective owners.

Forum software by XenForo® © 2010-2020 XenForo Ltd.