Ir para conteúdo
  • Cadastre-se

deyvsonn

Membro
  • Total de itens

    29
  • Registro em

  • Última visita

1 Seguidor

Sobre deyvsonn

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

deyvsonn's Achievements

Aprendiz de Novato

Aprendiz de Novato (1/14)

2

Reputação

  1. <zone id='11034' type='Town' shape="NPoly" minZ="-3800" maxZ="-3400"> <stat name='name' val='Heine'/> <stat name='noPeace' val='true'/> <stat name='townId' val='15'/> <stat name='redirectTownId' val='16'/> <stat name='taxById' val='6'/> <spawn X='110727' Y='219641' Z='-3674'/> <spawn X='110723' Y='220670' Z='-3674'/> <spawn X='112053' Y='220711' Z='-3674'/> <spawn X='112049' Y='219605' Z='-3674'/> <spawn X='107737' Y='218347' Z='-3678'/> <spawn X='107970' Y='218106' Z='-3678'/> <spawn X='111386' Y='219079' Z='-3546'/> <spawn X='111320' Y='221398' Z='-3611'/> <spawn X='110006' Y='219309' Z='-3482'/> <spawn X='112616' Y='219451' Z='-3546'/> Basta add a linha: <stat name='noPeace' val='true'/> E mudar o shape="NPoly" para shape="Cuboid" Tenta isso amigo
  2. deyvsonn

    CP potion

    Galera Boa noite tenho um Servidor que baixei mais o CP potion não pode usar em modo de combate como posso alterar isso ? Uso a versão Gracia final
  3. Bom dia Galera Estou com um Servidor Gracia Final e estou colocando um set Exclusivo para Hero porem quando coloco a condição so para hero não proibi nada o ppl continua usando mesmo sem ser heroi . EX: <item id="43050" name="Infinity Breastplate"> <cond msgId="1518"> <player isHero="true"/> <player races="Human,Elf,DarkElf,Orc,Dwarf" /> </cond> <for> <add val="330" order="0x10" stat="pDef"/> <add val='2000' order='0x40' stat='maxHp' /> <add val='1500' order='0x40' stat='maxCp' /> <enchant val='0' order='0x0C' stat='pDef' /> <basemul val='0.25' order='0x40' stat='pAtk'/> <basemul val='0.05' order='0x40' stat='pDef'/> </for> </item> eu vi que no servidor que baixei tem um Scripit para as armas Hero tentei alterar mais nada feito :(
  4. deyvsonn

    GLOW

    Boa tarde galera aluguem tem lista de Glow ou seja efeitos das armas ? vlw
  5. deyvsonn

    Adapitar

    Bom, dia galera alguém sabe ou tem um tópico que mostre como adaptar um item de H5 para Gracia final ou seja uma arma um set ....... Agradeço desde ja.
  6. deyvsonn

    Pontos de Clan

    Boa tarde Galera estou com um problema no meu servidor estou montando ele e no momento não consigo editar para um Raid boss dropar Reputação de clan Como posso resolver isso se alguém souber Fivo Muio agradecido mesmo a minha versão e H5
  7. deyvsonn

    Npc Chamberlain

    Fala Galera Bomm Dia Estou com um Problema em trocar os itens do npc do castelo O que da a coroa e a capa Gostaria de trocar os items que entrega aos ppls mais não encontro o multisell sei que a coroa e um script do java so mais os Generais itens não encontro em canto nenhum se alguém poder ma ajudar fico super grato mesmo vlw. e gostaria de colocar a capa de giram para entregar junto com a coroa .vou por o script do java pra ver se alguém consegue desenrolar essa guerra o item e a quantidade que entrega da coroa esta de vermelho para ajudar encontrar vlw Ha uso a versão HIgh Five /* * Copyright © 2004-2013 L2J DataPack * * This file is part of L2J DataPack. * * L2J DataPack 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 DataPack 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 <[Hidden Content];. */ package ai.npc.CastleChamberlain; import java.util.Arrays; import java.util.Calendar; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.StringTokenizer; import ai.npc.AbstractNpcAI; import com.l2jserver.Config; import com.l2jserver.gameserver.SevenSigns; import com.l2jserver.gameserver.datatables.ClanTable; import com.l2jserver.gameserver.datatables.TeleportLocationTable; import com.l2jserver.gameserver.instancemanager.CastleManager; import com.l2jserver.gameserver.instancemanager.FortManager; import com.l2jserver.gameserver.model.L2Clan; import com.l2jserver.gameserver.model.L2TeleportLocation; import com.l2jserver.gameserver.model.PcCondOverride; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2DoorInstance; import com.l2jserver.gameserver.model.actor.instance.L2MerchantInstance; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.entity.Castle; import com.l2jserver.gameserver.model.entity.Castle.CastleFunction; import com.l2jserver.gameserver.model.entity.Fort; import com.l2jserver.gameserver.model.holders.SkillHolder; import com.l2jserver.gameserver.model.itemcontainer.PcInventory; import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.ExShowCropSetting; import com.l2jserver.gameserver.network.serverpackets.ExShowDominionRegistry; import com.l2jserver.gameserver.network.serverpackets.ExShowSeedInfo; import com.l2jserver.gameserver.network.serverpackets.ExShowSeedSetting; import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage; import com.l2jserver.gameserver.util.Util; /** * Castle Chamberlain AI. * @author malyelfik */ public class CastleChamberlain extends AbstractNpcAI { // NPCs private static final int[] NPC = { 35100, // Sayres 35142, // Crosby 35184, // Saul 35226, // Brasseur 35274, // Logan 35316, // Neurath 35363, // Alfred 35509, // Frederick 35555, // August }; // Item private static final int CROWN = 6841; // Fortress private static final Map<Integer, List<Integer>> FORTRESS = new HashMap<>(); static { FORTRESS.put(1, Arrays.asList(101, 102, 112, 113)); // Gludio Castle FORTRESS.put(2, Arrays.asList(103, 112, 114, 115)); // Dion Castle FORTRESS.put(3, Arrays.asList(104, 114, 116, 118, 119)); // Giran Castle FORTRESS.put(4, Arrays.asList(105, 113, 115, 116, 117)); // Oren Castle FORTRESS.put(5, Arrays.asList(106, 107, 117, 118)); // Aden Castle FORTRESS.put(6, Arrays.asList(108, 119)); // Innadril Castle FORTRESS.put(7, Arrays.asList(109, 117, 120)); // Goddard Castle FORTRESS.put(8, Arrays.asList(110, 120, 121)); // Rune Castle FORTRESS.put(9, Arrays.asList(111, 121)); // Schuttgart Castle } // Buffs private static final SkillHolder[] BUFFS = { new SkillHolder(4342, 2), // Wind Walk Lv.2 new SkillHolder(4343, 3), // Decrease Weight Lv.3 new SkillHolder(4344, 3), // Shield Lv.3 new SkillHolder(4346, 4), // Mental Shield Lv.4 new SkillHolder(4345, 3), // Might Lv.3 new SkillHolder(4347, 2), // Bless the Body Lv.2 new SkillHolder(4349, 1), // Magic Barrier Lv.1 new SkillHolder(4350, 1), // Resist Shock Lv.1 new SkillHolder(4348, 2), // Bless the Soul Lv.2 new SkillHolder(4351, 2), // Concentration Lv.2 new SkillHolder(4352, 1), // Berserker Spirit Lv.1 new SkillHolder(4353, 2), // Bless Shield Lv.2 new SkillHolder(4358, 1), // Guidance Lv.1 new SkillHolder(4354, 1), // Vampiric Rage Lv.1 new SkillHolder(4347, 6), // Bless the Body Lv.6 new SkillHolder(4349, 2), // Magic Barrier Lv.2 new SkillHolder(4350, 4), // Resist Shock Lv.4 new SkillHolder(4348, 6), // Bless the Soul Lv.6 new SkillHolder(4351, 6), // Concentration Lv.6 new SkillHolder(4352, 2), // Berserker Spirit Lv.2 new SkillHolder(4353, 6), // Bless Shield Lv.6 new SkillHolder(4358, 3), // Guidance Lv.3 new SkillHolder(4354, 4), // Vampiric Rage Lv.4 new SkillHolder(4355, 1), // Acumen Lv.1 new SkillHolder(4356, 1), // Empower Lv.1 new SkillHolder(4357, 1), // Haste Lv.1 new SkillHolder(4359, 1), // Focus Lv.1 new SkillHolder(4360, 1), // Death Whisper Lv.1 }; private CastleChamberlain(String name, String descr) { super(name, descr); addStartNpc(NPC); addTalkId(NPC); addFirstTalkId(NPC); } private final String funcConfirmHtml(final L2PcInstance player, final L2Npc npc, final Castle castle, final int func, final int level) { if (isOwner(player, npc) && hasPrivilege(player, L2Clan.CP_CS_SET_FUNCTIONS)) { final NpcHtmlMessage html = new NpcHtmlMessage(npc.getObjectId()); final String fstring = (func == Castle.FUNC_TELEPORT) ? "9" : "10"; if (level == 0) { html.setHtml(getHtm(player.getHtmlPrefix(), "castleresetdeco.html")); html.replace("%AgitDecoSubmit%", Integer.toString(func)); } else if ((castle.getFunction(func) != null) && (castle.getFunction(func).getLvl() == level)) { html.setHtml(getHtm(player.getHtmlPrefix(), "castledecoalreadyset.html")); html.replace("%AgitDecoEffect%", "<fstring p1=\"" + level + "\">" + fstring + "</fstring>"); } else { html.setHtml(getHtm(player.getHtmlPrefix(), "castledeco-0" + func + ".html")); html.replace("%AgitDecoCost%", "<fstring p1=\"" + getFunctionFee(func, level) + "\" p2=\"" + (getFunctionRatio(func) / 86400000) + "\">6</fstring>"); html.replace("%AgitDecoEffect%", "<fstring p1=\"" + level + "\">" + fstring + "</fstring>"); html.replace("%AgitDecoSubmit%", func + " " + level); } player.sendPacket(html); return null; } return "chamberlain-21.html"; } private final void funcReplace(final Castle castle, final NpcHtmlMessage html, final int func, final String str) { final CastleFunction function = castle.getFunction(func); if (function == null) { html.replace("%" + str + "Depth%", "<fstring>4</fstring>"); html.replace("%" + str + "Cost%", ""); html.replace("%" + str + "Expire%", "<fstring>4</fstring>"); html.replace("%" + str + "Reset%", ""); } else { final String fstring = ((func == Castle.FUNC_SUPPORT) || (func == Castle.FUNC_TELEPORT)) ? "9" : "10"; final Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(function.getEndTime()); html.replace("%" + str + "Depth%", "<fstring p1=\"" + function.getLvl() + "\">" + fstring + "</fstring>"); html.replace("%" + str + "Cost%", "<fstring p1=\"" + function.getLease() + "\" p2=\"" + (function.getRate() / 86400000) + "\">6</fstring>"); html.replace("%" + str + "Expire%", "<fstring p1=\"" + calendar.get(Calendar.DATE) + "\" p2=\"" + (calendar.get(Calendar.MONTH) + 1) + "\" p3=\"" + calendar.get(Calendar.YEAR) + "\">5</fstring>"); html.replace("%" + str + "Reset%", "[<a action=\"bypass -h Quest CastleChamberlain " + str + " 0\">Deactivate</a>]"); } } private final int getFunctionFee(final int func, final int level) { int fee = 0; switch (func) { case Castle.FUNC_RESTORE_EXP: fee = (level == 45) ? Config.CS_EXPREG1_FEE : Config.CS_EXPREG2_FEE; break; case Castle.FUNC_RESTORE_HP: fee = (level == 300) ? Config.CS_HPREG1_FEE : Config.CS_HPREG2_FEE; break; case Castle.FUNC_RESTORE_MP: fee = (level == 40) ? Config.CS_MPREG1_FEE : Config.CS_MPREG2_FEE; break; case Castle.FUNC_SUPPORT: fee = (level == 5) ? Config.CS_SUPPORT1_FEE : Config.CS_SUPPORT2_FEE; break; case Castle.FUNC_TELEPORT: fee = (level == 1) ? Config.CS_TELE1_FEE : Config.CS_TELE2_FEE; break; } return fee; } private final long getFunctionRatio(final int func) { long ratio = 0; switch (func) { case Castle.FUNC_RESTORE_EXP: ratio = Config.CS_EXPREG_FEE_RATIO; break; case Castle.FUNC_RESTORE_HP: ratio = Config.CS_HPREG_FEE_RATIO; break; case Castle.FUNC_RESTORE_MP: ratio = Config.CS_MPREG_FEE_RATIO; break; case Castle.FUNC_SUPPORT: ratio = Config.CS_SUPPORT_FEE_RATIO; break; case Castle.FUNC_TELEPORT: ratio = Config.CS_TELE_FEE_RATIO; break; } return ratio; } private final int getDoorUpgradePrice(final int type, final int level) { int price = 0; switch (type) { case 1: // Outer Door { switch (level) { case 2: price = Config.OUTER_DOOR_UPGRADE_PRICE2; break; case 3: price = Config.OUTER_DOOR_UPGRADE_PRICE3; break; case 5: price = Config.OUTER_DOOR_UPGRADE_PRICE5; break; } break; } case 2: // Inner Door { switch (level) { case 2: price = Config.INNER_DOOR_UPGRADE_PRICE2; break; case 3: price = Config.INNER_DOOR_UPGRADE_PRICE3; break; case 5: price = Config.INNER_DOOR_UPGRADE_PRICE5; break; } break; } case 3: // Wall { switch (level) { case 2: price = Config.WALL_UPGRADE_PRICE2; break; case 3: price = Config.WALL_UPGRADE_PRICE3; break; case 5: price = Config.WALL_UPGRADE_PRICE5; break; } break; } } switch (SevenSigns.getInstance().getSealOwner(SevenSigns.SEAL_STRIFE)) { case SevenSigns.CABAL_DUSK: price *= 3; break; case SevenSigns.CABAL_DAWN: price *= 0.8; break; } return price; } private final String getSealOwner(final int seal) { String npcString; switch (SevenSigns.getInstance().getSealOwner(seal)) { case SevenSigns.CABAL_DAWN: npcString = "1000511"; break; case SevenSigns.CABAL_DUSK: npcString = "1000510"; break; default: npcString = "1000512"; break; } return npcString; } private final int getTaxLimit() { final int taxLimit; switch (SevenSigns.getInstance().getSealOwner(SevenSigns.SEAL_STRIFE)) { case SevenSigns.CABAL_DAWN: taxLimit = 25; break; case SevenSigns.CABAL_DUSK: taxLimit = 5; break; default: taxLimit = 15; break; } return taxLimit; } private final int getTrapUpgradePrice(final int level) { int price = 0; switch (level) { case 1: price = Config.TRAP_UPGRADE_PRICE1; break; case 2: price = Config.TRAP_UPGRADE_PRICE2; break; case 3: price = Config.TRAP_UPGRADE_PRICE3; break; case 4: price = Config.TRAP_UPGRADE_PRICE4; break; } switch (SevenSigns.getInstance().getSealOwner(SevenSigns.SEAL_STRIFE)) { case SevenSigns.CABAL_DUSK: price *= 3; break; case SevenSigns.CABAL_DAWN: price *= 0.8; break; } return price; } private final boolean hasPrivilege(final L2PcInstance player, final int privilege) { return ((player.getClanPrivileges() & privilege) == privilege); } private final boolean isDomainFortressInContractStatus(final int castleId) { final int numFort = ((castleId == 1) || (castleId == 5)) ? 2 : 1; final List<Integer> fortList = FORTRESS.get(castleId); for (int i = 0; i < numFort; i++) { final Fort fortress = FortManager.getInstance().getFortById(fortList.get(i)); if (fortress.getFortState() == 2) { return true; } } return false; } private final boolean isOwner(final L2PcInstance player, final L2Npc npc) { return player.canOverrideCond(PcCondOverride.CASTLE_CONDITIONS) || npc.isMyLord(player) || (player.getClanId() == npc.getCastle().getOwnerId()); } @Override public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) { final Castle castle = npc.getCastle(); final StringTokenizer st = new StringTokenizer(event, " "); String htmltext = null; switch (st.nextToken()) { case "chamberlain-01.html": case "manor-help-01.html": case "manor-help-02.html": case "manor-help-03.html": case "manor-help-04.html": { htmltext = event; break; } case "fort_status": { if (npc.isMyLord(player)) { final StringBuilder sb = new StringBuilder(); final List<Integer> fort = FORTRESS.get(castle.getCastleId()); for (int id : fort) { final Fort fortress = FortManager.getInstance().getFortById(id); final int fortId = fortress.getFortId(); final String fortType = (fortId < 112) ? "1300133" : "1300134"; final String fortStatus; switch (fortress.getFortState()) { case 1: fortStatus = "1300122"; break; case 2: fortStatus = "1300124"; break; default: fortStatus = "1300123"; break; } sb.append("<fstring>1300" + fortId + "</fstring>"); sb.append(" (<fstring>" + fortType + "</fstring>)"); sb.append(" : <font color=\"00FFFF\"><fstring>" + fortStatus + "</fstring></font><br>"); } final NpcHtmlMessage html = new NpcHtmlMessage(npc.getObjectId()); html.setHtml(getHtm(player.getHtmlPrefix(), "chamberlain-28.html")); html.replace("%list%", sb.toString()); player.sendPacket(html); } else { htmltext = "chamberlain-21.html"; } break; } case "siege_functions": { if (isOwner(player, npc) && hasPrivilege(player, L2Clan.CP_CS_SET_FUNCTIONS)) { if (castle.getSiege().getIsInProgress()) { htmltext = "chamberlain-08.html"; } else if (!isDomainFortressInContractStatus(castle.getCastleId())) { htmltext = "chamberlain-27.html"; } else if (!SevenSigns.getInstance().isCompResultsPeriod()) { htmltext = "chamberlain-26.html"; } else { htmltext = "chamberlain-12.html"; } } else { htmltext = "chamberlain-21.html"; } break; } case "manage_doors": { if (isOwner(player, npc) && hasPrivilege(player, L2Clan.CP_CS_SET_FUNCTIONS)) { if (st.hasMoreTokens()) { final StringBuilder sb = new StringBuilder(); final NpcHtmlMessage html = new NpcHtmlMessage(npc.getObjectId()); html.setHtml(getHtm(player.getHtmlPrefix(), "chamberlain-13.html")); html.replace("%type%", st.nextToken()); while (st.hasMoreTokens()) { sb.append(" " + st.nextToken()); } html.replace("%doors%", sb.toString()); player.sendPacket(html); } else { htmltext = npc.getNpcId() + "-du.html"; } } else { htmltext = "chamberlain-21.html"; } break; } case "upgrade_doors": { if (isOwner(player, npc) && hasPrivilege(player, L2Clan.CP_CS_SET_FUNCTIONS)) { final int type = Integer.parseInt(st.nextToken()); final int level = Integer.parseInt(st.nextToken()); final NpcHtmlMessage html = new NpcHtmlMessage(npc.getObjectId()); html.setHtml(getHtm(player.getHtmlPrefix(), "chamberlain-14.html")); html.replace("%gate_price%", Integer.toString(getDoorUpgradePrice(type, level))); html.replace("%event%", event.substring("upgrade_doors".length() + 1)); player.sendPacket(html); } else { htmltext = "chamberlain-21.html"; } break; } case "upgrade_doors_confirm": { if (isOwner(player, npc) && hasPrivilege(player, L2Clan.CP_CS_SET_FUNCTIONS)) { if (castle.getSiege().getIsInProgress()) { return "chamberlain-08.html"; } final int type = Integer.parseInt(st.nextToken()); final int level = Integer.parseInt(st.nextToken()); final int price = getDoorUpgradePrice(type, level); final int[] doors = new int[2]; for (int i = 0; i <= st.countTokens(); i++) { doors = Integer.parseInt(st.nextToken()); } final L2DoorInstance door = castle.getDoor(doors[0]); if (door == null) { return null; } final int currentLevel = door.getStat().getUpgradeHpRatio(); if (currentLevel >= level) { final NpcHtmlMessage html = new NpcHtmlMessage(npc.getObjectId()); html.setHtml(getHtm(player.getHtmlPrefix(), "chamberlain-15.html")); html.replace("%doorlevel%", Integer.toString(currentLevel)); player.sendPacket(html); } else if (player.getAdena() >= price) { takeItems(player, PcInventory.ADENA_ID, price); for (int doorId : doors) { castle.setDoorUpgrade(doorId, level, true); } htmltext = "chamberlain-16.html"; } else { htmltext = "chamberlain-09.html"; } } else { htmltext = "chamberlain-21.html"; } break; } case "manage_trap": { if (isOwner(player, npc) && hasPrivilege(player, L2Clan.CP_CS_SET_FUNCTIONS)) { if (st.hasMoreTokens()) { final NpcHtmlMessage html = new NpcHtmlMessage(npc.getObjectId()); if (castle.getName().equalsIgnoreCase("aden")) { html.setHtml(getHtm(player.getHtmlPrefix(), "chamberlain-17a.html")); } else { html.setHtml(getHtm(player.getHtmlPrefix(), "chamberlain-17.html")); } html.replace("%trapIndex%", st.nextToken()); player.sendPacket(html); } else { htmltext = npc.getNpcId() + "-tu.html"; } } else { htmltext = "chamberlain-21.html"; } break; } case "upgrade_trap": { if (isOwner(player, npc) && hasPrivilege(player, L2Clan.CP_CS_SET_FUNCTIONS)) { final String trapIndex = st.nextToken(); final int level = Integer.parseInt(st.nextToken()); final NpcHtmlMessage html = new NpcHtmlMessage(npc.getObjectId()); html.setHtml(getHtm(player.getHtmlPrefix(), "chamberlain-18.html")); html.replace("%trapIndex%", trapIndex); html.replace("%level%", Integer.toString(level)); html.replace("%dmgzone_price%", Integer.toString(getTrapUpgradePrice(level))); player.sendPacket(html); } else { htmltext = "chamberlain-21.html"; } break; } case "upgrade_trap_confirm": { if (isOwner(player, npc) && hasPrivilege(player, L2Clan.CP_CS_SET_FUNCTIONS)) { if (castle.getSiege().getIsInProgress()) { return "chamberlain-08.html"; } final int trapIndex = Integer.parseInt(st.nextToken()); final int level = Integer.parseInt(st.nextToken()); final int price = getTrapUpgradePrice(level); final int currentLevel = castle.getTrapUpgradeLevel(trapIndex); if (currentLevel >= level) { final NpcHtmlMessage html = new NpcHtmlMessage(npc.getObjectId()); html.setHtml(getHtm(player.getHtmlPrefix(), "chamberlain-19.html")); html.replace("%dmglevel%", Integer.toString(currentLevel)); player.sendPacket(html); } else if (player.getAdena() >= price) { takeItems(player, PcInventory.ADENA_ID, price); castle.setTrapUpgrade(trapIndex, level, true); htmltext = "chamberlain-20.html"; } else { htmltext = "chamberlain-09.html"; } } else { htmltext = "chamberlain-21.html"; } break; } case "receive_report": { if (npc.isMyLord(player)) { if (castle.getSiege().getIsInProgress()) { htmltext = "chamberlain-07.html"; } else { final L2Clan clan = ClanTable.getInstance().getClan(castle.getOwnerId()); final NpcHtmlMessage html = new NpcHtmlMessage(npc.getObjectId()); html.setHtml(getHtm(player.getHtmlPrefix(), "chamberlain-02.html")); html.replace("%clanleadername%", clan.getLeaderName()); html.replace("%clanname%", clan.getName()); html.replace("%castlename%", String.valueOf(1001000 + castle.getCastleId())); switch (SevenSigns.getInstance().getCurrentPeriod()) { case SevenSigns.PERIOD_SEAL_VALIDATION: case SevenSigns.PERIOD_COMP_RECRUITING: html.replace("%ss_event%", "1000509"); break; case SevenSigns.PERIOD_COMPETITION: html.replace("%ss_event%", "1000507"); break; case SevenSigns.PERIOD_COMP_RESULTS: html.replace("%ss_event%", "1000508"); break; } html.replace("%ss_avarice%", getSealOwner(1)); html.replace("%ss_gnosis%", getSealOwner(2)); html.replace("%ss_strife%", getSealOwner(3)); player.sendPacket(html); } } else { htmltext = "chamberlain-21.html"; } break; } case "manage_tax": { if (isOwner(player, npc) && hasPrivilege(player, L2Clan.CP_CS_TAXES)) { if (castle.getSiege().getIsInProgress()) { htmltext = "chamberlain-08.html"; } else { final NpcHtmlMessage html = new NpcHtmlMessage(npc.getObjectId()); html.setHtml(getHtm(player.getHtmlPrefix(), "castlesettaxrate.html")); html.replace("%tax_rate%", Integer.toString(castle.getTaxPercent())); html.replace("%next_tax_rate%", "0"); // TODO: Implement me! html.replace("%tax_limit%", Integer.toString(getTaxLimit())); player.sendPacket(html); } } else if (isOwner(player, npc)) { final NpcHtmlMessage html = new NpcHtmlMessage(npc.getObjectId()); html.setHtml(getHtm(player.getHtmlPrefix(), "chamberlain-03.html")); html.replace("%tax_rate%", Integer.toString(castle.getTaxPercent())); html.replace("%next_tax_rate%", "0"); // TODO: Implement me! player.sendPacket(html); } else { htmltext = "chamberlain-21.html"; } break; } case "set_tax": { if (isOwner(player, npc) && hasPrivilege(player, L2Clan.CP_CS_TAXES)) { if (castle.getSiege().getIsInProgress()) { htmltext = "chamberlain-08.html"; } else { final NpcHtmlMessage html = new NpcHtmlMessage(npc.getObjectId()); final int tax = (st.hasMoreTokens()) ? Integer.parseInt(st.nextToken()) : 0; final int taxLimit = getTaxLimit(); if (tax > taxLimit) { html.setHtml(getHtm(player.getHtmlPrefix(), "castletoohightaxrate.html")); html.replace("%tax_limit%", Integer.toString(taxLimit)); } else { castle.setTaxPercent(tax); html.setHtml(getHtm(player.getHtmlPrefix(), "castleaftersettaxrate.html")); html.replace("%next_tax_rate%", Integer.toString(tax)); } player.sendPacket(html); } } else { htmltext = "chamberlain-21.html"; } break; } case "manage_vault": { if (isOwner(player, npc) && hasPrivilege(player, L2Clan.CP_CS_TAXES)) { final NpcHtmlMessage html = new NpcHtmlMessage(npc.getObjectId()); html.setHtml(getHtm(player.getHtmlPrefix(), "castlemanagevault.html")); html.replace("%tax_income%", Util.formatAdena(castle.getTreasury())); html.replace("%tax_income_reserved%", "0"); // TODO: Implement me! html.replace("%seed_income%", "0"); // TODO: Implement me! player.sendPacket(html); } else { htmltext = "chamberlain-21.html"; } break; } case "deposit": { if (isOwner(player, npc) && hasPrivilege(player, L2Clan.CP_CS_TAXES)) { final long amount = (st.hasMoreTokens()) ? Long.parseLong(st.nextToken()) : 0; if ((amount > 0) && (amount < PcInventory.MAX_ADENA)) { if (player.getAdena() >= amount) { takeItems(player, PcInventory.ADENA_ID, amount); castle.addToTreasuryNoTax(amount); } else { player.sendPacket(SystemMessageId.YOU_NOT_ENOUGH_ADENA); } } htmltext = "chamberlain-01.html"; } else { htmltext = "chamberlain-21.html"; } break; } case "withdraw": { if (isOwner(player, npc) && hasPrivilege(player, L2Clan.CP_CS_TAXES)) { final long amount = (st.hasMoreTokens()) ? Long.parseLong(st.nextToken()) : 0; if (amount <= castle.getTreasury()) { castle.addToTreasuryNoTax((-1) * amount); giveAdena(player, amount, false); return "chamberlain-01.html"; } final NpcHtmlMessage html = new NpcHtmlMessage(npc.getObjectId()); html.setHtml(getHtm(player.getHtmlPrefix(), "castlenotenoughbalance.html")); html.replace("%tax_income%", Util.formatAdena(castle.getTreasury())); html.replace("%withdraw_amount%", Util.formatAdena(amount)); player.sendPacket(html); } else { htmltext = "chamberlain-21.html"; } break; } case "manage_functions": { htmltext = (isOwner(player, npc)) ? (castle.getSiege().getIsInProgress()) ? "chamberlain-08.html" : "chamberlain-23.html" : "chamberlain-21.html"; break; } case "banish_foreigner_show": { htmltext = (isOwner(player, npc) && hasPrivilege(player, L2Clan.CP_CS_DISMISS)) ? (castle.getSiege().getIsInProgress()) ? "chamberlain-08.html" : "chamberlain-10.html" : "chamberlain-21.html"; break; } case "banish_foreigner": { if (isOwner(player, npc) && hasPrivilege(player, L2Clan.CP_CS_DISMISS)) { if (castle.getSiege().getIsInProgress()) { return "chamberlain-08.html"; } castle.banishForeigners(); htmltext = "chamberlain-11.html"; } else { htmltext = "chamberlain-21.html"; } break; } case "doors": { htmltext = (isOwner(player, npc) && hasPrivilege(player, L2Clan.CP_CS_OPEN_DOOR)) ? (castle.getSiege().getIsInProgress()) ? "chamberlain-08.html" : npc.getNpcId() + "-d.html" : "chamberlain-21.html"; break; } case "operate_door": { if (castle.getSiege().getIsInProgress()) { htmltext = "chamberlain-08.html"; } else if (isOwner(player, npc) && hasPrivilege(player, L2Clan.CP_CS_OPEN_DOOR)) { final boolean open = (Integer.parseInt(st.nextToken()) == 1); while (st.hasMoreTokens()) { castle.openCloseDoor(player, Integer.parseInt(st.nextToken()), open); } htmltext = (open) ? "chamberlain-05.html" : "chamberlain-06.html"; } else { htmltext = "chamberlain-21.html"; } break; } case "additional_functions": { htmltext = (isOwner(player, npc) && hasPrivilege(player, L2Clan.CP_CS_SET_FUNCTIONS)) ? "castletdecomanage.html" : "chamberlain-21.html"; break; } case "recovery": { if (isOwner(player, npc) && hasPrivilege(player, L2Clan.CP_CS_SET_FUNCTIONS)) { final NpcHtmlMessage html = new NpcHtmlMessage(npc.getObjectId()); html.setHtml(getHtm(player.getHtmlPrefix(), "castledeco-AR01.html")); funcReplace(castle, html, Castle.FUNC_RESTORE_HP, "HP"); funcReplace(castle, html, Castle.FUNC_RESTORE_MP, "MP"); funcReplace(castle, html, Castle.FUNC_RESTORE_EXP, "XP"); player.sendPacket(html); } else { htmltext = "chamberlain-21.html"; } break; } case "other": { if (isOwner(player, npc) && hasPrivilege(player, L2Clan.CP_CS_SET_FUNCTIONS)) { final NpcHtmlMessage html = new NpcHtmlMessage(npc.getObjectId()); html.setHtml(getHtm(player.getHtmlPrefix(), "castledeco-AE01.html")); funcReplace(castle, html, Castle.FUNC_TELEPORT, "TP"); funcReplace(castle, html, Castle.FUNC_SUPPORT, "BF"); player.sendPacket(html); } else { htmltext = "chamberlain-21.html"; } break; } case "HP": { final int level = Integer.parseInt(st.nextToken()); htmltext = funcConfirmHtml(player, npc, castle, Castle.FUNC_RESTORE_HP, level); break; } case "MP": { final int level = Integer.parseInt(st.nextToken()); htmltext = funcConfirmHtml(player, npc, castle, Castle.FUNC_RESTORE_MP, level); break; } case "XP": { final int level = Integer.parseInt(st.nextToken()); htmltext = funcConfirmHtml(player, npc, castle, Castle.FUNC_RESTORE_EXP, level); break; } case "TP": { final int level = Integer.parseInt(st.nextToken()); htmltext = funcConfirmHtml(player, npc, castle, Castle.FUNC_TELEPORT, level); break; } case "BF": { final int level = Integer.parseInt(st.nextToken()); htmltext = funcConfirmHtml(player, npc, castle, Castle.FUNC_SUPPORT, level); break; } case "set_func": { if (isOwner(player, npc) && hasPrivilege(player, L2Clan.CP_CS_SET_FUNCTIONS)) { final int func = Integer.parseInt(st.nextToken()); final int level = Integer.parseInt(st.nextToken()); if (level == 0) { castle.updateFunctions(player, func, level, 0, 0, false); } else if (!castle.updateFunctions(player, func, level, getFunctionFee(func, level), getFunctionRatio(func), castle.getFunction(func) == null)) { htmltext = "chamberlain-09.html"; } } else { htmltext = "chamberlain-21.html"; } break; } case "functions": { if (isOwner(player, npc) && hasPrivilege(player, L2Clan.CP_CS_USE_FUNCTIONS)) { final CastleFunction HP = castle.getFunction(Castle.FUNC_RESTORE_HP); final CastleFunction MP = castle.getFunction(Castle.FUNC_RESTORE_MP); final CastleFunction XP = castle.getFunction(Castle.FUNC_RESTORE_EXP); final NpcHtmlMessage html = new NpcHtmlMessage(npc.getObjectId()); html.setHtml(getHtm(player.getHtmlPrefix(), "castledecofunction.html")); html.replace("%HPDepth%", (HP == null) ? "0" : Integer.toString(HP.getLvl())); html.replace("%MPDepth%", (MP == null) ? "0" : Integer.toString(MP.getLvl())); html.replace("%XPDepth%", (XP == null) ? "0" : Integer.toString(XP.getLvl())); player.sendPacket(html); } else { htmltext = "chamberlain-21.html"; } break; } case "teleport": { htmltext = (isOwner(player, npc) && hasPrivilege(player, L2Clan.CP_CS_USE_FUNCTIONS)) ? (castle.getFunction(Castle.FUNC_TELEPORT) == null) ? "castlefuncdisabled.html" : npc.getNpcId() + "-t" + castle.getFunction(Castle.FUNC_TELEPORT).getLvl() + ".html" : "chamberlain-21.html"; break; } case "goto": { if ((isOwner(player, npc) && hasPrivilege(player, L2Clan.CP_CS_USE_FUNCTIONS))) { final int locId = Integer.parseInt(st.nextToken()); final L2TeleportLocation list = TeleportLocationTable.getInstance().getTemplate(locId); if (list != null) { if (takeItems(player, list.getItemId(), list.getPrice())) { player.teleToLocation(list.getLocX(), list.getLocY(), list.getLocZ()); } } } else { htmltext = "chamberlain-21.html"; } break; } case "buffer": { if ((isOwner(player, npc) && hasPrivilege(player, L2Clan.CP_CS_USE_FUNCTIONS))) { if (castle.getFunction(Castle.FUNC_SUPPORT) == null) { htmltext = "castlefuncdisabled.html"; } else { final NpcHtmlMessage html = new NpcHtmlMessage(npc.getObjectId()); html.setHtml(getHtm(player.getHtmlPrefix(), "castlebuff-0" + castle.getFunction(Castle.FUNC_SUPPORT).getLvl() + ".html")); html.replace("%MPLeft%", Integer.toString((int) npc.getCurrentMp())); player.sendPacket(html); } } else { htmltext = "chamberlain-21.html"; } break; } case "cast_buff": { if ((isOwner(player, npc) && hasPrivilege(player, L2Clan.CP_CS_USE_FUNCTIONS))) { if (castle.getFunction(Castle.FUNC_SUPPORT) == null) { htmltext = "castlefuncdisabled.html"; } else { final int index = Integer.parseInt(st.nextToken()); if (BUFFS.length <= index) { return null; } final NpcHtmlMessage html = new NpcHtmlMessage(npc.getObjectId()); final SkillHolder holder = BUFFS[index]; if (holder.getSkill().getMpConsume() < npc.getCurrentMp()) { npc.setTarget(player); npc.doCast(holder.getSkill()); html.setHtml(getHtm(player.getHtmlPrefix(), "castleafterbuff.html")); } else { html.setHtml(getHtm(player.getHtmlPrefix(), "castlenotenoughmp.html")); } html.replace("%MPLeft%", Integer.toString((int) npc.getCurrentMp())); player.sendPacket(html); } } else { htmltext = "chamberlain-21.html"; } break; } case "list_siege_clans": { if (isOwner(player, npc) && hasPrivilege(player, L2Clan.CP_CS_MANAGE_SIEGE)) { castle.getSiege().listRegisterClan(player); } else { htmltext = "chamberlain-21.html"; } break; } case "list_territory_clans": { if (isOwner(player, npc) && hasPrivilege(player, L2Clan.CP_CS_MANAGE_SIEGE)) { player.sendPacket(new ExShowDominionRegistry(castle.getCastleId(), player)); } else { htmltext = "chamberlain-21.html"; } break; } case "manor": { htmltext = (isOwner(player, npc) && hasPrivilege(player, L2Clan.CP_CS_MANOR_ADMIN)) ? "manor.html" : "chamberlain-21.html"; break; } case "seed_status": { player.sendPacket(new ExShowSeedInfo(castle.getCastleId(), CastleManager.getInstance().getCastleById(castle.getCastleId()).getSeedProduction(0))); break; } case "seed_setup": { if (castle.isNextPeriodApproved()) { player.sendPacket(SystemMessageId.A_MANOR_CANNOT_BE_SET_UP_BETWEEN_6_AM_AND_8_PM); } else { player.sendPacket(new ExShowSeedSetting(castle.getCastleId())); } break; } case "crop_setup": { if (castle.isNextPeriodApproved()) { player.sendPacket(SystemMessageId.A_MANOR_CANNOT_BE_SET_UP_BETWEEN_6_AM_AND_8_PM); } else { player.sendPacket(new ExShowCropSetting(castle.getCastleId())); } break; } case "products": { if (isOwner(player, npc) && hasPrivilege(player, L2Clan.CP_CS_USE_FUNCTIONS)) { final NpcHtmlMessage html = new NpcHtmlMessage(npc.getObjectId()); html.setHtml(getHtm(player.getHtmlPrefix(), "chamberlain-22.html")); html.replace("%npcId%", Integer.toString(npc.getNpcId())); player.sendPacket(html); } else { htmltext = "chamberlain-21.html"; } break; } case "buy": { if (isOwner(player, npc) && hasPrivilege(player, L2Clan.CP_CS_USE_FUNCTIONS)) { ((L2MerchantInstance) npc).showBuyWindow(player, Integer.parseInt(st.nextToken())); } else { htmltext = "chamberlain-21.html"; } break; } case "give_crown": { if (castle.getSiege().getIsInProgress()) { htmltext = "chamberlain-08.html"; } else if (npc.isMyLord(player)) { if (hasQuestItems(player, CROWN)) { return "chamberlain-24.html"; } final NpcHtmlMessage html = new NpcHtmlMessage(npc.getObjectId()); html.setHtml(getHtm(player.getHtmlPrefix(), "chamberlain-25.html")); html.replace("%owner_name%", String.valueOf(player.getName())); html.replace("%feud_name%", String.valueOf(String.valueOf(1001000 + castle.getCastleId()))); player.sendPacket(html); giveItems(player, CROWN, 1); } else { htmltext = "chamberlain-21.html"; } break; } case "manors_cert": { if (npc.isMyLord(player)) { if (castle.getSiege().getIsInProgress()) { htmltext = "chamberlain-08.html"; } else { if ((SevenSigns.getInstance().getPlayerCabal(player.getObjectId()) == SevenSigns.CABAL_DAWN) && SevenSigns.getInstance().isCompetitionPeriod()) { final int ticketCount = castle.getTicketBuyCount(); if (ticketCount < (Config.SSQ_DAWN_TICKET_QUANTITY / Config.SSQ_DAWN_TICKET_BUNDLE)) { final NpcHtmlMessage html = new NpcHtmlMessage(npc.getObjectId()); html.setHtml(getHtm(player.getHtmlPrefix(), "ssq_selldawnticket.html")); html.replace("%DawnTicketLeft%", String.valueOf(Config.SSQ_DAWN_TICKET_QUANTITY - (ticketCount * Config.SSQ_DAWN_TICKET_BUNDLE))); html.replace("%DawnTicketBundle%", String.valueOf(Config.SSQ_DAWN_TICKET_BUNDLE)); html.replace("%DawnTicketPrice%", String.valueOf(Config.SSQ_DAWN_TICKET_PRICE * Config.SSQ_DAWN_TICKET_BUNDLE)); player.sendPacket(html); } else { htmltext = "ssq_notenoughticket.html"; } } else { htmltext = "ssq_notdawnorevent.html"; } } } else { htmltext = "chamberlain-21.html"; } break; } case "manors_cert_confirm": { if (npc.isMyLord(player)) { if (castle.getSiege().getIsInProgress()) { htmltext = "chamberlain-08.html"; } else { if ((SevenSigns.getInstance().getPlayerCabal(player.getObjectId()) == SevenSigns.CABAL_DAWN) && SevenSigns.getInstance().isCompetitionPeriod()) { final int ticketCount = castle.getTicketBuyCount(); if (ticketCount < (Config.SSQ_DAWN_TICKET_QUANTITY / Config.SSQ_DAWN_TICKET_BUNDLE)) { final long totalCost = Config.SSQ_DAWN_TICKET_PRICE * Config.SSQ_DAWN_TICKET_BUNDLE; if (player.getAdena() >= totalCost) { takeItems(player, PcInventory.ADENA_ID, totalCost); giveItems(player, Config.SSQ_MANORS_AGREEMENT_ID, Config.SSQ_DAWN_TICKET_BUNDLE); castle.setTicketBuyCount(ticketCount + 1); return null; } htmltext = "chamberlain-09.html"; } else { htmltext = "ssq_notenoughticket.html"; } } else { htmltext = "ssq_notdawnorevent.html"; } } } else { htmltext = "chamberlain-21.html"; } break; } } return htmltext; } @Override public String onFirstTalk(L2Npc npc, L2PcInstance player) { return (isOwner(player, npc)) ? "chamberlain-01.html" : "chamberlain-04.html"; } public static void main(String[] args) { new CastleChamberlain(CastleChamberlain.class.getSimpleName(), "ai/npc"); } }
  8. deyvsonn

    Npc Chamberlain

    Galera Boa tarde Gostaria de saber como consigo alterar os itens que vendo no npc do castelo onde pega a coroa no General itens quem souber agradeço muito .
  9. Galera Boa tarde Gostaria de uma ajuda estou com problemas para trocar os dizeres de tela Welcome Multilinguagem se alguem souber por favor me da uma ajuda
  10. Galera Boa tarde gostaria de saber como alterar o Welcome Multiliguagem um atela que aparece uso cliente H5 quem souber ajuda ai agradeço de verdade .
  11. galera gostaria de saber como alterar o Welcome Multiliguagem uma tela que aparece dizendo as regras do servidor no gandalf quem souber da um help ai vlw .
  12. mais onde fica esse Pcbank Points ?
  13. Nada amigo tentei mais não deu certo Assim que passo o Mouse em cima dela ja aparece que ela e um Shield e não um Gloves ta osso :( pow amigão encontrei o problema Tinha adicionado um item novo no servidor e não percebi que estava com o mesmo ID da luva Muito obrigado mesmo
  14. Pessoal estou louco pra arrumar isso ,Aluva de um set do meu servidor esta como Shield e não consigo fazer ela volta se eu colocar o mouse em cima dela mostra que ela e shield e não Gloves . por favor quem souber como resolver da uma ajuda agradeço muuuito mesmo .
  15. Galeta tenho um pedido a fazer uma luva de um set esta como shild e esta indo para o local do shild onde deveria ir para o gloves como posso resolver ? se souberem me ajude por favor agradeço muito. uso cliente H5
×
×
  • Criar Novo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.