Avanege 0 Опубликовано 7 апреля, 2015 На aCis 334 не работает. Выбивает: QuestManager: Reloading scripts. java.lang.ClassNotFoundException: custom.ServerGuard.ServerGuard at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at com.l2jserver.script.java.MemoryClassLoader.findClass(MemoryClassLoader.java:79) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at com.l2jserver.script.java.MemoryClassLoader.load(MemoryClassLoader.java:56) at com.l2jserver.script.java.JavaScriptEngine.parseMain(JavaScriptEngine.java:186) at com.l2jserver.script.java.JavaScriptEngine.parse(JavaScriptEngine.java:176) at com.l2jserver.script.java.JavaScriptEngine.eval(JavaScriptEngine.java:115) at com.l2jserver.script.java.JavaScriptEngine.eval(JavaScriptEngine.java:122) at net.sf.l2j.gameserver.scripting.L2ScriptEngineManager.executeScript(L2ScriptEngineManager.java:307) at net.sf.l2j.gameserver.scripting.L2ScriptEngineManager.executeScript(L2ScriptEngineManager.java:267) at net.sf.l2j.gameserver.scripting.L2ScriptEngineManager.executeScriptList(L2ScriptEngineManager.java:167) at net.sf.l2j.gameserver.instancemanager.QuestManager.reloadAllQuests(QuestManager.java:154) at net.sf.l2j.gameserver.handler.admincommandhandlers.AdminAdmin.useAdminCommand(AdminAdmin.java:269) at net.sf.l2j.gameserver.network.clientpackets.RequestBypassToServer.runImpl(RequestBypassToServer.java:92) at net.sf.l2j.gameserver.network.clientpackets.L2GameClientPacket.run(L2GameClientPacket.java:63) at net.sf.l2j.gameserver.network.L2GameClient.run(L2GameClient.java:875) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)Failed executing script: D:\Servers\Lineage2\aCis\gameserver\.\data\scripts\custom\ServerGuard\ServerGuard.java. See ServerGuard.java.error.log for details.QuestManager: Loaded 369 scripts. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
LifeGame32 312 Опубликовано 7 апреля, 2015 На aCis 334 не работает. Выбивает: путь должен быть таким \data\scripts\ServerGuard\ServerGuard.java. У вас data\scripts\custom\ServerGuard\ServerGuard.java Улавливаете суть? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Avanege 0 Опубликовано 7 апреля, 2015 путь должен быть таким \data\scripts\ServerGuard\ServerGuard.java. У вас data\scripts\custom\ServerGuard\ServerGuard.java Улавливаете суть? А как его заставить работать из папки custom? Стандартные методы ошибку выбили. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
LifeGame32 312 Опубликовано 7 апреля, 2015 А как его заставить работать из папки custom? Стандартные методы ошибку выбили. package custom.ServerGuard; 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
atlz 0 Опубликовано 21 декабря, 2015 надо будет забрать Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
4ipolino 9 Опубликовано 4 января, 2016 (изменено) готов ли он для HF5 овероподобных? в чем проблема? 2 минуты и новый скрипт готов п.с скрипт для пользователей с исходным кодом ядра ( для датапака переделайте сами ) package l2r.gameserver.Utils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import l2r.gameserver.Config; import l2r.gameserver.ThreadPoolManager; import l2r.gameserver.model.GameObjectsStorage; import l2r.gameserver.model.Player; import l2r.gameserver.model.items.ItemInstance; import l2r.gameserver.scripts.Functions; import l2r.gameserver.utils.AutoBan; public class CheckItemCount extends Functions { private static final Logger _log = LoggerFactory.getLogger(CheckItemCount.class); private static CheckItemCount _instance; public static CheckItemCount getInstance() { return _instance; } public static void init() { _instance = new CheckItemCount(); _instance.load(); } private void load() { ThreadPoolManager.getInstance().schedule(new CheckCount(), (Config.RESTART_SEARCH_TIME * 1000) * 60); } public class CheckCount implements Runnable { public CheckCount() { } @Override public void run() { for(Player player : GameObjectsStorage.getAllPlayersForIterate()) { if (!player.isGM()) { ItemInstance item; for (int[] element : Config.ITEM_ID_AND_MAX_COUNT) { item = player.getInventory().getItemByItemId(element[0]); if ((item != null) && (item.getCount() >= element[1])) { if (Config.BANNED_OR_REMOVE) { player.setAccessLevel(-100); // Без временный бан на плеера AutoBan.Banned(player, 999999, "Cheater detected! Player: " + player + " превышено максимальное количество итема :" + item.getName() + " Количество: " + item.getCount() + " - Player: " + player + " BANNED!!!", "REBELLION"); _log.warn("Player: " + player + " CheckItemCount " + "Item: " + item.getName() + " Count: " + item.getCount() + " - Player: " + player + " BANNED!!!"); player.kick(); // Выбрасываем игрока из мира } else { _log.warn("CheckItemCount: " + "Player: " + player + " Remove Item: " + item.getName() + " Count: " + item.getCount()); removeItem(player, element[0], item.getCount()); } } } } } ThreadPoolManager.getInstance().schedule(new CheckCount(), (Config.RESTART_SEARCH_TIME * 1000) * 60); } } } GameServer.java загрузка if(Config.ENABLE_CHECK_ITEM_COUNT) CheckItemCount.init(); для особо ленивых: Config.java // проверка количества предметов public static boolean ENABLE_CHECK_ITEM_COUNT; public static int RESTART_SEARCH_TIME; public static boolean BANNED_OR_REMOVE; public static List<int[]> ITEM_ID_AND_MAX_COUNT; public static void loadBanSettings() { ExProperties BanSettings = load(BAN_FILE); ENABLE_CHECK_ITEM_COUNT = BanSettings.getProperty("EnableCheckItemConunt", false); BANNED_OR_REMOVE = BanSettings.getProperty("BannedOrRemove", false); RESTART_SEARCH_TIME = BanSettings.getProperty("RestartSearchTime", 80); ITEM_ID_AND_MAX_COUNT = new ArrayList<>(); String[] propertySplit = BanSettings.getProperty("ItemIdAndMaxCount", "57,999999999999999999").split(";"); for (String reward : propertySplit) { String[] rewardSplit = reward.split(","); if (rewardSplit.length != 2) {} else { try { ITEM_ID_AND_MAX_COUNT.add(new int[] { Integer.parseInt(rewardSplit[0]), Integer.parseInt(rewardSplit[1]) }); } catch (NumberFormatException ignored) { } } } } # **************************************** # Проверка количества итемов у персонажей # **************************************** # Включить проверку EnableCheckItemConunt = false # Автозапуск проверки каждых RestartSearchTime минут RestartSearchTime = 10 # Итемы для проверки id,макс количество;id,макс количество ItemIdAndMaxCount = 57,9000000000;4037,99999999 # true - бан # false - удаление и лог в гс BannedOrRemove = false Изменено 4 января, 2016 пользователем 4ipolino 2 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты