Skocz do zawartości

Rekomendowane odpowiedzi

Dołączona grafika

Co to jest Skript?

Wtyczka Skript pozwala nam na bardzo proste tworzenie dodatków na swój serwer minecraft. Nie musimy znać żadnego języku programowania, lecz jakakolwiek wcześniejsza wiedza na temat C++/ Javy nam nie zaszkodzi, a wręcz pomoże zrozumieć funkcje pluginu. Przyda nam się także dobra znajomość języka angielskiego/ niemieckiego, ponieważ wszystkie zdarzenia, efekty, warunki opierają się na tych językach.

Dołączona grafika

Przydatne informacje.

Autor wtyczki: Njolbrim

Wersja MC, na której działa wtyczka: 1.1-1.7.4

Aktualna wersja: 2.1 (1.7.2/1.7.4)

Polski support: Skr*pt.pl lub Bukk*t.pl

Dokumentacja: Kliknij tutaj, aby zobaczyć!

W dokumentacji są zawarte wszystkie rzeczy,

które pomogą nam w tworzeniu swoich skryptów.

Dołączona grafika

Jak to działa?

Wszystkie skrypty, które stworzyliśmy lub pobraliśmy powinny znajdować się w specjalnym folderze dzięki czemu nasza wtyczka odczyta każdą linijkę ów skryptu, a następnie przetworzy ją na zrozumiały język dla Javy, na którym działa Craftbukkit oraz Minecraft.

Dołączona grafika

Komendy.

/skript lub /skript help - wyświetlenie komend wtyczki.

/skript reload [all, config, aliases, scripts, <script&gt] - przeładowanie pliku konfiguracyjnego, aliasów oraz wszystkich skryptów / pliku konfiguracyjnego / aliasów / wszystkich skryptów / wybranego skryptu.

/skript enable [all, <script&gt] - włączanie wszystkich skryptów/ wybranego skryptu.

/skript disable [all, <script&gt] - wyłączanie wszystkich skryptów/ wybranego skryptu.

/skript update - informacje o aktualizacjach wtyczki.

Dołączona grafika

Instalacja oraz omówienie plików.

Instalacja.

1. Pobierz najnowszą wersje Skript.jar

2. Wrzuć pobrany plik do folderu plugins.

3. Włącz serwer, aby wygenerowały się pliki konfiguracyjne, aliasy, katalogi oraz przykładowe skrypty.

Omówienie plików.

plugins/Skript.jar - wtyczka obsługująca nasze skrypty.

plugins/Skript - główny katalog wtyczki, gdzie znajdują się pliki konfiguracyjne, skrypty, logi, aliasy etc.

plugins/Skript/config.sk - główny plik konfiguracyjny wtyczki.

plugins/Skript/aliases-english.sk - aliasy przedmiotów w języku angielskim.

plugins/Skript/aliases-german.sk - aliasy przedmiotów w języku niemieckim.

plugins/Skript/scripts - katalog do, którego wrzucamy skrypty.

plugins/Skript/variables.csv - plik przechowujący zmienne.*

plugins/Skript/logs - katalog, w którym znajdują się zapisane logi wywołane przez skrypty.*

plugins/Skript/backups - katalog, w którym znajdują się kopie zapasowe plików zmiennych.*

* - zostanie utworzone tylko wtedy, kiedy będzie konfiguracja tego wymagała.

Dołączona grafika

Omówienie pliku konfiguracyjnego.

language: english

Wybieramy język, który będzie obsługiwał skrypty. Domyślnie mamy do wyboru język angielski oraz niemiecki - english/ german.

check for new version: true

Sprawdzanie czy jest dostępna nowa wersja. Wybór: true/ false - prawda, fałsz.

update check interval: 12 hours

Co ile czasu ma sprawdzać dostępność nowej wersji. Tylko wtedy jeżeli check for new version jest ustawione na true.

automatically download new version: false

Automatyczne pobieranie nowej wersji. Wybór: true/ false - prawda, fałsz.

enable effect commands: false

Czy można bezpośrednio używać efektów jako komendy. Wybór: true/ false - prawda, fałsz. Jeżeli jest ustawiona wartość true należy nadać specjalne uprawnienia graczowi/ grupie, aby mógł tego używać - skript.effectcommands. Domyślnie opcja jest wyłączona także dla OPów ze względu na możliwe zniszczenie serwera.
Nie polecam używania tego. Przykładowe komendy:
!heal player - leczy gracza.
!ban all players - banuje wszystkich graczy.
!create explosion of force 10000 - tworzenie wybuchu o sile 10000.

Jeżeli opcja enable effect commands jest prawdą możemy ustawić prefiks, dzięki któremu będziemy mogli używać ów komend.

effect command token: !
variables backup interval: 2 hours

Co jaki czas ma być wykonywana kopia zapasowa zmiennych.

database:

Ustawienia dotyczące przechowywania zmiennych.

type: none

Typ przechowywania zmiennych. Dostępne: MySQL oraz SQLite. Jeżeli jest opcja none to wszystkie pliki będą zapisywane w bazie CSV - variables.csv

monitor changes: falsemonitor interval: 20 seconds

Jeżeli opcja monitor changes będzie włączona (true) to zmienne będą wielokrotnie sprawdzane w celu dostępności ich aktualizacji. Wybór: true/ false - prawda, fałsz. Opcja monitor interval odpowiada za sprawdzanie co ile czasu ma działać opcja monitor changes.

host: localhostport: 3306user: rootpassword: passdatabase: skript

Konfiguracja bazy danych MySQL.

file: ./plugins/Skript/variables.db

Konfiguracja bazy danych SQLite.

date format: default

Format daty. Przykładowe formaty daty dostępne tutaj.

verbosity: normal

Określenie ile informacji będzie przechowywanych. Dostępne wartości: low, normal, high, very high, debug.

plugin priority: high

Priorytet pluginu. Dostępne wartości: lowest, low, normal, high, highest.
Opcja przydaje się jeżeli chcemy zastąpić jakąś komendę z innego pluginy, efekt etc.

log player commands: true

Zapisywanie logów używanych komend przez gracza. Wybór: true/ false - prawda, fałsz.

number accuracy: 2

Ile cyfr ma być wyświetlanych po kropce przy wyświetlaniu liczby.

maximum target block distance: 100

Maksymalna odległość od celu.

case sensitive: false

Czy wtyczka ma zwracać uwagę na wielkość liter przy efekcie replace, warunku contains oraz is/ is not. Wybór: true/ false - prawda/ fałsz.

disable variable conflict warnings: false

Wyłączenie wiadomości przy możliwym konflikcie zmiennych. Wybór: true/ false - prawda/ fałsz.

version: 2.0.2

Wersja wtyczki. NIE ZMIENIAJ TEJ WARTOŚCI.




Dołączona grafika

Zdarzenia, efekty, warunki, pętle, komendy.

Zdarzenia.

Zdarzenia wykorzystujemy zawsze jeżeli chcemy wywołać dany efektów. Przykład:

on explode:        cancel event

Jeżeli zdarzeniem będzie wybuch zostanie wykonany efekt cancel event.


Efekty.

Efektu możemy używać w zdarzeniach (przykład wyżej) lub w komendach. Przykład:

heal player

Uleczenie gracza.



Warunki.

Warunki generalnie są połączone z efektami. Aby został wykonany efekt musi zostać spełniony warunek.

if player has permission "skript.mpc":	damage player by 2 hearts

Jeżeli gracz ma uprawnienie skript.mpc zostanie odebrane mu 2 serduszka (punkty życia).


Pętle.

Pętle jak sama nazwa wskazuje możemy zapętlać coś, aby nie musieć wykonywać efektu dla każdego elementu.

loop all players:	send ":-)" to loop-player

Zapętlamy wszystkich graczy, a następnie wysyłamy wiadomość ":-)" do zapętlonego gracza.


Komendy.

Możemy stworzyć swoją komendy, która wykona efekt. Do komend zostało dodanych kilka wartości, które mogą nam się przydać. Krótki opis wartości.

command /nazwakomendy <argumenty>:	description: Opis komendy.	usage: Użycie komendy.	permission: Uprawnienia do komendy.	permission message: Wiadomość jeżeli gracz przy wykonaniu komendy nie ma danych uprawnień.	executable by: Przez co może być wykonana komenda - players/console/players and console  	aliases: Aliasy komendy - /nk, /n, /k.	trigger:		Efekt komendy.

Przykładowa komenda:

command /helloworld [<player>]:        permission: hello.world	executable by: players	aliases: /hw	trigger:			if arg is not set:			        send "Hello World!" to player		        else if argument is online:			        send "Hellow World!" to argument

Omówię każdą linijkę komendy :-)

command /helloworld [<player&gt]: - tworzenie komendy.
permission: hello.world - uprawnienia do użycia komendy.
executable by: players - kto może użyć komendy.
aliases: /hw - aliasy komendy.
trigger: - wywołanie komendy.
if arg is not set: - jeżeli argument nie jest określony.
send "Hello World!" to player - wysyłanie wiadomości "Hello World!" to gracza wykonującego komende.
else if argument is online: - jeżeli argument jest aktywny.
send "Hellow World!" to argument - wysyłanie wiadomości "Hello World!" to gracza - argumentu.





Dołączona grafika

Przygotowania do tworzenia swojego skryptu.

Aby rozpocząć tworzenie skryptu będzie nam potrzebny edytor tekstowy, np. Notatnik. Jeżeli chcemy sobie ułatwić sprawę i skorzystać z dobrego, darmowego edytora tekstowego to polecam skorzystać z Notepad++, do pobrania na stronie:

http://notepad-plus-plus.org/'>>http://notepad-plus-plus.org/

Jeżeli jeszcze bardziej chcemy sobie ułatwić sprawę z tworzeniem skryptów możemy użyć kolorowania składni skryptów w edytorze Notepad++. Szczegółowy poradnik dostępny tutaj:

http://dev.bukkit.org/bukkit-plugins/skript/forum/misc/54386-release-notepad-udl-for-skript-updated-august-28'>>http://dev.bukkit.org/bukkit-plugins/skript/forum/misc/54386-release-notepad-udl-for-skript-updated-august-28

Przykład kolorowania składni:

Dołączona grafika

Dołączona grafika

Tworzenie swojego skryptu.

Aby rozpocząć tworzenie swojego skryptu musimy zapoznać się z podstawowymi funkcjami wtyczki, które zostały omówione wyżej.

Jeżeli chcemy przejść na poziom wyżej to możemy dokładnie przeczytać dokumentacje pluginu.

Wskazówka:

Po każdym znaku : musisz dać o jeden tabulator/ lub 8 spacji więcej niż poprzednio. Polecam używanie TABów.

Omówię teraz kilka prostych skryptów, abyś mógł czegoś się nauczyć i napisać swój własny skrypt!

Pierwszy skrypt.

on rightclick holding a sugar:	if name of player's tool is "&d&lKokaina":		if player has permission "kokaina":			send "&f[&bS&f] &7Pamietaj, ze mozesz zginac! Uzyles kokainy na wlasna odpowiedzialnosc."			wait 2 seconds			broadcast "&f[&bS&f] &7Gracz &6%player% &7byl na tyle odwazny, ze uzyl kokainy."			remove 1 sugar named "&d&lKokaina" from player			execute console command "/effect %player% 1 40 2"			execute console command "/effect %player% 4 40 5"			execute console command "/effect %player% 9 40 5"			execute console command "/effect %player% 15 40 1"			wait 6 seconds			send "&f[&bS&f] &7I jak, fajnie sie czujesz? To jeszcze nie koniec." to player			wait 10 seconds			loop 5 times:				damage player by 1 hearts				wait 1 seconds			send "&f[&bS&f] &7I na co Ci to bylo?" to player			wait 10 seconds			send "&f[&bS&f] &7Mama wie, ze cpiesz?" to player			wait 10 seconds			execute console command "/effect %player% clear"			send "&f[&bS&f] &7Zabawiles sie? Moze to powtorzysz?" to player			stop		else:			send "&f[&bS&f] &7Nie masz uprawnien, aby uzyc kokainy."			stop	else:		stop
on rightclick holding a sugar:

Zdarzenie: kliknięcie PPM (Prawy Przycisk Myszy) trzymając cukier.

if name of player's tool is "&d&lKokaina":

Warunek: jeżeli nazwa narzędzia gracza to "&d&lKokaina"

if player has permission "kokaina" or "sopher":

Warunek: jeżeli gracz posiada uprawnienie "kokaina" lub "sopher".

send "&f[&bS&f] &7Pamietaj, ze mozesz zginac! Uzyles kokainy na wlasna odpowiedzialnosc."

Efekt: wysyłanie wiadomości.

wait 2 seconds

Efekt: czekanie 2 sekund.

remove 1 sugar named "&d&lKokaina" from player

Efekt: usunięcie 1 cukru z nazwą "&d&lKokaina" od gracza.

execute console command "/effect %player% 1 40 2"

Efekt: wykonanie komendy przez konsole.

loop 5 times:

Pętla: zapętlanie efektu 5 razy.

else:

Warunek: jeżeli warunek "wyżej" nie jest spełniony.



Drugi skrypt.

command /bug [<text>]:	trigger:		if argument is not empty:			log "%player% zglosil bug o tresci: %argument%" to "bugi"			send "&f[&bS&f] &7Zgloszenie buga przebieglo pomyslnie! Pamietaj, ze jedno zgloszenie wystarczy." to player		else:			send "&f[&bS&f] &7Uzyj dokladnej komendy - &e/bug <tutaj_opisz_bug>" to player
command /bug [<text>]:

Komenda: tworzenie komendy /bug z niewymaganym argumentem tekstowym.

if argument is not empty:

Warunek: jeżeli argument nie jest "pusty".

log "%player% zglosil bug o tresci: %argument%" to "bugi"

Efekt: zapisywanie wiadomości z zmienną gracza (%player%) oraz z zmienną tekstową (%argument%) do pliku "bugi" w folderze plugins/Skript/logs.

send "&f[&bS&f] &7Zgloszenie buga przebieglo pomyslnie! Pamietaj, ze jedno zgloszenie wystarczy." to player

Efekt: wysyłanie wiadomości do gracza.



Trzeci skrypt.

on death of player:    strike lightning effect at the player
on death of player:

Zdarzenie: przy śmierci gracza.

strike lightning effect at the player

Efekt: uderzenie piorunem w miejscu gracza.



Dołączona grafika

Dodatki do wtyczki.

Uważasz, że Skript ma mało możliwości? To nie problem, możesz użyć gotowych dodatków do wtyczki, aby rozszerzyć sobie pole do tworzenia skryptów. Publiczne rozszerzenia:

SkriptPlus - kliknij tutaj, aby zobaczyć.

HookSk - kliknij tutaj, aby zobaczyć.

Skinteractions - kliknij tutaj, aby zobaczyć.

SkriptTag - kliknij tutaj, aby zobaczyć.

SpectateHook - kliknij tutaj, aby zobaczyć.

Możesz także stworzyć swoje rozszerzenie do Skript'a wykorzystując dostępne API.

Wszystko jest wyjaśnione tutaj!

Dołączona grafika

Zakończenie.

Myślę, że dzięki tej prezentacji wiesz już do czego służy wtyczka Skript, nauczyłeś się podstawowych elementów do tworzenia skryptów oraz stworzyłeś swój pierwszy skrypt! :)




W miarę moich możliwości temat będzie rozwijany :)

Zakaz kopiowania treści tematu, użytych grafik.

Wszystkie skrypty użyte w tym temacie są mojego autorstwa i zezwalam na ich dowolne używanie.

Odnośnik do komentarza
https://skript.pl/temat/49-skript-z-czym-to-si%C4%99-je/
Udostępnij na innych stronach

Poradnik świetny, chociaż jestem amatorem i piszę skrypty (malutkie :P) to dowiedziałem się kilku rzeczy. Zmieniłbym kodowanie bo (przynajmniej na androidzie) wygląda strasznie, nie "wytabowane" i szczerze mówiąc, początkujący mogą mieć problem ze zrozumieniem "stylu" kodu ;).

Odnośnik do komentarza
https://skript.pl/temat/49-skript-z-czym-to-si%C4%99-je/#findComment-160
Udostępnij na innych stronach

  • 3 tygodnie później...

@up Zamienne to coś co może być warunkiem i może zostać zmienione. Wykorzystanie czegoś takiego to np. 1 razowa komenda.

if {zmienna.%player%} is false:

give 1 diamond to player:

set {zmienna.%player%} to true

else

send "Już użyłeś komendy"

Sorka za błędy, pisane z tel. Liczę że zrozumiałeś ;)

Wysyłane z mojego WT19i za pomocą Tapatalk 2

Odnośnik do komentarza
https://skript.pl/temat/49-skript-z-czym-to-si%C4%99-je/#findComment-513
Udostępnij na innych stronach

  • 3 tygodnie później...

			execute console command "/effect %player% 1 40 2"			execute console command "/effect %player% 4 40 5"			execute console command "/effect %player% 9 40 5"			execute console command "/effect %player% 15 40 1" 

 

Efekt komendą? Przecież to zaspami adminom czat, a co do reszty super! Plus. :)

Chociaż jest pokazane jak wykonać komendę. :P+

Odnośnik do komentarza
https://skript.pl/temat/49-skript-z-czym-to-si%C4%99-je/#findComment-1373
Udostępnij na innych stronach

  • 3 tygodnie później...

@UP

Nie. Specjalnie napisałem do njola, żeby mi wyjaśnił jak to działa. W skryptach większość używa tabulatorów, bo jest to wygodniejsze niż zamiast kliknięcia jednego tabulatora musimy kliknąć aż 8 spacji. Musimy jeszcze pamiętać, że przy pisaniu skryptu trzeba o tym zdecydować na początku - nie możemy tego mieszać, bo skrypt nie będzie działać. Sam sobie to sprawdź :)

Odnośnik do komentarza
https://skript.pl/temat/49-skript-z-czym-to-si%C4%99-je/#findComment-2107
Udostępnij na innych stronach

  • 1 rok później...
Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...