Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Skript - z czym to się je? [Obszerny poradnik | Instalacja | Komendy | Tworzenie | Dodatki | Ciekawostki | SkriptPlus]


Sopher.

Rekomendowane odpowiedzi

Opublikowano

1391973603-U336505.png

 

 

skriptpl_1392888143__13.png

skriptpl_1392891534__i1.png - aktualne || skriptpl_1392891545__i2.png - wymagające poprawek || skriptpl_1392891556__i3.png - nieaktualne

 

skriptpl_1392891534__i1.png 01. Co to jest Skript?                                                                                                                                 

skriptpl_1392891534__i1.png 02. Przydatne informacje.                                                                                                                          

skriptpl_1392891534__i1.png 03. Jak to działa?                                                                                                                                                   

skriptpl_1392891534__i1.png 04. Komendy.                                                                                                                                                         

skriptpl_1392891534__i1.png 05. Instalacja oraz omówienie plików.                                                                                                                     

5.1. Instalacja.

5.2. Omówienie plików.

skriptpl_1392891534__i1.png 06. Instalacja

skriptpl_1392891534__i1.png 07. Omówienie plików.

skriptpl_1392891534__i1.png 08. Omówienie pliku konfiguracyjnego

skriptpl_1392891534__i1.png 09. Zdarzenia, efekty, warunki, pętle, komendy.

skriptpl_1392891534__i1.png 10. Przygotowania do tworzenia skryptu.

skriptpl_1392891534__i1.png 11. Tworzenie skryptu.

skriptpl_1392891534__i1.png 12. Dodatki do wtyczki.

12.1. SkriptPlus.

skriptpl_1392891534__i1.png 13. Ciekawostki.

13.1. Ciekawostka #1 - informacja o dostępnej nowej wersji skryptu.

14. Zakończenie.

 
 

skriptpl_1392892111__1.png

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.

 

 

skriptpl_1392892145__2.png

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: Skript.pl

Dokumentacja: Kliknij tutaj, aby zobaczyć!

 

W dokumentacji są zawarte wszystkie rzeczy,

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

 

skriptpl_1392892167__3.png

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.

 

 

skriptpl_1392892205__4.png

 

 

 

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

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

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

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

/skript update - informacje o aktualizacjach wtyczki.

 

 

 

 

 

 

skriptpl_1392892253__5.png

 

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.

 

 

 

 

skriptpl_1392892297__6.png

 

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: false
monitor 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: localhost
port: 3306
user: root
password: pass
database: 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

docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html
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.

 


 

 

 

skriptpl_1392892369__7.png

 

 

 

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>]: - 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.
 

 

 

 

 

skriptpl_1392892434__8.png

 

 

 

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/

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

Przykład kolorowania składni:

 

a5upg7.jpg

 

 

 

 

 

skriptpl_1392892485__9.png

 

 

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.

 

 

 


skriptpl_1392892650__10.png

 

 

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

dev.bukkit.org/bukkit-plugins/skript/forum/misc/59406-addon-skript-plus-v1-4-2

HookSk

dev.bukkit.org/bukkit-plugins/skript/forum/misc/61199-addon-hook-sk-v0-3

Skinteractions

dev.bukkit.org/bukkit-plugins/skript/forum/misc/62086-addon-skinteractions-v1-0-aka-the-multiverse-update

SkriptTag

dev.bukkit.org/bukkit-plugins/skript/forum/misc/62209-add-on-skript-tag

SpectateHook

dev.bukkit.org/bukkit-plugins/skript/forum/misc/61249-addon-spectate-hook

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

njol.ch/projects/skript/API/

SkirptPlus
<napis dodam później ;_;>

 

 

 

Największym dodatkiem do naszej wtyczki jest SkriptPlus. W kilkunastu linijkach postaram się opisać najlepsze opcje rozszerzenia. Warto się tym zainteresować jeżeli chcemy tworzyć skrypty na wyższym poziomie, z większą ilością opcji.

 

 

[E] - efekt.

[W] - wyrażenie.

[Z] - zdarzenie.

 
 
[E] <EFEKTY WIZUALNE> Najbardziej znaną opcją w tym rozszerzeniu jest tworzenie efektów. Sam to wykorzystałem w moim skrypcie - SopherEffects. Mój skrypt umożliwia tworzenie efektów w wielu miejscach, używanie ich przy "chodzeniu", używanie jednorazowo oraz wiele więcej :-)

play %number-1% of effect %string% with data %number-2% at %location%

%numer-1% - siła efektu.
%string% - nazwa efektu.
%number-2% - "rodzaj" efektu.
%location% - lokalizacja gdzie będzie odtwarzany efekt.
 
Lista efektów dostępna tutaj:

http://skript.pl/sopher/skriptplus/efekty/

 
Przykładowe wykorzystanie:

on book edit:
	play 10 of effect "heart" with data 1 at event-player

 
 
[E] <EFEKTY DŹWIĘKOWE> Rozszerzenie oprócz wywoływania efektów wizualnych umożliwia nam wywoływanie dźwięków.

play %string% at %location% with pitch %number%

%string% - nazwa dźwięku.
%location% - lokalizacja gdzie będzie odgrywany efekt.
%number% - siła dźwięku.
 
Lista efektów dostępna tutaj:

http://skript.pl/sopher/skriptplus/efekty2/

 
Przykładowe wykorzystanie:

on join:
	loop all players in radius 5 of player:
		play "random.pop" at loop-player with pitch 10

 
 
[E] <TABLICA WYNIKÓW> Chyba każdy wie co to jest tablica wyników (ang. scoreboard). Zaczynamy tworzenie owego scoreboarda :-)
 
 
Tworzenie tablicy:

display [score]board named %string% to %player%

%string% - nazwa tablicy wyników.
%player% - gracz, dla którego tworzymy tablice.
 
Tworzenie wyniku:

make score [of] %string% in [score]board of %player% [to] %number%

%string% - nazwa wyniku.
%player% - gracz, dla którego tworzymy wynik.
%number% - wartość wyniku.
 
Ustawianie pozycji:

move display of %player% to %enum based string%

%player% - gracz, dla którego ustawiamy pozycje tablicy wyników.
%enum based string% - nazwa pozycji.
 
Dostępne pozycje:

  • SIDEBAR
  • BELOW_NAME
  • PLAYER_LIST

Usuwanie wyniku:

nullify score [of] %string% in [score]board of %player%

%string% - nazwa wyniku.
%player% - nazwa gracza, dla którego usuwamy wynik.
 
Przykładowe wykorzystanie:

every 200 ticks:
	loop all players:
		display board named "&9FORUM" to loop-player
		make score "&bSkript.pl" in board of loop-player to 1
                move display of loop-player to "SIDEBAR"

Kod powyżej wyświetli nam tablice wyników na pozycji SIDEBAR (prawe okno ekranu) z nazwą &9FORUM o wartości &bSkript.pl.

scoreboard.PNG
 
 

 

[E] <TWORZENIE RECEPTURY> Dość ciekawym efektem jest tworzenie nowej receptury. Nie musisz już wgrywać dodatkowych wtyczek, aby to obsługiwały :-)

register new shapeless recipe for %itemtype-1% using %itemtype-X%, %itemtype-X%, %itemtype-X%, %itemtype-X%, %itemtype-X%, %itemtype-X%, %itemtype-X%, %itemtype-X%, %itemtype-X%

%itemtype-1% - przedmiot, który będzie tworzony.
%itemtype-X% - przedmiot wymagany do stworzenia przedmiotu, który będzie tworzony ;_____;
 
Przykładowe wykorzystanie:

on script load:
	register new shapeless recipe for diamond of sharpness 10 named "Diamencik" using emerald, emerald, emerald, emerald, coal, emerald, emerald, emerald, emerald

Kod powyżej umożliwi stworzenie diamentu z efektem ostrość 10 oraz nazwą Diamencik używając 8 emeraldów oraz 1 węgla.


XXX                   X - emerald
XOX                  O - węgiel
XXX

 

 

 
 

 
[E] <WIRTUALNE MENU> Mało Ci? Przecież możesz stworzyć jeszcze wirtualne menu.

show %string-1% with %number% row[s] named %string-2% to %player%

%string-1% - lista przedmiotów, która będzie wyświetlana.
%number% - liczba "wierszy" z slotami (1 wiersz = 9 slotów)
%string-2% - nazwa wirtualnego menu.
%player% - gracz, u którego pokaże się menu.
 
Dość ciekawym rozwiązaniem jest możliwość zaawansowanego tworzenia przedmiotów w menu.

<tag>;<tag data>;

<tag> - nazwa tagu.
<tag data> - wartość tagu.
 
Dostępne tagi:

  • s - numer slotu w menu.
  • i - id przedmiotu.
  • n - nazwa przedmiotu.
  • l - opis przedmiotu.
  • c - komenda wykonywana po kliknięciu na przedmiot.

Zastosowanie:

s;1;i;3;n;&cDIRT;l;&7Linijka 1 || &8Linijka 2;c;time set 0

Pierwszy slot, id przedmiotu to 3, nazwa przedmiotu to &cDIRT, opis przedmiotu to &7Linijka 1 || &8Linijka 2, komenda to time set 0.
Jeżeli chcemy przejść do nowej linijki w opisie przedmiotu używamy ||
 
Przykładowe wykorzystanie:

options:
	nazwa: Skript.pl
	dirt: s;1;i;3;n;&cDIRT;l;&7Linijka 1 ||&8Linijka 2 ;c;time set 0
	
command /skript:
	trigger:
		show "{@dirt}" with 1 row named "{@nazwa}" to player

Jak widzicie zamiast tworzyć przedmiot bezpośrednio w efekcie stworzyłem opcje. Estetyczniej to wygląda i łatwo całość edytować.

menu.PNG
 

 

 

 
[E] <UKRYWANIE/ POKAZYWANIE GRACZY> Rozszerzenie oferuje nam także ukrywanie/ pokazanie gracza dla określonego gracza.

hide %players-1% from %players-2%

%players-1% - gracze ukrywani.
%players-2% - dla jakich graczy ma ukrywać graczy ;____;
 

reveal %players-1% to%players-2%

%players-1% - gracze pokazywani.
%players-2% - dla jakich graczy ma pokazywać graczy ;____;
 
Przykładowe wykorzystanie:

on join:
	hide all players from player
	loop all players:
		if loop-player has permission "sopher.vip":
			reveal loop-player to player

Przy wejściu ukrywa wszystkich graczy. Jeżeli dany gracz ma uprawnienie sopher.vip jest on odkrywany dla gracza. Reasumując, każdy gracz widzi tylko gracza, który posiada uprawnienie sopher.vip.
 
 
 
 
[W] <TEKST Z STRONY WWW> Całość jest opisania w Ciekawostka #1.

text from [url] %string%

%string% - adres strony.
 
 

 
[W]<WIADOMOŚĆ DNIA> Wiadomość dnia, inaczej message of the day (MOTD).

[the] (motd|message of the day)

 
Przykładowe wykorzystanie:

on server ping:
	chance of 50%:
		set motd to "Wiadomosc dnia #1"
		stop
	set motd to "Wiadomosc dnia #2"

Przy wyświetlaniu listy serwerów mamy 50% szans, że wyświetli nam się MOTD serwera jako "Wiadomosc dnia #1", jeżeli warunek nie zostanie spełniony zostanie wyświetlone MOTD jako "Wiadomość dnia #2".
 

 

 

[W]<ILOŚĆ SLOTÓW> Maksymalna liczba slotów na serwerze.

[the] [max] player count

Przykładowe wykorzystanie:

command /zmien [<integer>]:
	trigger:
		set max player cout to arg

Komenda /zmien <ilość> pozwala nam na zmianę ilości slotów na serwerze.
 

 

 

 

[Z]<PORUSZANIE SIĘ> Zdarzenie - przy jakimkolwiek ruchu.

on any movement:

Przykładowe wykorzystanie:

on join:
	set {lokalizacja.%player%} to location of player
	
on any movement:
	teleport player to {lokalizacja.%player%}

Po wejściu na serwer nie możemy się poruszać - cały czas teleportuje nas w jedno miejsce.
Nie możemy także ruszać kursorem.
 
 
 
 
To by było na tyle, jest jeszcze znacznie więcej, lecz wymieniłem część tego co sam używam :)
Dokumentacja SkriptPlus:

http://skriptplus.weebly.com/documentation.html

 

 

 

 

skriptpl_1392892714__11.png

 

 

Rozszerzenie SkriptPlus oferuje nam możliwość pobrania tekstu (kodu) z strony www. Strona może mieć rozszerzenie .html/ .xml czy nawet .txt. Dlaczego tego nie wykorzystać w prosty sposób i mieć dodatek do swojego skryptu? :)

options:
	version: 1.0
	
on script load:
	set {version} to "{@version}"
	set {_x} to text from url "http://www.skript.pl/sopher/mpc.xml"
	if {version} isn't {_x}:
		set {version} to true

on join:
	player is op
	if {version} is true:
		wait 2 seconds
		send "&cJest dostepna nowa wersja skryptu. Mozesz ja pobrac na: http://skript.pl/nowyskrypt"

Prosty kod, który nam to umożliwi. Przy ładowaniu skryptu sprawdza czy jest dostępna nowa wersja skryptu na podstawie obecnej wersji skryptu, którą zdefiniowaliśmy w opcjach oraz przy użyci funkcji SkriptPlus'a. Jeżeli operator wejdzie na serwer zostanie poinformowany o dostępnej nowej wersji skryptu.

options:
	version: 1.0

Tworzenie nowej opcji, która przechowuje obecną wersje skryptu.

on script load:

Zdarzenie: przy ładowaniu skryptu.

set {version} to "{@version}"

Efekt: ustawianie zmiennej {version} na tekst z opcji version.

set {_x} to text from url "http://www.skript.pl/sopher/mpc.xml"

Efekt: ustawianie zmiennej tymczasowej na tekst z strony www o podanym adresie.

if {version} isn't {_x}:
		set {version} to true

Warunek: jeżeli zmienna {version} nie jest zmienną tymczasową {_x}.
Efekt: ustawianie zmiennej {version} na wartość true (prawda).

on join:

Zdarzenie: przy wejściu na serwer.

player is op

Warunek: jeżeli gracz jest operatorem.

if {version} is true:
		wait 2 seconds
		send "&cJest dostepna nowa wersja skryptu. Mozesz ja pobrac na: http://skript.pl/nowyskrypt"

Warunek: jeżeli zmienna {version} ma wartość true (prawda).
Efekt: czekanie 2 sekund.
Efekt: wysyłanie wiadomości.
 
Kilka wskazówek:

  • przy każdej nowej aktualizacji skryptu powinno zmienić się opcję version.
  • przy każdej nowej aktualizacji skryptu powinno zmienić się tekst na naszej stronie www na obecną wersję.
  • jeżeli nie chcesz wykupywać serwera www możesz założyć darmową strone np. na cba.pl

Skrypt można zrobić trochę krótszy, lecz chciałem pokazać jak działają zmienne tymczasowe.
 

 


 

skriptpl_1392892772__12.png

 

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! :)

 

Podziękowania:

@Dziobak - użycie na początku tematu, lel. Dzięki leniu.

 

Wszystkie linki nie zostały tutaj umieszczone w celu reklamy forum/ serwisu etc.

Wszystko zostało użyte do celów prezentacji wtyczki.

 

 

Jeżeli chcesz, abym coś Ci wyjaśnił napisz po prostu posta w tym temacie, a możliwe, że zrobię to :)

 

 

 

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.

 

Ostatnia aktualizacja: 03-04-2014

 

Jeżeli moderatorowi coś nie pasuje w prezentacji niech nic nie edytuje.

Proszę najpierw o kontakt ze mną.

Opublikowano

Mam nadzieje, że nie zamkniesz, lub nie będzie aktualizował tego tematu, po 3 dniach, jak 54646874687 podobnych. Co do samego tematu, poznałem wiele nowych rzeczy ;)

1394047278-U990178.png

Opublikowano

@UP

Jeżeli ktoś będzie chciał, abym coś mu wyjaśnił czy coś innego związanego z skryptami to oczywiście dodam to w temacie, zamiast odpisywać na miliardy wiadomości. Myślę, że jest to lepsze rozwiązanie.

 

@Topic

Dodałem ciekawostkę do tematu :-)

Potem poprawię bbcode (odstępy między kodem, a komentarzem), ponieważ nie mam już dzisiaj do tego siły.

Opublikowano

No to mam konkurenta eh, tak dobrze rozbudowałeś ten poradnik, że ja przy tym padam nisko ;D Świetnie !

avatar_14518339374nlip.jpg


 


 


,,Vape is good, vape is my life"

Opublikowano

Ostatnio szukałem dodatków do skripta i dzięki tobie znalazłem! Dzięki wielkie, trudno będzie z tobą wygrać :c

3foc.png

Szukam sponsora na prawdopodobnie jeden z najlepszych serwerów RolePlay jaki powstanie. Na razie tylko zarys.

Opublikowano

AKTUALIZACJA!

 

  • Dodano spis treści.
  • Dodano nową grafikę oraz ułożenie.
  • Kilka poprawek.

 

Myślę, że teraz prezentacja wygląda bardziej estetycznie :)

Opublikowano

Bardzo dobry Tutorial, na pewno dużo ludzi z niego skorzysta. 

Wszystko ładnie opisane i do tego miłe dla oka.

 

PLUS.

 

PS: Powodzenia w konkursie :)

50  -  100   200  -  300  -  400  -  500  -  600  -  700  -  800  -   900  -   1000

 

 

 

 

Opublikowano

Konkurs się zakończył, temat otwieram za zgodą @BR3ND .

 

Jeżeli macie jakieś propozycje to czekam na nie :)

Możecie też podsyłać tematy, które mogę opisać w prezentacji wtyczki.

Opublikowano

Konkurs się zakończył, temat otwieram za zgodą @BR3ND .

 

Jeżeli macie jakieś propozycje to czekam na nie :)

Możecie też podsyłać tematy, które mogę opisać w prezentacji wtyczki.

Mógłbyś zrobić drugą część poradnika, gdzie znajdzie się poradnik oraz informację na temat Skript +? 

1394047278-U990178.png

Opublikowano

Wolałbym wszystko zrobić w jednym temacie. Jutro postaram się zacząć opisywać wszystkie funkcje Sk+.

Razem z kilkoma osobami tworzymy nowe rozszerzenie do Skripta, więc pewnie też tutaj znajdzie się dokładny opis tego :)

Opublikowano

Człowieku jesteś za****sty :)

 

Oby tak dalej !

 

Jedyne co mi się nie podoba to brak numerów przy  "rozdziałach", a powinny być skoro są w spisie treści :)

 

_______________________________________________________________________

 

Jak dodasz jeszcze opis wszytkich (a przynajmniej większości) argumentów z tej strony:

(Nie wiem po co są [on] bed enter[ing], więc, czy mógłbyś to troszkę chociaż wytłumaczyć ?)

http://njol.ch/projects/skript/doc/events/

Będzie to najlepszy poradnik odnośnie "skript" (W sumie już teraz jest, więc będzie najlepsiejszy :) )

Opublikowano

Numerki dodam, nie ma sensu opisywać całej dokumentacji skoro tam wszystko jest ;_;

Mogę napisać jak korzystać z owej dokumentacji, jeżeli ktoś tego nie rozumie.

 

Dzisiaj zamierzam dodać coś o SkriptPlusie :)

Opublikowano

AKTUALIZACJA!

  • dodano poradnik dot. SkriptPlus (#12.1)
  • poprawki kosmetyczne (bbcode)

Jakieś pomysły, sugestie?

Opublikowano

Numerki dodam, nie ma sensu opisywać całej dokumentacji skoro tam wszystko jest ;_;

Mogę napisać jak korzystać z owej dokumentacji, jeżeli ktoś tego nie rozumie.

Mi wystarczy chociaż to, gdyż nie wiem o co dokładnie chodzi z tymi wyrażeniami w "[ ]"

 

Mam też inną propozycję: dodanie autorskich skryptów użytkowników

Opublikowano

@Down:

 

Dzięki za pomoc, zapamiętam ;)

 

 

 

Co do tematu, to chyba zamiast:

@Dziobak

Powinno być:

@Dziobak

 

Dałeś odnośnik nie do tego dziobaka co trzeba :D

Opublikowano

Czasami lepiej użyć tego co jest w znakach [ ] ze względu na estetykę i lepsze zrozumienie kodu.

 

Co do drugiego pytania to:

if arg 4 is "m":
	set {_x} to arg 3 * 60
if arg 4 is "h":
	set {_x} to arg 3 * 3600

Nigdy tego nie używałem, bo jest to słabe, ale chyba tak powinno być dobrze.

Następnym razem nie opisuj problemów tutaj w temacie tylko po prostu stwórz nowy :)

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...