| 
		
	
	
	
		
	Сообщений: 38 
	Тем: 1 
	Зарегистрирован: Aug 2011
	
 Репутация: 
446 
	
	
		PHP код: <?php public class RequestCharacterNameCreatable extends L2GameClientPacket
 {
 private static final String _C__D0_B0_REQUESTCHARACTERNAMECREATABLE = "[C] D0:B0 RequestCharacterNameCreatable";
 String _name;
 
 @Override
 protected void readImpl()
 {
 _name = readS();
 }
 
 @Override
 protected void runImpl()
 {
 if ((_name.length() < 1) || (_name.length() > 16))
 {
 sendPacket(new ExIsCharNameCreatable(ExIsCharNameCreatable.REASON_16_ENG_CHARS));
 return;
 }
 
 if(Config.FORBIDDEN_NAMES.length > 1)
 {
 for(String st : Config.FORBIDDEN_NAMES)
 {
 if(_name.toLowerCase().contains(st.toLowerCase()))
 {
 sendPacket(new ExIsCharNameCreatable(ExIsCharNameCreatable.REASON_INCORRECT_NAME));
 return;
 }
 }
 }
 
 if (!Util.isAlphaNumeric(_name) || !isValidName(_name))
 {
 sendPacket(new ExIsCharNameCreatable(ExIsCharNameCreatable.REASON_INCORRECT_NAME));
 return;
 }
 
 int _code = CharNameTable.getInstance().getIdByName(_name) != -1 ? 2 : -1;
 
 sendPacket(new ExIsCharNameCreatable(_code));
 }
 
 private boolean isValidName(String text)
 {
 boolean result = true;
 String test = text;
 Pattern pattern;
 try
 {
 pattern = Pattern.compile(Config.CNAME_TEMPLATE);
 }
 catch (PatternSyntaxException e) // case of illegal pattern
 {
 pattern = Pattern.compile(".*");
 }
 Matcher regexp = pattern.matcher(test);
 if (!regexp.matches())
 {
 result = false;
 }
 return result;
 }
 
 @Override
 public String getType()
 {
 return _C__D0_B0_REQUESTCHARACTERNAMECREATABLE;
 }
 }
 
 
Пробуй    
	
	
	
		
	Сообщений: 885 
	Тем: 73 
	Зарегистрирован: Dec 2009
	
 Репутация: 
2,022 
	
	
		я уже думал про это, но если дописать  Код: int _code = CharNameTable.getInstance().getIdByName(_name) != -1 ? 2 : -1;
 , то вылазит ошибка при компиле, что нет метода,
 Код: sendPacket(new ExIsCharNameCreatable(_code)); [javac] symbol  : method getIdByName(java.lang.String)
 [javac] location: class l2open.gameserver.tables.CharNameTable
 [javac]         int _code = CharNameTable.getInstance().getIdByName(_name) !
 = -1 ? 2 : -1;
 [javac]                                                ^
 [javac] 1 error
 дописав метод в CharNameTable , вылазит еше 100 ошибок, что опять чего то нет   
	
	
	
		
	Сообщений: 5,670 
	Тем: 145 
	Зарегистрирован: Nov 2008
	
 Репутация: 
33,771 
	
	
		Имя метода getIdByName  в ваших исходниках может отличатся.
	 
Web программист\разработчик
— Есть только один способ проделать большую работу — полюбить ее. Если вы к этому не пришли, подождите. Не беритесь за дело.
 
	
	
	
		
	Сообщений: 885 
	Тем: 73 
	Зарегистрирован: Dec 2009
	
 Репутация: 
2,022 
	
	
		его там нет   Думал отличаеться, но как бы не было прискорбно нет его там...
	 
	
	
	
		
	Сообщений: 5,670 
	Тем: 145 
	Зарегистрирован: Nov 2008
	
 Репутация: 
33,771 
	
	
		Какие исходники у вас?
	 
Web программист\разработчик
— Есть только один способ проделать большую работу — полюбить ее. Если вы к этому не пришли, подождите. Не беритесь за дело.
 
	
	
	
		
	Сообщений: 885 
	Тем: 73 
	Зарегистрирован: Dec 2009
	
 Репутация: 
2,022 
	
		
		
		11-11-2011, 04:06 PM 
(Сообщение последний раз редактировалось: 11-11-2011, 04:08 PM   SkyWard.)
		
	 
		open-team 18++ чо то как кто такДобавлено через 1 минуту 
			
 package l2open.gameserver.tables;
 import l2open.database.DatabaseUtils;
 import l2open.database.FiltredPreparedStatement;
 import l2open.database.L2DatabaseFactory;
 import l2open.database.ThreadConnection;
 
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.logging.Logger;
 
 @SuppressWarnings( { "nls", "unqualified-field-access", "boxing" })
 public class CharNameTable
 {
 private static final Logger _log = Logger.getLogger(CharNameTable.class.getName());
 
 private static CharNameTable _instance;
 
 public static CharNameTable getInstance()
 {
 if(_instance == null)
 _instance = new CharNameTable();
 return _instance;
 }
 
 public boolean doesCharNameExist(String name)
 {
 boolean result = true;
 ThreadConnection con = null;
 FiltredPreparedStatement statement = null;
 ResultSet rset = null;
 
 try
 {
 con = L2DatabaseFactory.getInstance().getConnection();
 statement = con.prepareStatement("SELECT account_name FROM characters WHERE char_name=?");
 statement.setString(1, name);
 rset = statement.executeQuery();
 result = rset.next();
 }
 catch(SQLException e)
 {
 _log.warning("could not check existing charname:" + e.getMessage());
 }
 finally
 {
 DatabaseUtils.closeDatabaseCSR(con, statement, rset);
 }
 return result;
 }
 
 
 public int accountCharNumber(String account)
 {
 ThreadConnection con = null;
 FiltredPreparedStatement statement = null;
 ResultSet rset = null;
 int number = 0;
 try
 {
 con = L2DatabaseFactory.getInstance().getConnection();
 statement = con.prepareStatement("SELECT COUNT(char_name) FROM characters WHERE account_name=?");
 statement.setString(1, account);
 rset = statement.executeQuery();
 while(rset.next())
 number = rset.getInt(1);
 }
 catch(SQLException e)
 {
 _log.warning("could not check existing char number:" + e.getMessage());
 }
 finally
 {
 DatabaseUtils.closeDatabaseCSR(con, statement, rset);
 }
 return number;
 }
 }
 
	
	
	
		
	Сообщений: 5,670 
	Тем: 145 
	Зарегистрирован: Nov 2008
	
 Репутация: 
33,771 
	
	
		Метод doesCharNameExist  проверяет занято имя или нет, юзайте его.
	 
Web программист\разработчик
— Есть только один способ проделать большую работу — полюбить ее. Если вы к этому не пришли, подождите. Не беритесь за дело.
 
	
	
	
		
	Сообщений: 885 
	Тем: 73 
	Зарегистрирован: Dec 2009
	
 Репутация: 
2,022 
	
		
		
		11-11-2011, 04:14 PM 
(Сообщение последний раз редактировалось: 11-11-2011, 04:17 PM   SkyWard.)
		
	 
		оп оп не катит, пробывал уже)
 Есть еше какие то методы побороть уже пакасть?
 
	
	
	
		
	Сообщений: 5,670 
	Тем: 145 
	Зарегистрирован: Nov 2008
	
 Репутация: 
33,771 
	
	
		Плохо пробывали.  Код: int _code = CharNameTable.getInstance().doesCharNameExist(_name) ? 0 : -1;sendPacket(new ExIsCharNameCreatable(_code));
Web программист\разработчик
— Есть только один способ проделать большую работу — полюбить ее. Если вы к этому не пришли, подождите. Не беритесь за дело.
 
	
	
	
		
	Сообщений: 885 
	Тем: 73 
	Зарегистрирован: Dec 2009
	
 Репутация: 
2,022 
	
		
		
		11-11-2011, 04:23 PM 
(Сообщение последний раз редактировалось: 11-11-2011, 04:43 PM   SkyWard.)
		
	 
		оп оп опять та же ошибка  Код: RequestCharacterNameCreatable.java:59: incomparable types: boolean and int[javac]         int _code = CharNameTable.getInstance().doesCharNameExist(_n
 ame) ? 0 : -1;
 [javac]
 ^
 [javac] 1 error
то что Вы написали уже делал....
Добавлено через 10 минут 
хоть что не делай все ровно не создается, мб дело в протоколе?оО
Добавлено через 20 минут [STIGMATED];147691 Написал:Плохо пробывали. 
 
 Код: int _code = CharNameTable.getInstance().doesCharNameExist(_name) ? 0 : -1;sendPacket(new ExIsCharNameCreatable(_code));
 
с этим решил проблему, но все ровно мертво с созданием...
	 |