BetonQuest to zaawansowany plugin do tworzenia questów. Nie podąża on tradycyjną ścieżką, gdzie "quest" jest osobnym obiektem o ustalonej strukturze. Zamiast tego, BetonQuest pozwala tworzyć sieć zazębiających się zadań, wykonujących zdarzenia pod ustalonymi warunkami. Twoje questy nie muszą ograniczać się do schematu "zabij, przynieś, weź nagrodę": możesz bez ograniczeń tworzyć wielowątkowe przygody, opowiedziane rozmowami z NPC'ami, posiadające różne zakończenia i wpływające na dalsze losy postaci gracza.
Co oferuje plugin?
Przygody, które tworzysz nie są ograniczone strukturalnie
Potężny system zdarzeń: w dowolnym miejscu w queście możesz odpalić dowolne zdarzenia
Potężny system warunków: praktycznie wszystko można ograniczyć warunkami
Grupowe questy, wymagające kilku graczy do ukończenia
Rozbudowane rozmowy z NPC'ami
Dziennik w książce
Plecak na przedmioty związane z zadaniami
Zaawansowany system przedmiotów, biorący pod uwagę nawet tekst w książce
Tagi do przechowywania informacji o graczu
Systemy reputacji przy użyciu Punktów
Globalne lokacje: odpalanie zdarzeń dla graczy po wejściu w odpowiednie miejsce
Opóźnione zdarzenia - możliwość tworzenia powtarzalnych questów
Questy mogą być rozłożone na "paczki"
Wsparcie dla NPC'ów z Citizens
Integracja z MythicMobs, Skript, WorldGuard i Vault
Łatwe tłumaczenia na inne języki
Gracze mogą wybrać swój własny język
API do tworzenia własnych zdarzeń, warunków i zadań
Wsparcie dla MySQL i SQLite
Automatyczne kopie zapasowe konfiguracji i bazy danych
A więc jak to wszystko dokładnie się odbywa? Opiszę to na przykładzie prostego zadania na zdobycie drewna. Zwróć uwagę na wyraźny podział "obiektów" na: zadania, zdarzenia i warunki.
Po pierwsze tworzysz konwersację z NPC'em. Gracz w tej rozmowie może wybierać różne opcje, na które NPC będzie różnie reagował (np. na pytanie gracza o pracę odpowie, że potrzebuje trochę drewna). W pewnym momencie tej rozmowy zostanie odpalone zdarzenie, które doda graczowi zadanie zdobycia drewna, oraz oznaczy gracza tak, aby wiadomo było, że zbiera drewno. Od tej chwili NPC w rozmowie będzie używał opcji przeznaczonych dla gracza zbierającego drewno (np. będzie go poganiał). Opcje te będzie wybierał na podstawie warunków.
W momencie, kiedy gracz zakończy otrzymane zadanie zostanie odpalone zdarzenie oznaczające go jako gracza, który zebrał drewno. Kiedy wróci do NPC'a i powie mu o drewnie, ten sprawdzi za pomocą warunków, czy gracz ukończył zadanie i czy faktycznie ma przy sobie to drewno. Jeśli tak, to włączy zdarzenie dające nagrodę.
Zauważ, że nie zdefiniowaliśmy tutaj ani jednego obiektu "quest". To tylko rozmowa, która włączała zdarzenia i sprawdzała warunki. Tak samo zadanie nie było questem, bo czym by ono było gdyby nie ta rozmowa? Z kolei sama rozmowa mogłaby potem uruchomić kolejne zadanie (np. wykopania kamieni), więc jej też nie można nazwać questem.
Niech moje przykłady przyniesienia drewna i wykopania kamieni nie zniechęcają Cię, to tylko uproszczenia, aby łatwiej było tłumaczyć. BetonQuest może naprawdę dużo więcej. Rozmowy mogą być tak wielowątkowe jak te w Baldur's Gate czy w Skyrimie, questy można tworzyć tak, aby można je było wykonać na kilka różnych sposobów, a tworzenie systemów reputacji za wybory moralne itp. jest bardzo proste. Resztę można sobie wyobrazić samemu.
Plugin posiada również dziennik w postaci książki. Nie jest to jednak nic w stylu napisu "Zabij 5 zombie" albo "kliknij na NPC'a". Wpisy w dzienniku można dodawać odpowiednimi zdarzeniami, a wyglądają one tak jak te w Morrowindzie. Teraz questy nie muszą wyświetlać wiadomości w stylu "Zebrałeś drewno. Wróć do NPC'a", zamiast tego wystarczy zaktualizować dziennik wpisem "Zebrałem już całe drewno. Powinienem je teraz zanieść Karczmarzowi i odebrać moją nagrodę". Oczywiście to też duże uproszczenie, ale na pierwszy rzut oka widać, że jest to dużo bardziej klimatyczne.
Oferuję pisanie questów (proste jak i bardzo skomplikowane) oraz "prywatne lekcje" przez Skype'a i TeamViewer za odpowiednią opłatą. Jeśli ktoś jest zainteresowany wystarczy dać mi znać na PW. W przypadku samego pisania questów niestety konieczne będzie dysponowanie własnym budowniczym, gdyż zwyczajnie nie umiem ładnie budować.
To poczekaj jeszcze kilka update'ów, bo chciałbym dodać pewne rzeczy, np. SQLite, opóźnione zadania czy chociażby bardziej uniwersalne podejście do itemów.
Piszę właśnie questy na swoim serwerze w tym pluginie, niestety zajmuje to dużo czasu (wymyślanie, budowanie, pisanie itd), więc jak skończę to będziesz miał okazję.
Nie wolno reklamować serwerów poza odpowiednim działem, więc po prostu przeszukaj tematy, które napisałem na tym forum i znajdziesz wątek tego serwera. Napiszę tam informację o tym, że skończyłem i jak znaleźć questy na serwerze.
Co0sh, a mógłbyś dodać wsparcie dla BossBar? Jest wiele fajnych rozwiązań dla tego. Na przykład aktualny cel misji, czasomierz (jak mamy zrobić coś na czas), oraz informacja, czy zaliczono, albo nie quest. Taaaki dodatek.
Co0sh, a mógłbyś dodać wsparcie dla BossBar? Jest wiele fajnych rozwiązań dla tego. Na przykład aktualny cel misji, czasomierz (jak mamy zrobić coś na czas), oraz informacja, czy zaliczono, albo nie quest. Taaaki dodatek.
Pozdrawiam.
Nie, już o tym rozmawialiśmy: zbyt zagmatwana implementacja, konfilkty z wieloma innymi pluginami które tego używają. Poza tym to mi nie pasuje do ogólnego "klimatu" jaki ten plugin ma tworzyć. Wyobrażasz sobie Morrowinda z takim wielkim licznikiem "Dostań się do Balmory w 4:56"? Bo ja nie za bardzo.
No, i nie lubię tego paska, ale to tak by the way.
Na dev.bukkit.org jest już dostępna wersja 1.4 pluginu, która wprowadza między innymi konwersacje podzielone na pliki, nowy system itemów, ulepszone zdarzenia i warunki związane z itemami czy automatyczny aktualizator.
Wrzuciłem na DBO poprawkę do 1.4, bo automatyczne aktualizacje nie działały. Teraz (w wersji 1.4.2) działają. Poza tym poprawiłem kilka błędów w zadaniu "action".
Kolejna poprawka, tym razem do wersji 1.4.3, która usuwa wiadomości debugujące z zadania Action. Zapomniałem ich usunąć, a nikt mi potem nie zgłosił, że nadal tam są
Wersja 1.5 zostanie już niedługo wypuszczona, będzie zawierać między innymi wsparcie dla ekonomii (Vault) i pluginów MythicMobs oraz Denizen. Poza tym jest dużo poprawek, między innymi z książkami. Dodatkowo opcje w rozmowach będzie się dało klikać.
Na stronę pluginu właśnie trafiła nowa wersja, która dodaje między innymi wsparcie dla MythicMobs, łatwiejszą definicję zadań, klikalne odpowiedzi w rozmowach i kolorowy dziennik.
Nie będę wrzucał skanu, bo ten plik jest automatycznie aktualizowany za każdym razem kiedy wrzucam nowy kod na GitHub'a (przy użyciu TravisCI). Dodanie automatycznego skanu byłoby zbyt skomplikowane. Osoby z zaburzeniami urojeniowymi zapewniam, że to dokładnie to samo, co na GitHub'ie (można sprawdzić dekompilatorem). A jak nie chcecie ściągać nieprzeskanowanego, to nie ściągajcie. Testowałem to jakąś godzinę i wygląda na to, że jest dość stabilne. Jeśli znajdziecie jakiś błąd to proszę o info o tym, żebym mógł naprawić.
Przeczytaj plik changelog.txt, gdyż nie ma dokumentacji do wersji developerskich!