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

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

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

  1. BrainRTP

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

    Баллы:
    76
    Имя в Minecraft:
    BrainRTP
    @Lyosha12
    Спасибо, буду знать.
    У меня возникают проблемы только с пониманием VAR. До меня не доходит как работает этот активатор, или чем он является. Я уже реализовал систему нажатия по НПС, если что ;)
    Мне придется создать активатор VARIABLE, что бы писал текст, или что? Покамесь я реализовал вот так (т.к. не понял как работает VAR):
    Код:
    MOB_CLICK:
      talk1:
        mob-type: PLAYER
        mob-name: '&7Стражник'
        flags:
        - DELAY=id:talk1 set-time:5s
        actions:
        -  MESSAGE=%var:NPC-txt-%random:1-4%%
    
    VARIABLE:
      NPC-txt-1:
        variable-id: Ban_NickAdm
        personal: false
        actions:
        - message=&c&l1
      NPC-txt-2:
        variable-id: UnknownVariable
        personal: false
        actions:
        - message=&c&l2
      NPC-txt-3:
        variable-id: 1
        personal: false
        actions:
        - message=&c&l3
      NPC-txt-4:
        variable-id: 4
        personal: false
        actions:
        - message=&c&l4
    
    
    Снимок экрана 2016-03-12 в 22.15.38.png
    Это выводит NPC при нажатии на него
     
  2. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Нет, нет. Активатор VARIABLE слушает изменение переменной и выполняется, в соответствии с заданными параметрами. Вам нужно задать в файле variables.yml 30 штук переменных. От Test-1 до Test-30. Задавать их можно как вручную, так и из чата с помощью активатор MESSAGE или COMMAND.
     
    Последнее редактирование: 12 мар 2016
  3. BrainRTP

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

    Баллы:
    76
    Имя в Minecraft:
    BrainRTP
    Ого! Я не знал про файлик... Спасибо, большое! Т.е мне нужно туда вбить значения типа:
    Код:
    general:
      NPC-txt-1: {Привет, %player%}
      NPC-txt-2: {Хало}
      NPC-txt-3: {Привет!}
      NPC-txt-4: {Привет}
      И так далее...
    
    И потом вызывать их вот этим:
    Код:
    MOB_CLICK:
      talk1:
        mob-type: PLAYER
        mob-name: '&7Стражник'
        flags:
        - DELAY=id:talk1 set-time:5s
        actions:
        - MESSAGE=%var:NPC-txt-%random:1-4%%
    
    Я правильно понял?
     
  4. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Именно, только без фигурных скобок. В одинарных кавычках обычно пишу.
     
  5. BrainRTP

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

    Баллы:
    76
    Имя в Minecraft:
    BrainRTP
    @Lyosha12
    Спасибочки вам большое! Хотелось бы увидеть про %var%, %args% побольше в документации.
    Было бы классно, если бы вы занимались редактированием документацией, ведь вы очень многое знаете, да и грамотно и понятно расписываете про все.
    Вообщем, @fromgate возьми его как редактора документации ;)
     
  6. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Если это случится, то доки раздуются от изобилия примеров :D
     
  7. BrainRTP

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

    Баллы:
    76
    Имя в Minecraft:
    BrainRTP
    Вот именно! Примеры - самое главное!
    Ведь не всегда понятно как и что делается! Это как в алгебре, пока не сделаешь пару примеров, толком не поймешь теорию (лично у меня так)
     
  8. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    С удовольствием. Только текущих механизм подготовки документации жутко неудобный. Я искал вики-образный движок для этого, но путного пока не нашёл :(
     
  9. Soul_KRT

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

    Баллы:
    76
    То, что в command - скажем так, "разновидность" написания команды бан.
    Тоесть чтобы фиксировало как /ban так и /BaN и /BAn и т.д.
    Value - записывает значения, например нужно было записать ник - для этого используется плейсхолдер %player%
    %args% - такой-же плейсхолдер, но он записывает цифри.
    Например Soul забанен на 30 секунд
    %player% - Soul
    %args% - 30 (или 30s)
    P.s. S = second (секунд)
    Надеюсь я ответил на ваш вопрос))
    Просто переменные записывают такой текст (и прочее ), на который указывают плейсхолдеры)
    Поздовато я )))
    Пока печатал тут целый диалог)
    /ra add название_активатора a message %player%
    Выведет имя игрока, который активирует активатор.
    Если вы хотите вывести определённый ник, то ....a message NikName Ник нейм
    Надеюсь я вам объяснил именно то, что вам нужно было ;)
     
  10. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    За то приятен для навигации
     
  11. Korvinius

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

    Баллы:
    88
    Что то у меня в последнее время, после рестарта сервера начала вылезать ошибка в консоль, @fromgate, не подскажете в чем может быть причина?
    Код:
    >
    [08:16:27 INFO]: [Vault] No new version available
    >
    [08:16:51 WARN]: java.lang.NullPointerException
    >
    [08:16:51 WARN]:        at java.io.StringReader.<init>(Unknown Source)
    >
    [08:16:51 WARN]:        at org.json.simple.parser.JSONParser.parse(JSONParser.java:79)
    >
    [08:16:51 WARN]:        at org.json.simple.parser.JSONParser.parse(JSONParser.java:75)
    >
    [08:16:51 WARN]:        at me.fromgate.fakeplayersonline.UUIDCache.getMojangUUID(UUIDCache.java:59)
    >
    [08:16:51 WARN]:        at me.fromgate.fakeplayersonline.UUIDCache.getUUID(UUIDCache.java:47)
    >
    [08:16:51 WARN]:        at me.fromgate.fakeplayersonline.ShowList.fillShowList(ShowList.java:82)
    >
    [08:16:51 WARN]:        at me.fromgate.fakeplayersonline.FPOPLib$1.onPacketSending(FPOPLib.java:100)
    >
    [08:16:51 WARN]:        at com.comphenix.protocol.injector.SortedPacketListenerList.invokeSendingListener(SortedPacketListenerList.java:195)
    >
    [08:16:51 WARN]:        at com.comphenix.protocol.injector.SortedPacketListenerList.invokePacketSending(SortedPacketListenerList.java:149)
    >
    [08:16:51 WARN]:        at com.comphenix.protocol.injector.PacketFilterManager.handlePacket(PacketFilterManager.java:638)
    >
    [08:16:51 WARN]:        at com.comphenix.protocol.injector.PacketFilterManager.invokePacketSending(PacketFilterManager.java:614)
    >
    [08:16:51 WARN]:        at com.comphenix.protocol.compat.netty.independent.NettyProtocolInjector.packetQueued(NettyProtocolInjector.java:312)
    >
    [08:16:51 WARN]:        at com.comphenix.protocol.compat.netty.independent.NettyProtocolInjector.onPacketSending(NettyProtocolInjector.java:278)
    >
    [08:16:51 WARN]:        at com.comphenix.protocol.compat.netty.independent.NettyChannelInjector.processSending(NettyChannelInjector.java:417)
    >
    [08:16:51 WARN]:        at com.comphenix.protocol.compat.netty.independent.NettyChannelInjector.access$500(NettyChannelInjector.java:84)
    >
    [08:16:51 WARN]:        at com.comphenix.protocol.compat.netty.independent.NettyChannelInjector$6.handleScheduled(NettyChannelInjector.java:383)
    >
    [08:16:51 WARN]:        at com.comphenix.protocol.compat.netty.independent.NettyChannelInjector$6.onMessageScheduled(NettyChannelInjector.java:351)
    >
    [08:16:51 WARN]:        at com.comphenix.protocol.compat.netty.independent.NettyChannelProxy$2.schedulingRunnable(NettyChannelProxy.java:127)
    >
    [08:16:51 WARN]:        at com.comphenix.protocol.compat.netty.independent.NettyEventLoopProxy.execute(NettyEventLoopProxy.java:95)
    >
    [08:16:51 WARN]:        at net.minecraft.server.v1_8_R3.NetworkManager.a(NetworkManager.java:192)
    >
    [08:16:51 WARN]:        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    >
    [08:16:51 WARN]:        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    >
    [08:16:51 WARN]:        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    >
    [08:16:51 WARN]:        at java.lang.reflect.Method.invoke(Unknown Source)
    >
    [08:16:51 WARN]:        at com.comphenix.protocol.compat.netty.independent.NettyChannelInjector.invokeSendPacket(NettyChannelInjector.java:690)
    >
    [08:16:51 WARN]:        at com.comphenix.protocol.compat.netty.independent.NettyChannelInjector.access$600(NettyChannelInjector.java:84)
    >
    [08:16:51 WARN]:        at com.comphenix.protocol.compat.netty.independent.NettyChannelInjector$7.run(NettyChannelInjector.java:535)
    >
    [08:16:51 WARN]:        at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:71)
    >
    [08:16:51 WARN]:        at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:350)
    >
    [08:16:51 WARN]:        at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:723)
    >
    [08:16:51 WARN]:        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374)
    >
    [08:16:51 WARN]:        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654)
    >
    [08:16:51 WARN]:        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557)
    [08:16:52 WARN]: An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception.
    java.nio.channels.ClosedChannelException
    >ra reload
    >
    [08:20:54 INFO]: Перезагрузка произведена. Загружено 333 активаторов, 32 локаций
     
  12. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    @Korvinius Ну ноги растут из несовместимости FPO и ProtocolLib.
     
  13. Korvinius

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

    Баллы:
    88
    ой, сори, не в ту тему написал, почему то сразу сюда "по привычке" побежал :oops:
     
  14. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    @fromgate, сейчас понадобилось вызвать команду от имени оператора, но в EXEC. Не могли бы Вы добавить параметр player:<> для всех действий, где он может быть уместен?
    @fromgate, как я могу запомнить значение задержки для игрока, если я его изменил и хочу вернуть обратно? То есть как вернуть значение задержки в момент до того, как изменил её?
     
  15. SnIPer107

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

    Баллы:
    66
    Имя в Minecraft:
    SnIPer107
    предлагаю добавить радиус для действия EFFECT. Помню видео было, где можно было сделать на подобии команды //set, т.е. по длине и ширине выставить эффекты. Но сейчас мне нужно по радиусу, на подобии команды //hcyl, но только с эффектами.
    ps. команды из WE привожу для более понятного объяснения
     
  16. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Создайте полигональный регион и проделайте действия, аналогичные кубоидному.
     
  17. snr93

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

    Баллы:
    88
    Скачал самую последнюю версию RA, запустил, а он не запустился, поддержки 1.9 все еще нет?(
    Код:
    [14:52:06] [Craft Scheduler Thread - 20/WARN]: org.apache.commons.lang.UnhandledException: Plugin ReActions v0.9.9/4 generated an exception while executing task 444
        at org.bukkit.craftbukkit.v1_9_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:56)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
    Caused by: java.lang.NoSuchMethodError: org.bukkit.Server.getOnlinePlayers()[Lorg/bukkit/entity/Player;
        at me.fromgate.reactions.MetricsLite.postPlugin(MetricsLite.java:285)
        at me.fromgate.reactions.MetricsLite.access$3(MetricsLite.java:278)
        at me.fromgate.reactions.MetricsLite$1.run(MetricsLite.java:173)
        at org.bukkit.craftbukkit.v1_9_R1.scheduler.CraftTask.run(CraftTask.java:71)
        at org.bukkit.craftbukkit.v1_9_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53)
        ... 3 more
     
  18. BrainRTP

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

    Баллы:
    76
    Имя в Minecraft:
    BrainRTP
    Нет, ее нет.
    @Lyosha12
    Привет! Ты же знаешь хорошо РА, не мог бы ты мне подсказать вот что:
    Код:
    COMMAND:
      rttp:
        override: true
        regex: false
        command: rttp
        flags:
        - DELAY_PLAYER=id:rttp player:%player% set-time:20s
        actions:
        - cmd_op=tppos %random:100-500% %random:60-100% %random:100-500%
        - potion=type:DAMAGE_RESISTANCE level:10 time:6s
        - message=&eНовые координаты %PLAYER_LOC%
        reactions:
        - message=&7[&6Рандомная Телепортация]&b > &eЖди еще &c%delay-left-ss%&e секунд. hide:1s
    
    Как сделать что бы в:
    Код:
        - message=&eНовые координаты %PLAYER_LOC%
    
    Выводились координаты только X, Y , Z и только те, которые выбрал %random%?
    Знаю есть %args% но он только с command работает.
    П.С %PLAYER_LOC% не подходит! Он указывает мир и прочую ненужную фигню...[/code]
    Нужны только точные значения x, y, z без цифр после запятой.
    И почему не работает плагин с ServerSigns?
    Я пишу: /svs add rttp
    Потом нажимаю по табличке и ... И ничего.
    А когда я вручную ввожу /rttp, то все работает!
     
  19. qDeath

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

    Баллы:
    66
    Как сделать, чтобы плагин отправлял свои собственные команды?

    У меня есть 2-а активатора.

    1)


    REGION_ENTER:
    1_in:
    region: test
    actions:
    - MESSAGE=TITLE
    - CMD_CONSOLE=CMD %player% (не работает)

    2)


    COMMAND:
    1_cmd:
    override: true
    regex: false
    command: CMD
    actions:
    - MESSAGE=i'm noob

    Как сделать, чтобы CMD в REGION_ENTER работала?
     
  20. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Для этого не существует плейсхолдера типа %getLocXYZ%. Придётся заносить в глобальную переменную то, что посчитал рандом, а потом подставлять это в нужное сообщение.
    Синтаксис указания команды смотрите. У Вас сейчас (не знаю как работает), но должен быть формат "cmd:<> arg1:<> ag2:<>..." Если хотите более кастомную команду - используйте REGEX.
     

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