Skript
Pozwala administratorom serwerów łatwo modyfikować to, jak Minecraft działa, bez programowania czegokolwiek.
- Dostępne pliki
- 51
- Obsługiwane wersje
- 10
- Najnowszy plik
- 19.03.2014
Ta wersja Skript nie jest już utrzymywana (od 2014).
Proszę pobrać nowe wydania z forka SkriptLang.
Zaktualizowana dokumentacja znajduje się na SkriptLang.org. Dokumentacja Skript i dodatków dostępna jest na skUnity.
Więcej zasobów można znaleźć na skUnity. Potrzebujesz pomocy z Skript? Dołącz do Discorda skUnity.
Skript to wtyczka, która pozwala dostosować mechanikę Minecrafta za pomocą prostych skryptów napisanych prostymi zdaniami po angielsku. Możesz łatwo tworzyć skomplikowane niestandardowe komendy, wyzwalacze, które wykonują efekty pod pewnymi warunkami, oraz skrypty, które po prostu uruchamiają się okresowo - wszystko bez konieczności poznawania choćby odrobiny programowania! Język ten (miejmy nadzieję) intuicyjny ma tę zaletę, że nie musisz się nawet dużo uczyć, aby móc używać Skript.
Aby zobaczyć, co jest możliwe z Skript, zajrzyj na scripts forum, gdzie użytkownicy tego pluginu dzielą się skryptami, które sami napisali, ulepszając ich serwery bez potrzeby programisty wtyczki. Skript może również zastępować drobniejsze wtyczki, dzięki czemu lista twoich prawdopodobnie długich wtyczek może się skrócić. Niepełna lista wtyczek do zastąpienia znajduje się na replacers forum.
- Najnowsza wersja Skript to 2.1.1 (11 marca 2014)
Uwaga
Wróciłem z przerwy, ale prawdopodobnie nie będę w stanie zaktualizować Skript dopóki nie będę w stanie pobrać najnowszej kompilacji CraftBukkit, aby naprawić nowe błędy. Również, ze względu na niepewną przyszłość Bukkit i brak oficjalnego API Minecraft w zasięgu, nie wiem jak aktywnie będę aktualizować ten plugin.
Wprowadzenie
Aby napisać skrypt, wystarczy zapisać co, chcesz aby Skript zrobił kiedy pewne warunki są spełnione. To prosta składnia 'zdarzenie → warunek(y) → efekt(y)', która może wyglądać jak poniższy przykład:
# Ten przykład informuje gracza, gdy kopiesz kamień zdarzenie: kopanie kamienia: wyślij "Właśnie wykopałeś kamień!" do gracza
Każdy skrypt może zawierać wiele tak zwanych wyzwalaczy, z których każdy zaczyna się od zdarzenia i ma listę dowolnej liczby warunków i efektów, jakie chcesz. Zdarzenie określa, kiedy warunki są sprawdzane, a jeśli wszystkie zostaną spełnione, efekty wykonują się kolejno. Zobacz poniższy przykład, który ma wszystko:
# Prosty skrypt porażenia piorunem / uderzenia Thora (Młot Thora): # wyzwalacz ma zdarzenie: na lewy klik z użyciem złotego topora: # warunek: gracz ma uprawnienie "thor" # i kilka efektów: uderz piorunem w wybrany blok rozgłoś "Strach przed Potężnym Thorem!"
Własne polecenia mogą być definiowane podobnie, np. następujące definiuje potężne polecenie '/item' które można użyć tak: '/item 5 diamond swords of sharpness 5 and a cake':
command /item <items>:
description: Spawn yourself some items
permission: skript.item
trigger:
give argument to the player
Co więcej Skript oferuje także bardziej złożone elementy skryptów, takie jak pętle i instrukcje warunkowe, które opisane są w dokumentacji. Skript obsługuje również zmienne, które mogą przechowywać informacje globalnie, na poziomie gracza, na poziomie bloku itp., i ma szeroki zakres wyrażeń, które możesz używać w warunkach, efektach, wiadomościach i nazwach zmiennych.
Znaczącą cechą Skriptu są aliasy, które są nazwami przedmiotów i bloków w Minecraft. Każdy alias może składać się z wielu identyfikatorów i wartości danych i pozwala na użycie nazwy dowolnego przedmiotu lub bloku w skryptach zamiast używania ich identyfikatorów, jak to często wymuszają wtyczki. Wraz z możliwością definiowania zaklętych przedmiotów możesz stworzyć jedne z najpotężniejszych poleceń '/item' dla Bukkit w kilku linijkach! (dwie przykładowe komendy są dołączone do pobrania)
Need help?
Zawsze możesz prosić o pomoc na forum pomocy, chociaż może być szybciej dla Ciebie i łatwiej dla mnie, jeśli najpierw przejrzysz dostępne samouczki i przykłady.
Jeśli dostajesz wiele błędów „indentation error” lub „invalid line”, przeczytaj to wyjaśnienie, aby zrozumieć, na czym polega wcięcie.
Tutorials
Jeśli dopiero zaczynasz z Skript, powinieneś przeczytać podstawowy samouczek. Wyjaśnia, jak krok po kroku napisać nowy skrypt. Jeśli podstawowy samouczek okazał się zbyt krótki, możesz przeczytać bardziej wyczerpujący poradnik DemonPenguin. Istnieją także inne oficjalne tutoriale oraz użytkownicy tworzący własne na forum tutorials.
Documentation
Aby dowiedzieć się więcej o pisaniu skryptów, przeczytaj proszę dokumentację na mojej stronie. Istnieją również listy wszystkich możliwych zdarzeń, warunków, efektów, wyrażeń i typów z przykładami dla każdego z nich.
Zespół
- Njol: Menedżer i programista Skript
- joeuguce99: Pomaga w programowaniu, dodając nowe funkcje
- DemonPenguin: Napisał kilka samouczków i moderuje fora
- mazius123: Zgłasza mnóstwo błędów
- MegaNarwhal: Stworzył stary baner Skript i obraz sygnatury
- MostFunGuy: Ekspert w Skript i dodatkach do Skript. Klej, który trzyma wszystkich razem
Features
- Naturalna składnia
- Jak zapewne zauważyłeś, pisanie skryptów nie jest zbyt trudne. Możesz pisać (prawie) normalne angielskie zdania, a Skript będzie próbował je zinterpretować. Jeśli Skript czegoś nie zrozumie, proszę sprawdź pisownię i/lub odwołaj się do dokumentacji, aby dowiedzieć się, jak napisać zdanie, by Skript je zrozumiał.
- Custom Commands
- Skript może być używany do definiowania niestandardowych poleceń. Te polecenia mogą korzystać ze składni Skript, która umożliwia tworzenie bardzo przyjaznych użytkownikowi poleceń, takich jak jedno z najpotężniejszych poleceń /item dostępnych, oraz każde inne polecenie, które Ty lub inni wymyślicie. Skript ma również ustawienie, które próbuje interpretować wszystkie nieznane polecenia jako efekty. To zasadniczo pozwala na użycie dowolnych efektów, które możesz wstawić do wyzwalaczy, jako polecenie.
- Krótka introdukcja na temat tworzenia niestandardowych poleceń znajduje się na mojej stronie internetowej.
- Please note that Skript is not well suited for creating aliases of other plugins' commands or for creating a command that executes multiple other commands. I suggest to use Commander or some other plugin for this purpose.
- Inventory Menus
- Using SkQuery (An addon for Skript), you can create dynamic inventory menus found in many popular plugins. Want a couple items to display that will do different things such as warps and console commands? This becomes an easy task. Slots can be formatted to do nothing, run a console command and close the menu, or even run a console command and keep the menu open (Usefull for dynamic updating menus that change based on selections)
- Chat Formatting/Json Capability
- Again, using SkQuery (An addon for Skript), you can completely customize how your chat looks from prefix to suffix to player's name to the actual message itself.
- In addition, you can add JSON formatting to your chat in game... Want to highlight a player's name and display a location? A rank? A specific class they have selected? Want to click someones name and have kick/ban/mute/message inventory menu to appear? Easy!
- Independent Scripts
- Triggers can be put into multiple files, and each file is treated independently. This means that you can easily use triggers made by other people by simply copy&pasting their files into the scripts directory. Scripts are thus like small plugins for Skript with the advantage of being able to edit them easily.
- You can find some scripts on the forums, and you can also post your own. Please read the Guidelines before posting a file.
- Item and Block Aliases
- Aliases help to make the config more user-friendly by using comprehensive names for items and blocks, e.g. you can write '
bonemeal' instead of '351:15', or 'any hoe' instead of listing all hoe types. Aliases support data value ranges and can even consist of multiple types. You can easily define your own aliases, e.g. 'blacklisted = TNT, bedrock, obsidian, monster spawner, lava, lava bucket' and there are also many useful predefined aliases in the main config.
- Error Handling
- Skript automatically logs errors in the scripts to the console, e.g. if it can't understand a line of a trigger. It will not cease operation, but simply skip the invalid parts of the scripts, be it a whole trigger (e.g. if the event is invalid) or just a single condition (e.g. if there's a typo in the condition's name). This might lead to unexpected behaviour, so always check for errors in the console after you have changed something.
- Jeśli używasz polecenia '
/skript reload', wszystkie błędy zostaną wysłane graczowi, który użył polecenia (lub wyświetlone w konsoli, jeśli polecenie było uruchomione z niej).
- Automatic Update
- Skript can detect new versions and update itself, either by a command (
/skript update) or automatically when the server starts. You can turn the automatic check on or off, configure whether to check for updates only, and choose whether to download them as well in the config file. If a new version is found, all players with the permission 'skript.admin' will get notified of the new version.
- As Simple or as Complicated as You Want To Go
- Want to create a message that displays after the player logs in? Sure, easy, 2 lines, done in a flash. Want to create a completely custom, unique experience that will WOW your users and astound them? Sure, it's more complex, but it's all worth it to see your users blown away by the customizability of your creations.
- See a user complain that something doesn't work right? Fix the code, reload the Skript (Without restarting the server) and watch them be so confused as to how it was already fixed.
- Extensible
- Java developers can add their own conditions, effects and variables using a provided API.
- Many users have completed addons, and these addons contribute IMMENSE amounts of conditions, expressions and triggers. Some give you access to items in item frames, some let you create scoreboards, and some even let you send resource packs to players.
- These are just some of the addons available
Future Features
- More events/effects/conditions/expressions/loops/etc.
- I'm always looking for ideas ;)
- Triggers which are executed when a player presses a specific button, steps on a predefined pressure plate, etc.
- This sounds awesome but will definitely take a while.
- Full list of planned features:
- https://github.com/Njol/Skript/issues?labels=new+feature&state=open
- What I'm currently working on:
- https://github.com/Njol/Skript/issues/assigned/Njol?state=open
Permissions
Skript działa bez wtyczek uprawnień, ale dostarcza także kilka uprawnień na wypadek, gdy używasz jednej:
- skript.admin
- Umożliwia dostęp do polecenia
/skript. - skript.effectcommands
- Pozwala używać efektów jako poleceń, jeśli polecenia efektów są włączone w konfiguracji.
Możesz także użyć warunku '<player> has/doesn't have the permission "permission.here"' w skryptach, aby sprawdzić, czy gracz ma/nie ma określone uprawnienie. Możesz nawet samodzielnie definiować własne uprawnienia w ten sposób, ale powinieneś zauważyć, że "mypermissions.*" nie daje wszystkich uprawnień zaczynających się od "mypermissions." (Wyjątkiem od tej reguły są uprawnienia innych wtyczek "*" i wszelkie uprawnienia zaczynające się od "skript.").
Pobieranie
Aby zainstalować lub zaktualizować Skript, pobierz najnowszy Skript.jar i zapisz go w katalogu wtyczek serwera. Jeśli instalujesz Skript po raz pierwszy, uruchom i zatrzymaj serwer raz, aby wygenerować pliki konfiguracyjne i kilka przykładowych skryptów.
- Proszę przeczytać changelog podczas aktualizacji i utworzyć kopię zapasową swoich baz danych, dla bezpieczeństwa.
Możesz również pobrać najnowsze aliases-english.sk i aliases-german.sk (zaktualizowane do Minecraft 1.7.2).
Kod źródłowy można znaleźć na github.
Donacje
Jeśli podoba Ci się wtyczka, śmiało możesz przekazać darowiznę :)
Changelog
v2.1.1 (11 marca 2014)
- Główna zmiana
- Naprawiono większość (jeśli nie wszystkie) problemów z bazą danych.
- Proszę nadal utworzyć kopię zapasową starej tabeli zmiennych, aby być bezpiecznym.
- Część naprawy wymagana do zapisywania i ładowania wszystkich zmiennych w głównym wątku serwera, co może obniżyć wydajność.
- Ulepszenia
- Zmieniono aktualizator, aby przestrzegał nowych wytycznych Bukkit
- Ulepszono automatyczne aktualizowanie konfiguracji
- Powinien być ponownie kompatybilny z Java 6
- Zmniejszono szanse na błędy dzięki ulepszonej automatycznej analizie kodu
- Dodano obejście umożliwiające usunięcie narzędzia gracza w zdarzeniu kliknięcia
- Dodano obejście, aby Skript był bardziej kompatybilny z modami, które dynamicznie zmieniają enuma via refleksję. Jeśli robią to nieprawidłowo, Skript nadal nie będzie z nimi kompatybilny.
- Dodano kilka bloków 1.7 do kodu
- Ulepszono/naprawiono efekty wizualne
- Ulepszono listy wyrażeń
- Dodano błąd przy nieudanym podłączeniu do innej wtyczki
- Ulepszono obsługę regionów
- Dodano wyrażenie 'me', które może być używane tylko w poleceniach efektów
- Ulepszono generowanie dokumentacji
- Ulepszono polecenia efektów
- Dodano zaklęcia 'luck' i 'lure', teraz że Bukkit je obsługuje
- Naprawy
- Naprawiono konfiguracje działające tylko z tabami. Można teraz ponownie używać dowolnego wcięcia, a nawet różnych typów w jednym pliku.
- Naprawiono inne drobne problemy związane z konfiguracją
- Naprawiono raportowanie błędów nie zgłaszało całego błędu
- Naprawiono zdarzenie płyty naciskowej, by wywoływało się także dla złotych i żelaznych płyt
- Naprawiono kilka problemów z niestandardowymi plikami językowymi
- Naprawiono „ani ... ani ...” nie działało zgodnie z oczekiwaniami
- Naprawiono niezgłaszanie błędów przy przechowywaniu encji lub innych danych nie-serializowalnych w zmiennych listowych
- Naprawiono hack rejestracji poleceń Bukkit, aby działał także w 1.7.2 R0.4
- Naprawiono używanie angielskiego w poleceniu efektu
- Kod
- Trochę ulepszono wskazówki
- Drobne ulepszenia wydajności
- Dodano szkic obsługi dźwięku
- Całkowicie usunięto cache skryptów, ponieważ nigdy nie działał. To może łamać dodatki.
- Dodano kilka komentarzy do API
2.1 (17 grudnia 2013)
- Uwaga
- ta wersja zawiera dwie zmiany dotyczące zapisywania zmiennych, dlatego przetestuj zapisywanie i ładowanie zmiennych na serwerze testowym przed aktualizacją Skript na twoim serwerze głównym (zwłaszcza jeśli używasz bazy danych - ale upewnij się, że skonfigurowałeś serwer testowy do dostępu do innej bazy danych!)
- dodano obsługę wielu baz danych (to również pozwala zdefiniować zmienne, które nie będą w ogóle zapisywane)
- zmienne nie są już zapisywane jako tekst, lecz w postaci binarnej
- Ulepszone wsparcie dla wtyczek regionów:
- obsługiwane wtyczki: WorldGuard, Factions, PreciousStones i GriefPrevention
- nowe wyrażenia: członkowie/właściciel(e) %region%, regiony w %location%, blok w %region%, sam region
- nowe zdarzenie: wejście/wyjście z regionu
- nowy warunek: %player% jest członkiem/właścicielem %region%, %region% zawiera %location%
- używaj regionów w skryptach jak 'region "nazwa_regionu"', lub zapisz je do zmiennych i używaj zmiennych zamiast tego
- Nowe Wyrażenia
- doświadczenie, indeks %text% w %text%, łączenie/rozłączanie %text% według %text%, długość %text%, podtekst %text% między %number% a %number%, pierwsze/ostatnie %number% znaki %text%, maksymalna liczba stosów przedmiotów %item%, linia %number% lore %item%
- Nowe Efekty
- odtwarzaj efekt (odtwarza efekty bytu i cząstek), zmuszaj %entity% do wysiadania
- Naprawy i ulepszenia
- upuszczone przedmioty, spadające bloki i wyrzucone mikstury mogą teraz mieć typy przedmiotów (np. spadająca ziemia, wyrzucona strzała)
- warianty koni (mulery, osły itd.) mogą być teraz rozróżniane. kolory i ozdoby nie są jeszcze obsługiwane
- świnie mogą być teraz wyposażone w siodła, a konie mogą być wyposażone w siodła, zbroję konia i skrzynie
- dodano możliwość wystrzeliwania pocisków z dowolnej lokalizacji, nie tylko z encji
- dodano możliwość bezpośredniej zmiany identyfikatora przedmiotu lub bloku
- dodano ostrzeżenie przy użyciu 'items in {var::*}'
- dodano możliwość zmiany pasażera pojazdu i odwrotnie
- 'on experience spawn' teraz wywoływane także podczas łowienia
- można teraz zmienić także strzelca pocisku
- biomy mogą być teraz zmieniane
- dodano ostrzeżenie, jeśli zmienna otrzyma wartość, której nie da się zapisać
- 'colour of ...' może teraz działać z większą liczbą przedmiotów (np. barwione szkło), ale to zależy od Bukkit
- ulepszono lokalizację, przede wszystkim w odniesieniu do aliasów
- ulepszono zmieniające wyrażenia
- ulepszono wszystkie wyrażenia, które mają wiele stanów czasowych przy użyciu list wyrażeń, aby zwracały oczekiwaną wartość
- ulepszono wyrażenie 'parse'
- wielokrotne drobne ulepszenia w parsowaniu
- naprawiono działanie <%color expressions%> w tekście
- i wiele innych poprawek błędów
Starszy changelog można znaleźć w odpowiednich plikach.
Komentarze
Proszę nie używaj komentarzy do zadawania pytań, zgłaszania błędu ani proponowania nowej funkcji, ponieważ komentarze mogą bardzo szybko stać się chaotyczne.
Użyj forum pomocy na forum pomocy, forum sugestii na forum sugestii do zgłaszania próśb o funkcje, lub utwórz ticket, aby zgłosić błąd.
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.
Skript.jar 19.03.2014 2 MB
Skript.jar 11.03.2014 2 MB
Skript-2.0.2.zip 30.09.2013 1 MB
Skript.jar 29.12.2012 1 MB
Skript-2.0_beta_6.zip 29.12.2012 1 MB
Skript.jar 26.12.2012 1 MB
Skript-2.0_beta_5.zip 26.12.2012 920 KB
Skript.jar 30.08.2012 793 KB
Skript-1.4.9.zip 30.08.2012 727 KB
Skript.jar 25.08.2012 788 KB
Skript-1.4.8.zip 25.08.2012 723 KB
Skript.jar 25.08.2012 788 KB
Skript-1.4.7.zip 25.08.2012 723 KB
Skript.jar 24.08.2012 788 KB
Skript-1.4.6.zip 24.08.2012 723 KB
Skript.jar 20.08.2012 757 KB
Skript-1.4.5.zip 20.08.2012 695 KB
Skript.jar 19.08.2012 752 KB
Skript-1.4.4.zip 19.08.2012 689 KB
Skript.jar 14.08.2012 734 KB
Skript-1.4.3.zip 14.08.2012 675 KB
Skript.jar 13.08.2012 720 KB
Skript-1.4.2.zip 13.08.2012 665 KB
Skript.jar 12.08.2012 707 KB
Skript-1.4.1.zip 12.08.2012 653 KB
Skript.jar 12.08.2012 707 KB
Skript-1.4.zip 12.08.2012 654 KB
Skript.jar 01.08.2012 647 KB
Skript-1.3.7.zip 01.08.2012 599 KB
Skript.jar 31.07.2012 623 KB
Skript-1.3.6.zip 31.07.2012 579 KB
Skript.jar 28.07.2012 623 KB
Skript-1.3.5.zip 28.07.2012 578 KB
Skript.jar 22.07.2012 619 KB
Skript-1.3.4.zip 22.07.2012 576 KB
Skript-1.0_pre-2.zip 29.02.2012
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.