Skocz do zawartości
  • 0

Obrażenia podczas upadania przy /fly


Duczi
 Udostępnij

Pytanie

Siemka! 

Mam mały problem na swoim serwerze.
Chciałem zrobić coś takiego, aby gracze z rangą vip+ mieli dostęp do /fly, ale tylko na swoich działkach (protectionstones). Udało mi się to zrobić poprzez użycie WG extra flags, ale podczas spadania po wyjściu z działki dostaje się obrażenia i chciałbym tego uniknąć. Macie jakiś pomysł jak to rozwiązać? Może być poprzez włączenie efektu "slow falling", może być wyłączony fall damage (ale tylko w tej sytuacji). 
Z góry, wielkie dzięki za pomoc!

Odnośnik do komentarza
Udostępnij na innych stronach

10 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
1 minutę temu, Duczi napisał:

Siemka! 

Mam mały problem na swoim serwerze.
Chciałem zrobić coś takiego, aby gracze z rangą vip+ mieli dostęp do /fly, ale tylko na swoich działkach (protectionstones). Udało mi się to zrobić poprzez użycie WG extra flags, ale podczas spadania po wyjściu z działki dostaje się obrażenia i chciałbym tego uniknąć. Macie jakiś pomysł jak to rozwiązać? Może być poprzez włączenie efektu "slow falling", może być wyłączony fall damage (ale tylko w tej sytuacji). 
Z góry, wielkie dzięki za pomoc!

Na szybko przyszły mi dwa pomysły do głowy.

1. Ustawiasz w regionie flagę 'fall-damage' na deny.

2. Mógłbyś wykorzystać Skripta i event 'on region enter'. Następnie w jakiś sposób musiałbyś sprawdzać flagi tego regionu i jeżeli posiada tą flagę, ustawiasz graczowi jakąś zmienną. W evencie 'on damage of player' sprawdzasz czy 'damage cause' to 'fall' i jeżeli ta zmienna jest ustawiona, anulujesz event, a następnie czyścisz tą zmienną.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
15 minut temu, Kormic napisał:

Na szybko przyszły mi dwa pomysły do głowy.

1. Ustawiasz w regionie flagę 'fall-damage' na deny.

2. Mógłbyś wykorzystać Skripta i event 'on region enter'. Następnie w jakiś sposób musiałbyś sprawdzać flagi tego regionu i jeżeli posiada tą flagę, ustawiasz graczowi jakąś zmienną. W evencie 'on damage of player' sprawdzasz czy 'damage cause' to 'fall' i jeżeli ta zmienna jest ustawiona, anulujesz event, a następnie czyścisz tą zmienną.

Nie do końca jest tak, jak piszesz.
1. Nie mogę ustawiać "fall damage" na deny na całym świecie, a ustawienie tego na działkach nie załatwia sprawy 
2. Miałem dwa pomysły co do skryptów. Jeden to ustawienie "slow falling" kiedy gracz ma włączone latanie, a drugi to wyłączenie "fall damage" poprzez sprawdzanie eventu i cancelowanie go na kilka sekund po wyjściu z regionu, ale albo nie da się tego zrobić, albo po prostu jestem strasznym amatorem i nie mam na to pomysłu. 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
1 minutę temu, Duczi napisał:

Nie do końca jest tak, jak piszesz.
1. Nie mogę ustawiać "fall damage" na deny na całym świecie, a ustawienie tego na działkach nie załatwia sprawy 
2. Miałem dwa pomysły co do skryptów. Jeden to ustawienie "slow falling" kiedy gracz ma włączone latanie, a drugi to wyłączenie "fall damage" poprzez sprawdzanie eventu i cancelowanie go na kilka sekund po wyjściu z regionu, ale albo nie da się tego zrobić, albo po prostu jestem strasznym amatorem i nie mam na to pomysłu. 

W takim razie przeróbmy nieco drugi pomysł. Użyjemy eventu 'on flight toggle' i ustawmy w nim graczowi jakąś zmienną. Reszta to event 'on damage of player', o którym napisałem wyżej.

Można by jeszcze w 'on flight toggle' dorzucić sprawdzanie regionu, ale są tutaj dwa problemy:

  1. Eventy są wywoływane przed faktycznym zdarzeniem, a więc najprawdopodobniej region wyłączy graczowi latanie przed faktycznym wejściem do regionu.
  2. Jakie kryterium miałoby być tutaj sprawdzane? Najlepsze co mi przychodzi do głowy to sprawdzanie czy region posiada właściciela (ownera).
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
7 minut temu, Kormic napisał:

W takim razie przeróbmy nieco drugi pomysł. Użyjemy eventu 'on flight toggle' i ustawmy w nim graczowi jakąś zmienną. Reszta to event 'on damage of player', o którym napisałem wyżej.

Można by jeszcze w 'on flight toggle' dorzucić sprawdzanie regionu, ale są tutaj dwa problemy:

  1. Eventy są wywoływane przed faktycznym zdarzeniem, a więc najprawdopodobniej region wyłączy graczowi latanie przed faktycznym wejściem do regionu.
  2. Jakie kryterium miałoby być tutaj sprawdzane? Najlepsze co mi przychodzi do głowy to sprawdzanie czy region posiada właściciela (ownera).

W sensie, latanie jest już wyłączanie (poprzez ustawienie ExtraFlagi na świecie, że latanie jest wyłączone) i jedynym problemem jest ten fall damage, który miałby być wyłączany tylko po wyjściu z regionu. Czyli jedyny problem jest taki, że nie mam najzwyczajniej ani pomysłu, ani umiejętności, żeby to w jakiś sensowny sposób zrobić. 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
Teraz, Duczi napisał:

W sensie, latanie jest już wyłączanie (poprzez ustawienie ExtraFlagi na świecie, że latanie jest wyłączone) i jedynym problemem jest ten fall damage, który miałby być wyłączany tylko po wyjściu z regionu. Czyli jedyny problem jest taki, że nie mam najzwyczajniej ani pomysłu, ani umiejętności, żeby to w jakiś sensowny sposób zrobić. 

Pomysł (a właściwie rozwiązanie) podsunąłem ci pod nos. Wystarczy jedynie je wcielić w życie.

Jeżeli nie wiesz jak co zrobić, pytaj śmiało, a odpowiem.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
2 minuty temu, Kormic napisał:

Pomysł (a właściwie rozwiązanie) podsunąłem ci pod nos. Wystarczy jedynie je wcielić w życie.

Jeżeli nie wiesz jak co zrobić, pytaj śmiało, a odpowiem.

No właśnie chodzi o to, że jestem amatorem jeżeli chodzi o skrypty i mimo pomysłu pod nosem, nie do końca wiem jak to napisać xD
A więc, chciałbym poprosić o pomoc

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
Teraz, Duczi napisał:

No właśnie chodzi o to, że jestem amatorem jeżeli chodzi o skrypty i mimo pomysłu pod nosem, nie do końca wiem jak to napisać xD
A więc, chciałbym poprosić o pomoc

Tylko prosiłbym o konkretniejsze pytanie. Mam nadzieję, że przeczytałeś wszystko co napisałem.

Załóżmy, że tak. W którym miejscu się gubisz? W którym miejscu nie wiesz co powinieneś dać w kodzie?

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
3 minuty temu, Kormic napisał:

Tylko prosiłbym o konkretniejsze pytanie. Mam nadzieję, że przeczytałeś wszystko co napisałem.

Załóżmy, że tak. W którym miejscu się gubisz? W którym miejscu nie wiesz co powinieneś dać w kodzie?

Głównie chodzi o to sprawdzanie wychodzenia z regionu, dodanie zmiennej "czy region ma właściciela" i ustawienie tego "czasowego ogranicznika". Po prostu nie wiem jak to zapisać w postaci skryptu. 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
3 minuty temu, Duczi napisał:

Głównie chodzi o to sprawdzanie wychodzenia z regionu, dodanie zmiennej "czy region ma właściciela" i ustawienie tego "czasowego ogranicznika". Po prostu nie wiem jak to zapisać w postaci skryptu. 

Napisałem jaki jest główny problem.

28 minut temu, Kormic napisał:

Eventy są wywoływane przed faktycznym zdarzeniem, a więc najprawdopodobniej region wyłączy graczowi latanie przed faktycznym wejściem do regionu.

W związku z tym nie będzie można sprawdzić regionu w miejscu gracza (nie wliczając sposobu z delayem).

Na razie spróbuj bez tego. Później dopiero pomyślimy o tym.

Edytowane przez Kormic
Odnośnik do komentarza
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Nieaktywny
Odpowiedz na pytanie...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

 Udostępnij

  • Ostatnio przeglądający   0 użytkowników

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