Skript

Skript

Pozwala administratorom serwerów łatwo modyfikować to, jak Minecraft działa, bez programowania czegokolwiek.

0 polubień • 1 pobrań
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.

Stabilne 2.1.2
Skript.jar 19.03.2014 2 MB
Stabilne 2.1.1
Skript.jar 11.03.2014 2 MB
Stabilne 2.0.2 (zip)
Skript-2.0.2.zip 30.09.2013 1 MB
Stabilne 2.0.2 (jar only)
Skript.jar 30.09.2013 1 MB
Stabilne 2.0.1 (jar only)
Skript.jar 28.09.2013 1 MB
Stabilne 2.0 (zip)
Skript-2.0.zip 15.09.2013 1 MB
Beta 2.0 beta 10 (zip)
Skript-2.0_beta_10.zip 14.07.2013 1 MB
Beta 2.0 beta 9 (zip)
Skript-2.0_beta_9.zip 02.06.2013 1 MB
Beta 2.0 beta 8 (zip)
Skript-2.0_beta_8.zip 31.03.2013 1 MB
Beta 2.0 beta 7 (jar only)
Skript-2.0_beta_7.jar 15.02.2013 1 MB
Beta 2.0 beta 7 (zip)
Skript-2.0_beta_7.zip 15.02.2013 1 MB
Beta 2.0 beta 6 (jar only)
Skript.jar 29.12.2012 1 MB
Beta 2.0 beta 6 (zip)
Skript-2.0_beta_6.zip 29.12.2012 1 MB
Beta 2.0 beta 5 (jar only)
Skript.jar 26.12.2012 1 MB
Beta 2.0 beta 5 (zip)
Skript-2.0_beta_5.zip 26.12.2012 920 KB
Beta 2.0 beta 4 (jar only)
Skript-2.0_beta_4.jar 13.12.2012 1 MB
Beta 2.0 beta 4 (zip)
Skript-2.0_beta_4.zip 13.12.2012 896 KB
Beta 2.0 beta 3 (jar only)
Skript.jar 03.12.2012 1 MB
Beta 2.0 beta 3 (zip)
Skript-2.0_beta_3.zip 03.12.2012 909 KB
Beta 1.5 beta 2 (jar)
Skript-1.5_beta_2.jar 17.10.2012 1 MB
Beta 1.5 beta 2 (zip)
Skript-1.5_beta_2.zip 17.10.2012 857 KB
Beta 1.5 beta (zip)
Skript-1.5_beta.zip 10.10.2012 849 KB
Stabilne 1.4.9 (jar only)
Skript.jar 30.08.2012 793 KB
Stabilne 1.4.9 (zip)
Skript-1.4.9.zip 30.08.2012 727 KB
Stabilne 1.4.8 (jar only)
Skript.jar 25.08.2012 788 KB
Stabilne 1.4.8 (zip)
Skript-1.4.8.zip 25.08.2012 723 KB
Stabilne 1.4.7 (jar only)
Skript.jar 25.08.2012 788 KB
Stabilne 1.4.7 (zip)
Skript-1.4.7.zip 25.08.2012 723 KB
Stabilne 1.4.6 (jar only)
Skript.jar 24.08.2012 788 KB
Stabilne 1.4.6 (zip)
Skript-1.4.6.zip 24.08.2012 723 KB
Stabilne 1.4.5 (jar only)
Skript.jar 20.08.2012 757 KB
Stabilne 1.4.5 (zip)
Skript-1.4.5.zip 20.08.2012 695 KB
Stabilne 1.4.4 (jar only)
Skript.jar 19.08.2012 752 KB
Stabilne 1.4.4 (zip)
Skript-1.4.4.zip 19.08.2012 689 KB
Stabilne 1.4.3 (jar only)
Skript.jar 14.08.2012 734 KB
Stabilne 1.4.3 (zip)
Skript-1.4.3.zip 14.08.2012 675 KB
Stabilne 1.4.2 (jar only)
Skript.jar 13.08.2012 720 KB
Stabilne 1.4.2 (zip)
Skript-1.4.2.zip 13.08.2012 665 KB
Stabilne 1.4.1 (jar only)
Skript.jar 12.08.2012 707 KB
Stabilne 1.4.1 (zip)
Skript-1.4.1.zip 12.08.2012 653 KB
Stabilne 1.4 (jar only)
Skript.jar 12.08.2012 707 KB
Stabilne 1.4 (zip)
Skript-1.4.zip 12.08.2012 654 KB
Stabilne 1.3.7 (jar only)
Skript.jar 01.08.2012 647 KB
Stabilne 1.3.7 (zip)
Skript-1.3.7.zip 01.08.2012 599 KB
Stabilne 1.3.6 (jar only)
Skript.jar 31.07.2012 623 KB
Stabilne 1.3.6 (zip)
Skript-1.3.6.zip 31.07.2012 579 KB
Stabilne 1.3.5 (jar only)
Skript.jar 28.07.2012 623 KB
Stabilne 1.3.5 (zip)
Skript-1.3.5.zip 28.07.2012 578 KB
Stabilne 1.3.4 (jar only)
Skript.jar 22.07.2012 619 KB
Stabilne 1.3.4 (zip)
Skript-1.3.4.zip 22.07.2012 576 KB
Stabilne Skript 1.0 pre-2
Skript-1.0_pre-2.zip 29.02.2012
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