Skocz do zawartości
  • 0

Sprawdzane czy gracz jest w pobliżu regionu


Pytanie

Cześć, przychodzę z pytaniem - jak sprawdzić czy w promieniu np. 20 bloków od gracza znajduje się dowolny region z WorldGuarda?

Serwer na wersji 1.16.5

Wersja Skripta: 2.5.3

Wersja skUtilities: 0.9.2

Wersja SkQuery: 4.1.4

Chciałbym uniknąć instalowania innych dodatków jeśli to możliwe.

Będę wdzięczny za każda odpowiedź. Pozdrawiam.

Odnośnik do komentarza
https://skript.pl/temat/44827-sprawdzane-czy-gracz-jest-w-pobli%C5%BCu-regionu/
Udostępnij na innych stronach

2 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 1
Teraz, Garnek2 napisał:

Cześć, przychodzę z pytaniem - jak sprawdzić czy w promieniu np. 20 bloków od gracza znajduje się dowolny region z WorldGuarda?

Jest kilka sposobów, podam przykładowe trzy.

1. Jakiś dodatek do Skripta wprowadzający taki warunek (lub wyrażenie)

2. Zapętlenie bloków w promieniu 20 metrów od gracza i sprawdzenie czy w ich miejscu znajduje się jakikolwiek region (niezalecane, tps'y polecą na łeb na szyję).

3. Pozyskanie z pliku regions.yml (w folderze WorldGuard) minimalnych i maksymalnych koordynatów wszystkich regionów (tutaj wymagany będzie dodatek pozwalający na korzystanie z YAMLa w Skript (skript-yaml, SkQuery, SkUtilities, itp.)). Następnie trzeba by je zapisać do jakiejś listy, którą należałoby zapętlić. Wtedy sprawdzasz czy dystans między graczem, a loop-value jest mniejszy, bądź równy 20. Jeżeli tak, zatrzymujesz pętlę i ustawiasz wartość dowolnej zmiennej lokalnej jako nazwę tego regionu.

Już poza tą pętlą sprawdzasz czy ta zmienna jest ustawiona:

  • jeżeli tak - wysyłasz tę zmienną zawierającą nazwę regionu
  • jeżeli nie - znaczy to, że w promieniu 20 metrów od gracza nie ma ani jednego regionu

Możesz oczywiście jeszcze samemu poszukać rozwiązań w internecie, na pewno coś się znajdzie.

Odnośnik do komentarza
https://skript.pl/temat/44827-sprawdzane-czy-gracz-jest-w-pobli%C5%BCu-regionu/#findComment-281573
Udostępnij na innych stronach

  • 0
7 minut temu, Kormic napisał:

3. Pozyskanie z pliku regions.yml (w folderze WorldGuard) minimalnych i maksymalnych koordynatów wszystkich regionów (tutaj wymagany będzie dodatek pozwalający na korzystanie z YAMLa w Skript (skript-yaml, SkQuery, SkUtilities, itp.)). Następnie trzeba by je zapisać do jakiejś listy, którą należałoby zapętlić. Wtedy sprawdzasz czy dystans między graczem, a loop-value jest mniejszy, bądź równy 20. Jeżeli tak, zatrzymujesz pętlę i ustawiasz wartość dowolnej zmiennej lokalnej jako nazwę tego regionu..

Dobry pomysł. Spróbuje zrobić to w ten sposób. Dzięki!

Odnośnik do komentarza
https://skript.pl/temat/44827-sprawdzane-czy-gracz-jest-w-pobli%C5%BCu-regionu/#findComment-281581
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...