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

Плагин [MECH/FUN] ReActions - Что? Тогда? Иначе! [BukkitDev]

Тема в разделе "Релизы плагинов", создана пользователем fromgate, 16 июл 2013.

  1. SOHIGH

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

    Баллы:
    76
    Блин, не успев подумать сразу на форум полез, а зря.
    Разобрался.

    Теперь другой вопрос))
    Имею активатор:
    Код:
    COMMAND:
      'Command_BuyPowerBankTypeG':
        command: BuyPowerBankTypeG
        flags:
        - VAR_PLAYER_EXIST=PowerBankTypeG
        reactions:
        - VAR_PLAYER_INC=id:PowerBankTypeG 1
        - 'MESSAGE=&7Аккумулятор типа: "G" куплен. &a%varp:PowerBankTypeG%&f/&c5'
        actions:
        - 'IF_ELSE= if:{(%varp:PowerBankTypeG%>=5)} then:run:actions:{ action1:{MESSAGE=&7Ты купил максимальное кол-во аккумуляторов типа: "G". &a%varp:PowerBankTypeG%&f/&c5} } else:{}'
        - 'IF_ELSE= if:{(%varp:PowerBankTypeG%<=4)} then:run:actions:{ action1:{VAR_PLAYER_INC=id:PowerBankTypeG value:1} action2:{MESSAGE=&7Аккумулятор типа: "G" куплен. &c%varp:PowerBankTypeG%&f/&c5} } else:{}'
    Все выполняется верно, но вот, при 2-й "покупке" аккумулятора в чате почему-то все-равно 1/2(хотя переменная равна 2-м):
    upload_2017-10-29_3-52-31.png
    Помогите, пожалуйста.

    Ах да, не подскажите, как сделать меню, чтобы при клике на пустой слот меню не закрывалось?
     
    Последнее редактирование: 28 окт 2017
  2. maxdikiy

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

    Баллы:
    76
    Имя в Minecraft:
    maxdikiy
    Одновременно изменять переменные и выводить их результат внутри одного ifelse нельзя. Возможно, я это допилю.
    Но зачем так усложнять Ваш активатор. Вот проще вариант:
    Код:
    COMMAND:
     'Command_BuyPowerBankTypeG':
        command: BuyPowerBankTypeG
        flags:
        - FLAG_SET=!VAR_PLAYER_EXIST:id:PowerBankTypeG VAR_PLAYER_LOWER:{id:PowerBankTypeG value:5}
        actions:
        - VAR_PLAYER_INC=id:PowerBankTypeG value:1
        - 'message=&7Аккумулятор типа: "G" куплен. &c%varp:PowerBankTypeG%&f/&c5'
        reactions:
        - 'message=&7Ты купил максимальное кол-во аккумуляторов типа: "G". &a%varp:PowerBankTypeG%&f/&c5'
    
     
    Последнее редактирование: 29 окт 2017
  3. SOHIGH

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

    Баллы:
    76
    Как всегда большое спасибо, на флаг "FLAG_SET" внимания не обращал раньше)
     
  4. SOHIGH

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

    Баллы:
    76
    Привет, привет, вообщем, почему-то у меня перестал работать плейсхолдер %CALC:% в меню.
    Активатор:
    Код:
    COMMAND:
     'z':
        command: z
        actions:
        - 'MESSAGE=&8%CALC:(%varp:PowerBankTypeA%*5000)+(%varp:PowerBankTypeB%*2500)+(%varp:PowerBankTypeC%*1500)+(%varp:PowerBankTypeD%*1000)+(%varp:PowerBankTypeE%*500)+(%varp:PowerBankTypeF%*200)+(%varp:PowerBankTypeG%*100)%'
        - 'MENU_ITEM=size:45 title:{Терминал} slot23:{name:{&c❢ &4Информация} lore:{&7Ёмкость аккумуляторов:\n&f%CALC:(%varp:PowerBankTypeA%*5000)+(%varp:PowerBankTypeB%*2500)+(%varp:PowerBankTypeC%*1500)+(%varp:PowerBankTypeD%*1000)+(%varp:PowerBankTypeE%*500)+(%varp:PowerBankTypeF%*200)+(%varp:PowerBankTypeG%*100)%\n\n&7Заряд:\n&f%varp:power%\n\n&7Статус:\n&r%varp:status%} type:35 data:5} exec23:_'
    
    При выполнении действия в чат выходит сообщение, которое нужно:
    upload_2017-10-29_17-59-22.png

    А вот в описании предмета у меня это:
    upload_2017-10-29_17-58-35.png
     

    Вложения:

  5. gelion

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

    Баллы:
    78
    Тогда у меня другой вопрос, а не будет ли сервере потре****ь еще больше ресурсов ? Особенно если будут часто использоваться переменные.
     
  6. maxdikiy

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

    Баллы:
    76
    Имя в Minecraft:
    maxdikiy
    Здесь тоже всё просто. Вам нужно только создать временную переменную и использовать её везде в этом активаторе:
    Код:
    COMMAND:
     'z':
        command: z
        actions:
        - var_temp_set=id:z value:{%CALC:(%varp:PowerBankTypeG%*5000)+(%varp:PowerBankTypeG%*2500)+(%varp:PowerBankTypeC%*1500)+(%varp:PowerBankTypeD%*1000)+(%varp:PowerBankTypeE%*500)+(%varp:PowerBankTypeF%*200)+(%varp:PowerBankTypeG%*100)%}
        - 'MESSAGE=&8%z%'
        - 'MENU_ITEM=size:45 title:{Терминал} slot23:{name:{&c❢ &4Информация} lore:{&7Ёмкость аккумуляторов:\n&f%z%\n\n&7Заряд:\n&f%varp:power%\n\n&7Статус:\n&r%varp:status%} type:35 data:5} exec23:_'
    
     
  7. SOHIGH

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

    Баллы:
    76
    Я все прекрасно понял.
    Спасибо!
     
    Последнее редактирование: 12 дек 2017
  8. maxdikiy

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

    Баллы:
    76
    Имя в Minecraft:
    maxdikiy
    Применение переменных приводит к затормаживанию системы, это факт. Попробуйте запустить два активатора, один с персональными переменными, а другой с временными переменными и для каждого из них побегайте по карте и вы заметите, что с активатором где используются персональные переменные, сервер будет притормаживаться. Вот пример:
    Код:
    EXEC:
      var1:
        actions:
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
        - VAR_PLAYER_INC=id:v value:1
        - log=%varp:v%
      var2:
        actions:
        - VAR_temp_set=id:v value:1
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
        - VAR_temp_set=id:v value:%CALC:%v%+1%
        - log=%v%
    
    Из этого примера видно, что следует как можно реже прибегать к использованию персональных и глобальных переменных.
    У меня есть идея, как перестать использовать персональные переменные в таком виде, как они сейчас есть и добавить использование мета данных. При этом персональные переменные будут находится в метаданных игрока. Также будут добавляться и удаляться не прибегая к сохранению файла персональных переменных. Згружаться переменные будут только при входе игрока на сервер, а записываться в файл после выхода из сервера. Вот тогда, я думаю, что тормозов сервера больше не будет.
     
  9. maxdikiy

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

    Баллы:
    76
    Имя в Minecraft:
    maxdikiy
    Я кажеться лучше нашёл способ использования персональных переменных. Я просто сделал так, чтобы при каждом сохранении переменной в файл, создавался асинхронно новый поток, который практически не мешает работе сервера. Теперь сервер не должен тормозить.
    Build #158
    • Добавлен параметр в конфиг player-asynch-save-self-variable-file его нужно установить в true, чтобы работать с персональными переменными асинхронно.
    • Этот параметр работает в связке с параметром player-self-variable-file: true
    • По идее, теерь тормозов сервера не должно наблюдаться
     
  10. SOHIGH

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

    Баллы:
    76
    Почитав страницу с описанием действия SHOOT я создал похожий активатор у себя на сервере.
    Работает, но не все.
    Активатор:
    Код:
    ITEM_CLICK:
      shoot:
        item: type:439
        actions:
        - EFFECT=eff:smoke_normal loc:%targetloc%
        - SHOOT=damage:100 run:{activator:shootexec playeronly:false} distance:50
    При "Стрельбе" из стрелы моб получает урон, но почему-то эффект smoke_normal получаю я, а не моб.
    Просмотрев еще пару страниц на вашем сайте я увидел плейсхолдер %moblocation%, но он тоже к сожалению действует на меня :(

    Из второго активатора, который был на сайте идет сообщение.
    В котором плейсхолдер %targetloc% соответствует координатам цели.
     
  11. maxdikiy

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

    Баллы:
    76
    Имя в Minecraft:
    maxdikiy
    В вашем примере %targetloc% не определён. Эффект должен производится в активаторе shootexec
     
  12. SOHIGH

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

    Баллы:
    76
    Спасибо :)
    Не подскажешь, как остановить такой активатор?

    Код:
    EXEC:
      Exec_Mining:
        actions:
       - MESSAGE=1
        - ACTION_DELAYED=time:5s action:{EXECUTE activator:Exec_Mining}
    
    Вот этим активатором запускаю:
    Код:
    COMMAND:
      x:
        command: x
        actions:
        - EXECUTE=activator:Exec_Mining
    
    Этим пытаюсь остановить, но не тщетно:
    Код:
    COMMAND:
      z:
        command: z
        actions:
        - EXECUTE_STOP=activator:Exec_Mining
    
     
  13. SoSeDiK

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

    Баллы:
    76
    Имя в Minecraft:
    SoSeDiK
    Активатор MESSAGE не учитывает цвета (как это было в MessageFilter)? Например, что-то выводит в чат сообщение &2This is a &emessage *случайное число*.
    Чтобы убрать его, по идее должен быть такой активатор:
    Код:
    MESSAGE:
      Hiden:
        mask: '&2This is a &emessage'
        type: START
        source: CHAT_OUTPUT
        actions:
        - CANCEL_EVENT=true
    (Можно и type:CONTAINS, но мне нужен именно START)
    Но ничего не произойдёт. Если убрать цвет, то активатор сработает (mask: 'This is a message'). Почему?
    И что делать, если есть несколько одинаковых сообщений, отличающихся лишь по цвету и случайному числу? При этом нужно скрыть только те, которые начинаются с нужного мне цвета.
    Если это не моя ошибка, то прошу добавить, если можно, параметр color: true | false (учитывать ли цвет при проверке).
    UPD: Да, точно. Создал активатор, отменил ивент, вывел сообщение через %message%. Цвета нет.
    @maxdikiy Где можно подробнее ознакомиться с REGEX? Необходимо убрать с сообщения определённое слово (доллар, как в примерах, убирает, а вот слово не хочет). В некоторых случаях заменить его на другое. Буду очень благодарен за наводку или даже пример.
     
    Последнее редактирование: 30 окт 2017
  14. SoSeDiK

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

    Баллы:
    76
    Имя в Minecraft:
    SoSeDiK
    @SOHIGH Запускай не через 'ACTION_DELAYED=', а вот так: 'EXECUTE=activator:Exec_Mining delay:5s'. Тогда его можно будет отменить при помощи EXECUTE_STOP.
     
  15. SOHIGH

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

    Баллы:
    76
    О, спасибо)
     
  16. Lalki

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

    Баллы:
    66
    А увеличение функционала действия shoot планируется?
     
  17. maxdikiy

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

    Баллы:
    76
    Имя в Minecraft:
    maxdikiy
    Так, какой плагин выводит сообщение в чат? Просто в чат могут выводить сообщения в разных форматах, например, в json. Тогда маска должна быть другой. Да и в маске кавычки ставить нет необходимости.

    Что касается примеров для REGEX, то все примеры опубликованы на этом форуме. Чтобы правильно установить маску (regex) для этого действия, воспользуйтесь ресурсом:
    https://regex101.com/
     
  18. maxdikiy

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

    Баллы:
    76
    Имя в Minecraft:
    maxdikiy
    Какие предложения у вас имеются на этот счёт?
     
  19. SoSeDiK

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

    Баллы:
    76
    Имя в Minecraft:
    SoSeDiK
    Разные. EssentialsX (EssentailsXChat), WorldGuard, Slimefun (с ними пробовал).
    Сохранял сообщения через MessageFilter, там был цвет и кавычки. Решил заменить его.
     
  20. Lalki

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

    Баллы:
    66
    Откидывание жертвы, а то с помощью Exec-а никак его не сделать на монстре.
     

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