Skript – Tryb gościa

Hej, witam Was w kolejnym poradniku do Skripta. Dzisiaj na tapet weźmiemy stworzenie tzw. trybu gościa. Skrypt jest banalnie prosty i może się przydać na serwerach z whitelistą. Cały skrypt polega na tym, że po wejsciu gracza zmienimy mu gamemode na Adventure. Dlaczego nie spectator? O tym powiem później 🙂

Na początek wykorzystamy event on join , który wykrywa wejście gracza na serwer, ale oprócz tego musimy ustalić też permisje, żeby tylko gracz posiadający taką permisję miał odpalany skrypt, w tym celu wykorzystamy wyrażenie if player have permission "tu_nazwa_permisji" co w wolnym tłumaczeniu oznacza, że jeśli gracz ma permisję, o nazwie którą ustaliliśmy, to tryb gościa włączy się. W tym wpisie użyję permisji „join.perm”, wy możecie ustawić sobie co tylko chcecie.

Skrypt prezentuje się teraz następująco:

on join:
	if player have permission "join.perm":

No ale dobra, musimy teraz wykonać akcję zmiany trybu gry, użyjemy do tego wyrażenia set player's gamemode to nazwa_trybu_gry_po_angielsku . Czyli jeśli skrypt po to damy np. adventure to tryb gry dla gracza zmieni się po wejściu w Adventure.

Skrypt prezentuje się teraz następująco:

on join:
	if player have permission "join.perm":
		set player's gamemode to adventure

Gracz po wejściu na serwer posiadając permisję join.perm otrzyma tryb adventure, czyli tryb przygody. Tryb ten nie włącza graczowi nieśmiertelności, ale i z tym można sobie poradzić w bardzo prosty sposób. Wystarczy użyć eventu on damage . Podobnie jak przy akcji przyznania trybu Adventure także tu musimy użyć wyrażenia if victim have permission "tu_nazwa_permisji" a także użyć wyrażenia cancel event, co anuluje akcję zgonu.

Cały skrypt wygląda już następująco:

on damage:
	if victim have permission "join.perm":
		cancel event

on join:
	if player have permission "join.perm":
		set player's gamemode to adventure

Jesteśmy już prawie przy końcówce. Teraz używając pluginu LuckPerms użyjemy komendy /lp group nazwa_twojej_rangi permission set nazwa_twojej_permisji true czyli w moim przypadku w zaprezentowanym skrypcie użyję komendy /lp group nazwa_twojej_rangi permission set join.perm true . Jeśli ranga Ekipy/Moderatora powiela uprawnienia z rangi domyślnej (np. gościa/gracza) i chcecie uniknąć nadawania trybu gościa swojej administracji zamiast true na końcu komendy wpisujemy false, przez co blokujemy permisję.

Dlaczego nie Spectator?

Odpowiedź jest bardzo prosta. Na spectatorze gracz może wylecieć poza border, czego nie zrobi na trybie Adventure.

Udało Wam się? Skrypt działa? Zostaw reakcję i komentarz pod tym wpisem, przez co zmotywujesz mnie do dalszego pisania skryptów dla craftbloga. Pamiętajcie, że ja też się uczę tego języka, więc tak naprawdę uczycie się tych skryptów razem ze mną 🙂