[ГАЙД] Топы

В этом гайде раскажу как сделать топы
Для создания топов нам нужна переменная по который вы хотите сделать топ, у меня это %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 сек") -- Тут менять стиль голограммы
  ]

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

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

8MO

Участник
Регистрация
11 Мар 2024
Сообщения
8
сделай топ 3 с нпс
 

Mee8YT

Эксперт
Регистрация
3 Май 2023
Сообщения
314
Функция holo make Работа с массивами получить элемент массива (#leaderboard_string, 1, @top1) Работа с массивами получить элемент массива (#leaderboard_string, 2, @top2) Работа с массивами получить элемент массива (#leaderboard_string, 3, @top3) Работа с массивами получить элемент массива (#leaderboard_string, 4, @top4) Работа с массивами получить элемент массива (#leaderboard_string, 5, @top5) Работа с массивами получить элемент массива (#leaderboard_string, 6, @top6) Работа с массивами получить элемент массива (#leaderboard_string, 7, @top7) Работа с массивами получить элемент массива (#leaderboard_string, 8, @top8) Работа с массивами получить элемент массива (#leaderboard_string, 9, @top9) Работа с массивами получить элемент массива (#leaderboard_string, 10, @top10)
это кринж
лучше одной рекурсивкой это всё делать, у меня в 1 функцию умещается 3 и 4 пункт твой
 

kiryxa_vip

Эксперт
Регистрация
3 Май 2023
Сообщения
130
это кринж
лучше одной рекурсивкой это всё делать, у меня в 1 функцию умещается 3 и 4 пункт твой
я немного забыл про это при написании кода, изменил теперь все умещается в 1 функции
 
Сверху