Jump to content

criss22

Members
  • Posts

    515
  • Credits

  • Joined

  • Last visited

  • Feedback

    0%

Everything posted by criss22

  1. no
  2. From where Solomun? What file i must decrypt?
  3. HI all, who can tell me how i can set multisell to have comma like this? 1,000,000 and not 1000000 in every shop? For all items i want, not just for adena. Thank you
  4. Wow, This is greate pack for all Lineage 2 Users/Administrators. Keep going NevesOma.
  5. Like title say, my gm shop community is stupid. When i open multisell to buy D grade armors for exemple, after i buy, this take me out from that gm shop and transfer my community board from gm shop to another section. To understand how this happend. I can explain. I have GM shop and Exclusive Shop. When i buy something from Gm shop, afterbuy, return transfer me to Exclusive Shop.. I search return; from java code. but i didn;t find something. Many thanks
  6. Be nice SweeTs :)
  7. Yes Tryskell, but i need System Patched for windows 10 and clean
  8. WHAT THE HACK IT'S THIS??? http:// Thanks Tryskell
  9. all npc's have this `HP[xxx]` including monsters
  10. Is not there. I think it's from Java
  11. Hello guys. Who can tell me how i can make to disappear that HP status from npc's? http://
  12. Exist anyone to know how to do this?
  13. Solved! This problem was in this line. xsi:noNamespaceSchemaLocation="../../xsd/multisell.xsd"> i change with xsi:noNamespaceSchemaLocation="../xsd/multisell.xsd">
  14. I am 100% sure the configs are good. and i don;t edit this part in this pack. Here it is XML with enchant. <?xml version="1.0" encoding="UTF-8"?> <list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/multisell.xsd"> <!-- Vesper Avenger - Health --> <item> <ingredient id="9142" count="40" /> <production id="14137" count="1" enchantmentLevel="25" /> </item> I search in configs, but nothing. I saw in some forums here on MXC, something about MaintainEnchant="True", i set that and still no work.
  15. it's possible to make this thing to work?
  16. HI. Can help me somebody with this problem? I use l2jsunrise and this pack comming with few configs. One of this is item enchantable in shop. And when i buy that item, in inventory is +0 http:// and in inventory is http://
  17. Good evening. How i can make 2 same npc enchant? I have one. But i want to enchant from +0...+100 with adena and from +100...+200 with Mold Glue. Here it is Java code package custom.Enchant; import java.util.logging.Logger; import l2r.gameserver.model.actor.L2Npc; import l2r.gameserver.model.actor.instance.L2PcInstance; import l2r.gameserver.model.entity.olympiad.OlympiadManager; import l2r.gameserver.model.itemcontainer.Inventory; import l2r.gameserver.model.items.instance.L2ItemInstance; import l2r.gameserver.model.quest.Quest; import l2r.gameserver.model.quest.QuestState; import l2r.gameserver.network.serverpackets.CharInfo; import l2r.gameserver.network.serverpackets.ExBrExtraUserInfo; import l2r.gameserver.network.serverpackets.InventoryUpdate; import l2r.gameserver.network.serverpackets.UserInfo; public class Enchant extends Quest { public static final Logger _log = Logger.getLogger(Enchant.class.getName()); int npcId = 9994; // Item required to enchant armor +20 int itemRequiredArmor = 8284; int itemRequiredArmorCount = 100; // Item required to enchant jewels +20 int itemRequiredJewels = 8284; int itemRequiredJewelsCount = 100; // Item required to enchant weapon +20 int itemRequiredWeapon = 8284; int itemRequiredWeaponCount = 100; // Item required to enchant belt/shirt +20 <!-- Enchant Gem Stone --> int itemRequiredBeltShirt = 8284; int itemRequiredBeltShirtCount = 100; public Enchant(int questId, String name, String descr) { super(questId, name, descr); addStartNpc(npcId); addFirstTalkId(npcId); addTalkId(npcId); } public static void main(String[] args) { new Enchant(-1, Enchant.class.getSimpleName(), "custom"); } @Override public String onFirstTalk(L2Npc npc, L2PcInstance player) { String enchantType = "Enchant.htm"; if (player.getQuestState(getName()) == null) { newQuestState(player); } else if (player.isInCombat()) { return drawHtml("You are in combat", "Don't fight if you want to talk with me!", enchantType); } else if (player.getPvpFlag() == 1) { return drawHtml("You are flagged", "Don't fight if you want to talk with me!", enchantType); } else if (player.getKarma() != 0) { return drawHtml("You are in chaotic state", "Don't fight if you want to talk with me!", enchantType); } else if (OlympiadManager.getInstance().isRegistered(player)) { return drawHtml("You are registered for Olympiad", "You can't use my services<br1>while playing the Olympiad.", enchantType); } return "Enchant.htm"; } @Override public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) { String htmlText = event; String enchantType = "Enchant.htm"; int armorType = -1; // Armor parts if (event.equals("enchantHelmet")) { armorType = Inventory.PAPERDOLL_HEAD; enchantType = "EnchantArmor.htm"; htmlText = enchant(enchantType, player, armorType, itemRequiredArmor, itemRequiredArmorCount); } else if (event.equals("enchantChest")) { armorType = Inventory.PAPERDOLL_CHEST; enchantType = "EnchantArmor.htm"; htmlText = enchant(enchantType, player, armorType, itemRequiredArmor, itemRequiredArmorCount); } else if (event.equals("enchantLeggings")) { armorType = Inventory.PAPERDOLL_LEGS; enchantType = "EnchantArmor.htm"; htmlText = enchant(enchantType, player, armorType, itemRequiredArmor, itemRequiredArmorCount); } else if (event.equals("enchantGloves")) { armorType = Inventory.PAPERDOLL_GLOVES; enchantType = "EnchantArmor.htm"; htmlText = enchant(enchantType, player, armorType, itemRequiredArmor, itemRequiredArmorCount); } else if (event.equals("enchantBoots")) { armorType = Inventory.PAPERDOLL_FEET; enchantType = "EnchantArmor.htm"; htmlText = enchant(enchantType, player, armorType, itemRequiredArmor, itemRequiredArmorCount); } else if (event.equals("enchantShieldOrSigil")) { armorType = Inventory.PAPERDOLL_LHAND; enchantType = "EnchantArmor.htm"; htmlText = enchant(enchantType, player, armorType, itemRequiredArmor, itemRequiredArmorCount); } // Jewels else if (event.equals("enchantUpperEarring")) { armorType = Inventory.PAPERDOLL_LEAR; enchantType = "EnchantJewels.htm"; htmlText = enchant(enchantType, player, armorType, itemRequiredJewels, itemRequiredJewelsCount); } else if (event.equals("enchantLowerEarring")) { armorType = Inventory.PAPERDOLL_REAR; enchantType = "EnchantJewels.htm"; htmlText = enchant(enchantType, player, armorType, itemRequiredJewels, itemRequiredJewelsCount); } else if (event.equals("enchantNecklace")) { armorType = Inventory.PAPERDOLL_NECK; enchantType = "EnchantJewels.htm"; htmlText = enchant(enchantType, player, armorType, itemRequiredJewels, itemRequiredJewelsCount); } else if (event.equals("enchantUpperRing")) { armorType = Inventory.PAPERDOLL_LFINGER; enchantType = "EnchantJewels.htm"; htmlText = enchant(enchantType, player, armorType, itemRequiredJewels, itemRequiredJewelsCount); } else if (event.equals("enchantLowerRing")) { armorType = Inventory.PAPERDOLL_RFINGER; enchantType = "EnchantJewels.htm"; htmlText = enchant(enchantType, player, armorType, itemRequiredJewels, itemRequiredJewelsCount); } // Belt/Shirt else if (event.equals("enchantBelt")) { armorType = Inventory.PAPERDOLL_BELT; enchantType = "EnchantBeltShirt.htm"; htmlText = enchant(enchantType, player, armorType, itemRequiredBeltShirt, itemRequiredBeltShirtCount); } else if (event.equals("enchantShirt")) { armorType = Inventory.PAPERDOLL_UNDER; enchantType = "EnchantBeltShirt.htm"; htmlText = enchant(enchantType, player, armorType, itemRequiredBeltShirt, itemRequiredBeltShirtCount); } // Weapon else if (event.equals("enchantWeapon")) { armorType = Inventory.PAPERDOLL_RHAND; enchantType = "EnchantWeapon.htm"; htmlText = enchant(enchantType, player, armorType, itemRequiredWeapon, itemRequiredWeaponCount); } return htmlText; } private String enchant(String enchantType, L2PcInstance player, int armorType, int itemRequired, int itemRequiredCount) { QuestState st = player.getQuestState(getName()); int currentEnchant = 0; int newEnchantLevel = 0; if (st.getQuestItemsCount(itemRequired) >= itemRequiredCount) { try { L2ItemInstance item = getItemToEnchant(player, armorType); if (item != null) { currentEnchant = item.getEnchantLevel(); if (currentEnchant < 5000) { newEnchantLevel = setEnchant(player, item, currentEnchant + 200, armorType); if (newEnchantLevel > 0) { st.takeItems(itemRequired, itemRequiredCount); player.sendMessage("You successfully enchanted your " + item.getItem().getName() + " from +" + currentEnchant + " to +" + newEnchantLevel + "!"); String htmlContent = "<center>You successfully enchanted your:<br>" + "<font color=\"FF7200\">" + item.getItem().getName() + "</font><br>" + "From: <font color=\"AEFF00\">+" + currentEnchant + "</font> to <font color=\"AEFF00\">+" + newEnchantLevel + "</font>" + "</center>"; return drawHtml("Congratulations!", htmlContent, enchantType); } } else { player.sendMessage("Your " + item.getItem().getName() + " is already +5000!"); return drawHtml("It's already +5000", "<center>Your <font color=\"FF7200\">" + item.getItem().getName() + "</font> is already +5000!</center>", enchantType); } } } catch (StringIndexOutOfBoundsException e) { player.sendMessage("Something went wrong. Are equiped with the item?"); return drawHtml("Error Enchant", "<center>Something went wrong.<br>Are equiped with the item?</center>", enchantType); } catch (NumberFormatException e) { player.sendMessage("Something went wrong. Are equiped with the item?"); return drawHtml("Error Enchant", "<center>Something went wrong.<br>Are equiped with the item?</center>", enchantType); } player.sendMessage("Something went wrong. Are equiped with the item?"); return drawHtml("Error Enchant", "<center>Something went wrong.<br>Are equiped with the item?</center>", enchantType); } String content = "<center>" + "Not enough <font color=\"FF7200\">Enchant Gem Stone</font>!<br>"; if (st.getQuestItemsCount(itemRequired) > 0) { content += "You have " + st.getQuestItemsCount(itemRequired) + " Enchant Gem Stone,<br1>" + "Need " + (itemRequiredCount - st.getQuestItemsCount(itemRequired)) + " more."; } else { content += "You need <font color=\"FF7200\">" + itemRequiredCount + " Enchant Gem Stone</font>!"; } content += "</center>"; return drawHtml("Not Enough Items", content, enchantType); } private L2ItemInstance getItemToEnchant(L2PcInstance player, int armorType) { L2ItemInstance itemInstance = null; L2ItemInstance parmorInstance = player.getInventory().getPaperdollItem(armorType); if ((parmorInstance != null) && (parmorInstance.getLocationSlot() == armorType)) { itemInstance = parmorInstance; if (itemInstance != null) { return itemInstance; } } return null; } private int setEnchant(L2PcInstance player, L2ItemInstance item, int newEnchantLevel, int armorType) { if (item != null) { // set enchant value player.getInventory().unEquipItemInSlot(armorType); item.setEnchantLevel(newEnchantLevel); player.getInventory().equipItem(item); // send packets InventoryUpdate iu = new InventoryUpdate(); iu.addModifiedItem(item); player.sendPacket(iu); player.broadcastPacket(new CharInfo(player)); player.sendPacket(new UserInfo(player)); player.broadcastPacket(new ExBrExtraUserInfo(player)); return newEnchantLevel; } return -1; } public String drawHtml(String title, String content, String enchantType) { String html = "<html>" + "<title>L2Mondial Enchanter</title>" + "<body>" + "<center><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br>" + "<font color=\"FF9900\">" + title + "</font></center><br>" + content + "<br><br>" + "<center><a action=\"bypass -h Quest Enchant " + enchantType + "\">Go Back</a></center>" + "</body>" + "</html>"; return html; } } If here can edit enchant condition values, i'll be very happy. Thank you
  18. Hello Everyone. Today i want to ask how i can set a potion to get skill effect? I try <skill id="36001" levels="6" name="Endeavor Potion"> <set name="icon" val="icon.etc_lesser_potion_yellow_i00" /> <table name="#abnormalLvls"> 2 3 4 5 6 </table> <table name="#mAtkSpd"> 1.23 1.3 5 6 7 8 </table> <set name="abnormalLvl" val="6" /> <set name="abnormalTime" val="1800" /> <set name="abnormalType" val="potion_of_genesis" /> <set name="icon" val="icon.etc_lesser_potion_yellow_i00" /> <set name="isMagic" val="2" /> <!-- Static Skill --> <set name="magicLvl" val="76" /> <set name="operateType" val="A2" /> <set name="reuseDelay" val="6000" /> <set name="targetType" val="SELF" /> <for> <effect name="Buff"> <mul stat="mAtkSpd" val="#mAtkSpd" /> </effect> </for> </skill> </list> and i get error in GameServer [05:58:04] ERROR: Error in file ...\L2Sunrise\game\data\xml\stats\skills\36000-36099.xml java.lang.IllegalArgumentException: Value not specified at l2r.gameserver.engines.DocumentBase.getLambda(DocumentBase.java:1455) at l2r.gameserver.engines.DocumentBase.attachEffect(DocumentBase.java:362) at l2r.gameserver.engines.DocumentBase.parseTemplate(DocumentBase.java:243) at l2r.gameserver.engines.skills.DocumentSkill.parseSkill(DocumentSkill.java:508) at l2r.gameserver.engines.skills.DocumentSkill.parseDocument(DocumentSkill.java:124) at l2r.gameserver.engines.DocumentBase.parse(DocumentBase.java:175) at l2r.gameserver.engines.DocumentEngine.loadSkills(DocumentEngine.java:93) at l2r.gameserver.engines.DocumentEngine.loadAllSkills(DocumentEngine.java:102) at l2r.gameserver.data.xml.impl.SkillData.load(SkillData.java:56) at l2r.gameserver.data.xml.impl.SkillData.reload(SkillData.java:48) at handlers.admincommandhandlers.AdminReload.useAdminCommand(AdminReload.java:195) at l2r.gameserver.network.clientpackets.SendBypassBuildCmd.runImpl(SendBypassBuildCmd.java:87) at l2r.gameserver.network.clientpackets.L2GameClientPacket.run(L2GameClientPacket.java:71) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) My pack is L2jSunrise. Thank you
  19. Solved lol, was from config all multisells :) Is set from COnfig settings which multisell will be available for CB :)
  20. I don't know what's wrong with multisell from my pack. Some multisell work in CB and some not! L2jSunrise pack
  21. I remove all edits. I try to make now something different. I try with NPC. I try when player open multisell from NPC, to open in CB
  22. For exemple SweeTs, i open multisell 90539 it is open with success, and when i create multisell 90540, i get jail. Same config inside for test. Just edit number in 90540
  23. When i try to buy from shop something. i get Jail. idk what's wrong with multisell
  24. Is not my custom file. It is originalfile...i just edited. Anyway, i solved.
  25. Here it is my service where it is gm shop. And here it is part which open multisell. But not html page like it is for npc. /* * Copyright (C) 2004-2015 L2J Server * * This file is part of L2J Server. * * L2J Server is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * L2J Server is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package l2r.gameserver.communitybbs.Managers; import java.io.File; import java.util.List; import java.util.StringTokenizer; import l2r.gameserver.GameTimeController; import l2r.gameserver.ThreadPoolManager; import l2r.gameserver.cache.HtmCache; import l2r.gameserver.communitybbs.BoardsManager; import l2r.gameserver.data.sql.CharNameTable; import l2r.gameserver.data.sql.ClanTable; import l2r.gameserver.data.xml.impl.HennaData; import l2r.gameserver.data.xml.impl.ItemData; import l2r.gameserver.data.xml.impl.MultisellData; import l2r.gameserver.enums.CtrlIntention; import l2r.gameserver.enums.ZoneIdType; import l2r.gameserver.instancemanager.SiegeManager; import l2r.gameserver.instancemanager.TownManager; import l2r.gameserver.model.Elementals; import l2r.gameserver.model.actor.instance.L2PcInstance; import l2r.gameserver.model.entity.olympiad.OlympiadManager; import l2r.gameserver.model.itemcontainer.Inventory; import l2r.gameserver.model.items.L2Henna; import l2r.gameserver.model.items.instance.L2ItemInstance; import l2r.gameserver.network.SystemMessageId; import l2r.gameserver.network.serverpackets.ActionFailed; import l2r.gameserver.network.serverpackets.BuyList; import l2r.gameserver.network.serverpackets.ExBuySellList; import l2r.gameserver.network.serverpackets.ExShowVariationCancelWindow; import l2r.gameserver.network.serverpackets.ExShowVariationMakeWindow; import l2r.gameserver.network.serverpackets.HennaEquipList; import l2r.gameserver.network.serverpackets.HennaRemoveList; import l2r.gameserver.network.serverpackets.InventoryUpdate; import l2r.gameserver.network.serverpackets.MagicSkillUse; import l2r.gameserver.network.serverpackets.PartySmallWindowAll; import l2r.gameserver.network.serverpackets.PartySmallWindowDeleteAll; import l2r.gameserver.network.serverpackets.SetupGauge; import l2r.gameserver.network.serverpackets.ShowBoard; import l2r.gameserver.network.serverpackets.WareHouseDepositList; import l2r.gameserver.util.Broadcast; import l2r.gameserver.util.Util; import gr.sr.configsEngine.configs.impl.CommunityServicesConfigs; import gr.sr.configsEngine.configs.impl.IndividualVoteSystemConfigs; import gr.sr.interf.SunriseEvents; import gr.sr.javaBuffer.AutoBuff; import gr.sr.javaBuffer.BufferPacketCategories; import gr.sr.javaBuffer.BufferPacketSender; import gr.sr.javaBuffer.JavaBufferBypass; import gr.sr.javaBuffer.PlayerMethods; import gr.sr.javaBuffer.buffCommunity.dynamicHtmls.GenerateHtmls; import gr.sr.javaBuffer.runnable.BuffDeleter; import gr.sr.main.Conditions; import gr.sr.main.TopListsLoader; import gr.sr.securityEngine.SecurityActions; import gr.sr.securityEngine.SecurityType; import gr.sr.voteEngine.old.VoteHandler; /** * @author L2jSunrise Team * @Website www.l2jsunrise.com */ public class ServicesBBSManager extends BaseBBSManager { public String _servicesBBSCommand = CommunityServicesConfigs.BYPASS_COMMAND; @Override public void cbByPass(String command, L2PcInstance activeChar) { if (!CommunityServicesConfigs.COMMUNITY_SERVICES_ALLOW) { activeChar.sendMessage("This function is disabled by admin."); return; } String path = "data/html/CommunityBoard/services/"; String filepath = ""; String content = ""; if (command.equals(_servicesBBSCommand + "")) { BoardsManager.getInstance().addBypass(activeChar, "Service Command", command); filepath = path + "main.htm"; content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), filepath); separateAndSend(content, activeChar); } else if (command.startsWith(_servicesBBSCommand + ";gatekeeper")) { BoardsManager.getInstance().addBypass(activeChar, "Service Gatekeeper", command); StringTokenizer st = new StringTokenizer(command, ";"); st.nextToken(); st.nextToken(); String file = st.nextToken(); path = "data/html/CommunityBoard/services/gatekeeper/"; sendHtm(activeChar, filepath, path, file, command); if (activeChar.getLevel() < 50) { activeChar.sendMessage("You can only use the command after level 50"); return; } } else if (command.startsWith(_servicesBBSCommand + ";")) { StringTokenizer st = new StringTokenizer(command, ";"); st.nextToken(); String file = st.nextToken(); sendHtm(activeChar, filepath, path, file, command); } else if (command.startsWith("Chat")) else if (command.startsWith(_servicesBBSCommand + "_sendMultisell")) { BoardsManager.getInstance().addBypass(activeChar, "Service Multisell", command); if (!CommunityServicesConfigs.COMMUNITY_SERVICES_SHOP_ALLOW) { activeChar.sendMessage("This function is disabled by admin."); return; } if (!CommunityServicesConfigs.COMMUNITY_SERVICES_SHOP_NONPEACE && !activeChar.isInsideZone(ZoneIdType.PEACE)) { activeChar.sendMessage("You cannot use this function outside peace zone."); } else { try { String multisell = commandSeperator(command); int multi = Integer.valueOf(multisell); switch (multi) { case 90525: content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/services/symbolMaker.htm"); break; case 90526: content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/services/warehouse.htm"); break; case 90539: case 90540: case 90541: content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/services/exclusiveShop.htm"); break; default: content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/services/gmshop.htm"); break; } if ((multi == 90527) || (multi == 90528) || (multi == 90529) || (multi == 90530) || (multi == 90531) || (multi == 90532) || (multi == 90533) || (multi == 90534) || (multi == 90535) || (multi == 90536) || (multi == 90537) || (multi == 90538)) { content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/services/blacksmith.htm"); } separateAndSend(content, activeChar); if (CommunityServicesConfigs.MULTISELL_LIST.contains(multi)) { activeChar.setIsUsingAioMultisell(true); MultisellData.getInstance().separateAndSend(multi, activeChar, null, false); } else { SecurityActions.startSecurity(activeChar, SecurityType.COMMUNITY_SYSTEM); } } catch (Exception e) { SecurityActions.startSecurity(activeChar, SecurityType.COMMUNITY_SYSTEM); } } } else if (command.startsWith(_servicesBBSCommand + "_CommunitySell")) { BoardsManager.getInstance().addBypass(activeChar, "Service Sell", command); content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/services/gmshop.htm"); separateAndSend(content, activeChar); activeChar.setIsUsingAioMultisell(true); activeChar.sendPacket(new BuyList(activeChar.getAdena())); activeChar.sendPacket(new ExBuySellList(activeChar, 0, true)); } else if (command.startsWith(_servicesBBSCommand + "_teleport")) { BoardsManager.getInstance().addBypass(activeChar, "Service Teleport", command); content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/services/gatekeeper/main_gk.htm"); separateAndSend(content, activeChar); if (!CommunityServicesConfigs.COMMUNITY_SERVICES_TP_ALLOW) { activeChar.sendMessage("This function is disabled by admin."); return; } if (activeChar.isInCombat() || activeChar.isJailed() || activeChar.isAlikeDead() || activeChar.isInOlympiadMode() || activeChar.inObserverMode() || SunriseEvents.isInEvent(activeChar) || OlympiadManager.getInstance().isRegistered(activeChar)) { activeChar.sendMessage("Cannot use at the moment."); return; } try { String tp = commandSeperator(command); Integer[] c = new Integer[3]; c[0] = TopListsLoader.getInstance().getTeleportInfo(Integer.parseInt(tp))[0]; c[1] = TopListsLoader.getInstance().getTeleportInfo(Integer.parseInt(tp))[1]; c[2] = TopListsLoader.getInstance().getTeleportInfo(Integer.parseInt(tp))[2]; boolean onlyForNobless = TopListsLoader.getInstance().getTeleportInfo(Integer.parseInt(tp))[3] == 1; int itemIdToGet = TopListsLoader.getInstance().getTeleportInfo(Integer.parseInt(tp))[4]; int price = TopListsLoader.getInstance().getTeleportInfo(Integer.parseInt(tp))[5]; if (!CommunityServicesConfigs.ALLOW_TELEPORT_DURING_SIEGE) { if (SiegeManager.getInstance().getSiege(c[0], c[1], c[2]) != null) { activeChar.sendPacket(SystemMessageId.NO_PORT_THAT_IS_IN_SIGE); return; } else if (TownManager.townHasCastleInSiege(c[0], c[1]) && activeChar.isInsideZone(ZoneIdType.TOWN)) { activeChar.sendPacket(SystemMessageId.NO_PORT_THAT_IS_IN_SIGE); return; } } if (Conditions.checkPlayerItemCount(activeChar, itemIdToGet, price)) { if (onlyForNobless && !activeChar.isNoble() && !activeChar.isGM()) { activeChar.sendMessage("Only noble chars can teleport there."); return; } if (activeChar.isTransformed()) { if ((activeChar.getTransformationId() == 9) || (activeChar.getTransformationId() == 8)) { activeChar.untransform(); } } if (activeChar.isInsideZone(ZoneIdType.PEACE) || activeChar.isGM()) { activeChar.setInstanceId(0); activeChar.teleToLocation(c[0], c[1], c[2]); } else { activeChar.abortCast(); activeChar.abortAttack(); activeChar.sendPacket(ActionFailed.STATIC_PACKET); activeChar.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE); activeChar.setTarget(activeChar); activeChar.disableAllSkills(); Broadcast.toSelfAndKnownPlayersInRadius(activeChar, new MagicSkillUse(activeChar, 1050, 1, 30000, 0), 810000); activeChar.sendPacket(new SetupGauge(SetupGauge.BLUE, 30000)); activeChar.setSkillCast(ThreadPoolManager.getInstance().scheduleGeneral(new Teleport(activeChar, c[0], c[1], c[2]), 30000)); activeChar.forceIsCasting(10 + GameTimeController.getInstance().getGameTicks() + (30000 / GameTimeController.MILLIS_IN_TICK)); } activeChar.destroyItemByItemId("Community Teleport", itemIdToGet, price, activeChar, true); } } catch (Exception e) { SecurityActions.startSecurity(activeChar, SecurityType.COMMUNITY_SYSTEM); } } else if (command.startsWith(_servicesBBSCommand + "_drawSymbol")) { BoardsManager.getInstance().addBypass(activeChar, "Service Symbol Add", command); content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/services/symbolMaker.htm"); separateAndSend(content, activeChar); List<L2Henna> tato = HennaData.getInstance().getHennaList(activeChar.getClassId()); activeChar.sendPacket(new HennaEquipList(activeChar, tato)); } else if (command.startsWith(_servicesBBSCommand + "_removeSymbol")) { BoardsManager.getInstance().addBypass(activeChar, "Service Symbol Remove", command); content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/services/symbolMaker.htm"); separateAndSend(content, activeChar); boolean hasHennas = false; for (int i = 1; i <= 3; i++) { L2Henna henna = activeChar.getHenna(i); if (henna != null) { hasHennas = true; } } if (hasHennas) { activeChar.sendPacket(new HennaRemoveList(activeChar)); } else { activeChar.sendMessage("You do not have dyes."); } } else if (command.startsWith(_servicesBBSCommand + "_addAugment")) { BoardsManager.getInstance().addBypass(activeChar, "Service Augment Add", command); content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/services/blacksmith.htm"); separateAndSend(content, activeChar); activeChar.sendPacket(new ExShowVariationMakeWindow()); } else if (command.startsWith(_servicesBBSCommand + "_delAugment")) { BoardsManager.getInstance().addBypass(activeChar, "Service Augment Remove", command); content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/services/blacksmith.htm"); separateAndSend(content, activeChar); activeChar.sendPacket(new ExShowVariationCancelWindow()); } else if (command.toLowerCase().startsWith(_servicesBBSCommand + "_pwithdraw")) { BoardsManager.getInstance().addBypass(activeChar, "Service Private Wh Withdraw", command); content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/services/warehouse.htm"); separateAndSend(content, activeChar); GenerateHtmls.showPWithdrawWindow(activeChar, null, (byte) 0); } else if (command.toLowerCase().startsWith(_servicesBBSCommand + "_cwithdraw")) { BoardsManager.getInstance().addBypass(activeChar, "Service Clan Wh Withdraw", command); content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/services/warehouse.htm"); separateAndSend(content, activeChar); GenerateHtmls.showCWithdrawWindow(activeChar, null, (byte) 0); } else if (command.startsWith(_servicesBBSCommand + "_ndeposit")) { BoardsManager.getInstance().addBypass(activeChar, "Service Private Wh Deposit", command); content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/services/warehouse.htm"); separateAndSend(content, activeChar); activeChar.sendPacket(ActionFailed.STATIC_PACKET); activeChar.setActiveWarehouse(activeChar.getWarehouse()); if (activeChar.getWarehouse().getSize() == activeChar.getWareHouseLimit()) { activeChar.sendPacket(SystemMessageId.WAREHOUSE_FULL); return; } activeChar.setIsUsingAioWh(true); activeChar.tempInventoryDisable(); activeChar.sendPacket(new WareHouseDepositList(activeChar, WareHouseDepositList.PRIVATE)); } else if (command.startsWith(_servicesBBSCommand + "_clandeposit")) { BoardsManager.getInstance().addBypass(activeChar, "Service Clan Wh Deposit", command); content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/services/warehouse.htm"); separateAndSend(content, activeChar); if (activeChar.getClan() == null) { activeChar.sendPacket(SystemMessageId.YOU_ARE_NOT_A_CLAN_MEMBER); return; } activeChar.sendPacket(ActionFailed.STATIC_PACKET); activeChar.setActiveWarehouse(activeChar.getClan().getWarehouse()); if (activeChar.getClan().getLevel() == 0) { activeChar.sendPacket(SystemMessageId.ONLY_LEVEL_1_CLAN_OR_HIGHER_CAN_USE_WAREHOUSE); return; } activeChar.setIsUsingAioWh(true); activeChar.setActiveWarehouse(activeChar.getClan().getWarehouse()); activeChar.tempInventoryDisable(); activeChar.sendPacket(new WareHouseDepositList(activeChar, WareHouseDepositList.CLAN)); } else if (command.startsWith(_servicesBBSCommand + "_washPK")) { BoardsManager.getInstance().addBypass(activeChar, "Service Clean Pk", command); content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/services/exclusiveShop_decreasePK.htm"); content = activeChar.getPkKills() > 0 ? content.replaceAll("%replace%", buttons(activeChar)) : content.replaceAll("%replace%", "<table width=750 height=20><tr><td align=center>You dont have PK Points to wash.</td></tr></table>"); separateAndSend(content, activeChar); } else if (command.startsWith(_servicesBBSCommand + "_deletePK")) { content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/services/exclusiveShop_decreasePK.htm"); content = content.replaceAll("%replace%", buttons(activeChar)); separateAndSend(content, activeChar); if (!CommunityServicesConfigs.COMMUNITY_SERVICES_WASH_PK_ALLOW) { activeChar.sendMessage("This function is disabled by admin."); return; } if (!CommunityServicesConfigs.COMMUNITY_SERVICES_WASH_PK_NONPEACE && !activeChar.isInsideZone(ZoneIdType.PEACE)) { activeChar.sendMessage("You cannot use this function outside peace zone."); } else { int i = Integer.parseInt(commandSeperator(command)); if (Conditions.checkPlayerItemCount(activeChar, CommunityServicesConfigs.COMMUNITY_SERVICES_WASH_PK_ID, CommunityServicesConfigs.COMMUNITY_SERVICES_WASH_PK_PRICE * i)) { int kills = activeChar.getPkKills(); if ((kills - i) >= 0) { activeChar.setPkKills(kills - i); activeChar.broadcastUserInfo(); activeChar.sendMessage(i + " PK points removed."); activeChar.destroyItemByItemId("Community Decrease PK", CommunityServicesConfigs.COMMUNITY_SERVICES_WASH_PK_ID, CommunityServicesConfigs.COMMUNITY_SERVICES_WASH_PK_PRICE * i, activeChar, true); } } } } else if (command.startsWith(_servicesBBSCommand + "_vote")) { if (command.startsWith(_servicesBBSCommand + "_vote_main")) { BoardsManager.getInstance().addBypass(activeChar, "Service Vote Main", command); content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/services/vote.htm"); content = content.replaceAll("%voteBanners%", getVoteBanners(activeChar)); separateAndSend(content, activeChar); return; } if (command.contains(" ")) { final String[] subCommand = command.split(" "); String site = subCommand[1]; BoardsManager.getInstance().addBypass(activeChar, "Service Vote " + site, command); content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/services/vote.htm"); content = content.replaceAll("%voteBanners%", getVoteBanners(activeChar)); separateAndSend(content, activeChar); if (!VoteHandler.voteChecks(activeChar, site)) { return; } VoteHandler.preActivateVoting(activeChar, site); } } else if (command.startsWith(_servicesBBSCommand + "_atrEnchant")) { BoardsManager.getInstance().addBypass(activeChar, "Service Attribute Enchant", command); if (!CommunityServicesConfigs.COMMUNITY_SERVICES_ATTRIBUTE_MANAGER_ALLOW) { activeChar.sendMessage("This function is disabled by admin."); return; } if (!CommunityServicesConfigs.COMMUNITY_SERVICES_ATTRIBUTE_MANAGER_NONPEACE && !activeChar.isInsideZone(ZoneIdType.PEACE)) { activeChar.sendMessage("You cannot use this function outside peace zone."); return; } int currency = CommunityServicesConfigs.COMMUNITY_SERVICES_ATTRIBUTE_MANAGER_ID; String currencyName = ItemData.getInstance().getTemplate(currency).getName(); int weaponPrice = CommunityServicesConfigs.COMMUNITY_SERVICES_ATTRIBUTE_MANAGER_PRICE_WEAPON; int armorPrice = CommunityServicesConfigs.COMMUNITY_SERVICES_ATTRIBUTE_MANAGER_PRICE_ARMOR; int elementWeaponValue = CommunityServicesConfigs.COMMUNITY_SERVICES_ATTRIBUTE_LVL_FOR_WEAPON; int elementArmorValue = CommunityServicesConfigs.COMMUNITY_SERVICES_ATTRIBUTE_LVL_FOR_ARMOR; content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/services/exclusiveShop_atrEnchant.htm"); content = content.replaceAll("%currency%", ItemData.getInstance().getTemplate(currency).getName()); content = content.replaceAll("%weaponCurrency%", String.valueOf(weaponPrice) + " " + currencyName); content = content.replaceAll("%armorCurrency%", String.valueOf(armorPrice) + " " + currencyName); content = content.replaceAll("%armorAttValue%", String.valueOf(elementArmorValue)); content = content.replaceAll("%weaponAttValue%", String.valueOf(elementWeaponValue)); if (command.startsWith(_servicesBBSCommand + "_atrEnchantHtml")) { separateAndSend(content, activeChar); return; } final String[] subCommand = command.split(" "); String loc = subCommand[1]; int armorType = 0; switch (loc) { case "head": armorType = Inventory.PAPERDOLL_HEAD; break; case "chest": armorType = Inventory.PAPERDOLL_CHEST; break; case "gloves": armorType = Inventory.PAPERDOLL_GLOVES; break; case "feet": armorType = Inventory.PAPERDOLL_FEET; break; case "legs": armorType = Inventory.PAPERDOLL_LEGS; break; case "weapon": armorType = Inventory.PAPERDOLL_RHAND; break; default: separateAndSend(content, activeChar); activeChar.sendMessage("You cannot enchant items that are not equipped."); return; } String type = subCommand[2]; int typeId = 0; switch (type) { case "Fire": typeId = 0; break; case "Water": typeId = 1; break; case "Wind": typeId = 2; break; case "Earth": typeId = 3; break; case "Holy": typeId = 4; break; case "Dark": typeId = 5; break; default: separateAndSend(content, activeChar); activeChar.sendMessage("You cannot enchant the item. Wrong element."); return; } if (Conditions.checkPlayerItemCount(activeChar, currency, loc.equals("weapon") ? weaponPrice : armorPrice)) { L2ItemInstance parmorInstance = activeChar.getInventory().getPaperdollItem(armorType); if ((parmorInstance != null) && (parmorInstance.getLocationSlot() == armorType)) { byte elementtoAdd = (byte) typeId; byte opositeElement = Elementals.getOppositeElement(elementtoAdd); Elementals oldElement = parmorInstance.getElemental(elementtoAdd); switch (parmorInstance.getItem().getCrystalType()) { case NONE: case A: case B: case C: case D: activeChar.sendMessage("Invalid item grade."); return; default: break; } if ((parmorInstance.isWeapon() && (parmorInstance.getElementals() != null)) || (parmorInstance.isArmor() && (oldElement != null) && (parmorInstance.getElementals() != null) && (parmorInstance.getElementals().length >= 3))) { separateAndSend(content, activeChar); activeChar.sendPacket(SystemMessageId.ANOTHER_ELEMENTAL_POWER_ALREADY_ADDED); return; } if (parmorInstance.isWeapon()) { if ((oldElement != null) && (oldElement.getValue() >= elementWeaponValue)) { separateAndSend(content, activeChar); activeChar.sendMessage("You cannot add same attribute to item!"); return; } if (parmorInstance.getElementals() != null) { for (Elementals elm : parmorInstance.getElementals()) { if (parmorInstance.isEquipped()) { parmorInstance.getElemental(elm.getElement()).removeBonus(activeChar); } parmorInstance.clearElementAttr(elm.getElement()); } } } else if (parmorInstance.isArmor()) { if (parmorInstance.getElementals() != null) { for (Elementals elm : parmorInstance.getElementals()) { if (elm.getElement() == opositeElement) { separateAndSend(content, activeChar); activeChar.sendMessage("You cannot add opposite attribute to item!"); return; } if ((elm.getElement() == elementtoAdd) && (elm.getValue() >= elementArmorValue)) { separateAndSend(content, activeChar); activeChar.sendMessage("You cannot add same attribute to item!"); return; } } } } activeChar.destroyItemByItemId("Community Attribute Manager", currency, parmorInstance.isWeapon() ? weaponPrice : armorPrice, activeChar, true); activeChar.getInventory().unEquipItemInSlot(armorType); parmorInstance.setElementAttr(elementtoAdd, parmorInstance.isWeapon() ? elementWeaponValue : elementArmorValue); activeChar.getInventory().equipItem(parmorInstance); activeChar.sendMessage("Successfully added " + subCommand[2] + " attribute to your item."); InventoryUpdate iu = new InventoryUpdate(); iu.addModifiedItem(parmorInstance); activeChar.sendPacket(iu); } else { activeChar.sendMessage("You cannot attribute items that are not equipped!"); } } separateAndSend(content, activeChar); } else if (command.startsWith(_servicesBBSCommand + "_changename")) { BoardsManager.getInstance().addBypass(activeChar, "Service Name Change", command); content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/services/exclusiveShop.htm"); separateAndSend(content, activeChar); if (!CommunityServicesConfigs.COMMUNITY_SERVICES_NAME_CHANGE_ALLOW) { activeChar.sendMessage("This function is disabled by admin."); return; } if (!CommunityServicesConfigs.COMMUNITY_SERVICES_NAME_CHANGE_NONPEACE && !activeChar.isInsideZone(ZoneIdType.PEACE)) { activeChar.sendMessage("You cannot use this function outside peace zone."); } else { try { String val = commandSeperator(command); if (!Util.isAlphaNumeric(val)) { activeChar.sendMessage("Invalid character name."); return; } if (Conditions.checkPlayerItemCount(activeChar, CommunityServicesConfigs.COMMUNITY_SERVICES_NAME_CHANGE_ID, CommunityServicesConfigs.COMMUNITY_SERVICES_NAME_CHANGE_PRICE)) { if (CharNameTable.getInstance().getIdByName(val) > 0) { activeChar.sendMessage("Warning, name " + val + " already exists."); return; } activeChar.destroyItemByItemId("Community Name Change", CommunityServicesConfigs.COMMUNITY_SERVICES_NAME_CHANGE_ID, CommunityServicesConfigs.COMMUNITY_SERVICES_NAME_CHANGE_PRICE, activeChar, true); activeChar.setName(val); activeChar.getAppearance().setVisibleName(val); activeChar.store(); activeChar.sendMessage("Your name has been changed to " + val); activeChar.broadcastUserInfo(); if (activeChar.isInParty()) { // Delete party window for other party members activeChar.getParty().broadcastToPartyMembers(activeChar, new PartySmallWindowDeleteAll()); for (L2PcInstance member : activeChar.getParty().getMembers()) { // And re-add if (member != activeChar) { member.sendPacket(new PartySmallWindowAll(member, activeChar.getParty())); } } } if (activeChar.getClan() != null) { activeChar.getClan().broadcastClanStatus(); } } } catch (StringIndexOutOfBoundsException e) { activeChar.sendMessage("Player name box cannot be empty."); } } } // Change clan name else if (command.startsWith(_servicesBBSCommand + "_changeclanname")) { BoardsManager.getInstance().addBypass(activeChar, "Service Clan Name Change", command); content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/services/exclusiveShop.htm"); separateAndSend(content, activeChar); if (!CommunityServicesConfigs.COMMUNITY_SERVICES_CLAN_NAME_CHANGE_ALLOW) { activeChar.sendMessage("This function is disabled by admin."); return; } if (!CommunityServicesConfigs.COMMUNITY_SERVICES_CLAN_NAME_CHANGE_NONPEACE && !activeChar.isInsideZone(ZoneIdType.PEACE)) { activeChar.sendMessage("You cannot use this function outside peace zone."); } else { try { String val = commandSeperator(command); if ((activeChar.getClan() == null) || !activeChar.isClanLeader()) { activeChar.sendPacket(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT); return; } if (!Util.isAlphaNumeric(val)) { activeChar.sendPacket(SystemMessageId.CLAN_NAME_INCORRECT); return; } if (Conditions.checkPlayerItemCount(activeChar, CommunityServicesConfigs.COMMUNITY_SERVICES_CLAN_NAME_CHANGE_ID, CommunityServicesConfigs.COMMUNITY_SERVICES_CLAN_NAME_CHANGE_PRICE)) { if (ClanTable.getInstance().getClanByName(val) != null) { activeChar.sendMessage("Warning, clan name " + val + " already exists."); return; } activeChar.destroyItemByItemId("Community Clan Name Change", CommunityServicesConfigs.COMMUNITY_SERVICES_CLAN_NAME_CHANGE_ID, CommunityServicesConfigs.COMMUNITY_SERVICES_CLAN_NAME_CHANGE_PRICE, activeChar, true); activeChar.getClan().setName(val); activeChar.getClan().updateClanNameInDB(); activeChar.sendMessage("Your clan name has been changed to " + val); activeChar.broadcastUserInfo(); if (activeChar.isInParty()) { // Delete party window for other party members activeChar.getParty().broadcastToPartyMembers(activeChar, new PartySmallWindowDeleteAll()); for (L2PcInstance member : activeChar.getParty().getMembers()) { // And re-add if (member != activeChar) { member.sendPacket(new PartySmallWindowAll(member, activeChar.getParty())); } } } if (activeChar.getClan() != null) { activeChar.getClan().broadcastClanStatus(); } } } catch (StringIndexOutOfBoundsException e) { activeChar.sendMessage("Clan name box cannot be empty."); } } } else if (command.startsWith(_servicesBBSCommand + "_buffer")) { BoardsManager.getInstance().addBypass(activeChar, "Service Buffer", command); content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/services/buffer/main.htm"); separateAndSend(content, activeChar); } else if (command.startsWith(_servicesBBSCommand + "_functions_buffer")) { final String[] subCommand = command.split("_"); if (((activeChar.isInCombat() || (activeChar.getPvpFlag() != 0)) && !activeChar.isInsideZone(ZoneIdType.PEACE)) || activeChar.isJailed() || activeChar.isAlikeDead() || activeChar.isInOlympiadMode() || activeChar.inObserverMode() || SunriseEvents.isInEvent(activeChar) || OlympiadManager.getInstance().isRegistered(activeChar)) { activeChar.sendMessage("Cannot use at the moment."); content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/services/buffer/main.htm"); separateAndSend(content, activeChar); return; } // Page navigation, html command how to starts if (subCommand[4].startsWith("page")) { if (subCommand[5].isEmpty() || (subCommand[5] == null)) { return; } content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/services/buffer/" + subCommand[5]); separateAndSend(content, activeChar); } // Method to remove all players buffs else if (subCommand[4].startsWith("removebuff")) { activeChar.stopAllEffects(); BufferPacketSender.sendPacket(activeChar, "functions.htm", BufferPacketCategories.COMMUNITY, 1); } // Method to restore HP/MP/CP else if (subCommand[4].startsWith("healme")) { BoardsManager.getInstance().addBypass(activeChar, "Service Buffer Heal", command); if ((activeChar.getPvpFlag() != 0) && !activeChar.isInsideZone(ZoneIdType.PEACE)) { activeChar.sendMessage("Cannot use this feature here with flag."); BufferPacketSender.sendPacket(activeChar, "functions.htm", BufferPacketCategories.COMMUNITY, 1); return; } activeChar.setCurrentHpMp(activeChar.getMaxHp(), activeChar.getMaxMp()); activeChar.setCurrentCp(activeChar.getMaxCp()); BufferPacketSender.sendPacket(activeChar, "functions.htm", BufferPacketCategories.COMMUNITY, 1); } // Method to give auto buffs depends on class else if (subCommand[4].startsWith("autobuff")) { BoardsManager.getInstance().addBypass(activeChar, "Service Buffer Auto Buff", command); if ((activeChar.getPvpFlag() != 0) && !activeChar.isInsideZone(ZoneIdType.PEACE)) { activeChar.sendMessage("Cannot use this feature here with flag."); BufferPacketSender.sendPacket(activeChar, "functions.htm", BufferPacketCategories.COMMUNITY, 1); return; } AutoBuff.autoBuff(activeChar); BufferPacketSender.sendPacket(activeChar, "functions.htm", BufferPacketCategories.COMMUNITY, 1); } // Send buffs from profile to player or party or pet else if (subCommand[4].startsWith("bufffor")) { if (subCommand[4].startsWith("buffforpet")) { JavaBufferBypass.callPetBuffCommand(activeChar, subCommand[5]); } else if (subCommand[4].startsWith("buffforparty")) { JavaBufferBypass.callPartyBuffCommand(activeChar, subCommand[5]); } else if (subCommand[4].startsWith("buffforme")) { JavaBufferBypass.callSelfBuffCommand(activeChar, subCommand[5]); } BufferPacketSender.sendPacket(activeChar, "main.htm", BufferPacketCategories.COMMUNITY, 1); } // Method to give single buffs else if (subCommand[4].startsWith("buff")) { JavaBufferBypass.callBuffCommand(activeChar, subCommand[5], subCommand[4], 1); } // Scheme create new profile else if (subCommand[4].startsWith("saveProfile")) { try { JavaBufferBypass.callSaveProfile(activeChar, subCommand[5], 1); } catch (Exception e) { activeChar.sendMessage("Please specify a valid profile name."); BufferPacketSender.sendPacket(activeChar, "newSchemeProfile.htm", BufferPacketCategories.COMMUNITY, 1); return; } } else if (subCommand[4].startsWith("showAvaliable")) { JavaBufferBypass.callAvailableCommand(activeChar, subCommand[4], subCommand[5], 1); } else if (subCommand[4].startsWith("add")) { JavaBufferBypass.callAddCommand(activeChar, subCommand[4], subCommand[5], subCommand[6], 1); } // Method to delete player's selected profile else if (subCommand[4].startsWith("deleteProfile")) { PlayerMethods.delProfile(subCommand[5], activeChar); BufferPacketSender.sendPacket(activeChar, "main.htm", BufferPacketCategories.COMMUNITY, 1); } else if (subCommand[4].startsWith("showBuffsToDelete")) { GenerateHtmls.showBuffsToDelete(activeChar, subCommand[5], "removeBuffs"); } else if (subCommand[4].startsWith("removeBuffs")) { ThreadPoolManager.getInstance().executeGeneral(new BuffDeleter(activeChar, subCommand[5], Integer.parseInt(subCommand[6]), 1)); } else if (subCommand[4].startsWith("showProfiles")) { GenerateHtmls.showSchemeToEdit(activeChar, subCommand[5]); } } else { separateAndSend("<html><body><br><br><center>Command : " + command + " needs core development</center><br><br></body></html>", activeChar); } } private String buttons(L2PcInstance activeChar) { String add = ""; final int[] PKS = { 1, 2, 5, 10, 25, 50, 100, 250, 500, 1000 }; for (int pk : PKS) { if (activeChar.getPkKills() <= pk) { break; } add += getPkButton(pk); } if (activeChar.getPkKills() != 0) { add += getPkButton(activeChar.getPkKills()); } return add; } private String getPkButton(int i) { return "<table width=750 height=20><tr><td align=center><button value=\"for " + i + " PK - " + (CommunityServicesConfigs.COMMUNITY_SERVICES_WASH_PK_PRICE * i) + " " + ItemData.getInstance().getTemplate(CommunityServicesConfigs.COMMUNITY_SERVICES_WASH_PK_ID).getName() + " \" action=\"bypass " + _servicesBBSCommand + "_deletePK " + i + "\" width=280 height=22 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td></tr></table>"; } private String commandSeperator(String command) { StringTokenizer st = new StringTokenizer(command, " "); st.nextToken(); String dat = st.nextToken(); return dat; } private class Teleport implements Runnable { L2PcInstance _activeChar; private final int _x, _y, _z; Teleport(L2PcInstance activeChar, int x, int y, int z) { _activeChar = activeChar; _x = x; _y = y; _z = z; } @Override public void run() { _activeChar.setInstanceId(0); _activeChar.teleToLocation(_x, _y, _z, true); _activeChar.setIsCastingNow(false); _activeChar.enableAllSkills(); } } private void sendHtm(L2PcInstance activeChar, String filepath, String path, String file, String command) { String content = ""; filepath = path + file + ".htm"; File filecom = new File(filepath); if (!filecom.exists()) { content = "<html><body><br><br><center>The command " + command + " points to file(" + filepath + ") that NOT exists.</center></body></html>"; separateAndSend(content, activeChar); return; } content = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), filepath); if (content.isEmpty()) { content = "<html><body><br><br><center>Content Empty: The command " + command + " points to an invalid or empty html file(" + filepath + ").</center></body></html>"; } separateAndSend(content, activeChar); } @Override protected void separateAndSend(String html, L2PcInstance acha) { html = html.replace("\t", ""); html = html.replace("%command%", _servicesBBSCommand); if (html.length() < 8180) { acha.sendPacket(new ShowBoard(html, "101")); acha.sendPacket(new ShowBoard(null, "102")); acha.sendPacket(new ShowBoard(null, "103")); } else if (html.length() < (8180 * 2)) { acha.sendPacket(new ShowBoard(html.substring(0, 8180), "101")); acha.sendPacket(new ShowBoard(html.substring(8180, html.length()), "102")); acha.sendPacket(new ShowBoard(null, "103")); } else if (html.length() < (8180 * 3)) { acha.sendPacket(new ShowBoard(html.substring(0, 8180), "101")); acha.sendPacket(new ShowBoard(html.substring(8180, 8180 * 2), "102")); acha.sendPacket(new ShowBoard(html.substring(8180 * 2, html.length()), "103")); } } public static String getVoteBanners(L2PcInstance activeChar) { String voteBanners = ""; if (IndividualVoteSystemConfigs.VOTE_MANAGER_ALLOW_HOPZONE) { voteBanners += "<tr><td width=540 height=58 align=center valign=top>" + "<table border=0 width=540 height=38 cellspacing=4 cellpadding=3 bgcolor=232836>" + "<tr><td width=40 align=right valign=top>" + "<img src=\"icon.etc_orcish_talisman_i00\" width=32 height=32>" + "</td><td width=520 align=left valign=top>" + "<font color=\"a22020\">Vote in Hopzone</font><br1> <font color=c1b33a>Info:</font> You can vote " + VoteHandler.getWhenCanVote(activeChar, "HopZone") + "" + "</td><td width=80 height=39 align=right>" + "<table border=0 cellspacing=0 cellpadding=0 width=80>" + "<tr>" + "<td width=40 align=right valign=center>" + "Vote</td>" + "<td width=40 align=right valign=center>" + "<button value=\"\" action=\"bypass " + CommunityServicesConfigs.BYPASS_COMMAND + "_vote HopZone\" width=32 height=32 back=\"L2UI_ct1.MiniMap_DF_PlusBtn_Red_Down\" fore=\"L2UI_ct1.MiniMap_DF_PlusBtn_Red\">" + "</td>" + "</tr>" + "</table>" + "</td>" + "</tr>" + "</table>" + "</td>" + "</tr>"; } if (IndividualVoteSystemConfigs.VOTE_MANAGER_ALLOW_TOPZONE) { voteBanners += "<tr><td width=540 height=58 align=center valign=top>" + "<table border=0 width=540 height=38 cellspacing=4 cellpadding=3 bgcolor=232836>" + "<tr><td width=40 align=right valign=top>" + "<img src=\"icon.etc_barka_badge_officer_i02\" width=32 height=32>" + "</td><td width=520 align=left valign=top>" + "<font color=\"a22020\">Vote in Topzone</font><br1> <font color=c1b33a>Info:</font> You can vote " + VoteHandler.getWhenCanVote(activeChar, "TopZone") + "" + "</td><td width=80 height=39 align=right>" + "<table border=0 cellspacing=0 cellpadding=0 width=80>" + "<tr>" + "<td width=40 align=right valign=center>" + "Vote</td>" + "<td width=40 align=right valign=center>" + "<button value=\"\" action=\"bypass " + CommunityServicesConfigs.BYPASS_COMMAND + "_vote TopZone\" width=32 height=32 back=\"L2UI_ct1.MiniMap_DF_PlusBtn_Red_Down\" fore=\"L2UI_ct1.MiniMap_DF_PlusBtn_Red\">" + "</td>" + "</tr>" + "</table>" + "</td>" + "</tr>" + "</table>" + "</td>" + "</tr>"; } if (IndividualVoteSystemConfigs.VOTE_MANAGER_ALLOW_TOPCO) { voteBanners += "<tr><td width=540 height=58 align=center valign=top>" + "<table border=0 width=540 height=38 cellspacing=4 cellpadding=3 bgcolor=232836>" + "<tr><td width=40 align=right valign=top>" + "<img src=\"icon.etc_jewel_white_i00\" width=32 height=32>" + "</td><td width=520 align=left valign=top>" + "<font color=\"a22020\">Vote in Top.co</font><br1> <font color=c1b33a>Info:</font> You can vote " + VoteHandler.getWhenCanVote(activeChar, "L2TopCo") + "" + "</td><td width=80 height=39 align=right>" + "<table border=0 cellspacing=0 cellpadding=0 width=80>" + "<tr>" + "<td width=40 align=right valign=center>" + "Vote</td>" + "<td width=40 align=right valign=center>" + "<button value=\"\" action=\"bypass " + CommunityServicesConfigs.BYPASS_COMMAND + "_vote L2TopCo\" width=32 height=32 back=\"L2UI_ct1.MiniMap_DF_PlusBtn_Red_Down\" fore=\"L2UI_ct1.MiniMap_DF_PlusBtn_Red\">" + "</td>" + "</tr>" + "</table>" + "</td>" + "</tr>" + "</table>" + "</td>" + "</tr>"; } if (IndividualVoteSystemConfigs.VOTE_MANAGER_ALLOW_NETWORK) { voteBanners += "<tr><td width=540 height=58 align=center valign=top>" + "<table border=0 width=540 height=38 cellspacing=4 cellpadding=3 bgcolor=232836>" + "<tr><td width=40 align=right valign=top>" + "<img src=\"icon.etc_Symbol_of_dawn_i00\" width=32 height=32>" + "</td><td width=520 align=left valign=top>" + "<font color=\"a22020\">Vote in L2NetWork</font><br1> <font color=c1b33a>Info:</font> You can vote " + VoteHandler.getWhenCanVote(activeChar, "L2NetWork") + "" + "</td><td width=80 height=39 align=right>" + "<table border=0 cellspacing=0 cellpadding=0 width=80>" + "<tr>" + "<td width=40 align=right valign=center>" + "Vote</td>" + "<td width=40 align=right valign=center>" + "<button value=\"\" action=\"bypass " + CommunityServicesConfigs.BYPASS_COMMAND + "_vote L2NetWork\" width=32 height=32 back=\"L2UI_ct1.MiniMap_DF_PlusBtn_Red_Down\" fore=\"L2UI_ct1.MiniMap_DF_PlusBtn_Red\">" + "</td>" + "</tr>" + "</table>" + "</td>" + "</tr>" + "</table>" + "</td>" + "</tr>"; } if (IndividualVoteSystemConfigs.VOTE_MANAGER_ALLOW_GAMEBYTES) { voteBanners += "<tr><td width=540 height=58 align=center valign=top>" + "<table border=0 width=540 height=38 cellspacing=4 cellpadding=3 bgcolor=232836>" + "<tr><td width=40 align=right valign=top>" + "<img src=\"icon.etc_nutrients_of_cupid_i00\" width=32 height=32>" + "</td><td width=520 align=left valign=top>" + "<font color=\"a22020\">Vote in Gamebytes</font><br1> <font color=c1b33a>Info:</font> You can vote " + VoteHandler.getWhenCanVote(activeChar, "GameBytes") + "" + "</td><td width=80 height=39 align=right>" + "<table border=0 cellspacing=0 cellpadding=0 width=80>" + "<tr>" + "<td width=40 align=right valign=center>" + "Vote</td>" + "<td width=40 align=right valign=center>" + "<button value=\"\" action=\"bypass " + CommunityServicesConfigs.BYPASS_COMMAND + "_vote GameBytes\" width=32 height=32 back=\"L2UI_ct1.MiniMap_DF_PlusBtn_Red_Down\" fore=\"L2UI_ct1.MiniMap_DF_PlusBtn_Red\">" + "</td>" + "</tr>" + "</table>" + "</td>" + "</tr>" + "</table>" + "</td>" + "</tr>"; } if (IndividualVoteSystemConfigs.VOTE_MANAGER_ALLOW_TOPGS00) { voteBanners += "<tr><td width=540 height=58 align=center valign=top>" + "<table border=0 width=540 height=38 cellspacing=4 cellpadding=3 bgcolor=232836>" + "<tr><td width=40 align=right valign=top>" + "<img src=\"icon.etc_badge_gold_i00\" width=32 height=32>" + "</td><td width=520 align=left valign=top>" + "<font color=\"a22020\">Vote in TopGs200</font><br1> <font color=c1b33a>Info:</font> You can vote " + VoteHandler.getWhenCanVote(activeChar, "TopGs200") + "" + "</td><td width=80 height=39 align=right>" + "<table border=0 cellspacing=0 cellpadding=0 width=80>" + "<tr>" + "<td width=40 align=right valign=center>" + "Vote</td>" + "<td width=40 align=right valign=center>" + "<button value=\"\" action=\"bypass " + CommunityServicesConfigs.BYPASS_COMMAND + "_vote TopGs200\" width=32 height=32 back=\"L2UI_ct1.MiniMap_DF_PlusBtn_Red_Down\" fore=\"L2UI_ct1.MiniMap_DF_PlusBtn_Red\">" + "</td>" + "</tr>" + "</table>" + "</td>" + "</tr>" + "</table>" + "</td>" + "</tr>"; } if (IndividualVoteSystemConfigs.VOTE_MANAGER_ALLOW_TOPSERVERS200) { voteBanners += "<tr><td width=540 height=58 align=center valign=top>" + "<table border=0 width=540 height=38 cellspacing=4 cellpadding=3 bgcolor=232836>" + "<tr><td width=40 align=right valign=top>" + "<img src=\"icon.energy_condenser_i00\" width=32 height=32>" + "</td><td width=520 align=left valign=top>" + "<font color=\"a22020\">Vote in TopServer200</font><br1> <font color=c1b33a>Info:</font> You can vote " + VoteHandler.getWhenCanVote(activeChar, "TopServers200") + "" + "</td><td width=80 height=39 align=right>" + "<table border=0 cellspacing=0 cellpadding=0 width=80>" + "<tr>" + "<td width=40 align=right valign=center>" + "Vote</td>" + "<td width=40 align=right valign=center>" + "<button value=\"\" action=\"bypass " + CommunityServicesConfigs.BYPASS_COMMAND + "_vote TopServers200\" width=32 height=32 back=\"L2UI_ct1.MiniMap_DF_PlusBtn_Red_Down\" fore=\"L2UI_ct1.MiniMap_DF_PlusBtn_Red\">" + "</td>" + "</tr>" + "</table>" + "</td>" + "</tr>" + "</table>" + "</td>" + "</tr>"; } if (IndividualVoteSystemConfigs.ENABLE_TRIES) { if (Integer.parseInt(activeChar.getVar("vote_tries", "9999")) == 9999) { activeChar.setVar("vote_tries", String.valueOf(IndividualVoteSystemConfigs.TRIES_AMOUNT)); } voteBanners += "<tr><td width=540 align=center valign=top><br>Tries: <font color=AE9977>" + activeChar.getVar("vote_tries", "0") + "</font></td></tr>"; } return voteBanners; } @Override public void parsewrite(String url, String ar1, String ar2, String ar3, String ar4, String ar5, L2PcInstance activeChar) { } public static ServicesBBSManager getInstance() { return SingletonHolder._instance; } private static class SingletonHolder { protected static final ServicesBBSManager _instance = new ServicesBBSManager(); } } So, what is missing here? For npc is (..)_chat x. For CB i don't know how to set
×
×
  • Create New...