Poradnik Skript cz.2 – nowe komendy.

Druga część naszego poradnika do pluginu Skript pozwalającego na dostosowywanie serwera na silniku Bukkit do naszych potrzeb. Dzisiaj zajmiemy się tworzeniem nowej komendy. Pokażę Wam jak używać argumentów,  jak nadać permisję oraz wykonywać stworzoną przez nas komendę.

Jeżeli jeszcze nie widziałeś pierwszej części poradnika link do niego znajduje się tutaj: KLIK. Opisałem tam podstawy, które będziesz potrzebował w dzisiejszej części.

Jako pierwszy przykład posłużymy się napisanym przeze mnie skryptem na dawanie przedmiotu wybranemu graczowi. Oto kod:

command /daj <item types> <player>:
description: Daj graczowi dany przedmiot
usage: /daj <przedmiot> <nick gracza>
permission: permisja.daj
permission message: Nie masz permisji do uzywania tej komendy!
executable by: players
aliases: przekaz, podaruj
trigger:
send "Dales %argument 1% graczowi %argument 2%" to player
give argument 1 to argument 2
send "Otrzymales %argument 1% od gracza %player%" to argument 2

Skrypt ten dodaje na nasz serwer komendę /daj. Jako pierwszy argument podajemy nazwę lub id przedmiotu, natomiast drugi argument to nick gracza, do którego ma powędrować przedmiot. Aby komenda działała gracz musi posiadać permisję o nazwie ‚permisja.daj’. To samo zadanie wywoła się również, kiedy użyjemy komendy /przekaz i /podaruj. W kodzie nie można zapomnieć o wcięciach robionych tabem oraz dwukropkach, każdy znak jest ważny, bez tego skrypt nie zadziała. Teraz omówmy kod linijka po linijce:

  • command /daj <item types> <player>: – tworzymy w pluginie nową komendę o nazwie daj, która przyjmuje jako argumenty typ itemu oraz nick gracza;

Każdej komendzie powinniśmy ustalić atrybuty, czyli:

  • description: Daj graczowi dany przedmiot – krótki opis co robi dana komenda;
  • usage: /daj <przedmiot> <nick gracza> – opis jak używać danej komendy, wyświetlany graczowi, kiedy wpisze złe argumenty
  • permission: permisja.daj – permisja, jaką potrzebuje gracz, aby móc używać komendy
  • permission message: Nie masz permisji do uzywania tej komendy! – wiadomość, która wyświetlana jest graczowi, który nie ma odpowiedniej permisji przy próbie wpisania komendy
  • executable by: players – możliwości wyboru to players/ console/ player and console. Daje znać bukkitowi przez kogo może być wykonywana dana komenda. Players oznacza, że tylko gracze, a nie konsola będą w stanie ją wykonywać.
  • aliases: przekaz, podaruj – Jak inaczej ma nazywać się komenda. Oznacza to tyle, że ten sam efekt otrzymamy wpisując daj, przekaż lub podaruj.
  • trigger: – najważniejszy z atrybutów, określamy tutaj co ma się dziać po wpisaniu danej komendy.

Teraz wstawiamy część kodu, który będzie odpowiedzialny za dawanie przedmiotów:

  • send "Dales %argument 1% graczowi %argument 2%" to player – wysyła graczowi, który wpisuje komendę wiadomość podaną między cudzysłowami. Część „%argument 1%” oznacza, że będzie to zastąpione pierwszym argumentem wpisanym w komendzie, czyli nazwą przedmiotu. „%argument 2%” zostanie zastąpione przez drugi argument, czyli nick gracza, do którego powędruje przedmiot
  • give argument 1 to argument 2 – daje przedmiot, którym był pierwszy argument, graczowi, którego nick podaliśmy jako drugi argument.
  • send "Otrzymales %argument 1% od gracza %player%" to argument 2 – wysyła informację do gracza, który otrzymał prezent o tym co i od kogo go dostał.

Plugin Skript posiada bardzo rozbudowaną część odpowiedzialną za określanie przedmiotów. Oznacza to, że w naszym skrypcie możemy już dawać określoną liczbę przedmiotów, a nawet je enchantować. Oto kilka przykładów:

/daj stone Notch – damy jedną sztukę kamienia

/daj 64 dirt Notch – damy cały stack dirtu

/daj every pickaxe of fortune 10, efficiency 10 Notch – damy każdy typ kilofu (drewniany, kamienny itd.) zenchantowany na Fortune i Efficiency poziom 10

Na poniższym screenie widzimy efekt wpisania komendy /daj 5 stones jakpok. Jak widać wszystko działa bez problemów:

2013-07-18_16.58.07

To tyle na dzisiaj, zapraszam do komentowania i pochwalenia się jakie komendy udało Wam się stworzyć na swoim serwerze. Przypominam, że cała dokumentacja pluginu znajduje się na tej stronie: KLIK.