According to the log you have SendMessageLocalisationData enabled?
Try this.
Index: java/org/l2jmobius/gameserver/data/xml/impl/SendMessageLocalisationData.java
===================================================================
--- java/org/l2jmobius/gameserver/data/xml/impl/SendMessageLocalisationData.java (revision 7463)
+++ java/org/l2jmobius/gameserver/data/xml/impl/SendMessageLocalisationData.java (working copy)
@@ -91,50 +91,54 @@
{
if (Config.MULTILANG_ENABLE)
{
- final Map<String[], String[]> localisations = SEND_MESSAGE_LOCALISATIONS.get(player.getLang());
- if (localisations != null)
+ final String lang = player.getLang();
+ if (lang != null)
{
- // No pretty way of doing something like this.
- // Consider using proper SystemMessages where possible.
- String[] searchMessage;
- String[] replacementMessage;
- String localisation = message;
- boolean found;
- for (Entry<String[], String[]> entry : localisations.entrySet())
+ final Map<String[], String[]> localisations = SEND_MESSAGE_LOCALISATIONS.get(lang);
+ if (localisations != null)
{
- searchMessage = entry.getKey();
- replacementMessage = entry.getValue();
-
- // Exact match.
- if (searchMessage.length == 1)
+ // No pretty way of doing something like this.
+ // Consider using proper SystemMessages where possible.
+ String[] searchMessage;
+ String[] replacementMessage;
+ String localisation = message;
+ boolean found;
+ for (Entry<String[], String[]> entry : localisations.entrySet())
{
- if (searchMessage[0].equals(localisation))
+ searchMessage = entry.getKey();
+ replacementMessage = entry.getValue();
+
+ // Exact match.
+ if (searchMessage.length == 1)
{
- return replacementMessage[0];
- }
- }
- else // Split match.
- {
- found = true;
- for (String part : searchMessage)
- {
- if (!localisation.contains(part))
+ if (searchMessage[0].equals(localisation))
{
- found = false;
- break;
+ return replacementMessage[0];
}
}
- if (found)
+ else // Split match.
{
- for (int i = 0; i < searchMessage.length; i++)
+ found = true;
+ for (String part : searchMessage)
{
- localisation = localisation.replace(searchMessage[i], replacementMessage[i]);
+ if (!localisation.contains(part))
+ {
+ found = false;
+ break;
+ }
}
- break;
+ if (found)
+ {
+ for (int i = 0; i < searchMessage.length; i++)
+ {
+ localisation = localisation.replace(searchMessage[i], replacementMessage[i]);
+ }
+ break;
+ }
}
}
+ return localisation;
}
- return localisation;
}
}
return message;