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

СливПлатные

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

  • xyrixa
  • yastroxz
  • iisuperali2
  • DarkCray_
  • Sinitris
  • Villain
  • yatuybarsov
  • kashalot
  • lamakerus2020
  • thellobo
  • ГалицкийТЕХ
  • OderPrince
  • eikurash
  • oBanana
  • SHIZA_PHOBIA
  • jekson
  • JuliGame14
  • ub1v4shk4
  • compoto
  • TTtttt332
  • xxx1249
  • Dmitry..
  • Redkret
  • vv_vova
  • Rasya

Помощь Проблема с выдачей через консоль ExecutableItems и Deluxemenu

Статус
Вы не можете ничего здесь написать, потому что тема была закрыта.
G
Версия ядра сервера
1.21+
Столкнулся с проблемой создал на DeluxeMenu код, который должен обрабатывать покупку. Вроде сделал всё правильно, но по старым меркам. Однако оно абсолютно не работает. По тому, что я вижу, проблема связана с распознаванием плейсхолдеров какой бы я их ни ставил, ни меню, ни ExecutableItems их не видят. В документации плейсхолдеры указаны, но, возможно, из-за меню они не работают. В общем, я пока не разобрался в причине. Кто-нибудь может помочь с решением этой проблемы?

ExecutableItems: воспринимает placeholder как игрока

YML:
items:
  1:
    display_name: '&eУдочка'
    material: FISHING_ROD
    slot: 20
    lore:
      - '&d• &7Раритет'
      - ''                          #Здесь я проверял видно ли placeholder
      - '&aЛКМ &7- купить за &a500$ %player% player_name% {player}'

    left_click_requirement:
      requirements:
        has_money:
          type: '>='
          input: '%cmi_user_balance%'
          output: '500'
      deny_commands:
        - '[close]'
        - '[message] &c✘ У вас недостаточно денег!'
        - '[message] &7Нужно: &a500$ &7(у вас: &a%cmi_user_balance%&7)'
        - '[sound] BLOCK_ANVIL_LAND'

    left_click_commands:
      - '[console] money take %player_name% 500'
      - '[console] ei give %player_name% 1fish 1'
      - '[message] &a✔ Вы купили &eУдочку &aза &a500$!'
      - '[sound] ENTITY_PLAYER_LEVELUP'
Консольная ошибка вот такая:
[20:16:35 INFO]: Can't find player with this name! ([name]) (money -> [name])
[20:16:35 INFO]: [ExecutableItems] Player %player_name% not online (You enabled the feature giveOffline, so the item will be given when the player reconnects)
 
Решение
LiSnow
Столкнулся с проблемой создал на DeluxeMenu код, который должен обрабатывать покупку. Вроде сделал всё правильно, но по старым меркам. Однако оно абсолютно не работает. По тому, что я вижу, проблема связана с распознаванием плейсхолдеров какой бы я их ни ставил, ни меню, ни ExecutableItems их не видят. В документации плейсхолдеры указаны, но, возможно, из-за меню они не работают. В общем, я пока не разобрался в причине. Кто-нибудь может помочь с решением этой проблемы?

ExecutableItems: воспринимает placeholder как игрока

YML:
items:
  1:
    display_name: '&eУдочка'
    material: FISHING_ROD
    slot: 20
    lore:
      - '&d• &7Раритет'
      - ''                          #Здесь я проверял видно ли placeholder...
GPT-4o
Проблема, с которой вы столкнулись, может быть связана с неправильным использованием плейсхолдеров или с тем, что они не распознаются в контексте вашего меню. Давайте разберем ваш YAML-код и исправим возможные ошибки.

Вот исправленный вариант вашего кода:

YAML:
items:
  1:
    display_name: '&eУдочка'
    material: FISHING_ROD
    slot: 20
    lore:
      - '&d• &7Раритет'
      - '                          #Здесь я проверял видно ли placeholder'
      - '&aЛКМ &7- купить за &a500$ %cmi_user_balance%''
    left_click_requirement:
      requirements:
        has_money:
          type: '>='
          input: '%cmi_user_balance%'
          output: '500'
      deny_commands:
        - '[close]'
        - '[message] &c✘ У вас недостаточно денег!'
        - '[message] &7Нужно: &a500$ &7(у вас: &a%cmi_user_balance%&7)'
        - '[sound] BLOCK_ANVIL_LAND'
    left_click_commands:
      - '[console] money take %player_name% 500'
      - '[console] ei give %player_name% 1fish 1'
      - '[message] &a✔ Вы купили &eУдочку &aза &a500$!'
      - '[sound] ENTITY_PLAYER_LEVELUP'

### Объяснения и исправления:

1. Плейсхолдеры: Убедитесь, что вы используете правильные плейсхолдеры. Например, в вашем случае %player% и %player_name% могут быть разными. Используйте тот, который поддерживается вашим плагином.

2. Символы: Убедитесь, что вы используете правильные символы для кавычек и амперсандов. Я заменил их на стандартные.

3. Ошибки консоли: Сообщение об ошибке указывает на то, что плагин не может найти игрока. Убедитесь, что игрок действительно онлайн, когда вы выполняете команду. Если вы хотите, чтобы предметы выдавались игрокам, которые не находятся в сети, убедитесь, что у вас включена соответствующая настройка.

4. Проверка наличия денег: Убедитесь, что плейсхолдер %cmi_user_balance% правильно работает и возвращает ожидаемое значение.

Если после этих изменений проблема не решится, проверьте, правильно ли настроены ваши плагины и их зависимости.
 
LiSnow
  • LiSnow
  • 💙 ᴜᴋʀᴀɪɴᴇ 💛 мᴇʜюшᴋᴏдᴇл, дизᴀйʜ-ᴋᴏпипᴀᴄтᴇᴘ
  • 144
Столкнулся с проблемой создал на DeluxeMenu код, который должен обрабатывать покупку. Вроде сделал всё правильно, но по старым меркам. Однако оно абсолютно не работает. По тому, что я вижу, проблема связана с распознаванием плейсхолдеров какой бы я их ни ставил, ни меню, ни ExecutableItems их не видят. В документации плейсхолдеры указаны, но, возможно, из-за меню они не работают. В общем, я пока не разобрался в причине. Кто-нибудь может помочь с решением этой проблемы?

ExecutableItems: воспринимает placeholder как игрока

YML:
items:
  1:
    display_name: '&eУдочка'
    material: FISHING_ROD
    slot: 20
    lore:
      - '&d• &7Раритет'
      - ''                          #Здесь я проверял видно ли placeholder
      - '&aЛКМ &7- купить за &a500$ %player% player_name% {player}'

    left_click_requirement:
      requirements:
        has_money:
          type: '>='
          input: '%cmi_user_balance%'
          output: '500'
      deny_commands:
        - '[close]'
        - '[message] &c✘ У вас недостаточно денег!'
        - '[message] &7Нужно: &a500$ &7(у вас: &a%cmi_user_balance%&7)'
        - '[sound] BLOCK_ANVIL_LAND'

    left_click_commands:
      - '[console] money take %player_name% 500'
      - '[console] ei give %player_name% 1fish 1'
      - '[message] &a✔ Вы купили &eУдочку &aза &a500$!'
      - '[sound] ENTITY_PLAYER_LEVELUP'
Консольная ошибка вот такая:
[20:16:35 INFO]: Can't find player with this name! ([name]) (money -> [name])
[20:16:35 INFO]: [ExecutableItems] Player %player_name% not online (You enabled the feature giveOffline, so the item will be given when the player reconnects)
А ты расширение Player подключил?
/papi ecloud download Player
/papi reload
 
Решение
G
А ты расширение Player подключил?
/papi ecloud download Player
/papi reload
Спасибо, это помогло я тебе очень благодарен. Устанавливал papi на сервер ещё в самом начале в надежде на решение, но никак не мог додуматься до главного - player. Видимо, старость берёт своё. :3
 
Статус
Вы не можете ничего здесь написать, потому что тема была закрыта.
ВерхНиз