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

#5 Skript - podstawy


Dziobak_2

Rekomendowane odpowiedzi

Opublikowano

Skript


Cześć, zauważyłem że co raz więcej użytkowników na forum, zainteresowało się pluginem Skript. W tym poradniku, postaram się przedstawić Wam podstawy. Osoby piszące pluginy w Javie proszę o zachowanie dystansu
______________________________________________________________________________________

1. Instalacja oraz zapisywanie skryptów

Skrypty można pisać nawet w notatniku, ale bardziej "wygodny" będzie, któryś z tych programów:

Notepad ++
Sublime Text

Aby poprawnie pisać skrypty, warto nabrać przyzwyczajenia, do klawiszu Tab, a nie do spacji, tak jak w plikach konfiguracyjnych niektórych pluginów. W skryptach poniżej musiałem użyć spacji, ponieważ edytor nie obejmuje Tab'ów.

Skrypty zapisujemy w folderze Skript --> scripts w pliku o rozszerzeniu .sk.

______________________________________________________________________________________

2. Komendy

 

W drugiej części tego poradnika utworzymy naszą własną komendę. Wchodzimy w nasz plik o rozszerzeniu .sk i zaczynamy pisać. Komendy zawsze zaczynamy od "command", następnie "/" i nazwa komendy:

command /mpc:

Komendę zakończyłem ":". Oznacza to, że kod po tym, będzie dotyczył kodu wyżej i będzie zawierał 1 Tab więcej. Teraz dodamy linijkę "aliases". Oznacza ona skrót komendy. Zamiast "Mpc", będziemy mogli użyć np. "/forum" lub "/poradnik":

aliases: forum, poradnik

"Aliases" nie jest wymagany do poprawnego działania kodu. Teraz zaczniemy nasz kod, więc pod linijką "aliases", dodajemy "trigger". Powinno to wyglądać następująco:

command /mpc:
    aliases: forum, poradnik
    trigger:

Od trigger zaczyna się nasz główny kod, czyli co ma się dziać po wykonaniu tej komendy. My wyślemy prostą wiadomość, czyli dodamy linijkę "send". Dodając nową linijkę, pamiętając że poprzednia linijka skończyła się na ":".

send "Poradnik dla MPC"

Każda wiadomość musi znajdować się w "". Możemy także dodać kolory, np. "&4" lub "<red>". Polecam także na końcu kodu dodać linijkę "stop". Nie jest ona wymagana, ale lepiej zakończyć skrypt w wyznaczonym miejscu, ponieważ może on wykonać coś, wbrew naszym zamiarom. Więc po send, dodajemy stop:

stop

Nasz skrypt wygląda tak:

command /mpc:
    aliases: forum, poradnik
    trigger:
        send "Poradnik dla MPC"
        stop

Do komend możemy dodać uprawnienia, czyli permisje. W naszym przypadku będziemy musieli dodać linijkę "if player has permissions":

if player has permissions "poradnik.mpc":

Uprawnienia dajemy w "", a kończymy znakiem ":". Kod zadziała tylko wtedy, gdy gracz ma tą permisje. Ta linijka powinna znaleźć się nad send w naszym kodzie. Powinno wyglądać to tak:

command /mpc:
    aliases: forum, poradnik
    trigger:
        if player has permissions "poradnik.mpc"
            send "Poradnik dla MPC"
            stop

Jeżeli mamy "if" to możemy dodać linijkę "else". Wykona ona coś, gdy nasz if nie jest spełniony. U nas będzie to brak uprawnień. Else dajemy równo z if, ponieważ będzie się się do tego odnosić. Nasz kod powinien wyglądać następująco:

command /mpc:
    aliases: forum, poradnik
    trigger:
        if player has permissions "poradnik.mpc"
            send "Poradnik dla MPC"
            stop
        else:

Gdy gracz nie będzie miał uprawnienia poradnik.mpc, wyświetli mu się "&4Nie masz uprawnień":

command /mpc:
    aliases: forum, poradnik
    trigger:
        if player has permissions "poradnik.mpc"
            send "Poradnik dla MPC"
            stop
        else:
            send "&4Nie masz uprawnien"
            stop

______________________________________________________________________________________

3. Wydarzenia
Eventy

W trzeciej części tego tutorial'a, zajmiemy się wydarzeniami, z angielskiego "event". Pozwoli ono wywołać daną funkcję, po określonym zdarzeniu. Zajmiemy się event'em "on first join" oraz "on join". Więc spróbujmy napisać skrypt na, otrzymanie startowych przedmiotów przy pierwszym wejściu:

on first join:

Teraz dodamy odpowiednie uprawnienia, aby gracz mógł otrzymać przedmioty startowe:

on first join:
    if player has permissions "itemy.gracz":

Teraz przejdziemy do dalszej części kodu. Tutaj nie piszemy trigger, jak w poprzedniej części. Wydarzenie "give" nie może zostać poprzedzone trigger'em. Przejdziemy do głównej części skryptu, czyli do wyznaczenia odpowiednich przedmiotów, które gracz ma otrzymać przy pierwszym wejściu na serwer. Dodajemy linijkę:

give 1 ender chest to the player

Jak można się domyślić gracz otrzyma Ender chest'a przy pierwszym wejściu. Trzeba pamiętać, aby nazwy były w języku angielskim. Linijka "to the player" odpowiada za otrzymanie przedmiotów, prosto do ekwipunku gracza. Po dodaniu kilku innych przedmiotów nasz skrypt powinien wyglądać następująco:

on first join:
    if player has permissions "itemy.gracz": 
        give 1 ender chest to the player
        give 1 wooden sword to the player
        give 1 wooden pickaxe to the player
        give 16 torch to the player
        give 16 steak to the player

Dodamy także wiadomość po otrzymaniu tych przedmiotów:

on first join:
    if player has permissions "itemy.gracz":  
        give 1 ender chest to the player
        give 1 wooden sword to the player
        give 1 wooden pickaxe to the player
        give 16 torch to the player
        give 16 steak to the player
        send "&2Otrzymales zestaw startowy"
        stop

Myślę, że przybliżyłem wam temat o wydarzeniach/event'ach. Pełną listę możecie znaleźć tutaj:

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

______________________________________________________________________________________

4. Options
Config

Options pozwala nam w pewnym stopniu odwzorować plik konfiguracyjny. Options zaczynamy, od linijki options. Zajmiemy się ustawieniem wiadomości w options, która będzie wysyłana, przy wejściu na serwer do gracza:

options:
    # Wiadomosc - uzywana przy pierwszym wejsciu na serwer
    wiad: &2Witaj %player% na serwerze 

%player% określa gracza, którego dotyczy do wydarzenie. # Wiadomość uzywana przy pierwszym wejsciu na serwer, jest to opis. Nie jest on konieczny. Każdą linijkę, którą zaczniemy od "#", nie zostanie odczytana. W tym przypadku jest to opis wiadomości. Przejdźmy teraz do głównego kodu:

options:
    # Wiadomosc - uzywana przy pierwszym wejsciu na serwer
    wiad: &2Witaj %player% na serwerze 
 
on join:
    send "{@wiad}"

Jak zauważyliście napisałem {@wiad}, a nie np. wiad. W skrypcie opcje muszą być poprzedzone "{@, a zakończone }".

______________________________________________________________________________________

 

5. Variables

Zmienne

 

Zmienne, jak sama nazwa brzmi, zmieniają się. Postaram się wam wytłumaczyć to na przykładzie mini statystyk. Stworzymy licznik serwera, który będzie zliczał nasze wejścia na serwer oraz innych graczy (globalny). Zmienne zaczynamy od tej linijki:

variables: 

Następnie dodajemy własną zmienną:

variables:
    {liczbaodwiedzin} = 0

Każda zmienna musi być poprzedzona { i także kończyć się }. W środku wpisujemy czego ma dotyczyć. Jak już pisałem skrypt, będzie dot. odwiedzin serwera. Zaczniemy od licznika globalnych odwiedzin:

on login
    add 1 to {liczbaodwiedzin}

Przy każdym wejściu na serwer, zostanie dodany 1 punkt do naszej zmiennej {liczbaodwiedzin}. Przy każdym wejściu na serwer, zostanie wysłana wiadomość, z liczbą odwiedzin naszego serwera. Nasz skrypt powinien wyglądać tak:

variables:
    {liczbaodwiedzin} = 0
on login
    add 1 to {liczbaodwiedzin}
    "send &5Nasz serwer byl odwiedzany &2%{liczbaodwiedzin}% razy"

Dodajmy do naszego skryptu licznik naszych odwiedzin:

variables:
    {wejscia.%player%} = 0

Jeżeli zmienna ma dot. gracza, dodajemy %player%. W zmiennych nie robimy spacji. Zamiast ich piszemy "." Tak jak w poprzednim skrypcie, przy każdym naszym wejściu zostanie dodany 1 punkt do naszej zmiennej:

variables:
    {wejscia.%player%} = 0
on login:
    add 1 to {wejscia.%player%}
    send "Odwiedzasz nas %{wejscia.%player%}% raz"

______________________________________________________________________________________

 

Myślę że przybliżyłem wam trochę plugin Skript oraz nauczyłem podstaw. Już dziś powinien pojawić się kolejny poradnik ;)

1394047278-U990178.png

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...