Explorar o código

BETA: String replace bigfix at class master. (by Battlecruiser)

Nik %!s(int64=13) %!d(string=hai) anos
pai
achega
17d823ad3d

+ 8 - 6
L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/instance/L2ClassMasterInstance.java

@@ -14,6 +14,8 @@
  */
 package com.l2jserver.gameserver.model.actor.instance;
 
+import java.util.regex.Matcher;
+
 import com.l2jserver.Config;
 import com.l2jserver.gameserver.cache.HtmCache;
 import com.l2jserver.gameserver.datatables.ClassListData;
@@ -84,7 +86,7 @@ public final class L2ClassMasterInstance extends L2MerchantInstance
 			{
 				NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
 				html.setFile(player.getHtmlPrefix(), "data/html/classmaster/ok.htm");
-				html.replace("%name%", ClassListData.getInstance().getClass(val).getClassName(true));
+				html.replace("%name%", Matcher.quoteReplacement(ClassListData.getInstance().getClass(val).getClassName(true)));
 				player.sendPacket(html);
 			}
 		}
@@ -251,8 +253,8 @@ public final class L2ClassMasterInstance extends L2MerchantInstance
 					if (menu.length() > 0)
 					{
 						html.setFile(player.getHtmlPrefix(), "data/html/classmaster/template.htm");
-						html.replace("%name%", ClassListData.getInstance().getClass(currentClassId).getClassName(true));
-						html.replace("%menu%", menu.toString());
+						html.replace("%name%", Matcher.quoteReplacement(ClassListData.getInstance().getClass(currentClassId).getClassName(true)));
+						html.replace("%menu%", Matcher.quoteReplacement(menu.toString()));
 					}
 					else
 					{
@@ -287,7 +289,7 @@ public final class L2ClassMasterInstance extends L2MerchantInstance
 		
 		String msg = HtmCache.getInstance().getHtm(player.getHtmlPrefix(), "data/html/classmaster/tutorialtemplate.htm");
 		
-		msg = msg.replaceAll("%name%", ClassListData.getInstance().getClass(currentClassId).getClassName(true));
+		msg = msg.replaceAll("%name%", Matcher.quoteReplacement(ClassListData.getInstance().getClass(currentClassId).getClassName(true)));
 		
 		final StringBuilder menu = new StringBuilder(100);
 		for (ClassId cid : ClassId.values())
@@ -306,8 +308,8 @@ public final class L2ClassMasterInstance extends L2MerchantInstance
 			}
 		}
 		
-		msg = msg.replaceAll("%menu%", menu.toString());
-		msg = msg.replace("%req_items%", getRequiredItems(currentClassId.level()+1));
+		msg = msg.replaceAll("%menu%", Matcher.quoteReplacement(menu.toString()));
+		msg = msg.replace("%req_items%", Matcher.quoteReplacement(getRequiredItems(currentClassId.level()+1)));
 		player.sendPacket(new TutorialShowHtml(msg));
 	}