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

[Mega TuT] Pisanie Skryptow


hersen233

Rekomendowane odpowiedzi

Opublikowano

Witam wszystkich!

W tym temacie postaram się jak najlepiej nauczyć was pisania skryptów do Minecraft. Ale moment, czym jest Skript?

 

Skript jest pluginem pozwalającym dostosowywać Minecrafta do własnych potrzeb prostymi skryptami napisanymi w zdaniach w języku angielskim. Możesz z łatwością tworzyć złożone komendy, wyłapywać różne zdarzenia i zapętlać zadania – to wszystko bez choćby najmniejszej znajomości języków programowania! Ten (miejmy nadzieję) intuicyjny język ma tę zaletę, że podstawowa wiedza języka angielskiego to jedyny warunek, by móc korzystać ze Skript’a. Skrypty mogą również zostać użyte do zastąpienia mniejszych pluginów, skracając twoją listę pluginów do minimum . Lista gotowych skryptów, stworzonych przez użytkowników dostępna jest na tej stronie internetowej – Kliknij.

 

Jeśli masz jakiś problem, napisz tutaj, postaram się Ci pomóc. wink.png
Część 1

W tej części poradnika zajmiemy się instalacją pluginu oraz pierwszym skryptem.
Plugin pobieramy z tej strony, na interesującą nas wersję Minecraft. PlikSkript.jar wrzucamy do folderu plugins, po czym restartujemy serwer. Voila, plugin zainstalowany. wink.png Wszystkie napisane skrypty zapisujemy z rozszerzeniem .sk w folderze plugins > Skript > scripts, po czym wpisujemy /sk reload scripts aby go zreloadować. Zacznijmy pisać pierwszy skrypt:

on place tnt:
    player doesn't have permission "skript.tnt":
        cancel event
        send "<red>Nie mozesz stawiac TnT!"

Omówny teraz ten skrypt:

on place tnt:

Jest to wydarzenie (event), którego będzie dotyczył dany skrypt, w tym przypadku podczas polozenia tnt.

player doesn't have permission "skript.tnt":

Ta linijka sprawdza czy gracz ma dane uprawnienie, jeśli go nie ma, wykona dalszą część skryptu.

cancel event

Dzięki tej linijce możemy anulować prawie każde wydarzenie, w tym przypadku jeśli gracz nie ma uprawnienia skript.tnt anuluje postawienie bloku TnT.

send "<red>Nie mozesz stawiac TnT!"

Dzięki temu możemy wysłać jednemu graczowi wiadomość, albo do wszystkich naraz (o tym później). Efekt naszej pracy:

g2MZZae.png

To tyle, powodzenia w pisaniu skryptów. smile.png

Część 2


W tej części zajmiemy się napisaniem własnej komendy.

command /hello:
    aliases: helloworld, h, hw
    trigger:
        player has permission "hello.world":
            broadcast "&e%name of player%&7 - &3Hello world!"
        player doesn't have permission "hello.world":
            send "&cNie masz uprawnien!"

I omówienie kodu.

command /hello:

Każdą komendę w skryptach należy poprzedzić słowem command (ang. komenda) i ukośnikiem, po czym wpisujemy komendę.

aliases: helloworld, h, hw

Są to skróty do danej komendy, które należy wypisywać po przecinku.

trigger:

Odtąd zaczyna się nasza komenda.

player has permission "hello.world":

Jest to to samo co widzieliście w pierwszej części, tylko tutaj sprawdza czy ma uprawnienie.

broadcast "&e%name of player%&7 - &3Hello world!"

To również jest podobne do send z pierwszej części, jednak tutaj wysyła do wszystkich a nie do jednego.

player doesn't have permission "hello.world":

To na pewno kojarzycie z pierwszej części, tłumaczyć nie muszę. laugh.png

send "&cNie masz uprawnien!"

To też kojarzycie. biggrin.png Efekt naszej pracy wygląda następująco:

 

oFnNIgC.png


QHoFeNb.png

 

 

 

 

Część 3

W tej części poradnika zajmiemy się już bardziej zaawansowanymi skryptami komend, więc zapraszam. wink.png

variables:
    {itemy.start.%player%} = false
    {itemy.vip.%player%} = false
    
command /itemy [<text>]:
    aliases: eq, it
    trigger:
        arg 1 is "start":
            if {itemy.start.%player%} is true:
                send "&cJuz wziales itemy startowe!"
            if {itemy.start.%player%} is false:
                set the player's helmet slot to leather helmet
                set the player's chestplate slot to leather chestplate
                set the player's leggings slot to leather leggings
                set the player's boots slot to leather boots
                add stone sword to player
                add stone pickaxe to player
                add stone axe to player
                add stone shovel to player
                add stone hoe to player
                add 16 cooked porkchop to player
                send "&aOtrzymales itemy startowe!"
                set {itemy.start.%player%} to true
        arg 1 is "vip":
            player has permission "eq.vip":
                if {itemy.vip.%player%} is true:
                    send "&cJuz wziales itemy VIP!"
                if {itemy.vip.%player%} is false:
                    set the player's helmet slot to iron helmet
                    set the player's chestplate slot to iron chestplate
                    set the player's leggings slot to iron leggings
                    set the player's boots slot to iron boots
                    add diamond sword to player
                    add diamond pickaxe to player
                    add diamond axe to player
                    add diamond shovel to player
                    add diamond hoe to player
                    add 64 cooked porkchop to player  
                    send "&aOtrzymales itemy VIP!"
                    set {itemy.vip.%player%} to true
            player doesn't have permission "eq.vip":
                send "&cNie masz uprawnien do itemow VIP!"
        arg 1 is not set:
            send "&ePoprawne uzycie: &d/itemy <vip/gracz>"

Prosty skrypt na itemy startowe, przyjrzyjmy się temu bliżej.

variables:
    {itemy.start.%player%} = false
    {itemy.vip.%player%} = false

Czyli zmienne skryptu. Zmienne mogą przechowywać informację o graczu, albo liczby.

[<text>]

Jest to nowa zmienna w komendach, używamy jej do definiowania argumentów.

 

arg 1 is "start":

Sprawdza czy argumentem 1 jest "start". Jeśli jest, wykona dalszą część skryptu.

if {itemy.start.%player%} is true:

Sprawdza czy zmienna jest ustawiona na true, jeśli tak, wykona dalszą część skryptu.

set {itemy.start.%player%} to true

Zmienia daną zmienną na true, oczywiście można też dać false, zależy jakiego skryptu kto potrzebuje.

set the player's helmet slot to iron helmet

Czyli po prostu ustawi u gracza slot hełmu na dany item.

add 64 cooked porkchop to player

Tego używamy do dawania graczom itemków.

arg 1 is not set:

Sprawdza czy argument pierwszy jest ustawiony w skrypcie, jeśli nie wykona dalszą część skryptu.

 

Część 4

Witajcie! W tej części poradnika zajmiemy się pisaniem własnego AutoMessage, zapraszam.

options:
    tag: &7[&6MPC&bForum&7]&5
    msg1: Tutaj wpisz wiadomosc 1
    msg2: Tutaj wpisz wiadomosc 2
    msg3: Tutaj wpisz wiadomosc 3
    msg2: Tutaj wpisz wiadomosc 4
    msg3: Tutaj wpisz wiadomosc 5
    czas: 3    on server start:
    broadcast "{@tag} &3{@msg1}"
    wait {@czas} minutes
    broadcast "{@tag} &3{@msg2}"
    wait {@czas} minutes
    broadcast "{@tag} &3{@msg3}"
    wait {@czas} minutes
    broadcast "{@tag} &3{@msg4}"
    wait {@czas} minutes
    broadcast "{@tag} &3{@msg5}"

Już śpieszę z wytłumaczeniem. wink.png

options

:

Są to, jak sama nazwa mówi opcje. Można ustawić np.:

tag: &7[&6MPC&bForum&7]&5

A potem w wiadomościach na chacie wystarczy wpisać:

{@tag} Wiadomosc

Oczywiście nie zawsze wpisujemy tag, tylko {@nazwa wpisana przed dwukropkiem}.

on server start:

Jest to wydarzenie, tutaj odwołuje się ono do startu serwera, czyli po uruchomieniu serwera stanie się dalsza część skryptu.

broadcast "{@tag} &3{@msg1}"

To pamiętacie z poprzednich części. wink.png

wait {@czas} minutes

I tutaj mamy coś nowego. Wait, czyli "zaczekaj" po angielsku. {@czas) odwołuję się do wyżej opisanego options. Minutes oznacza jednostkę czasu, może być to:


seconds
minutes
hours
days

Tłumaczenie:


sekundy
minuty
godziny
dni

To tyle, do zobaczenia w kolejnych częściach poradnika. smile.png

 

 

 

 

Nie klikaj tego prosze !!

Kliknoles? - Nie klikaj dalej prosze!!

Prosilem nie klikaj..

 

Znowu kliknoles??

Nosz odczep sie smile.png

Dasz lajka? ;3

 

 

 

 

 

 

KONIEC

 

~ REBEKKA

Opublikowano

Opisalem podstawy dla zielonych tylko. Przecierz tych zaawansowanych narazie niebd pisac bo codziennie robie tam cos bo bardzo duzy tutek bede szykowac.

KONIEC

 

~ REBEKKA

Opublikowano

Czy rozbudowany skrypt można nazwać pluginem? i czy pluginy pisze się tak samo jak skrypty?

Skrypty pisze sie w notatniku. Pluginy sie pisze najbardziej w eclipse.

KONIEC

 

~ REBEKKA

Opublikowano

@Ref

 

@offtopic

Ponieważ, "KLIKNOLES" .. **

Słaby poradnik, następne gówno do kolekcji.

Ty ciagle kazdemu dajesz negatywne opinie komu by nie przyszlo. Jestem za tym zeby cienie bylo tu, a nawet zglosze cie do administarcji bo obrazasz kazdego w dziale minecraft..

KONIEC

 

~ REBEKKA

Opublikowano

BARDZO PRZEPRASZAM ALE TO NIE JEST TWOJ PORADNIK! Jesli juz kopiujesznto napisz kto jest autorem...

Przepraszam, a czyj to jest tutorial? Ja go na innych forach tez rozsylalem nawe t2 miesiace temu wiec to jest moj.

 

 

Prosilbym administratora o zmienieni nazwy z Mega TuT na Tut Poniewaz inni sie spinaja.

KONIEC

 

~ REBEKKA

Opublikowano

Wstawialem go na multiheats, ale skorobtwierdzisz ze jest twoj... Napisz 5 czesc, panie xnic3skill1337...

Chlopie, po tym co widze jestes bardzo krotko na mpc i nie wiesz co sie prawie wgl dzieje,

Tutorial jest moj, a pierwsze co widze ze jakiemus dzieciakowi odbija i wciska kit ze to jest np i jakei multiheats pierwsze o takim forum slysze ;__;

 

@edit

 

Prosilbym administratora zienienie z Mega TuT na TuT.

KONIEC

 

~ REBEKKA

Opublikowano

Dziekuje, niedlugo napisze czesc druga ale w osobnym posciebedzie az 10 czesci ale juzbardziej zaawansowanych,

 

Prosze zmienienie nazwy z Mega TuT na TuT..

KONIEC

 

~ REBEKKA

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...