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

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

Предложение:
Флаг количества игроков в регионе
playerCount=3 - возвращает true если в регионе 3 игрока


Это бы возможно решило проблему с множителями из моего пред. предложения.\
Делаем три флага на playerCount=1, каждый из которых запускает сценарий на 1 игрока, в итоге имеем скалирование сложности по игрокам
 
@ValeraSTK, обязательно добавлю! Это проще чем возиться с переменными.

Есть ещё вариант. У меня у действия run есть "недокументированный" параметр player - т.е. идея такая, что запускается он от имени определенного игрока.
Но если сделать доп.параметра rgplayer:<region> то можно отрабатывать этот активатор для всех игроков находящихся в регионе. Т.е. пять игроков, активатор отработал пять раз и ты получил мобов в пять раз больше чем если в регионе один игрок.
 
Еще пара предложений:
1) Диапазон для выдачи денег (moneypay=1-20)
2) Дроп денег с мобов
 
@Sirse, не соглашусь. Это именно ReActions, потому что дроп именно с мобов которых спавнит ReActions. Т.е. создаешь убер быстрого неубиваемого супер-зомби и дропаешь с него кучу денег.
Тем более, что этот параметр добавлен несколько билдов назад :)
Вот только не надо апать почем зря. Я это и в чужих темах ненавижу, а уж в своей-то...
 
@Sirse, не соглашусь. Это именно ReActions, потому что дроп именно с мобов которых спавнит ReActions. Т.е. создаешь убер быстрого неубиваемого супер-зомби и дропаешь с него кучу денег.
Тем более, что этот параметр добавлен несколько билдов назад :)

Вот только не надо апать почем зря. Я это и в чужих темах ненавижу, а уж в своей-то...


Я посчитал, что имеется виду общий дроп со всех мобов, а не только мобов RA. В таком случае двумя руками за ;)
 
@fromgate, а при помощи этого плагина можно сделать квест например на получение профессий ?
Например: что бы игроку получить профу 'miner' из плагина Jobs , ему нужно пробраться в указанную (на табличке или еще где) шахту и убить там определенного моба или нажать кнопку. и только тогда ему возможно получить профу шахтера.

Своего рода квесты намного интересней чем просто командой ввести и ты на работе)

И еще одна интересная идея ограничение вещей по профессиям например Хантер может одеть алмазный меч, а шахтер не может и так же с зачарованными
 
ReActions 0.3.0
http://dev.bukkit.org/media/files/727/11/ReActions.jar

v0.3.0
  • Новый тип активатора - command. Этот активатор привязывается к командам, т.е. выполняется когда игрок пишет в чате связанную команду. Создается командой: /react add command <activator> <command>. При помощи этого активатора можно добавлять дополнительные функции командам. К примеру можно воспроизводить звук или немножко надымить, когда игрок пишет команду /help. Более того, можно по сути ввести в игру новую команду. К примеру /jmp определить так чтобы при этом срабатывало действие velocity и подбрасывало Вас вверх.
  • Новый тип активатора - exec. Это активатор ни к чему не привязан (ни к кнопкам ни к командам и т.д._ Однако его можно запустить при помощи команды /react run <activator> [playername] [delay] Кроме того любой активатор может инициировать выполнение любого количество активаторов exec при помощи действия run.
  • Новый вид действия - run (/react add <actviator> a run exec:<exec-activator> delay:<time> rgplayer:<region>. Это действие предназначено для запуска активатора (тип exec). При выполнении можно определить время задержки (delay), через которое начнется выполнение активатора), а также регион (rplayer). Если регион определён, то выполнение активатора будет происходить для каждого из игроков находящихся в регионе.
  • Теперь все действия, флаги и т.д. использующие параметр определяющий время поддерживают расширенный формат времени.
  • Новый флаг - region (region <region name>). Это флаг проверяет находится ли игрок в заданном регионе.
  • Новый флаг - pose (pose <stand/sneak/sprint>). Это флаг сравнивает позу игрока с заданной в параметре. Например, проверка pose sprint будет положительна, если игрок бегает ;)
  • Новый флаг - rgplayer (rgplaer <region>/<count>). Это флаг проверяет количество игроков в заданном регионе. Если игроков больше или равно заданному числу, то проверка флага - положительна.
  • Новый формат для описания предметов (item) Теперь можно определять цвет (для кожаной брони) и зачарования: <id>[:data][*amount[@<color>,<enchantment1:level>,<enchantment2:level>...<enchantmentN:level>]. При этом количеством может задаваться как диапазон. Например, STONE:5-10 описывает случайно число камней (количество от 5 до 10).
  • Новый параметр добавлен действию mob - equip. По сути это альтернатива параметрам helm, chest, leg, boot и weapon. Теперь вместо них можно использовать: equip:<item-helm>;<item-chest>;<item-leggings>;<item-boots>;<item-weapon> для описания брони и оружия (для зомби и скелетов)
  • Новые параметры добавлены действию mob - dmg. Этот параметр является множителем урона, который будет наносить создающийся моб. Например, если моб по умолчанию наносит 5 урона, то при dmg:5 значение урона будет 25, а при dmg:0.2 — урон будет равен 1.
 
@fromgate, Плагин ваще мощный терь осталось ток разобраться как им пользоваться и самые крутые идем в ход :)
__
На мой вопрос ответишь плиз)
 
предложение:
новое минидействие для активатора-региоа - чистка энтити в регионе.
 
Получил ответ на вопрос:
Можно ли Включать в Регионе ПВП (Днем выключать, а ночью Включать)



Ответ:
Установка флагов для WG - можно сделать командой.

Нужно придумать как будет инициироваться выполнение этой команды.

Сейчас, единственный способ это создать активатор region и в нём проверять время если день - то включать PVP, если ночь - то выключать.

Но... это как бы не совсем правильно. Каждый раз когда игрок будет ходить по региону будет происходить проверка и для каждого игрока будет выполняться команда.
Хотя можно использовать флаг delay чтобы это не происходило часто. К примеру, будет проверяться раз в 15 секунд - этого будет достаточно.
И команда будет выполнена от имени сервера.

И просьба, вопросы по моим плагинам задавайте в теме. Там обсудим, а потом кто-то будет с таким же вопросом - и сразу получит ответ. Форум, собственно для этого и нужен :)
 
Мне сейчас экскурсию устраивали по серверу, на котором активно используется ReActions. Я просто ошеломлён. 17 страниц в списке активаторов /react list
Идеи такие - мне просто в голову придти не может. Поскольку там каждый активатор - это своеобразное ноу-хау, то рассказывать не буду. Но.. если админ начинает мыслить с позиции ReActions, то на сервере можно ждать чудес :)
 
@fromgate, напиши пожалуйста айпи того сервера, я к-стате сейчас тоже на своем сервере прорабатываю экономику, + этот плагин, чудесная вещь :) Делаю разные квесты и прочее :)

Спасибо тебе еще много раз за такое творение:)
Делаю что то наподобие ММОРПГ, думаю что то хорошее получится)
 
ReActions 0.3.1
https://dl.dropboxusercontent.com/u/64799811/ReActions/ReActions.jar

Новое:
- itemgive поддерживает итемы в том же формате что и дроп мобов (шанс и т.п.)
- Новое действие rgclear параметры region:<имя региона> type:<тип энтити>
Тип энтити может быть: all, mob, item или название entity (CREEPER, SKELETON, CHICKEN и т.д.). Если используются названия, то их можно перечислять через запятую.
 
Мне сейчас экскурсию устраивали по серверу, на котором активно используется ReActions. Я просто ошеломлён. 17 страниц в списке активаторов /react list
Идеи такие - мне просто в голову придти не может. Поскольку там каждый активатор - это своеобразное ноу-хау, то рассказывать не буду. Но.. если админ начинает мыслить с позиции ReActions, то на сервере можно ждать чудес :)


o_0
Я только две страницы сделал, и то половина - банальные ТП
 
Еще пара предложений:
1) Диапазон для выдачи денег (moneypay=1-20)
2) Дроп денег с мобов

Кстати, он там давно диапазоном. Как бы не с самого начала - полез добавлять, смотрю уже есть ;)
Так же как и экспа, кстати.
 
Кстати, он там давно диапазоном. Как бы не с самого начала - полез добавлять, смотрю уже есть ;)
Так же как и экспа, кстати.

- moneygive=1-20
вот эта строчка всегда выдает 0. Мб синтаксис другой?
 
@ValeraSTK, а вот так?

https://dl.dropboxusercontent.com/u/64799811/ReActions/ReActions.jar

;)

P.S. Действительно не было, это я уже чудить начал. Диапазон для денег был только для дропа из мобов.
Сейчас должно быть и в moneypay и в moneygive
Ещё дополнение. Я сразу не сообразил, что новый формат итемов (с возможностью указания нескольких энчантов и т.п.) не вписывается в описание группы итемов (с вероятностью и т.п.).

https://dl.dropboxusercontent.com/u/64799811/ReActions/ReActions.jar

В общем виде теперь итем можно задавать так (используется и в itemgive и в дропе с мобов): id:data*amount@enchant:level,color;id:data*amount%chance/id:data*amount@enchant:level,color;id:data*amount%chance

Например:
- itemgive=STONE;DIRT*2%50/IRON_AXE*2@DAMAGE_ALL:2;IRON_AXE@KNOCKBACK,DAMAGE_ALL:3%50

Здесь с вероятность 50/50 может выпасть либо один камень и две земли либо два топора с энчантом DAMAGE_ALL и один с энчантами KNOCKBACK и DAMAGE_ALL (3-его уровня)

т.е. в пачке итемы разделяются точкой с запятой (раньше была запятая), группы итемов разделяются символом "/", а шанс на дроп начинается с символа "%"
 
fromgate, принудительную подгрузку мира перед телепортацией не реализовывали?


Ну вот, при нажатии на кнопку получаю это -
2013-08-20 16:36:03 [SEVERE] Could not pass event RAButtonEvent to ReActions v0.3.1
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:363)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:47)
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:479)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:464)
at me.fromgate.reactions.EventManager.raiseButtonEvent(EventManager.java:61)
at me.fromgate.reactions.RAListener.onPlayerInteract(RAListener.java:205)
at sun.reflect.GeneratedMethodAccessor65.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:361)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:47)
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:479)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:464)
at org.bukkit.craftbukkit.v1_5_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:189)
at net.minecraft.item.ItemInWorldManager.func_73078_a(ItemInWorldManager.java:541)
at net.minecraft.network.NetServerHandler.func_72472_a(NetServerHandler.java:874)
at net.minecraft.network.packet.Packet15Place.func_73279_a(SourceFile:58)
at net.minecraft.network.TcpConnection.func_74428_b(TcpConnection.java:442)
at net.minecraft.network.NetServerHandler.func_72570_d(NetServerHandler.java:222)
at net.minecraft.network.NetworkListenThread.func_71747_b(NetworkListenThread.java:53)
at net.minecraft.server.dedicated.DedicatedServerListenThread.func_71747_b(SourceFile:30)
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:847)
at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:320)
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:716)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:600)
at net.minecraft.server.ThreadMinecraftServer.run(SourceFile:573)
Caused by: java.lang.NullPointerException
at org.bukkit.Location.getChunk(Location.java:73)
at me.fromgate.reactions.Actions.teleportPlayer(Actions.java:544)
at me.fromgate.reactions.Actions.performAction(Actions.java:79)
at me.fromgate.reactions.Actions.executeActivator(Actions.java:63)
at me.fromgate.reactions.activators.ButtonActivator.activate(ButtonActivator.java:68)
at me.fromgate.reactions.activators.Activators.activate(Activators.java:306)
at me.fromgate.reactions.RAListener.onButton(RAListener.java:229)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:361)
... 27 more

При этом активатор выполняется, но только секунд через 5 после ошибки.
 

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

Назад
Верх