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

Фикс инвиза персонажа в LostWorld

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

Находим пакет CharacterCreateFail

 

добавляем туда 

 

public static final L2GameServerPacket REASON_CREATION_FAILED = new CharacterCreateFail(0x00);

 

получаем такой файл:

package org.mmocore.gameserver.network.l2.s2c;

public class CharacterCreateFail extends L2GameServerPacket
{
	public static final L2GameServerPacket REASON_TOO_MANY_CHARACTERS = new CharacterCreateFail(0x01);
	public static final L2GameServerPacket REASON_NAME_ALREADY_EXISTS = new CharacterCreateFail(0x02);
	public static final L2GameServerPacket REASON_16_ENG_CHARS = new CharacterCreateFail(0x03);
	public static final L2GameServerPacket REASON_CREATION_FAILED = new CharacterCreateFail(0x00);

	private int _error;

	private CharacterCreateFail(int errorCode)
	{
		_error = errorCode;
	}

	@[member='override']
	protected final void writeImpl()
	{
		writeC(0x10);
		writeD(_error);
	}
} 

 

 

 

далее идем в CharacterCreate

 

и делаем так.

 

protected void runImpl()
	{
		for(ClassId cid : ClassId.VALUES)
			if(cid.getId() == _classId && cid.getLevel() != 1)
				return;

		if(CharacterDAO.getInstance().accountCharNumber(getClient().getLogin()) >= 7)
		{
			sendPacket(CharacterCreateFail.REASON_TOO_MANY_CHARACTERS);
			return;
		}
		if(!Util.isMatchingRegexp(_name, Config.CNAME_TEMPLATE) || NpcNameLineHolder.getInstance().isBlackListContainsName(_name))
		{
			sendPacket(CharacterCreateFail.REASON_16_ENG_CHARS);
			return;
		}
		else if(CharacterDAO.getInstance().getObjectIdByName(_name) > 0)
		{
			sendPacket(CharacterCreateFail.REASON_NAME_ALREADY_EXISTS);
			return;
		}

		
		_name = Matcher.quoteReplacement(_name);
		
		if (_face > 2 || _face < 0)
		{
			_log.warn("Character Creation Failure: Character face " + _face + " is invalid. Possible client hack. " + getClient());
			sendPacket(CharacterCreateFail.REASON_CREATION_FAILED);
			return;
		}

		if (_hairStyle < 0 || _sex == 0 && _hairStyle > 4 || _sex != 0 && _hairStyle > 6)
		{
			_log.warn("Character Creation Failure: Character hair style " + _hairStyle + " is invalid. Possible client hack. " + getClient());
			sendPacket(CharacterCreateFail.REASON_CREATION_FAILED);
			return;
		}

		if (_hairColor > 3 || _hairColor < 0)
		{
			_log.warn("Character Creation Failure: Character hair color " + _hairColor + " is invalid. Possible client hack. " + getClient());
			sendPacket(CharacterCreateFail.REASON_CREATION_FAILED);
			return;
		}

		Player newChar = Player.create(_classId, _sex, getClient().getLogin(), _name, _hairStyle, _hairColor, _face);
		if(newChar == null)
			return;

		sendPacket(CharacterCreateSuccess.STATIC);

		initNewChar(getClient(), newChar);
	} 

 

 

 

 

 

  • Upvote 3

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


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

спасибо за шару из шары

как говорится "спасибки не пахнут" (с)

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


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

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

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

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

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

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

Войти

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

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

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

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

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