1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите MyCommand - определить состоит ли игрок в городе(Towny)

Тема в разделе "Помощь", создана пользователем Gs1q, 21 ноя 2021.

Метки:
  1. Автор темы
    Gs1q

    Gs1q Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    Gs1q
    Добрый день, разрабатываю сервер Towny и столкнулся с такой проблемой. Я хочу что бы игроки при написании команды /f town в чат сервера выводится сообщение о том что "Игрок" ищет город! Собственно это я реализовал, но столкнулся с проблемой в виде того что игрок который уже состоит в городе может писать эту команду, можно ли как то сделать что бы определяло состоит ли игрок в городе? Код кину ниже:

    find_city:
    command: /f town
    type: BROADCAST_RAW_TEXT
    runcmd:
    - '$Script$%if%$CheckPlayerStatus%$arg1%isOnline%==true'
    text:
    - '&7(&c!&7) &7Игрок &f$player &7ищет себе город, просим отписаться!'
    - '$RUN_COMMAND$&7[&fПригласить&7];&7Нажмите;/town invite $player'
    - '&7[&fНаписать&7];&7Нажмите;/msg $player'
    permission-required: true
     
  2. _MrJaycob_

    _MrJaycob_ Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    JaycobYT
    С плагином Towny не знаком, однако принцип следующий: нужно проверить, если плейсхолдер %town_town% от имени указанного игрока ($arg1) выводит N/A значит игрок не состоит в городе и можно выводить объявление. В ином случае выводить игроку текст "Вы уже состоите в городе". Только здесь тип команды BROADCAST_RAW_TEXT и как можно это всё совместить пока идей нет. Пока только такое приходит на ум, но как в таком случае вывести raw-текст с кнопкой "Пригласить" - хз:
    Код:
    find_city:
      command: /f town
      type: RUN_COMMAND
      runcmd:
      - '$Script$%if%%parseother_{$arg1}_{town_town}%==N/A'
      - '$broadcasttext$ &7(&c!&7) &7Игрок &f$player &7ищет себе город, просим отписаться!'
      - '$Script$%else%'
      - '$text$ &cИгрок уже состоит в городе'
      permission-required: true
     
  3. Автор темы
    Gs1q

    Gs1q Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    Gs1q
    Скопировал ваш метод дабы ознакомится и придумать как можно обдурить raw text, но столкнулся с тем что ваш метод не работает. Даже если Игрок не находится в городе выводит "Игрок состоит в городе."
     
  4. _MrJaycob_

    _MrJaycob_ Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    JaycobYT
    Установлено расширение плейсхолдера ParseOther?
    /papi ecloud download ParseOther
    /papi reload
     
  5. Автор темы
    Gs1q

    Gs1q Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    Gs1q
    Да, конечно установлено. Возможно Placeholder {town_town} неверный. Пробовал различные по типу: {townytagoverride} , {townyadvanced_town} всё равно не работает. Можно знаете как ещё попробовать, название города выводится в таб суффиксом через плагин TAB, есть ли возможность проверки находится ли у игрок суффикс?
     
  6. _MrJaycob_

    _MrJaycob_ Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    JaycobYT
    Можно, но мне кажется, что это не самое лучшее решение. Вдруг нужно будет вывести какую-то информацию в суффикс помимо названия города и вся эта система вновь будет работать не так, как нужно
     
  7. Автор темы
    Gs1q

    Gs1q Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    Gs1q
    Досадно, ну буду ждать тогда кто сможет сделать через MyCommand, ибо я вообще в нём 0.
    Ну или какую альтернативу, слышали есть ещё плагин Skript или как-то так.
    Так-же если кто может сделать плагин, если сумма будет адекватна, то можем обсудить.
     
    Последнее редактирование: 21 ноя 2021
  8. imDaniX

    imDaniX Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Для старых версий плагина - нужно скачать расширение через /papi ecloud или сайт и использовать плейсхолдер towny_town; для новых плейсхолдер уже вшит в плагин, использовать townyadvanced_town.
    Возможно, просто проверка неправильно работает, ибо плейсхолдер выдает не то, что ожидалось бы - проверь через /papi parse me %townyadvanced_town% стоя вне города.
     
  9. Автор темы
    Gs1q

    Gs1q Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    Gs1q
    Написал /papi parse me %townyadvanced_town% не находясь в городе, выводит пустое сообщение. Потом добавил себя в город, написал снова и вывело название города. То есть это правильны плейсхолдер, вписал его в MyCommand но в нём не работает.
     
  10. _MrJaycob_

    _MrJaycob_ Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    JaycobYT
    Попробуй так:
    Код:
    - '$Script$%if%%parseother_{$arg1}_{townyadvanced_town}%.string.length<1'
     
  11. Автор темы
    Gs1q

    Gs1q Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    Gs1q
    Не работает.
     
  12. Автор темы
    Gs1q

    Gs1q Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    Gs1q
  13. playerrr

    playerrr Новичок Пользователь

    Баллы:
    6
    Имя в Minecraft:
    lddd
    Поднимаю старую тему, ответа на нее нет, но сильно нужно, есть идеи? :oops:
     
  14. playerrr

    playerrr Новичок Пользователь

    Баллы:
    6
    Имя в Minecraft:
    lddd
  15. playerrr

    playerrr Новичок Пользователь

    Баллы:
    6
    Имя в Minecraft:
    lddd
  16. playerrr

    playerrr Новичок Пользователь

    Баллы:
    6
    Имя в Minecraft:
    lddd
  17. Overwrite

    Overwrite Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    artcart
    Это невозможно. Ответил на твой вопрос?
     
  18. playerrr

    playerrr Новичок Пользователь

    Баллы:
    6
    Имя в Minecraft:
    lddd
    Видел на серверах. И более чем уверен, что эта команда сделана через MyCmd или тот же Skpirt
     
  19. Overwrite

    Overwrite Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    artcart
    Самопис
     
  20. Ignaacioo

    Ignaacioo Активный участник Пользователь

    Баллы:
    66
    Возможно, скорее всего. Другое дело, что в Towny желания разбираться нет.
     

Поделиться этой страницей