Перейти к содержанию
Авторизация  
YourDevil

Проблема Со Сменой Ника

Рекомендуемые сообщения

Проблема с НПЦ который меняет ник, когда вводишь ник меньше 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>"

 

Заранее Благодарен за помощь!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

этот и стоит)

если фрозены то выключи в конфиге protected/other

 

# Check the characters Nick name on login

# IMPORTANT: Put True for server security.

CheckNameOnEnter = False

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

этот и стоит)

Скрипт который вы привели, не банит никого, а просто открывает диалог и говорит что имя введено не правильно, дело мб в защите

Изменено пользователем Anderson

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Pattern.matches("[A-Za-z0-9\`\~\!\@\#\$\%\^\*\(\)\_\-\=\[\]\'\.\,\:\;]{4,16}", event)

 

От себя добавлю, что использовать символы $ и ~ не рекомендовал бы. Первый мешает работе некоторых методов замены регулярного выражения в Яве, а второй просто не печатается клиентом.

Я лично вот такую маску использую:

private static String mask = "[a-zA-Z0-9_\\@\\~\\#\\^\\&\\*\\(\\)\\-\\+\\=]{4,16}";

Изменено пользователем Relvl
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...