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

Помогите Не работает код

Discussion in 'Разработка плагинов для новичков' started by sasha2003, Feb 25, 2017.

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

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

    Trophy Points:
    76
    Помогите! Написал код, который при наличии права выдаёт больший шанс получения предмета при ломании блока, чем без права. Но возникла проблема... Предмет выдаётся при ломании каждого блока.


    Нужно чтобы рандомилось...

    Гляньте:


    Code:
        @EventHandler
        public void on(BlockBreakEvent e)
        {
            Player p = e.getPlayer();
            if (p.hasPermission("boostkey.1.0")) {
                {
                    int percent = rnd.nextInt(210);
                   
                    if(percent == 73);
                    {
                        ItemStack book = new ItemStack(Material.GHAST_TEAR);
                        ItemMeta meta = book.getItemMeta();
                        meta.setDisplayName(ChatColor.GREEN + "Ключ");
                        @SuppressWarnings("rawtypes")
                        List<String> lore = new ArrayList();
                        lore.add(ChatColor.BLACK + "key");
                        meta.setLore(lore);
                        book.setItemMeta(meta);
                       
                        p.getInventory().addItem(new ItemStack(book));
                        p.sendMessage(ChatColor.GOLD + "Вы нашли ключ");
                    }
                }
            }
            if (p.hasPermission("boostkey.1.5")) {
                {
                    int percent = rnd.nextInt(160);
                   
                    if(percent == 21);
                    {
                        ItemStack book = new ItemStack(Material.GHAST_TEAR);
                        ItemMeta meta = book.getItemMeta();
                        meta.setDisplayName(ChatColor.GREEN + "Ключ");
                        @SuppressWarnings("rawtypes")
                        List<String> lore = new ArrayList();
                        lore.add(ChatColor.BLACK + "key");
                        meta.setLore(lore);
                        book.setItemMeta(meta);
                       
                        p.getInventory().addItem(new ItemStack(book));
                        p.sendMessage(ChatColor.GOLD + "Вы нашли ключ. Шанс: " + ChatColor.RED + "1.5%");
                    }
                }
            }
           
        }
    }
            
     
  2. Хостинг MineCraft
    <
  3. Автор темы
    sasha2003

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

    Trophy Points:
    76
  4. Jonny462

    Jonny462 Участник Пользователь

    Trophy Points:
    36
    Имя в Minecraft:
    Jonny462
    Если тебе повезло и выпал предмет, то должен выпадать сам блок?
     
  5. Автор темы
    sasha2003

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

    Trophy Points:
    76
    Да[DOUBLEPOST=1488015012,1488009669][/DOUBLEPOST]Up
     
  6. VeryNothing

    VeryNothing Новичок Пользователь Заблокирован

    Trophy Points:
    21
    Имя в Minecraft:
    null
    Кому-то варн дадут, апать тему можно только одн раз в 7 дней
     
  7. Автор темы
    sasha2003

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

    Trophy Points:
    76
    Помогите!!!
     
  8. Jonny462

    Jonny462 Участник Пользователь

    Trophy Points:
    36
    Имя в Minecraft:
    Jonny462
    Странно, как то, что у тебя выдаётся предмет каждый раз, т.к не может быть что Random регенерирует одно и тоже число всегда.
     
  9. Автор темы
    sasha2003

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

    Trophy Points:
    76
    Скорее всего неправильно написан рандом[DOUBLEPOST=1488025205,1488025170][/DOUBLEPOST]

    Писал на скорую руку[DOUBLEPOST=1488025489][/DOUBLEPOST]А можно через запятую написать несколько чисел, при которых будет выполняться команда?
     
  10. Jonny462

    Jonny462 Участник Пользователь

    Trophy Points:
    36
    Имя в Minecraft:
    Jonny462
    Вы спрашиваете про IF?
     
  11. KobaltMr

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

    Trophy Points:
    88
    Skype:
    mr.dill9
    Ммм, и где это написано?
     
  12. Автор темы
    sasha2003

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

    Trophy Points:
    76
    уже не важно. мне только нужно знать где в коде я ошибься!
     
  13. Автор темы
    sasha2003

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

    Trophy Points:
    76
    Это работает.
    Мне нужно понять где я совершил ошибку в РАНДОМЕ!!!
     
  14. Автор темы
    sasha2003

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

    Trophy Points:
    76
    Мне при ломании каждого блока даётся предмет
     
  15. Автор темы
    sasha2003

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

    Trophy Points:
    76
    Спасибо! Проблема в синтаксисе! Мне бы сделать так, чтобы этот предмет не выпаал при ломании блока листвы
     
  16. Автор темы
    sasha2003

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

    Trophy Points:
    76
    Мне бы сделать так, чтобы этот предмет не выпаал при ломании блока листвы
     
  17. Автор темы
    sasha2003

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

    Trophy Points:
    76
    Ну да, торможу...[DOUBLEPOST=1488034029,1488033874][/DOUBLEPOST]
    Code:
    public void on(BlockBreakEvent e) {
            Player p = e.getPlayer();
            if (p.hasPermission("boostkey.1.0")) {
                    int percent = rnd.nextInt(210);
                    if(percent == 73) {
                        if(!(e.getBlock().getType() == Material.LEAVES)) {
                            ItemStack book = new ItemStack(Material.GHAST_TEAR);
                            ItemMeta meta = book.getItemMeta();
                            meta.setDisplayName(ChatColor.GREEN + "Ключ");
                            @SuppressWarnings("rawtypes")
                            List<String> lore = new ArrayList();
                            lore.add(ChatColor.BLACK + "key");
                            meta.setLore(lore);
                            book.setItemMeta(meta);
                       
                            p.sendMessage(ChatColor.GOLD + "Вы нашли ключ");
                            p.getInventory().addItem(new ItemStack(book));
                        }
                    }
                }


    Так?????
     
  18. Jonny462

    Jonny462 Участник Пользователь

    Trophy Points:
    36
    Имя в Minecraft:
    Jonny462
    Мне интересно стало, а почему всё таки код не работал?
     
  19. Автор темы
    sasha2003

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

    Trophy Points:
    76
    Из-за синтаксиса
     
  20. Jonny462

    Jonny462 Участник Пользователь

    Trophy Points:
    36
    Имя в Minecraft:
    Jonny462
    Строчка?
     
  21. Автор темы
    sasha2003

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

    Trophy Points:
    76
    Да[DOUBLEPOST=1488044376,1488044333][/DOUBLEPOST]
    Не подскажешь, как через Vault снимать с игрока деньги?
    В плагине!
     

Share This Page