Poradnik Skript cz.5 – magiczne różdżki

Kolejna część naszego poradnika do pluginu Skript pozwalającego na dostosowywanie serwera na silniku Bukkit do własnych potrzeb. W tym odcinku pokażę Wam jak strzelać różnymi pociskami, stosować instrukcje warunkowe, także jak sprawdzać nazwę przedmiotu na przykładzie skryptu dodającego magiczne różdżki. Zapraszam do czytania i komentowania!

Jeżeli jeszcze nie widziałeś poprzednich części poradnika linki do nich znajdują się tutaj: KLIK. Opisałem tam podstawy, które będziesz potrzebował w dzisiejszej części.

Na potrzeby tego poradnika napisałem bardzo prosty skrypt dodający na nasz serwer magiczną różdżkę, która potrafi strzelać kulami ognia. Po kliknięciu prawym przyciskiem myszki na blaze roda, którego nazwano Rozdzka ognia, skrypt sprawdzi, czy gracz posiada uprawnienie „rozdzki.ogien”, a następnie wystrzeli fireballa w kierunku, w którym patrzy gracz.

Kod skryptu:


on rightclick holding a blaze rod:
if name of player's tool is "Rozdzka ognia":
if player has permission "rozdzki.ogien":
shoot a fireball from player
else:
send "<red>Nie mozesz uzywac rozdzki ognia."

Omówienie kodu:

on rightclick holding a blaze rod: – oznacza, że skrypt wykonuje się, jeżeli jakiś gracz trzymając blaze roda w ręce kliknie na niego prawym przyciskiem myszki.

if name of player's tool is "Rozdzka ognia":if oznacza po angielsku jeżeli. Ten kawałek kodu sprawdza jakiś warunek, więc jest to tzw. instrukcja warunkowa. W tym przypadku warunkiem jest to, czy przedmiot trzymany przez gracza jest nazwany Rozdzka ognia. Jeżeli jest to prawda kod wykonuje się dalej.

if player has permission "rozdzki.ogien": – sprawdza, czy gracz, który kliknął blaze roda posiada uprawnienie „rozdzki.ogien„. W tym przypadku zrobiłem, że jeżeli gracz nie dosiada takiego uprawnienia kod przechodzi do linijki else, czyli z angielskiego w przeciwnym wypadku.

shoot a fireball from player – wystrzela fireballa’a od gracza. Jego celem będzie bloczek, na który patrzył się gracz w momencie kliknięcia.

else: – cały kod  po dwukropku będzie wykonywał się, jeżeli gracz nie będzie miał uprawnienia rozdzki.ogien w momencie kliknięcia.

send "<red>Nie mozesz uzywac rozdzki ognia." – wysyła wiadomość do gracza, że nie dosiada on odpowiedniego uprawnienia.


2013-08-03_14.39.29

W tym momencie nasz kod na różdżkę jest już gotowy. Jednak w języku skript strzelać możemy nie tylko fireball’ami, ale także strzałami, śnieżkami, jajkami, piorunami, a nawet mobami. Dlaczego by nie ulepszyć trochę naszego skryptu i dodać więcej różnych różdżek? Oto kod udoskonalonej wersji z możliwością wystrzelania creeperów, a także strzelania piorunami.

Kod skryptu:


on rightclick holding a blaze rod:
if name of player's tool is "Rozdzka ognia":
if player has permission "rozdzki.ogien":
shoot a fireball from player
else:
send "<red>Nie mozesz uzywac rozdzki ognia."
if name of player's tool is "Rozdzka piorunow":
if player has permission "rozdzki.piorun":
strike lightning at targeted block
else:
send "<red>Nie mozesz uzywac rozdzki piorunow"
if name of player's tool is "Rozdzka creeperow":
if player has permission "rozdzki.creeper":
shoot a creeper from player with speed 2
else:
send "<red>Nie mozesz uzywac rozdzki creeperow"

Omówienie kodu:

Kod na różdżkę creeperów i  piorunów jest bardzo podobny do pierwszej wersji skryptu. Jedyne nowe linie to te, odpowiedzialne za sam efekt kliknięcia.

strike lightning at targeted block – w blok, na który patrzy się gracz strzeli piorun

shoot a creeper from player with speed 2 – nowością jest tutaj określenie with speed 2, które oznacza, że wystrzelona istota będzie leciała 2 razy szybciej.


W tym momencie nasz skrypt jest już skończony. Jak działają różdżki piorunów i creeperów możecie zobaczyć na poniższych screenach:

2013-08-03_14.42.43

2013-08-03_14.43.02

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