YourDevil 0 Опубликовано 28 сентября, 2012 Проблема с НПЦ который меняет ник, когда вводишь ник меньше 3 или больше 16 символов персонажа автоматически банит, и кикает из игры, как сделать, чтобы при вводе ника меньше или больше 16 символов выбивало просто окошко "Введите ник от 3х до 16ти символов"? Сам код НПЦ if not CharNameTable.getInstance().doesCharNameExist(event): if len(event) >= 3 and len(event) <= 16 and Pattern.matches("[A-Za-z0-9\`\~\!\@\#\$\%\^\*\(\)\_\-\=\[\]\'\.\,\:\;]*", event): if st.getPlayer().isClanLeader(): return "<html><head><body><center>Clan leaders no can change name!</center></body></html>" if st.getPlayer().getClan(): return "<html><head><body><center>Clan members no can change name!</center></body></html>" if st.getQuestItemsCount(ITEM_ID) >= NAME_COUNT: st.takeItems(ITEM_ID,NAME_COUNT) L2World.getInstance().removeFromAllPlayers(st.getPlayer()); st.getPlayer().setName(event); st.getPlayer().store(); L2World.getInstance().addToAllPlayers(st.getPlayer()); st.getPlayer().broadcastUserInfo(); return "4.htm" else: return "<html><head><body><center>Item count is incorrect!</center></body></html>" else: return "<html><head><body><center>Name is incorrect!</center></body></html>" else: return "<html><head><body><center>Name already exist!</center></body></html>" return "<html><head><body><center>Item count is incorrect!</center></body></html>" Заранее Благодарен за помощь! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
taste 501 Опубликовано 28 сентября, 2012 http://l2maxi.ru/java/addons/3219-interlude-donat-shop-dlya-l2j-frozen.html этот поставь Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
YourDevil 0 Опубликовано 28 сентября, 2012 http://l2maxi.ru/jav...l2j-frozen.html этот поставь этот и стоит) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
taste 501 Опубликовано 28 сентября, 2012 этот и стоит) если фрозены то выключи в конфиге protected/other # Check the characters Nick name on login # IMPORTANT: Put True for server security. CheckNameOnEnter = False Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Anderson 36 Опубликовано 28 сентября, 2012 (изменено) этот и стоит) Скрипт который вы привели, не банит никого, а просто открывает диалог и говорит что имя введено не правильно, дело мб в защите Изменено 28 сентября, 2012 пользователем Anderson Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
YourDevil 0 Опубликовано 28 сентября, 2012 Да точно!) Всем спасибо, проблему решил) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Relvl 26 Опубликовано 29 сентября, 2012 (изменено) Pattern.matches("[A-Za-z0-9\`\~\!\@\#\$\%\^\*\(\)\_\-\=\[\]\'\.\,\:\;]{4,16}", event) От себя добавлю, что использовать символы $ и ~ не рекомендовал бы. Первый мешает работе некоторых методов замены регулярного выражения в Яве, а второй просто не печатается клиентом. Я лично вот такую маску использую: private static String mask = "[a-zA-Z0-9_\\@\\~\\#\\^\\&\\*\\(\\)\\-\\+\\=]{4,16}"; Изменено 29 сентября, 2012 пользователем Relvl 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты