Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Плагин [ADMN/DEV/FUN] VarScript 1.2 - Пишем скрипты на Groovy

Тема в разделе "Релизы плагинов", создана пользователем DPOH-VAR, 29 сен 2012.

  1. Автор темы
    DPOH-VAR

    DPOH-VAR Старожил Пользователь

    Баллы:
    153
    Skype:
    dpohvar
    Итак, что мы имеем сейчас:

    - Плагин VarScript имеет свой собственный язык varscript;
    /> скрипт
    - Он также может использовать язык javascript;
    /js> скрипт
    /-> js скрипт
    - Он может использовать любой и другой язык, который есть в вашей JVM.
    /-> ваш_любимый_язык скрипт

    Тут мне пришла в голову мысль дать свободу в выборе языка:
    Просто устанавливаем нужные библиотеки и вперед!

    На самом деле java предоставляет огромный выбор в этом плане (вплоть до самого Java :D ).

    Посмотрим, что из этого получится.[DOUBLEPOST=1377822502,1377774513][/DOUBLEPOST]Первый тест, подключил Groovy и ruby.

    В папку plugins\VarScript\engines закидываем библиотеки, которые можно скачать на офф сайтах.
    Я использовал
    groovy-all-2.1.6.jar
    jruby-complete-1.7.4.jar

    Теперь их нужно прописать в конфиге:
    Код:
    scheduler:
      enabled: true
    engines:
      ruby: file:plugins\VarScript\engines\jruby-complete-1.7.4.jar
      Groovy: file:plugins\VarScript\engines\groovy-all-2.1.6.jar
    Замечаю, что в конфиге должна быть указана ссылка на библиотеку.
    Если это файл, ссылка начинается с file:
    Если библиотека лежит в вебе, то http:\\

    Теперь можно запускать сервер!
    в директории plugins\VarScript\scripts создадутся еще две папки: Groovy и ruby

    Эксперименты с Groovy:
    Я впервые столкнулся с этим языком, однако его синтаксис не составил труда в понимании. Чтобы не заморачиваться, вот эксперименты:
    t1.png
    Нажавший на коммандблок получает урон в 2 единицы (сердечко)
    Есть только одна проблема:
    groovy грузится около 10 секунд перед первым запуском. Чтобы не возникло зависаний во время игры, наверное имеет смысл добавить его в автозагрузку.
    Теперь эксперименты с файлами:
    Создаем файлик test.groovy с таким содержанием:
    Код:
    import org.bukkit.inventory.ItemStack
     
    program.onTicks({
    item = new ItemStack(Integer.parseInt(args[0]));
        caller.send("Give "+item);
        me.getInventory().addItem(item)
    },40)
    Теперь запускаем его:
    /->f groovy test 13

    В результате через 2 секунды получим блок гравия и сообщение:
    [VarScript] Give ItemStask{GRAVEL x 1}

    Конечно можно баловаться с его синтаксисом в чате:
    /-> groovy caller.send(["world!","hello "].reverse().join())
    Получим в ответ ожидаемый [VarScript] hello world!

    Он мне показался в разы удобнее, чем JavaScript. Поживем - увидим.

    Теперь настала очередь ruby.
    К сожалению, с ним не вышло сделать ничего интересного.
    Вот, к примеру:
    /-> ruby puts "Hello "+"world!"
    ответ в консоли:
    >06:12:15 [INFO] Hello world!
     
    Sirse нравится это.
  2. Хостинг MineCraft
    <
  3. Sirse

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

    Баллы:
    173
    Имя в Minecraft:
    Sirse
    Обязательно сегодня попробую поставить Pascal.
     
    fromgate нравится это.
  4. Автор темы
    DPOH-VAR

    DPOH-VAR Старожил Пользователь

    Баллы:
    153
    Skype:
    dpohvar
    Поддержка сторонних движков будет с версии 0.5.6
    Попробуй отыскать нормальный паскаль для явы в виде скриптодвижка.. Вроде бы он не существует :D
     
    ВремяПриключений нравится это.
  5. Sirse

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

    Баллы:
    173
    Имя в Minecraft:
    Sirse

    Блин, а я уже обрадовался :D Когда релиз 0.5.6?
     
  6. Автор темы
    DPOH-VAR

    DPOH-VAR Старожил Пользователь

    Баллы:
    153
    Skype:
    dpohvar
    Еще много мелочей осталось,
    например для груви я отдельную команду вынес. Прописывать линки библиотекам теперь не обязательно, они сами подхватываются из директории engines. Я не тестировал, как себя ведет чедулер со скриптами.

    Если не терпится - отпишись в скайп, скину тестовую версию. Она вполне работоспособна.
     
  7. ChattyDude

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

    Баллы:
    93
    Имя в Minecraft:
    ChattyDude
    Эмм,есть вопрос:Как ты относишься к созданию сайтов и лаунчеров?Просто вопрос.
     
    MineMan910 нравится это.
  8. Автор темы
    DPOH-VAR

    DPOH-VAR Старожил Пользователь

    Баллы:
    153
    Skype:
    dpohvar
    Можно было бы и в личку.

    Вот просто ответ: терпеть не могу лаунчеры.
    А сайты пишу на томкате.
     
  9. Автор темы
    DPOH-VAR

    DPOH-VAR Старожил Пользователь

    Баллы:
    153
    Skype:
    dpohvar
    Если есть версия Pascal, написанная на Java, это значит то, что ее можно использовать в Java.
    На самом деле все вот как:

    Есть класс ScriptEngineManager, который позволяет воспользоваться любым скрипто-движком, установленным в системе. С помощью ScriptEngine можно запустить скрипт, а также указать ему переменные и константы, с которыми скрипт будет работать.
    Каждый ScriptEngineFactory используется как "представитель" скриптоязыка. С помощью него можно создать несколько экземпляров независимых скриптодвижков.
    По умолчанию в JRE из движков есть только Rhino, использующий язык ECMAScript (js).
    Чтобы добавить еще несколько скриптодвижков, достаточно просто подгрузить в класслоудер библиотеку с этим движком (правда не во всех случаях это срабатывало, я еще экспериментирую)
    Таким образом, если вдруг найдется движок с FreePascal - его без проблем можно будет подключить к плагину. Но дело в том, что такого движка я не нашел.

    Но все-таки, если верить той самой странице вики, существует некий интерпретатор кода pascal, написанный на java. Это безусловно значит, что можно найти готовый проект, подключить его классы и начать использовать на свое усмотрение. Я же не хочу на этом останавливаться, т.к. мне не нравится паскаль из за его слабых возможностей и малой гибкости.
    В то же время я оставил возможность подгрузить любую библиотеку на выбор. Если бы паскаль был востребован, мы бы нашли в интернетах исходники PаscаlScriptEngineFactory...

    Из тех скриптоязыков, что я перепробовал:
    Groovy - однозначно лидер! Если бы я встретил скрипто-плагин на Groovy с регистрацией событий, я бы не стал делать варскрипт.
    Varscript - собственный синтаксис этого планига. Не является скриптодвижком. По уровню абстракции близок к js, но заточен под использование "на лету", т.е. удобно использовать в чате, коммандблоках, писать в книгах и т.д.
    Rhino (javascript) - классика. Однако его код в результате получается слишком избыточным.
    JRuby - Неудобен. Хотя для поклонников языка - вполне подойдет.
    Scala - Слишком крут. Не получилось простым способом подключить его (только через отладчик)[DOUBLEPOST=1378147555,1378061371][/DOUBLEPOST]Много-времени мучался со Scala.
    Оказалось, что она не деплоится, и это баг разработчиков.
    Стабильная версия 2.10 - не может зарегистрировать свой сервис-провайдер (вроде-бы баг в манифесте)
    Версия 2.11 заработала как надо![DOUBLEPOST=1378304341][/DOUBLEPOST]Нашел еще нечто похожее на планировщик варскрипта:
    http://dev.bukkit.org/bukkit-plugins/battlescheduler/[DOUBLEPOST=1378573409][/DOUBLEPOST]Версия 0.5.6 Готова.
    Та самая, к которой можно подключить любой скрипто-движок.
    Из дополнений:
    Мы можем подключить любой скриптодвижок (ваш Кэп), но нужно найти и скачать библиотеки.
    Если движок не подключается сам, можно его создать и зарегистрировать с помощью js (инструкции будут позже, если в них появится необходимость)
    Если движок капризничает (например scala отказывается читать java классы) - мы можем настроить его предварительно с помощью js
    Ну вот и всё. Ссылки и описание в первом посте.[DOUBLEPOST=1378687440][/DOUBLEPOST]С прискорбием сообщаю, что ptnk был прав насчет производительности языка varscript.
    Если я выкину этот синтаксис, вес плагина уменьшится почти на мегабайт :D

    На данный момент, самый лучший по производительности - это groovy. Он почти сравним с чистым java.

    С этих пор varscript оставляю как язык с наиболее коротким синтаксисом только для коротких команд.
    Все сложные задачи и модули буду делать на груви. Тем более, что варскрипт может взаимодействовать с классами и объектами, созданными groovy как со своими ( :eek: я сам вафуе ).
     
    Оригинало_о, ufes, Sirse и ещё 1-му нравится это.
  10. blackalegator

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

    Баллы:
    63
    Очень хороший плагин, но к сожалению не могу его использовать. Из-за рефлекции через плагин можно получить доступ к любым файлам, папкам и даже БД.
     
  11. Автор темы
    DPOH-VAR

    DPOH-VAR Старожил Пользователь

    Баллы:
    153
    Skype:
    dpohvar
    Да, вопрос уязвимости остается открытым.
    С версии 0.4 я перестал об этом заботиться, возложив всю проблему на пользователей.
    В действительности, нужно заботиться только о двух вещах:
    1 - чтобы кто-то случайно не получил пермиты на исполнение скрипта. Это просто.
    2 - уделить внимание тем местам, где скрипт компилируется в скрипте и исполняется.
    Например: мы создали модуль, который позволяет исполнить код на табличке, если по ней кликнуть. Тогда нужно предотвратить случаи, когда пользователи без надлежащих прав создают сами себе такие таблички или подменяют текст в уже существующих.
    Если же вообще не использовать компиляцию - все будет в порядке.
     
  12. lucboeren

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

    Баллы:
    88
    + over99999999 мин-игр для моего сервера:D!
    Автор хорошо постарался!
    Только вот хочется чтобы ты реализовал PHP........
     
  13. lucboeren

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

    Баллы:
    88
    Чем плох Пхп? Это мой первый язык програмирования я который изучил).
    Ахахахахахахахахахахахахахахахахахахахахах:D.
     
  14. Steppenwccr

    Steppenwccr Участник

    Баллы:
    33
    Имя в Minecraft:
    Steppenwccr
    Кто может построить мне мини игру на моём сервере с этим плагином (Hell jump) Очень хочется) Пишите в лс кто поможет!
     
  15. Автор темы
    DPOH-VAR

    DPOH-VAR Старожил Пользователь

    Баллы:
    153
    Skype:
    dpohvar
    Пишите мне в скайп, помогу.

    А мой первый язык был jass.
    PHP действительно плох, если применять его в java.
    Кое-как в последней версии были реализованы замыкания. Да и к тому же по быстродействию он уступает яваскрипту. Но основная причина - я не нашел скриптодвижка с PHP
    http://quercus.caucho.com/ гляну еще этот. Не уверен, что получится его подключить.[DOUBLEPOST=1379191853,1379189518][/DOUBLEPOST]
    @lucboeren,
    Подключил эту либу...
    Код:
    [INFO] [VarScript] load Scala Interpreter 1.0
    lang: Scala version 2.11.0-M4
    name: scala
    extension: scala
    [INFO] [VarScript] load JSR 223 JRuby Engine 1.7.4
    lang: ruby jruby 1.7.4
    name: ruby,jruby
    extension: rb
    [INFO] [VarScript] load Mozilla Rhino 1.6 release 2
    lang: ECMAScript 1.6
    name: js,rhino,JavaScript,javascript,ECMAScript,ecmascript
    extension: js
    [INFO] [VarScript] load Groovy Scripting Engine 2.0
    lang: Groovy 2.2.0-beta-2
    name: groovy,Groovy
    extension: groovy
    [INFO] [VarScript] load Caucho Quercus Script Engine 4.0.37
    lang: php 5.4.0
    name: quercus,php
    extension: php
    Попробуем с помощью скриптинга узнать, сколько у нас жизней:
    варскрипт: /vs>> ME HP
    яваскрипт: /js>> me.health
    груви: /g>> me.health
    раби: /->> ruby org.bukkit.Bukkit.getPlayer("DPOHVAR").health
    ПХП: /->> php <?php return $me->getHealth() ?>
    скала: не работает :p


    Ну что... PHP работает! Через задницу, вываливая результат обработки строки как веб-скрипта.. но работает!

    вот сам плагин
    https://docs.google.com/file/d/0B50fBoyxANzsaHltNWxOcWtmZGc/edit?usp=sharing
     
  16. lucboeren

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

    Баллы:
    88
    Ахахахахах. Может сюда ещё попытатся всунуть Vbscript и паскал? они точно будут
    :D. Пойду учить JS.[DOUBLEPOST=1379251694,1379251577][/DOUBLEPOST]варскрипт: /vs>> ME HP
    Может и не JS но VarSrip выучу! Будет у меня + over99999 миниигр на сервере!
     
  17. Sirse

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

    Баллы:
    173
    Имя в Minecraft:
    Sirse

    Эх, неправильно вы мыслите. VS должен стать на 10% легче и на 20% производительнее, иметь сканер отпечатков пальцев и Siri. Вот это уже будут инновации.
    [​IMG]

    Понаподключал всяких либ, и всё равно вернулся к Varscript. Он как-то сподручнее, чтоли.
     
    slavik123123123 нравится это.
  18. Автор темы
    DPOH-VAR

    DPOH-VAR Старожил Пользователь

    Баллы:
    153
    Skype:
    dpohvar
    [quote="lварскрипт: /vs>> ME HP
    Может и не JS но VarSrip выучу! Будет у меня + over99999 миниигр на сервере![/quote]

    Очень советую groovy.
    Библиотека скриптинга весит всего 6 метров, но может портировать почти любой код на java.
    Можно создать свои классы с геттерами и сеттерами.
    В любом случае, класс или объект, написанный на груви, можно использовать на любом другом языке. Я часто этим пользуюсь: сложные модули пишу грувями, а вызываю варскриптом.[DOUBLEPOST=1379279924,1379272530][/DOUBLEPOST]Еще одна фишка от MYXOMOPX
    Данж с боссом.
    Убить его и записать видео получилось далеко не с первой попытки :D

    Характеристики этого моба такие:
    Максимум жизней: 400
    при получении урона шанс ускориться на 40% на 5-15 секунд [Speed II]
    при атаке шанс замедлить противника на 15% на 5-15 секунд [Slowness I]
    при атаке восстанавливает себе жизни (+4hp за удар)
    при атаке шанс получить усиление урона на 60% [Strength II]
    при получении урона шанс призвать трех малышей-зомбят
    при получении урона шанс разлететься в мышей. Количество мышек ограничено, их можно убить.
    Дроп: маска вампира

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

    Использовались материалы:
    VarScript 0.5.6 | естественно =)
    PowerNBT 0.5.4 | чтение и запись NBT тегов
    Модуль ItemScript.vs | обработка сценариев, записанных внутри предмета
    Модуль Particles.groovy | отображение красивых визуальных эффектов
    Groovy 2.1.7 | для модуля Particles
     
    WalpeR и smilesdc нравится это.
  19. misterzym

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

    Баллы:
    63
    Имя в Minecraft:
    Misterzym
    Перечитал всю тему, плагин меня крайне заинтересовал именно из-за того, что возможности его применения зависят лишь от фантазии.
    У меня возникло пара вопросов, скорее организационных:
    1) Что стало с викой? ( http://diggers.no-ip.org/wiki/ )
    2) Много раз упоминается модуль ItemScript, да же в шапке есть видео его использования, но там же в шапке нет его в списке модулей. Можно его где-то сейчас найти? (Поиск по форуму не дал рабочей ссылки)
     
    RVXman нравится это.
  20. Автор темы
    DPOH-VAR

    DPOH-VAR Старожил Пользователь

    Баллы:
    153
    Skype:
    dpohvar

    1) Этот сайт мертв. (Вместо него возможно будет varscript.ru/wiki - но не факт) Создать полноценную вики скорее всего у меня не хватит сил.
    Базу знаний я сделал из этого форума, большая хуча туториалов в первом посте. И я его периодически обновляю. Считаю, что этого хватит для изучения синтаксиса и многих примочек
    2) Модуль ItemScript в разработке еще, им занимается MYXOMOPX .
    Чтобы его использовать - нужно быть хорошим специалистом по плагину, т.к. там активно используются программистские фишки, замыкания, области видимости, потоки и прочие трюки. Модуль еще без документации.
    В будущем возможно будет переписан на groovy.

    Ну и еще дополню:
    Плагин может использовать внешние скриптодвижки, но я советую ими пользоваться только ради эксперимента. Я оставил утечку памяти (PermGen space error) - обусловлено тем, что при перезагрузке сервера (/reload) груви каждый раз создает толстый ClassLoader. Как потом оказалось, ECMAScript в java 8 делает то же самое. И Scala, и jRuby - в общем, все движки кушают память в области perm gen.
    Мне много что нужно переделать в них...
    И я не смогу заниматься плагином еще в течение 2-3 недель

    PS: обновлю TODO в шапке, но это долгосрочные планы[DOUBLEPOST=1382863630,1380195560][/DOUBLEPOST]Готовится к выходу VarScript 0.5.7
    Единственное что будет изменено - механизм загрузки модулей и загрузка внешних библиотек.

    - Библиотеки будут лежать в папке lib в корне сервера. Возможность загрузки по ссылке я отключил.
    - Все библиотеки подгружаются только один раз при инициализации плагина.
    - Исправлен баг PermGen space error: скриптодвижки создаются каждый в единственном экземпляре.
    - Для добавления дополнительной библиотеки придется остановить сервер.

    - Модули теперь будут загружаться/выгружаться динамически.
    - Зависимость модулей: функция boolean require("модуль") будет загружать необходимый модуль и возвращать булево (удалось загрузить требуемый модуль или нет)

    Еще одна новость: скоро релиз мини-игры DarkRuna!
    Это самый сложный проект на варскрипте, имеет кучу зависимостей, настроек и т.д.
    Для пользователей и игроков мы упростили управление, создав команду /darkruna
    Подробнее можно прочитать тут.
     
    Reedanger, ufes, smilesdc и ещё 1-му нравится это.
  21. MYXOMOPX

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

    Баллы:
    78
    Skype:
    MYXOMOPX
    Имя в Minecraft:
    MYXOMOPX
    Релиз мини-игры DarkRuna!


    Скачать:
    https://drive.google.com/file/d/0B9AYr_oGwl1YRUE5ZXIwN3NVSlk/edit?usp=sharing
    Требования:
    VarScript 0.5.6
    PowerNBT 0.5.3 или новее
    Остальные зависимости содержатся в архиве
    Содержимое архива закинуть в папку /plugins

    Суть игры:
    Игрок присоединяется к арене, его задача - убить других игроков с помощью рун. Руны хаотично спавнятся на арене. При убийстве игрока из него выпадает артефакт. Кто его поднимет - получает очки.
    За очки можно покупать новые руны или улучшать свои способности.

    Список рун:
    Fire:
    При броске - руна поджигает землю и рядом стоящих игроков
    При попадании - поджигает конкретного игрока
    При использовании на себя - включает эффект DemonRun​
    Water:
    При броске - окатывает водой все по радиусу.
    Игроки в радиусе получают статус Wet
    При использовании на себя - игрок становится мокрым (статус Wet)​
    Freeze:
    При броске - вокруг руны все замораживается
    При использовании - игрок замораживается сам. (статус Freeze)​
    Lightning:
    При броске - в руну бьет молния.
    При использовании на себя - игрок получает щит (статус Shield)​
    Curse:
    При броске - все в радиусе действия получают статус curse
    При использовании на себя - игрок сам получает статус.
    Blast:
    При броске - руна взрывается, нанося урон по радиусу
    При использовании - игрок получает реактивное ускорение​
    Astral:
    При броске - игрок телепортируется туда, где упала руна.
    При попадании в игрока - они поменяются местами.
    При использовании - игрок получит статус Astral (невидимый)​
    Life:
    При использовании - восстанавливает здоровье (эффект Healing)
    количество hp зависит от уровня руны.
    При попадании в противника - из него высасываются жизни и передаются игроку. Но при промахе - фигвам :p

    Статусы:
    Различные статусы могут накладываться на игрока при использовании рун или окружающей среды.
    Статус может:
    - устанавливаться на какое-то время;
    - устанавливаться навсегда;
    - применяться моментально (не остается).
    Каждый игрок видит свои статусы слева на скорборде.
    Все статусы сбрасываются после смерти.

    Wet (мокрый) / временный статус:
    Игрок получает этот статус, если он в воде, или его намочили с помощью рун.
    этот статус снимает эффекты огня и проклятья.
    Игрок становится более уязвим ко льду и молнии.
    Не может использовать DemonRun
    Игрок становится мокрым, если наступил в воду.
    Неуязвим к эффекту curse.
    Эффект: водяные брызги от игрока.​
    Fire (огонь) / временный статус:
    Игрок просто горит.
    Взрывается при проклятии.
    Игрока нельзя заморозить.
    Если игрок был мокрый - высохнет.
    Если игрок имел curse - он взорвется.
    Эффект: игрок горит огнем и получает дамаг.​
    DemonRun / временный статус:
    Игрок загорается, но не получает урона
    Иммунитет к огню.
    Взрывается при проклятии.
    Теряет статус при намокании или заморозке
    Поджигает ближайших противников
    Ускоряется передвижение (в зависимости от уровня)
    Эффект: лавовые брызги от игрока​
    Freeze / временный статус:
    Игрок не может двигаться или использовать руны.
    Не намокает.
    Эффект: ноги игрока застывают в снегу.​
    Curse / временный статус:
    Ослепляет игрока и снижает скорость перемещения
    Игрок уязвим к огню (взорвется)
    Статус очищается водой или при ударе молнии
    Эффект: фиолетовая аура вокруг игрока.​
    Astral / временный статус:
    Игрок становится невидимым.
    Переходя в астрал, очищает эффект curse
    Эффект - еще не придумали ;)
    Shield / временный статус:
    Вокруг игрока появляется электростатический щит
    Все в радиусе действия щита получают небольшой урон (статус Lightning)
    Щит отталкивает от игрока все летящие в него руны. (в обратном направлении)
    Эффект - от игрока исходят искры.​
    Silent / постоянный статус, не отображается:
    Игрок не может использовать руны, подбирать их или выбрасывать.
    Игрок не может нанести кому-то урон.
    Обычно устанавливается вместе с заморозкой (Freeze)​
    Lightning / мгновенный статус:
    Мгновенный статус при ударе игрока молнией / током
    Наносит урон (в зависимости от уровня)
    Если игрок мокрый - урон удваивается.
    Если игрок сухой и имеет электростатический щит - он не получает уронЭффект - от игрока при ударе исходят искры.​
    Healing / мгновенный статус:
    Мгновенно пополняет здоровье игрока
    Снимает эффект curse
    Эффект - сердечки над головой.

    Команды:
    /darkruna help - Выводит список всех команд с краткими описаниями
    /darkruna runa - Посмотреть свои руны, а также руны, которые можно купить
    /darkruna runa <Руна> - Покажет информацию о руне
    /darkruna runa <Руна> upgrade <Способность> - Прокачивает руну
    /darkruna slots - Покажет сколько у Вас слотов и сколько нужно монет для покупки еще одного слота
    /darkruna slots buy - Купить слот
    /darkruna list - Отобразит список всех арен
    /darkruna money - Отобразит количество денег
    /darkruna join <Арена> - Присоединиться к арене. Пермит: darkruna.join.<арена>
    /darkruna leave - Выйти из текущей арены
    /darkruna start <Арена> - запустить арену. Пермит: darkruna.start.<арена>
    /darkruna stop <Арена> - остановит арену. Пермит: darkruna.stop.<арена>
    /darkruna create <Параметры> - создаст арену. Пермит: darkruna.create
    Пример: /darkruna create Name=MyArena AutoStart
    Параметры:
    Name - Имя арены. Обязательный параметр.
    AutoStart - запускать ли арену автоматически при старте\релоуде сервера
    AX, AY, AZ, BX, BY, BZ, World - Координаты арены.
    Координаты можно не указывать, если выделить арену с помощью WorldEdit​
    /darkruna kick <Игрок> - кикнет игрока из игры. Пермит: darkruna.kick.<арена>
    Алиас для команды /darkruna - /dr

     
    GrimJoy, Reedanger, AlexGL и 3 другим нравится это.

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