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

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

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

  1. Angelock

    Angelock Активный участник Заблокирован

    Баллы:
    61
    Имя в Minecraft:
    Angeock
    А через деньги реально?
     
  2. Pasha4444

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

    Баллы:
    78
    Имя в Minecraft:
    Pasha4444
    Подскажите как можно реализовать такую идею:
    Есть какие-то сообщения которые выводятся игроку раз в какое-то время, если у него есть "подписка на журнал"
    К примеру через gui меню мы покупаем эту подписку за копейку, нажав опять отписывается.
    Можно реализовать это с помощью автомессадж, просто давать и забирать права на определённые категории сообщений, но что-то мне не нравится в таком костыле, что-то во мне протестует.
     
  3. SoSeDiK

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

    Баллы:
    76
    Имя в Minecraft:
    SoSeDiK
    Почему первый активатор не работает с разделением строк (\n) в lore, если со вторым всё отлично?
    - 'ITEM_REMOVE_INVENTORY=type:stick amount:1 name:{&7LoLiK HD} lore:{&fJust for\n&cTEST}'
    - 'ITEM_GIVE=type:stick amount:1 name:{&7LoLiK HD} lore:{&fJust for\n&cTEST}'
    Такой же вопрос и к активаторам: если предмет с описанием в одну строку принимает, то с двумя или больше уже не хочет.

    Наконец-то разобрался! Надо в конце regex:false прописывать.
    Но появился другой вопрос. Если первое теперь принимает, то второе никак не хочет:
    1) lore:{&fСпециальные ботинки\n&cLOL\n&bИщё и нанотехнические!!!} regex:false
    2) lore:{&fСпециальные ботинки\n.*\n&bИщё и нанотехнические!!!} regex:false
    (ReActions в этом случае хочет, чтобы во второй строке было именно .*, а не любой текст).
    Как решить?
    P.S. Сайт ReActions будут дополнять/исправлять ошибки?
     
    Последнее редактирование: 29 дек 2016
  4. Angelock

    Angelock Активный участник Заблокирован

    Баллы:
    61
    Имя в Minecraft:
    Angeock
    Возможно ли сделать такое:
    Игрок регистрируются на проведение боев на арене с помощью опр. команды. После того, как наберётся, скажем игроков 6, их перемешивают, а после чего, 4 игроков тп на 1 точку, с которой будет виден бой 2-х других. Потом другие 2, потом ещё другие 2. После чего, бой за 1,2,3 место. + награда.
     
  5. Pasha4444

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

    Баллы:
    78
    Имя в Minecraft:
    Pasha4444
    Вполне, reaction можно сказать своеобразный язык программирования через который можно реализовать почти все что душе угодно
    Попользовался плагином и понял что не хватает структуры к примеру мы хотим создать телепорт, мы говорим что при заходе в опред регион нас телепортировало в другое место если у вас есть камень жреца (ну ими еще что-то), иначе выводит сообщение "----".
    Тоесть структура выглядит так gate --> if true do "gate2" else "write"(схематично)
    В итоге нагромождение и трудно ориентироваться в файле, будет ли добавлена возможность создавать для каждой прогрммы свой файл?
     
  6. SoSeDiK

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

    Баллы:
    76
    Имя в Minecraft:
    SoSeDiK
    Это и так возможно. В папке Activators можно создавать кучу файлов, не обязательно редактировать стандартный. Да и зачем ' if true do "gate2" else "write" ', если можно сделать всё одним активатором? (возможно, Я неправильно понял)
    Код:
    REGION_ENTER:
      PORTALTP:
        region: portal
        flags:
        - ITEM_INVENTORY=item:stone name:{&7Камень Жреца}
        actions:
        - TP=world,389,66,-448,270.0,7.0 <-- Написаны рандомные координаты
        reactions:
        - MESSAGE= &c---- У Вас отсутствует &7Камень Жреца &c----
        - MESSAGE=&cТелепорт не удался.
     
  7. Pasha4444

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

    Баллы:
    78
    Имя в Minecraft:
    Pasha4444
    Бошка не варит уже, пример неудачный.)
    Если мы вызываем другие активаторы, я хотел про это написать. Когда много активаторов неудобно ориентироваться. (if и else это и есть те же actions и reactions )
    Попробовал создать еще один файл чтобы проверить, но он не работает, объясни как это работает.
    Ой сори я просто касяк, все просто как божий день, разобрался*
     
  8. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    В общем, тот вариант который там сейчас реализован мне не нравится. Более того, у меня потеряны исходники документации - т.е. надо делать что-то новое.
    Идеальным был бы какой-то вики-образный движок с полноценной поддержкой мультиязычности. Меня периодически кусает что-то и я начинаю искать, но как правило ничего путного не находится.

    Если знаете что-то удобное и хорошее - я буду очень благодарен. Я бы инструкции ко всем своим плагинам свёл бы в одно место...
     
  9. Angelock

    Angelock Активный участник Заблокирован

    Баллы:
    61
    Имя в Minecraft:
    Angeock
    MOB_CLICK:
    bilet:
    mob-type: PLAYER
    mob-name: Сопровождающий
    flags:
    - ITEM=type:paper name:Билет
    actions:
    - TP=loc:world,935.59,124.0,660.511,3.149,90.0
    reactions:
    - message=&cБез билета не берём! Покажи-ка мне его...
    &cБез билета не берём! Покажи-ка мне его..
    Появляется 2 раза, почему так?
     
  10. SoSeDiK

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

    Баллы:
    76
    Имя в Minecraft:
    SoSeDiK
    Две руки = два раз выполняется активатор)
    Советую через MessageFilter сделать задержку, чтобы выводило только одно сообщение. Ещё можно во флаги выставить задержку, но тогда надо будет переписать 'reactions:'.
    Не хотят работать активаторы:
    Не принимает 'mob-type: witch', такая же проблема и с wither_skeleton. Как иначе их написать?
    Код:
    MOB_KILL:
      drop9:
        mob-type: witch
        mob-name: ''
        item: ''
        flags:
        - CHANCE=30
        actions:
        - ITEM_DROP=item:{type:264 amount:1 name:{§8Проклятый Алмаз} lore:{\n§7Он несёт зло...} enchantments:THORNS:5} loc:%moblocation% radius:1 scatter:true
    Добавил через команду в игре, 'actions:' дописал сам. Активатор не работает =\
    Код:
    ITEM_CONSUME:
      ZomBacon:
       item: type:367
        actions:
        - MESSAGE=&aTEST!
     
  11. Angelock

    Angelock Активный участник Заблокирован

    Баллы:
    61
    Имя в Minecraft:
    Angeock
    Не робит активатор.


    Andeevskk:
    mob-type: PLAYER
    mob-name: Andeevsk
    actions:
    - TOWN_SET=Andeevsk
     
  12. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Извиняюсь, на RuBukkit появляюсь редко. Не уверен, сработает ли все это, ибо делал без проверочного теста.

    Вариант с деньгами:
    Код:
    EXEC:
      Auc6:
        actions:
        - money_give=%varp:AucFast%
        - var_player_clear=id:AucFast
      Auc5:
        flags:
        - var_exist=id:AucL%player_name%
        actions:
        - var_player_set=id:AucFast player:%var:%varp:AucL%% value:%var:%varp:Auc%%
        - execute=activator:Auc6 player:%var:%varp:AucL%%
        - money_give=%var:%varp:AucE%%
        - broadcast=&aИгрок &e%var:%varp:AucL%% &aвыиграл аукцион &e%player_name%&a со ставкой &e%var:%varp:AucE%%&a!
        - var_clear=id:Auc%player_name%
        - var_clear=id:AucL%player_name%
        - var_clear=id:AucE%player_name%
        - var_player_clear=id:Auc
        - var_player_clear=id:AucL
        - var_player_clear=id:AucE
        reactions:
        - item_give=%var:Auc%player_name%%
        - var_clear=id:Auc%player_name%
        - var_clear=id:AucL%player_name%
        - var_clear=id:AucE%player_name%
        - var_player_clear=id:Auc
        - var_player_clear=id:AucE
        - var_player_clear=id:AucL
        - broadcast=&aАукцион игрока &e%player_name% &aзавершился без ставок!
    COMMAND:
      Auc1:
        override: false
        regex: true
        command: (?i)auc
        actions:
        - message=&a/auc &7- Команды аукциона.
        - message=&a/auc create <Нач.цена>&7 - Создать аукцион с предметом в руке.
        - message=&a/auc info <Ник>&7 - Информация по данному аукциону.
        - message=&a/auc add <Ник> <Сумма>&7 - Поставить ставку на аукцион.
      Auc2:
        override: false
        regex: true
        command: (?i)auc create (([0-9]){1,}|([0-9]){1,}\.([0-9]){1,})
        flags:
        - perm=usual.auction.create
        - '!var_exist=id:Auc%player_name%'
        - 'item=!type:air'
        actions:
        - var_set=id:Auc%player_name% value:{%PLAYER_ITEM_HAND%}
        - var_set=id:AucE%player_name% value:%arg2%
        - item_remove=%PLAYER_ITEM_HAND%
        - broadcast=&aИгрок &e%player_name%&a создал аукцион!
        - broadcast=&aИнформация - /auc info %player_name%
        - execute=activator:Auc5 delay:5m
        - var_player_set=id:Auc value:Auc%player_name%
        - var_player_set=id:AucL value:AucL%player_name%
        - var_player_set=id:AucE value:AucE%player_name%
        reactions:
        - message=&cЧто-то пошло не так!
      Auc3:
        override: false
        regex: true
        command: (?i)auc info .*
        flags:
        - var_exist=id:Auc%arg2%
        actions:
        - message=&eЦена &a%var:AucE%arg2%%
        - message=&eПредмет &a%var:Auc%arg2%%
        reactions:
        - message=&cЧто-то пошло не так!
      Auc4:
        override: false
        regex: true
        command: (?i)auc add ([a-z_0-9]){1,} ([0-9]){1,}
        flags:
        - var_exist=id:Auc%arg2%
        - money=%arg3%
        - var_lower=id:AucE%arg2% value:%arg3%
        actions:
        - var_set=id:AucFast value:AucL%arg2%
        - var_set=id:AucFast2 value:AucE%arg2%
        - message=player:%var:%var:AucFast%% &aСтавка поднялась до &e%arg3%&a!
        - money_give=player:%var:%var:AucFast%% amount:%var:%var:AucFast2%%
        - var_set=id:AucE%arg2% value:%arg3%
        - var_set=id:AucL%arg2% value:%player_name%
        - money_pay=%arg3%
        reactions:
        - message=&cЧто-то пошло не так!


    Помнится, ReActions не видит имя/ник игрока(если это не НИП из Citizens) в активаторах с мобами.
    Попробуй что-то типа:
    Код:
    MOB_АКТИВАТОР:
      Andeevskk:
        mob-type: PLAYER
        flags:
        actions:
        - var_set=id:TownFast value:{%player_name%}
        - execute=activator:Andee2 player:{loc:%moblocation%}
    EXEC:
      Andee2:
        flags:
        - compare=param:%player_name% value:Andeevskk
        actions:
        - execute=activator:Andee3 player:%var:TownFast%
        - var_clear=id:TownFast
      Andee3:
        actions:
        - TOWN_SET=Andeevskk
     
  13. Pasha4444

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

    Баллы:
    78
    Имя в Minecraft:
    Pasha4444
    помогите, что не так делаю пытаюсь заспавнить моба
    mob:
    world: world
    x: 876
    y: 72
    z: 547
    actions:
    - MOB_SPAWN=VILLAGER name:алеша loc:world,876.215,70.937,545.128,6.302,9.15 num:1

    да и найти моба тоже не получается
    MOB_CLICK:
    shopeat:
    mob-type: VILLAGER
    actions:
    - MENU_ITEM=menu:shop1
    Может дело в версии?(1.11)
     
  14. Angelock

    Angelock Активный участник Заблокирован

    Баллы:
    61
    Имя в Minecraft:
    Angeock
    Спасибо!
    Но я решил через MCD_OP сделать.
    Вещь не возвращается игроку. ( аукцион )
     
  15. Абсик

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

    Баллы:
    76
    Имя в Minecraft:
    Abcik
    Ребята, помогите! Мне нужно чтобы при вводе одной команды /test выполнялись две по очереди это : /join и /leave . Нужно чтобы оно работало в зависимости от гм. Тоисть когда я в гм 0 и пишу /test приводилась в действие команда /join. А когда я в гм 2 и пишу /test приводилась в действие команда /leave.
     
  16. Jeff_Michael

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

    Баллы:
    88
    Skype:
    Jeff_Michael14
    Имя в Minecraft:
    Jeff_Michael
    МедиаВики, почему нет? ТЫК

    Стоит ли ждать в ближайшее время возможность распределения персональных переменных для каждого пользователя в свой, отдельный файл?
     
    Последнее редактирование: 4 янв 2017
  17. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    И правда, не углядел совсем.

    Код:
    EXEC:
      Auc6:
        actions:
        - item_give=%varp:AucFast%
        - message=&a&lВы победили в аукционе!
        - var_player_clear=id:AucFast
      Auc5:
        flags:
        - var_exist=id:AucL%player_name%
        actions:
        - var_player_set=id:AucFast player:%var:%varp:AucL%% value:{%var:%varp:Auc%%}
        - execute=activator:Auc6 player:%var:%varp:AucL%%
        - money_give=%var:%varp:AucE%%
        - broadcast=&aИгрок &e%var:%varp:AucL%% &aвыиграл аукцион &e%player_name%&a со ставкой &e$%var:%varp:AucE%%&a!
        - var_clear=id:Auc%player_name%
        - var_clear=id:AucL%player_name%
        - var_clear=id:AucE%player_name%
        - var_player_clear=id:Auc
        - var_player_clear=id:AucL
        - var_player_clear=id:AucE
        reactions:
        - item_give=%var:%varp:Auc%%
        - var_clear=id:Auc%player_name%
        - var_clear=id:AucL%player_name%
        - var_clear=id:AucE%player_name%
        - var_player_clear=id:Auc
        - var_player_clear=id:AucE
        - var_player_clear=id:AucL
        - broadcast=&aАукцион игрока &e%player_name% &aзавершился без ставок!
    COMMAND:
      Auc1:
        override: false
        regex: true
        command: (?i)auc
        actions:
        - message=&a/auc &7- Команды аукциона.
        - message=&a/auc create <Нач.цена>&7 - Создать аукцион с предметом в руке.
        - message=&a/auc info <Ник>&7 - Информация по данному аукциону.
        - message=&a/auc add <Ник> <Сумма>&7 - Поставить ставку на аукцион.
      Auc2:
        override: false
        regex: true
        command: (?i)auc create (([0-9]){1,}|([0-9]){1,}\.([0-9]){1,})
        flags:
        - perm=usual.auction.create
        - '!var_exist=id:Auc%player_name%'
        - 'item=!type:air'
        actions:
        - var_set=id:Auc%player_name% value:{%PLAYER_ITEM_HAND%}
        - var_set=id:AucE%player_name% value:%arg2%
        - item_remove=%PLAYER_ITEM_HAND%
        - broadcast=&aИгрок &e%player_name%&a создал аукцион!
        - broadcast=&aИнформация - /auc info %player_name%
        - execute=activator:Auc5 delay:30s
        - var_player_set=id:Auc value:Auc%player_name%
        - var_player_set=id:AucL value:AucL%player_name%
        - var_player_set=id:AucE value:AucE%player_name%
        reactions:
        - message=&cЧто-то пошло не так!
      Auc3:
        override: false
        regex: true
        command: (?i)auc info .*
        flags:
        - var_exist=id:Auc%arg2%
        actions:
        - message=&eЦена &a%var:AucE%arg2%%
        - message=&eПредмет &a%var:Auc%arg2%%
        reactions:
        - message=&cЧто-то пошло не так!
      Auc4:
        override: false
        regex: true
        command: (?i)auc add ([a-z_0-9]){1,} ([0-9]){1,}
        flags:
        - var_exist=id:Auc%arg2%
        - money=%arg3%
        - var_lower=id:AucE%arg2% value:%arg3%
        actions:
        - var_set=id:AucFast value:AucL%arg2%
        - var_set=id:AucFast2 value:AucE%arg2%
        - message=player:%var:%var:AucFast%% &aСтавка поднялась до &e%arg3%&a!
        - message=&aВы поставили ставку &e$%arg3%&a!
        - money_give=player:%var:%var:AucFast%% amount:%var:%var:AucFast2%%
        - var_set=id:AucE%arg2% value:%arg3%
        - var_set=id:AucL%arg2% value:%player_name%
        - money_pay=%arg3%
        reactions:
        - message=&cЧто-то пошло не так!


    Быть может как-то так. Если у игрока выживание - от его лица вводится команда /join, если любой другой режим - /lobby

    Код:
    COMMAND:
      TestCmd:
        override: false
        regex: false
        command: test
        flags:
        - gamemode=survival
        actions:
        - cmd=join
        reactions:
        - cmd=lobby
     
  18. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Медиавики мне не понравилась. Уже не помню почему. Надо бы попробовать ещё. Возможно, сейчас я не такой капризный ;)

    Насчёт отдельного файла — в ближайшее время не будет.
     
  19. Kixot14

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

    Баллы:
    88
    Skype:
    Kixot14
    Имя в Minecraft:
    F1xer
    О старейшини сиего топика, взываю к вам!
    /Summon @fromgate
    /Summon @Lyosha12

    Мне надо сделать такую штуку (помогите, если не сложно):
    что бы при использовании конкретной команды эта команда блокировалась и заменялась рядом других, которые исполнялись бы в строгом порядке и с конкретными задержками
    Алгоритм: игрок юзает команду >> команда блокируется >> выполняется действие >> ждать 15 секунд >> выполняется действие#2.

    Тоесть понятно, для перехвата события берем активатор "COMMAND", для реакции на этот активатор берем действие "CMD". Но в этом случае наша команда, которая спровоцировала активатор, не будет заблокирована/отменена.

    И как сделать задержки между действиями ??
    Наверное такое не реализовано в плагине (не всё то он может, хех), т.к. для каждого отдельного события понадобился бы уникальный метод его блокировки.
     
    Последнее редактирование: 13 янв 2017
  20. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Действие - cancel_event=true отменяет событие, т.е. игрок как-бы не вводит команду
    Для задержки можно использовать действие - wait=время либо - actions_delayed=time:время action:{действие параметры}

    Код:
    COMMAND:
      WithDelay1:
        override: false
        regex: false
        command: test
        actions:
        - cancel_event=true
        - message=Well done!
        - cmd=spawn
        - wait=15s
        - message=Прошло 15 секунд...
        - cmd=home
      WithDelay2:
        override: false
        regex: false
        command: test2
        actions:
        - cancel_event=true
        - message=Well done!
        - cmd=spawn
        - action_delayed=time:15s action:{message Прошло 15 секунд...}
        - action_delayed=time:15s action:{cmd home}
    
     
    Последнее редактирование: 13 янв 2017

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