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

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

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

  1. TipoNakor

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

    Баллы:
    66
    Имя в Minecraft:
    TipoNakor
    Можете написать, как сделать личное GUI меню, я хочу сделать магазин и через него покупать какой-то сет, то есть я делаю на сервер голодные игры и в магазине хочу сделать GUI меню с покупкой чего либо, это сохраняется куда нибудь :) и потом при заходе на арену, в начале игры можно выбрать этот набор который купил, можете подсказать, как это всё осуществить ?
     
  2. Korvinius

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

    Баллы:
    88
    Пытался найти, но не смог, скажите есть ли ФЛАГ, с помощью которого можно проверить значение плейсхолдера?
    Ну например, если сделать активатор, на команду:
    Код:
    COMMAND:                                                                                                                                                                                      
      marry_tp:                                                                                                                                                                                   
        command: marry                                                                                                                                                                            
        flags: []                                                                                                                                                                                                                                                                                                                                                
        actions:                                                                                                                                                                                  
        - execute=activator:marry_parkur delay:3                                                                                                                                                  
        reactions: []                                                                                                                                                                             
    EXEC:                                                                                                                                                                                         
      marry_parkur:                                                                                                                                                                               
        flags:                                                                                                                                                                                    
        - REGION=mparkur                                                                                                                                                                          
        actions:                                                                                                                                                                                  
        - cmd_op=back                                                                                                                                                                             
        reactions: [] 
    чтобы этот активатор срабатывал не только на саму команду /marry, а конкретно на /marry tp, то есть, если именно плейсхолдер %arg1%=tp.
    Сейчас такое проверить возможно? Если нет то добавите?
     
  3. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    command: cmd:marry arg1:tp
    Кстати, спасибо за простое решение. :)
     
  4. Korvinius

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

    Баллы:
    88
    спасибо.
     
  5. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Хм, хотя, если тебя удовлетворяет такое решение, то меня уже нет. Есть много способов для телепортации в точку. Всё же, нужно делать на переменных.
     
  6. Korvinius

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

    Баллы:
    88
    в данном конкретном случае, меня это устраивает, так как все остальные (обходные) пути в эту локацию у меня уже закрыты, а если игроки найдут новую дыру, пофиксим и ее)))
    Раньше я пытался закрыть доступ с помощью активатора REGION_ENTER и флага ITEM_INVENTORY, то есть, создавался телепорт, который при перемещении игрока в локацию, ложил в инвентарь уникальный предмет, а при попадании игрока в локацию, производилась проверка, если этот предмет присутствовал, то он конфисковался и активатор завершал свою работу, а если этого предмета в инвентаре не было (то есть теоретически, игрок попадал туда другим путем) тогда игрок выбрасывался обратно из региона. Это как бы в идеале, была такая задумка, но. по какой то причине, качественной работы этих активаторов и флагов. у меня не получилось, потому и забросил...
     
    Последнее редактирование: 18 дек 2014
  7. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Вообще, фиксить всё - абсурд. Лучше давать значение переменной за правильный способ попадания на паркур. А если в регионе паркура обнаружится игрок, значение переменной которого не соответствует значению, которое устанавливается при правильном входе, то выкидывать его из региона :)
     
  8. Korvinius

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

    Баллы:
    88
    В мире все не идеально ;) не возможно сделать что то, в чем, со временем не люди не обнаружат "дыру".
    Хотя, если найдешь такой идеальный способ, надеюсь похвастаешься им? )))
     
  9. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Хвастовство было в предыдущем посте. Если тебе нужно, чтобы в какую-то игру игроки попадали только одним способом, то ты фиксируешь этот способ переменной, а всё, что попадает на арену не этим способом - удалять. Это защита вообще любых ивентов и игр. Регион + переменные.
    И всё же вопрос: флаги переменных GREATER и LOWER как работают? Если я укажу value:3, то это значит от(до) трёх не включая три? И что будет при инверсии?
    Насчёт "соединения" нескольких команд для одного активатора. Если писать cmd1:command1=cmd2:command2, то будут ли учитываться аргументы команд? То есть, если писать просто "command1", то это будет срабатывать и на "command1 arg1".
    @fromgate, извините, но я считаю, что почти каждый вопрос является дискуссионным. И зачем мне "разбазариваться" на 2 сайта, когда Вам легче отвечать на всё здесь? Тем более, плагином не один я пользуюсь. И вопросы, которые задаю я, интересуют не только меня. Так вот,

    Если в активаторе COMMAND указать просто команду, например "command", то в действиях нельзя будет сослаться на агрумент "%arg1%", который может быть там был. Хотя в активаторе MESSAGE присутствует данная фича (по-другому не назовёшь).

    И эта фича была бы очень полезна в COMMAND. Ведь, для некоторых из команд характерна неограниченная численность аргументов. А если записывать команду как "cmd:command arg1:*", то так же не будет реагировать на команду типа "cmd:command arg1:* arg2:*".
     
  10. Korvinius

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

    Баллы:
    88
    Вот и я что то подобное говорил, может, чтобы не привязывать это только к одному активатору, правильнее было бы сделать флаг PLACEHOLDERS, чтобы можно было сравнить значение любого плейсхолдера, например в конфиге, чтобы это могло иметь примерно такой вид:
    Код:
    COMMAND:                                                                                                                                                                                
      marry_tp:                                                                                                                                                                              
        command: marry                                                                                                                                                                        
        flags:
         - PLACEHOLDERS=arg1:tp                                                                                                                                                                                                                                                                                                                                            
        actions:                                                                                                                                                                            
        - execute=activator:marry_parkur delay:3                                                                                                                                              
        reactions: []                                                                                                                                                                        
    EXEC:                                                                                                                                                                                    
      marry_parkur:                                                                                                                                                                          
        flags:                                                                                                                                                                              
        - REGION=mparkur                                                                                                                                                                      
        actions:                                                                                                                                                                            
        - cmd_op=back                                                                                                                                                                        
        reactions: []
    
    думаю такой флаг, был бы очень актуальным.
     
  11. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Это ты и так можешь задать как "cmd: marry arg1:tp", а в действиях юзать %arg1%. Или я что-то не то сказал в предыдущем ответе на твой вопрос?
     
  12. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Тикетами лично мне проще. Вот сейчас у меня времени вообще ноль. То есть ВООБЩЕ. Я краем глаза сюда заглядываю и иногда отвечаю. Теперь, в какой-то момент времени, я смогу чем-то заняться. Мне нужно будет либо читать кучу текста в обратном направлении и выискивать то, что я пропустил. Либо как альтернатива (если говорить о тикетах) просто зайти и сразу увидеть, что к чему. Скажем взяться за один - обсудить его сделать и поставить отметку, что сделано.
    Но вообще можно попробовать ещё такой флаг:

    COMPARE param:<Parameter> value1:<Value1> vaule2:<Value2>

    — сравнивает указанные параметр (может быть и плейсхолдер и переменная) с со списком значений. Если хоть одно значение совпало -- возвращает true.
     
  13. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    @fromgate, а если я буду писать как сюда, так и в тикеты? Только в них буду(попытаюсь) описывать всё подробно и без дополнений (там же нельзя дополнять?)
     
  14. Korvinius

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

    Баллы:
    88
    Идеальный вариант! :good:
     
    Последнее редактирование: 19 дек 2014
  15. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Пишите куда удобно, на самом деле. Разберемся ;)
     
  16. Korvinius

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

    Баллы:
    88
    ты вообще вникаешь в смысл прочитанного или только первые строки читаешь? Я писал:
    А этот код повторно навел только для примера. Если конечно ты заметил различие в нем с предыдущим вариантом...
    Хотя, это уже не важно, так как @fromgate предложил еще более расширенный вариант, в котором можно будет сравнивать не только плейсхолдеры, но и переменные, причем с несколькими значениями.
     
  17. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Флаг GREATER id:<VariableId> value:5 возвращает true при 6, 7, 8.... Соответственно !GREATER id:<VariableId> value:5 возвращает true при 5, 4, 3...

    Ну и наоборот:

    Флаг LOWER id:<VariableId> value:5 возвращает true при 4, 3, 2.... !LOWER id:<VariableId> value:5 возвращает true при 5, 6, 7...

    Т.е. GREATER - это больше значения, но не включая его. А !LOWER - больше включая это значение
     
  18. Silentium

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

    Баллы:
    66
    Отличный плагин, ставил себе.
     
  19. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Окей, спасибо :)
     
  20. SuperCraft

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

    Баллы:
    88
    Хотелось бы узнать, как сделать привязку напрямую к Custom NPC, а точнее к квестам, либо убийству моба с определенным именем. Версия 1.5.2
     

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