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

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

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

  1. xDark

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

    Trophy Points:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    На странице Vault все написано.
    [​IMG]
    [DOUBLEPOST=1488048585][/DOUBLEPOST]EconomyResponse response = economy.withrawMoney(name, amount);
    if (!response.isTransactionSuccess()) {
    // ошибка
    }
     
  2. Хостинг MineCraft
    <
  3. Автор темы
    sasha2003

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

    Trophy Points:
    76
    Спасибо огромное!
     
  4. alexandrage

    alexandrage Администратор

    Trophy Points:
    173
    Skype:
    alexandr0116
    Ты все перепутал

    1. Main.econ.withdrawPlayer(Игрок, сумма); - снять
    2. Main.econ.depositPlayer(Игрок сумма); - добавить
     
  5. Jonny462

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

    Trophy Points:
    36
    Имя в Minecraft:
    Jonny462
    Хватит удалять сообщения, если тебя цитировали. Не красиво так тема выглядит.
     
  6. Lisenochek

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

    Trophy Points:
    76
    Имя в Minecraft:
    Lisenochek
    Таки шо тут у нас:

    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));
                        }
                    }
                }
    Ага, давайте искать говнокод:
    Бля, без комментариев...
    Code:
                    int percent = rnd.nextInt(210);
                    if(percent == 73) {
    Бля, зачем постоянно создавать стак:
    Code:
    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);
    Интересно, о чем думал автор, который создал уже стак, но при добавлении объявляет новый:
    Code:
    p.getInventory().addItem(new ItemStack(book));

    Либо я тупой, либо автор сверхразум.
     
  7. IcedwinterZ

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

    Trophy Points:
    76
    Имя в Minecraft:
    IcedwinterZ
    Соре, а чем тебе рандом не нравится?
     
  8. Bohdan_Hrytsak

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

    Trophy Points:
    76
    Имя в Minecraft:
    NegaTiV
    ну а зачем переменую создавать ?
    Code:
    if(rnd.nextInt(210)==73)
    
     
  9. IcedwinterZ

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

    Trophy Points:
    76
    Имя в Minecraft:
    IcedwinterZ
    А что, сильно роль играет?
     
  10. Bohdan_Hrytsak

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

    Trophy Points:
    76
    Имя в Minecraft:
    NegaTiV
    Сервер на байт менше памяти жрать будет.
     
  11. IcedwinterZ

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

    Trophy Points:
    76
    Имя в Minecraft:
    IcedwinterZ
    Это восхитительно! А стоило ли об этом говорить как о гавнокоде?
     
  12. Dereku

    Dereku Старожил

    Trophy Points:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Хех)))
    Code:
    private final List<Material> denied = Arrays.asList(new Material[]{Material.LEAVES});
    private final ItemStack itemStackKey = new ItemStack(Material.GHAST_TEAR) {
        {
            ItemMeta itemMeta = itemStackKey.getItemMeta();
            itemMeta.setDisplayName(ChatColor.GREEN + "Ключ");
            itemMeta.setLore(Arrays.asList(new String[]{ChatColor.BLACK + "key"}));
            itemStackKey.setItemMeta(itemMeta);
        }
    };
    
    @EventHandler
    public void on(BlockBreakEvent e) {
        Player p = e.getPlayer();
        if (denied.contains(e.getBlock().getType())) {
            return;
        }
        if (p.hasPermission("boostkey.1.0") && rnd.nextInt(210) == 73) {
            p.getInventory().addItem(itemStackKey.clone());
            p.sendMessage(ChatColor.GOLD + "Вы нашли ключ");
        }
        if (p.hasPermission("boostkey.1.5") && rnd.nextInt(160) == 21) {
            p.getInventory().addItem(itemStackKey.clone());
            p.sendMessage(ChatColor.GOLD + "Вы нашли ключ. Шанс: " + ChatColor.RED + "1.5%");
        }
    }
    Скорее первое. К тому же, нет в его коде дикого говна (хоть и точка с запятой после ифов позабавила, но тут сказывается отсутствие опыта в погромировании на жабке) - лишь индусские дебри, которые, повторюсь, из-за отсутствия опыта в погромировании на жабке.
     
    Last edited: Mar 1, 2017
  13. Blc_Dragon

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

    Trophy Points:
    76
    Имя в Minecraft:
    Blc_Dragon
    я все еще не понимаю, зачем в рандоме используется проверка на равенство
     
  14. CoolBoy

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

    Trophy Points:
    96
    Skype:
    thecoolboy2070
    Имя в Minecraft:
    CoolBoy
    Плюсик сюда. Шанс можно легче организовать.
     
  15. Blc_Dragon

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

    Trophy Points:
    76
    Имя в Minecraft:
    Blc_Dragon
    для великих рандомайзеров.

    int num = rnd.nextInt(100);

    if (num<=21) то шанс 21%
    if (num<=75) то шанс 75%
     
  16. IcedwinterZ

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

    Trophy Points:
    76
    Имя в Minecraft:
    IcedwinterZ
    щас лисеночек скажет что это гавнокод ибо ты инициализируешь переменную
     
  17. alexandrage

    alexandrage Администратор

    Trophy Points:
    173
    Skype:
    alexandr0116
    Это как раз таки разумный подход, ибо юзается в 2х местах. Хотя скажу вам по секрету, в бинарнике все равно будет как минимум одна переменная.[DOUBLEPOST=1488377481,1488377322][/DOUBLEPOST]А если вы тревожитесь по поводу размера, всегда есть обфускаторы кода, где вам оптимизируют переменные до вида a b c d .
     
  18. IcedwinterZ

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

    Trophy Points:
    76
    Имя в Minecraft:
    IcedwinterZ
    Так я и говорю, что инициализировать плохо - бред
     
  19. CoolBoy

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

    Trophy Points:
    96
    Skype:
    thecoolboy2070
    Имя в Minecraft:
    CoolBoy
    Бывают рандомы, которые сначала инициализируют 10 переменных, а потом юзают их в евенте. Это - быдлокод.
    Инициализация переменных только перед непосредственным использованием. Ну и создавать переменную для использования в одном месте тоже глупо, если код исполняется часто. :)
     
  20. IcedwinterZ

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

    Trophy Points:
    76
    Имя в Minecraft:
    IcedwinterZ
    Code:
    int percent = rnd.nextInt(210);
                    if(percent == 73) {
    
    Так это гавнокод или что?
     
  21. Blc_Dragon

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

    Trophy Points:
    76
    Имя в Minecraft:
    Blc_Dragon
    несомненно говнокод, только говнокод он не из-за инициализации переменной, а из-за того, что шанс того, что этот if будет true = 0,47%, т.е. очень низкий
     

Share This Page