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

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

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

  1. SOHIGH

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

    Баллы:
    76
    Действие на добавление локации и плейсхолдер локации мне теперь оказались ненужными.
    Действие REGEX - наше всё)
     
    Последнее редактирование: 30 мар 2018
  2. Jeleyka

    Jeleyka Активный участник

    Баллы:
    61
    Здравствуйте, мне нужен такой активатор, чтобы при нажатие в инвентаре определенным предметом (далее (1)) по другому предмету (далее (2)), оба эти предмета забирались и предмет (2) выдавался с измененным lore'ом, либо же просто чтобы у предмета (2) менялся lore и name,а забирался только предмет (1). Я пытался написать такое, но в моем варианте кода будет необходимо вбивать для каждого предмета по 2 активатора (INVENTORY_CLICK and EXEC), а это безумно неудобно, ведь предметов несколько сотен. Помогите мне пожалуйста такое реализовать.
     
  3. SamaraGamer

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

    Баллы:
    76
    Имя в Minecraft:
    SamaraGamer
     
  4. SOHIGH

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

    Баллы:
    76
    @fromgate, @maxdikiy,
    Когда-то я уже писал об этом..
    В общем, активаторы VARIABLE не хотят работать.

    Код:
    EXEC:
      1:
        actions:
        - VAR_PLAYER_INC=id:pay value:1
    VARIABLE:
      varp_pay:
        variable-id: pay
        personal: true
        actions:
        - MSG=1111111
    
    Сообщения '1111111' не получаю.
     
  5. SOHIGH

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

    Баллы:
    76
    Здравствуйте, возможно где-то в конфиге это можно настроить, но я не нашёл.
    В общем, разделяю локацию игрока на WORLD,X,Y и Z. Потом, чтобы установить "локации" в нужных местах увеличиваю или уменьшаю какую-либо переменную из предоставленных (XYZ)
    Мне эти локации понадобятся для активатора BLOCK_BREAK. В котором локация сломанного блока будет сравниваться с одной из локаций, сохраненной в переменной игрока.
    При создании этих локаций через
    Код:
    EXEC:
      makeisland:
        actions:
        - VAR_PLAYER_SET=id:home value:%PLAYER_LOC%
        - REGEX=input:{%varp:home%} regex:{[a-zA-Z]+|\-[0-9]+|[0-9]+}
        - VAR_PLAYER_SET=id:world value:%group00%
        - VAR_PLAYER_SET=id:x value:%group10%
        - VAR_PLAYER_SET=id:y value:%group30%
        - VAR_PLAYER_SET=id:z value:%group50%
        - VAR_PLAYER_SET=id:loc1 value:{%varp:world%,%varp:x%,%varp:y%,%varp:z%,0.0,0.0}
        - MESSAGE=&7done:&floc1%}
        - WAIT=time:1s
        - VAR_PLAYER_INC=id:x value:1
        - VAR_PLAYER_SET=id:loc2 value:{%varp:world%,%varp:x%,%varp:y%,%varp:z%,0.0,0.0}
        - MESSAGE=&7done:&floc2%}
        - WAIT=time:1s
        - VAR_PLAYER_INC=id:z value:1
        - VAR_PLAYER_SET=id:loc3 value:{%varp:world%,%varp:x%,%varp:y%,%varp:z%,0.0,0.0}
        - MESSAGE=&7done:&floc3%}
        - WAIT=time:1s
        - VAR_PLAYER_DEC=id:x value:1
        - VAR_PLAYER_SET=id:loc4 value:{%varp:world%,%varp:x%,%varp:y%,%varp:z%,0.0,0.0}
        - MESSAGE=&7done:&floc4%}
        - WAIT=time:1s
        - VAR_PLAYER_DEC=id:x value:1
        - VAR_PLAYER_SET=id:loc5 value:{%varp:world%,%varp:x%,%varp:y%,%varp:z%,0.0,0.0}
        - MESSAGE=&7done:&floc5%}
        - WAIT=time:1s
        - VAR_PLAYER_DEC=id:z value:1
        - VAR_PLAYER_SET=id:loc6 value:{%varp:world%,%varp:x%,%varp:y%,%varp:z%,0.0,0.0}
        - MESSAGE=&7done:&floc6%}
        - WAIT=time:1s
        - VAR_PLAYER_DEC=id:z value:1
        - VAR_PLAYER_SET=id:loc7 value:{%varp:world%,%varp:x%,%varp:y%,%varp:z%,0.0,0.0}
        - MESSAGE=&7done:&floc7%}
        - WAIT=time:1s
        - VAR_PLAYER_INC=id:x value:1
        - VAR_PLAYER_SET=id:loc8 value:{%varp:world%,%varp:x%,%varp:y%,%varp:z%,0.0,0.0}
        - MESSAGE=&7done:&floc8%}
        - WAIT=time:1s
        - VAR_PLAYER_INC=id:x value:1
        - VAR_PLAYER_SET=id:loc9 value:{%varp:world%,%varp:x%,%varp:y%,%varp:z%,0.0,0.0}
        - MESSAGE=&7done:&floc9%}
        - WAIT=time:1s
        - VAR_PLAYER_INC=id:x value:1
        - VAR_PLAYER_SET=id:loc10 value:{%varp:world%,%varp:x%,%varp:y%,%varp:z%,0.0,0.0}
        - MESSAGE=&7done:&floc10%}
        - WAIT=time:1s
        - VAR_PLAYER_INC=id:z value:1
        - VAR_PLAYER_SET=id:loc11 value:{%varp:world%,%varp:x%,%varp:y%,%varp:z%,0.0,0.0}
        - MESSAGE=&7done:&floc11%}
        - WAIT=time:1s
        - VAR_PLAYER_INC=id:z value:1
        - VAR_PLAYER_SET=id:loc12 value:{%varp:world%,%varp:x%,%varp:y%,%varp:z%,0.0,0.0}
        - MESSAGE=&7done:&floc12%}
        - WAIT=time:1s
        - VAR_PLAYER_INC=id:z value:1
        - VAR_PLAYER_DEC=id:x value:1
        - VAR_PLAYER_SET=id:loc13 value:{%varp:world%,%varp:x%,%varp:y%,%varp:z%,0.0,0.0}
        - MESSAGE=&7done:&floc13%}
        - WAIT=time:1s
        - VAR_PLAYER_DEC=id:x value:1
        - VAR_PLAYER_SET=id:loc14 value:{%varp:world%,%varp:x%,%varp:y%,%varp:z%,0.0,0.0}
        - MESSAGE=&7done:&floc14%}
        - WAIT=time:1s
        - VAR_PLAYER_DEC=id:x value:1
        - VAR_PLAYER_SET=id:loc15 value:{%varp:world%,%varp:x%,%varp:y%,%varp:z%,0.0,0.0}
        - MESSAGE=&7done:&floc15%}
        - WAIT=time:1s
        - VAR_PLAYER_DEC=id:z value:1
        - VAR_PLAYER_DEC=id:x value:1
        - VAR_PLAYER_SET=id:loc16 value:{%varp:world%,%varp:x%,%varp:y%,%varp:z%,0.0,0.0}
        - MESSAGE=&7done:&floc16%}
        - WAIT=time:1s
        - VAR_PLAYER_DEC=id:z value:1
        - VAR_PLAYER_SET=id:loc17 value:{%varp:world%,%varp:x%,%varp:y%,%varp:z%,0.0,0.0}
        - MESSAGE=&7done:&floc17%}
        - WAIT=time:1s
        - VAR_PLAYER_DEC=id:z value:1
        - VAR_PLAYER_SET=id:loc18 value:{%varp:world%,%varp:x%,%varp:y%,%varp:z%,0.0,0.0}
        - MESSAGE=&7done:&floc18%}
        - WAIT=time:1s
        - VAR_PLAYER_INC=id:x value:1
        - VAR_PLAYER_DEC=id:z value:1
        - VAR_PLAYER_SET=id:loc19 value:{%varp:world%,%varp:x%,%varp:y%,%varp:z%,0.0,0.0}
        - MESSAGE=&7done:&floc19%}
        - WAIT=time:1s
        - VAR_PLAYER_INC=id:x value:1
        - VAR_PLAYER_SET=id:loc20 value:{%varp:world%,%varp:x%,%varp:y%,%varp:z%,0.0,0.0}
        - MESSAGE=&7done:&floc20%}
        - WAIT=time:1s
        - VAR_PLAYER_INC=id:x value:1
        - VAR_PLAYER_SET=id:loc21 value:{%varp:world%,%varp:x%,%varp:y%,%varp:z%,0.0,0.0}
        - MESSAGE=&7done:&floc21%}
    Получаются непохожие друг на друга локации.
    upload_2018-4-3_17-10-55.png
    Эта точка с нулём мне очень и очень мешают.
    Можно ли её убрать как-либо в конфиге?
     
    Последнее редактирование: 3 апр 2018
  6. Lomank

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

    Баллы:
    66
    Имя в Minecraft:
    Lomank
    Воу! Здорово, спасибо. :)

    Не хочу показаться наглецом, но хотел бы ещё одну вещь предложить, опять же для удобства.
    При сохранении персональных переменных в отдельный файл, этот файл приобретает UUID игрока.
    Было бы очень удобно, если они назывались ником игрока, а внутри файла уже можно и UUID добавить. В общем, просто поменять местами. Так как я много чего сохраняю в персональные переменные, там хранятся статистики игроков, было бы очень удобно называть файлы ником игрока.
    Или хотя бы сделать в конфиге настройку, чтобы каждый как ему угодно настроил.

    Пример:
    player-use-nickname-variable-file=true; Если false, то используется UUID игрока.
     
  7. Cool_boy

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

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    Если игрок сменит ник, плагину проще будет найти его файл по названию чем поиском его UUID в каждом файле.
     
  8. Osony

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

    Баллы:
    61
    Имя в Minecraft:
    Osony
    Кто-нибудь знает, как округлить значение? Чтобы не 100500 цифр после запятой было
    Допустим в калькуляции идёт "value:%CALC:%varp:damage2%/%HEALTH%%", а в чате потом пишется "+ 2.1286351623567385345"
     
  9. SOHIGH

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

    Баллы:
    76
    REGEX, однако, очень полезен)
    Вот действие, которое ОБРЕЖЕТ любую переменную до значения целой и десятой.
    Код:
    actions:
        - REGEX=input:{1.234567890} regex:{[\d]+\.\d}
    Пример:
    Код:
        - REGEX=input:{1.234567890} regex:{[\d]+\.\d}
        - MSG=%group00%
    
    В чате появится '1.2'


    Вот тебе САЙТ, на котором можно научиться работать с регулярными выражениями (regexp)
     
    Последнее редактирование: 6 апр 2018
  10. Osony

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

    Баллы:
    61
    Имя в Minecraft:
    Osony
    Спасибо, а можно как-то получить список игроков или выбрать случайного?
     
  11. SOHIGH

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

    Баллы:
    76
    На это способны лишь немногие)
    Я не знаю.
     
  12. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Ну что, тряхну костылями :D
    Запускаем EXEC для всех игроков.
    Для каждого исполняется один активатор.
    Тогда, чтобы выбрать только одного случайно, нужно сгенерировать число игроков: просто увеличиваем соответствующую глобальную переменную.
    После этого запускаем уже нужный EXEC опять для всех игроков, но ведём количество таких запусков в глобальной переменной. Чтобы выбрать случайного игрока, достаточно сгенерировать случайное число в уже известном диапазоне, которое будет достигнуто при этом втором запуске. Как только это произойдёт (запрошенное случайное число равно глобальной переменной), в этот момент делаем то, что захотели.

    Я не уверен насчёт всей этой параллельной обработки, так что отлов этих багов - не ко мне :D
     
  13. SOHIGH

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

    Баллы:
    76
    Каким образом можно выполнить активатор EXEC для всех игроков?
     
  14. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
  15. SOHIGH

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

    Баллы:
    76
  16. smithy

    smithy Активный участник

    Баллы:
    61
    Имя в Minecraft:
    Smithy
    Добрый день, есть ли возможность наложить unbreakable на предмет?
    И можно ли получить координаты формата x y z, до точки и без взгляда, что бы использовать для команды другого плагина.
     
  17. SOHIGH

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

    Баллы:
    76
    На счет координат:
    Действие, которое задаст временным переменным значения твоих координат:
    Код:
        - REGEX=input:{%PLAYER_LOC%} regex:{[a-zA-Z]+|\-[0-9]+|[0-9]+}
    %group00% - Мир
    %group10% - X
    %group30% - Y
    %group40% - Z
    То есть далее в активаторе ты можешь использовать эти переменные.
     
  18. Lomank

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

    Баллы:
    66
    Имя в Minecraft:
    Lomank
    Кто знает, как получить координаты блока, на который я смотрю? Плейсхолдеры %view% и %viewpoint% работают только при вводе команд ReActions'a.
    У меня даже в плагине PlayEffect не работает view, поэтому не могу сделать эффект линией. Как можно решить эти проблемки?
     
  19. SOHIGH

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

    Баллы:
    76
    Попробуй этот плейсхолдер:
    %PLAYER_LOC_VIEW%
     
  20. Lomank

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

    Баллы:
    66
    Имя в Minecraft:
    Lomank
    Хех, моя невнимательность. Благодарю.

    Ещё вопросик:
    В PlayEffect не вызываются эффекты на команду /play. В общем сам плагин работает только в связке с ReActions, в действиях EFFECT. Проблема только в том, что он на 1.11?
     

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