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

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

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

  1. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
  2. Korvinius

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

    Баллы:
    88
    :good: Спасибо
     
  3. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Отлично! Огромное спасибо!
     
  4. Korvinius

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

    Баллы:
    88
    На вашем сервере много игроков? Нет проблем с мультиаккаунтами?
     
  5. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    В принципе, игроки не на столько умны. Но некоторые воспользовались багом с регистром и получили больше новогодних подарков, чем я рассчитывал. Ну, это единичный случай и баг уже исправлен :)

    Вообще... Второй акк на моём сервере мало чем поможет в "грязных делах" :)
     
    Последнее редактирование: 9 янв 2015
  6. Gottor

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

    Баллы:
    68
    Хотелось бы узнать, можно ли при помощи этого плагина создать автоматический респавн схемы world edit'а, по заданным параметрам времени и координат? Т.е у нас есть несколько условных позиций, в которых может появиться эта схема. Если можно, то как это сделать?
     
  7. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Задать эти позиции... Приделать таймер с рандомизацией... Конкретизируйте задачу.
     
  8. Gottor

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

    Баллы:
    68
    Вот смотри, допустим у нас есть схема(сфера из булыжника, внутри лежит железная руда) нам нужно чтобы она(схема) спавнилась в нужных нам точках( или даже рандомно по всей карте) каждые 20 минут.
     
  9. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Сохраняешь её через WE, создаёшь нужное количество активаторов, в каждом из которых прописываешь разные координаты вставки. Задаёшь для каждого активатора одну глобальную задержку. Задаёшь флаг шанса выполнения. Далее связываешь их выполнение одним общим Exec'ом. Всё, рандомное появление схемы готово.
    Только одно но, @Gottor, схема будет спавниться только тогда, когда чанк будет загружен. Иначе - только один блок.
    ========================================================================================
    @fromgate, переменные, флаги и таймер очень странно себя ведут. Три раза на одном и том же - три разных результата. Смотрите сами:
    [​IMG]
    [​IMG]
    [​IMG]
    А вот то, что я проверяю:
    Код:
    EXEC:
      Spleef-Fix-Air-Exec:
        flags: []
        actions:
        - execute=activator:Spleef-Fix-Air-SetVar region:spleefingame
        - execute=activator:Spleef-Fix-Air-Warn1 region:spleefingame
        - execute=activator:Spleef-Fix-Air-Warn2 region:spleefingame
        - execute=activator:Spleef-Fix-Air-Warn3 region:spleefingame
        - execute=activator:Spleef-Fix-Air-Warn4 region:spleefingame
        - execute=activator:Spleef-Fix-Air-OutGame region:spleefingame
        - execute=activator:NotInGame player:all
        reactions: []
    
    
      Spleef-Fix-Air-SetVar:
        flags:
        - REGION=spleef-fix-air
        - var_player_compare=id:SpleefInGame value:1
        - WALK_BLOCK=0
        actions:
        - var_player_inc=id:Spleef-Fix-Air
        - broadcast=test1
        reactions: []
    
      Spleef-Fix-Air-Warn1:
        flags:
        - REGION=spleef-fix-air
        - var_player_compare=id:SpleefInGame value:1
        - var_player_compare=id:Spleef-Fix-Air value:5
        actions:
        - message=&6[&3Spleef&6]&7 Выйдите из этой области или будете удалены из игры через &c5&7 секунд.
        reactions: []
      Spleef-Fix-Air-Warn2:
        flags:
        - REGION=spleef-fix-air
        - var_player_compare=id:SpleefInGame value:1
        - var_player_compare=id:Spleef-Fix-Air value:7
        actions:
        - message=&6[&3Spleef&6]&7 Выйдите из этой области или будете удалены из игры через &c3&7 секунды.
        reactions: []
      Spleef-Fix-Air-Warn3:
        flags:
        - REGION=spleef-fix-air
        - var_player_compare=id:SpleefInGame value:1
        - var_player_compare=id:Spleef-Fix-Air value:8
        actions:
        - message=&6[&3Spleef&6]&7 Выйдите из этой области или будете удалены из игры через &c2&7 секунды.
        reactions: []
      Spleef-Fix-Air-Warn4:
        flags:
        - REGION=spleef-fix-air
        - var_player_compare=id:SpleefInGame value:1
        - var_player_compare=id:Spleef-Fix-Air value:9
        actions:
        - message=&6[&3Spleef&6]&7 Выйдите из этой области или будете удалены из игры через &c1&7 секунду.
        reactions: []
    
      Spleef-Fix-Air-OutGame:
        flags:
        - REGION=spleef-fix-air
        - var_player_compare=id:SpleefInGame value:1
        - var_player_compare=id:Spleef-Fix-Air value:10
        actions:
        - var_player_set=id:Spleef-Fix-Air value:0
        - message=&6[&3Spleef&6]&7 Вы удалены из игры за жульничество &8(95%)&7.
    
        - TP=loc:world,12003.458,73.0,12043.439,-1.259,-3.447
        - var_player_set=id:SpleefPlayerProtectInGame value:0
        - var_player_set=id:SpleefInGame value:0
        - var_player_set=id:SpleefInYellowLine value:0
        - potion_remove=FAST_DIGGING
        - EXECUTE=activator:SpleefTestForWin player:all
        - DELAY=1s/SpleefTimerStart
        reactions: []
    
      Spleef-Fix-Air-NotInGame:
        flags:
        - var_player_compare=id:SpleefInGame value:0
        - '!var_player_compare=id:Spleef-Fix-Air value:0'
        actions:
        - var_player_set=id:Spleef-Fix-Air value:0
        reactions: []
    

    Таймер:
    Код:
    SERVER:
      Timer-Spleef-Fix-Air-Exec:
        time: 0/1 * * * * ?
        player: null
        paused: 'false'
        activator: Spleef-Fix-Air-Exec
    
    Что за мистика? И почему пятый счёт вообще не отрабатывает? ._.
    Теперь пятый счёт тоже выводится:
    [​IMG]
    Подумал я, что память виновата в этом. Перезагрузил. Первый раз всё прошло гладко. На второй:
    [​IMG]
    Пятого счёта тоже не было.
    Сделал цикл раз в две секунды. Заметил следующее: после второго счёта сразу выполнился первый. Хотя, такого не должно быть... Очень странно...
    Вопросы из серии "а можно ли на 1.5.2?":
    1) Можно ли регистрировать попадание снаряда в блок активатором, создавать следующие плейсхолдеры:
    - Ник того, кто попал,
    - Ник того, в кого попали,
    - Координаты места, куда попал снаряд?
    1.2) Можно ли модифицировать плейсхолдер координат? Например:
    %loc:targ_projectile, ~ 1 ~% - Увеличить значение Y на 1.
    %loc:targ_projectile, ~ -1 ~% - Уменьшить значение Y на 1.
    2) Если можно установить блок, то можно ли установить ломающейся блок? (Как в высших версиях)
    3) Можно ли регистрировать присутствие одного блока над другим и, по возможности, удалять один из них, используя действие установки блока, плейсхолдер такой "регистрации", устанавливая воздух\ломающейся блок?
    Например, есть таймер с Exec, флаги которого проверяют присутствие блока F в регионе R над блоком M?
    Примерно так:
    Код:
        flags:
        - REGION=R
        - TEST_BLOCK_DOWN=F
        - TEST_BLOCK_UP=M
    То есть, эти два флага должны быть в связке... Может так?
    TEST_BLOCK=F/M? Тогда можно было бы и проверять наличие блока G над блоком M...
    Далее можно было бы использовать зарегистрированный блок G как плейсхолдер-координату.
     
    Последнее редактирование: 10 янв 2015
  10. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    По поводу переменных. Я тут натестировал. Кое-чего исправил. В следующей версии возможно будет улучшение.

    Технически - можно. Стрельба в блок - в принципе почему-бы и не сделать такой активатор.


    Плейсхолдер пока нельзя.
    Но это можно сделать в потом при его использвоании.
    Допустим так:
    TP loc:{loc:%targ_projectile% add-vector:0,1,0}

    Это как? Это что такое?

    Не совсем понял. Можно сделать TEST_BLOCK и в нём использовать координаты. С учетом add-vector можно реализовывать хоть проверку конструкции из десятка-друго блоков ;)
     
  11. Korvinius

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

    Баллы:
    88
    можно ли как то получить в плейсхолдер, предмет, находящийся в руке игрока? А также неплохо бы флаг, проверяющий, пустая рука или там что нибудь есть, ну и еще в идеале бы возможность проверить любой предмет только по ID, не зависимо от названия и описания, что то типа item_id)
    Эх, быстрее бы релиз ReActiins API :) я бы тогда точно на 80% меньше вам мозг парил)
     
    Последнее редактирование: 23 янв 2015
  12. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    @fromgate, идею взял от сюда:

    Предполагал использовать как обычный эффект для обозначения того, что блок сломан, а не вызывать другие эффекты, которые могут быть отключены лично у игрока. (Или, эффект ломания определённого блока можно вызвать...?)

    С TEST_BLOCK может быть очень громоздко, так как положение блока F, например, над которым должен быть блок M, может быть разным. Например, блок M - пол, а постройка состоит из блока F. Нужно брать координаты каждого блока F и выставлять вместо него воздух.
    А можно ли использовать переменные во флагах? То есть, я хочу проверять, например, количество опыта, значение проверки которого хранится в переменной, к которой добавляются\отнимаются значения... И, если количество опыта соответствует значению переменной (личной), то требуется снимать это же количество у игрока... В тикеты я написал проблемку с подстановкой значений переменных через плейсхолдеры...
     
  13. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Так PlayEffect же!!! ;) Эффект BLOCKCRACK
     
  14. Korvinius

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

    Баллы:
    88
    :)
     
  15. Sirse

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

    Баллы:
    173
    Имя в Minecraft:
    Sirse
    @fromgate, судя по всему можно добавлять локации без названия (с пробелом). Недавно мои модераторы случайно запороли конфиг.
    ИМХО, дело в введённой команде /ra add loc без последующих аргументов (названия локации)
     
    Последнее редактирование: 24 янв 2015
  16. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Хм, а действительно... Но эффект ломания блока без самого ломания не найс :D
     
  17. Sirse

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

    Баллы:
    173
    Имя в Minecraft:
    Sirse
    Так что мешает заменить блок на воздух а потом проиграть эффект?
     
  18. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    О! :( Проверю, исправлю
     
  19. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Мешает то, что блоки должны "убираться" попаданием снаряда в них. А такого плейсхолдера или активатора нет :(
    Хочу немного дополнить тему "автосборки" "динамического LORE". С помощью этого можно создать целый RP-элемент - паспорт. Просто давать игрокам личные переменные и, при их проверке, заносить соответствующие строки в LORE.

    Например, выполняя команду по отношению к игроку, будет генерироваться его паспорт. При чём, плагин на паспорт, обсуждения которого я уже видал здесь, можно легко переплюнуть :)
     
  20. Snezok

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

    Баллы:
    76
    Имя в Minecraft:
    Snez0k
    Если не отвлекаю, то можете подсказать : "Как сделать чтоб выполнялась команда по таймеру, например раз в день, с каким то шансом, рандомному игроку, давалась вещь (алмаз например) с помощью планировщика задач ?"
     

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