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

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

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

  1. Korvinius

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

    Баллы:
    88
    повторюсь, я такого реализовать не пробовал, а о действии:
     
  2. Astrogen

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

    Баллы:
    76
    Имя в Minecraft:
    Astrogen
    Спасибо, вопрос только - очистит ли оно уникальных мобов, ибо команда /killall с параметрами убивает всех, кроме моего наспавленного. Буду пробовать, отпишусь.
    Еще вопрос: где-то можно взять полное руководство по плагину? а то, чую я - у меня много чего нету. Например - как дать уникальное имя дропу, выпадающему с моба. Спасибо.
     
    Последнее редактирование: 28 апр 2015
  3. Korvinius

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

    Баллы:
    88
    К сожалению, мне кажется его не существует, сам пользуюсь этим, плюс к нему, смотрю историю изменений разных версий.
     
  4. Автор темы
    fromgate

    fromgate Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    На dropbox'е есть последняя моя попытка получить что-то вроде руководства. Пока на криворуком английском.

    https://dl.dropboxusercontent.com/u/64799811/ReActions/ReActions.chm
    @Astrogen
    Очистить регион (REGION_CLEAR)

    REGION_CLEAR region:<регион> type:<типEntity>


    Параметры:
    <регион> - <Название региона для очистки>

    <типEntity>
    - items - удалить все предметы
    - mobs - удалить всех мобов
    - all - удалить всё
    - <EntityType>[,<EntityType>..] - Список типов enity. Можно указывать как материалы так и названия мобов.
     
  5. Astrogen

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

    Баллы:
    76
    Имя в Minecraft:
    Astrogen
    Премного Вами благодарен! (С) "Иван Васильевич"
    Не сочтите за идиота, я уж всяко перепробовал - не могу дать имя сворду, выпадающему из моба, делаю все по инструкции. Может быть из-за того, что Spigot 1.8?
     
    Последнее редактирование: 28 апр 2015
  6. Win4ester

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

    Баллы:
    68
    Я создал команду при написании которой срабатывает действие (допустим /port %player%). Можно ли как нибудь дать право писать эту команду только конкретному игроку, а не всем?
     
  7. Автор темы
    fromgate

    fromgate Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Во флагах можно проверять имя или пермишен.

    А как вы это делаете, покажите
     
  8. Astrogen

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

    Баллы:
    76
    Имя в Minecraft:
    Astrogen
    Прошу прощения, затупил, надо было сразу написать. Варианты были такие:

    - MOB_SPAWN=type:skeleton region:quest1 health:120 land:true name:Хранитель helm:314 chest:315 leg:316 boot:317 weapon:283 drop:276@killspider$DAMAGE_ALL:5

    - MOB_SPAWN=type:skeleton region:quest1 health:120 land:true name:Хранитель helm:314 chest:315 leg:316 boot:317 weapon:283 drop:killspider@ID:276$DAMAGE_ALL:5

    - MOB_SPAWN=type:skeleton region:quest1 health:120 land:true name:Хранитель helm:314 chest:315 leg:316 boot:317 weapon:283 drop:276 killspider@DAMAGE_ALL:5

    и даже пробовал от балды:

    - MOB_SPAWN=type:skeleton region:quest1 health:120 land:true name:Хранитель helm:314 chest:315 leg:316 boot:317 weapon:283 drop:276@NAME:killspider, DAMAGE_ALL:5

    Что-то я в синтаксисе явно не понял, вы поправьте, плиз. Спасибо.
     
  9. MrStefanie2007

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

    Баллы:
    66
    Имя в Minecraft:
    MrStefanie
    Ребята добрые, спасайте!
    В интернетах искал, решения не нашел :с
    Дело в том, что с помощью ReActions создаю собственные команды. На телепорты, на вывод сообщение и т.д. и т.п. - не суть важно. У меня две проблемы, с которыми мне нужно решение:
    1. Когда я ввожу команду /command мне к примеру отображается текст ТЕКСТ1. Когда я ввожу /command text2 мне отображается и ТЕКСТ2 и ТЕКСТ1. Нужно как-то сделать так, чтобы /command работал отдельно, но что-то не выходит :с
    2. Самая главная моя проблема. Если на первую я могу закрыть глаза, то тут прям меня просто вымораживает. Не нашел решение. В общем, при прописывании, к примеру, /ololo 228 воспринимается как текст и соответсвенно активатор, поэтому с ReActions все ок, но сервер то видит слэш ("/") и воспринимает как команду, а так как такой нет выводит сообщение "Unknow command. Try /help и бла-бла-бла". Выглядит очень забавно, когда ты пишешь команду, сначала тебе говорят, что такой нет, а через миллисекунду ты уже телепортируешься в другой город, заплатив 200$. Выручайте, беда с этим(
     
  10. Автор темы
    fromgate

    fromgate Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    1. У активатора COMMAND есть два формата описания команды. 1-й это просто маска текста команды, например "команда параметр1". Если использовать только такое описание - тогда действительно будет тот эффект, что при "команда параметр1" будет также отрабатывать и "команда".
    Есть ещё вариант: "cmd:<команда> arg1:<параметр1> ... argN:<параметрN>
    При этом в качестве параметров можно использовать и "*", т.е. если описать команду как: "cmd:give arg1:* arg2:IRON_SWORD", то этот активатор будет срабатывать и для команды /give fromgate IRON_SWORD и /give notch IRON_SWORD.
    Соответственно (если я не путаю ;)), если указать просто "cmd:<команда>" без ссылки на параметры, то при наличии параметров этот активатор выполнятся не будет.

    Примеры:
    Код:
    COMMAND:
      day_cmd:
        command: cmd:day
        flags: []
        actions:
        - cmd=time set 0
        reactions: []
      day_off:
        command: cmd:day arg1:off
        flags: []
        actions:
        - cmd=time set 18000
        reactions: []
    P.S. Вообще всё мечтаю добавить сюда поддержку регулярных выражений - это будет удобнее... Когда-то я это сделаю ;)

    2. Вообще по умолчанию, если в системе не найдена соответствующая команда, то событие должно отменяться. Если этого не происходит, можно добавить действие CANCEL_EVENT=true в активатор.Надпись "Unknown commad..." тогда пропадёт.
    Killspider - это название?
    Тогда должно быть что-то вроде:

    - MOB_SPAWN=type:skeleton region:quest1 health:120 land:true name:Хранитель helm:314 chest:315 leg:316 boot:317 weapon:283 drop:killspider$276@DAMAGE_ALL:5

    Т.е. название идёт до ID предмета.
     
  11. Astrogen

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

    Баллы:
    76
    Имя в Minecraft:
    Astrogen
    Спасибо, все заработало. Теперь буду знать.
     
  12. MrStefanie2007

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

    Баллы:
    66
    Имя в Minecraft:
    MrStefanie
    Я такой нуб, что не могу сделать задержку *О*
    Хелпайте, а то не понял как вообще DELAY и прочие юзать
    у меня примерно так (несколько раз менял, так что не пинайте ногами за мою неумелость) ):
    Код:
        actions:
        - 'MESSAGE=&2[Капитан корабля]: &fКорабль отправляется прямо сейчас!'
        - 'MESSAGE=&2[Капитан корабля]: &fКурс на МайнРиж!'
        - ACTION_DELAYED=2s TP=ShipMineRizh
        - ACTION_DELAYED=2s MONEY_PAY=40
        - ACTION_DELAYED=2s SOUND=SPLASH
    

    Не работает sign_set_line. И %sign_loc% ставил, и отдельную локацию создавал - ни в какую не хочет! Что делать? Как правильно прописывать действие? (в yml файле)
    P.S. мне нужно вывести на табличку значение переменной, если переменная изменилась.
     
    Последнее редактирование: 29 апр 2015
  13. Danil007524

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

    Баллы:
    76
    У fromgate'а на канале было какое-то видео. Он вывел на табличку время в мире.
     
  14. Автор темы
    fromgate

    fromgate Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Про задержку опишите, что именно нужно получить.
    DELAY (флаг и действие) - это можно сказать для управления cooldown'ами (О! Надо переименовать ;))
    ACTION_DELAYED - это выполение через определенное время. Но у Вас они прописаны неправильно. Должно быть так:
    Код:
        - ACTION_DELAYED=time:2s action:{TP ShipMineRizh}
        - ACTION_DELAYED=time:2s action:{MONEY_PAY 40}
        - ACTION_DELAYED=time:2s action:{SOUND SPLASH}

    Для изменяющейся переменной лучше всего использовать активатор VARIABLE, который срабатывает при смене значения переменной. Например так:
    Код:
    VARIABLE:
      vartest:
      variable-id: vartest
      personal: false
      flags: []
      actions:
        - sign_set_line=line3:{Переменная:} loc:world,-49.0,67.0,417.0,0.0,0.0
        - sign_set_line=line2:%var:vartest% loc:world,-49.0,67.0,417.0,0.0,0.0
        - sign_set_line=line3:{Время:} loc:world,-49.0,67.0,417.0,0.0,0.0
        - sign_set_line=line4:%time_server:HH:mm:SS% loc:world,-49.0,67.0,417.0,0.0,0.0
      reactions: []
    
     
  15. MrStefanie2007

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

    Баллы:
    66
    Имя в Minecraft:
    MrStefanie
    Вообще сигн сет лайн отказывается работать. Что бы я не делал, куда бы я его не пихал - вообще ни в какую. Не знаю с чем это может быть связано... Это жутко бесит, потому что это КРАЙНЕ нужная мне функция, в общем вот мой код, вроде как все верно, триста раз все переписывал - не помогает вообще. Кстати, если это вдруг играет значение - у меня 0.9.2 версия плагина, в версиях выше отказываются работать телепорты.
    Код:
     
      Бизнес1Слот1:
        command: cmd:biz arg1:1 arg2:slot1 arg3:*
        flags:
        - VAR_COMPARE=biz001/%player%
        actions:
        - var_set=id:biz001s1 value:%arg3%
        - 'message=&e[biz]Вы установили цену. Теперь она составляет: %var:biz001s1%$'
        - 'sign_set_line=world,-6.0,64.0,608.0,0.0,0.0 line4:Цена: %var:biz001s1%'
        reactions:
        - message=&eВы не владеете этим бизнесом. 
    p.s. кстати, не мешало бы обновить описание флагов, активаторов и прочего на bukkit dev, насколько я понял, там процентов 40 из всего существующего, а чтобы узнать все, нужно шурудить всю эту тему, а это напряжно.
     
  16. Автор темы
    fromgate

    fromgate Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    У Вас в SIGN_SET_LINE не указан параметр loc. Т.е. ReActions не знает о какой табличке идёт речь и пропускает её. Надо так:

    sign_set_line=loc:world,-6.0,64.0,608.0,0.0,0.0 line4:Цена: %var:biz001s1%


    То что касается телепортов, то это очень странно. Код действия телепортации не менялся очень давно. Последнее, что я сделал - это учел возможность того, что ряд активаторов может срабатываться в результате телепортации (например телепортация в регион) и в этом случае нужно работать с событием телепортации (и меня пункт приземления), а не вызывать телепорт внутри телепорта.

    Покажите активатор, который там у Вас не работает и в каком случае это происходит.
    По поводу документации. К сожалению, от её наполнения я получаю меньше радости, чем от написания плагинов - вот и результат. При этом, средства предоставляемые BukkitDev очень неудобны для создания документации большого объема.
    Я решил сделать всё на основе chm файла и у меня уже есть процентов на 90 законченный английский вариант.
    Надеюсь когда-то это будет 100% и я смогу приступить к русскому варианту.

    https://dl.dropboxusercontent.com/u/64799811/ReActions/ReActions.chm
     
  17. MrStefanie2007

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

    Баллы:
    66
    Имя в Minecraft:
    MrStefanie
    Вставил "loc:" - не помогло. Вообще не врубаюсь в чем проблема %_%
    Вот такая шняга происходит, когда активатор юзаю upload_2015-5-2_20-30-58.png
    Попробывал сменить версию майна с 1.5.2 до 1.6.4. заработало! с: Только вот не хочет переменную ставить...А это беда, потому что проблему мою это, считайте, не решило... пишу так:
    Код:
        - 'sign_set_line=loc:world,-6.0,64.0,608.0,0.0,0.0 line4:Цена: %arg3%$'
    . Пишется только "Цена:" и все :с
    Все, заработало. Добавил фигурные скобки. Ну что ж...Теперь придется обновлять всякое прочее дерьмо под версию 1.6.4, ничего не поделаешь. ReActions мне важнее, на нем весь сервер стоит)
    Есть какая-то возможность выдавать случайное число? Мне вот к примеру надо, чтобы спавнилось 7-12 свиней и в переменную вписывалось также от 7 до 12 (одинаковые числа должны быть, крч).
    Ахаха, уже сам нашел :D абсолютно на бум воткнул %random:7-12% и заработало :D
    А вот с %CALC% реально проблемы. Нужно умножить переменную на 100 - но если использую этот %CALC% в мессадже или же непосредственно в нужном мне MONEY_GIVE - действие просто не производится, т.е. текст не выводится/деньги даже не пытаются перевестись
     
  18. Автор темы
    fromgate

    fromgate Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    @MrStefanie2007

    По поводу ошибки на скриншоте. Это ошибка присущая весрии 0.9.2. Исправлена, в последней её точно нет.
    Суть в том, что там ошибочно подцепился класс от плагина PlayEffect, и если в системе он стоит, то ошибка себя не проявляет.

    Тоже самое, касательно MONEY_GIVE - надо пробовать последнюю версию.
    Ну и показывайте конкретные примеры. Я тоже буду пробовать - вдруг ещё какой-то нюанс вылезет.
     
  19. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    @fromgate, можете назвать примерное время интенсивного продолжения работы над плагином? Больше волнуют фиксы, которые в тикетах, чем обновления...
     
  20. Автор темы
    fromgate

    fromgate Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Ну самое главное и ленивое я сделал - на днях обновил FakePlayersOnline. Сейчас как раз сосредоточился на ReActions. Точнее на функции, которая будет полезна и в нём и одном из моих будущих плагинов.
    Это касается возможности "сохранения" предметов. Т.е. можно будет вполне взять предмет в руках и сохранить его в переменную. А потом восстановить или выдать копию другому игроку.

    Параллельно буду смотреть на сообщения в тикетах на DBO и выкладывать обновления сюда. Первое на очереди - перепроверить модуль разбора координат.
     

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