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

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

Discussion in 'Руководства, инструкции, утилиты' started by MrShadow, Sep 5, 2013.

?

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

  1. Да

    5 vote(s)
    62.5%
  2. Нет

    0 vote(s)
    0.0%
  3. Бред

    3 vote(s)
    37.5%
  1. Автор темы
    MrShadow

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

    Trophy Points:
    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 описаны функции. На этом мой туториал закончен. Удачи в применении данного скрипта.
     

    Attached Files:

  2. Хостинг MineCraft
    <
  3. Автор темы
    MrShadow

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

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

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

    Trophy Points:
    153
    Skype:
    dpohvar
    аналог этого безобразия, написанный на груви
    Code:
    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()
    Code:
    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 and nVidia.1994 like this.

Share This Page