Skocz do zawartości

Kity w Gui (Bez format slota i essentialsa)


KrychaMC09
 Udostępnij

Rekomendowane odpowiedzi

Przepraszam bardzo, ale zmienianie w każdej linijce z osobna nazwy czarnego szkła na inną jest męczące. Ustaw to na {@nazwa} czy coś, a na górze kodu dodaj

options:
    nazwa: nazwa

Zrób, że jeden event on inventory click :kappalul:

 

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

1. SkQuery jest tutaj zdecydowanie niepotrzebne. Wystarczy zamienić "open chest" na "open chest inventory".

7 godzin temu, KrychaMC09 napisał:

odrazu mówie nie działa mi loopowanie w gui!

2. Pokaż jak zapętlasz sloty w GUI.

3. Definiujesz dziesiątki tych samych eventów, co jest niedobrą praktyką. To samo tyczy się dwukrotnego zapętlania tej samej listy w dwóch różnych periodicalach, co jest niewątpliwie bardziej obciążające dla serwera.

4. Dlaczego zamiast sprawdzać numer klikniętego slotu sprawdzasz jego zawartość?

5. Jeżeli miałbym zrobić kity, wykorzystałbym prosty mechanizm sprawdzania czy zmienna z czasem odbioru poprzedniego jest ustawiona, jeżeli tak to sprawdza różnicę między obecnym czasem i czasem w zmiennej. Jeżeli nie, kod przechodzi dalej. W obu przypadkach do zmiennej zostaje zapisany czas obecny.

Fragment kodu dla wizualizacji.

if {cooldown::gracz::%player%} is set:
	if difference between {cooldown::gracz::%player%} and now is less than 30 seconds:
		send "&cNie możesz jeszcze odebrać tego kitu!" to player
		stop
set {cooldown::gracz::%player%} to now

Jeżeli chciałbyś przechwycić czas pozostały do ponownego odbioru, musiałbyś zapisać zmienną {cooldown::%player%} do zmiennej lokalnej, do tej nowej zmiennej dodać czas równy cooldownowi danego kitu (w tym przykładzie 30 sekund) i wyświetlić różnicę między czasem w tej zmiennej a czasem obecnym.

Taki kod jest niewątpliwie lepszy, gdyż nie zapętlasz co sekundę całej listy, której rozmiar może wynosić nawet kilka tysięcy zmiennych, a po prostu sprawdzasz różnicę między dwoma czasami.

Odnośnik do komentarza
Udostępnij na innych stronach

58 minut temu, Kormic napisał:

1. SkQuery jest tutaj zdecydowanie niepotrzebne. Wystarczy zamienić "open chest" na "open chest inventory".

2. Pokaż jak zapętlasz sloty w GUI.

3. Definiujesz dziesiątki tych samych eventów, co jest niedobrą praktyką. To samo tyczy się dwukrotnego zapętlania tej samej listy w dwóch różnych periodicalach, co jest niewątpliwie bardziej obciążające dla serwera.

4. Dlaczego zamiast sprawdzać numer klikniętego slotu sprawdzasz jego zawartość?

5. Jeżeli miałbym zrobić kity, wykorzystałbym prosty mechanizm sprawdzania czy zmienna z czasem odbioru poprzedniego jest ustawiona, jeżeli tak to sprawdza różnicę między obecnym czasem i czasem w zmiennej. Jeżeli nie, kod przechodzi dalej. W obu przypadkach do zmiennej zostaje zapisany czas obecny.

Fragment kodu dla wizualizacji.


if {cooldown::gracz::%player%} is set:
	if difference between {cooldown::gracz::%player%} and now is less than 30 seconds:
		send "&cNie możesz jeszcze odebrać tego kitu!" to player
		stop
set {cooldown::gracz::%player%} to now

Jeżeli chciałbyś przechwycić czas pozostały do ponownego odbioru, musiałbyś zapisać zmienną {cooldown::%player%} do zmiennej lokalnej, do tej nowej zmiennej dodać czas równy cooldownowi danego kitu (w tym przykładzie 30 sekund) i wyświetlić różnicę między czasem w tej zmiennej a czasem obecnym.

Taki kod jest niewątpliwie lepszy, gdyż nie zapętlasz co sekundę całej listy, której rozmiar może wynosić nawet kilka tysięcy zmiennych, a po prostu sprawdzasz różnicę między dwoma czasami.

Ale ja chce zeby bylo widac za ile dany kit mozna odebrac i dla mnie takie cos jest slabe

Odnośnik do komentarza
Udostępnij na innych stronach

  • Szifter zablokował(a) ten temat
Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
 Udostępnij

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

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