serfan1 112 Опубликовано 9 октября, 2019 (изменено) Установил скрипт на windows работает (java 8 )(байпасы поменяны) Перенес сборку на debian 8 - не открывает сундук. Ошибок нету в чем может быть проблема? dos2unix сделал Спойлер package commands.voice; import net.sf.l2j.gameserver.model.L2ItemInstance; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.model.actor.instance.L2PlayableInstance; import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage; import scripts.commands.IVoicedCommandHandler; import scripts.commands.VoicedCommandHandler; import scripts.items.ItemHandler; import scripts.items.IItemHandler; import java.util.logging.Logger; import net.sf.l2j.util.Rnd; public class VipBag implements IVoicedCommandHandler, IItemHandler { private final static int ITEM_ACTIVE_ID = 10070; //Ид предмета активации. private final static boolean VB_HERO = true; // Включить выдачу Геройства. private final static int VB_HERO_CHANCE = 10; // Шанс получения Геройства. private final static int VB_HERO_DAYS = 1; // На сколько дней выдавать Геройство. private final static boolean VB_PA = true; // Включить выдачу Премиум Аккаунта. private final static int VB_PA_CHANCE = 10; // Шанс получения Премиум Аккаунта. private final static int VB_PA_DAYS = 1; // На сколько дней выдавать Премиум Аккаунта. private final static boolean VB_ARMOR = true; // Включить выдачу одной из Брони по рандуму. private final static int VB_ARMOR_CHANCE = 10; // Шанс получения Брони. private static final int VB_ARMOR_IDS[] = {9896,9895,9897,9898,9899}; // ИДы Брони указывать через запятую. private final static boolean VB_COL = true; // Включить выдачу Монеты. private final static int VB_COL_CHANCE = 60; // Шанс получения Монет. private final static int VB_COL_ID = 10004; // ИД Монет. private final static int VB_COL_COUNT = 1; // Количество Монет. private final static boolean VB_TATOO = true; // Включить выдачу Донат Тату. private final static int VB_TATOO_CHANCE = 3; // Шанс получения Донат Тату. private final static int VB_TATOO_ID = 18203; // ИД Донат Тату. private static final Logger _log = Logger.getLogger(VipBag.class.getName()); private static int ITEM_IDS[] = {ITEM_ACTIVE_ID}; public VipBag() { _log.info(""); _log.info(" #############################################################"); _log.info(" ###########################"); _log.info(" #############################################################"); _log.info(""); ItemHandler.getInstance().registerItemHandler(this); VoicedCommandHandler.getInstance().registerVoicedCommandHandler(this); } public boolean useVoicedCommand(String command, L2PcInstance player, String target) { if(command.startsWith("vch_ag_vipbag_")) { String choise = command.substring(10).trim(); if(choise.startsWith("edit")) { int chance = Rnd.get(100); L2ItemInstance coin = player.getInventory().getItemByItemId(ITEM_IDS[0]); int flag = Integer.parseInt(choise.substring(4).trim()); //_log.info("hello2: "+flag+""); if (coin != null && coin.getCount() > 0) { if(flag == 1 && VB_HERO != false) { if (player.isHero() != false) { player.sendMessage("You have hero"); showWelcome(player); } else { if (chance < VB_HERO_CHANCE) { player.setHero(VB_HERO_DAYS); player.destroyItemByItemId("vch_ag_vipbag_", ITEM_IDS[0], 1, player, true); } else { player.destroyItemByItemId("vch_ag_vipbag_", ITEM_IDS[0], 1, player, true); } } } if(flag == 2 && VB_PA != false) { if (player.isPremium() != false) { player.sendMessage("You have premium"); showWelcome(player); } else { if (chance < VB_PA_CHANCE) { player.storePremium(VB_PA_DAYS); player.destroyItemByItemId("vch_ag_vipbag_", ITEM_IDS[0], 1, player, true); } else { player.destroyItemByItemId("vch_ag_vipbag_", ITEM_IDS[0], 1, player, true); } } } if(flag == 3 && VB_ARMOR != false) { if (chance < VB_ARMOR_CHANCE) { int armor_id = Rnd.get(VB_ARMOR_IDS.length); player.addItem("vch_ag_vipbag_", VB_ARMOR_IDS[armor_id], 1, player, true); player.destroyItemByItemId("vch_ag_vipbag_", ITEM_IDS[0], 1, player, true); } else { player.destroyItemByItemId("vch_ag_vipbag_", ITEM_IDS[0], 1, player, true); } } if(flag == 4 && VB_COL != false) { if (chance < VB_COL_CHANCE) { player.addItem("vch_ag_vipbag_", VB_COL_ID, VB_COL_COUNT, player, true); player.destroyItemByItemId("vch_ag_vipbag_", ITEM_IDS[0], 1, player, true); } else { player.destroyItemByItemId("vch_ag_vipbag_", ITEM_IDS[0], 1, player, true); } } if(flag == 5 && VB_TATOO != false) { if (chance < VB_TATOO_CHANCE) { player.addItem("vch_ag_vipbag_", VB_TATOO_ID, 1, player, true); player.destroyItemByItemId("vch_ag_vipbag_", ITEM_IDS[0], 1, player, true); } else { player.destroyItemByItemId("vch_ag_vipbag_", ITEM_IDS[0], 1, player, true); } } } else { player.sendMessage("Need more items!"); } return true; } else { return false; } } return true; } private void showWelcome(L2PcInstance player) { if(player.isParalyzed() || player.getUserKey().on == 1) { player.sendActionFailed(); return; } NpcHtmlMessage nhm = NpcHtmlMessage.id(5); String build = "<html><body><title></title><center><img src=\"logo.logo\" width=256 height=100></center>"; build += "<center>Hero and Premium - 24 hous<br1><center>"; if(VB_HERO) { build +=("<button value=\"Hero - 20%\" action=\"bypass -h vch_ag_vipbag_edit 1\" width=121 height=21 back=\"eter2.1kn_over\" fore=\"eter2.1kn\"><br1>"); } if(VB_PA) { build +=("<button value=\"Premium - 20%\" action=\"bypass -h vch_ag_vipbag_edit 2\" width=121 height=21 back=\"eter2.1kn_over\" fore=\"eter2.1kn\"><br1>"); } if(VB_ARMOR) { build +=("<button value=\"Jewels - 20%\" action=\"bypass -h vch_ag_vipbag_edit 3\" width=121 height=21 back=\"eter2.1kn_over\" fore=\"eter2.1kn\"><br1>"); } if(VB_COL) { build +=("<button value=\"Donate Coin - 60%\" action=\"bypass -h vch_ag_vipbag_edit 4\" width=121 height=21 back=\"eter2.1kn_over\" fore=\"eter2.1kn\"><br1>"); } if(VB_TATOO) { build +=("<button value=\"Donate Tattoo - 10%\" action=\"bypass -h vch_ag_vipbag_edit 5\" width=121 height=21 back=\"eter2.1kn_over\" fore=\"eter2.1kn\"><br1>"); } build +=("</center></body></html> Спойлер nhm.setHtml(build.toString()); player.sendPacket(nhm); build = null; } public void useItem(L2PlayableInstance playable, L2ItemInstance item, boolean ctrl) { if (!playable.isPlayer()) return; L2PcInstance player = (L2PcInstance) playable; showWelcome(player); } public int[] getItemIds() { return ITEM_IDS; } private static final String VOICED_COMMANDS[] = { "ag_","ag_vipbag_" }; public String[] getVoicedCommandList() { return VOICED_COMMANDS; } public static void main (String... arguments ) { new VipBag(); } } Изменено 9 октября, 2019 пользователем serfan1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты