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

Стартап [ReActions] Скрипты для новичков

Тема в разделе "Разработка плагинов для новичков", создана пользователем _MCMaster_, 7 фев 2018.

?

Нужна такая тема?

  1. Да, пусть будет

  2. Нет, удали её

Результаты будут видны только после голосования.
  1. DyX

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

    Баллы:
    76
    Имя в Minecraft:
    GoODsPie
    перешёл на denizens, вот, если будет поболее людей разбирающихся в нем...
     
  2. Blockhero

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

    Баллы:
    66
    Имя в Minecraft:
    GloatyMadn
    Я конечно место не занимал но...)
    Мультиблок печь 3х3
    [​IMG]

    Простой скрипт на воспроизведение каких-либо действий при нажатии по печкам.
    Сам вообще связал этот скрипт с плагин на меню, потому скрипта на меню нет.
    В отличии от скрипта Dyx'а не стал делать чтоб нажатие по любому блоку структуры триггерело её, потому активация только при нажатии по печкам которые с каждой стороны.

    Если печь построенна правильно, то при клике по печи вы услышите звук использования наковальни.
    [​IMG]
    Нижний и верхний слои - одинаковые, в среднем слое со всех четырех сторон печки.
    Если печь построенна правильно, то при клике по печи вы услышите звук использования наковальни.
    Код:
    BLOCK_CLICK:
      Iron_Forge1:
        block-type: FURNACE
        click-type: RIGHT
        flags:
        - BLOCK=loc:{%blocklocation% add-vector:0,0,1} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:0,0,-1} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:1,0,0} block:MAGMA
        - BLOCK=loc:{%blocklocation% add-vector:1,0,1} block:FURNACE
        - BLOCK=loc:{%blocklocation% add-vector:1,0,-1} block:FURNACE
        - BLOCK=loc:{%blocklocation% add-vector:2,0,0} block:FURNACE
        - BLOCK=loc:{%blocklocation% add-vector:2,0,1} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:2,0,-1} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:0,-1,0} block:OBSIDIAN
        - BLOCK=loc:{%blocklocation% add-vector:0,-1,1} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:0,-1,-1} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:1,-1,0} block:MAGMA
        - BLOCK=loc:{%blocklocation% add-vector:1,-1,1} block:OBSIDIAN
        - BLOCK=loc:{%blocklocation% add-vector:1,-1,-1} block:OBSIDIAN
        - BLOCK=loc:{%blocklocation% add-vector:2,-1,0} block:OBSIDIAN
        - BLOCK=loc:{%blocklocation% add-vector:2,-1,1} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:2,-1,-1} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:0,1,0} block:OBSIDIAN
        - BLOCK=loc:{%blocklocation% add-vector:0,1,1} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:0,1,-1} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:1,1,0} block:MAGMA
        - BLOCK=loc:{%blocklocation% add-vector:1,1,1} block:OBSIDIAN
        - BLOCK=loc:{%blocklocation% add-vector:1,1,-1} block:OBSIDIAN
        - BLOCK=loc:{%blocklocation% add-vector:2,1,0} block:OBSIDIAN
        - BLOCK=loc:{%blocklocation% add-vector:2,1,1} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:2,1,-1} block:IRON_BLOCK
        actions:
        - CANCEL_EVENT=true
        - SOUND=type:BLOCK_ANVIL_USE loc:%blocklocation%
        - CMD_OP=/IronForge
      Iron_Forge2:
        block-type: FURNACE
        click-type: RIGHT
        flags:
        - BLOCK=loc:{%blocklocation% add-vector:1,0,0} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:-1,0,0} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:0,0,-1} block:MAGMA
        - BLOCK=loc:{%blocklocation% add-vector:1,0,-1} block:FURNACE
        - BLOCK=loc:{%blocklocation% add-vector:-1,0,-1} block:FURNACE
        - BLOCK=loc:{%blocklocation% add-vector:0,0,-2} block:FURNACE
        - BLOCK=loc:{%blocklocation% add-vector:1,0,-2} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:-1,0,-2} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:0,-1,0} block:OBSIDIAN
        - BLOCK=loc:{%blocklocation% add-vector:1,-1,0} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:-1,-1,0} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:0,-1,-1} block:MAGMA
        - BLOCK=loc:{%blocklocation% add-vector:1,-1,-1} block:OBSIDIAN
        - BLOCK=loc:{%blocklocation% add-vector:-1,-1,-1} block:OBSIDIAN
        - BLOCK=loc:{%blocklocation% add-vector:0,-1,-2} block:OBSIDIAN
        - BLOCK=loc:{%blocklocation% add-vector:1,-1,-2} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:-1,-1,-2} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:0,1,0} block:OBSIDIAN
        - BLOCK=loc:{%blocklocation% add-vector:1,1,0} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:-1,1,0} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:0,1,-1} block:MAGMA
        - BLOCK=loc:{%blocklocation% add-vector:1,1,-1} block:OBSIDIAN
        - BLOCK=loc:{%blocklocation% add-vector:-1,1,-1} block:OBSIDIAN
        - BLOCK=loc:{%blocklocation% add-vector:0,1,-2} block:OBSIDIAN
        - BLOCK=loc:{%blocklocation% add-vector:1,1,-2} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:-1,1,-2} block:IRON_BLOCK
        actions:
        - CANCEL_EVENT=true
        - SOUND=type:BLOCK_ANVIL_USE loc:%blocklocation%
        - CMD_OP=/IronForge
      Iron_Forge3:
        block-type: FURNACE
        click-type: RIGHT
        flags:
        - BLOCK=loc:{%blocklocation% add-vector:0,0,-1} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:0,0,1} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:-1,0,0} block:MAGMA
        - BLOCK=loc:{%blocklocation% add-vector:-1,0,-1} block:FURNACE
        - BLOCK=loc:{%blocklocation% add-vector:-1,0,1} block:FURNACE
        - BLOCK=loc:{%blocklocation% add-vector:-2,0,0} block:FURNACE
        - BLOCK=loc:{%blocklocation% add-vector:-2,0,1} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:-2,0,-1} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:0,-1,0} block:OBSIDIAN
        - BLOCK=loc:{%blocklocation% add-vector:0,-1,-1} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:0,-1,1} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:-1,-1,0} block:MAGMA
        - BLOCK=loc:{%blocklocation% add-vector:-1,-1,-1} block:OBSIDIAN
        - BLOCK=loc:{%blocklocation% add-vector:-1,-1,1} block:OBSIDIAN
        - BLOCK=loc:{%blocklocation% add-vector:-2,-1,0} block:OBSIDIAN
        - BLOCK=loc:{%blocklocation% add-vector:-2,-1,1} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:-2,-1,-1} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:0,1,0} block:OBSIDIAN
        - BLOCK=loc:{%blocklocation% add-vector:0,1,-1} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:0,1,1} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:-1,1,0} block:MAGMA
        - BLOCK=loc:{%blocklocation% add-vector:-1,1,-1} block:OBSIDIAN
        - BLOCK=loc:{%blocklocation% add-vector:-1,1,1} block:OBSIDIAN
        - BLOCK=loc:{%blocklocation% add-vector:-2,1,0} block:OBSIDIAN
        - BLOCK=loc:{%blocklocation% add-vector:-2,1,1} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:-2,1,-1} block:IRON_BLOCK
        actions:
        - CANCEL_EVENT=true
        - SOUND=type:BLOCK_ANVIL_USE loc:%blocklocation%
        - CMD_OP=/IronForge
      Iron_Forge4:
        block-type: FURNACE
        click-type: RIGHT
        flags:
        - BLOCK=loc:{%blocklocation% add-vector:1,0,0} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:-1,0,0} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:0,0,1} block:MAGMA
        - BLOCK=loc:{%blocklocation% add-vector:1,0,1} block:FURNACE
        - BLOCK=loc:{%blocklocation% add-vector:-1,0,1} block:FURNACE
        - BLOCK=loc:{%blocklocation% add-vector:0,0,2} block:FURNACE
        - BLOCK=loc:{%blocklocation% add-vector:1,0,2} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:-1,0,2} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:0,-1,0} block:OBSIDIAN
        - BLOCK=loc:{%blocklocation% add-vector:1,-1,0} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:-1,-1,0} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:0,-1,1} block:MAGMA
        - BLOCK=loc:{%blocklocation% add-vector:1,-1,1} block:OBSIDIAN
        - BLOCK=loc:{%blocklocation% add-vector:-1,-1,1} block:OBSIDIAN
        - BLOCK=loc:{%blocklocation% add-vector:0,-1,2} block:OBSIDIAN
        - BLOCK=loc:{%blocklocation% add-vector:1,-1,2} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:-1,-1,2} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:0,1,0} block:OBSIDIAN
        - BLOCK=loc:{%blocklocation% add-vector:1,1,0} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:-1,1,0} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:0,1,1} block:MAGMA
        - BLOCK=loc:{%blocklocation% add-vector:1,1,1} block:OBSIDIAN
        - BLOCK=loc:{%blocklocation% add-vector:-1,1,1} block:OBSIDIAN
        - BLOCK=loc:{%blocklocation% add-vector:0,1,2} block:OBSIDIAN
        - BLOCK=loc:{%blocklocation% add-vector:1,1,2} block:IRON_BLOCK
        - BLOCK=loc:{%blocklocation% add-vector:-1,1,2} block:IRON_BLOCK
        actions:
        - CANCEL_EVENT=true
        - SOUND=type:BLOCK_ANVIL_USE loc:%blocklocation%
    
    P.S. данный скрипт вырос из скрипта Dyx'а, спасибо ему :)

     
    Последнее редактирование: 7 янв 2020
  3. Luminate_

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

    Баллы:
    76
    Имя в Minecraft:
    Luminate_
    С одной стороны норм.
    С другой стороры - напомнило ангелка-скриптера-реактера :good::good::good:
     
  4. Blockhero

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

    Баллы:
    66
    Имя в Minecraft:
    GloatyMadn
    Обработчик слотов-ячеек для крафтов в реальном времени

    Написал очень сложный скрипт, берите кому надо.

    Сам код является обработчиком слотов, т.е. допустим вы хотите поставить плавиться через мультиблок выше какие-то предметы и для того чтоб можно было поставить сразу до 3х предметов на переплавку сделан этот скрипт.
    Скрипт изначально писался для дробителя (второго мультиблока).
    Что надо?
    1)Нужно знание React'а т.к. скрипт не простой и для правильного его использования и встраивания надо добавить перменные, и кое-какие команды ниже.
    2)Расширение для Placeholders - чтоб тот отображал состояние слота , в данном случае переменную, т.е. "слот используется" или "слот не занят"
    3)Прямые руки

    4)Лучше всего использовать плагин Animated Menu т.к. он позволяет встраивать плейсхолдеры куда-угодно, в данном случае я с помощью этого сделал отображение слотов не только в виде строчки описания но и в виде цвета панелек (слот свободен - лаймовая, занят - красная)
    Ниже кусок кода из моего меню дробителя, берите и встраивайте в свое меню.
    Код:
    - Slot: 46
      Refresh-Delay: 5
      Material:
        1: STAINED_GLASS_PANE:1:%reactions_varp:BigDrobitel_slot1_0%
      Name: '&e&lПервая ячейка'
      Lore:
      - ''
      - '%reactions_varp:BigDrobitel_slot1_1%'
    - Slot: 47
      Refresh-Delay: 5
      Material:
        1: STAINED_GLASS_PANE:1:%reactions_varp:BigDrobitel_slot2_0%
      Name: '&e&lВторая ячейка'
      Lore:
      - ''
      - '%reactions_varp:BigDrobitel_slot2_1%'
    - Slot: 48
      Refresh-Delay: 5
      Material:
        1: STAINED_GLASS_PANE:1:%reactions_varp:BigDrobitel_slot3_0%
      Name: '&e&lТретья ячейка'
      Lore:
      - ''
      - '%reactions_varp:BigDrobitel_slot3_1%'
    


    Сообсна, сам скрипт

    Что надо для его использования?

    1)Через что-вам-угодно (в моем случае меню моего второго мультиблока-дробителя) делаем чтоб у нас в консоль отправлялась команда:
    Код:
      exec (Имя нужного нам "стартера крафта" (один из 2 активаторов в самом вверху кода) ) player:%player_name% 
    В моем случае это происходит когда игрок кликает по вещи в меню.

    2)Этот шаг только для меню, Далее мы задействуем плейсхолдеры которые используются в обработчике а точнее добавим в наше меню 3 вещи ( в моем случае стеклянные панельки) у которых в описании будет отображенна переменная каждого слота а точнее вот эти три переменные: %reactions_varp:BigDrobitel_slot1_1% , %reactions_varp:BigDrobitel_slot2_1% , %reactions_varp:BigDrobitel_slot3_1%

    3)И последнее - кнопка сбора ресурсов которые мы переплавили/передробили/создали .
    (В моем случае) В меню создаем вещь которая при клике будет вот такую команду прописывать в консоли:
    Код:
    exec BigDrobitel_Collector player:%player_name% 
    Готово!Результат ниже в спойлере.
    [​IMG]
    P.S. если вы все-же смогли этот обработчик пристроить к себе на сервак - я готов пожать вам руку, потому что руководство да и сам процесс "встраивания" этого кода очень сложный.

    PP.S
    Да, скрипт продолжит работу если будет перезагрузка сервера т.к. использовал action_delayed (потому хоть на 3 дня крафт поставь - все ок будет)

    Чтоб корректно все работало для начало вам нужно игроку (или себе,для проверки) выдать персональные переменные, сделайте это с помощью скрипта ниже, командой /react var reset
    Код:
    COMMAND:
     command_personal_varitables: #%reactions_varp:имя переменной%
        override: true
        regex: true
        command: cmd:react arg1:var arg2:reset
        actions:
        - CANCEL_EVENT=true
        - MESSAGE=§r§aВы сбросили все свои переменные
        - VAR_PLAYER_SET=id:Small_piece_quartz_sand_amount value:0
        - VAR_PLAYER_SET=id:BigDrobitel_slot1_0 value:5
        - VAR_PLAYER_SET=id:BigDrobitel_slot1_1 value:{§a§lЯчейка свободна}
        - VAR_PLAYER_SET=id:BigDrobitel_slot2_0 value:5
        - VAR_PLAYER_SET=id:BigDrobitel_slot2_1 value:{§a§lЯчейка свободна}
        - VAR_PLAYER_SET=id:BigDrobitel_slot3_0 value:5
        - VAR_PLAYER_SET=id:BigDrobitel_slot3_1 value:{§a§lЯчейка свободна}
    
    Кстати, можно было конечно не писать этот гигантский обработчик, и к каждому рецепту пихать кусок кода проверяющий каждую из 3 ячеек но в моем случае когда рецептов будет около 50, проще сделать один на всех чем у каждого свой, меньше места займет.
    Если что-то не понятно - спрашивайте по поводу этого обработчика т.к. он сложный и в нем много не совсем понятных вещей

    Ниже скрипт на установку переменных при первом входе чтоб этот обработчик работал корректно.
    Код:
    JOIN:
      CheckVaritables:
        flags:
        - VAR_PLAYER_EXIST=NotFirstjoin
        reactions:
        - VAR_PLAYER_SET=id:NotFirstjoin value:1
        - VAR_PLAYER_SET=id:Small_piece_quartz_sand_amount value:0
        - VAR_PLAYER_SET=id:BigDrobitel_slot1_0 value:5
        - VAR_PLAYER_SET=id:BigDrobitel_slot1_1 value:{§a§lЯчейка свободна}
        - VAR_PLAYER_SET=id:BigDrobitel_slot2_0 value:5
        - VAR_PLAYER_SET=id:BigDrobitel_slot2_1 value:{§a§lЯчейка свободна}
        - VAR_PLAYER_SET=id:BigDrobitel_slot3_0 value:5
        - VAR_PLAYER_SET=id:BigDrobitel_slot3_1 value:{§a§lЯчейка свободна}
    
    UP Первое сообщение

    Музыкальный проигрывательОт DyX

    Игра угадай числоОт Lalki

    idxMarry - свадьбыОт ImDaniX
    Gmute - мут глобального чата и лс
    Pvp-Manager
    UsualSlots - Слот машина
    TpChecker

    Пвп-меч с критом и самовостановлениемОт Korvinius

    Мультиблок печьОт Меня
    Обработчик слотов-ячеек
    Полезные скрипты
    [/code]
     
    Последнее редактирование: 7 янв 2020
  5. Blockhero

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

    Баллы:
    66
    Имя в Minecraft:
    GloatyMadn
    Полезные мини-скрипты
    позволяют решить некоторые....проблемы
    Код:
    JOIN:
      CheckVaritables:
        flags:
        - VAR_PLAYER_EXIST=NotFirstjoin
        reactions:
        - VAR_PLAYER_SET=id:NotFirstjoin value:1 #не трогайте иначе не будет работать
        - VAR_PLAYER_SET=id:Ваша_переменная value:0
    
    Код:
    COMMAND:
      command_what_the_item:
        override: true
        regex: true
        command: cmd:react arg1:item
        actions:
        - CANCEL_EVENT=true
        - MESSAGE=§aСтроковое представление отправленно в лог сервера,
        - MESSAGE=§aСтроковое представление предмета в вашей руке:§r
        - MESSAGE=§3%PLAYER_ITEM_HAND%
        - LOG=%PLAYER_ITEM_HAND%
    
    /react var reset
    Код:
    COMMAND:
     command_personal_varitables:
        override: true
        regex: false
        command: cmd:react arg1:var arg2:reset
        actions:
        - CANCEL_EVENT=true
        - MESSAGE=§r§aВы сбросили все свои переменные
        - VAR_PLAYER_SET=id:Ваша_переменная value:0
    


     
    Последнее редактирование: 7 янв 2020
  6. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Да.
     

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