This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and 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..
Question
Joκκєrino
Hello maxcheaters . Today i made an instanced npc who can change your name color . All works good but , after restart , color returns to the original.
Exemple : My name color is White ~> changing color to blue ~> restart ~> again white.
Thanks in advice .
Here is the npc :
package com.src.gameserver.model.actor.instance; import javolution.text.TextBuilder; import com.src.gameserver.network.serverpackets.ExShowScreenMessage; import com.src.gameserver.network.serverpackets.MagicSkillUser; import com.src.gameserver.network.serverpackets.NpcHtmlMessage; import com.src.gameserver.network.serverpackets.SocialAction; import com.src.gameserver.templates.chars.L2NpcTemplate; import com.src.gameserver.network.serverpackets.UserInfo; public class L2NpcColorInstance extends L2NpcInstance { public String filename; public L2NpcColorInstance(int objectId, L2NpcTemplate template) { super(objectId, template); } @Override public void onBypassFeedback(L2PcInstance player, String command) { if(player == null || player.getLastFolkNPC() == null || player.getLastFolkNPC().getObjectId() != this.getObjectId()) { return; } if(command.startsWith("name_verde")) { if(player.getInventory().getInventoryItemCount(5556, 0) >= 1) { player.getAppearance().setNameColor(0x009900); player.getInventory().destroyItemByItemId("Name Change Item", 5556, 1, player, null); displayCongrats(player); player.updateNameTitleColor(); player.broadcastUserInfo(); } else { player.sendMessage("You don't have enough items."); } } if(command.startsWith("name_albastru")) { if(player.getInventory().getInventoryItemCount(5556, 0) >= 1) { player.getAppearance().setNameColor(0xff5555); player.getInventory().destroyItemByItemId("Name Change Item", 5556, 1, player, null); displayCongrats(player); player.updateNameTitleColor(); player.broadcastUserInfo(); } else { player.sendMessage("You don't have enough items."); } } if(command.startsWith("name_mov")) { if(player.getInventory().getInventoryItemCount(5556, 0) >= 1) { player.getAppearance().setNameColor(0xBF00FF); player.getInventory().destroyItemByItemId("Name Change Item", 5556, 1, player, null); displayCongrats(player); player.updateNameTitleColor(); player.broadcastUserInfo(); } else { player.sendMessage("You don't have enough items."); } } if(command.startsWith("name_galben")) { if(player.getInventory().getInventoryItemCount(5556, 0) >= 1) { player.getAppearance().setNameColor(0x00ffff); player.getInventory().destroyItemByItemId("Name Change Item", 5556, 1, player, null); displayCongrats(player); player.updateNameTitleColor(); player.broadcastUserInfo(); } else { player.sendMessage("You don't have enough items."); } } if(command.startsWith("name_rosu")) { if(player.getInventory().getInventoryItemCount(5556, 0) >= 1) { player.getAppearance().setNameColor(0x4444FF); player.getInventory().destroyItemByItemId("Name Change Item", 5556, 1, player, null); displayCongrats(player); player.updateNameTitleColor(); player.broadcastUserInfo(); } else { player.sendMessage("You don't have enough items."); } } if(command.startsWith("name_portocaliu")) { if(player.getInventory().getInventoryItemCount(5556, 0) >= 1) { player.getAppearance().setNameColor(0x0099ff); player.getInventory().destroyItemByItemId("Name Change Item", 5556, 1, player, null); displayCongrats(player); player.updateNameTitleColor(); player.broadcastUserInfo(); } else { player.sendMessage("You don't have enough items."); } } if(command.startsWith("name_lime")) { if(player.getInventory().getInventoryItemCount(5556, 0) >= 1) { player.getAppearance().setNameColor(0x55ff55); player.getInventory().destroyItemByItemId("Name Change Item", 5556, 1, player, null); displayCongrats(player); player.updateNameTitleColor(); player.broadcastUserInfo(); } else { player.sendMessage("You don't have enough items."); } } if(command.startsWith("name_gri")) { if(player.getInventory().getInventoryItemCount(5556, 0) >= 1) { player.getAppearance().setNameColor(0x665566); player.getInventory().destroyItemByItemId("Name Change Item", 5556, 1, player, null); displayCongrats(player); player.updateNameTitleColor(); player.broadcastUserInfo(); } else { player.sendMessage("You don't have enough items."); } } if(command.startsWith("name_cyan")) { if(player.getInventory().getInventoryItemCount(5556, 0) >= 1) { player.getAppearance().setNameColor(0xffff00); player.getInventory().destroyItemByItemId("Name Change Item", 5556, 1, player, null); displayCongrats(player); player.broadcastUserInfo(); } else { player.sendMessage("You don't have enough items."); } } } private static void displayCongrats(L2PcInstance player) { player.broadcastPacket(new SocialAction(player.getObjectId(), 3)); player.broadcastPacket(new MagicSkillUser(player, player, 2024, 1, 1, 0)); player.sendPacket(new ExShowScreenMessage("Your name color have changed !", 4000, 0x02, true)); } @Override public void showChatWindow(L2PcInstance player, int val) { filename = (getHtmlPath(getNpcId(), val)); NpcHtmlMessage msg = new NpcHtmlMessage(this.getObjectId()); msg.setHtml(NpcWindow(player)); msg.replace("%objectId%", String.valueOf(this.getObjectId())); player.sendPacket(msg); } private String NpcWindow(L2PcInstance player) { TextBuilder tb = new TextBuilder(); tb.append("<html>"); tb.append("<title>Title Color Manager</title>"); tb.append("<body>"); tb.append("<center><img src=\"L2UI_CH3.herotower_deco\" width=258 height=32></center>"); tb.append("<br><br>"); tb.append("<center>"); tb.append("Do you want change your title color?<br>"); tb.append("You can change it for <font color=\"00FFFF\">1</font> <font color=\"LEVEL\">Festival Adena</font>."); tb.append("<br> "); tb.append("<font color=\"FFFF00\">Select</font> one color from the list below :<br>"); tb.append("<table width=\"240\" height=\"80\" border=\"0\" bgcolor=\"444444\">"); tb.append("<tr>"); tb.append("<td align=center><a action=\"bypass -h npc_%objectId%_name_verde\"><font color=\"009900\">Select</font></a></td>"); tb.append("<br>"); tb.append("<td align=center><a action=\"bypass -h npc_%objectId%_name_albastru\"><font color=\"0099ff\">Select</font></a></td>"); tb.append("<br>"); tb.append("<td align=center><a action=\"bypass -h npc_%objectId%_name_mov\"><font color=\"BF00FF\">Select</font></a></td>"); tb.append("</tr>"); tb.append("<tr>"); tb.append("<td align=center><a action=\"bypass -h npc_%objectId%_name_galben\"><font color=\"ffff00\">Select</font></a></td>"); tb.append("<br>"); tb.append("<td align=center><a action=\"bypass -h npc_%objectId%_name_rosu\"><font color=\"ff0000\">Select</font></a></td>"); tb.append("<br>"); tb.append("<td align=center><a action=\"bypass -h npc_%objectId%_name_portocaliu\"><font color=\"FF8000\">Select</font></a></td>"); tb.append("</tr>"); tb.append("<tr>"); tb.append("<td align=center><a action=\"bypass -h npc_%objectId%_name_lime\"><font color=\"80FF80\">Select</font></a></td>"); tb.append("<br>"); tb.append("<td align=center><a action=\"bypass -h npc_%objectId%_name_gry\"><font color=\"AAAAAA\">Select</font></a></td>"); tb.append("<br>"); tb.append("<td align=center><a action=\"bypass -h npc_%objectId%_name_cyan\"><font color=\"00FFFF\">Select</font></a></td>"); tb.append("</tr>"); tb.append("</table>"); tb.append("<br><br><center><img src=\"L2UI_CH3.herotower_deco\" width=258 height=32></center><br>"); tb.append(" <br><br>"); tb.append("</center>"); tb.append("</body></html>"); return tb.toString(); } }13 answers to this question
Recommended Posts