Jump to content

l2jkain

Members
  • Content count

    192
  • Joined

  • Last visited

  • Feedback

    0%

Community Reputation

1 Neutral

About l2jkain

  • Rank
    Knight

Contact Methods

  • Website URL
    http://l2jkain.com

Profile Information

  • Gender
    Male
  • Country
    Brazil

Recent Profile Visitors

941 profile views
  1. Hi, does anyone help me with this? I'm trying to set a color on the times of my tvt! so it was done to define team colors public static void prepareNameAndTitle() { for (Player player : _teams[0].getParticipatedPlayers().values()) { if (player != null) { player.getAppearance().setTitleColor(Config.TVT_EVENT_TEAM_TEAM_BLUE_COLOR); player.getAppearance().setNameColor(Config.TVT_EVENT_TEAM_TEAM_BLUE_COLOR); } } for (Player player : _teams[1].getParticipatedPlayers().values()) { if (player != null) { player.getAppearance().setTitleColor(Config.TVT_EVENT_TEAM_TEAM_RED_COLOR); player.getAppearance().setNameColor(Config.TVT_EVENT_TEAM_TEAM_RED_COLOR); } } } when the event is over I was forced to use it to exit the colors of TVT for (TvTEventTeam team : _teams) { for (Player player : team.getParticipatedPlayers().values()) { // Check for nullpointer if (player != null) { player.clearEventScore(); player.getAppearance().setTitleColor(0xFFFF77); player.getAppearance().setNameColor(0xFFFFFF); // Teleport back. new TvTEventTeleporter(player, (player.getTeam() == 1 ? Config.TVT_EVENT_PARTICIPATION_NPC_LOCATION : Config.TVT_EVENT_PARTICIPATION_NPC_LOCATION), false); } } } I do not restore the original colors because I am setting the white color as soon as I exit the tvt how can I define each team and a color in charinfo and userinfo
  2. even adding here does not work / Count the private kill killer.increaseEventScore(); killer.sendPacket(new PlaySound(0, "ItemSound.quest_itemget")); +killer.broadcastUserInfo();
  3. Hello, I would like a help with a bug in my tvt event. The title of the participants does not update the kills in the titles. Code Add : UserInfo.java writeS((_activeChar.getPolyType() != PolyType.DEFAULT) ? "Morphed" : _activeChar.getTitle()); for writeS((_activeChar.getPolyType() != PolyType.DEFAULT) ? "Morphed" : _activeChar.isInEvent() ? "Kills: " + _activeChar.getEventScore() : _activeChar.getTitle()); CharInfo.java if (gmSeeInvis) writeS("Invisible"); else writeS(_activeChar.getTitle()); for if (gmSeeInvis) writeS("Invisible"); else writeS(_activeChar.isInEvent() ? "Kills: " + _activeChar.getEventScore() : _activeChar.getTitle()); Did I do something wrong?
  4. Hi all, I have a html file that I have set in npc without a directory of this error, can anyone help me? Why does not a direct HTML work in here? No Directory. package net.sf.l2j.gameserver.model.actor.instance; import java.util.StringTokenizer; import net.sf.l2j.gameserver.data.xml.AugmentationData; import net.sf.l2j.gameserver.model.L2Augmentation; import net.sf.l2j.gameserver.model.actor.template.NpcTemplate; import net.sf.l2j.gameserver.model.item.instance.ItemInstance; import net.sf.l2j.gameserver.model.item.type.WeaponType; import net.sf.l2j.gameserver.network.SystemMessageId; import net.sf.l2j.gameserver.network.serverpackets.ActionFailed; import net.sf.l2j.gameserver.network.serverpackets.ExShowScreenMessage; import net.sf.l2j.gameserver.network.serverpackets.ExShowScreenMessage.SMPOS; import net.sf.l2j.gameserver.network.serverpackets.ExVariationCancelResult; import net.sf.l2j.gameserver.network.serverpackets.ExVariationResult; import net.sf.l2j.gameserver.network.serverpackets.InventoryUpdate; import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage; import net.sf.l2j.gameserver.network.serverpackets.SkillList; import net.sf.l2j.gameserver.network.serverpackets.StatusUpdate; import net.sf.l2j.gameserver.network.serverpackets.SystemMessage; /** * @author AbsolutePower * */ public class FastAug extends Folk { public FastAug(int objectId, NpcTemplate template) { super(objectId, template); } @Override public void onBypassFeedback(Player player, String command) { if (player == null) return; final StringTokenizer st = new StringTokenizer(command, " "); final String currentcommand = st.nextToken(); final String letsSliptIt = currentcommand; final String[] nowTheId = letsSliptIt.split("-"); final String OurSplititCommand = nowTheId[0]; final String FinallyWeHaveObjectId = nowTheId[1]; if(OurSplititCommand.startsWith("showremlist")) showListWindowForRemove(player); else if(OurSplititCommand.startsWith("showauglist")) showListWindow(player); else if(OurSplititCommand.startsWith("tryremove")) { final ItemInstance item = player.getInventory().getItemByObjectId(Integer.parseInt(FinallyWeHaveObjectId)); if (item == null) return; if (item.isEquipped()) { player.disarmWeapons(); player.broadcastUserInfo(); } item.removeAugmentation(); player.sendPacket(new ExVariationCancelResult(1)); InventoryUpdate iu = new InventoryUpdate(); iu.addModifiedItem(item); player.sendPacket(iu); player.sendPacket(new SkillList()); player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.AUGMENTATION_HAS_BEEN_SUCCESSFULLY_REMOVED_FROM_YOUR_S1).addItemName(item)); showListWindowForRemove(player); player.sendPacket(ActionFailed.STATIC_PACKET); } else if(OurSplititCommand.startsWith("tryaug")) { if (player.getInventory().getInventoryItemCount(57, 0) < 200000) { player.sendMessage("You do not have enough adena!"); player.sendPacket(ActionFailed.STATIC_PACKET); return; } final ItemInstance item = player.getInventory().getItemByObjectId(Integer.parseInt(FinallyWeHaveObjectId)); if (item == null) return; if (item.isEquipped()) { player.disarmWeapons(); player.broadcastUserInfo(); } final L2Augmentation aug = AugmentationData.getInstance().generateRandomAugmentation(2, 2); item.setAugmentation(aug); final int stat12 = 0x0000FFFF & aug.getAugmentationId(); final int stat34 = aug.getAugmentationId() >> 16; player.sendPacket(new ExVariationResult(stat12, stat34, 1)); InventoryUpdate iu = new InventoryUpdate(); iu.addModifiedItem(item); player.sendPacket(iu); StatusUpdate su = new StatusUpdate(player); su.addAttribute(StatusUpdate.CUR_LOAD, player.getCurrentLoad()); player.sendPacket(su); showListWindow(player); player.getInventory().reduceAdena("FastAugh", 200000, player, null); player.sendPacket(SystemMessageId.THE_ITEM_WAS_SUCCESSFULLY_AUGMENTED); if (item.getAugmentation().getSkill()!=null) { player.sendPacket(new ExShowScreenMessage("You have " + item.getAugmentation().getSkill().getName(), 5000, SMPOS.TOP_CENTER, true)); player.sendPacket(new SkillList()); } player.sendPacket(ActionFailed.STATIC_PACKET); } super.onBypassFeedback(player, command); } public void showListWindow(Player player) { NpcHtmlMessage nhm = new NpcHtmlMessage(5); StringBuilder tb = new StringBuilder(""); String Rem = "RemoveAug"; tb.append("<html><head><title>By AbsolutePower</title></head><body>"); tb.append("<center>"); tb.append("<table width=\"250\" cellpadding=\"5\" bgcolor=\"000000\">"); tb.append("<tr>"); tb.append("<td width=\"45\" valign=\"top\" align=\"center\"><img src=\"L2ui_ch3.menubutton4\" width=\"38\" height=\"38\"></td>"); tb.append("<td valign=\"top\"><font color=\"FF6600\">AugmentHelper</font>"); tb.append("<br1><font color=\"00FF00ju\">" + player.getName() + "</font>, use this menu for fast augment :)<br1></td>"); tb.append("</tr>"); tb.append("</table>"); tb.append("</center>"); tb.append("<center>"); tb.append("<br>"); for (ItemInstance item : player.getInventory().getItems()) { if (!item.isAugmented() && item.getItemType() instanceof WeaponType && item.isEquipable() && !item.isQuestItem()) { tb.append("<button value=\""+item.getItemName()+"\" action=\"bypass -h npc_" + getObjectId() + "_tryaug-"+item.getObjectId()+"\" width=204 height=20 back=\"sek.cbui75\" fore=\"sek.cbui75\"><br>"); tb.append("<table border=0 width=\"100%\">"); tb.append("<tr><td><img src=\""+ item.getItem().getIcon()+"\"width=\"32\"height=\"32\"></td>" +"<td>"+"<button value=\""+item.getItemName()+"\" action=\"bypass -h npc_"+getObjectId()+"_tryaug-"+item.getObjectId()+"\"width=204 height=21 back=\"sek.cbui75\" fore=\"sek.cbui75\"><br>"+"</td>"+"<td>+"+item.getEnchantLevel()+"</td></tr></table>"); } } tb.append("<br>"); tb.append("<button value=\""+Rem+"\" action=\"bypass -h npc_" + getObjectId() + "_showremlist-1"+"\" width=204 height=20 back=\"sek.cbui75\" fore=\"sek.cbui75\"><br>"); tb.append("</center>"); tb.append("</body></html>"); nhm.setHtml(tb.toString()); player.sendPacket(nhm); } public void showListWindowForRemove(Player player) { NpcHtmlMessage nhm = new NpcHtmlMessage(5); StringBuilder tb = new StringBuilder(""); String Rem = "GobackToAugList"; tb.append("<html><head><title>By AbsolutePower</title></head><body>"); tb.append("<center>"); tb.append("<table width=\"250\" cellpadding=\"5\" bgcolor=\"000000\">"); tb.append("<tr>"); tb.append("<td width=\"45\" valign=\"top\" align=\"center\"><img src=\"L2ui_ch3.menubutton4\" width=\"38\" height=\"38\"></td>"); tb.append("<td valign=\"top\"><font color=\"FF6600\">AugmentHelper</font>"); tb.append("<br1><font color=\"00FF00ju\">" + player.getName() + "</font>, use this menu for fast augment :)<br1></td>"); tb.append("</tr>"); tb.append("</table>"); tb.append("</center>"); tb.append("<center>"); tb.append("<br>"); for (ItemInstance item : player.getInventory().getItems()) { if (item.isAugmented() && item.getItemType() instanceof WeaponType && item.isEquipable() && !item.isQuestItem()) { tb.append("<button value=\""+item.getItemName()+"\" action=\"bypass -h npc_" + getObjectId() + "_tryremove-"+item.getObjectId()+"\" width=204 height=20 back=\"sek.cbui75\" fore=\"sek.cbui75\"><br>"); tb.append("<table border=0 width=\"100%\">"); tb.append("<tr><td><img src=\""+ item.getItem().getIcon() +"\"width=\"32\"height=\"32\"></td>" +"<td>"+"<button value=\""+ item.getItemName() +"\" action=\"bypass -h npc_" +getObjectId()+ "_tryaug-"+item.getObjectId()+"\"width=204 height=21 back=\"sek.cbui75\" fore=\"sek.cbui75\"><br>"+"</td>"+"<td>+"+item.getEnchantLevel()+"</td></tr></table>"); } } tb.append("<br>"); tb.append("<button value=\""+Rem+"\" action=\"bypass -h npc_" + getObjectId() + "_showauglist-1"+"\" width=204 height=20 back=\"sek.cbui75\" fore=\"sek.cbui75\"><br>"); tb.append("</center>"); tb.append("</body></html>"); nhm.setHtml(tb.toString()); player.sendPacket(nhm); } }
  5. Hello, I would like to know how I always do when a player opens a multisel from a merchant does not close the HTM. I did it but it did not work. ### Eclipse Workspace Patch 1.0 #P aCis_gameserver Index: java/net/sf/l2j/gameserver/network/clientpackets/MultiSellChoose.java =================================================================== --- java/net/sf/l2j/gameserver/network/clientpackets/MultiSellChoose.java (revision 7) +++ java/net/sf/l2j/gameserver/network/clientpackets/MultiSellChoose.java (working copy) @@ -70,7 +70,7 @@ return; } - if (folk != null && !folk.canInteract(player)) + if (!player.isGM() && !player.isMultisell() && folk != null && !folk.canInteract(player)) { player.setMultiSell(null); return; Index: java/net/sf/l2j/gameserver/model/actor/instance/Player.java =================================================================== --- java/net/sf/l2j/gameserver/model/actor/instance/Player.java (revision 7) +++ java/net/sf/l2j/gameserver/model/actor/instance/Player.java (working copy) @@ -621,6 +621,8 @@ private int _KillerTarget = 0; + private boolean _isMultisell = false; + /** * Constructor of Player (use Creature constructor). * <ul> @@ -3584,6 +3586,16 @@ _currentMultiSell = list; } + public void setMultisell(boolean b) + { + _isMultisell = b; + } + + public boolean isMultisell() + { + return _isMultisell; + } + @Override public void setTarget(WorldObject newTarget) { Index: java/net/sf/l2j/gameserver/network/clientpackets/RequestBypassToServer.java =================================================================== --- java/net/sf/l2j/gameserver/network/clientpackets/RequestBypassToServer.java (revision 7) +++ java/net/sf/l2j/gameserver/network/clientpackets/RequestBypassToServer.java (working copy) @@ -112,6 +112,8 @@ { if (!player.validateBypass(_command)) return; + + player.setMultisell(false); int endOfId = _command.indexOf('_', 5); String id;
  6. Hi, I was wondering if this would be correct because that makes my code not work CharNameTable.getInstance().doesCharNameExist(playerName) for PlayerInfoTable.getInstance().getPlayerObjectId(playerName) > 0
  7. thanks for the help I give up trying to do can close the topic
  8. I just want to leave enchanted items dropping
  9. only problem is if I put more than 1 item to dropa only comes 1 enchantado taking it ta 100% functional // Drop All Monsters Itens enchantados By Dev Williams if ((Config.ENABLE_DROP_ITEM_ENCHANT) && ((this instanceof Monster))) { for (int i = 1; i < 81; i++) { if (i > 10) { if (player.getLevel() == i && getLevel() < player.getLevel() - 8) return; } } if (Rnd.get(100) < Config.DROP_ITEM_ENCHANT[3]) { if (Config.AUTO_LOOT) player.getInventory().addEnchantedItem("Reward Enchant: ", Config.DROP_ITEM_ENCHANT[0], Config.DROP_ITEM_ENCHANT[1], Config.DROP_ITEM_ENCHANT[2], player, null); } }
  10. I did it your way and it did not work. I level 81 I won the mob level 1 award.
  11. this is a verification for player lvl 81 does not win the item killing mobe lvl 1 The auto loot was stupid, my kk.
×