Denizen
Skryptowalni, interaktywni obywatele.
- Dostępne pliki
- 34
- Obsługiwane wersje
- 13
- Najnowszy plik
- 18.08.2017

Dokumentacja Meta | Śledzenie zgłoszeń | Nowe repozytorium skryptów | Stare repozytorium skryptów | Filmy instruktażowe | Fora
Wersje deweloperskie tego projektu można pobrać z podanego serwera ciągłej integracji. Te wersje nie zostały zatwierdzone przez zespół BukkitDev. Używaj ich na własne ryzyko.
Denizen korzysta z usługi wklejania (paste) zapewnianej przez jej twórców, aby umożliwić nagrywanie sesji debugowania. Umożliwia to łatwy i uniwersalny sposób rozwiązywania problemów ze skryptem. Jest używana wyłącznie na '/denizen submit', jednak usługa ta nie jest przez zespół BukkitDev popierana. Używaj jej na własne ryzyko.
Hej!
Projekt ten został przeniesiony!
Proszę pobierać z:
https://www.spigotmc.org/resources/denizen.21039/
Zobacz zasoby na:
Ta strona Bukkit nie będzie się zbyt często aktualizować!
O projekcie
Hej! Dzięki za korzystanie z Denizen dla Bukkit i Citizens2. Szukasz szybkiego przewodnika startowego? Oto miejsce!
Czym jest Denizen? Najlepiej sklasyfikować go jako platformę skryptową. Denizen dla Bukkit i Citizens2 wykorzystuje skrypty, oraz różne inne komponenty dostarczane przez DenizenAPI. Skryptowy komponent Denizen oferuje łatwe w użyciu kontenery skryptów, wymienialne tagi, polecenia i system kolejki. W zestawie znajduje się również wiele komponentów obsługujących różne typy obsługi zdarzeń, wiele dodatkowych funkcji związanych z NPC, w pełni funkcjonalny system zmiennych (nazywamy je „flagi”) i bogaty zestaw cech zorientowanych obiektowo. Zachęcam użytkowników, aby zaczynali od małych kroków przy pierwszym kontakcie z Denizen, ale zapewniam, że jest mnóstwo funkcji do odkrycia.
NPC Denizen? Tak — to prawda. Denizen prawdopodobnie jest najlepiej znany jako sposób tworzenia skryptowanych NPC Citizens. W rzeczywistości cały ten projekt rozpoczął się jako rozszerzenie Citizens2. Możesz użyć go do tworzenia interaktywnych NPC z użyciem Assignment Scripts i Interact Scripts. To całkiem proste do wykonania, a także istnieje wiele fajnych poleceń i tagów specyficznych dla NPC (spośród wielu innych), które możesz wykorzystać.
Oto mały przykład, który nazywam 'cookies'. Zwykle lubię komentować skrypty, ale poniższy nie ma komentarzy, aby pokazać przepływ.
Cookies: type: assignment interact scripts: - 100 Cookie Handler Cookie Handler: type: interact steps: 'Spreading the Word*': click trigger: script: - random 3 - chat 'I like cookies!' - chat 'MMmm.. cookies are favorite!' - chat 'Cocoa and wheat me freak!' chat trigger: 'Cookies': trigger: 'I love /cookie/s!' script: - chat 'Me too!' - narrate '<npc.name> gives you some cookies.' - give i@cookie qty:6 - zap 'step:Cookies given' 'Cookies given': click trigger: script: - chat 'How were the cookies?' - zap 'step:Spreading the Word'
To prosty dwustopniowy, wielokrotny skrypt wyzwalaczy, który tworzy NPC kochający ciasteczka. Z jakiegoś powodu uważam za zabawne nazwanie NPC 'Notch'. Użycie tego skryptu dla NPC również nie mogłoby być łatwiejsze. Po prostu użyj komendy Bukkit, gdy NPC jest wybrany. Wygląda to tak:
/npc assignment --set cookies
Teraz kliknięcie w Twoje NPC spowoduje użycie Denizen Triggers, aby aktywować powyższy skrypt. Natychmiastowy Denizen NPC!
Ciasteczka są zabawne, ale rzadko przydatne, a moją osobistą filozofią jest to, że NPC powinny być użyteczne. A co powiesz na prostego uzdrawiacza? Ten NPC Cię uleczy, ale tylko wtedy, gdy będziesz poważnie ranniony.
Basic Healer: type: assignment interact scripts: - 100 heal me, bro! Heal me, bro!: type: interact steps: "Need a heal?*": click trigger: script: - if '<player.health>' < '<m:<player.health.max> / 2>' { - look <player.location> - chat 'Woah dude, you are <player.health.formatted>! You could use a heal!' - chat 'Just give me another click to get some power!' - zap "Healin'" duration:30s } else { - look <player.location> - chat 'Nice an healthy. Keep it up!' } "Healin'": click trigger: script: - ^zap 'need a heal?' - ^engage - chat "Here goes nothin'!" - playeffect instant_spell <npc.location> qty:25 - playeffect heart <player.location> qty:25 offset:1 - heal <player> - disengage
Jak stworzyć NPC uzdrawiacza za pomocą tego skryptu? Zgadza się! Po prostu wybierz to NPC i wpisz:
/npc assignment --set 'basic healer'
To nie tylko dla NPC. Wciąż mówiłem, że Denizen ma inne typy skryptów, które otwierają możliwości wykraczające poza podstawową funkcjonalność wykorzystywania NPC. Jeden z moich ulubionych, 'prostych skryptów', które lubię pokazywać innym, to ten, który mój przyjaciel Blankiito pokazał mi. Poniższy jest nieco zmodyfikowany, ale zasadniczo umożliwia cechę w stylu rogue, która czyni gracza niewidzialnym podczas skracania. To prosta koncepcja, ale doskonale ilustruje przepływ skryptu Denizen.
Rogue: type: world debug: false events: on player starts sneaking: - playeffect <p.location> magic_crit qty:10 - invisible <player> state:true on player stops sneaking: - invisible <player> state:false
Nawet małe skrypty mogą być niezwykle użyteczne dla twojego serwera. Czasami skrypty mogą zastępować całe wtyczki Bukkit, a ponieważ „kod” jest w skrypcie Denizen, końcowy rezultat bywa bardziej elastyczny dla ciebie, operatora serwera. Masz wtyczkę, która uruchamia pewne komendy co jakiś czas? Zastąp ją prostym skryptem Denizen.
Auto Save Event Handler: type: world debug: false events: on 5:00 in world: - announce 'Autosaving...' - execute as_server 'denizen save' - execute as_server 'citizens save' - execute as_server 'save-all'
Użyj Denizen, aby rozwiązywać problemy lub aby ułatwić korzystanie z funkcji. Przykład: jeśli znasz Citizens, mógłbyś zauważyć, że komenda WorldGuard /butcher nie jest przyjazna dla NPC-ów typu mob. Usuwa je również, co potrafi być uciążliwe! Dlaczego nie napisać własnej komendy /butcher?
Safer Butcher Handler: type: world debug: false events: on sbutcher command: - narrate 'Removing all mob entities within 15 blocks... your NPCs are safe!' - foreach <player.location.find.entities.within[15]> { - if <%value%.is_mob> remove %value% }
Denizen Quests to najlepsze questy. Jeśli jesteś jak ja, to całość zaczęła się od użycia Questera dla Citizens1. Oferował całkiem prostą strukturę questów, aby uruchamiać takie rzeczy jak „questy zabójstw” i „questy zbierania”. Kiedy Citizens przeszedł do wersji 2, ta funkcjonalność nie była już „rdzeniem”, ale nie martw się — Denizen może pomóc! Dzięki wykorzystaniu Denizen Player Listeners proste questy można łatwo zrealizować, a jest to także bardziej solidne, gdyż możesz używać wszystkich innych funkcji zaimplementowanych przez Denizen, także!
Więc, jak najlepiej zacząć? To pytanie dostajemy cały czas. Ze względu na ogromną ilość sposobów użycia i dostosowania Denizen, sugerujemy po prostu ZACZĄĆ OD MAŁYCH KROKÓW! Przeglądając filmy, skrypty i artykuły na denizen-docs, na pewno znajdziesz wygodne miejsce, by zacząć. Podczas skryptowania korzystaj z dostępnych narzędzi, takich jak pakiet gramatyczny SublimeText2, a także odniesienie i wyszukiwanie metadanych (meta lookup) na tej stronie.
Podobnie jak w każdym języku programowania, istnieje krzywa nauki dotycząca struktury kodu i składni, którą pokonasz jedynie przez praktykę i eksperymenty. Chociaż używanie niektórych skryptów stworzonych przez użytkowników może być tak proste, jak przeciąganie i upuszczanie, wiele skryptów prawdopodobnie będzie wymagać przynajmniej podstawowego zrozumienia struktury denizen-script, aby w pełni wykorzystać ich możliwości. Ale nie martw się! Denizen został celowo zaprojektowany tak, aby był łatwy do czytania i łatwy do dostosowania! Tagi, polecenia i zdarzenia są bardzo opisowe i łatwe do śledzenia. Z odrobiną badań na pewno wkrótce poczujesz ogrom możliwości, podobnie jak my!
Wideo
Polecane inne linki
- Denizen Handbook (Trochę przestarzały, ale wciąż zawiera przydatne informacje.)
- Przewodnik początkujących stworzony przez użytkowników
- Citizens2 Wiki
Opis projektu pochodzi z CurseForge i został udostępniony po polsku. Szczegóły konfiguracji, zależności oraz aktualne komunikaty autora sprawdź na w źródłowym katalogu CurseForge.
denizen-1.0.1-SNAPSHOT.jar 18.11.2016 4 MB
denizen-1.0.0r2-SNAPSHOT.jar 25.09.2016 4 MB
denizen-1.0.0-SNAPSHOT.jar 22.09.2016 4 MB
denizen-0.9.8-SNAPSHOT.jar 12.06.2016 3 MB
denizen-0.9.8-SNAPSHOT.jar 31.03.2016 3 MB
denizen-0.9.7-SNAPSHOT.jar 18.07.2015 3 MB
denizen-0.9.6-SNAPSHOT.jar 31.12.2014 3 MB
denizen-0.9.5-SNAPSHOT.jar 22.09.2014 1 MB
denizen-0.9.4-SNAPSHOT.jar 16.07.2014 1 MB
denizen-0.9.4-SNAPSHOT.jar 21.01.2014 1 MB
denizen-0.9.4-1.6.2-SNAPSHOT.jar 21.01.2014 1 MB
denizen-0.9.2-SNAPSHOT.jar 27.09.2013 919 KB
denizen-0.9.1-SNAPSHOT.jar 09.07.2013 797 KB
denizen-0.8.9-PRERELEASE.jar 09.07.2013 753 KB
denizen-0.8.9-PRERELEASE.jar 02.07.2013 751 KB
denizen-0.8.9-PRERELEASE.jar 19.06.2013 727 KB
denizen-0.8.8-PRERELEASE.jar 04.04.2013 642 KB
denizen-0.8.8-PRERELEASE.jar 21.03.2013 609 KB
denizen-0.8.8-PRERELEASE.jar 20.03.2013 594 KB
denizen-0.8.8-PRERELEASE.jar 17.03.2013 584 KB
denizen-0.8.8-PRERELEASE.jar 09.03.2013 575 KB
denizen-0.76-SNAPSHOT.jar 23.01.2013 622 KB
denizen-0.76-FINAL.jar 03.12.2012 624 KB
denizen-0.76-SNAPSHOT.jar 29.10.2012 618 KB
denizen-0.75-SNAPSHOT.jar 11.09.2012 592 KB
denizen-0.75-SNAPSHOT.jar 05.09.2012 568 KB
denizen-0.6.jar 14.06.2012 55 KB
denizen-0.6.jar 06.06.2012 50 KB
denizen-0.5.3.jar 29.05.2012 36 KB
denizen-0.5.3.jar 26.05.2012 36 KB
denizen-0.5.3.jar 24.05.2012 35 KB
denizen-0.5.3.jar 22.05.2012 34 KB
denizen-0.5.3.jar 21.05.2012 34 KB
Jak bezpiecznie sprawdzić ten plugin
Wybierz zgodny plik
Oznaczenia wersji pochodzą z metadanych autora. Dobierz również właściwe oprogramowanie serwera i Javę.
Zachowaj kopię
Przed pierwszym startem skopiuj świat, konfigurację oraz dane pozostałych pluginów.
Przeczytaj log
Po uruchomieniu sprawdź brakujące zależności i pierwszy błąd związany z nazwą pluginu.