Помогите Консоль,игрок

Статус
Закрыто для дальнейших ответов.

Merkelris

Новичок
Пользователь
Баллы
21
К примеру хочу сделать смену режимов(гм),накалякал оно работает но.
1. У меня игрок сендер вот:
PHP:
Player p = (Player) sender;
Но я хочу чтоб и консоль могла изменять режим игрокам как и сами игроки
2. И второе когда я уже другому игроку даю к примеру креатив он выдается и мне.
смена режима у игроков
/gm 1 VasyaPupkin
говно код:
PHP:
Player target = Bukkit.getPlayer(args[1]);
        if (!sender.hasPermission("plugin.gamemode.change")) {
            sender.sendMessage(not_permission);
            return true;
        }   
        if (target == null) {
            sender.sendMessage(target.getName() + not_target);
            return true;
        }
        if (args[0].equalsIgnoreCase("0") || args[0].equalsIgnoreCase("s")) {
            target.setGameMode(GameMode.SURVIVAL);
            target.sendMessage(game_ppf);
        }
        else if (args[0].equalsIgnoreCase("1") || args[0].equalsIgnoreCase("c")) {
            target.setGameMode(GameMode.CREATIVE);
            target.sendMessage(game_ppf);
        }
        else if (args[0].equalsIgnoreCase("2") || args[0].equalsIgnoreCase("a")) {
            target.setGameMode(GameMode.ADVENTURE);
            target.sendMessage(game_ppf);
        }
        else if (args[0].equalsIgnoreCase("3") || args[0].equalsIgnoreCase("sp")) {
            target.setGameMode(GameMode.SPECTATOR);
            target.sendMessage(game_ppf);
        }
просто смена режима
/gm 1
опять говно код:
PHP:
Player p = (Player) sender;
        if (args[0].equalsIgnoreCase("0") || args[0].equalsIgnoreCase("s")) {
            p.setGameMode(GameMode.SURVIVAL);
            p.sendMessage(game_ppf);
        }
        else if (args[0].equalsIgnoreCase("1") || args[0].equalsIgnoreCase("c")) {
            p.setGameMode(GameMode.CREATIVE);
            p.sendMessage(game_ppf);
        }
        else if (args[0].equalsIgnoreCase("2") || args[0].equalsIgnoreCase("a")) {
            p.setGameMode(GameMode.ADVENTURE);
            p.sendMessage(game_ppf);
        }
        else if (args[0].equalsIgnoreCase("3") || args[0].equalsIgnoreCase("sp")) {
            p.setGameMode(GameMode.SPECTATOR);
            p.sendMessage(game_ppf);
        }
 
Код:
        if(sender instanceof Player && args.length == 1 && args[0].matches("^[0-3]{1}$")) {
            ((Player) sender).setGameMode(GameMode.getByValue(Integer.parseInt(args[0])));
            return true;
        }
        if(args.length == 2 && args[0].matches("^[0-3]{1}$")) {
            Player other = Bukkit.getPlayer(args[1]);
            if(other!=null) {
                other.setGameMode(GameMode.getByValue(Integer.parseInt(args[0])));
                return true;
            }
        }
        return false;
PHP:
        if(sender instanceof Player && args.length == 1 && args[0].matches("^[0-3]{1}$")) {
            ((Player) sender).setGameMode(GameMode.getByValue(Integer.parseInt(args[0])));
            return true;   
        }
        Player p = (Player) sender;
        if (args[0].equalsIgnoreCase("0")) {
            p.setGameMode(GameMode.SURVIVAL);
            p.sendMessage(game_ppf);
        }
        else if (args[0].equalsIgnoreCase("1")) {
            p.setGameMode(GameMode.CREATIVE);
            p.sendMessage(game_ppf);
        }
        else if (args[0].equalsIgnoreCase("2")) {
            p.setGameMode(GameMode.ADVENTURE);
            p.sendMessage(game_ppf);
        }
        else if (args[0].equalsIgnoreCase("3")) {
            p.setGameMode(GameMode.SPECTATOR);
            p.sendMessage(game_ppf);
        }
        if(args.length == 2 && args[0].matches("^[0-3]{1}$")) {
            Player other = Bukkit.getPlayer(args[1]);
            if(other!=null) {
                other.setGameMode(GameMode.getByValue(Integer.parseInt(args[0])));
            }
            if (args[0].equalsIgnoreCase("0")) {
                other.setGameMode(GameMode.SURVIVAL);
                other.sendMessage(game_ppf);
            }
            else if (args[0].equalsIgnoreCase("1")) {
                other.setGameMode(GameMode.CREATIVE);
                other.sendMessage(game_ppf);
            }
            else if (args[0].equalsIgnoreCase("2")) {
                other.setGameMode(GameMode.ADVENTURE);
                other.sendMessage(game_ppf);
            }
            else if (args[0].equalsIgnoreCase("3")) {
                other.setGameMode(GameMode.SPECTATOR);
                other.sendMessage(game_ppf);
            }
        }
        return true;
       }

}
?
 
Вот фулл код, аналог того с шапки, кроме прав и сообщений.

PHP:
        if(args.length==0) return false;
        String s = args[0].toLowerCase().replace("sp", "3").replace("s", "0").replace("c", "1").replace("a", "2");
        if(sender instanceof Player && args.length == 1 && s.matches("^[0-3]{1}$")) {
            ((Player) sender).setGameMode(GameMode.getByValue(Integer.parseInt(s)));
            return true;
        }
        if(args.length == 2 && s.matches("^[0-3]{1}$")) {
            Player other = Bukkit.getPlayer(args[1]);
            if(other!=null) {
                other.setGameMode(GameMode.getByValue(Integer.parseInt(s)));
                return true;
            }
        }
        return false;
 
Спасибо ОГРОМНОЕ я уж думал(да нечего я не думал).
Тема закрыта.Ответ сверху
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх