Poradnik Skript cz.6 – tabliczkowe punkty wymian

Kolejna część naszego poradnika do pluginu Skript pozwalającego na dostosowywanie serwera na silniku Bukkit do własnych potrzeb. W tym odcinku pokażę Wam wykonywać zadania po kliknięciu w tabliczkę oraz kontrolować stan konta i poziom doświadczenia gracza. 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 dość prosty skrypt dodający na nasz serwer punkty wymian obsługiwane przez tabliczki, które może postawić tylko administrator. W zamian na 1 diament gracz otrzymuje 10 punktów doświadczenia oraz 10$ w formie waluty serwerowej .

Kod skryptu:

on rightclick on sign:
if line 1 is "&5Wymiana":
if line 2 is "Diament":
player is holding a diamond:
remove 1 diamond from player's tool
send "<yellow>Oddales 1 %line 2%. Twoja nagroda to 10 punktow xp i 10$"
give 10 xp to the player
add 10 to the player's account
else:
send "<red>Ta tabliczka wymienia tylko diamenty. Nie posiadasz go w swojej rece."
stop trigger

 

 Omówienie kodu:

on rightclick on sign: – kod wywołuje się, gdy gracz kliknie na jakąś tabliczkę prawym przyciskiem myszki.

if line 1 is "&5Wymiana": – sprawdza, czy 1 linia znaku, który został kliknięty zawiera słowo &5Wymiana. Przedrostek &5 jest tzw. kodem formatowania tekstu w minecrafcie, co oznacza, że dany tekst musi być koloru fioletowego. Jest to zabezpieczenie, aby zwykły gracz nie mógł stawiać takich tabliczek, a także przyciąga uwagę, co jest dobre, jeżeli chcemy, aby tabliczka była widoczna.

if line 2 is "Diament": – sprawdza, czy druga linia tabliczki zawiera słowo Diament. Nie jest to co prawda niezbędne do funkcjonowania skryptu, aczkolwiek lepiej jest jeżeli gracz będzie wiedział co oddaje. Może również przydać się jeżeli chcielibyśmy założyć punkty wymiany nie tylko diamentów.

player is holding a diamond: – sprawdza, czy gracz w momencie kliknięcia trzymał w dłoni diament

remove 1 diamond from player's tool – usuwamy 1 diament ze stacku, który gracz trzyma w dłoni. Player’s tool to po prostu to co aktualnie trzyma gracz.

send "<yellow>Oddales 1 %line 2%. Twoja nagroda to 10 punktow xp i 10$" – wysyła informację do gracza o transakcji. Zmienna %line 2% zostanie zastąpiona przez słowo , które widnieje w drugiej linii klikniętej tabliczki. W tym przypadku będzie to słowo Diament.

give 10 xp to the player – dodaje 10 punktów doświadczenia graczowi

add 10 to the player's account – dodaje graczowi 10$ do jego konta. Aby to działało musimy mieć oczywiście odpowiedni plugin do obsługi walut, np. Essentials, BOSEConomy, czy też przestarzały IConomy, a także plugin Vault.

else: – instrukcja, która będzie wykonywała się, jeżeli gracz w momencie kliknięcia na tabliczkę nie posiadał diamentu w dłoni. Jeżeli nie dodalibyśmy tej części nic złego by się nie stało, jednak lepiej, jeżeli skrypty instruują gracza, gdy ten robi coś źle.

send "<red>Ta tabliczka wymienia tylko diamenty. Nie posiadasz go w swojej rece." – wysyła graczowi informację, że posiada diamentu w dłoni.

stop trigger – na końcu poleceń, które zadajemy zaleca wstawić formułę stop trigger, aby ostatecznie zakończyć dane zadanie.


Skrypt jest w tym momencie skończony. Jak działa możecie przekonać się na poniższych screenach:

2013-08-14_20.29.46 2013-08-14_20.29.58

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.