MrKawaii 0 Опубликовано 26 февраля, 2014 Можно ли как нибудь реализовать, чтобы например админ игроки могли использовать команду а обычные игроки нет? Допустим команда .online Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Demoncool 1110 Опубликовано 26 февраля, 2014 да можно Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
MrKawaii 0 Опубликовано 26 февраля, 2014 да можно Можно где-нибудь почитать об этом? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Demoncool 1110 Опубликовано 26 февраля, 2014 package scripts.commands.admincommandhandlers; import scripts.commands.IAdminCommandHandler; import net.sf.l2j.gameserver.model.L2World; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; public class Online implements IAdminCommandHandler { private static final String[] ADMIN_COMMANDS = { "admin_online" }; private static final int REQUIRED_LEVEL = Config.GM_ONLINE; private static final String[] VOICED_COMMANDS = { "online" }; public boolean useAdminCommand(String command, L2PcInstance adm) { if ((!Config.ALT_PRIVILEGES_ADMIN) && (!checkLevel(adm.getAccessLevel()))) { return false; } if (command.equalsIgnoreCase("online")) { player.sendMessage("Players online^ "+L2World.getInstance().getAllPlayers().size()"); } return true; } public String[] getAdminCommandList() { return ADMIN_COMMANDS; } private boolean checkLevel(int level) { return level >= REQUIRED_LEVEL; } } примерно так, может что-то не правильно. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
MrKawaii 0 Опубликовано 27 февраля, 2014 (изменено) package scripts.commands.admincommandhandlers; import scripts.commands.IAdminCommandHandler; import net.sf.l2j.gameserver.model.L2World; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; public class Online implements IAdminCommandHandler { private static final String[] ADMIN_COMMANDS = { "admin_online" }; private static final int REQUIRED_LEVEL = Config.GM_ONLINE; private static final String[] VOICED_COMMANDS = { "online" }; public boolean useAdminCommand(String command, L2PcInstance adm) { if ((!Config.ALT_PRIVILEGES_ADMIN) && (!checkLevel(adm.getAccessLevel()))) { return false; } if (command.equalsIgnoreCase("online")) { player.sendMessage("Players online^ "+L2World.getInstance().getAllPlayers().size()"); } return true; } public String[]getAdminCommandList() { return ADMIN_COMMANDS; } private boolean checkLevel(int level) { return level >= REQUIRED_LEVEL; } } примерно так, может что-то не правильно. Я так понимаю этот скомпилированный класс нужно будет поместить в ядро? а куда именно? И еще такой вопрос, тут код на 1 команду? а можно сделать допустим конфиг, откуда будут браться команды которые разрешены? getAdminCommandList() это я понимаю функция получения листа команд для админа, откуда оно берет команды? Изменено 27 февраля, 2014 пользователем MrKawaii Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
LifeGame32 312 Опубликовано 27 февраля, 2014 Я так понимаю этот скомпилированный класс нужно будет поместить в ядро? а куда именно? И еще такой вопрос, тут код на 1 команду? а можно сделать допустим конфиг, откуда будут браться команды которые разрешены? getAdminCommandList() это я понимаю функция получения листа команд для админа, откуда оно берет команды? package scripts.commands.admincommandhandlers; private static final String[] ADMIN_COMMANDS = { "admin_online" }; public String[]getAdminCommandList() { return ADMIN_COMMANDS; } Это называется сделайте мне. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты