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

Туториал [VarScript] DanceFloor

Тема в разделе "Руководства, инструкции, утилиты", создана пользователем MrShadow, 5 сен 2013.

?

Понадобилось/понадобится ли вам

  1. Да

    5 голосов
    62,5%
  2. Нет

    0 голосов
    0,0%
  3. Бред

    3 голосов
    37,5%
  1. Автор темы
    MrShadow

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

    Баллы:
    103
    Skype:
    X-line02
    [VarScript]DanceFloors
    разработчики MrShadow и DPOH-VAR
    =================================================================
    Суть скрипта: танцевальный пол :)
    ===================================================================
    Как подключить:
    1) Скачиваем модуль Select.vs тык - это дает нам выделение блоков.
    2) Скачиваем модуль DanceFloors.vs тык - это модуль для создания самого пола.
    3) Файлы Select.vs и DanceFloors.vs переместить в папку вашСервер/plugins/VarScript/scripts/vs/modules/
    Внимание! На сервере должен быть установлен плагин VarScript версии 0.5.5 и выше
    Если у вас нету папки modules, то создайте ее.
    Как включить:​
    1) Когда все перекинули, заходим на сервер.
    2) Ищем подходящее для вас место
    3) Ставим блоки вот так:
    [​IMG]
    4) Прописываем в чате /> sb sb BOX %area, и потом у нас есть ~10 секунд чтобы выделить угловые блоки нашего танцпола.
    Что мы сделали?
    Этой командой мы выделили область, в которой будет расположена танцплощадка. Эта область сохранена в переменную area
    Вопрос №1: Почему мы прописали 2 раза sb?
    Ответ: в данном случаи нам надо сделать выделение в форме BOX
    5) Далее прописываем команду /> @area @DanceFloors:create %floor1 Разъяснение:​
    Этой командой из области area (которую мы недавно выбрали) - мы делаем танцпол и сохраняем его в переменную floor1​
    6) Прописываем команду /> @area:{35 SETBLOCKID}
    Разъяснение:
    Эта команда заполнит выделенную область блоками шерсти
    @area - наш регион в котором будет танцплощадка
    35 - айди (id) блока которым мы заполним наш выделенный квадрат (35 - шерсть)
    SETBLOCKID - каждый блок в нашем регионе (area) делает из шерсти.
    7) Итак с созданием нашего танцпола закончили. Теперь давайте запустим его. Для это нужно ввести команду /> @floor1:start
    Чтобы изменить время спустя которое будет меняться цвет пола, пропишите /> 20 @floor1.>period Время измеряется в ТИКАХ, чтобы увеличить или уменьшить время просто замените число 20 на свое.
    Захотели остановить танцевальню? Наши ноженьки устали? :) Прописываем /> @floor1:stop
    -------------------------------------------------------------------------------------------------------------
    Вот и все, в файле DanceFloors.vs описаны функции. На этом мой туториал закончен. Удачи в применении данного скрипта.
     

    Вложения:

    • block.png
      block.png
      Размер файла:
      38,4 КБ
      Просмотров:
      203
    WalpeR, Сникерсни, ARHIGOD и ещё 1-му нравится это.
  2. Хостинг MineCraft
    <
  3. Автор темы
    MrShadow

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

    Баллы:
    103
    Skype:
    X-line02
    Мдам, походу это никому не надо...
     
  4. DPOH-VAR

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

    Баллы:
    153
    Skype:
    dpohvar
    аналог этого безобразия, написанный на груви
    Код:
    class DanceFloor{
        private List odd;
        private List even;
        public DanceFloor(List blocks){
            odd = blocks.findAll{ (it.x+it.y+it.z)%2==1 };
            even = blocks.clone();
            even.removeAll(odd);
        }
        public void next(){
            int a = Math.random() * 16;
            int b = Math.random() * 16;
            odd.findAll{ it.typeId > 0 }.each{ it.typeId = 35; it.data = a };
            even.findAll{ it.typeId > 0 }.each{ it.typeId = 35; it.data = b };
        }
    }
    [DOUBLEPOST=1378839790,1378837736][/DOUBLEPOST]И чуть посложнее версия, с методами start() и stop()
    Код:
    class DanceFloor{
        private List odd;
        private List even;
        public int period = 10;
        private static def program;
        public def trigger;
        public DanceFloor(blocks){
            blocks = blocks as List;
            odd = blocks.findAll{ (it.x+it.y+it.z)%2==1 };
            even = blocks.clone();
            even.removeAll(odd);
        }
        public void next(){
            int a = Math.random() * 16;
            int b = Math.random() * 16;
            odd.findAll{ it.typeId > 0 }.each{ it.typeId = 35; it.data = a };
            even.findAll{ it.typeId > 0 }.each{ it.typeId = 35; it.data = b };
        }
        public start(){
            if(trigger!=null) return;
            trigger = program.everyTicks({ next() },period);
        }
        public stop(){
            if(trigger==null) return;
            trigger.stop();
            trigger = null;
        }
    }
    DanceFloor.program = program;
    program.onSleep();
     
    HoShiMin и nVidia.1994 нравится это.

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