Jump to content

criss22

Members
  • Posts

    515
  • 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...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock