P1ckw1ck 158 Опубликовано 4 ноября, 2014 Добрый день сталкнулся с проблемкой скрипта Server Guard 0.0.0.3+ Скачал конфиги все записал, гс пишет ошибку не могу понять в чем проблемка, в скриптах плохо разбираьсю. мб кто наталкнет на правильный путь =) что я не так сделал Ставлю на L2JFatum(acis) скрипт package ServerGuard; import java.util.Collection; import net.sf.l2j.gameserver.ThreadPoolManager; import net.sf.l2j.gameserver.model.L2World; import net.sf.l2j.gameserver.instancemanager.QuestManager; import net.sf.l2j.gameserver.model.actor.L2Npc; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.model.L2ItemInstance; import net.sf.l2j.gameserver.model.quest.Quest; /** * Кодировка скрипта (UTF-8(Без BOM) * @author LifeGame32 * @version 0.0.0.3+ aCis */ public class ServerGuard extends Quest { // Включить true Выключить false public static final boolean SERVER_GUARD = true; // Через N-e Время после загрузки скрипта начнется его работа.(в милисекундах 1сек == 1000мкс) private static final int START_TIME = 60000; // Автозапуск через. private static final int RESTART_TIME = 120000; // Что ищем? И Сколько? // {{ид,количество},{ид,количество},{ид,количество}}; private static final int ITEM_ID_AND_MAX_COUNT[][] = { { 4037,// ИД 100 }, { 57, 500 }, { 57, 300 } }; // Наказание за превышение количетсва предметов. // Бан аккаунта : true // Удаление предметов: false public static final boolean BANNED_OR_REMOVE = true; // Сообщения в консоль. да true нет false public static final boolean MESSAGE = true; public ServerGuard() { super(-1, ServerGuard.class.getSimpleName(), "Server Guard"); ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new GuardServer(), START_TIME, RESTART_TIME); } @Override public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) { if (event.equalsIgnoreCase("Scanner")) { System.out.println("Guard Server: Star search."); Collection<L2PcInstance> onlinePlayers = L2World.getInstance().getAllPlayers().values(); for (L2PcInstance players : onlinePlayers) { L2ItemInstance item; for (int[] element : ITEM_ID_AND_MAX_COUNT) { item = players.getInventory().getItemByItemId(element[0]); if ((item != null) && (item.getCount() >= element[1])) { if (BANNED_OR_REMOVE) { if (MESSAGE) { System.out.println("Guard Server: Banned accaunt [" + players.getAccountName() + "] player name:[" + players.getName() + "] _ Item:[" + item.getName() + "[ Count:[" + item.getCount() + "]"); } players.setAccountAccesslevel(-100); players.logout(); } else { if (MESSAGE) { System.out.println("Guard Server: Remove item accaunt [" + players.getAccountName() + "] player name:[" + players.getName() + "] _ Item:[" + item.getName() + "[ Count:[" + item.getCount() + "]"); } players.destroyItemByItemId("GuardServer", element[0], item.getCount(), players, true); } } } } System.out.println("Guard Server: Finish search. RESTART_TIME: " + ((RESTART_TIME / 1000) / 60) + " minut."); } return null; } public class GuardServer implements Runnable { @Override public void run() { QuestManager.getInstance().getQuest("ServerGuard").notifyEvent("Scanner", null, null); } } public static void main(String[] arg) { if (SERVER_GUARD) { new ServerGuard(); System.out.println("Guard Server: ON"); } else { System.out.println("Guard Server: OFF"); } } } Гс Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Стаснилав 6 Опубликовано 4 ноября, 2014 Можеш скинуть скрипт ??? 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
P1ckw1ck 158 Опубликовано 4 ноября, 2014 http://forummaxi.ru/files/file/688-server-guard/ Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Silentium 592 Опубликовано 4 ноября, 2014 У нас нет L2ItemInstance. Есть ItemInstance. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Стаснилав 6 Опубликовано 4 ноября, 2014 Поставил на ПВ полёт хороший ! Не тот импорт ! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
P1ckw1ck 158 Опубликовано 4 ноября, 2014 У меня acis. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
P1ckw1ck 158 Опубликовано 4 ноября, 2014 У нас нет L2ItemInstance. Есть ItemInstance. щяз проверим =) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
P1ckw1ck 158 Опубликовано 4 ноября, 2014 все тот же крит гс Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Silentium 592 Опубликовано 4 ноября, 2014 щяз проверим =) Рассказываю более подробно. Меняем L2ItemInstance на ItemInstance. Меняем импорт net.sf.l2j.gameserver.model.L2ItemInstance на net.sf.l2j.gameserver.model.item.instance.ItemInstance и радуемся рабочему сркипту. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
P1ckw1ck 158 Опубликовано 4 ноября, 2014 (изменено) Грустим не рабочему скрипту. custom/ServerGuard/ServerGuard.java package ServerGuard; import java.util.Collection; import net.sf.l2j.gameserver.ThreadPoolManager; import net.sf.l2j.gameserver.model.L2World; import net.sf.l2j.gameserver.instancemanager.QuestManager; import net.sf.l2j.gameserver.model.actor.L2Npc; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.model.item.instance.ItemInstance; import net.sf.l2j.gameserver.model.quest.Quest; /** * Кодировка скрипта (UTF-8(Без BOM) * @author LifeGame32 * @version 0.0.0.3+ aCis */ public class ServerGuard extends Quest { // Включить true Выключить false public static final boolean SERVER_GUARD = true; // Через N-e Время после загрузки скрипта начнется его работа.(в милисекундах 1сек == 1000мкс) private static final int START_TIME = 60000; // Автозапуск через. private static final int RESTART_TIME = 120000; // Что ищем? И Сколько? // {{ид,количество},{ид,количество},{ид,количество}}; private static final int ITEM_ID_AND_MAX_COUNT[][] = { { 57,// ИД 1000 }, { 57, 500 }, { 57, 300 } }; // Наказание за превышение количетсва предметов. // Бан аккаунта : true // Удаление предметов: false public static final boolean BANNED_OR_REMOVE = true; // Сообщения в консоль. да true нет false public static final boolean MESSAGE = true; public ServerGuard() { super(-1, ServerGuard.class.getSimpleName(), "Server Guard"); ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new GuardServer(), START_TIME, RESTART_TIME); } @Override public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) { if (event.equalsIgnoreCase("Scanner")) { System.out.println("Guard Server: Star search."); Collection<L2PcInstance> onlinePlayers = L2World.getInstance().getAllPlayers().values(); for (L2PcInstance players : onlinePlayers) { ItemInstance item; for (int[] element : ITEM_ID_AND_MAX_COUNT) { item = players.getInventory().getItemByItemId(element[0]); if ((item != null) && (item.getCount() >= element[1])) { if (BANNED_OR_REMOVE) { if (MESSAGE) { System.out.println("Guard Server: Banned accaunt [" + players.getAccountName() + "] player name:[" + players.getName() + "] _ Item:[" + item.getName() + "[ Count:[" + item.getCount() + "]"); } players.setAccountAccesslevel(-100); players.logout(); } else { if (MESSAGE) { System.out.println("Guard Server: Remove item accaunt [" + players.getAccountName() + "] player name:[" + players.getName() + "] _ Item:[" + item.getName() + "[ Count:[" + item.getCount() + "]"); } players.destroyItemByItemId("GuardServer", element[0], item.getCount(), players, true); } } } } System.out.println("Guard Server: Finish search. RESTART_TIME: " + ((RESTART_TIME / 1000) / 60) + " minut."); } return null; } public class GuardServer implements Runnable { @Override public void run() { QuestManager.getInstance().getQuest("ServerGuard").notifyEvent("Scanner", null, null); } } public static void main(String[] arg) { if (SERVER_GUARD) { new ServerGuard(); System.out.println("Guard Server: ON"); } else { System.out.println("Guard Server: OFF"); } } } Изменено 4 ноября, 2014 пользователем P1ckw1ck Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Silentium 592 Опубликовано 4 ноября, 2014 Если скрипт лежит в директории custom, то, соответственно, необходимо заменить package ServerGuard; на package custom.ServerGuard; 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
P1ckw1ck 158 Опубликовано 4 ноября, 2014 Пробему решили=) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты