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

В разработке [WarForFlag] Захват флага.

Тема в разделе "Разработка плагинов для новичков", создана пользователем Mr_RoboMan, 26 фев 2015.

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

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

    Баллы:
    123
    Блин, Вы думаете от этого решиться проблема?..
     
  2. Хостинг MineCraft
    <
  3. Sirse

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

    Баллы:
    173
    Имя в Minecraft:
    Sirse
    Условие и в Африке условие, и если код выполняется, значит выполнялось и условие.
    Добавьте вывод отладочной информации в консоль, и посмотрите значения ваших переменных.
     
  4. Автор темы
    Mr_RoboMan

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

    Баллы:
    123
    Эх, буду делать, но завтра...
     
  5. CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Попробуй взять и, понимая алгоритм, с нуля переписать код.
     
  6. Автор темы
    Mr_RoboMan

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

    Баллы:
    123
    По вашему способу, это мне и локации флагов надо в String делать?...[DOUBLEPOST=1425212378,1425211142][/DOUBLEPOST]УРА, заработало... Правда как-то оно совсем не правильно, Location в String..
     
    Последнее редактирование: 1 мар 2015
  7. CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Ну так можно и без String, просто сравнивать каждую из трех координат.
     
  8. Автор темы
    Mr_RoboMan

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

    Баллы:
    123
    Еще хуже как по мне, ну ладно, и так сойдет)[DOUBLEPOST=1425309677,1425217417][/DOUBLEPOST]
    Код:
        @Override
        public void onEnable()
        {
            Collections.addAll(unSeenBlocks, (byte) 8, (byte) 9, (byte) 10, (byte) 11);
            getServer().getPluginManager().registerEvents(this, this);
    
            locationOfRedFlag = new Location(Bukkit.getWorld((String) config.get("Location.RedFlag.World")), (Double) config.get("Location.RedFlag.X"), (Double) config.get("Location.RedFlag.Y"), (Double) config.get("Location.RedFlag.Z"));
            locationOfRedFlag.getBlock().setTypeIdAndData(35, (byte) 14, true);
    
            locationOfBlueFlag = new Location(Bukkit.getWorld((String) config.get("Location.BlueFlag.World")), (Double) config.get("Location.BlueFlag.X"), (Double) config.get("Location.BlueFlag.Y"), (Double) config.get("Location.BlueFlag.Z"));
            locationOfBlueFlag.getBlock().setTypeIdAndData(35, (byte) 11, true);
    
            locationOfGreenFlag = new Location(Bukkit.getWorld((String) config.get("Location.GreenFlag.World")), (Double) config.get("Location.GreenFlag.X"), (Double) config.get("Location.GreenFlag.Y"), (Double) config.get("Location.GreenFlag.Z"));
            locationOfGreenFlag.getBlock().setTypeIdAndData(35, (byte) 5, true);
    
            locationOfYellowFlag = new Location(Bukkit.getWorld((String) config.get("Location.YellowFlag.World")), (Double) config.get("Location.YellowFlag.X"), (Double) config.get("Location.YellowFlag.Y"), (Double) config.get("Location.YellowFlag.Z"));
            locationOfYellowFlag.getBlock().setTypeIdAndData(35, (byte) 4, true);
        }
    
    И снова здрасти. Как проверить существования чего-то в конфиге? Мне надо чтоб координаты флагов загружались только если они в конфиге уже есть!
     
  9. Den_Abr

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

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Метод isSet()
     
  10. Автор темы
    Mr_RoboMan

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

    Баллы:
    123
    Спасиб :D[DOUBLEPOST=1425965079,1425311489][/DOUBLEPOST]UPD.

    Уже дошло у меня до Создание арены

    Допустим у меня есть 2 локации блоков, ну т.е. Location либо X, Y, Z в общем все-что надо.
    Мне надо работать с кубоидом.
    Ну например отменить событие ломания блока, или еще что-то если блок находиться в кубоиде?
    Тут скорее математика, чем Bukkit но у меня и с тем и с тем плоховато :D
    Как можно определить, находиться ли блок внутри этого кубоида?
     
  11. kirill2011s

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

    Баллы:
    103
    http://www.rubukkit.org/threads/dev-mathpluginslib-v1-0-matematika-dlja-plaginov-1-0.85221/
     
  12. Автор темы
    Mr_RoboMan

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

    Баллы:
    123
    Спасибо :D[DOUBLEPOST=1426480474,1426480401][/DOUBLEPOST]И теперь довольно сложный вопрос. Как УДАЛИТЬ что либо из конфига? Искал методы, но ничего связанного с DELETE/REMOVE не нашел. Или же это надо каким-то другим способом замутить?..
     
  13. Den_Abr

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

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    config.set(путь, null)
     
  14. Автор темы
    Mr_RoboMan

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

    Баллы:
    123
    А разве это все полностью удалит?
    Ну к примеру у меня конфиг такой:
    Код:
        Блабла:
            Блабла:
                БлаблаБлабла: 42
    
    Разве не останется:
    Код:
        Блабла:
            Блабла:
                БлаблаБлабла:
    
    ?[DOUBLEPOST=1426483184,1426483069][/DOUBLEPOST]Мне же как-бы и "путь" к данным надо удалить.
     
  15. Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    config.set("Блабла", null)
     
  16. Den_Abr

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

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Читайте документацию
    Если нужно удалять всю секцию, значит ей и надо сетить нулл
     
  17. Автор темы
    Mr_RoboMan

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

    Баллы:
    123
    Тогда спасибо :D[DOUBLEPOST=1426616881,1426513026][/DOUBLEPOST]Ругается на все переменные кроме team типо "они использованы, но к ним нет доступа", в чем может быть проблема?
    Код:
        @Override
        public void onEnable()
        {
            this.config = getConfig();
            //Реализовать загрузку арен с конфига.
            for (int get = 1; get <= 16; get++)
            {
                if (config.isSet(helper.getStringTeam(get) + ".Arena"))
                {
                    String team = helper.getStringTeam(get);
                    String worldOne, worldTwo, worldFlag, worldSpawn;
                    int xOne, xTwo, xFlag, xSpawn;
                    int yOne, yTwo, yFlag, ySpawn;
                    int zOne, zTwo, zFlag, zSpawn;
                    worldOne = config.getString(team + ".Arena.OnePosition.World");
                    xOne = config.getInt(team + ".Arena.OnePosition.X");
                    yOne = config.getInt(team + ".Arena.OnePosition.Y");
                    zOne = config.getInt(team + ".Arena.OnePosition.Z");
                    worldTwo = config.getString(team + ".Arena.TwoPosition.World");
                    xTwo = config.getInt(team + ".Arena.TwoPosition.X");
                    yTwo = config.getInt(team + ".Arena.TwoPosition.Y");
                    zTwo = config.getInt(team + ".Arena.TwoPosition.Z");
                    worldFlag = config.getString(team + ".Arena.FlagPosition.World");
                    xFlag = config.getInt(team + ".Arena.FlagPosition.X");
                    yFlag = config.getInt(team + ".Arena.FlagPosition.Y");
                    zFlag = config.getInt(team + ".Arena.FlagPosition.Z");
                    worldSpawn = config.getString(team + ".Arena.SpawnPosition.World");
                    xSpawn = config.getInt(team + ".Arena.SpawnPosition.X");
                    ySpawn = config.getInt(team + ".Arena.SpawnPosition.Y");
                    zSpawn = config.getInt(team + ".Arena.SpawnPosition.Z");
                }
            }
        }
    
     
  18. Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Ну попробуй убери int xOne, xTwo, xFlag, ...
    Сразу определяй им значения: int xOne = config.getInt(...
    Приведи ошибку дословно.
     
  19. Автор темы
    Mr_RoboMan

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

    Баллы:
    123
  20. Автор темы
    Mr_RoboMan

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

    Баллы:
    123
    А то что я указую ей значение, это не означает что я ее использую?..
     
  21. Den_Abr

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

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Нет, ты просто присваиваешь ей значение.
     

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