Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

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

Как-то так, наверно.
Код:
EXEC:
  Auc6:
    actions:
    - item_give=%varp:AucFast%
    - var_player_clear=id:AucFast
  Auc5:
    flags:
    - var_exist=id:AucL%player_name%
    actions:
    - var_player_set=id:AucFast player:%var:%varp:AucL%% value:%var:%varp:Auc%%
    - execute=activator:Auc6 player:%var:%varp:AucL%%
    - item_give=type:EMERALD amount:%var:%varp:AucE%%
    - broadcast=&aИгрок &e%var:%varp:AucL%% &aвыиграл аукцион &e%player_name%&a со ставкой &e%var:%varp:AucE%%&a!
    - var_clear=id:Auc%player_name%
    - var_clear=id:AucL%player_name%
    - var_clear=id:AucE%player_name%
    - var_player_clear=id:Auc
    - var_player_clear=id:AucL
    - var_player_clear=id:AucE
    reactions:
    - item_give=%var:Auc%player_name%%
    - var_clear=id:Auc%player_name%
    - var_clear=id:AucL%player_name%
    - var_clear=id:AucE%player_name%
    - var_player_clear=id:Auc
    - var_player_clear=id:AucE
    - var_player_clear=id:AucL
    - broadcast=&aАукцион игрока &e%player_name% &aзавершился без ставок!
COMMAND:
  Auc1:
    override: false
    regex: true
    command: (?i)auc
    actions:
    - message=&a/auc &7- Команды аукциона.
    - message=&a/auc create <Нач.цена>&7 - Создать аукцион с предметом в руке.
    - message=&a/auc info <Ник>&7 - Информация по данному аукциону.
    - message=&a/auc add <Ник> <Сумма>&7 - Поставить ставку на аукцион.
  Auc2:
    override: false
    regex: true
    command: (?i)auc create ([0-9]){1,}
    flags:
    - perm=usual.auction.create
    - '!var_exist=id:Auc%player_name%'
    - 'item=!type:air'
    actions:
    - var_set=id:Auc%player_name% value:{%PLAYER_ITEM_HAND%}
    - var_set=id:AucE%player_name% value:%arg2%
    - item_remove=%PLAYER_ITEM_HAND%
    - broadcast=&aИгрок &e%player_name%&a создал аукцион!
    - broadcast=&aИнформация - /auc info %player_name%
    - execute=activator:Auc5 delay:5m
    - var_player_set=id:Auc value:Auc%player_name%
    - var_player_set=id:AucL value:AucL%player_name%
    - var_player_set=id:AucE value:AucE%player_name%
    reactions:
    - message=&cЧто-то пошло не так!
  Auc3:
    override: false
    regex: true
    command: (?i)auc info .*
    flags:
    - var_exist=id:Auc%arg2%
    actions:
    - message=&eЦена &a%var:AucE%arg2%%
    - message=&eПредмет &a%var:Auc%arg2%%
    reactions:
    - message=&cЧто-то пошло не так!
  Auc4:
    override: false
    regex: true
    command: (?i)auc add ([a-z_0-9]){1,} ([0-9]){1,}
    flags:
    - var_exist=id:Auc%arg2%
    - item_inventory=type:EMERALD amount:%arg3%
    - var_lower=id:AucE%arg2% value:%arg3%
    actions:
    - var_set=id:AucFast value:AucL%arg2%
    - var_set=id:AucFast2 value:AucE%arg2%
    - message=player:%var:%var:AucFast%% &aСтавка поднялась до &e%arg3%&a!
    - cmd_console=minecraft:give %var:%var:AucFast%% minecraft:emerald %var:%var:AucFast2%%
    - var_set=id:AucE%arg2% value:%arg3%
    - var_set=id:AucL%arg2% value:%player_name%
    - item_remove_inventory=type:EMERALD amount:%arg3%
    reactions:
    - message=&cЧто-то пошло не так!

Командой /auc create <начальная_цена(в изумрудах)> и держа в руке продаваемый предмет, создается аукцион на 5 минут(при этом предмет исчезает), по истечению которых победившему игроку достается предмет, а создателю - изумруды. Если никто не участвовал в аукционе, то игроку отдается его предмет.
/auc add <ник_акционера> <кол-во_изумрудов> - поднять ставку, при этом изумруды забираются, но отдаются, если ставку подняли.
Чтобы создать аукцион игроку требуется право usual.auction.create
Если что-то нужно переделать, то зови. Однако возможно мне будет лень :D
А через деньги реально?
 
Подскажите как можно реализовать такую идею:
Есть какие-то сообщения которые выводятся игроку раз в какое-то время, если у него есть "подписка на журнал"
К примеру через gui меню мы покупаем эту подписку за копейку, нажав опять отписывается.
Можно реализовать это с помощью автомессадж, просто давать и забирать права на определённые категории сообщений, но что-то мне не нравится в таком костыле, что-то во мне протестует.
 
Почему первый активатор не работает с разделением строк (\n) в lore, если со вторым всё отлично?
- 'ITEM_REMOVE_INVENTORY=type:stick amount:1 name:{&7LoLiK HD} lore:{&fJust for\n&cTEST}'
- 'ITEM_GIVE=type:stick amount:1 name:{&7LoLiK HD} lore:{&fJust for\n&cTEST}'
Такой же вопрос и к активаторам: если предмет с описанием в одну строку принимает, то с двумя или больше уже не хочет.

Наконец-то разобрался! Надо в конце regex:false прописывать.
Но появился другой вопрос. Если первое теперь принимает, то второе никак не хочет:
1) lore:{&fСпециальные ботинки\n&cLOL\n&bИщё и нанотехнические!!!} regex:false
2) lore:{&fСпециальные ботинки\n.*\n&bИщё и нанотехнические!!!} regex:false
(ReActions в этом случае хочет, чтобы во второй строке было именно .*, а не любой текст).
Как решить?
P.S. Сайт ReActions будут дополнять/исправлять ошибки?
 
Последнее редактирование:
Возможно ли сделать такое:
Игрок регистрируются на проведение боев на арене с помощью опр. команды. После того, как наберётся, скажем игроков 6, их перемешивают, а после чего, 4 игроков тп на 1 точку, с которой будет виден бой 2-х других. Потом другие 2, потом ещё другие 2. После чего, бой за 1,2,3 место. + награда.
 
Возможно ли сделать такое:
Игрок регистрируются на проведение боев на арене с помощью опр. команды. После того, как наберётся, скажем игроков 6, их перемешивают, а после чего, 4 игроков тп на 1 точку, с которой будет виден бой 2-х других. Потом другие 2, потом ещё другие 2. После чего, бой за 1,2,3 место. + награда.
Вполне, reaction можно сказать своеобразный язык программирования через который можно реализовать почти все что душе угодно
Попользовался плагином и понял что не хватает структуры к примеру мы хотим создать телепорт, мы говорим что при заходе в опред регион нас телепортировало в другое место если у вас есть камень жреца (ну ими еще что-то), иначе выводит сообщение "----".
Тоесть структура выглядит так gate --> if true do "gate2" else "write"(схематично)
В итоге нагромождение и трудно ориентироваться в файле, будет ли добавлена возможность создавать для каждой прогрммы свой файл?
 
Попользовался плагином и понял что не хватает структуры к примеру мы хотим создать телепорт, мы говорим что при заходе в опред регион нас телепортировало в другое место если у вас есть камень жреца (ну ими еще что-то), иначе выводит сообщение "----".
Тоесть структура выглядит так gate --> if true do "gate2" else "write"(схематично)
В итоге нагромождение и трудно ориентироваться в файле, будет ли добавлена возможность создавать для каждой прогрммы свой файл?
Это и так возможно. В папке Activators можно создавать кучу файлов, не обязательно редактировать стандартный. Да и зачем ' if true do "gate2" else "write" ', если можно сделать всё одним активатором? (возможно, Я неправильно понял)
Код:
REGION_ENTER:
  PORTALTP:
    region: portal
    flags:
    - ITEM_INVENTORY=item:stone name:{&7Камень Жреца}
    actions:
    - TP=world,389,66,-448,270.0,7.0 <-- Написаны рандомные координаты
    reactions:
    - MESSAGE= &c---- У Вас отсутствует &7Камень Жреца &c----
    - MESSAGE=&cТелепорт не удался.
 
Это и так возможно. В папке Activators можно создавать кучу файлов, не обязательно редактировать стандартный. Да и зачем ' if true do "gate2" else "write" ', если можно сделать всё одним активатором? (возможно, Я неправильно понял)
[/SPOILER]

Бошка не варит уже, пример неудачный.)
Если мы вызываем другие активаторы, я хотел про это написать. Когда много активаторов неудобно ориентироваться. (if и else это и есть те же actions и reactions )
Попробовал создать еще один файл чтобы проверить, но он не работает, объясни как это работает.
Ой сори я просто касяк, все просто как божий день, разобрался*
 
P.S. Сайт ReActions будут дополнять/исправлять ошибки?

В общем, тот вариант который там сейчас реализован мне не нравится. Более того, у меня потеряны исходники документации - т.е. надо делать что-то новое.
Идеальным был бы какой-то вики-образный движок с полноценной поддержкой мультиязычности. Меня периодически кусает что-то и я начинаю искать, но как правило ничего путного не находится.

Если знаете что-то удобное и хорошее - я буду очень благодарен. Я бы инструкции ко всем своим плагинам свёл бы в одно место...
 
MOB_CLICK:
bilet:
mob-type: PLAYER
mob-name: Сопровождающий
flags:
- ITEM=type:paper name:Билет
actions:
- TP=loc:world,935.59,124.0,660.511,3.149,90.0
reactions:
- message=&cБез билета не берём! Покажи-ка мне его...
&cБез билета не берём! Покажи-ка мне его..
Появляется 2 раза, почему так?
 
MOB_CLICK:
bilet:
mob-type: PLAYER
mob-name: Сопровождающий
flags:
- ITEM=type:paper name:Билет
actions:
- TP=loc:world,935.59,124.0,660.511,3.149,90.0
reactions:
- message=&cБез билета не берём! Покажи-ка мне его...
&cБез билета не берём! Покажи-ка мне его..
Появляется 2 раза, почему так?
Две руки = два раз выполняется активатор)
Советую через MessageFilter сделать задержку, чтобы выводило только одно сообщение. Ещё можно во флаги выставить задержку, но тогда надо будет переписать 'reactions:'.
Почему первый активатор не работает с разделением строк (\n) в lore, если со вторым всё отлично?
- 'ITEM_REMOVE_INVENTORY=type:stick amount:1 name:{&7LoLiK HD} lore:{&fJust for\n&cTEST}'
- 'ITEM_GIVE=type:stick amount:1 name:{&7LoLiK HD} lore:{&fJust for\n&cTEST}'
Такой же вопрос и к активаторам: если предмет с описанием в одну строку принимает, то с двумя или больше уже не хочет.

Наконец-то разобрался! Надо в конце regex:false прописывать.
Но появился другой вопрос. Если первое теперь принимает, то второе никак не хочет:
1) lore:{&fСпециальные ботинки\n&cLOL\n&bИщё и нанотехнические!!!} regex:false
2) lore:{&fСпециальные ботинки\n.*\n&bИщё и нанотехнические!!!} regex:false
(ReActions в этом случае хочет, чтобы во второй строке было именно .*, а не любой текст).
Как решить?
Не хотят работать активаторы:
Не принимает 'mob-type: witch', такая же проблема и с wither_skeleton. Как иначе их написать?
Код:
MOB_KILL:
  drop9:
    mob-type: witch
    mob-name: ''
    item: ''
    flags:
    - CHANCE=30
    actions:
    - ITEM_DROP=item:{type:264 amount:1 name:{§8Проклятый Алмаз} lore:{\n§7Он несёт зло...} enchantments:THORNS:5} loc:%moblocation% radius:1 scatter:true
Добавил через команду в игре, 'actions:' дописал сам. Активатор не работает =\
Код:
ITEM_CONSUME:
  ZomBacon:
   item: type:367
    actions:
    - MESSAGE=&aTEST!
 
Не робит активатор.


Andeevskk:
mob-type: PLAYER
mob-name: Andeevsk
actions:
- TOWN_SET=Andeevsk
 
Извиняюсь, на RuBukkit появляюсь редко. Не уверен, сработает ли все это, ибо делал без проверочного теста.

А через деньги реально?
Вариант с деньгами:
Код:
EXEC:
  Auc6:
    actions:
    - money_give=%varp:AucFast%
    - var_player_clear=id:AucFast
  Auc5:
    flags:
    - var_exist=id:AucL%player_name%
    actions:
    - var_player_set=id:AucFast player:%var:%varp:AucL%% value:%var:%varp:Auc%%
    - execute=activator:Auc6 player:%var:%varp:AucL%%
    - money_give=%var:%varp:AucE%%
    - broadcast=&aИгрок &e%var:%varp:AucL%% &aвыиграл аукцион &e%player_name%&a со ставкой &e%var:%varp:AucE%%&a!
    - var_clear=id:Auc%player_name%
    - var_clear=id:AucL%player_name%
    - var_clear=id:AucE%player_name%
    - var_player_clear=id:Auc
    - var_player_clear=id:AucL
    - var_player_clear=id:AucE
    reactions:
    - item_give=%var:Auc%player_name%%
    - var_clear=id:Auc%player_name%
    - var_clear=id:AucL%player_name%
    - var_clear=id:AucE%player_name%
    - var_player_clear=id:Auc
    - var_player_clear=id:AucE
    - var_player_clear=id:AucL
    - broadcast=&aАукцион игрока &e%player_name% &aзавершился без ставок!
COMMAND:
  Auc1:
    override: false
    regex: true
    command: (?i)auc
    actions:
    - message=&a/auc &7- Команды аукциона.
    - message=&a/auc create <Нач.цена>&7 - Создать аукцион с предметом в руке.
    - message=&a/auc info <Ник>&7 - Информация по данному аукциону.
    - message=&a/auc add <Ник> <Сумма>&7 - Поставить ставку на аукцион.
  Auc2:
    override: false
    regex: true
    command: (?i)auc create (([0-9]){1,}|([0-9]){1,}\.([0-9]){1,})
    flags:
    - perm=usual.auction.create
    - '!var_exist=id:Auc%player_name%'
    - 'item=!type:air'
    actions:
    - var_set=id:Auc%player_name% value:{%PLAYER_ITEM_HAND%}
    - var_set=id:AucE%player_name% value:%arg2%
    - item_remove=%PLAYER_ITEM_HAND%
    - broadcast=&aИгрок &e%player_name%&a создал аукцион!
    - broadcast=&aИнформация - /auc info %player_name%
    - execute=activator:Auc5 delay:5m
    - var_player_set=id:Auc value:Auc%player_name%
    - var_player_set=id:AucL value:AucL%player_name%
    - var_player_set=id:AucE value:AucE%player_name%
    reactions:
    - message=&cЧто-то пошло не так!
  Auc3:
    override: false
    regex: true
    command: (?i)auc info .*
    flags:
    - var_exist=id:Auc%arg2%
    actions:
    - message=&eЦена &a%var:AucE%arg2%%
    - message=&eПредмет &a%var:Auc%arg2%%
    reactions:
    - message=&cЧто-то пошло не так!
  Auc4:
    override: false
    regex: true
    command: (?i)auc add ([a-z_0-9]){1,} ([0-9]){1,}
    flags:
    - var_exist=id:Auc%arg2%
    - money=%arg3%
    - var_lower=id:AucE%arg2% value:%arg3%
    actions:
    - var_set=id:AucFast value:AucL%arg2%
    - var_set=id:AucFast2 value:AucE%arg2%
    - message=player:%var:%var:AucFast%% &aСтавка поднялась до &e%arg3%&a!
    - money_give=player:%var:%var:AucFast%% amount:%var:%var:AucFast2%%
    - var_set=id:AucE%arg2% value:%arg3%
    - var_set=id:AucL%arg2% value:%player_name%
    - money_pay=%arg3%
    reactions:
    - message=&cЧто-то пошло не так!


Не робит активатор.


Andeevskk:
mob-type: PLAYER
mob-name: Andeevsk
actions:
- TOWN_SET=Andeevsk

Помнится, ReActions не видит имя/ник игрока(если это не НИП из Citizens) в активаторах с мобами.
Попробуй что-то типа:
Код:
MOB_АКТИВАТОР:
  Andeevskk:
    mob-type: PLAYER
    flags:
    actions:
    - var_set=id:TownFast value:{%player_name%}
    - execute=activator:Andee2 player:{loc:%moblocation%}
EXEC:
  Andee2:
    flags:
    - compare=param:%player_name% value:Andeevskk
    actions:
    - execute=activator:Andee3 player:%var:TownFast%
    - var_clear=id:TownFast
  Andee3:
    actions:
    - TOWN_SET=Andeevskk
 
помогите, что не так делаю пытаюсь заспавнить моба
mob:
world: world
x: 876
y: 72
z: 547
actions:
- MOB_SPAWN=VILLAGER name:алеша loc:world,876.215,70.937,545.128,6.302,9.15 num:1

да и найти моба тоже не получается
MOB_CLICK:
shopeat:
mob-type: VILLAGER
actions:
- MENU_ITEM=menu:shop1
Может дело в версии?(1.11)
 
Извиняюсь, на RuBukkit появляюсь редко. Не уверен, сработает ли все это, ибо делал без проверочного теста.


Вариант с деньгами:
Код:
EXEC:
  Auc6:
    actions:
    - money_give=%varp:AucFast%
    - var_player_clear=id:AucFast
  Auc5:
    flags:
    - var_exist=id:AucL%player_name%
    actions:
    - var_player_set=id:AucFast player:%var:%varp:AucL%% value:%var:%varp:Auc%%
    - execute=activator:Auc6 player:%var:%varp:AucL%%
    - money_give=%var:%varp:AucE%%
    - broadcast=&aИгрок &e%var:%varp:AucL%% &aвыиграл аукцион &e%player_name%&a со ставкой &e%var:%varp:AucE%%&a!
    - var_clear=id:Auc%player_name%
    - var_clear=id:AucL%player_name%
    - var_clear=id:AucE%player_name%
    - var_player_clear=id:Auc
    - var_player_clear=id:AucL
    - var_player_clear=id:AucE
    reactions:
    - item_give=%var:Auc%player_name%%
    - var_clear=id:Auc%player_name%
    - var_clear=id:AucL%player_name%
    - var_clear=id:AucE%player_name%
    - var_player_clear=id:Auc
    - var_player_clear=id:AucE
    - var_player_clear=id:AucL
    - broadcast=&aАукцион игрока &e%player_name% &aзавершился без ставок!
COMMAND:
  Auc1:
    override: false
    regex: true
    command: (?i)auc
    actions:
    - message=&a/auc &7- Команды аукциона.
    - message=&a/auc create <Нач.цена>&7 - Создать аукцион с предметом в руке.
    - message=&a/auc info <Ник>&7 - Информация по данному аукциону.
    - message=&a/auc add <Ник> <Сумма>&7 - Поставить ставку на аукцион.
  Auc2:
    override: false
    regex: true
    command: (?i)auc create (([0-9]){1,}|([0-9]){1,}\.([0-9]){1,})
    flags:
    - perm=usual.auction.create
    - '!var_exist=id:Auc%player_name%'
    - 'item=!type:air'
    actions:
    - var_set=id:Auc%player_name% value:{%PLAYER_ITEM_HAND%}
    - var_set=id:AucE%player_name% value:%arg2%
    - item_remove=%PLAYER_ITEM_HAND%
    - broadcast=&aИгрок &e%player_name%&a создал аукцион!
    - broadcast=&aИнформация - /auc info %player_name%
    - execute=activator:Auc5 delay:5m
    - var_player_set=id:Auc value:Auc%player_name%
    - var_player_set=id:AucL value:AucL%player_name%
    - var_player_set=id:AucE value:AucE%player_name%
    reactions:
    - message=&cЧто-то пошло не так!
  Auc3:
    override: false
    regex: true
    command: (?i)auc info .*
    flags:
    - var_exist=id:Auc%arg2%
    actions:
    - message=&eЦена &a%var:AucE%arg2%%
    - message=&eПредмет &a%var:Auc%arg2%%
    reactions:
    - message=&cЧто-то пошло не так!
  Auc4:
    override: false
    regex: true
    command: (?i)auc add ([a-z_0-9]){1,} ([0-9]){1,}
    flags:
    - var_exist=id:Auc%arg2%
    - money=%arg3%
    - var_lower=id:AucE%arg2% value:%arg3%
    actions:
    - var_set=id:AucFast value:AucL%arg2%
    - var_set=id:AucFast2 value:AucE%arg2%
    - message=player:%var:%var:AucFast%% &aСтавка поднялась до &e%arg3%&a!
    - money_give=player:%var:%var:AucFast%% amount:%var:%var:AucFast2%%
    - var_set=id:AucE%arg2% value:%arg3%
    - var_set=id:AucL%arg2% value:%player_name%
    - money_pay=%arg3%
    reactions:
    - message=&cЧто-то пошло не так!




Помнится, ReActions не видит имя/ник игрока(если это не НИП из Citizens) в активаторах с мобами.
Попробуй что-то типа:
Код:
MOB_АКТИВАТОР:
  Andeevskk:
    mob-type: PLAYER
    flags:
    actions:
    - var_set=id:TownFast value:{%player_name%}
    - execute=activator:Andee2 player:{loc:%moblocation%}
EXEC:
  Andee2:
    flags:
    - compare=param:%player_name% value:Andeevskk
    actions:
    - execute=activator:Andee3 player:%var:TownFast%
    - var_clear=id:TownFast
  Andee3:
    actions:
    - TOWN_SET=Andeevskk
Спасибо!
Но я решил через MCD_OP сделать.
Извиняюсь, на RuBukkit появляюсь редко. Не уверен, сработает ли все это, ибо делал без проверочного теста.


Вариант с деньгами:
Код:
EXEC:
  Auc6:
    actions:
    - money_give=%varp:AucFast%
    - var_player_clear=id:AucFast
  Auc5:
    flags:
    - var_exist=id:AucL%player_name%
    actions:
    - var_player_set=id:AucFast player:%var:%varp:AucL%% value:%var:%varp:Auc%%
    - execute=activator:Auc6 player:%var:%varp:AucL%%
    - money_give=%var:%varp:AucE%%
    - broadcast=&aИгрок &e%var:%varp:AucL%% &aвыиграл аукцион &e%player_name%&a со ставкой &e%var:%varp:AucE%%&a!
    - var_clear=id:Auc%player_name%
    - var_clear=id:AucL%player_name%
    - var_clear=id:AucE%player_name%
    - var_player_clear=id:Auc
    - var_player_clear=id:AucL
    - var_player_clear=id:AucE
    reactions:
    - item_give=%var:Auc%player_name%%
    - var_clear=id:Auc%player_name%
    - var_clear=id:AucL%player_name%
    - var_clear=id:AucE%player_name%
    - var_player_clear=id:Auc
    - var_player_clear=id:AucE
    - var_player_clear=id:AucL
    - broadcast=&aАукцион игрока &e%player_name% &aзавершился без ставок!
COMMAND:
  Auc1:
    override: false
    regex: true
    command: (?i)auc
    actions:
    - message=&a/auc &7- Команды аукциона.
    - message=&a/auc create <Нач.цена>&7 - Создать аукцион с предметом в руке.
    - message=&a/auc info <Ник>&7 - Информация по данному аукциону.
    - message=&a/auc add <Ник> <Сумма>&7 - Поставить ставку на аукцион.
  Auc2:
    override: false
    regex: true
    command: (?i)auc create (([0-9]){1,}|([0-9]){1,}\.([0-9]){1,})
    flags:
    - perm=usual.auction.create
    - '!var_exist=id:Auc%player_name%'
    - 'item=!type:air'
    actions:
    - var_set=id:Auc%player_name% value:{%PLAYER_ITEM_HAND%}
    - var_set=id:AucE%player_name% value:%arg2%
    - item_remove=%PLAYER_ITEM_HAND%
    - broadcast=&aИгрок &e%player_name%&a создал аукцион!
    - broadcast=&aИнформация - /auc info %player_name%
    - execute=activator:Auc5 delay:5m
    - var_player_set=id:Auc value:Auc%player_name%
    - var_player_set=id:AucL value:AucL%player_name%
    - var_player_set=id:AucE value:AucE%player_name%
    reactions:
    - message=&cЧто-то пошло не так!
  Auc3:
    override: false
    regex: true
    command: (?i)auc info .*
    flags:
    - var_exist=id:Auc%arg2%
    actions:
    - message=&eЦена &a%var:AucE%arg2%%
    - message=&eПредмет &a%var:Auc%arg2%%
    reactions:
    - message=&cЧто-то пошло не так!
  Auc4:
    override: false
    regex: true
    command: (?i)auc add ([a-z_0-9]){1,} ([0-9]){1,}
    flags:
    - var_exist=id:Auc%arg2%
    - money=%arg3%
    - var_lower=id:AucE%arg2% value:%arg3%
    actions:
    - var_set=id:AucFast value:AucL%arg2%
    - var_set=id:AucFast2 value:AucE%arg2%
    - message=player:%var:%var:AucFast%% &aСтавка поднялась до &e%arg3%&a!
    - money_give=player:%var:%var:AucFast%% amount:%var:%var:AucFast2%%
    - var_set=id:AucE%arg2% value:%arg3%
    - var_set=id:AucL%arg2% value:%player_name%
    - money_pay=%arg3%
    reactions:
    - message=&cЧто-то пошло не так!




Помнится, ReActions не видит имя/ник игрока(если это не НИП из Citizens) в активаторах с мобами.
Попробуй что-то типа:
Код:
MOB_АКТИВАТОР:
  Andeevskk:
    mob-type: PLAYER
    flags:
    actions:
    - var_set=id:TownFast value:{%player_name%}
    - execute=activator:Andee2 player:{loc:%moblocation%}
EXEC:
  Andee2:
    flags:
    - compare=param:%player_name% value:Andeevskk
    actions:
    - execute=activator:Andee3 player:%var:TownFast%
    - var_clear=id:TownFast
  Andee3:
    actions:
    - TOWN_SET=Andeevskk
Вещь не возвращается игроку. ( аукцион )
 
Ребята, помогите! Мне нужно чтобы при вводе одной команды /test выполнялись две по очереди это : /join и /leave . Нужно чтобы оно работало в зависимости от гм. Тоисть когда я в гм 0 и пишу /test приводилась в действие команда /join. А когда я в гм 2 и пишу /test приводилась в действие команда /leave.
 
В общем, тот вариант который там сейчас реализован мне не нравится. Более того, у меня потеряны исходники документации - т.е. надо делать что-то новое.
Идеальным был бы какой-то вики-образный движок с полноценной поддержкой мультиязычности. Меня периодически кусает что-то и я начинаю искать, но как правило ничего путного не находится.

Если знаете что-то удобное и хорошее - я буду очень благодарен. Я бы инструкции ко всем своим плагинам свёл бы в одно место...

МедиаВики, почему нет? ТЫК

Стоит ли ждать в ближайшее время возможность распределения персональных переменных для каждого пользователя в свой, отдельный файл?
 
Последнее редактирование:
Спасибо!
Но я решил через MCD_OP сделать.

Вещь не возвращается игроку. ( аукцион )
И правда, не углядел совсем.

Код:
EXEC:
  Auc6:
    actions:
    - item_give=%varp:AucFast%
    - message=&a&lВы победили в аукционе!
    - var_player_clear=id:AucFast
  Auc5:
    flags:
    - var_exist=id:AucL%player_name%
    actions:
    - var_player_set=id:AucFast player:%var:%varp:AucL%% value:{%var:%varp:Auc%%}
    - execute=activator:Auc6 player:%var:%varp:AucL%%
    - money_give=%var:%varp:AucE%%
    - broadcast=&aИгрок &e%var:%varp:AucL%% &aвыиграл аукцион &e%player_name%&a со ставкой &e$%var:%varp:AucE%%&a!
    - var_clear=id:Auc%player_name%
    - var_clear=id:AucL%player_name%
    - var_clear=id:AucE%player_name%
    - var_player_clear=id:Auc
    - var_player_clear=id:AucL
    - var_player_clear=id:AucE
    reactions:
    - item_give=%var:%varp:Auc%%
    - var_clear=id:Auc%player_name%
    - var_clear=id:AucL%player_name%
    - var_clear=id:AucE%player_name%
    - var_player_clear=id:Auc
    - var_player_clear=id:AucE
    - var_player_clear=id:AucL
    - broadcast=&aАукцион игрока &e%player_name% &aзавершился без ставок!
COMMAND:
  Auc1:
    override: false
    regex: true
    command: (?i)auc
    actions:
    - message=&a/auc &7- Команды аукциона.
    - message=&a/auc create <Нач.цена>&7 - Создать аукцион с предметом в руке.
    - message=&a/auc info <Ник>&7 - Информация по данному аукциону.
    - message=&a/auc add <Ник> <Сумма>&7 - Поставить ставку на аукцион.
  Auc2:
    override: false
    regex: true
    command: (?i)auc create (([0-9]){1,}|([0-9]){1,}\.([0-9]){1,})
    flags:
    - perm=usual.auction.create
    - '!var_exist=id:Auc%player_name%'
    - 'item=!type:air'
    actions:
    - var_set=id:Auc%player_name% value:{%PLAYER_ITEM_HAND%}
    - var_set=id:AucE%player_name% value:%arg2%
    - item_remove=%PLAYER_ITEM_HAND%
    - broadcast=&aИгрок &e%player_name%&a создал аукцион!
    - broadcast=&aИнформация - /auc info %player_name%
    - execute=activator:Auc5 delay:30s
    - var_player_set=id:Auc value:Auc%player_name%
    - var_player_set=id:AucL value:AucL%player_name%
    - var_player_set=id:AucE value:AucE%player_name%
    reactions:
    - message=&cЧто-то пошло не так!
  Auc3:
    override: false
    regex: true
    command: (?i)auc info .*
    flags:
    - var_exist=id:Auc%arg2%
    actions:
    - message=&eЦена &a%var:AucE%arg2%%
    - message=&eПредмет &a%var:Auc%arg2%%
    reactions:
    - message=&cЧто-то пошло не так!
  Auc4:
    override: false
    regex: true
    command: (?i)auc add ([a-z_0-9]){1,} ([0-9]){1,}
    flags:
    - var_exist=id:Auc%arg2%
    - money=%arg3%
    - var_lower=id:AucE%arg2% value:%arg3%
    actions:
    - var_set=id:AucFast value:AucL%arg2%
    - var_set=id:AucFast2 value:AucE%arg2%
    - message=player:%var:%var:AucFast%% &aСтавка поднялась до &e%arg3%&a!
    - message=&aВы поставили ставку &e$%arg3%&a!
    - money_give=player:%var:%var:AucFast%% amount:%var:%var:AucFast2%%
    - var_set=id:AucE%arg2% value:%arg3%
    - var_set=id:AucL%arg2% value:%player_name%
    - money_pay=%arg3%
    reactions:
    - message=&cЧто-то пошло не так!


Ребята, помогите! Мне нужно чтобы при вводе одной команды /test выполнялись две по очереди это : /join и /leave . Нужно чтобы оно работало в зависимости от гм. Тоисть когда я в гм 0 и пишу /test приводилась в действие команда /join. А когда я в гм 2 и пишу /test приводилась в действие команда /leave.

Быть может как-то так. Если у игрока выживание - от его лица вводится команда /join, если любой другой режим - /lobby

Код:
COMMAND:
  TestCmd:
    override: false
    regex: false
    command: test
    flags:
    - gamemode=survival
    actions:
    - cmd=join
    reactions:
    - cmd=lobby
 
МедиаВики, почему нет? ТЫК

Стоит ли ждать в ближайшее время возможность распределения персональных переменных для каждого пользователя в свой, отдельный файл?

Медиавики мне не понравилась. Уже не помню почему. Надо бы попробовать ещё. Возможно, сейчас я не такой капризный ;)

Насчёт отдельного файла — в ближайшее время не будет.
 
О старейшини сиего топика, взываю к вам!
/Summon @fromgate
/Summon @Lyosha12

Мне надо сделать такую штуку (помогите, если не сложно):
что бы при использовании конкретной команды эта команда блокировалась и заменялась рядом других, которые исполнялись бы в строгом порядке и с конкретными задержками
Алгоритм: игрок юзает команду >> команда блокируется >> выполняется действие >> ждать 15 секунд >> выполняется действие#2.

Тоесть понятно, для перехвата события берем активатор "COMMAND", для реакции на этот активатор берем действие "CMD". Но в этом случае наша команда, которая спровоцировала активатор, не будет заблокирована/отменена.

И как сделать задержки между действиями ??
Наверное такое не реализовано в плагине (не всё то он может, хех), т.к. для каждого отдельного события понадобился бы уникальный метод его блокировки.
 
Последнее редактирование:
О старейшини сиего топика, взываю к вам!
/Summon @fromgate
/Summon @Lyosha12

Мне надо сделать такую штуку (помогите, если не сложно):
что бы при использовании конкретной команды эта команда блокировалась и заменялась рядом других, которые исполнялись бы в строгом порядке и с конкретными задержками
Алгоритм: игрок юзает команду >> команда блокируется >> выполняется действие >> ждать 15 секунд >> выполняется действие#2.

Тоесть понятно, для перехвата события берем активатор "COMMAND", для реакции на этот активатор берем действие "CMD". Но в этом случае наша команда, которая спровоцировала активатор, не будет заблокирована/отменена.

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

Действие - cancel_event=true отменяет событие, т.е. игрок как-бы не вводит команду
Для задержки можно использовать действие - wait=время либо - actions_delayed=time:время action:{действие параметры}

Код:
COMMAND:
  WithDelay1:
    override: false
    regex: false
    command: test
    actions:
    - cancel_event=true
    - message=Well done!
    - cmd=spawn
    - wait=15s
    - message=Прошло 15 секунд...
    - cmd=home
  WithDelay2:
    override: false
    regex: false
    command: test2
    actions:
    - cancel_event=true
    - message=Well done!
    - cmd=spawn
    - action_delayed=time:15s action:{message Прошло 15 секунд...}
    - action_delayed=time:15s action:{cmd home}
 
Последнее редактирование:

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

Назад
Верх