Сборки серверов

СливПлатные

Сейчас онлайн

  • Limitely
  • KriSTiaN
  • ChemistSlime
  • alexey2005
  • fictorop
  • Kir_000
  • VoidStudio
  • kirkabak
  • sxpr4
  • GoldTangCZ
  • binhvt04
  • MERGix
  • Aezven
  • ally
  • Zoyhi
  • maksai69
  • bikin
  • SEREBRO
  • t0rpedv
  • noobsmoke
  • OverwriteMC
  • KBDL
  • KTOymep
  • Phantom25KK
  • HANSON
  • grograin
  • esok_
  • KiruhaTopchik
  • saykirah
  • kpw[por2
  • YaCookies
  • Sagito
  • CrispyZ
  • dutch
  • isaleoama
  • Kapybaraa
  • TheProffesional
  • sreegames228
  • 4ak4ak
  • d1ma
  • sanchhhho1
  • mexasik_yt
  • Pazlichek
  • brennus
  • NightMaster
  • kroleks
  • Edsongreen
  • DemiGod1083
  • damian312
  • BarsikGob_1
  • arnold
  • ArthurL
  • dededededed
  • Verrron
  • molocos
  • Cyber_QA
  • 2csa
  • XakerO12
  • EmpireOverLord
  • ddkfjw
  • PablinMP
  • Valya
  • flxwerqx
  • VALEIM82
  • Uzgurin1
  • kaiser_awg
  • wapo2500
  • Immm
  • Vlas31
  • Joiner4553553
  • gsagasbbbb
  • sav1251266
  • FaszTehen
  • Buy11
  • MERF
  • asdfsdfsdf

Как сделат ьчто бы после покупки предмета его нельзя было купить

Статус
Вы не можете ничего здесь написать, потому что тема была закрыта.
NINSTIF
Версия ядра сервера
1.16+
помогите пожалуйста у меня есть бп и меню где можно купить бп премиум я хочу что бы когда ты покупаешь бп премиум ты больше его не мог купит ьчто бы у тебя тамгде было купить был барьер и написано куплено

menu_title: ' &a&lSKAR&2&lPASS&e&l+'
open_command:
- bpplus
- battlepassplus
- bp+
- battlepass+
size: 44
register_command: true
items:
xcxgdfgfвввdg:
display_name: '&a&lSKAR&2&lPASS&e&l+'
material: emerald
slot: 22
lore:
- ''
- '&a♦ При покупке вы получите:'
- '&a♦ Платную линию &a&lSKAR&2&lPASS'
- '&a♦ Уникальные донат титулы'
- '&a♦ Префикс (&e&l+&a) рядом с ником'
- '&a♦ Донат кейс в конце Пасса'
- ''
- '&a&l | &aЦена &a&l3,000&a Изумрудов'
- ''
left_click_commands:
- '[broadcast] '
- '[broadcast] &e⇒ &fИгрок &a%player_name%&f приобрёл платную подписку &a&lSKAR&2&lPASS&f!'
- '[broadcast] '
- '[console] battlepassadmin set pass %player_name% premium'
- '[console] p take %player_name% 3000'
left_click_requirement:
requirements:
anything_here:
type: '>='
input: '%playerpoints_points%'
output: '3000'
deny_commands:
- '[message] &c&k|&f Извините, но у вас &cнедостаточно изумрудов &fдля покупки.'
- '[message] &c&k|&f Приобрести изумруды можно на сайте » &6skarnex.easydonate.ru'
right_click_commands:
- '[broadcast] '
- '[broadcast] &e⇒ &fИгрок &a%player_name%&f приобрёл платную подписку &a&lSKAR&2&lPASS&f!'
- '[broadcast] '
- '[console] battlepassadmin set pass %player_name% premium'
- '[console] p take %player_name% 3000'
right_click_requirement:
requirements:
anything_here:
type: '>='
input: '%playerpoints_points%'
output: '3000'
deny_commands:
- '[message] &c&k|&f Извините, но у вас &cнедостаточно изумрудов &fдля покупки.'
- '[message] &c&k|&f Приобрести изумруды можно на сайте » &6skarnex.easydonate.ru'
'glass':
material: green_stained_glass_pane
display_name: '&a&lsᴋᴀʀ&2&lɴᴇx'
slots:
- 0
- 8
- 44
- 36
- 53

'glass2':
material: lime_stained_glass_pane
display_name: '&a&lsᴋᴀʀ&2&lɴᴇx'
slots:
- 1
- 9
- 7
- 35
- 27
- 17
- 37
- 43
 
Решение
S
По-перше, якщо на правий та лівий клік використовується одна й та сама дія, то краще використати click_commands: / click_requirement: - щоб не писати зайві дубльовані рядки.
По-друге, для подібного використовується view_requirement: та заглушка у вигляді будь-якого права, в данному випадку bp.buyed (яке видається гравцю як позначення та закріплення успішної покупки) - та встановлення пріорітету (priority: 1/2) відображення предмету в одному й тому ж слоті.
Обов'язково має бути наявність підключеного заповнювача LuckPerms (/papi ecloud download LuckPerms, /papi reload)

А реалізація така:
Приклад:
menu_title: ' &a&lSKAR&2&lPASS&e&l+'
open_command:
  - bpplus
  - battlepassplus
  - bp+
  - battlepass+
size: 44
register_command: true...
GPT-4o
Код:
menu_title: ''             &a&lSKAR&2&lPASS&e&l+''
open_command: 
  - bpplus
  - battlepassplus
  - bp+
  - battlepass+
size: 44
register_command: true
items:
  xcxgdfgfвввdg:
    display_name: ''&a&lSKAR&2&lPASS&e&l+''
    material: emerald
    slot: 22
    lore:
     - ''''
     - ''&a♦ При покупке вы получите:''
     - ''&a♦ Платную линию &a&lSKAR&2&lPASS''
     - ''&a♦ Уникальные донат титулы''
     - ''&a♦ Префикс (&e&l+&a) рядом с ником''
     - ''&a♦ Донат кейс в конце Пасса''
     - ''''
     - ''&a&l | &aЦена &a&l3,000&a Изумрудов''
     - ''''
    left_click_commands:
    - '[broadcast] ''
    - '[broadcast]  &e⇒ &fИгрок &a%player_name%&f приобрёл платную подписку &a&lSKAR&2&lPASS&f!''
    - '[broadcast] ''
    - '[console] battlepassadmin set pass %player_name% premium''
    - '[console] p take %player_name% 3000''
    left_click_requirement:
      requirements:
        anything_here:
          type: ''>=''
          input: ''%playerpoints_points%''
          output: ''3000''
      deny_commands:
          - '[message] &c&k|&f Извините, но у вас &cнедостаточно изумрудов &fдля покупки.''
          - '[message] &c&k|&f Приобрести изумруды можно на сайте » &6skarnex.easydonate.ru''
    right_click_commands:
    - '[broadcast] ''
    - '[broadcast]  &e⇒ &fИгрок &a%player_name%&f приобрёл платную подписку &a&lSKAR&2&lPASS&f!''
    - '[broadcast] ''
    - '[console] battlepassadmin set pass %player_name% premium''
    - '[console] p take %player_name% 3000''
    right_click_requirement:
      requirements:
        anything_here:
          type: ''>=''
          input: ''%playerpoints_points%''
          output: ''3000''
      deny_commands:
          - '[message] &c&k|&f Извините, но у вас &cнедостаточно изумрудов &fдля покупки.''
          - '[message] &c&k|&f Приобрести изумруды можно на сайте » &6skarnex.easydonate.ru''
  'glass':
    material: green_stained_glass_pane
    display_name: ''&a&lsᴋᴀʀ&2&lɴᴇx''
    slots:
    - 0
    - 8
    - 44
    - 36
    - 53  
  'glass2':
    material: lime_stained_glass_pane
    display_name: ''&a&lsᴋᴀʀ&2&lɴᴇx''
    slots:
    - 1
    - 9
    - 7
    - 35
    - 27
    - 17
    - 37
    - 43

# Добавление барьера и сообщения "Куплено"
  purchased_item:
    display_name: ''Куплено''
    material: barrier
    slot: 22
    lore:
     - ''Вы уже приобрели этот предмет!''
 
IL5UA
По-перше, якщо на правий та лівий клік використовується одна й та сама дія, то краще використати click_commands: / click_requirement: - щоб не писати зайві дубльовані рядки.
По-друге, для подібного використовується view_requirement: та заглушка у вигляді будь-якого права, в данному випадку bp.buyed (яке видається гравцю як позначення та закріплення успішної покупки) - та встановлення пріорітету (priority: 1/2) відображення предмету в одному й тому ж слоті.
Обов'язково має бути наявність підключеного заповнювача LuckPerms (/papi ecloud download LuckPerms, /papi reload)

А реалізація така:
Приклад:
menu_title: ' &a&lSKAR&2&lPASS&e&l+'
open_command:
  - bpplus
  - battlepassplus
  - bp+
  - battlepass+
size: 44
register_command: true
update_interval: 1

items:
  "Пропуск - Не куплен":
    display_name: '&a&lSKAR&2&lPASS&e&l+'
    material: emerald
    slot: 22
    priority: 1
    update: true
    lore:
      - ''
      - '&a♦ При покупке вы получите:'
      - '&a♦ Платную линию &a&lSKAR&2&lPASS'
      - '&a♦ Уникальные донат титулы'
      - '&a♦ Префикс (&e&l+&a) рядом с ником'
      - '&a♦ Донат кейс в конце Пасса'
      - ''
      - '&a&l | &aЦена &a&l3,000&a Изумрудов'
      - ''
    view_requirement:
      requirements:
        check_perm:
          type: string equals
          input: "%luckperms_has_permission_bp.buyed%"
          output: "no"
    click_requirement:
      requirements:
        anything_here:
          type: '>='
          input: '%playerpoints_points%'
          output: '3000'
          deny_commands:
            - '[message] &c&k|&f Извините, но у вас &cнедостаточно изумрудов &fдля покупки.'
            - '[message] &c&k|&f Приобрести изумруды можно на сайте » &6skarnex.easydonate.ru'
    click_commands:
      - '[broadcast] '
      - '[broadcast] &e⇒ &fИгрок &a%player_name%&f приобрёл платную подписку &a&lSKAR&2&lPASS&f!'
      - '[broadcast] '
      - '[console] battlepassadmin set pass %player_name% premium'
      - '[console] p take %player_name% 3000'
      - '[console] lp user %player_name% permission set bp.buyed' # видача заглушки
      - '[refresh]' # обновление иконки, чтобы появился её второй вид (в данном случаи иконка барьера)
      
  "Пропуск - Куплен":
    display_name: '&a&lSKAR&2&lPASS&e&l+'
    material: barrier
    slot: 22
    priority: 2
    update: true
    lore:
      - ''
      - '&a♦ При покупке вы получите:'
      - '&a♦ Платную линию &a&lSKAR&2&lPASS'
      - '&a♦ Уникальные донат титулы'
      - '&a♦ Префикс (&e&l+&a) рядом с ником'
      - '&a♦ Донат кейс в конце Пасса'
      - ''
      - '&a&l | &aУже приобретено!'
      - ''
    view_requirement:
      requirements:
        check_perm:
          type: string equals
          input: "%luckperms_has_permission_bp.buyed%"
          output: "yes"
 
S
По-перше, якщо на правий та лівий клік використовується одна й та сама дія, то краще використати click_commands: / click_requirement: - щоб не писати зайві дубльовані рядки.
По-друге, для подібного використовується view_requirement: та заглушка у вигляді будь-якого права, в данному випадку bp.buyed (яке видається гравцю як позначення та закріплення успішної покупки) - та встановлення пріорітету (priority: 1/2) відображення предмету в одному й тому ж слоті.
Обов'язково має бути наявність підключеного заповнювача LuckPerms (/papi ecloud download LuckPerms, /papi reload)

А реалізація така:
Приклад:
menu_title: ' &a&lSKAR&2&lPASS&e&l+'
open_command:
  - bpplus
  - battlepassplus
  - bp+
  - battlepass+
size: 44
register_command: true
update_interval: 1

items:
  "Пропуск - Не куплен":
    display_name: '&a&lSKAR&2&lPASS&e&l+'
    material: emerald
    slot: 22
    priority: 1
    update: true
    lore:
      - ''
      - '&a♦ При покупке вы получите:'
      - '&a♦ Платную линию &a&lSKAR&2&lPASS'
      - '&a♦ Уникальные донат титулы'
      - '&a♦ Префикс (&e&l+&a) рядом с ником'
      - '&a♦ Донат кейс в конце Пасса'
      - ''
      - '&a&l | &aЦена &a&l3,000&a Изумрудов'
      - ''
    view_requirement:
      requirements:
        check_perm:
          type: string equals
          input: "%luckperms_has_permission_bp.buyed%"
          output: "no"
    click_requirement:
      requirements:
        anything_here:
          type: '>='
          input: '%playerpoints_points%'
          output: '3000'
          deny_commands:
            - '[message] &c&k|&f Извините, но у вас &cнедостаточно изумрудов &fдля покупки.'
            - '[message] &c&k|&f Приобрести изумруды можно на сайте » &6skarnex.easydonate.ru'
    click_commands:
      - '[broadcast] '
      - '[broadcast] &e⇒ &fИгрок &a%player_name%&f приобрёл платную подписку &a&lSKAR&2&lPASS&f!'
      - '[broadcast] '
      - '[console] battlepassadmin set pass %player_name% premium'
      - '[console] p take %player_name% 3000'
      - '[console] lp user %player_name% permission set bp.buyed' # видача заглушки
      - '[refresh]' # обновление иконки, чтобы появился её второй вид (в данном случаи иконка барьера)
     
  "Пропуск - Куплен":
    display_name: '&a&lSKAR&2&lPASS&e&l+'
    material: barrier
    slot: 22
    priority: 2
    update: true
    lore:
      - ''
      - '&a♦ При покупке вы получите:'
      - '&a♦ Платную линию &a&lSKAR&2&lPASS'
      - '&a♦ Уникальные донат титулы'
      - '&a♦ Префикс (&e&l+&a) рядом с ником'
      - '&a♦ Донат кейс в конце Пасса'
      - ''
      - '&a&l | &aУже приобретено!'
      - ''
    view_requirement:
      requirements:
        check_perm:
          type: string equals
          input: "%luckperms_has_permission_bp.buyed%"
          output: "yes"
Да рабочий вариант, но разве права можно так использовать?
 
Решение
IL5UA
Да рабочий вариант, но разве права можно так использовать?
Звісно, чому б і ні, якщо вони дозволяють собою реалізувати бажане)
По такому ж принципу працюють також і квести, і титули, і їм подібне
 
S
Звісно, чому б і ні, якщо вони дозволяють собою реалізувати бажане)
По такому ж принципу працюють також і квести, і титули, і їм подібне
Я спрашивал более опытных разработчиков они советовали не просо права а мета данные от Luckperms, при наличии множества менюшек и их механик права игроков быстро забьются, а метаданные можно командой убрать если это не временное
 
IL5UA
Я спрашивал более опытных разработчиков они советовали не просо права а мета данные от Luckperms, при наличии множества менюшек и их механик права игроков быстро забьются, а метаданные можно командой убрать если это не временное
У кожного свої методи використання, та й вони відносно не сильно відрізняються між собою
Права гравців також легко в 2 команди видаляються одночасно у всіх гравців, так що на рахунок нагромадження прав можна не перейматися
 
IL5UA
может вы ещё знаете как сделать рядом с ником игрока + чтобы в табе в чате в скорд баре было
Або в LuckPerms використовувати suffix - якщо немає титулів на сервері
Або можна MyCommand + JavaScript - для створення і виведення кастомного плейсхолдера з "+"
 
Статус
Вы не можете ничего здесь написать, потому что тема была закрыта.
ВерхНиз