Denizen

Denizen

Skryptowalni, interaktywni obywatele.

0 polubień • 0 pobrań
Dostępne pliki
34
Obsługiwane wersje
13
Najnowszy plik
18.08.2017

Denizen

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.

Kanał IRC | Kod źródłowy | Wersje rozwojowe

Hej!

Projekt ten został przeniesiony!

Proszę pobierać z:

https://www.spigotmc.org/resources/denizen.21039/

 

Zobacz zasoby na:

https://denizenscript.com/

 

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

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.

Stabilne Denizen 1.0.2 Rel
denizen-1.0.2-SNAPSHOT.jar 18.08.2017 5 MB
Stabilne Denizen 1.0.1 for MC 1.11
denizen-1.0.1-SNAPSHOT.jar 18.11.2016 4 MB
Stabilne Denizen 1.0.0r2 (MC 1.10, 1.9.4, 1.8.8)
denizen-1.0.0r2-SNAPSHOT.jar 25.09.2016 4 MB
Stabilne Denizen 1.0.0 (MC 1.10, 1.9.4, 1.8.8)
denizen-1.0.0-SNAPSHOT.jar 22.09.2016 4 MB
Stabilne Denizen 0.9.8 (MC 1.10)
denizen-0.9.8-SNAPSHOT.jar 12.06.2016 3 MB
1.9
Stabilne Denizen 0.9.8 (MC 1.9)
denizen-0.9.8-SNAPSHOT.jar 31.03.2016 3 MB
1.9
Stabilne Denizen 0.9.7 (1.8.7)
denizen-0.9.7-SNAPSHOT.jar 18.07.2015 3 MB
Stabilne Denizen 0.9.6 (MC 1.8)
denizen-0.9.6-SNAPSHOT.jar 31.12.2014 3 MB
1.8
Stabilne 0.9.5 (1.7.10)
denizen-0.9.5-SNAPSHOT.jar 22.09.2014 1 MB
Stabilne 0.9.4 (1.7.9)
denizen-0.9.4-SNAPSHOT.jar 16.07.2014 1 MB
Stabilne 0.9.4 (1.7.4)
denizen-0.9.4-SNAPSHOT.jar 21.01.2014 1 MB
Stabilne 0.9.4 (1.6.4)
denizen-0.9.4-1.6.2-SNAPSHOT.jar 21.01.2014 1 MB
Stabilne Denizen 0.9.2
denizen-0.9.2-SNAPSHOT.jar 27.09.2013 919 KB
Stabilne 0.9.1 (1.6.2)
denizen-0.9.1-SNAPSHOT.jar 09.07.2013 797 KB
Stabilne Denizen 0.8.9 Final Release (1.6.2)
denizen-0.8.9-PRERELEASE.jar 09.07.2013 753 KB
Stabilne 0.8.9 Build #1077
denizen-0.8.9-PRERELEASE.jar 02.07.2013 751 KB
Stabilne 0.8.9 Build #1070
denizen-0.8.9-PRERELEASE.jar 19.06.2013 727 KB
Stabilne 0.8.8 Build #989
denizen-0.8.8-PRERELEASE.jar 04.04.2013 642 KB
Stabilne 0.8.8 Build #940
denizen-0.8.8-PRERELEASE.jar 21.03.2013 609 KB
Stabilne 0.8.8 Build #933
denizen-0.8.8-PRERELEASE.jar 20.03.2013 594 KB
Stabilne 0.8.8 Build #926
denizen-0.8.8-PRERELEASE.jar 17.03.2013 584 KB
Stabilne 0.8.8 Build #899
denizen-0.8.8-PRERELEASE.jar 09.03.2013 575 KB
Stabilne Denizen 0.7.6-FINAL
denizen-0.76-SNAPSHOT.jar 23.01.2013 622 KB
Stabilne Denizen 0.7.6-FINAL
denizen-0.76-FINAL.jar 03.12.2012 624 KB
Stabilne Denizen 0.7.6 Build #551
denizen-0.76-SNAPSHOT.jar 29.10.2012 618 KB
Stabilne Denizen 0.7.5 Build #455
denizen-0.75-SNAPSHOT.jar 11.09.2012 592 KB
Stabilne Denizen 0.7.5 Build #440
denizen-0.75-SNAPSHOT.jar 05.09.2012 568 KB
Stabilne Denizen 0.6 Build #99
denizen-0.6.jar 14.06.2012 55 KB
Stabilne Denizen 0.6 Build #83
denizen-0.6.jar 06.06.2012 50 KB
Stabilne Denizen 0.5.3 Build #56
denizen-0.5.3.jar 29.05.2012 36 KB
Stabilne Denizen 0.5.3 Build #48
denizen-0.5.3.jar 26.05.2012 36 KB
Stabilne Denizen 0.5.3 Build #42
denizen-0.5.3.jar 24.05.2012 35 KB
Stabilne Denizen 0.5.3 Build #25
denizen-0.5.3.jar 22.05.2012 34 KB
Stabilne Denizen 0.5.3
denizen-0.5.3.jar 21.05.2012 34 KB
Przed instalacją

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.

Zobacz pełną instrukcję instalacji