Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Plugin] BetonQuest - Zaawansowany plugin na questy w stylu RPG


Gość

Rekomendowane odpowiedzi

Opublikowano

Gy9ORlk.png

 

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
  • Rozbudowane rozmowy z NPC'ami
  • Grupowe questy, wymagające kilku graczy do ukończenia
  • Dziennik w książce
  • Plecak na przedmioty związane z zadaniami
  • Zaawansowany system przedmiotów, biorący pod uwagę nawet tekst w książce
  • 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
  • Zmienne w rozmowach - pozwól NPC'owi powiedzieć ile złota gracz jeszcze musi przynieść
  • Questy mogą być rozłożone na "paczki"
  • Wsparcie dla NPC'ów z Citizens
  • Integracja z MythicMobs, mcMMO, Heroes, SkillAPI, Quests, Skript, Denizen, Magic, WorldGuard, Vault, EffectLib and PlayerPoints
  • Ł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
  • Projekt jest aktywny, open source i są dostępne werjse developerskie.

 

 

 

R6v5OIM.png

 

Z6xaumo.png

 

9HiiuTH.png

 

aRvPUPj.png

 

kFZEKVt.png

 

gem4uZI.png

 

 

 

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.

 

Dokumentacja po polsku w formacie .pdf

(nie przetłumaczona jeszcze w całości)

 

https://www.youtube.com/watch?v=K2fC8X9fYsg

 

Pisanie questów i prywatne szkolenia
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ć.

 

Download

  • Odpowiedzi 280
  • Dodano
  • Ostatniej odpowiedzi
Opublikowano

Plugin zapowiada sie ciekawie, ale mogłeś jakoś lepiej opisać korzystanie z niego :)

 

Masz na myśli ten wątek czy dokumentację?

Opublikowano

Dobra robota gryzie trochę to ,że taki plugin ma mały rozgłos a takie pluginy na gildie których na mpc jest dużo to mają po kilka tysięcy odsłon .

No ale co do twojego pluginu to wspaniała robota polecam plugin i autora .

70569024104149212669.png

Opublikowano

Dobra robota gryzie trochę to ,że taki plugin ma mały rozgłos a takie pluginy na gildie których na mpc jest dużo to mają po kilka tysięcy odsłon .

No ale co do twojego pluginu to wspaniała robota polecam plugin i autora .

 

Bo pluginy na gildie ogólnie są bardziej popularne, w sumie nic dziwnego patrząc na przekrój wiekowy graczy Minecrafta :P A poza tym plugin miał swoją "premierę" zaledwie dwa dni temu, nie ma się co spodziewać popularności po tak krótkim czasie.

 

Dziękuję wszystkim za pozytywne komentarze ^^

Opublikowano

Twojego autorstwa? Chyba drugi lub trzeci plugin na MPCForum który jakoś wygląda, albo raczej bardzo dobrze wygląda :D Ale nie wiem dlaczego nie uzywasz PreparedStatement. A tak to chyba nie mam uwag :(

To już jest koniec smerfa:


http://www.mpcforum.pl/topic/1323530-info-znikam/


GG: 48522543


PS: Na innych forach i stronach znajdziesz mnie pod nickiem: 


BukkitSmerf

Opublikowano

Twojego autorstwa? Chyba drugi lub trzeci plugin na MPCForum który jakoś wygląda, albo raczej bardzo dobrze wygląda :D Ale nie wiem dlaczego nie uzywasz PreparedStatement. A tak to chyba nie mam uwag :(

 

No cóż, przyznam się, że nie wiedziałem o istnieniu czegoś takiego :P Zmienię to jak znajdę czas. Dzięki :3

Opublikowano

Jeszcze napisze zanim znajdzie sie jakis ktory "WYRAZI SWOJA OPINIE" : "Po co pisac takie rzeczy!? Tego juz jest duzo i sa lepsze!"

A no po to by rozwijac swoje umiejetnosci i w przyszlosci pisac LEPIEJ niz jest teraz, ten plugin nie jest jeszcze zaawansowany az tak bardzo ale jezeli autor ktoremu gratuluje za napisanie czegos takiego, bedzie prowadzil aktualizacje i plugin ulepszal bedzie wiedzial wiecej przez co moze znalezc sie w tej liscie pluginow "LEPSZYCH OD WSZYSTKICH".

 

To tyle ode mnie, jeszcze raz bardzo gratuluje!

Opublikowano

Użyje go pod hardcora aby urozmaicić gre jakoś

CPU i5 6600k 4,1GHZ | RAM HyperX SAVAGE 16GB RAMGPU ASUS GTX 1070 ROG STRIX 8GOC |

SSD1 Samsung EVO 850 120GB| SSD2 ADATA SP600 120GB |HDD Toshiba 1TB

Reklama serwera minigames w starym stylu Kliknij tutaj

 

Opublikowano

Jeszcze napisze zanim znajdzie sie jakis ktory "WYRAZI SWOJA OPINIE" : "Po co pisac takie rzeczy!? Tego juz jest duzo i sa lepsze!"

A no po to by rozwijac swoje umiejetnosci i w przyszlosci pisac LEPIEJ niz jest teraz, ten plugin nie jest jeszcze zaawansowany az tak bardzo ale jezeli autor ktoremu gratuluje za napisanie czegos takiego, bedzie prowadzil aktualizacje i plugin ulepszal bedzie wiedzial wiecej przez co moze znalezc sie w tej liscie pluginow "LEPSZYCH OD WSZYSTKICH".

 

To tyle ode mnie, jeszcze raz bardzo gratuluje!

 

Plugin może i nie jest zaawansowany, brakuje mu chociażby wsparcia dla SQLite i integracji z innymi pluginami (np. zadanie pokonania bossa z MythicMobs, albo warunek bycia jakąś klasą na MobArenie (o ile API na to pozwoli)), ale sam system i jego idea jest chyba obecnie unikatowa w kategorii pluginów do Bukkita. Inne pluginy, np. Quests, mają tylko zadania składające się z zestawu celów do wykonania. To bardzo ogranicza ich wykorzystanie na rozbudowanych serwerach RPG, poza tym nie ma tam w ogóle rozmów, a jedynie klikanie na NPCe żeby włączać questy.

 

Wspomniane wyżej rzeczy (SQLite itd.) mam oczywiście zamiar niedługo dodać. ^^ Poza tym myślę nad jakimś interfejsem graficznym do tworzenia questów napisanym w JavaSwing... zobaczymy co z tego wyjdzie.

 

Dzięki za opinię SmilieS :3

 

 

Użyje go pod hardcora aby urozmaicić gre jakoś

 

Podasz adres serwera jak już skończysz? ^^

  • 2 tygodnie później...
Opublikowano

REFRESH

 

Jest już dostępna wersja 1.2, która poza poprawieniem wielu błędów wprowadza między innymi wsparcie dla SQLite.

Opublikowano

Dodaj opcje zapisywania zadań jakie gracze mają rozpoczęte do bazy danych MySQL. Można ciekawe funkcje napisać.

 

@topic

 

Czy zadziała na wersji 1.6.4? Czy wymaga on citizensa? W tekście coś o nim było ale nie jestem pewien.

Tworzę strony internetowe.

Sklepy Minecraft, CMS-y, fora itp.

Opublikowano

Dodaj opcje zapisywania zadań jakie gracze mają rozpoczęte do bazy danych MySQL. Można ciekawe funkcje napisać.

 

@topic

 

Czy zadziała na wersji 1.6.4? Czy wymaga on citizensa? W tekście coś o nim było ale nie jestem pewien.

 

Wszystkie zadania są zapisywanie w bazie danych jako tzw. "instruction string", czy "ciąg instrukcji". Możesz je bez problemu odczytywać i interpretować w swoich programach. Konstrukcja każdego z rodzajów jest opisana na stronie "Objectives List" na dev.bukkit.org

 

Plugin wymaga Citizens 2. Nie wiem czy zadziała na 1.6.4, nie pisałem go z myślą o tej wersji. Nie używa on jednak żadnych nowych rzeczy w głównej konstrukcji, więc przynajmniej część zadań/warunków/zdarzeń powinna działać (przy czym nic nie obiecuję, nie testowałem tego).

Opublikowano

Wszystkie zadania są zapisywanie w bazie danych jako tzw. "instruction string", czy "ciąg instrukcji". Możesz je bez problemu odczytywać i interpretować w swoich programach. Konstrukcja każdego z rodzajów jest opisana na stronie "Objectives List" na dev.bukkit.org

 

Plugin wymaga Citizens 2. Nie wiem czy zadziała na 1.6.4, nie pisałem go z myślą o tej wersji. Nie używa on jednak żadnych nowych rzeczy w głównej konstrukcji, więc przynajmniej część zadań/warunków/zdarzeń powinna działać (przy czym nic nie obiecuję, nie testowałem tego).

 

Czyli wszystkie zadania są zapisywanie w bazie? Można te dane jakoś wyciągnąć np. dla strony WWW z questami?

Opublikowano

Czyli wszystkie zadania są zapisywanie w bazie? Można te dane jakoś wyciągnąć np. dla strony WWW z questami?

 

Oczywiście, że tak :3

 

Dane o zadaniach są w tablicy "objectives". Interesują Cię głównie kolumny "playerID", czyli nick gracza (a planuję kiedyś zrobić opcjonalnie UUID w tym miejscu zamiast nicku) oraz "instructions", czyli instrukcja, której plugin używa do tworzenia zadać.

 

Należy przy tym pamiętać, że baza danych jest aktualizowana tylko w momencie wyjścia gracza z serwera, a dzieje się tak po to, aby uniknąć lagów związanych z opóźnieniem połączenia z zewnętrznym serwerem bazy oraz utraty danych w przypadku crasha serwera.

Opublikowano

Oczywiście, że tak :3

 

Dane o zadaniach są w tablicy "objectives". Interesują Cię głównie kolumny "playerID", czyli nick gracza (a planuję kiedyś zrobić opcjonalnie UUID w tym miejscu zamiast nicku) oraz "instructions", czyli instrukcja, której plugin używa do tworzenia zadać.

 

Należy przy tym pamiętać, że baza danych jest aktualizowana tylko w momencie wyjścia gracza z serwera, a dzieje się tak po to, aby uniknąć lagów związanych z opóźnieniem połączenia z zewnętrznym serwerem bazy oraz utraty danych w przypadku crasha serwera.

no właśnie tak troche szkoda że ta baza nie jest zbytnio relacyjna :D

I wsparcie UUID raczej czeba dodać, bo mojang już się szykuje do zmiany nicków, podobno ma być na początku 2015.

 

Powinno być tabelka

playerID|UUID|lastNickname

i w innych tabelkach, uzywane te playerID.

 

I od razu jest szybciej podczas szukania jak mamy ID, i mniej danych do zapisu.

 

Takie tam smerfne pomysy, bo sam projekt pluginu nawet mi się podoba :P

 

I ta zmienna

"private boolean inverted" powinna byc chyba w klasie Condition, jako np protected, bo masz to w kazdej klasie która rozszerza Condition :D

 

 

 

No nic, ale rozwijaj dalej ;3

To już jest koniec smerfa:


http://www.mpcforum.pl/topic/1323530-info-znikam/


GG: 48522543


PS: Na innych forach i stronach znajdziesz mnie pod nickiem: 


BukkitSmerf

Opublikowano

no właśnie tak troche szkoda że ta baza nie jest zbytnio relacyjna :D

I wsparcie UUID raczej czeba dodać, bo mojang już się szykuje do zmiany nicków, podobno ma być na początku 2015.

 

Powinno być tabelka

playerID|UUID|lastNickname

i w innych tabelkach, uzywane te playerID.

 

I od razu jest szybciej podczas szukania jak mamy ID, i mniej danych do zapisu.

 

Takie tam smerfne pomysy, bo sam projekt pluginu nawet mi się podoba :P

 

I ta zmienna

"private boolean inverted" powinna byc chyba w klasie Condition, jako np protected, bo masz to w kazdej klasie która rozszerza Condition :D

 

 

 

No nic, ale rozwijaj dalej ;3

 

Nad UUID jeszcze nie siedziałem, planuję się za to zabrać kiedy to co jest będzie stabilne.

 

A inverted w ogóle wyciągnę z warunków i zrobię sprawdzanie tego w metodzie inicjalizującej instancję warunku, tak będzie lepiej.

 

A tutaj jest GitHub gdyby ktoś potrzebował ^^

 

BTW. pomyślę nad przerobieniem kodu odpowiadającego za zapis do bazy danych tak, aby wszystkie zmiany były na bierząco aktualizowane w bazie.

Opublikowano

Nad UUID jeszcze nie siedziałem, planuję się za to zabrać kiedy to co jest będzie stabilne.

 

A inverted w ogóle wyciągnę z warunków i zrobię sprawdzanie tego w metodzie inicjalizującej instancję warunku, tak będzie lepiej.

 

A tutaj jest GitHub gdyby ktoś potrzebował ^^

 

BTW. pomyślę nad przerobieniem kodu odpowiadającego za zapis do bazy danych tak, aby wszystkie zmiany były na bierząco aktualizowane w bazie.

 

Jeżeli tak będzie to może nawet napisze pod to system WWW z Questami :)

Opublikowano

Woow! Jestem pod wrażeniem. Widzę pierwszy tak dobry plugin na tym forum. Idealny plugin na serwery RPG. Musiałeś się nie źle nad nim napracować, prawda? :D Mam nadzieję, że będziesz go rozwijał i nasi forumowicze się na Tobie nie zawiodą! Pozdrawiam serdecznie ;)

 

 

_LillyPL_

6770714055827651007269.jpeg

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...