Siemka!
Ostatnio stworzyłem taki kod, który pozwala zrobić topkę. Jest on prostszy, ale nie ma bajerów typu podział na strony. No i co najważniejsze, wreszcie mi to działa xD
A więc oto kod:
command /top:
trigger:
loop (size of {topka::*}) times:
set {_wynik} to 0
loop {topka::*}:
loop-value is greater than {_wynik}:
set {_wynik} to loop-value
set {_nick} to loop-index
clear {topka::%{_nick}%}
set {_backup::%{_nick}%} to {_wynik}
{_nick} is set:
send "&4%loop-number%. &6%{_nick}% = &c%{_wynik}%"
clear {_nick}
else:
exit loop
loop {_backup::*}:
loop-index is set:
set {topka::%loop-index%} to loop-value
//Poprawiam kod, ale może być źle wytabowany. ~ Norbi, 19.04.2016r
Wyjaśnienie:
1. Najpierw tworzymy jakąś komendę, tutaj /top.
2. Zapętlamy ją tyle razy, ile jest w niej "rekordów", żeby wszystkie zostały pokazane. Można dać np. loop 10 times: aby pokazać tylko 10 "rekordów".
3. Ustawiamy wartość początkową na 0, w celu późniejszego porównywania.
4. Zapętlamy listę, w celu wyjęcia z niej najlepszego wyniku.
5. Sprawdzamy czy aktualna wartość jest większa od zapisanej, jeżeli tak to nadpisujemy.
6. Usuwamy końcowy (największy) wynik z listy, żeby się nie powtórzył później.
7. Dodajemy za to ten wynik do chwilowej listy "backup" żeby go potem przywrócić.
8. Dla bezpieczeństwa sprawdzamy czy {_nick} istneje, żeby zapobiec czemuś jak "10. <none> = 123"
9. Wysyłamy wiadomość o miejscu loop-number nicku {_nick} i wyniku {_wynik}.
10. Usuwamy {_nick} dla kolejnego loopa.
11. Zabezpieczenie: Jeżeli nie ma już rekordów spełniających wymagania to następuje wyjście z loopa, żeby bez sensu nie lagować. Można tam dodać wiadomość "Brak"
12. Po skończeniu wysyłania topki, zapętlamy listę z backupem i wracamy wartości do głównej listy. Gotowe!
Uwagi:
Wyniki mniejsze lub równe pierwotnemu (tutaj 0) nie pokażą się.
Ta topka wyświetla od największego do najmniejszego wyniku.
Jeżeli chcesz to odwrócić, w linii 4-tej wpisz dużą liczbę, np. 99999999999999 a w 6-tej zamień greater na less.
Mam nadzieję, że komuś ten kod rozjaśni listy zmiennych i ogólnie pomoże