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

Помогите группы игроков

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

  1. TheZefirrkka

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

    Trophy Points:
    76
    Skype:
    RomaMamkinHasker1337
    Имя в Minecraft:
    TheZefirrkka
    upload_2017-1-4_22-34-24.png
    Тыкни меня носом в метод этот...
     
  2. Хостинг MineCraft
    <
  3. Fenix78563

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

    Trophy Points:
    76
    Имя в Minecraft:
    Blc_Dragon
    ахха точно. соре поцик. там где save замени на saveUserFile ( у меня есть еще метод save в этом полигоне, вот эклипс его и предложил, а я проморгал)
     
  4. Автор темы
    asdqwertypro

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

    Trophy Points:
    76
    Code:
    package test.main;
    
    import java.io.File;
    import java.util.Collection;
    
    import org.bukkit.configuration.file.YamlConfiguration;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.entity.PlayerDeathEvent;
    
    import net.md_5.bungee.api.ChatColor;
    import ru.tehkode.permissions.bukkit.PermissionsEx;
    
    public class EventListener implements Listener {
        private void updateKiller(Player killer) {
            plugin.econ.depositPlayer(killer, 100);
            killer.sendMessage("Вы убили киллера и получили 100$");
            YamlConfiguration killerconf = plugin.getUserConfig(killer);
            if (killerconf.getBoolean("killer")){
                killerconf.set("time", (int)killerconf.getInt("time")*0.2);
                killer.sendMessage("Т.к. вы тоже убийца то ваш срок был уменьшен на 20%");
                plugin.save(killerconf, new File(plugin.getDataFolder(), "userdata"+File.separator+killer.getName()));
            }
        }
    
    
        private void jailKilled(Player killed, int time) {
            Collection<String> jails = null;
            try {
                jails = plugin.ess.getJails().getList();
            } catch (Exception e) {
                e.printStackTrace();
            }
            if (jails==null) return;
            for (String s:jails){
                try {
                    plugin.ess.getUser(killed).setJail(s);
                    plugin.ess.getUser(killed).setJailTimeout(time*60*20);
                    killed.sendMessage("Вас поймали и посадили в тюрьму на срок "+ Integer.toString(time));
                    killed.sendMessage("Когда вас выпустят, с вас будут сняты все обвинения. Удачного времяпрепровождения ;)");
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
        private test plugin;
        public EventListener(test instance) {
            this.plugin = instance;
            }
        @EventHandler
        public void onDeath(final PlayerDeathEvent e) {
            Player killed = e.getEntity();
            Player killer = killed.getKiller();
            if (killer==null) return;
            YamlConfiguration killerconf = plugin.getUserConfig(killer);
            YamlConfiguration killedconf = plugin.getUserConfig(killed);
            if (killedconf.getBoolean("killer")){
                jailKilled(killed, killedconf.getInt("time"));
                killedconf.set("killer", "false");
                killedconf.set("time", 0);
                plugin.save(killedconf, new File(plugin.getDataFolder(), "userdata"+File.separator+killed.getName()));
                plugin.econ.depositPlayer(killer, 100);
                killer.sendMessage("Вы убили киллера поэтому его отправили в тюрьму");
                updateKiller(killer);
            }else{
                if (!killerconf.getBoolean("killer")) killer.sendMessage("Вы стали убийцей! Кровожадное животное!");
                else killer.sendMessage("Сколько можно лить крови? Бессердечная скотина! Тебе это припомнят, учти!");
                killerconf.set("killer", "true");
                killerconf.set("time", killerconf.getInt("time")+10);
                plugin.save(killerconf, new File(plugin.getDataFolder(), "userdata"+File.separator+killer.getName()));
            }  
        }
        }
     
  5. TheZefirrkka

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

    Trophy Points:
    76
    Skype:
    RomaMamkinHasker1337
    Имя в Minecraft:
    TheZefirrkka
    Фуф, а то я думал что у меня голова поплыла и я не вижу метода в 100 строках кода =)[DOUBLEPOST=1483558695,1483558643][/DOUBLEPOST]
    Метод меняй на save или save меняй на saveUserFile
     
  6. Fenix78563

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

    Trophy Points:
    76
    Имя в Minecraft:
    Blc_Dragon
    ага. там где подчеркнуто слов save меняем его на "saveUserFile"[DOUBLEPOST=1483558814,1483558741][/DOUBLEPOST] upload_2017-1-5_0-39-42.png
    А вот в этом месте главного класса добавляем магическю строчку:

    Bukkit.getPluginManager().registerEvents(new EventListener(this), this);

    а не то не сработает. и nullom сверху шандарахнет (нет, не шанедарахнет, слушатель не зареган, значит работать не буит вообще)
     
  7. Автор темы
    asdqwertypro

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

    Trophy Points:
    76
    вродь всё норм... я короче в гроб. завтра потолкуем)))
     
  8. Fenix78563

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

    Trophy Points:
    76
    Имя в Minecraft:
    Blc_Dragon
    типа спать что ли?
     
  9. TheZefirrkka

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

    Trophy Points:
    76
    Skype:
    RomaMamkinHasker1337
    Имя в Minecraft:
    TheZefirrkka
    Походу[DOUBLEPOST=1483559059,1483559026][/DOUBLEPOST]940 просмотров темы, да ладно...
     
  10. Fenix78563

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

    Trophy Points:
    76
    Имя в Minecraft:
    Blc_Dragon
    ждем 1337 просмотров
     
  11. TheZefirrkka

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

    Trophy Points:
    76
    Skype:
    RomaMamkinHasker1337
    Имя в Minecraft:
    TheZefirrkka
    Кстати, getNearbyEntities нельзя через локацию проверять =)
    Только через энтити Entity.getNearbyEntities();
    Но я по-другому сделал, 4 строки кода
     
  12. Fenix78563

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

    Trophy Points:
    76
    Имя в Minecraft:
    Blc_Dragon
    а я через getWorld как бы[DOUBLEPOST=1483559334,1483559224][/DOUBLEPOST]
    где ты это откопал вообще? я же убрал вроде как это еще до того как слил коды[DOUBLEPOST=1483559380][/DOUBLEPOST]
    world.getNearblЛеньПисатьНоТыПонял
     
  13. TheZefirrkka

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

    Trophy Points:
    76
    Skype:
    RomaMamkinHasker1337
    Имя в Minecraft:
    TheZefirrkka
    И вот так низя =)
     
  14. Fenix78563

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

    Trophy Points:
    76
    Имя в Minecraft:
    Blc_Dragon
    с фигов?[DOUBLEPOST=1483559535,1483559460][/DOUBLEPOST]https://hub.spigotmc.org/javadocs/b...(org.bukkit.Location, double, double, double)

    (это твоя многоходовочка? опять про доки затрешь? для пиара типа?)[DOUBLEPOST=1483559591][/DOUBLEPOST]
    и отвтеть на это плз. оч интересно.
     
  15. TheZefirrkka

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

    Trophy Points:
    76
    Skype:
    RomaMamkinHasker1337
    Имя в Minecraft:
    TheZefirrkka
    upload_2017-1-4_22-54-58.png [DOUBLEPOST=1483559834][/DOUBLEPOST]Сам попробуй =)
     
  16. slavik123123123

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

    Trophy Points:
    143
    Имя в Minecraft:
    Leymooooooooooo
    там есть такой метод. просто не юзай древние ядра.
     
  17. TheZefirrkka

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

    Trophy Points:
    76
    Skype:
    RomaMamkinHasker1337
    Имя в Minecraft:
    TheZefirrkka
    Сам попробуй =) я уже кое-как сделал, через получение всех мобов в мире и чек координат
     
  18. slavik123123123

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

    Trophy Points:
    143
    Имя в Minecraft:
    Leymooooooooooo
  19. Fenix78563

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

    Trophy Points:
    76
    Имя в Minecraft:
    Blc_Dragon
    upload_2017-1-5_0-58-53.png

    И где ты откопал у меня такие методы?
     
  20. TheZefirrkka

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

    Trophy Points:
    76
    Skype:
    RomaMamkinHasker1337
    Имя в Minecraft:
    TheZefirrkka
    1.8.8 Spigot, хмм
     
  21. Fenix78563

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

    Trophy Points:
    76
    Имя в Minecraft:
    Blc_Dragon
    когда мажор и решил усрать всё ОЗУ по п*зде
     

Share This Page