Skocz do zawartości
  • 0

Dzielenie z resztą


milonn

Pytanie

Robię czyszczenie czatu discord przy pomocy pluginu Disky, a wyczyszczenie czegoś na raz jest ograniczone do 100. Wtedy użyłem pętli jedna po jednej wiadomości, co jest prawie 100 razy wolniejsze, chcę więc aby bot czyścił np. gdy wpiszę w argument 456 wiadomości, w takiej kolejności: 100, 100, 100, 100, 56.
Mam nadzieję, że wszystko jest zrozumiałe.

Edytowane przez milonn
Odnośnik do komentarza
https://skript.pl/temat/58016-dzielenie-z-reszt%C4%85/
Udostępnij na innych stronach

5 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
1 godzinę temu, milonn napisał:

Robię czyszczenie czatu discord przy pomocy pluginu Disky, a wyczyszczenie czegoś na raz jest ograniczone do 100. Wtedy użyłem pętli jedna po jednej wiadomości, co jest prawie 100 razy wolniejsze, chcę więc aby bot czyścił np. gdy wpiszę w argument 456 wiadomości, w takiej kolejności: 100, 100, 100, 100, 56.
Mam nadzieję, że wszystko jest zrozumiałe.

command /sendmessages [<number>]:
	trigger:
		set {_n} to arg 1
		set {_c} to 0
		loop {_n} times:
			add 1 to {_c}
			if {_c} = 100:
				set {_c} to 0
				add 1 to {_full}
		loop {_full} * 100 times:
			send nl to player
		loop {_c} times:
			send nl to player

Proszę, nie miałem jak takowego skryptu zaimplementować w bocie ponieważ nie wysłał Pan kodu lecz napisałem komendę która powinna Pana naprowadzić na to, w jaki sposób to zrobić. Dodam jeszcze, że zmienna {_full} przechowuje liczbę pełnych setek a {_c} liczbę "dodatkowych" liczb. (Dla przykładu 456: {_full} = 4, {_c} = 56). Pozdrawiam.

Odnośnik do komentarza
https://skript.pl/temat/58016-dzielenie-z-reszt%C4%85/#findComment-344544
Udostępnij na innych stronach

  • 0

Pokaż kod.

  

13 minut temu, Hiri12 napisał:

(Dla przykładu 456: {_full} = 4, {_c} = 56)

Wiesz, że istnieje coś takiego jak modulo? https://docs.skriptlang.org/docs.html?search=#mod

Edytowane przez CoFFeIN04
Odnośnik do komentarza
https://skript.pl/temat/58016-dzielenie-z-reszt%C4%85/#findComment-344545
Udostępnij na innych stronach

  • 0
W dniu 6.08.2024 o 09:57, CoFFeIN04 napisał:

Wiesz, że istnieje coś takiego jak modulo? https://docs.skriptlang.org/docs.html?search=#mod

No właśnie, nie ma co wynajdywać koła na nowo.

@milonn

Od siebie dopowiem jeszcze, że zamiast wysyłać puste linie (z perspektywy gracza tym jest ciąg przełamań linii) kilka razy po 100 lepiej jest zbudować sobie długi tekst zbudowany ze stu przełamań linii (new line), a następnie wysyłać go tylko mod(ilość wiadomości, 100) razy. Ograniczamy w ten sposób ilość iteracji jaką musi wykonać pętla.

# [...]
set {_clearChatMessage} to nl repeated 100 times
loop mod({_numberOfMessagesToRemove}, 100) times:
	send {_clearChatMessage}
# [...]

Pozdrawiam.

Odnośnik do komentarza
https://skript.pl/temat/58016-dzielenie-z-reszt%C4%85/#findComment-344603
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ę...