Skocz do zawartości

SKRYPT NA /USTAWIENIA NA BOXPVP!


Rekomendowane odpowiedzi

1 godzinę temu, viktonicK napisał:

JESTEM JESZCZE NOWY W PISANIU SKRYPTÓW

WIĘC JAK ZNAJDZIESZ JAKIŚ BŁĄD TO PRZEPRASZAM 🙂

Z TEGO CO TESTOWAŁEM TO MI SKRYPT DZIAŁA!

Nie ma za co Pan przepraszać, ponieważ skrypt wygląda całkiem dobrze.

Niemniej jednak mam dwie uwagi dotyczące optymalizacji skryptu.

  1. Zapętlanie wszystkich graczy w jednej chwili czasu co sekundę nie jest dobrym rozwiązaniem.
    Dlaczego? Proszę zwrócić uwagę na to, że Pan wykonuje dla wszystkich graczy operację w jednym konkretnym momencie, co może być powodem większego obciążenia na serwerze. Zamiast tego powinien Pan rozłożyć je równomiernie w czasie.
    Jak tego dokonać? Niech Pan przy każdorazowym dołączeniu gracza na serwer (listener zdarzenia 'on join') rozpoczyna pętlę 'while' z warunkiem 'player is online'. W jej środku może Pan dodać wysyłanie wiadomości na action bar i opóźnienie.
  2. Nie ma potrzeby wysyłania wiadomości na action bar co sekundę, gdyż wyświetla się ona przez co najmniej 2 sekundy (dokładnego czasu nie znam). Niech więc Pan zmieni opóźnienie na dwie sekundy - dzięki temu kod będzie się wykonywał 2 razy rzadziej.

Pozdrawiam.

Odnośnik do komentarza
https://skript.pl/temat/57509-skrypt-na-ustawienia-na-boxpvp/#findComment-342438
Udostępnij na innych stronach

10 minut temu, Kormic napisał:

 

  1. Zapętlanie wszystkich graczy w jednej chwili czasu co sekundę nie jest dobrym rozwiązaniem.
    Dlaczego? Proszę zwrócić uwagę na to, że Pan wykonuje dla wszystkich graczy operację w jednym konkretnym momencie, co może być powodem większego obciążenia na serwerze. Zamiast tego powinien Pan rozłożyć je równomiernie w czasie.
    Jak tego dokonać? Niech Pan przy każdorazowym dołączeniu gracza na serwer (listener zdarzenia 'on join') rozpoczyna pętlę 'while' z warunkiem 'player is online'. W jej środku może Pan dodać wysyłanie wiadomości na action bar i opóźnienie.

Jest Pan pewien? https://discord.com/channels/140566826051436555/328559203566354442/1206344626848407628

Przypisanie każdemu graczowi taska z while vs pełny loop co sekunde.

Dodatkowo też jeżeli gracz 1 wejdzie podczas 17 ticka a 2 gracz wejdzie podczas 10 ticka to dla nich te wait 2 seconds bedzie i tak o innej porze.

Co już świadczy o tym, że będą to 2 oddzielne zadania.

Odnośnik do komentarza
https://skript.pl/temat/57509-skrypt-na-ustawienia-na-boxpvp/#findComment-342439
Udostępnij na innych stronach

1 godzinę temu, Fendi napisał:

Jest Pan pewien? https://discord.com/channels/140566826051436555/328559203566354442/1206344626848407628

Przypisanie każdemu graczowi taska z while vs pełny loop co sekunde.

Dodatkowo też jeżeli gracz 1 wejdzie podczas 17 ticka a 2 gracz wejdzie podczas 10 ticka to dla nich te wait 2 seconds bedzie i tak o innej porze.

Co już świadczy o tym, że będą to 2 oddzielne zadania.

Przeczytałem, że są tam w pętli jakieś warunki sprawdzające każdego zapętlanego gracza. Przepraszam za niedopatrzenie z mojej strony.
W takim wypadku różnica jest, ale na niekorzyść pętli while (a więc na korzyść periodicalu). Oczywiście wydajniejszym rozwiązaniem jest 1 zadanie obsługujące x graczy niż x zadań obsługujących indywidualnie każdego gracza.

Zapomniałem również dopisać, że w mojej ocenie najlepsze będzie zapisywanie graczy spełniających warunek do listy zmiennych, którą później zapętlamy wewnątrz periodicalu 'every x'. Wtedy unikamy sprawdzania wartości zmiennej dla wszystkich graczy.

2 godziny temu, Fendi napisał:

Dodatkowo też jeżeli gracz 1 wejdzie podczas 17 ticka a 2 gracz wejdzie podczas 10 ticka to dla nich te wait 2 seconds bedzie i tak o innej porze.

Co już świadczy o tym, że będą to 2 oddzielne zadania.

Dlatego właśnie zaproponowałem to w przypadku sprawdzania wielu warunków, co pozwala na równomierny rozkład obciążenia serwera (przy założeniu, że czasy dołączania graczy można opisać rozkładem prostokątnym) i zakończenie pętli w przypadku gdy przynajmniej jeden z warunków jest niespełniony.

Odnośnik do komentarza
https://skript.pl/temat/57509-skrypt-na-ustawienia-na-boxpvp/#findComment-342443
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
Dodaj odpowiedź do tematu...

×   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.

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

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