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

Можете написать, как сделать личное GUI меню, я хочу сделать магазин и через него покупать какой-то сет, то есть я делаю на сервер голодные игры и в магазине хочу сделать GUI меню с покупкой чего либо, это сохраняется куда нибудь :) и потом при заходе на арену, в начале игры можно выбрать этот набор который купил, можете подсказать, как это всё осуществить ?
 
Пытался найти, но не смог, скажите есть ли ФЛАГ, с помощью которого можно проверить значение плейсхолдера?
Ну например, если сделать активатор, на команду:
YAML:
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.
Сейчас такое проверить возможно? Если нет то добавите?
 
Пытался найти, но не смог, скажите есть ли ФЛАГ, с помощью которого можно проверить значение плейсхолдера?
Ну например, если сделать активатор, на команду:
YAML:
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.
Сейчас такое проверить возможно? Если нет то добавите?
command: cmd:marry arg1:tp
Кстати, спасибо за простое решение. :)
 
Хм, хотя, если тебя удовлетворяет такое решение, то меня уже нет. Есть много способов для телепортации в точку. Всё же, нужно делать на переменных.
в данном конкретном случае, меня это устраивает, так как все остальные (обходные) пути в эту локацию у меня уже закрыты, а если игроки найдут новую дыру, пофиксим и ее)))
Раньше я пытался закрыть доступ с помощью активатора REGION_ENTER и флага ITEM_INVENTORY, то есть, создавался телепорт, который при перемещении игрока в локацию, ложил в инвентарь уникальный предмет, а при попадании игрока в локацию, производилась проверка, если этот предмет присутствовал, то он конфисковался и активатор завершал свою работу, а если этого предмета в инвентаре не было (то есть теоретически, игрок попадал туда другим путем) тогда игрок выбрасывался обратно из региона. Это как бы в идеале, была такая задумка, но. по какой то причине, качественной работы этих активаторов и флагов. у меня не получилось, потому и забросил...
 
Последнее редактирование:
в данном конкретном случае, меня это устраивает, так как все остальные (обходные) пути в эту локацию у меня уже закрыты, а если игроки найдут новую дыру, пофиксим и ее)))
Раньше я пытался закрыть доступ с помощью активатора REGION_ENTER и флага ITEM_INVENTORY, то есть, создавался телепорт, который при перемещении игрока в локацию, ложил в инвентарь уникальный предмет, а при попадании игрока в локацию, производилась проверка, если этот предмет присутствовал, то он конфисковался и активатор завершал свою работу, а если этого предмета в инвентаре не было (то есть теоретически, игрок попадал туда другим путем) тогда игрок выбрасывался обратно из региона. Это как бы в идеале, была такая задумка, но. по какой то причине, качественной работы этих активаторов и флагов. у меня не получилось, потому и забросил...
Вообще, фиксить всё - абсурд. Лучше давать значение переменной за правильный способ попадания на паркур. А если в регионе паркура обнаружится игрок, значение переменной которого не соответствует значению, которое устанавливается при правильном входе, то выкидывать его из региона :)
 
Вообще, фиксить всё - абсурд.
В мире все не идеально ;) не возможно сделать что то, в чем, со временем не люди не обнаружат "дыру".
Хотя, если найдешь такой идеальный способ, надеюсь похвастаешься им? )))
 
В мире все не идеально ;) не возможно сделать что то, в чем, со временем не люди не обнаружат "дыру".
Хотя, если найдешь такой идеальный способ, надеюсь похвастаешься им? )))
Хвастовство было в предыдущем посте. Если тебе нужно, чтобы в какую-то игру игроки попадали только одним способом, то ты фиксируешь этот способ переменной, а всё, что попадает на арену не этим способом - удалять. Это защита вообще любых ивентов и игр. Регион + переменные.
И всё же вопрос: флаги переменных 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:*".
 
Если в активаторе COMMAND указать просто команду, например "command", то в действиях нельзя будет сослаться на агрумент "%arg1%", котор

И эта фича была бы очень полезна в COMMAND. Ведь, для некоторых из команд характерна неограниченная численность аргументов. А если записывать команду как "cmd:command arg1:*", то так же не будет реагировать на команду типа "cmd:command arg1:* arg2:*".
Вот и я что то подобное говорил, может, чтобы не привязывать это только к одному активатору, правильнее было бы сделать флаг PLACEHOLDERS, чтобы можно было сравнить значение любого плейсхолдера, например в конфиге, чтобы это могло иметь примерно такой вид:
YAML:
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: []
думаю такой флаг, был бы очень актуальным.
 
Вот и я что то подобное говорил, может, чтобы не привязывать это только к одному активатору, правильнее было бы сделать флаг PLACEHOLDERS, чтобы можно было сравнить значение любого плейсхолдера, например в конфиге, чтобы это могло иметь примерно такой вид:
YAML:
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: []
думаю такой флаг, был бы очень актуальным.
Это ты и так можешь задать как "cmd: marry arg1:tp", а в действиях юзать %arg1%. Или я что-то не то сказал в предыдущем ответе на твой вопрос?
 
Если в активаторе COMMAND указать просто команду, например "command", то в действиях нельзя будет сослаться на агрумент "%arg1%", который может быть там был. Хотя в активаторе MESSAGE присутствует данная фича (по-другому не назовёшь).

Тикетами лично мне проще. Вот сейчас у меня времени вообще ноль. То есть ВООБЩЕ. Я краем глаза сюда заглядываю и иногда отвечаю. Теперь, в какой-то момент времени, я смогу чем-то заняться. Мне нужно будет либо читать кучу текста в обратном направлении и выискивать то, что я пропустил. Либо как альтернатива (если говорить о тикетах) просто зайти и сразу увидеть, что к чему. Скажем взяться за один - обсудить его сделать и поставить отметку, что сделано.
Если говорить именно о плейсхолдерах в команде, то действительно:
Это ты и так можешь задать как "cmd: marry arg1:tp", а в действиях юзать %arg1%. Или я что-то не то сказал в предыдущем ответе на твой вопрос?

думаю такой флаг, был бы очень актуальным.

Но вообще можно попробовать ещё такой флаг:

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

— сравнивает указанные параметр (может быть и плейсхолдер и переменная) с со списком значений. Если хоть одно значение совпало -- возвращает true.
 
@fromgate, а если я буду писать как сюда, так и в тикеты? Только в них буду(попытаюсь) описывать всё подробно и без дополнений (там же нельзя дополнять?)
 
Но вообще можно попробовать ещё такой флаг:

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

— сравнивает указанные параметр (может быть и плейсхолдер и переменная) с со списком значений. Если хоть одно значение совпало -- возвращает true.
Идеальный вариант! :good:
 
Последнее редактирование:
@fromgate, а если я буду писать как сюда, так и в тикеты? Только в них буду(попытаюсь) описывать всё подробно и без дополнений (там же нельзя дополнять?)

Пишите куда удобно, на самом деле. Разберемся ;)
 
Это ты и так можешь задать как "cmd: marry arg1:tp", а в действиях юзать %arg1%. Или я что-то не то сказал в предыдущем ответе на твой вопрос?
ты вообще вникаешь в смысл прочитанного или только первые строки читаешь? Я писал:
чтобы можно было сравнить значение любого плейсхолдера
А этот код повторно навел только для примера. Если конечно ты заметил различие в нем с предыдущим вариантом...
Хотя, это уже не важно, так как @fromgate предложил еще более расширенный вариант, в котором можно будет сравнивать не только плейсхолдеры, но и переменные, причем с несколькими значениями.
 
И всё же вопрос: флаги переменных GREATER и LOWER как работают? Если я укажу value:3, то это значит от(до) трёх не включая три? И что будет при инверсии?

Флаг 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 - больше включая это значение
 
Флаг 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 - больше включая это значение
Окей, спасибо :)
 
Хотелось бы узнать, как сделать привязку напрямую к Custom NPC, а точнее к квестам, либо убийству моба с определенным именем. Версия 1.5.2
 
Назад
Верх