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

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

Сейчас начал добавлять небольшие плюшки на сервер. Жутко жалею, что не заставил доделать ReActions тогда, когда всё задумывалось: было бы гораздо веселее...

Вот пример использования velocity (для пояснения: ролик снят в городе, который в результате эксперимента с погодной установкой частично поднялся в воздух, в разных участках города разные биомы, разные погоды. Соответственно, любой катаклизм в игровом мире (вроде отката сервера в результате какого-то бага craftbukkit) списывался на погодную установку...

 
фейерверки в планах, но это будет позднее
 
Ещё один баг с телепортацией - если мир выгружен из памяти, телепортация не происходит. Возможно дело в использовании (Spigot/MCPC+)
 
Заменил iConomy на iMonies и действие moneypay <сумма/[комуплатить]> теперь не отнимает деньги у игрока а наоборот ему их дает. Вернул назад iConomy, все снова работает нормально.
 
странно, это явный глюк Vault'а. Я постараюсь протестировать и написать автору плагина.
 
Спасибо огромное! плагин идеален!

delay <время в секундах/идентификатор>
что за идентификатор?
Есть две иди, даже не знаю как объяснить (голова абсолютно не работает...:( )

Чтоб на кнопку могло нажать определенное количество человек после чего началась задержка
1 нажал, действие произошло
2 нажал, действие произошло
3 нажал, действие произошло
Задержка
и опят цепочка из заданного количества игроков

Чтоб действие выполнялось только посл того как на кнопку нажмут несколько человек
1 нажал, не чего не происходит
2 нажал, не чего не происходит
3 нажал, заданное действие в кнопке происходит для всех трех игроков
и опят цепочка из задонного количства игроков
 
Идентификатор - это гм... идентификатор, по которому будет опознаваться кулдаун.

К примеру, у вас есть 2 активатора и вы хотите дать возможность один раз в 10 минут пользоваться одним из этих активаторов.
Вы каждому из них задаете флаг delay=<id> и действие delay=36000/<id>
Если нужно отдельно каждому активатору задавать уникальную задержку, то используете либо разные идентификаторы либо вообще их не указываете.

pdelay — всё точно также, только привязанный к игроку. Т.е. если в предыдущем примере задержка распространяется на возможность использования активатора всеми игроками, то во втором случае - задержка будет задаваться для каждого игрока отдельно (т.е. каждый игрок сможет пользоваться активатором один раз в 10 секунд).

Касательно счетчиков - если опишите понятнее, можно попробовать добавить. По аналогии с delay. Главное понять как будет сбрасываться счетчик :)
 
Идентификатор - это гм... идентификатор, по которому будет опознаваться кулдаун.

К примеру, у вас есть 2 активатора и вы хотите дать возможность один раз в 10 минут пользоваться одним из этих активаторов.
Вы каждому из них задаете флаг delay=<id> и действие delay=36000/<id>
Если нужно отдельно каждому активатору задавать уникальную задержку, то используете либо разные идентификаторы либо вообще их не указываете.

Что-то я понять не могу...

у меня есть вот такая кнопка

button:
down:
world: land
x: 28
y: 66
z: 81
flags:
- item=1:0*5
actions:
- cmdsrv=say &6С 2
- invitemrmv=1:0*5
- cmdop=tp -110 245 164
reactions:
- cmdsrv=say &6С 1

Как в нее добавить задержку?
 
Что-то я понять не могу...

у меня есть вот такая кнопка

button:
down:
world: land
x: 28
y: 66
z: 81
flags:
- delay=Button1
actions:
- dealy=3600/Button1
#Откат 3600 секунд для всех игроков на Button1
reactions:
- dealy=1200/Button1
#Откат 1200 секунд для всех игроков на Button1

-------

button:
down:
world: land
x: 28
y: 66
z: 81
flags:
- pdelay=Button2
actions:
- dealy=3600/Button1
#Откат 3600 секунд для игрока %player% на Button2
reactions:
- dealy=1200/Button1
#Откат 1200 секунд для игрока %player% на Button1

Чтоб на кнопку могло нажать определенное количество человек после чего началась задержка
Это спокойно перекрывается pdelay'ем, нет нужды наворачивать для этого отдельную конструкцию, тем более что ReAction'у и без того есть куда расти.
 
Нам бы ещё возможность хранить в памяти булеаны/цифровые значения.
И функцию рандома. И циклы. И VarScript
 
Рандом уже частично есть - для лута, для спавна мобов, для телепортация.
Циклы, если я все верно понял, тоже есть, в виде наследующих друг друга активаторов-команд.
 
@Sirse
Рандом представлен в виде флага random возвращает true/false с заданным шансом.

Хранение булеанов скорее всего будет. С другой стороны мы смогли обойтись и без них: в качестве персонального флага используются... группы. Ставишь игроку группы, а в остальных активаторах проверяешь есть ли у игрока данная группа (а потом, когда надо группу забираешь).

Цифровые значения - пока не вижу в них смысла.

Циклов именно в форме циклов не будет. Возможность зацикливать выполнение активаторов уже фактически есть (будет в следующей версии): можно будет запускать активатор, а из него запускать себя.
 
@Sirse
Рандом представлен в виде флага random возвращает true/false с заданным шансом.

Хранение булеанов скорее всего будет. С другой стороны мы смогли обойтись и без них: в качестве персонального флага используются... группы. Ставишь игроку группы, а в остальных активаторах проверяешь есть ли у игрока данная группа (а потом, когда надо группу забираешь).

Цифровые значения - пока не вижу в них смысла.

Циклов именно в форме циклов не будет. Возможность зацикливать выполнение активаторов уже фактически есть (будет в следующей версии): можно будет запускать активатор, а из него запускать себя.


Хм... Несколько странная реализация булеанов :). Цифровые значения привёл как аналог булеанам, зачем они нужны - сам пока что не придумал.
Вообще, идеален бы был вывод сигнала реда по координатам, например, от повторителя.

PS: Повторюсь, но плагин шикарен. Почти весь базовый функционал PvP/Mob арен уложился в десяток строк.
 
button:
down:
world: land
x: 28
y: 66
z: 81
flags:
- pdelay=Button2
actions:
- dealy=3600/Button1
#Откат 3600 секунд для игрока %player% на Button2
reactions:
- dealy=1200/Button1
#Откат 1200 секунд для игрока %player% на Button1



Спасибо за помощь!


Это спокойно перекрывается pdelay'ем, нет нужды наворачивать для этого отдельную конструкцию, тем более что ReAction'у и без того есть куда расти.

Даже не знаю как ее перекрыть pdelay'мом

Что если я хочу сделать чтоб каждый день в определенную зону могло телепортироваться только 5 человек? или ежедневно только 5 человек могли получить какой то предмет!

Или к примеру Speed Run гонка (сразу две предыдущие идеи)

5 человек нажали кнопку (сработала она только после того как ее нажал 5тый) их перенесло в гоночную карту, на финише стоит другая кнопка которая работает только для 3ех человек (первые 3 которые ее нажмут получат приз, остальным нечего не достанется)
 
Спасибо за помощь!
Что если я хочу сделать чтоб каждый день в определенную зону могло телепортироваться только 5 человек? или ежедневно только 5 человек могли получить какой то предмет!
Это можно реализовать через наследующие друг друга активаторы, разведение команд для каждого из 5 людей, и небольшой помощью CsLoad. Как конкретно - думайте сами=)


Спасибо за помощь!
Что если я хочу сделать чтоб каждый день в определенную зону могло телепортироваться только 5 человек? или ежедневно только 5 человек могли получить какой то предмет!

Или к примеру Speed Run гонка (сразу две предыдущие идеи)

5 человек нажали кнопку (сработала она только после того как ее нажал 5тый) их перенесло в гоночную карту, на финише стоит другая кнопка которая работает только для 3ех человек (первые 3 которые ее нажмут получат приз, остальным нечего не достанется)
Аналогично.
 
У меня не работает привязка к региону. Прошу помощи :)
Пишет, что неизвестный тип активатора.
 
Как команду пишете?
/rea add region название_региона
/rea add rgenter название_региона
/rea add rgleave название_региона
 
Как команду пишете?
/rea add region название_региона
/rea add rgenter название_региона
/rea add rgleave название_региона

Пробовал и /react add (rgenter, rgleave, region) test1
и /ra add (rgenter, rgleave, region) test1
P.S Скобки это то что все команды пробовал.
 

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

Назад
Верх