[ГАЙД] Топы

В этом гайде расскажу как сделать топы
Для создания топов нам нужна переменная, по который вы хотите сделать топ, у меня это %player%_money
Минимальный ранг, чтобы сделать топы Legend
В коде топы сделаны на 10 мест, можно сделать меньше по желанию
Проверить работоспособность кода можно на /ad топы
Топы без красивого дизайна (пример ниже), и не имеют команды на бан и разбан в топе

1716386901020.png

Код:
Событие игрока вход
 Присв. переменную += (@allid@, 0)
 Если переменная = (@allid@, 0) [
  Работа с массивами создать массив (#leaderboard#)
  Работа с массивами создать массив (#leaderboard_nicks#)
  ]
 Присв. переменную += (@%player%_id@, 0)
 Если переменная = (@%player%_id@, 0) [
  Присв. переменную += (@allid@, 1)
  Присв. переменную = (@%player%_id@, @allid@)
  Присв. переменную / (@%player%_divid@, @%player%_id@, 100000)
  Присв. переменную обьединить тексты (@nick, "%player%")
  Работа с массивами добавить в конец массива (#leaderboard#, @%player%_divid@)
  Работа с массивами добавить в конец массива (#leaderboard_nicks#, @nick)
  ]
 Игровое действие начать цикл ("leaderboard")
Код:
Цикл leaderboard 20
 Выбрать обьект все игроки
 Присв. переменную + (@%selected%_masupd, @%selected%_money@, @%selected%_divid@) -- в данном блоке нужно заменить плейсхолдер %player% на %selected% в вашей переменной монет
 Работа с массивами заменить элемент массива (#leaderboard#, @%selected%_id@, @%selected%_masupd)
 Выбрать обьект случайный игрок
 Работа с массивами сортировать массив (#leaderboard#, #leaderboard_sorted) {Сортировка по убыванию}
 Работа с массивами создать массив (#leaderboard_string)
 Присв. переменную = (@rec_num, 0)
 Присв переменную = (@in_holo, )
 Вызвать функцию (top make)
Код:
Функция top make
 Присв. переменную += (@rec_num, 1)
 Если переменная сравнить число легко (@rec_num, 10) {Меньше или равно} [
  Работа с массивами получить элемент массива (#leaderboard_sorted, @rec_num, @text)
  Если переменная текст НЕ равняется (@text, "0") [
   Присв. переменную парсить число (@id_top, @text)
   Присв. переменную округлить число (@money, @id_top)
   Присв. переменную - (@id_top, @id_top, @money)
   Присв. переменную округлить число (@id_top, @id_top, 5)
   Присв. переменную * (@id_top, @id_top, 100000)
   Присв. переменную округлить число (@id_top, @id_top)
   Работа с массивами получить элемент массива (#leaderboard_nicks#, @id_top, @nick_top)
   Присв. переменную обьединить текст (@in_lb, "&a", @rec_num, "&8 - &e", @nick_top, "&8 - &d", @money) -- В этой строке можно менять стиль строки в голограмме
   Присв. переменную обьединить текст (@in_holo, @in_holo, @in_lb)
   ]
  Игровое действие ждать (1) {В тиках}
  Выбрать обьект случайный игрок
  Вызвать функцию (top make)
  ]
 Если переменная сравнить числа легко (@rec_num, 10) {Больше} [
  Игровое действие создать голограмму (Местоположение, "leaderboard", "&d&lТОП ПО МОНЕТАМ", "&f &f", @in_holo, "&a &a", "&8&oОбновление раз в 5 сек") -- Тут менять стиль голограммы
  ]

↓ Прочти перед написанием кода
() - Что находится внутри сундука
[] - Скобки, в коде майнленда это поршни
{} - Что выбрать в переключателе
`` - Что появляется после Шифт + ПКМ по табличке
"" - Только текст

# - Перед значением означает то что это массив
# - Перед и после значением означает то что это постоянный массив
-- После строки - коментарий автора
@ - Перед значением означает то что это динамическая переменная
@ - Перед и после значения означает то что это сохраненая динамическая переменная
Если значение содержит только цифры то это число
Остальные переменые в коде обозначаются ихними названиями, к примеру Игровое значение местоположение игрока или же Эффект редстоун
 
Последнее редактирование:

Mee8YT

Эксперт
Регистрация
3 Май 2023
Сообщения
370
Объединить два массива в один массив а затем этот один массив отсортировать, что-то разве сложного в этом есть?
объединив эти два массива ты получишь массив текста и чисел, и он их криво отсортирует)
 
Сверху