Jump to content

Napster321

Banned
  • Posts

    1,639
  • Credits

  • Joined

  • Last visited

  • Feedback

    0%

Everything posted by Napster321

  1. this is a message that should be shown it is from l2j and you should keep that to server btw it is in enterworld
  2. this one is custom http://maxcheaters.com/forum/index.php?topic=256284.0
  3. that (L2NpcActionShift) to actionhandlers /* * This program 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. * * This program 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 handlers.actionhandlers; import com.l2jserver.Config; import com.l2jserver.gameserver.handler.IActionHandler; import com.l2jserver.gameserver.model.Elementals; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.L2Object.InstanceType; import com.l2jserver.gameserver.model.actor.L2Attackable; import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2MerchantInstance; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.serverpackets.MyTargetSelected; import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage; import com.l2jserver.gameserver.network.serverpackets.StatusUpdate; public class L2NpcActionShift implements IActionHandler { /** * Manage and Display the GM console to modify the L2NpcInstance (GM only).<BR><BR> * * <B><U> Actions (If the L2PcInstance is a GM only)</U> :</B><BR><BR> * <li>Set the L2NpcInstance as target of the L2PcInstance player (if necessary)</li> * <li>Send a Server->Client packet MyTargetSelected to the L2PcInstance player (display the select window)</li> * <li>If L2NpcInstance is autoAttackable, send a Server->Client packet StatusUpdate to the L2PcInstance in order to update L2NpcInstance HP bar </li> * <li>Send a Server->Client NpcHtmlMessage() containing the GM console about this L2NpcInstance </li><BR><BR> * * <FONT COLOR=#FF0000><B> <U>Caution</U> : Each group of Server->Client packet must be terminated by a ActionFailed packet in order to avoid * that client wait an other packet</B></FONT><BR><BR> * * <B><U> Example of use </U> :</B><BR><BR> * <li> Client packet : Action</li><BR><BR> */ public boolean action(L2PcInstance activeChar, L2Object target, boolean interact) { // Check if the L2PcInstance is a GM if (activeChar.getAccessLevel().isGm()) { // Set the target of the L2PcInstance activeChar activeChar.setTarget(target); // Send a Server->Client packet MyTargetSelected to the L2PcInstance activeChar // The activeChar.getLevel() - getLevel() permit to display the correct color in the select window MyTargetSelected my = new MyTargetSelected(target.getObjectId(), activeChar.getLevel() - ((L2Character)target).getLevel()); activeChar.sendPacket(my); // Check if the activeChar is attackable (without a forced attack) if (target.isAutoAttackable(activeChar)) { // Send a Server->Client packet StatusUpdate of the L2NpcInstance to the L2PcInstance to update its HP bar StatusUpdate su = new StatusUpdate(target); su.addAttribute(StatusUpdate.CUR_HP, (int)((L2Character)target).getCurrentHp()); su.addAttribute(StatusUpdate.MAX_HP, ((L2Character)target).getMaxHp()); activeChar.sendPacket(su); } NpcHtmlMessage html = new NpcHtmlMessage(0); html.setFile(activeChar.getHtmlPrefix(), "data/html/admin/npcinfo.htm"); html.replace("%objid%", String.valueOf(target.getObjectId())); html.replace("%class%", target.getClass().getSimpleName()); html.replace("%id%", String.valueOf(((L2Npc)target).getTemplate().npcId)); html.replace("%lvl%", String.valueOf(((L2Npc)target).getTemplate().level)); html.replace("%name%", String.valueOf(((L2Npc)target).getTemplate().name)); html.replace("%tmplid%",String.valueOf(((L2Npc)target).getTemplate().npcId)); html.replace("%aggro%", String.valueOf((target instanceof L2Attackable) ? ((L2Attackable) target).getAggroRange() : 0)); html.replace("%hp%", String.valueOf((int)((L2Character)target).getCurrentHp())); html.replace("%hpmax%", String.valueOf(((L2Character)target).getMaxHp())); html.replace("%mp%", String.valueOf((int)((L2Character)target).getCurrentMp())); html.replace("%mpmax%", String.valueOf(((L2Character)target).getMaxMp())); html.replace("%patk%", String.valueOf(((L2Character)target).getPAtk(null))); html.replace("%matk%", String.valueOf(((L2Character)target).getMAtk(null, null))); html.replace("%pdef%", String.valueOf(((L2Character)target).getPDef(null))); html.replace("%mdef%", String.valueOf(((L2Character)target).getMDef(null, null))); html.replace("%accu%", String.valueOf(((L2Character)target).getAccuracy())); html.replace("%evas%", String.valueOf(((L2Character)target).getEvasionRate(null))); html.replace("%crit%", String.valueOf(((L2Character)target).getCriticalHit(null, null))); html.replace("%rspd%", String.valueOf(((L2Character)target).getRunSpeed())); html.replace("%aspd%", String.valueOf(((L2Character)target).getPAtkSpd())); html.replace("%cspd%", String.valueOf(((L2Character)target).getMAtkSpd())); html.replace("%str%", String.valueOf(((L2Character)target).getSTR())); html.replace("%dex%", String.valueOf(((L2Character)target).getDEX())); html.replace("%con%", String.valueOf(((L2Character)target).getCON())); html.replace("%int%", String.valueOf(((L2Character)target).getINT())); html.replace("%wit%", String.valueOf(((L2Character)target).getWIT())); html.replace("%men%", String.valueOf(((L2Character)target).getMEN())); html.replace("%loc%", String.valueOf(target.getX()+" "+target.getY()+" "+target.getZ())); html.replace("%dist%", String.valueOf((int)Math.sqrt(activeChar.getDistanceSq(target)))); byte attackAttribute = ((L2Character)target).getAttackElement(); html.replace("%ele_atk%", Elementals.getElementName(attackAttribute)); html.replace("%ele_atk_value%", String.valueOf(((L2Character)target).getAttackElementValue(attackAttribute))); html.replace("%ele_dfire%", String.valueOf(((L2Character)target).getDefenseElementValue(Elementals.FIRE))); html.replace("%ele_dwater%", String.valueOf(((L2Character)target).getDefenseElementValue(Elementals.WATER))); html.replace("%ele_dwind%", String.valueOf(((L2Character)target).getDefenseElementValue(Elementals.WIND))); html.replace("%ele_dearth%", String.valueOf(((L2Character)target).getDefenseElementValue(Elementals.EARTH))); html.replace("%ele_dholy%", String.valueOf(((L2Character)target).getDefenseElementValue(Elementals.HOLY))); html.replace("%ele_ddark%", String.valueOf(((L2Character)target).getDefenseElementValue(Elementals.DARK))); if (((L2Npc)target).getSpawn() != null) { html.replace("%spawn%", ((L2Npc)target).getSpawn().getLocx()+" "+((L2Npc)target).getSpawn().getLocy()+" "+((L2Npc)target).getSpawn().getLocz()); html.replace("%loc2d%", String.valueOf((int)Math.sqrt(((L2Character)target).getPlanDistanceSq(((L2Npc)target).getSpawn().getLocx(), ((L2Npc)target).getSpawn().getLocy())))); html.replace("%loc3d%", String.valueOf((int)Math.sqrt(((L2Character)target).getDistanceSq(((L2Npc)target).getSpawn().getLocx(), ((L2Npc)target).getSpawn().getLocy(), ((L2Npc)target).getSpawn().getLocz())))); html.replace("%resp%", String.valueOf(((L2Npc)target).getSpawn().getRespawnDelay() / 1000)); } else { html.replace("%spawn%", "<font color=FF0000>null</font>"); html.replace("%loc2d%", "<font color=FF0000>--</font>"); html.replace("%loc3d%", "<font color=FF0000>--</font>"); html.replace("%resp%", "<font color=FF0000>--</font>"); } if (((L2Npc)target).hasAI()) { html.replace("%ai_intention%", "<tr><td><table width=270 border=0 bgcolor=131210><tr><td width=100><font color=FFAA00>Intention:</font></td><td align=right width=170>"+String.valueOf(((L2Npc)target).getAI().getIntention().name())+"</td></tr></table></td></tr>"); html.replace("%ai%", "<tr><td><table width=270 border=0><tr><td width=100><font color=FFAA00>AI</font></td><td align=right width=170>"+((L2Npc)target).getAI().getClass().getSimpleName()+"</td></tr></table></td></tr>"); html.replace("%ai_type%", "<tr><td><table width=270 border=0 bgcolor=131210><tr><td width=100><font color=FFAA00>AIType</font></td><td align=right width=170>"+String.valueOf(((L2Npc)target).getAiType())+"</td></tr></table></td></tr>"); html.replace("%ai_clan%", "<tr><td><table width=270 border=0><tr><td width=100><font color=FFAA00>Clan & Range:</font></td><td align=right width=170>"+String.valueOf(((L2Npc)target).getTemplate().getAIDataStatic().getClan())+" "+String.valueOf(((L2Npc)target).getTemplate().getAIDataStatic().getClanRange())+"</td></tr></table></td></tr>"); html.replace("%ai_enemy_clan%", "<tr><td><table width=270 border=0 bgcolor=131210><tr><td width=100><font color=FFAA00>Enemy & Range:</font></td><td align=right width=170>"+String.valueOf(((L2Npc)target).getTemplate().getAIDataStatic().getEnemyClan())+" "+String.valueOf(((L2Npc)target).getTemplate().getAIDataStatic().getEnemyRange())+"</td></tr></table></td></tr>"); } else { html.replace("%ai_intention%", ""); html.replace("%ai%", ""); html.replace("%ai_type%", ""); html.replace("%ai_clan%", ""); html.replace("%ai_enemy_clan%", ""); } if (target instanceof L2MerchantInstance) { html.replace("%butt%","<button value=\"Shop\" action=\"bypass -h admin_showShop "+String.valueOf(((L2Npc)target).getTemplate().npcId)+"\" width=60 height=21 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">"); } else { html.replace("%butt%",""); } activeChar.sendPacket(html); } else if (Config.ALT_GAME_VIEWNPC) { // Set the target of the L2PcInstance activeChar activeChar.setTarget(target); // Send a Server->Client packet MyTargetSelected to the L2PcInstance activeChar // The activeChar.getLevel() - getLevel() permit to display the correct color in the select window MyTargetSelected my = new MyTargetSelected(target.getObjectId(), activeChar.getLevel() - ((L2Character)target).getLevel()); activeChar.sendPacket(my); // Check if the activeChar is attackable (without a forced attack) if (target.isAutoAttackable(activeChar)) { // Send a Server->Client packet StatusUpdate of the L2NpcInstance to the L2PcInstance to update its HP bar StatusUpdate su = new StatusUpdate(target); su.addAttribute(StatusUpdate.CUR_HP, (int) ((L2Character)target).getCurrentHp()); su.addAttribute(StatusUpdate.MAX_HP, ((L2Character)target).getMaxHp()); activeChar.sendPacket(su); } NpcHtmlMessage html = new NpcHtmlMessage(0); html.setFile(activeChar.getHtmlPrefix(), "data/html/custom/mobinfo.htm"); html.replace("%objid%", String.valueOf(target.getObjectId())); html.replace("%class%", target.getClass().getSimpleName()); html.replace("%id%", String.valueOf(((L2Npc)target).getTemplate().npcId)); html.replace("%lvl%", String.valueOf(((L2Npc)target).getTemplate().level)); html.replace("%name%", String.valueOf(((L2Npc)target).getTemplate().name)); html.replace("%tmplid%",String.valueOf(((L2Npc)target).getTemplate().npcId)); html.replace("%aggro%", String.valueOf((target instanceof L2Attackable) ? ((L2Attackable) target).getAggroRange() : 0)); html.replace("%hp%", String.valueOf((int)((L2Character)target).getCurrentHp())); html.replace("%hpmax%", String.valueOf(((L2Character)target).getMaxHp())); html.replace("%mp%", String.valueOf((int)((L2Character)target).getCurrentMp())); html.replace("%mpmax%", String.valueOf(((L2Character)target).getMaxMp())); html.replace("%patk%", String.valueOf(((L2Character)target).getPAtk(null))); html.replace("%matk%", String.valueOf(((L2Character)target).getMAtk(null, null))); html.replace("%pdef%", String.valueOf(((L2Character)target).getPDef(null))); html.replace("%mdef%", String.valueOf(((L2Character)target).getMDef(null, null))); html.replace("%accu%", String.valueOf(((L2Character)target).getAccuracy())); html.replace("%evas%", String.valueOf(((L2Character)target).getEvasionRate(null))); html.replace("%crit%", String.valueOf(((L2Character)target).getCriticalHit(null, null))); html.replace("%rspd%", String.valueOf(((L2Character)target).getRunSpeed())); html.replace("%aspd%", String.valueOf(((L2Character)target).getPAtkSpd())); html.replace("%cspd%", String.valueOf(((L2Character)target).getMAtkSpd())); html.replace("%str%", String.valueOf(((L2Character)target).getSTR())); html.replace("%dex%", String.valueOf(((L2Character)target).getDEX())); html.replace("%con%", String.valueOf(((L2Character)target).getCON())); html.replace("%int%", String.valueOf(((L2Character)target).getINT())); html.replace("%wit%", String.valueOf(((L2Character)target).getWIT())); html.replace("%men%", String.valueOf(((L2Character)target).getMEN())); html.replace("%loc%", String.valueOf(target.getX()+" "+target.getY()+" "+target.getZ())); html.replace("%dist%", String.valueOf((int)Math.sqrt(activeChar.getDistanceSq(target)))); byte attackAttribute = ((L2Character)target).getAttackElement(); html.replace("%ele_atk%", Elementals.getElementName(attackAttribute)); html.replace("%ele_atk_value%", String.valueOf(((L2Character)target).getAttackElementValue(attackAttribute))); html.replace("%ele_dfire%", String.valueOf(((L2Character)target).getDefenseElementValue(Elementals.FIRE))); html.replace("%ele_dwater%", String.valueOf(((L2Character)target).getDefenseElementValue(Elementals.WATER))); html.replace("%ele_dwind%", String.valueOf(((L2Character)target).getDefenseElementValue(Elementals.WIND))); html.replace("%ele_dearth%", String.valueOf(((L2Character)target).getDefenseElementValue(Elementals.EARTH))); html.replace("%ele_dholy%", String.valueOf(((L2Character)target).getDefenseElementValue(Elementals.HOLY))); html.replace("%ele_ddark%", String.valueOf(((L2Character)target).getDefenseElementValue(Elementals.DARK))); if (((L2Npc)target).getSpawn() != null) { html.replace("%spawn%", ((L2Npc)target).getSpawn().getLocx()+" "+((L2Npc)target).getSpawn().getLocy()+" "+((L2Npc)target).getSpawn().getLocz()); html.replace("%loc2d%", String.valueOf((int)Math.sqrt(((L2Character)target).getPlanDistanceSq(((L2Npc)target).getSpawn().getLocx(), ((L2Npc)target).getSpawn().getLocy())))); html.replace("%loc3d%", String.valueOf((int)Math.sqrt(((L2Character)target).getDistanceSq(((L2Npc)target).getSpawn().getLocx(), ((L2Npc)target).getSpawn().getLocy(), ((L2Npc)target).getSpawn().getLocz())))); html.replace("%resp%", String.valueOf(((L2Npc)target).getSpawn().getRespawnDelay() / 1000)); } else { html.replace("%spawn%", "<font color=FF0000>null</font>"); html.replace("%loc2d%", "<font color=FF0000>--</font>"); html.replace("%loc3d%", "<font color=FF0000>--</font>"); html.replace("%resp%", "<font color=FF0000>--</font>"); } if (((L2Npc)target).hasAI()) { html.replace("%ai_intention%", "<tr><td><table width=270 border=0 bgcolor=131210><tr><td width=100><font color=FFAA00>Intention:</font></td><td align=right width=170>"+String.valueOf(((L2Npc)target).getAI().getIntention().name())+"</td></tr></table></td></tr>"); html.replace("%ai%", "<tr><td><table width=270 border=0><tr><td width=100><font color=FFAA00>AI</font></td><td align=right width=170>"+((L2Npc)target).getAI().getClass().getSimpleName()+"</td></tr></table></td></tr>"); html.replace("%ai_type%", "<tr><td><table width=270 border=0 bgcolor=131210><tr><td width=100><font color=FFAA00>AIType</font></td><td align=right width=170>"+String.valueOf(((L2Npc)target).getAiType())+"</td></tr></table></td></tr>"); html.replace("%ai_clan%", "<tr><td><table width=270 border=0><tr><td width=100><font color=FFAA00>Clan & Range:</font></td><td align=right width=170>"+String.valueOf(((L2Npc)target).getTemplate().getAIDataStatic().getClan())+" "+String.valueOf(((L2Npc)target).getTemplate().getAIDataStatic().getClanRange())+"</td></tr></table></td></tr>"); html.replace("%ai_enemy_clan%", "<tr><td><table width=270 border=0 bgcolor=131210><tr><td width=100><font color=FFAA00>Enemy & Range:</font></td><td align=right width=170>"+String.valueOf(((L2Npc)target).getTemplate().getAIDataStatic().getEnemyClan())+" "+String.valueOf(((L2Npc)target).getTemplate().getAIDataStatic().getEnemyRange())+"</td></tr></table></td></tr>"); } else { html.replace("%ai_intention%", ""); html.replace("%ai%", ""); html.replace("%ai_type%", ""); html.replace("%ai_clan%", ""); html.replace("%ai_enemy_clan%", ""); } activeChar.sendPacket(html); } return true; } public InstanceType getInstanceType() { return InstanceType.L2Npc; } } and that to masterhandlers import handlers.bypasshandlers.VoiceCommand; import handlers.bypasshandlers.Wear; +import handlers.bypasshandlers.DropInfo; %%%%%%%%%%%%%%%%%%%%%%% BypassHandler.getInstance().registerBypassHandler(new VoiceCommand()); BypassHandler.getInstance().registerBypassHandler(new Wear()); + BypassHandler.getInstance().registerBypassHandler(new DropInfo());
  4. When i apply these changes to database when i click to npcs like high priests to clan/alliance/quest that doens't work the npc dialog just close and no error at console *ima using freya l2j Added that (DropInfo.java) to bypasshandlers /* * This program 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. * * This program 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 handlers.bypasshandlers; import java.text.DecimalFormat; import com.l2jserver.gameserver.datatables.ItemTable; import com.l2jserver.gameserver.handler.IBypassHandler; import com.l2jserver.gameserver.model.L2DropCategory; import com.l2jserver.gameserver.model.L2DropData; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.L2Object.InstanceType; import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage; import com.l2jserver.gameserver.templates.item.L2Item; import com.l2jserver.util.StringUtil; public class DropInfo implements IBypassHandler { private static final String[] COMMANDS = { "drop", "spoil", "info", "quest" }; @Override public boolean useBypass(String command, L2PcInstance activeChar, L2Character target) { try { final NpcHtmlMessage html = new NpcHtmlMessage(0); L2Object targetmob = activeChar.getTarget(); L2Npc npc = (L2Npc) targetmob; String droptext = ""; if (command.startsWith("drop")) { try { html.setFile(activeChar.getHtmlPrefix(), "data/html/custom/mobdrop.htm"); if (!(npc.isChampion() || npc.isMinion() || npc.getInstanceType() == InstanceType.L2GrandBossInstance || npc.isRaid() || npc.isRaidMinion() || npc.isMob())) return false; if (npc.getTemplate().getDropData().isEmpty()) { droptext = "WARNING: This Npc has no Drops!"; html.replace("%drops%", droptext); activeChar.sendPacket(html); return false; } String champ = ""; String imgsg = "<img src=\"l2ui.squaregray\" width=\"274\" height=\"1\">"; String ta_op = "<table bgcolor=333333 cellspacing=2 cellpadding=1><tr><td height=38 fixwidth=36><img src=\""; String ta_op2 = "\" height=32 width=32></td><td fixwidth=234><table VALIGN=top valing = top width=234 cellpadding=0 cellspacing=0><tr>"; final StringBuilder droptext1 = StringUtil.startAppend(9000, champ + "<br>" + imgsg); for (L2DropCategory cat : npc.getTemplate().getDropData()) { for (L2DropData drop : cat.getAllDrops()) { final L2Item item = ItemTable.getInstance().getTemplate(drop.getItemId()); if (item == null) continue; if (cat.isSweep()) continue; if (drop.isQuestDrop()) continue; String smind = null, drops = null; String name = item.getName(); double chance = ((double)drop.getChance()/10000); if (item.getCrystalType() == 0) { smind = "<img src=\"L2UI_CH3.joypad_shortcut\" width=16 height=16>"; } else if (item.getCrystalType() == 1) { smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_D\" width=16 height=16>"; } else if (item.getCrystalType() == 2) { smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_C\" width=16 height=16>"; } else if (item.getCrystalType() == 3) { smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_B\" width=16 height=16>"; } else if (item.getCrystalType() == 4) { smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_A\" width=16 height=16>"; } else if (item.getCrystalType() == 5) { smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_S\" width=16 height=16>"; } else if (item.getCrystalType() == 6) { smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_80\" width=16 height=16>"; } else if (item.getCrystalType() == 7) { smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_84\" width=16 height=16>"; } if (chance <= 0.001) { DecimalFormat df = new DecimalFormat("#.####"); drops = df.format(chance); } else if (chance <= 0.01) { DecimalFormat df = new DecimalFormat("#.###"); drops = df.format(chance); } else { DecimalFormat df = new DecimalFormat("##.##"); drops = df.format(chance); } if (name.startsWith("Recipe - Sealed")) name = "<font color=00FF00>(Re)</font><font color=FF00FF>(Sl)</font>" + name.substring(16); if (name.startsWith("Sealed ")) name = "<font color=FF00FF>(Sl)</font>" + name.substring(7); if (name.startsWith("Common Item - ")) name = "<font color=00FFFF>(Ci)</font>" + name.substring(14); if (name.startsWith("Recipe: ")) name = "<font color=00FF00>(Re)</font>" + name.substring(8); if (name.startsWith("Recipe -")) name = "<font color=00FF00>(Re)</font>" + name.substring(8); if (name.startsWith("Mid-Grade Life Stone")) name = "<font color=fff600>Mid-Grade LS</font>" + name.substring(20); if (name.startsWith("High-Grade Life Stone")) name = "<font color=fff600>High-Grade LS</font>" + name.substring(21); if (name.startsWith("Top-Grade Life Stone")) name = "<font color=fff600>Top-Grade LS</font>" + name.substring(20); if (name.startsWith("Forgotten Scroll - ")) name = "<font color=fff600>FS - </font>" + name.substring(19); if (name.startsWith("Greater Dye of ")) name = "<font color=fff600>G Dye of </font>" + name.substring(15); droptext1.append(ta_op + item.getIcon()+ta_op2+"<td align=left width=16>" +smind+ "</td><td align=left width=260><font color=fff600>" +name+ "</font></td></tr><tr><td align=left width=16><img src=\"L2UI_CH3.QuestWndToolTipBtn\" width=16 height=16></td><td align=left width=55><font color=E15656>" +drops+ "%</font></td></tr></table></td></tr></table>" + imgsg); } } droptext = droptext1.toString(); html.replace("%drops%", droptext); activeChar.sendPacket(html); } catch (Exception e) { activeChar.sendMessage("Something went wrong with the drop preview."); } } if (command.startsWith("spoil")) { try { html.setFile(activeChar.getHtmlPrefix(), "data/html/custom/mobspoil.htm"); if (!(npc.isChampion() || npc.isMinion() || npc.isRaid() || npc.isRaidMinion() || npc.isMob())) return false; if (npc.getTemplate().getDropData().isEmpty()) { droptext = "WARNING: This Npc has no Drops!"; html.replace("%drops%", droptext); activeChar.sendPacket(html); return false; } String champ = ""; String imgsg = "<img src=\"l2ui.squaregray\" width=\"274\" height=\"1\">"; String ta_op = "<table bgcolor=333333 cellspacing=2 cellpadding=1><tr><td height=38 fixwidth=36><img src=\""; String ta_op2 = "\" height=32 width=32></td><td fixwidth=234><table VALIGN=top valing = top width=234 cellpadding=0 cellspacing=1><tr>"; final StringBuilder droptext1 = StringUtil.startAppend(1000, champ + "<br>" + imgsg); for (L2DropCategory cat : npc.getTemplate().getDropData()) { for (L2DropData drop : cat.getAllDrops()) { final L2Item item = ItemTable.getInstance().getTemplate(drop.getItemId()); if (item == null) continue; if (!(cat.isSweep())) continue; String smind = null, drops = null; String name = item.getName(); double chance = ((double)drop.getChance()/10000); if (item.getCrystalType() == 0) { smind = "<img src=\"L2UI_CH3.joypad_shortcut\" width=16 height=16>"; } else if (item.getCrystalType() == 1) { smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_D\" width=16 height=16>"; } else if (item.getCrystalType() == 2) { smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_C\" width=16 height=16>"; } else if (item.getCrystalType() == 3) { smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_B\" width=16 height=16>"; } else if (item.getCrystalType() == 4) { smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_A\" width=16 height=16>"; } else if (item.getCrystalType() == 5) { smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_S\" width=16 height=16>"; } else if (item.getCrystalType() == 6) { smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_80\" width=16 height=16>"; } else if (item.getCrystalType() == 7) { smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_84\" width=16 height=16>"; } if (chance <= 0.001) { DecimalFormat df = new DecimalFormat("#.####"); drops = df.format(chance); } else if (chance <= 0.01) { DecimalFormat df = new DecimalFormat("#.###"); drops = df.format(chance); } else { DecimalFormat df = new DecimalFormat("##.##"); drops = df.format(chance); } if (name.startsWith("Recipe - Sealed")) name = "<font color=00FF00>(Re)</font><font color=FF00FF>(Sl)</font>" + name.substring(16); if (name.startsWith("Sealed ")) name = "<font color=FF00FF>(Sl)</font>" + name.substring(7); if (name.startsWith("Common Item - ")) name = "<font color=00FFFF>(Ci)</font>" + name.substring(14); if (name.startsWith("Recipe: ")) name = "<font color=00FF00>(Re)</font>" + name.substring(8); if (name.startsWith("Recipe -")) name = "<font color=00FF00>(Re)</font>" + name.substring(8); if (name.startsWith("Mid-Grade Life Stone")) name = "<font color=fff600>Mid-Grade LS</font>" + name.substring(20); if (name.startsWith("High-Grade Life Stone")) name = "<font color=fff600>High-Grade LS</font>" + name.substring(21); if (name.startsWith("Top-Grade Life Stone")) name = "<font color=fff600>Top-Grade LS</font>" + name.substring(20); if (name.startsWith("Forgotten Scroll - ")) name = "<font color=fff600>FS - </font>" + name.substring(19); if (name.startsWith("Greater Dye of ")) name = "<font color=fff600>G Dye of </font>" + name.substring(15); droptext1.append(ta_op + item.getIcon()+ta_op2+"<td align=left width=16>" +smind+ "</td><td align=left width=260><font color=fff600>" +name+ "</font></td></tr><tr><td align=left width=16><img src=\"L2UI_CH3.QuestWndToolTipBtn\" width=16 height=16></td><td align=left width=55><font color=E15656>" +drops+ "%</font></td></tr></table></td></tr></table>" + imgsg); } } droptext = droptext1.toString(); html.replace("%drops%", droptext); activeChar.sendPacket(html); } catch (Exception e) { activeChar.sendMessage("Something went wrong with the drop preview."); } } if (command.startsWith("quest")) { try { html.setFile(activeChar.getHtmlPrefix(), "data/html/custom/mobquest.htm"); if (!(npc.isChampion() || npc.isMinion() || npc.isRaid() || npc.isRaidMinion() || npc.isMob())) return false; if (npc.getTemplate().getDropData().isEmpty()) { droptext = "WARNING: This Npc has no Drops!"; html.replace("%drops%", droptext); activeChar.sendPacket(html); return false; } String champ = ""; String imgsg = "<img src=\"l2ui.squaregray\" width=\"274\" height=\"1\">"; String ta_op = "<table bgcolor=333333 cellspacing=2 cellpadding=1><tr><td height=38 fixwidth=36><img src=\""; String ta_op2 = "\" height=32 width=32></td><td fixwidth=234><table VALIGN=top valing = top width=234 cellpadding=0 cellspacing=1><tr>"; final StringBuilder droptext1 = StringUtil.startAppend(1000, champ + "<br>" + imgsg); for (L2DropCategory cat : npc.getTemplate().getDropData()) { for (L2DropData drop : cat.getAllDrops()) { final L2Item item = ItemTable.getInstance().getTemplate(drop.getItemId()); if (item == null) continue; if (!(drop.isQuestDrop())) continue; String smind = null, drops = null; String name = item.getName(); double chance = ((double)drop.getChance()/10000); if (item.getCrystalType() == 0) { smind = "<img src=\"L2UI_CH3.joypad_shortcut\" width=16 height=16>"; } else if (item.getCrystalType() == 1) { smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_D\" width=16 height=16>"; } else if (item.getCrystalType() == 2) { smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_C\" width=16 height=16>"; } else if (item.getCrystalType() == 3) { smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_B\" width=16 height=16>"; } else if (item.getCrystalType() == 4) { smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_A\" width=16 height=16>"; } else if (item.getCrystalType() == 5) { smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_S\" width=16 height=16>"; } else if (item.getCrystalType() == 6) { smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_80\" width=16 height=16>"; } else if (item.getCrystalType() == 7) { smind = "<img src=\"L2UI_CT1.Icon_DF_ItemGrade_84\" width=16 height=16>"; } if (chance <= 0.001) { DecimalFormat df = new DecimalFormat("#.####"); drops = df.format(chance); } else if (chance <= 0.01) { DecimalFormat df = new DecimalFormat("#.###"); drops = df.format(chance); } else { DecimalFormat df = new DecimalFormat("##.##"); drops = df.format(chance); } if (name.startsWith("Recipe - Sealed")) name = "<font color=00FF00>(Re)</font><font color=FF00FF>(Sl)</font>" + name.substring(16); if (name.startsWith("Sealed ")) name = "<font color=FF00FF>(Sl)</font>" + name.substring(7); if (name.startsWith("Common Item - ")) name = "<font color=00FFFF>(Ci)</font>" + name.substring(14); if (name.startsWith("Recipe: ")) name = "<font color=00FF00>(Re)</font>" + name.substring(8); if (name.startsWith("Recipe -")) name = "<font color=00FF00>(Re)</font>" + name.substring(8); if (name.startsWith("Mid-Grade Life Stone")) name = "<font color=fff600>Mid-Grade LS</font>" + name.substring(20); if (name.startsWith("High-Grade Life Stone")) name = "<font color=fff600>High-Grade LS</font>" + name.substring(21); if (name.startsWith("Top-Grade Life Stone")) name = "<font color=fff600>Top-Grade LS</font>" + name.substring(20); if (name.startsWith("Forgotten Scroll - ")) name = "<font color=fff600>FS - </font>" + name.substring(19); if (name.startsWith("Greater Dye of ")) name = "<font color=fff600>G Dye of </font>" + name.substring(15); droptext1.append(ta_op + item.getIcon()+ta_op2+"<td align=left width=16>" +smind+ "</td><td align=left width=260><font color=fff600>" +name+ "</font></td></tr><tr><td align=left width=16><img src=\"L2UI_CH3.QuestWndToolTipBtn\" width=16 height=16></td><td align=left width=55><font color=E15656>" +drops+ "%</font></td></tr></table></td></tr></table>" + imgsg); } } droptext = droptext1.toString(); html.replace("%drops%", droptext); activeChar.sendPacket(html); } catch (Exception e) { activeChar.sendMessage("Something went wrong with the drop preview."); } } } catch (Exception e) { activeChar.sendMessage("You cant use this option with this target."); } return false; } @Override public String[] getBypassList() { return COMMANDS; } }
  5. hmmmm i noticed that when i have that working to my server the players when talk to npcs for clan/alliance/quest then nothing happens why? i use freya version
  6. I want to learn how can i make a player to teleport/enter in instance kill some mobs and when he finish to spawn an npc that will make him exit the instance....generally i want to see how instances work...i checked in data/instance but only spawnlists.....also i checked in scripts/instance but i cannot understand much things and also i cant understand if these 2 folders are connected scripts/instances - data/instances
  7. [GR]πως πε9ανε ο τελευταιος αλβανος παππας? τον ηπιαμε
  8. if anybody have siege event for gracia +++ and can share it... "Info for the event: 2 teams participate in an instanced siege
  9. http://maxcheaters.com/forum/index.php?topic=261618.0 thanks Justice topic edited
  10. oh i see the problem was with the l2 land that i took the pictures to preview that ....pfff justice send me my post to modify it please or add that back to l2j server discussion and delete the pictures and i will add others
  11. that was only codes topic not even a download link it was a [guide-share] topic as i said before
  12. lol. you can see the topic cant you? do you see any dl link or any link there?
  13. hmm i dont think so it needs some time to prepare that again.
  14. :y u no?: it was not even a download file it was a share-guide to import pin code to h5 server :S kidding me?
  15. and why? I ask because i was not online when it got deleted... and i dont know why...and who :S also it was a good share i think :S
×
×
  • Create New...