NewQuit 13 Опубликовано 7 июня, 2015 (изменено) Нужна помощь!вот смотрите если я пишу на русском языке над игроком пишется горизонтально.но почему то когда пишу на английском языке пишется над игроком вертикально.Где можно это изменить ???и чтобы английский язык не переводился.Поставлю + за помощь .. Изменено 7 июня, 2015 пользователем NewQuit Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ncsSpawN 45 Опубликовано 7 июня, 2015 Смотреть фильтр в ксласе Say Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
NewQuit 13 Опубликовано 7 июня, 2015 (изменено) Смотреть фильтр в ксласе Say можно по подробнее Изменено 7 июня, 2015 пользователем NewQuit Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CalypsoToolz 451 Опубликовано 7 июня, 2015 Нужна помощь! вот смотрите если я пишу на русском языке над игроком пишется горизонтально. но почему то когда пишу на английском языке пишется над игроком вертикально. Где можно это изменить ??? и чтобы английский язык не переводился. Поставлю + за помощь .. Что то я не вижу англ символов. А чтобы "не переводился" скорее всего в .cfg включен транслит 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ncsSpawN 45 Опубликовано 7 июня, 2015 можно по подробнее ru.catssoftware.gameserver.network.clientpackets.Say2 package ru.catssoftware.gameserver.network.clientpackets; import java.nio.BufferUnderflowException; import java.util.regex.Pattern; import org.apache.log4j.Logger; import ru.catssoftware.Config; import ru.catssoftware.gameserver.banmanager.BanManager; import ru.catssoftware.gameserver.banmanager.spamcontrol.SpamControlHolder; import ru.catssoftware.gameserver.datatables.GmListTable; import ru.catssoftware.gameserver.handler.ChatHandler; import ru.catssoftware.gameserver.handler.IChatHandler; import ru.catssoftware.gameserver.handler.IVoicedCommandHandler; import ru.catssoftware.gameserver.handler.VoicedCommandHandler; import ru.catssoftware.gameserver.model.actor.instance.L2PcInstance; import ru.catssoftware.gameserver.model.zone.L2Zone; import ru.catssoftware.gameserver.network.SystemChatChannelId; import ru.catssoftware.gameserver.network.SystemMessageId; import ru.catssoftware.gameserver.network.serverpackets.CreatureSay; import ru.catssoftware.gameserver.util.FloodProtector; import ru.catssoftware.gameserver.util.FloodProtector.Protected; import ru.catssoftware.gameserver.util.SpamFilter; import ru.catssoftware.gameserver.util.StringUtil; import ru.catssoftware.tools.random.Rnd; import ru.catssoftware.util.Log; public class Say2 extends L2GameClientPacket { private static final String _C__38_SAY2 = "[C] 38 Say2"; private static Logger _logChat = Logger.getLogger("chat"); private SystemChatChannelId _chat; private String _text; private String _target; private int _type; @Override protected void readImpl() { try { _text = readS(); _type = readD(); } catch (BufferUnderflowException e) { _type = 0; _text = "oO"; } _chat = SystemChatChannelId.getChatType(_type); _target = _chat == SystemChatChannelId.Chat_Tell ? readS() : null; } @Override protected void runImpl() { L2PcInstance activeChar = getClient().getActiveChar(); // Проверяем activeChar if (activeChar == null) { return; } // Проверка длинны текста if (_text.length() > Config.CHAT_LENGTH) { //activeChar.sendMessage("Превышена длинна сообщения!"); _text = _text.substring(0, Config.CHAT_LENGTH); } // Проверка допустимого типа чата switch (_chat) { case Chat_None: case Chat_Announce: case Chat_Critical_Announce: case Chat_System: case Chat_Custom: case Chat_GM_Pet: { if (!activeChar.isGM()) { _chat = SystemChatChannelId.Chat_Normal; } } } // Проверка на VoiceHandler, парсер Voice команд if (_chat == SystemChatChannelId.Chat_Normal && (_text.startsWith(".") && !_text.startsWith(".."))) { String[] _commandParams = _text.split(" "); String command = _commandParams[0].substring(1); String params = ""; if (_commandParams.length > 1) { params = _text.substring(1 + command.length()).trim(); } else if (activeChar.getTarget() != null) { params = activeChar.getTarget().getName(); } IVoicedCommandHandler vch = VoicedCommandHandler.getInstance().getVoicedCommandHandler(command); if (vch != null) { if (!activeChar.isGM() && !FloodProtector.tryPerformAction(activeChar, Protected.VOICE_CMD)) { activeChar.sendMessage("Защита от флуда. Попробуйте позже!"); return; } else { vch.useVoicedCommand(command, activeChar, params); return; } } else { IVoicedCommandHandler vc = VoicedCommandHandler.getInstance().getVoicedCommandHandler("menu"); if (vc == null) { return; } vc.useVoicedCommand("menu", activeChar, ""); activeChar.sendMessage("Wrong command: [." + command + "]."); } return; } // Проверка блокировки чата if (!activeChar.isGM() && (activeChar.isChatBanned() || activeChar.isInsideZone(L2Zone.FLAG_NOCHAT))) { if (_chat != SystemChatChannelId.Chat_User_Pet && _chat != SystemChatChannelId.Chat_Tell) { activeChar.sendPacket(SystemMessageId.CHATTING_IS_CURRENTLY_PROHIBITED); return; } } // Проверка типа чата. Если чар ГМ, то меняем тип чата if (_chat == SystemChatChannelId.Chat_User_Pet && activeChar.isGM()) { _chat = SystemChatChannelId.Chat_GM_Pet; } // Фильтр разрешенного типа чата при наличии Зарича/Акаманаха if (activeChar.isCursedWeaponEquipped()) { switch (_chat) { case Chat_Shout: case Chat_Market: activeChar.sendMessage("Чат недоступен"); return; } } // Проверка абзацов в чате, если абзацы запрещены //if (!Config.ALLOW_MULTILINE_CHAT) { _text = _text.replaceAll("\\\\n", ""); //} // Запись чата в лог файл if (Config.LOG_CHAT) { if (_chat == SystemChatChannelId.Chat_Tell) { _logChat.info(_chat.getName() + "[" + activeChar.getName() + " to " + _target + "] " + _text); } else { _logChat.info(_chat.getName() + "[" + activeChar.getName() + "] " + _text); } } switch (_chat) { case Chat_Normal: case Chat_Shout: case Chat_Market: case Chat_Tell: case Chat_Hero: // Проверка текста на запрещенные слова if (Config.USE_SAY_FILTER) { checkText(activeChar); } if (Config.ANTISPAM_MESSAGE_ENABLE) { long spamBlock = SpamControlHolder.getInstance().checkMessage(activeChar, _text); if (spamBlock > System.currentTimeMillis()) { activeChar.sendMessage("Ваш чат был заблокирован за спам, разблокировка через пару минут."); return; } } } if (Config.CHAT_GM_BROADCAST && StringUtil.isForBroadcst(_text)) { GmListTable.broadcastChat(_chat == SystemChatChannelId.Chat_Tell ? (activeChar.getName() + "->" + _target) : activeChar.getName(), _text); } useChatHandler(activeChar, ChatHandler.getInstance().getChatHandler(_chat)); } private void useChatHandler(L2PcInstance activeChar, IChatHandler ich) { if (ich == null) { return; } ich.useChatHandler(activeChar, _target, _chat, _text); } private void checkText(L2PcInstance activeChar) { String filteredText = _text; for (Pattern pattern : Config.FILTER_LIST) { filteredText = pattern.matcher(filteredText).replaceAll(Config.CHAT_FILTER_CHARS); } if (Config.KARMA_ON_OFFENSIVE > 0 && !_text.equals(filteredText)) { activeChar.setKarma(activeChar.getKarma() + Config.KARMA_ON_OFFENSIVE); } _text = filteredText; } @Override public String getType() { return _C__38_SAY2; } } 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ncsSpawN 45 Опубликовано 7 июня, 2015 иru.catssoftware.gameserver.util.StringUtil package ru.catssoftware.gameserver.util; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.regex.Pattern; import ru.catssoftware.Config; import ru.catssoftware.tools.codec.Base64; public class StringUtil { public static void append(StringBuilder builder, String... strings) { for (String s : strings) { builder.append(s).append(" "); } } private static final Pattern safeSql = Pattern.compile("[A-Za-z0-9\\- ]{3,16}"); public static boolean isValidStringAZ(String text) { return safeSql.matcher(text).matches(); } public static boolean isForbidden(String text) { for (String bad : Config.SPAM_FILTER_LIST) { if (bad.isEmpty()) { continue; } if (text.matches(".*" + bad + ".*")) { return true; } } return false; } public static boolean isSpamText(String text) { text = text.toLowerCase(); /*text = text.replaceAll("\n", ""); text = text.replace("\n", ""); text = text.replace("n\\", ""); text = text.replace("\r", ""); text = text.replace("r\\", ""); text = ltrim(text); text = rtrim(text); text = itrim(text); text = lrtrim(text);*/ //text = replaceIdent(text); //text = text.replaceAll("\\W", ""); text = text.replaceAll("[^A-Za-zА-Яа-я0-9]", ""); for (String bad : Config.SPAM_FILTER_LIST) { if (bad.isEmpty()) { continue; } if (text.matches(".*" + bad + ".*")) { return true; } } return false; } public static boolean isSpamDigitText(String text) { text = text.toLowerCase(); /*text = text.replaceAll("\n", ""); text = text.replace("\n", ""); text = text.replace("n\\", ""); text = text.replace("\r", ""); text = text.replace("r\\", ""); text = ltrim(text); text = rtrim(text); text = itrim(text); text = lrtrim(text);*/ //text = replaceIdent(text); //text = text.replaceAll("\\W", ""); text = text.replaceAll("\\D", ""); for (String bad : Config.SPAM_FILTER_DIGITS_LIST) { if (bad.isEmpty()) { continue; } if (text.matches(".*" + bad + ".*")) { return true; } } return false; } public static String replaceIdent(String word) { word = word.toLowerCase(); word = word.replace("a", "а"); word = word.replace("c", "с"); word = word.replace("s", "с"); word = word.replace("e", "е"); word = word.replace("k", "к"); word = word.replace("m", "м"); word = word.replace("o", "о"); word = word.replace("0", "о"); word = word.replace("x", "х"); word = word.replace("uy", "уй"); word = word.replace("y", "у"); word = word.replace("u", "у"); word = word.replace("ё", "е"); word = word.replace("9", "я"); word = word.replace("3", "з"); word = word.replace("z", "з"); word = word.replace("d", "д"); word = word.replace("p", "п"); word = word.replace("i", "и"); word = word.replace("ya", "я"); word = word.replace("ja", "я"); return word; } public static String checkCensore(String text) { for (Pattern pattern : Config.FILTER_LIST) { text = pattern.matcher(text).replaceAll(Config.CHAT_FILTER_CHARS); } return text; } public static boolean isForBroadcst(String text) { text = text.toLowerCase(); text = text.replaceAll("\n", ""); text = text.replace("\n", ""); text = text.replace("n\\", ""); text = text.replace("\r", ""); text = text.replace("r\\", ""); text = ltrim(text); text = rtrim(text); text = itrim(text); text = lrtrim(text); //text = replaceIdent(text); //text = text.replaceAll("\\W", ""); text = text.replaceAll("[^A-Za-zА-Яа-я0-9]", ""); for (String bad : Config.CHAT_GM_BROADCAST_LIST) { if (bad.isEmpty()) { continue; } if (text.matches(".*" + bad + ".*")) { return true; } } return false; } // public static String ltrim(String source) { return source.replaceAll("^\\s+", ""); } public static String rtrim(String source) { return source.replaceAll("\\s+$", ""); } public static String itrim(String source) { return source.replaceAll("\\b\\s{2,}\\b", " "); } public static String trim(String source) { return itrim(ltrim(rtrim(source))); } public static String lrtrim(String source) { return ltrim(rtrim(source)); } public static String md5(String input) { try { MessageDigest md = MessageDigest.getInstance("MD5"); md.update(input.getBytes()); input = bytesToHex(md.digest()); } catch (NoSuchAlgorithmException ex) { // } return input; } public static String bytesToHex(byte[] { char hexDigit[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; StringBuilder buf = new StringBuilder(); for (int j = 0; j < b.length; j++) { buf.append(hexDigit[(b[j] >> 4) & 0x0f]); buf.append(hexDigit[b[j] & 0x0f]); } return buf.toString(); } public static String getSHA1(String pass) { String result = ""; try { // Encode Password MessageDigest md = MessageDigest.getInstance("SHA"); byte[] newpass; newpass = pass.getBytes("UTF-8"); newpass = md.digest(newpass); result = Base64.encodeBytes(newpass); } catch (Exception e) { // } return result; } } 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
NewQuit 13 Опубликовано 7 июня, 2015 Вопрос как убрать полностью со сборки транслит Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pulsar 5 Опубликовано 10 июня, 2015 Вопрос как убрать полностью со сборки транслит А если ребята принципиальны и только он транслит ? не боишься что народ слетит из за такой мелочи & Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
NewQuit 13 Опубликовано 10 июня, 2015 А если ребята принципиальны и только он транслит ? не боишься что народ слетит из за такой мелочи & я ищу решение его Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты