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

Плагин [ FUN ] Troll 1.7 | Достал игрок или нечего делать? Веселись :)

Тема в разделе "Неподтвержденные плагины", создана пользователем Qmaks, 21 май 2014.

  1. Автор темы
    Qmaks

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

    Баллы:
    173
    Имя в Minecraft:
    Qmaks
    [​IMG]
    Представляю плагин Troll
    Скрин:
    [​IMG]
    Команды и права:
    /troll help | troll.trollhelp | Показать все команды

    /burn [игрок] | troll.burn | Зажечь игрока
    /freeze [игрок] | troll.freeze | Заморозить игрока
    /bolt [игрок] | troll.bolt | Ударить молнией игрока
    /special | troll.special | troll.ak47 | troll.grenade | Получить AK-47 и Гранату
    /fakeop [игрок] | troll.fakeop | Дать фейковый "OP" игроку
    /fakedeop [игрок] | troll.fakedeop | Забрать фейковый "OP" у игрока
    /launch [игрок] | troll.launch | Запустить игрока вверх
    /spam [игрок] | troll.spam | Заспамить игрока
    /trollkick [игрок] | troll.trollkick | "Кикнуть" игрока
    /badapple [игрок] | troll.badapple | Дать тролл яблоко игроку
    /boom [игрок] | troll.boom | Взорвать игрока
    /push [игрок] | troll.push | Подкинуть игрока
    /gokill [игрок] [время] | troll.gokill | Убить игрока через определённое время
    /switch [игрок] [игрок] | troll.switch | Переместить игрока к другому
    /denymove [игрок] [время] | troll.denymove | Обездвижить игрока на время
    /potatotroll [игрок] | troll.potatotroll | Заменить все вещи в инвентаре картошкой
    [​IMG]

    Прошу ставить "Мне нравиться", а не только писать коменты)
     
    Последнее редактирование: 21 май 2014
    maligos123, DarkOne, Laster и 8 другим нравится это.
  2. makssof

    makssof Старожил Девелопер Пользователь

    Баллы:
    103
    1) Убери подчёркивания. Хотя бы в [ командах | пермах | описании ]
    2)
    Код:
    if(Bukkit.getPlayer(p).isOnline()){
        /*...*/
    }
    else{
        sender.sendMessage("");
    }
    Лучше замени на
    Код:
    if(!Bukkit.getPlayer(p).isOnline()){
        sender.sendMessage("");
        return false;
    }
    /*...*/
    3)
    Код:
    if(!(sender instanceof Player)){
        return true;
    }
    if(sender instanfeof Player){
        /*...*/
    }
    Этого я вообще не понимаю...
    Если отправитель не Игрок, то в первом ИФе ты выходишь из действия ( return true; ). Зачем делать ещё одну проверку на Игрока, если она (проверка) даже не будет осуществляться по причине, описанной выше.
    Код:
    if(!(sender instanceof Player)){ return false; }
    /*...*/
    4)
    Код:
    p.setFireTicks(1000000000);
    ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
    Код:
    p.setFireTicks(Integer.MAX_VALUE);
    5) Ты вообще проверял свой плагин?
    При обработке команды ты объявляешь и инициализируешь переменную
    Код:
    Player p = (Player) sender;
    а потом ты фризишь, убиваешь и т.д. игрока КОТОРЫЙ ВВЁЛ КОМАНДУ а не который указан в аргументах:
    Код:
    p.sendMessage("§f[§cTroll§f] §6Тебя заморозили!");
    p.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, 2400, 2));
    /*...*/
    p.sendMessage("§f[§cTroll§f] §6Тебя ударили молнией!");
    Location loc1 = p.getLocation();
    p.getLocation().getWorld().strikeLightning(loc1);
    6)
    Код:
    Player target = getServer().getPlayer(args[0]);
    p.sendMessage("§f[§cTroll§f] §6Тебя зажег " + ChatColor.GREEN + target.getName());
    Тут я вообще молчу...

    А дальше мне писать лень. :)
     
    Gentalion, Hilgert, Dereku и ещё 1-му нравится это.
  3. Автор темы
    Qmaks

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

    Баллы:
    173
    Имя в Minecraft:
    Qmaks
    Пристал....
     
    ПриветОтЛайки нравится это.
  4. MegaFlary

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

    Баллы:
    153
    Не пристал, а указал на глупые ошибки.
     
    Hilgert и makssof нравится это.
  5. makssof

    makssof Старожил Девелопер Пользователь

    Баллы:
    103
    Особенно №5 в моём списке. Это критическая ошибка. Если он на себе проверял все команды, то будет работать конечно, а если в аргументах указал другого игрока... Тут то и будет "веселье"...
    Что за "веселье"?
    Пример №1:
    Я один на сервере. Ввёл, к примеру, команду [/freeze Notch]. Идёт проверка [if ( Bukkit.getPlayer("Notch").isOnline() ) ]. Так как Нотч никогда небыл на этом сервере, то в консоле мы увидим ексцепшн. Почему? Да потому что getPlayer() получает файл игрока, который БЫЛ на сервере ХОТЯ БЫ ОДИН РАЗ.
    Пример №2:
    Каким то невероятным чудом является то, что Нотч на сервере! Я ввожу команду [/freeze Notch]. Идёт всё та же проверка, и подтверждается то, что Нотч онлайн. Что дальше? А дальше по идее Нотчу должны были наложится эффекты. Но хрен там был! Они наложились какого то фига на меня, и мне ещё пришло сообщение "Тебя заморозили!"... Это что получается, я сам себя заморозил?!

    ------------------

    P.S. Если, к примеру, самозамораживание и является целью плагина (Как бЭ троллинг), то, автор, извини за недопонимание. Хотя, я в этом сомневаюсь...
     
    Denscore нравится это.
  6. Автор темы
    Qmaks

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

    Баллы:
    173
    Имя в Minecraft:
    Qmaks
    Ненормативная лексика не допустима на форуме.
    --------------------------------------------------------
    Закрываю тему, редактировать буду при обновлениях.
    --------------------------------------------------------.
    ~UP~
    -=-=UP=-=-
    Эт был не совсем мой плагин, так что по поводу говнокода на меня не крякайте xD
     
    Последнее редактирование: 1 фев 2015
    ПриветОтЛайки, DarkOne и Egor33345 нравится это.
  7. KiberAndy

    KiberAndy Новичок Пользователь

    Баллы:
    6
    Skype:
    andrei.monakhov98
    Potatotroll не работает, исправь
     
  8. Rider3217

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

    Баллы:
    98
    Имя в Minecraft:
    Planet0111
    Бедный Qmaks... Они тебя сожрать хотят))
    Ну а вообще годные советы дали!(Но у меня бы горело на них)
     

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