Подробная информация - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Aion > Серверная часть

Важная информация

Серверная часть Обсуждения вопросов по установке и настройке эмулятора Aion-Emu, для совершенно новой и необыкновенно красивой игры - Aion.
Описание темы:Отключение функции

Ответ
Опции темы
Непрочитано 13.11.2010, 22:32   #1
Аватар для Wolfas
Пользователь

Автор темы (Топик Стартер) Подробная информация

Подскажите как отключить, запрет на просмотр подробной информации о игроке?
__________________
Консоль GameServer не советует:"Вы настраивайте сервер уже 1 час. Советуем вам немного отдохнуть".
Wolfas вне форума Ответить с цитированием
Непрочитано 13.11.2010, 23:17   #2
Аватар для VISTALL
Illussion is real

По умолчанию Re: Подробная информация

найти нужный клиент пакет аля CM_PLAYER_INFO и убить посылку серверного пакета
VISTALL вне форума Ответить с цитированием
Непрочитано 13.11.2010, 23:18   #3
Аватар для TieLay
Герой

По умолчанию Re: Подробная информация

А для кого для Gm или для всех?
TieLay вне форума Ответить с цитированием
Непрочитано 14.11.2010, 00:18   #4
Аватар для Wolfas
Пользователь

Автор темы (Топик Стартер) Re: Подробная информация

Для всех, ну или только для GM, но думаю будет слишком проблематично

Добавлено через 4 минуты
Код:
public class SM_PLAYER_INFO extends AionServerPacket
{

	/**
	 * Visible player
	 */
	private final Player	player;
	private boolean		enemy;

	/**
	 * Constructs new <tt>SM_PLAYER_INFO </tt> packet
	 * 
	 * @param player
	 *            actual player.
	 * @param enemy
	 */
	public SM_PLAYER_INFO(Player player, boolean enemy)
	{
		this.player = player;
		this.enemy = enemy;
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	protected void writeImpl(AionConnection con, ByteBuffer buf)
	{
		PlayerCommonData pcd = player.getCommonData();
		
		final int raceId;

		if(player.getAdminNeutral() > 1 || con.getActivePlayer().getAdminNeutral() > 1)
			raceId = con.getActivePlayer().getCommonData().getRace().getRaceId();

		else if((player.getAdminEnmity() > 1 || con.getActivePlayer().getAdminEnmity() > 1) &&
			con.getActivePlayer().getName() != player.getName() && con.getActivePlayer().isFriend(player))
			raceId = (con.getActivePlayer().getCommonData().getRace().getRaceId() == 0 ? 1 : 0);

		else 
			raceId = pcd.getRace().getRaceId();

		final int genderId = pcd.getGender().getGenderId();
		final PlayerAppearance playerAppearance = player.getPlayerAppearance();

		writeF(buf, player.getX());// x
		writeF(buf, player.getY());// y
		writeF(buf, player.getZ());// z
		writeD(buf, player.getObjectId());
		/**
		 * A3 female asmodian A2 male asmodian A1 female elyos A0 male elyos
		 */
		writeD(buf, pcd.getTemplateId());
		/**
		 * Transformed state - send transformed model id Regular state - send player model id (from common data)
		 */
		writeD(buf, player.getTransformedModelId() == 0 ? pcd.getTemplateId() : player.getTransformedModelId());
		
		writeC(buf, 0x00); // new 2.0 Packet --- probably pet info?
		writeC(buf, enemy ? 0x00 : 0x26);

		writeC(buf, raceId); // race
		writeC(buf, pcd.getPlayerClass().getClassId());
		writeC(buf, genderId); // sex
		writeH(buf, player.getState());

		byte[] unk = new byte[] { (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00,
			(byte) 0x00, (byte) 0x00 };
		writeB(buf, unk);

		writeC(buf, player.getHeading());

		writeS(buf, player.getName());

		writeD(buf, pcd.getTitleId());
		writeC(buf, 0x0);// if set 0x1 can't jump and fly..
		writeH(buf, player.getCastingSkillId());
		writeH(buf, player.isLegionMember() ? player
			.getLegion().getLegionId() : 0);
		writeH(buf, 0); // User Emblem related?
		writeH(buf, player.isLegionMember() ? player
			.getLegion().getLegionEmblem().getEmblemId() : 0);
		writeC(buf, 0xFF);
		writeC(buf, player.isLegionMember() ? player
			.getLegion().getLegionEmblem().getColor_r() : 0);
		writeC(buf, player.isLegionMember() ? player
			.getLegion().getLegionEmblem().getColor_g() : 0);
		writeC(buf, player.isLegionMember() ? player
			.getLegion().getLegionEmblem().getColor_b() : 0);
		writeS(buf, player.isLegionMember() ? player
			.getLegion().getLegionName() : "");

		int maxHp = player.getLifeStats().getMaxHp();
		int currHp = player.getLifeStats().getCurrentHp();
		writeC(buf, 100 * currHp / maxHp);// %hp
		writeH(buf, pcd.getDp());// current dp
		writeC(buf, 0x00);// unk (0x00)

		List<Item> items = player.getEquipment().getEquippedItemsWithoutStigma();
		short mask = 0;
		for(Item item : items)
		{
			mask |= item.getEquipmentSlot();
		}

		writeH(buf, mask);

		for(Item item : items)
		{
			if(item.getEquipmentSlot() < Short.MAX_VALUE * 2)
			{
				writeD(buf, item.getItemSkinTemplate().getTemplateId());
				GodStone godStone = item.getGodStone();
				writeD(buf, godStone != null ? godStone.getItemId() : 0); 
				writeD(buf, item.getItemColor());
				writeH(buf, 0x00);// unk (0x00)
			}
		}

		writeD(buf, playerAppearance.getSkinRGB());
		writeD(buf, playerAppearance.getHairRGB());
		writeD(buf, playerAppearance.getEyeRGB());
		writeD(buf, playerAppearance.getLipRGB());
		writeC(buf, playerAppearance.getFace());
		writeC(buf, playerAppearance.getHair());
		writeC(buf, playerAppearance.getDeco());
		writeC(buf, playerAppearance.getTattoo());

		writeC(buf, 5);// always 5 o0

		writeC(buf, playerAppearance.getFaceShape());
		writeC(buf, playerAppearance.getForehead());

		writeC(buf, playerAppearance.getEyeHeight());
		writeC(buf, playerAppearance.getEyeSpace());
		writeC(buf, playerAppearance.getEyeWidth());
		writeC(buf, playerAppearance.getEyeSize());
		writeC(buf, playerAppearance.getEyeShape());
		writeC(buf, playerAppearance.getEyeAngle());

		writeC(buf, playerAppearance.getBrowHeight());
		writeC(buf, playerAppearance.getBrowAngle());
		writeC(buf, playerAppearance.getBrowShape());

		writeC(buf, playerAppearance.getNose());
		writeC(buf, playerAppearance.getNoseBridge());
		writeC(buf, playerAppearance.getNoseWidth());
		writeC(buf, playerAppearance.getNoseTip());

		writeC(buf, playerAppearance.getCheek());
		writeC(buf, playerAppearance.getLipHeight());
		writeC(buf, playerAppearance.getMouthSize());
		writeC(buf, playerAppearance.getLipSize());
		writeC(buf, playerAppearance.getSmile());
		writeC(buf, playerAppearance.getLipShape());
		writeC(buf, playerAppearance.getJawHeigh());
		writeC(buf, playerAppearance.getChinJut());
		writeC(buf, playerAppearance.getEarShape());
		writeC(buf, playerAppearance.getHeadSize());
		// 1.5.x 0x00, shoulderSize, armLength, legLength (BYTE) after HeadSize

		writeC(buf, playerAppearance.getNeck());
		writeC(buf, playerAppearance.getNeckLength());
		writeC(buf, playerAppearance.getShoulderSize());

		writeC(buf, playerAppearance.getTorso());
		writeC(buf, playerAppearance.getChest()); // only woman
		writeC(buf, playerAppearance.getWaist());

		writeC(buf, playerAppearance.getHips());
		writeC(buf, playerAppearance.getArmThickness());
		writeC(buf, playerAppearance.getHandSize());
		writeC(buf, playerAppearance.getLegThicnkess());

		writeC(buf, playerAppearance.getFootSize());
		writeC(buf, playerAppearance.getFacialRate());

		writeC(buf, 0x00); // always 0
		writeC(buf, playerAppearance.getArmLength());
		writeC(buf, playerAppearance.getLegLength());
		writeC(buf, playerAppearance.getShoulders());
		writeC(buf, 0x00); // always 0
		writeC(buf, 0x00); // 0x00

		writeC(buf, playerAppearance.getVoice());

		writeF(buf, playerAppearance.getHeight());
		writeF(buf, 0.25f); // scale
		writeF(buf, 2.0f); // gravity or slide surface o_O
		writeF(buf, player.getGameStats().getCurrentStat(StatEnum.SPEED) / 1000f); // move speed

		writeH(buf, player.getGameStats().getBaseStat(StatEnum.ATTACK_SPEED));
		writeH(buf, player.getGameStats().getCurrentStat(StatEnum.ATTACK_SPEED));
		writeC(buf, 2);

		writeS(buf, player.hasStore() ? player.getStore().getStoreMessage() : "");// private store message

		/**
		 * Movement
		 */
		writeF(buf, 0);
		writeF(buf, 0);
		writeF(buf, 0);

		writeF(buf, player.getX());// x
		writeF(buf, player.getY());// y
		writeF(buf, player.getZ());// z
		writeC(buf, 0x00); // move type

		if(player.isUsingFlyTeleport())
		{
			writeD(buf, player.getFlightTeleportId());
			writeD(buf, player.getFlightDistance());
		}

		writeC(buf, player.getVisualState()); // visualState
		writeS(buf, player.getCommonData().getNote()); // note show in right down windows if your target on player

		writeH(buf, player.getLevel()); // [level]
		writeH(buf, player.getPlayerSettings().getDisplay()); // unk - 0x04
		writeH(buf, player.getPlayerSettings().getDeny()); // unk - 0x00
		writeH(buf, player.getAbyssRank().getRank().getId()); // abyss rank
		writeH(buf, 0x00); // unk - 0x01
		writeD(buf, player.getTarget() == null ? 0 : player.getTarget().getObjectId());
		writeC(buf, 0); // suspect id
	}
}
Добавлено через 19 минут
Вродь, эти

writeH(buf, player.getPlayerSettings().getDisplay()); // unk - 0x04
writeH(buf, player.getPlayerSettings().getDeny()); // unk - 0x00
__________________
Консоль GameServer не советует:"Вы настраивайте сервер уже 1 час. Советуем вам немного отдохнуть".

Последний раз редактировалось Wolfas; 14.11.2010 в 00:38. Причина: Добавлено сообщение
Wolfas вне форума Ответить с цитированием
Непрочитано 14.11.2010, 00:39   #5
Аватар для VISTALL
Illussion is real

По умолчанию Re: Подробная информация

Цитата:
Сообщение от Wolfas Посмотреть сообщение
Для всех, ну или только для GM, но думаю будет слишком проблематично

Добавлено через 4 минуты
Код:
public class SM_PLAYER_INFO extends AionServerPacket
{

	/**
	 * Visible player
	 */
	private final Player	player;
	private boolean		enemy;

	/**
	 * Constructs new <tt>SM_PLAYER_INFO </tt> packet
	 * 
	 * @param player
	 *            actual player.
	 * @param enemy
	 */
	public SM_PLAYER_INFO(Player player, boolean enemy)
	{
		this.player = player;
		this.enemy = enemy;
	}

	/**
	 * {@inheritDoc}
	 */
	@Override
	protected void writeImpl(AionConnection con, ByteBuffer buf)
	{
		PlayerCommonData pcd = player.getCommonData();
		
		final int raceId;

		if(player.getAdminNeutral() > 1 || con.getActivePlayer().getAdminNeutral() > 1)
			raceId = con.getActivePlayer().getCommonData().getRace().getRaceId();

		else if((player.getAdminEnmity() > 1 || con.getActivePlayer().getAdminEnmity() > 1) &&
			con.getActivePlayer().getName() != player.getName() && con.getActivePlayer().isFriend(player))
			raceId = (con.getActivePlayer().getCommonData().getRace().getRaceId() == 0 ? 1 : 0);

		else 
			raceId = pcd.getRace().getRaceId();

		final int genderId = pcd.getGender().getGenderId();
		final PlayerAppearance playerAppearance = player.getPlayerAppearance();

		writeF(buf, player.getX());// x
		writeF(buf, player.getY());// y
		writeF(buf, player.getZ());// z
		writeD(buf, player.getObjectId());
		/**
		 * A3 female asmodian A2 male asmodian A1 female elyos A0 male elyos
		 */
		writeD(buf, pcd.getTemplateId());
		/**
		 * Transformed state - send transformed model id Regular state - send player model id (from common data)
		 */
		writeD(buf, player.getTransformedModelId() == 0 ? pcd.getTemplateId() : player.getTransformedModelId());
		
		writeC(buf, 0x00); // new 2.0 Packet --- probably pet info?
		writeC(buf, enemy ? 0x00 : 0x26);

		writeC(buf, raceId); // race
		writeC(buf, pcd.getPlayerClass().getClassId());
		writeC(buf, genderId); // sex
		writeH(buf, player.getState());

		byte[] unk = new byte[] { (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00,
			(byte) 0x00, (byte) 0x00 };
		writeB(buf, unk);

		writeC(buf, player.getHeading());

		writeS(buf, player.getName());

		writeD(buf, pcd.getTitleId());
		writeC(buf, 0x0);// if set 0x1 can't jump and fly..
		writeH(buf, player.getCastingSkillId());
		writeH(buf, player.isLegionMember() ? player
			.getLegion().getLegionId() : 0);
		writeH(buf, 0); // User Emblem related?
		writeH(buf, player.isLegionMember() ? player
			.getLegion().getLegionEmblem().getEmblemId() : 0);
		writeC(buf, 0xFF);
		writeC(buf, player.isLegionMember() ? player
			.getLegion().getLegionEmblem().getColor_r() : 0);
		writeC(buf, player.isLegionMember() ? player
			.getLegion().getLegionEmblem().getColor_g() : 0);
		writeC(buf, player.isLegionMember() ? player
			.getLegion().getLegionEmblem().getColor_b() : 0);
		writeS(buf, player.isLegionMember() ? player
			.getLegion().getLegionName() : "");

		int maxHp = player.getLifeStats().getMaxHp();
		int currHp = player.getLifeStats().getCurrentHp();
		writeC(buf, 100 * currHp / maxHp);// %hp
		writeH(buf, pcd.getDp());// current dp
		writeC(buf, 0x00);// unk (0x00)

		List<Item> items = player.getEquipment().getEquippedItemsWithoutStigma();
		short mask = 0;
		for(Item item : items)
		{
			mask |= item.getEquipmentSlot();
		}

		writeH(buf, mask);

		for(Item item : items)
		{
			if(item.getEquipmentSlot() < Short.MAX_VALUE * 2)
			{
				writeD(buf, item.getItemSkinTemplate().getTemplateId());
				GodStone godStone = item.getGodStone();
				writeD(buf, godStone != null ? godStone.getItemId() : 0); 
				writeD(buf, item.getItemColor());
				writeH(buf, 0x00);// unk (0x00)
			}
		}

		writeD(buf, playerAppearance.getSkinRGB());
		writeD(buf, playerAppearance.getHairRGB());
		writeD(buf, playerAppearance.getEyeRGB());
		writeD(buf, playerAppearance.getLipRGB());
		writeC(buf, playerAppearance.getFace());
		writeC(buf, playerAppearance.getHair());
		writeC(buf, playerAppearance.getDeco());
		writeC(buf, playerAppearance.getTattoo());

		writeC(buf, 5);// always 5 o0

		writeC(buf, playerAppearance.getFaceShape());
		writeC(buf, playerAppearance.getForehead());

		writeC(buf, playerAppearance.getEyeHeight());
		writeC(buf, playerAppearance.getEyeSpace());
		writeC(buf, playerAppearance.getEyeWidth());
		writeC(buf, playerAppearance.getEyeSize());
		writeC(buf, playerAppearance.getEyeShape());
		writeC(buf, playerAppearance.getEyeAngle());

		writeC(buf, playerAppearance.getBrowHeight());
		writeC(buf, playerAppearance.getBrowAngle());
		writeC(buf, playerAppearance.getBrowShape());

		writeC(buf, playerAppearance.getNose());
		writeC(buf, playerAppearance.getNoseBridge());
		writeC(buf, playerAppearance.getNoseWidth());
		writeC(buf, playerAppearance.getNoseTip());

		writeC(buf, playerAppearance.getCheek());
		writeC(buf, playerAppearance.getLipHeight());
		writeC(buf, playerAppearance.getMouthSize());
		writeC(buf, playerAppearance.getLipSize());
		writeC(buf, playerAppearance.getSmile());
		writeC(buf, playerAppearance.getLipShape());
		writeC(buf, playerAppearance.getJawHeigh());
		writeC(buf, playerAppearance.getChinJut());
		writeC(buf, playerAppearance.getEarShape());
		writeC(buf, playerAppearance.getHeadSize());
		// 1.5.x 0x00, shoulderSize, armLength, legLength (BYTE) after HeadSize

		writeC(buf, playerAppearance.getNeck());
		writeC(buf, playerAppearance.getNeckLength());
		writeC(buf, playerAppearance.getShoulderSize());

		writeC(buf, playerAppearance.getTorso());
		writeC(buf, playerAppearance.getChest()); // only woman
		writeC(buf, playerAppearance.getWaist());

		writeC(buf, playerAppearance.getHips());
		writeC(buf, playerAppearance.getArmThickness());
		writeC(buf, playerAppearance.getHandSize());
		writeC(buf, playerAppearance.getLegThicnkess());

		writeC(buf, playerAppearance.getFootSize());
		writeC(buf, playerAppearance.getFacialRate());

		writeC(buf, 0x00); // always 0
		writeC(buf, playerAppearance.getArmLength());
		writeC(buf, playerAppearance.getLegLength());
		writeC(buf, playerAppearance.getShoulders());
		writeC(buf, 0x00); // always 0
		writeC(buf, 0x00); // 0x00

		writeC(buf, playerAppearance.getVoice());

		writeF(buf, playerAppearance.getHeight());
		writeF(buf, 0.25f); // scale
		writeF(buf, 2.0f); // gravity or slide surface o_O
		writeF(buf, player.getGameStats().getCurrentStat(StatEnum.SPEED) / 1000f); // move speed

		writeH(buf, player.getGameStats().getBaseStat(StatEnum.ATTACK_SPEED));
		writeH(buf, player.getGameStats().getCurrentStat(StatEnum.ATTACK_SPEED));
		writeC(buf, 2);

		writeS(buf, player.hasStore() ? player.getStore().getStoreMessage() : "");// private store message

		/**
		 * Movement
		 */
		writeF(buf, 0);
		writeF(buf, 0);
		writeF(buf, 0);

		writeF(buf, player.getX());// x
		writeF(buf, player.getY());// y
		writeF(buf, player.getZ());// z
		writeC(buf, 0x00); // move type

		if(player.isUsingFlyTeleport())
		{
			writeD(buf, player.getFlightTeleportId());
			writeD(buf, player.getFlightDistance());
		}

		writeC(buf, player.getVisualState()); // visualState
		writeS(buf, player.getCommonData().getNote()); // note show in right down windows if your target on player

		writeH(buf, player.getLevel()); // [level]
		writeH(buf, player.getPlayerSettings().getDisplay()); // unk - 0x04
		writeH(buf, player.getPlayerSettings().getDeny()); // unk - 0x00
		writeH(buf, player.getAbyssRank().getRank().getId()); // abyss rank
		writeH(buf, 0x00); // unk - 0x01
		writeD(buf, player.getTarget() == null ? 0 : player.getTarget().getObjectId());
		writeC(buf, 0); // suspect id
	}
}
Добавлено через 19 минут
Вродь, эти

writeH(buf, player.getPlayerSettings().getDisplay()); // unk - 0x04
writeH(buf, player.getPlayerSettings().getDeny()); // unk - 0x00
клиент пакет
VISTALL вне форума Ответить с цитированием
Непрочитано 14.11.2010, 01:32   #6
Аватар для Wolfas
Пользователь

Автор темы (Топик Стартер) Re: Подробная информация

Цитата:
Сообщение от VISTALL Посмотреть сообщение
клиент пакет
VISTALL, объясните пожалуйста по подробнее
__________________
Консоль GameServer не советует:"Вы настраивайте сервер уже 1 час. Советуем вам немного отдохнуть".

Последний раз редактировалось Wolfas; 14.11.2010 в 17:21.
Wolfas вне форума Ответить с цитированием
Непрочитано 18.11.2010, 19:23   #7
Пользователь

По умолчанию Re: Подробная информация

для этого есть сканер который просматривает шмотки любого персонажа
rreanimatorr вне форума Ответить с цитированием
Непрочитано 18.11.2010, 22:28   #8
Аватар для Wolfas
Пользователь

Автор темы (Топик Стартер) Re: Подробная информация

rreanimatorr Дайте ссыль на сканер
__________________
Консоль GameServer не советует:"Вы настраивайте сервер уже 1 час. Советуем вам немного отдохнуть".
Wolfas вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Все о EVEmu (Информация, Компиляция, Установка) Monolit Другие игры / Other games 16 04.11.2011 19:54
Подробная инструкция по установки обвязки SATANA-GOD Web-обвязки 6 18.05.2009 16:26
Информация с тестового сервера Aion PROGRAMMATOR Игровые новости 7 11.04.2009 20:50
Информация по Interlude PROGRAMMATOR Lineage II 6 28.01.2008 19:28


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 04:22. Часовой пояс GMT +3.

Вверх