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

СливПлатные

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

  • ogyrec117
  • blacimine
  • zGuidekungs
  • Rightimar
  • Verrron
  • GhydraNT
  • flompi_1
  • optimusmac
  • asdas1231wss
  • ryzenplay
  • HawalButer
  • ura2046
  • Agato
  • asdasd123!!!
  • pashik
  • auzin1
  • DAEer1231a
  • ExAmPlE54541
  • PablinMP
  • Stopa_Pupa02
  • LemishD
  • devbasi
  • NevileeV
  • MrDeknoker_YT
  • oatminecraft
  • darksd20
  • Fugg_Name
  • isaleoama
  • lagor
  • Ksyoddd
  • Rusens
  • ghf
  • nebom
  • phuquy12
  • nexo
  • LateGG
  • Soccc
  • vladky
  • AAA-aaa123
  • Aorus
  • CREEPERMINE
  • Omotor
  • kroleks
  • bebra123321
  • damian312
  • qweyns
  • clownpierce1998
  • qbao1702
  • FEDA
  • SoSohik
  • Jamenson
  • artemka231
  • sav1251266
  • Karllol
  • Thermos720
  • sovereignTV
  • krqtexenon
  • bpuqDopler
  • Heldonger
  • georgiygvozdev
  • Matteduk
  • Aezzakmi
  • lisstons
  • azazazas
  • feyhoa
  • sdqw
  • djdjdhdh
  • vadimklochkov
  • Kw0rk
  • zombie_zzzz
  • BiazerMine
  • KBACbl4
  • Sniep228
  • Mr. Stranger
  • Burzhui34
  • noobsmoke
  • Kenshin
  • Huhuhuh
  • Votond
  • scorgme
  • shifter
  • sxpr4
  • Nrdz

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

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
 
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 команди видаляються одночасно у всіх гравців, так що на рахунок нагромадження прав можна не перейматися
 
ВерхНиз