Рейтинг темы:
  • 2 Голос(ов) - 5 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Работа над Goddess of Destruction (part 6)
[quote=VenomRaider]НАТЕ ПОЖАЛУЙСТА
[SPOILER="пакеты"][PHP]package l2p.gameserver.network;

import l2p.commons.net.nio.impl.*;
import l2p.gameserver.Config;
import l2p.gameserver.ThreadPoolManager;
import l2p.gameserver.network.clientpackets.*;
import l2p.gameserver.network.clientpackets.Beautyshop.RequestRegistBeauty;
import l2p.gameserver.network.clientpackets.Beautyshop.RequestShowBeautyList;
import l2p.gameserver.network.clientpackets.Beautyshop.RequestShowResetShopList;
import l2p.gameserver.network.clientpackets.CuriousHouse.*;
import l2p.gameserver.network.clientpackets.NewAbility.*;
import l2p.gameserver.network.clientpackets.NewEnchant.*;
import l2p.gameserver.network.clientpackets.PledgeRecruit.*;
import l2p.gameserver.network.clientpackets.Test_packet.d0de;
import l2p.gameserver.network.clientpackets.shapeShifting.RequestExTryToPutShapeShiftingTargetItem;
import l2p.gameserver.network.clientpackets.shapeShifting.RequestShapeShiftingItem;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.nio.BufferUnderflowException;
import java.nio.ByteBuffer;

public final class GamePacketHandler implements IPacketHandler<GameClient>, IClientFactory<GameClient>, IMMOExecutor<GameClient> {
private static final Logger _log = LoggerFactory.getLogger(GamePacketHandler.class);

@Override
public ReceivablePacket<GameClient> handlePacket(ByteBuffer buf, GameClient client) {
int id = buf.get() & 0xFF;

ReceivablePacket<GameClient> msg = null;

try {
int id2 = 0;
switch (client.getState()) {
case CONNECTED:
switch (id) {
case 0x00:
msg = new RequestStatus();
break;
case 0x0e:
msg = new ProtocolVersion();
break;
case 0x2b:
msg = new AuthLogin();
break;
case 0xcb:
msg = new ReplyGameGuardQuery();
break;
default:
client.onUnknownPacket("CONNECTED" + " " + "id", id);
_log.warn("Unknown packet on state: CONNECTED, id: " + Integer.toHexString(id) + " from " + client.getConnection().getSocket().getInetAddress().getHostAddress());
break;
}
break;
case AUTHED:
switch (id) {
case 0x00:
msg = new Logout();
break;
case 0x0c:
msg = new CharacterCreate(); //RequestCharacterCreate();
break;
case 0x0d:
msg = new CharacterDelete(); //RequestCharacterDelete();
break;
case 0x12:
msg = new CharacterSelected(); //CharacterSelect();
break;
case 0x13:
msg = new NewCharacter(); //RequestNewCharacter();
break;
case 0x7b:
msg = new CharacterRestore(); //RequestCharacterRestore();
break;
case 0xcb:
msg = new ReplyGameGuardQuery();
break;
case 0xd0:
int id3 = buf.getShort() & 0xffff;
switch (id3) {
case 0x33:
msg = new GotoLobby();
break;
case 0xA9:
// msg = new RequestWebSessionID();
_log.info("0xA9" + " AUTHED");
break;
case 0xAA:
msg = new RequestEx2ndPasswordCheck();
break;
case 0xAB:
msg = new RequestEx2ndPasswordVerify();
break;
case 0xAC:
msg = new RequestEx2ndPasswordReq();
break;
case 0xAD:
msg = new RequestCharacterNameCreatable();
break;
default:
client.onUnknownPacket("AUTHED" + " " + "id", id3);
_log.warn("Unknown packet on state: CONNECTED, id: " + Integer.toHexString(id) + " from " + client.getConnection().getSocket().getInetAddress().getHostAddress());

break;
}
break;
default:
client.onUnknownPacket("AUTHED" + " " + "id", id);
_log.warn("Unknown packet on state: CONNECTED, id: " + Integer.toHexString(id) + " from " + client.getConnection().getSocket().getInetAddress().getHostAddress());
break;
}
break;
case IN_GAME:
switch (id) {
case 0x00:
msg = new Logout();
break;
case 0x01:
msg = new AttackRequest(); // LINDVIOR
break;
case 0x02:
// msg = new ?();
_log.info("0x02" + " IN_GAME");
break;
case 0x03:
msg = new RequestStartPledgeWar();
break;
case 0x04:
// msg = new ?();
_log.info("0x04" + " IN_GAME");
break;
case 0x05:
msg = new RequestStopPledgeWar();
break;
case 0x06:
// msg = RequestSCCheck(); // ? Format: cdx
_log.info("RequestSCCheck");
break;
case 0x07:
msg = new ReplyGameGuardQuery();
// здесь совсем другой пакет
// ResponseAuthGameGuard[cddddd] © Drin
break;
case 0x08:
// msg = new ?();
_log.info("0x08" + " IN_GAME");
break;
case 0x09:
msg = new RequestSetPledgeCrest();
// _log.info("RequestSetPledgeCrest");
break;
case 0x0a:
// msg = new ?();
_log.info("0x0a" + " IN_GAME");
break;
case 0x0b:
msg = new RequestGiveNickName();
break;
case 0x0c:
// wtf???
_log.info("0x0c" + " IN_GAME");
break;
case 0x0d:
// wtf???
_log.info("0x0d" + " IN_GAME");
break;
case 0x0e:
//msg = new RequestPIAgreementCheck(); (cd)
_log.info("RequestPIAgreementCheck");
break;
case 0x0f:
msg = new MoveBackwardToLocation();
break;
case 0x10:
// msg = new Say(); //Format: cS // старый ?
_log.info("Say");
break;
case 0x11:
msg = new EnterWorld();
break;
case 0x12:
// wtf???
_log.info("0x12");
break;
case 0x14:
msg = new RequestItemList();
break;
case 0x15:
// msg = new RequestEquipItem(); // старый?
_log.info("RequestEquipItem");
// Format: cdd server id = %d Slot = %d
break;
case 0x16:
msg = new RequestUnEquipItem();
break;
case 0x17:
msg = new RequestDropItem();
break;
case 0x18:
// msg = new ?();
_log.info("0x18");
break;
case 0x19:
msg = new UseItem();
break;
case 0x1a:
msg = new TradeRequest();
break;
case 0x1b:
msg = new AddTradeItem();
break;
case 0x1c:
msg = new TradeDone();
break;
case 0x1d:
// msg = new ?();
_log.info("0x1d");
break;
case 0x1e:
// msg = new ?();
_log.info("0x1e");
break;
case 0x1f:
msg = new Action();
break;
case 0x20:
// msg = new ?();
_log.info("0x20");
break;
case 0x21:
// msg = new ?();
_log.info("0x21");
break;
case 0x22:
msg = new RequestLinkHtml();
break;
case 0x23:
msg = new RequestBypassToServer();
break;
case 0x24:
msg = new RequestBBSwrite();
break;
case 0x25:
msg = new RequestCreatePledge();
break;
case 0x26:
msg = new RequestJoinPledge();
break;
case 0x27:
msg = new RequestAnswerJoinPledge();
break;
case 0x28:
msg = new RequestWithdrawalPledge();
break;
case 0x29:
msg = new RequestOustPledgeMember();
break;
case 0x2a:
// msg = new ?();
_log.info("0x2a");
break;
case 0x2c:
msg = new RequestGetItemFromPet();
break;
case 0x2d:
// RequestDismissParty
_log.info("RequestDismissParty");
break;
case 0x2e:
msg = new RequestAllyInfo();
break;
case 0x2f:
msg = new RequestCrystallizeItem();
break;
case 0x30:
// RequestPrivateStoreManage, устарел
_log.info("RequestPrivateStoreManage");
break;
case 0x31:
msg = new SetPrivateStoreSellList();
break;
case 0x32:
// RequestPrivateStoreManageCancel, устарел
_log.info("RequestPrivateStoreManageCancel");
break;
case 0x33:
msg = new RequestTeleport();
break;
case 0x34:
// msg = new RequestSocialAction();
_log.info("RequestSocialAction");
break;
case 0x35:
// ChangeMoveType, устарел
_log.info("ChangeMoveType");
break;
case 0x36:
// ChangeWaitType, устарел
_log.info("ChangeWaitType");
break;
case 0x37:
msg = new RequestSellItem();
break;
case 0x38:
msg = new RequestMagicSkillList();
break;
case 0x39:
msg = new RequestMagicSkillUse();
break;
case 0x3a:
msg = new Appearing(); // Appering();
break;
case 0x3b:
if (Config.ALLOW_WAREHOUSE)
msg = new SendWareHouseDepositList();
break;
case 0x3c:
msg = new SendWareHouseWithDrawList();
break;
case 0x3d:
msg = new RequestShortCutReg();
break;
case 0x3e:
// msg = new RequestShortCutUse(); // Format: cddc ?
_log.info("RequestShortCutUse");
break;
case 0x3f:
msg = new RequestShortCutDel();
break;
case 0x40:
msg = new RequestBuyItem();
break;
case 0x41:
// msg = new RequestDismissPledge(); //Format: c ?
_log.info("RequestDismissPledge");
break;
case 0x42:
msg = new RequestJoinParty();
break;
case 0x43:
msg = new RequestAnswerJoinParty();
break;
case 0x44:
msg = new RequestWithDrawalParty();
break;
case 0x45:
msg = new RequestOustPartyMember();
break;
case 0x46:
msg = new RequestDismissParty();
break;
case 0x47:
msg = new CannotMoveAnymore();
break;
case 0x48:
msg = new RequestTargetCanceld();
break;
case 0x49:
msg = new Say2C();
break;
// -- maybe GM packet's
case 0x4a:
id2 = buf.get() & 0xff;
switch (id2) {
case 0x00:
// msg = new SendCharacterInfo(); // Format: S
_log.info("0x4a" + " 0x00" + " IN_GAME");
break;
case 0x01:
// msg = new SendSummonCmd(); // Format: S
_log.info("0x4a" + " 0x01" + " IN_GAME");
break;
case 0x02:
// msg = new SendServerStatus(); // Format: (noargs)
_log.info("0x4a" + " 0x02" + " IN_GAME");
break;
case 0x03:
// msg = new SendL2ParamSetting(); // Format: dd
_log.info("0x4a" + " 0x03" + " IN_GAME");
break;
default:
client.onUnknownPacket("IN_GAME" + " " + "id", id2);
break;
}
break;
case 0x4b:
// msg = new ?();
_log.info("0x4b");
break;
case 0x4c:
// msg = new ?();
_log.info("0x4c");
break;
case 0x4d:
msg = new RequestPledgeMemberList();
break;
case 0x4e:
// msg = new ?();
_log.info("0x4e");
break;
case 0x4f:
int id_2 = buf.getShort() & 0xFFFF;
switch (id_2) {
case 0:
_log.info("0x4f" + " 0x00" + " IN_GAME");
break;
case 1:
_log.info("0x4f" + " 0x01" + " IN_GAME");
break;
case 2:
_log.info("0x4f" + " 0x02" + " IN_GAME");
break;
case 3:
_log.info("0x4f" + " 0x03" + " IN_GAME");
break;
default:
client.onUnknownPacket("INGAME id", id_2);
}
break;
case 0x50:
msg = new RequestSkillList(); // trigger
break;
case 0x51:
// msg = new ?();
_log.info("0x51" + " IN_GAME");
break;
case 0x52:
msg = new MoveWithDelta();
break;
case 0x53:
msg = new RequestGetOnVehicle();
break;
case 0x54:
msg = new RequestGetOffVehicle();
break;
case 0x55:
msg = new AnswerTradeRequest();
break;
case 0x56:
msg = new RequestActionUse();
break;
case 0x57:
msg = new RequestRestart();
break;
case 0x58:
msg = new RequestSiegeInfo();
break;
case 0x59:
msg = new ValidatePosition();
break;
case 0x5a:
msg = new RequestSEKCustom();
break;
case 0x5b:
msg = new StartRotatingC();
break;
case 0x5c:
msg = new FinishRotatingC();
break;
case 0x5d:
// msg = new ?();
_log.info("0x5d");
break;
case 0x5e:
msg = new RequestShowBoard();
break;
case 0x5f:
msg = new RequestEnchantItem();
break;
case 0x60:
msg = new RequestDestroyItem();
break;
case 0x61:
// msg = new ?();
_log.info("0x61");
break;
case 0x62:
msg = new RequestQuestList();
break;
case 0x63:
msg = new RequestQuestAbort(); // RequestDestroyQuest();
break;
case 0x64:
// msg = new ?();
_log.info("0x64");
break;
case 0x65:
msg = new RequestPledgeInfo(); // Follow EnterWorld
break;
case 0x66:
msg = new RequestPledgeExtendedInfo();
break;
case 0x67:
msg = new RequestPledgeCrest();
// _log.info("RequestPledgeCrest");
break;
case 0x68:
// msg = new ?();
_log.info("0x68");
break;
case 0x69:
// msg = new ?();
_log.info("0x69");
break;
case 0x6a:
msg = new RequestFriendInfoList();
//_log.info("RequestFriendInfoList");
break;
case 0x6b:
msg = new RequestSendL2FriendSay();
break;
case 0x6c:
msg = new RequestShowMiniMap();
break;
case 0x6d:
msg = new RequestSendMsnChatLog();
break;
case 0x6e:
msg = new RequestReload(); // record video
break;
case 0x6f:
msg = new RequestHennaEquip();
break;
case 0x70:
msg = new RequestHennaUnequipList();
break;
case 0x71:
msg = new RequestHennaUnequipInfo();
break;
case 0x72:
msg = new RequestHennaUnequip();
break;
case 0x73:
msg = new RequestAquireSkillInfo(); // RequestAcquireSkillInfo();
break;
case 0x74:
msg = new SendBypassBuildCmd();
break;
case 0x75:
msg = new RequestMoveToLocationInVehicle();
break;
case 0x76:
msg = new CannotMoveAnymoreInVehicle();
break;
case 0x77:
msg = new RequestFriendInvite();
break;
case 0x78:
msg = new RequestFriendAddReply();
break;
case 0x79:
msg = new RequestFriendList();
break;
case 0x7a:
msg = new RequestFriendDel();
break;
case 0x7c:
msg = new RequestAquireSkill();
break;
case 0x7d:
msg = new RequestRestartPoint();
break;
case 0x7e:
msg = new RequestGMCommand();
break;
case 0x7f:
msg = new RequestPartyMatchConfig();
break;
case 0x80:
msg = new RequestPartyMatchList();
break;
case 0x81:
msg = new RequestPartyMatchDetail();
break;
case 0x82:
msg = new RequestPrivateStoreList();
break;
case 0x83:
msg = new RequestPrivateStoreBuy();
break;
case 0x84:
// msg = new ReviveReply(); // format: cd ?
_log.info("ReviveReply");
break;
case 0x85:
msg = new RequestTutorialLinkHtml();
break;
case 0x86:
msg = new RequestTutorialPassCmdToServer();
break;
case 0x87:
msg = new RequestTutorialQuestionMark(); // RequestTutorialQuestionMarkPressed();
break;
case 0x88:
msg = new RequestTutorialClientEvent();
break;
case 0x89:
msg = new RequestPetition();
break;
case 0x8a:
msg = new RequestPetitionCancel();
break;
case 0x8b:
msg = new RequestGmList();
break;
case 0x8c:
msg = new RequestJoinAlly();
break;
case 0x8d:
msg = new RequestAnswerJoinAlly();
break;
case 0x8e:
// Команда /allyleave - выйти из альянса
msg = new RequestWithdrawAlly();
break;
case 0x8f:
// Команда /allydismiss - выгнать клан из альянса
msg = new RequestOustAlly();
break;
case 0x90:
// Команда /allydissolve - распустить альянс
msg = new RequestDismissAlly();
break;
case 0x91:
msg = new RequestSetAllyCrest();
break;
case 0x92:
msg = new RequestAllyCrest();
break;
case 0x93:
msg = new RequestChangePetName();
break;
case 0x94:
msg = new RequestPetUseItem();
break;
case 0x95:
msg = new RequestGiveItemToPet();
break;
case 0x96:
msg = new RequestPrivateStoreQuitSell();
break;
case 0x97:
msg = new SetPrivateStoreMsgSell();
break;
case 0x98:
msg = new RequestPetGetItem();
break;
case 0x99:
msg = new RequestPrivateStoreBuyManage();
break;
case 0x9a:
msg = new SetPrivateStoreBuyList();
break;
case 0x9b:
//
_log.info("0x9b");
break;
case 0x9c:
msg = new RequestPrivateStoreQuitBuy();
break;
case 0x9d:
msg = new SetPrivateStoreMsgBuy();
break;
case 0x9e:
//
_log.info("0x9e");
break;
case 0x9f:
msg = new RequestPrivateStoreBuySellList();
break;
case 0xa0:
msg = new RequestTimeCheck();
break;
case 0xa1:
// msg = new ?();
_log.info("0xa1");
break;
case 0xa2:
// msg = new ?();
_log.info("0xa2");
break;
case 0xa3:
// msg = new ?();
_log.info("0xa3");
break;
case 0xa4:
// msg = new ?();
_log.info("0xa4");
break;
case 0xa5:
// msg = new ?();
_log.info("0xa5");
break;
case 0xa6:
msg = new RequestSkillCoolTime(); //Deprecated ?
// _log.info("0xa6");
break;
case 0xa7:
msg = new RequestPackageSendableItemList();
break;
case 0xa8:
msg = new RequestPackageSend();
break;
case 0xa9:
msg = new RequestBlock();
break;
case 0xaa:
// msg = new RequestCastleSiegeInfo(); // format: cd
// ?
_log.info("RequestCastleSiegeInfo");
break;
case 0xab:
msg = new RequestCastleSiegeAttackerList();
break;
case 0xac:
msg = new RequestCastleSiegeDefenderList();
break;
case 0xad:
msg = new RequestJoinCastleSiege();
break;
case 0xae:
msg = new RequestConfirmCastleSiegeWaitingList();
break;
case 0xaf:
msg = new RequestSetCastleSiegeTime();
break;
case 0xb0:
msg = new RequestMultiSellChoose();
break;
case 0xb1:
msg = new NetPing();
break;
case 0xb2:
msg = new RequestRemainTime();
break;
case 0xb3:
msg = new BypassUserCmd();
break;
case 0xb4:
msg = new SnoopQuit();
break;
case 0xb5:
msg = new RequestRecipeBookOpen();
break;
case 0xb6:
msg = new RequestRecipeItemDelete();
break;
case 0xb7:
msg = new RequestRecipeItemMakeInfo();
break;
case 0xb8:
msg = new RequestRecipeItemMakeSelf();
break;
case 0xb9:
// msg = new RequestRecipeShopManageList();
// deprecated // format: c
_log.info("RequestRecipeShopManageList");
break;
case 0xba:
msg = new RequestRecipeShopMessageSet();
break;
case 0xbb:
msg = new RequestRecipeShopListSet();
break;
case 0xbc:
msg = new RequestRecipeShopManageQuit();
break;
case 0xbd:
msg = new RequestRecipeShopManageCancel();
break;
case 0xbe:
msg = new RequestRecipeShopMakeInfo();
break;
case 0xbf:
msg = new RequestRecipeShopMakeDo();
break;
case 0xc0:
msg = new RequestRecipeShopSellList();
break;
case 0xc1:
msg = new RequestObserverEnd();
break;
case 0xc2:
// msg = new VoteSociality(); // Recommend
_log.info("0xc2");
break;
case 0xc3:
msg = new RequestHennaList(); // RequestHennaItemList();
break;
case 0xc4:
msg = new RequestHennaItemInfo();
break;
case 0xc5:
msg = new RequestBuySeed();
break;
case 0xc6:
msg = new ConfirmDlg();
break;
case 0xc7:
msg = new RequestPreviewItem();
break;
case 0xc8:
msg = new RequestSSQStatus();
break;
case 0xc9:
msg = new PetitionVote();
break;
case 0xca:
// msg = new ?();
_log.info("0xca");
break;
case 0xcb:
msg = new ReplyGameGuardQuery();
break;
case 0xcc:
msg = new RequestPledgePower();
break;
case 0xcd:
msg = new RequestMakeMacro();
break;
case 0xce:
msg = new RequestDeleteMacro();
break;
case 0xcf:
msg = new RequestProcureCrop(); // ?
break;
case 0xd0:
int id3 = buf.getShort() & 0xffff;
// printDebugDoubleOpcode(id, id3, buf, client.getState(), client);
switch (id3) {
case 0x00:
// msg = new ?();
_log.info("0xd0" + " 0x00" + " IN_GAME");
break;
case 0x01:
msg = new RequestManorList();
break;
case 0x02:
msg = new RequestProcureCropList();
break;
case 0x03:
msg = new RequestSetSeed();
break;
case 0x04:
msg = new RequestSetCrop();
break;
case 0x05:
msg = new RequestWriteHeroWords();
break;
case 0x06:
msg = new RequestExMPCCAskJoin(); // RequestExAskJoinMPCC();
break;
case 0x07:
msg = new RequestExMPCCAcceptJoin(); // RequestExAcceptJoinMPCC();
break;
case 0x08:
msg = new RequestExOustFromMPCC();
break;
case 0x09:
msg = new RequestOustFromPartyRoom();
break;
case 0x0A:
msg = new RequestDismissPartyRoom();
break;
case 0x0B:
msg = new RequestWithdrawPartyRoom();
break;
case 0x0C:
msg = new RequestHandOverPartyMaster();
break;
case 0x0D:
msg = new RequestAutoSoulShot();
break;
case 0x0E:
msg = new RequestExEnchantSkillInfo();
break;
case 0x0F:
msg = new RequestExEnchantSkill();
break;
case 0x10:
msg = new RequestPledgeCrestLarge();
break;
case 0x11:
int id9 = buf.getInt();
if (client.getActiveChar().isGM() && client.getActiveChar().isDebug()) {
client.getActiveChar().sendMessage("IN_GAME 0xd0: 0x11:" + id9);
}
switch (id9) {
case 0x00:
msg = new RequestSetPledgeCrestLarge(0);
break;
case 0x01:
msg = new RequestSetPledgeCrestLarge(1);
break;
case 0x02:
msg = new RequestSetPledgeCrestLarge(2);
break;
case 0x03:
msg = new RequestSetPledgeCrestLarge(3);
break;
case 0x04:
msg = new RequestSetPledgeCrestLarge(4);
break;
}
// _log.info("RequestSetPledgeCrestLarge");
break;
case 0x12:
msg = new RequestPledgeSetAcademyMaster();
break;
case 0x13:
msg = new RequestPledgePowerGradeList();
break;
case 0x14:
msg = new RequestPledgeMemberPowerInfo();
break;
case 0x15:
msg = new RequestPledgeSetMemberPowerGrade();
break;
case 0x16:
msg = new RequestPledgeMemberInfo();
break;
case 0x17:
msg = new RequestPledgeWarList();
break;
case 0x18:
msg = new RequestExFishRanking();
break;
case 0x19:
msg = new RequestPCCafeCouponUse();
break;
case 0x1A:
//msg = new RequestServerLogin(); (chb) b - array размером в 64 байта
_log.info("RequestServerLogin");
break;
case 0x1B:
msg = new RequestDuelStart();
break;
case 0x1C:
msg = new RequestDuelAnswerStart();
break;
case 0x1D:
msg = new RequestTutorialClientEvent(); // RequestExSetTutorial(); Format: d / требует отладки, ИМХО, это совсем другой пакет (с) Drin
break;
case 0x1E:
msg = new RequestExRqItemLink();
break;
case 0x1F:
msg = new CannotMoveAnymoreInVehicle(); // (AirShip) (ddddd)
break;
case 0x20:
msg = new RequestExMoveToLocationInAirShip();
break;
case 0x21:
msg = new RequestKeyMapping();
break;
case 0x22:
msg = new RequestSaveKeyMapping();
break;
case 0x23:
msg = new RequestExRemoveItemAttribute();
break;
case 0x24:
msg = new RequestSaveInventoryOrder();
break;
case 0x25:
msg = new RequestExitPartyMatchingWaitingRoom();
break;
case 0x26:
msg = new RequestConfirmTargetItem();
break;
case 0x27:
msg = new RequestConfirmRefinerItem();
break;
case 0x28:
msg = new RequestConfirmGemStone();
break;
case 0x29:
msg = new RequestOlympiadObserverEnd();
break;
case 0x2A:
msg = new RequestCursedWeaponList();
break;
case 0x2B:
msg = new RequestCursedWeaponLocation();
break;
case 0x2C:
msg = new RequestPledgeReorganizeMember();
break;
case 0x2D:
msg = new RequestExMPCCShowPartyMembersInfo();
break;
case 0x2E:
msg = new RequestExOlympiadObserverEnd(); // не уверен (в клиенте называется RequestOlympiadMatchList)
break;
case 0x2F:
msg = new RequestAskJoinPartyRoom();
break;
case 0x30:
msg = new AnswerJoinPartyRoom();
break;
case 0x31:
msg = new RequestListPartyMatchingWaitingRoom();
break;
case 0x32:
msg = new RequestEnchantItemAttribute();
break;
case 0x33:
//msg = new RequestGotoLobby();
_log.info("RequestGotoLobby");
break;
case 0x35:
msg = new RequestExMoveToLocationAirShip();
break;
case 0x36:
msg = new RequestBidItemAuction();
break;
case 0x37:
msg = new RequestInfoItemAuction();
break;
case 0x38:
msg = new RequestExChangeName();
break;
case 0x39:
msg = new RequestAllCastleInfo();
break;
case 0x3A:
msg = new RequestAllFortressInfo();
break;
case 0x3B:
msg = new RequestAllAgitInfo();
break;
case 0x3C:
msg = new RequestFortressSiegeInfo();
break;
case 0x3D:
msg = new RequestGetBossRecord();
break;
case 0x3E:
msg = new RequestRefine();
break;
case 0x3F:
msg = new RequestConfirmCancelItem();
break;
case 0x40:
msg = new RequestRefineCancel();
break;
case 0x41:
msg = new RequestExMagicSkillUseGround();
break;
case 0x42:
msg = new RequestDuelSurrender();
break;
case 0x43:
msg = new RequestExEnchantSkillInfoDetail();
break;
/** 0xD0:0x44 - пропущен корейцами */
case 0x45:
msg = new RequestFortressMapInfo();
break;
case 0x46:
msg = new RequestPVPMatchRecord();
break;
case 0x47:
msg = new SetPrivateStoreWholeMsg();
break;
case 0x48:
msg = new RequestDispel();
break;
case 0x49:
msg = new RequestExTryToPutEnchantTargetItem();
break;
case 0x4A:
msg = new RequestExTryToPutEnchantSupportItem();
break;
case 0x4B:
msg = new RequestExCancelEnchantItem();
break;
case 0x4C:
msg = new RequestChangeNicknameColor();
break;
case 0x4D:
msg = new RequestResetNickname();
break;
case 0x4E:
int id4 = buf.getInt();
switch (id4) {
case 0x00:
msg = new RequestBookMarkSlotInfo();
break;
case 0x01:
msg = new RequestSaveBookMarkSlot();
break;
case 0x02:
msg = new RequestModifyBookMarkSlot();
break;
case 0x03:
msg = new RequestDeleteBookMarkSlot();
break;
case 0x04:
msg = new RequestTeleportBookMark();
break;
case 0x05:
msg = new RequestChangeBookMarkSlot();
break;
default:
client.onUnknownPacket("IN_GAME" + " " + "id3", id4);
break;
}
break;
case 0x4F:
msg = new RequestWithDrawPremiumItem();
break;
case 0x50:
msg = new RequestExJump();
break;
case 0x51:
msg = new RequestExStartShowCrataeCubeRank();
break;
case 0x52:
msg = new RequestExStopShowCrataeCubeRank();
break;
case 0x53:
msg = new NotifyStartMiniGame();
break;
case 0x54:
// msg = new RequestExJoinDominionWar();
_log.info("0xd0" + " 0x54" + " IN_GAME");
break;
case 0x55:
// msg = new RequestExDominionInfo();
_log.info("0xd0" + " 0x55" + " IN_GAME");
break;
case 0x56:
msg = new RequestExCleftEnter();
break;
case 0x57:
msg = new RequestExCubeGameChangeTeam();
break;
case 0x58:
msg = new RequestExEndScenePlayer();
break;
case 0x59:
msg = new RequestExCubeGameReadyAnswer(); // RequestExBlockGameVote
break;
case 0x5A:
msg = new RequestExListMpccWaiting();
break;
case 0x5B:
msg = new RequestExManageMpccRoom();
break;
case 0x5C:
msg = new RequestExJoinMpccRoom();
break;
case 0x5D:
msg = new RequestExOustFromMpccRoom();
break;
case 0x5E:
msg = new RequestExDismissMpccRoom();
break;
case 0x5F:
msg = new RequestExWithdrawMpccRoom();
break;
case 0x60:
msg = new RequestExSeedPhase();
break;
case 0x61:
msg = new RequestExMpccPartymasterList();
break;
case 0x62:
msg = new RequestExPostItemList();
break;
case 0x63:
msg = new RequestExSendPost();
break;
case 0x64:
msg = new RequestExRequestReceivedPostList();
break;
case 0x65:
msg = new RequestExDeleteReceivedPost();
break;
case 0x66:
msg = new RequestExRequestReceivedPost();
break;
case 0x67:
msg = new RequestExReceivePost();
break;
case 0x68:
msg = new RequestExRejectPost();
break;
case 0x69:
msg = new RequestExRequestSentPostList();
break;
case 0x6A:
msg = new RequestExDeleteSentPost();
break;
case 0x6B:
msg = new RequestExRequestSentPost();
break;
case 0x6C:
msg = new RequestExCancelSentPost();
break;
case 0x6D:
msg = new RequestExShowNewUserPetition();
break;
case 0x6E:
msg = new RequestExShowStepTwo();
break;
case 0x6F:
msg = new RequestExShowStepThree();
break;
case 0x70:
// msg = new ExConnectToRaidServer(); (chddd)
_log.info("ExConnectToRaidServer");
break;
case 0x71:
// msg = new ExReturnFromRaidServer(); (chd)
_log.info("ExReturnFromRaidServer");
break;
case 0x72:
msg = new RequestExRefundItem();
break;
case 0x73:
msg = new RequestExBuySellUIClose();
break;
case 0x74:
msg = new RequestExEventMatchObserverEnd();
break;
case 0x75:
msg = new RequestPartyLootModification();
break;
case 0x76:
msg = new AnswerPartyLootModification();
break;
case 0x77:
msg = new AnswerCoupleAction();
break;
case 0x78:
msg = new RequestExBR_EventRankerList();
break;
case 0x79:
// msg = new RequestAskMemberShip();
_log.info("RequestAskMemberShip");
break;
case 0x7A:
msg = new RequestAddExpandQuestAlarm();
break;
case 0x7B:
msg = new RequestVoteNew();
break;
case 0x7C:
msg = new RequestGetOnShuttle();
break;
case 0x7D:
msg = new RequestGetOffShuttle();
break;
...
Melcor Написал:Огромное человеческое спасибо. Если не секрет, как они достаются?
Тупо снифером?

ну кто снифером, а я в клиенте достаю их вот пример:
RequestUseGoodsInventoryItem
подскажите пожалуйста с проблемой, 531 протокол, при ударе исчезает моб! О_о т.е. баталия ведётся на протяжении всего боя, но потом, просто появляется моб и дохнет, прям бой с тенью+)
silvermain Написал:подскажите пожалуйста с проблемой, 531 протокол, при ударе исчезает моб! О_о т.е. баталия ведётся на протяжении всего боя, но потом, просто появляется моб и дохнет, прям бой с тенью+)

на всех мобах так, или на каком-то конкретном?
Melcor Написал:на всех мобах так, или на каком-то конкретном?

НПЦ работают нормально, можно поговорить, можно ударить, а вот монстры... при первом ударе монстра он сразу исчезает, видны только его жизни, не более, но, как только убиваешь его, он появляется и сразу анимация смерти и дропа. не знаю в чём проблемаSad
silvermain Написал:НПЦ работают нормально, можно поговорить, можно ударить, а вот монстры... при первом ударе монстра он сразу исчезает, видны только его жизни, не более, но, как только убиваешь его, он появляется и сразу анимация смерти и дропа. не знаю в чём проблемаSad

Чекайте пакетку.. Ну или, как вариант, сам клиент проверьте.
Вопросец мелкий у меня возник.

что нужно поменять у моба 29240 (Дракон Линдвиор), чтобы его вобщем-то было видно?
а то его видно до той поры, пока не отработает анимация спавна, т.е. прилет на место - после чего он становится невидимым.
npc state менял - не помогло (хотя может нужный ид состояния не нашел).
может ему какое-то оружие надо выдать? если да, то с каким ид?
или абнормал повесить? опять же если да то с каким ид?

или еще какой-то более извратный способ здесь применен?
Gaikotsu Написал:Вопросец мелкий у меня возник.

что нужно поменять у моба 29240 (Дракон Линдвиор), чтобы его вобщем-то было видно?
а то его видно до той поры, пока не отработает анимация спавна, т.е. прилет на место - после чего он становится невидимым.
npc state менял - не помогло (хотя может нужный ид состояния не нашел).
может ему какое-то оружие надо выдать? если да, то с каким ид?
или абнормал повесить? опять же если да то с каким ид?

или еще какой-то более извратный способ здесь применен?

Корейцы одели на него пушку, это копье. (зы самому пришлось сделать невидимое копье чтобы все анимации работали, так как настоящего не нашел.)
хм... т.е. невидимую пушку с любым ид, главное чтобы это было копье?

вот хоть убей не понимаю, на кой корейцам постоянно делать всякие извращения такого вида...
Gaikotsu Написал:хм... т.е. невидимую пушку с любым ид, главное чтобы это было копье?

именно так.


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Работа над Goddess of Destruction (part 7) n3k0nation 459 174,313 03-21-2022, 04:21 PM
Последний пост: TieLay
  Помогите с Сервером L2Dream версии 439 для Lineage 2 Gracia Part 2 CAHTEX 4 3,381 10-01-2021, 02:40 PM
Последний пост: tenor
  Работа с камерой и Энтер чат FriendlyGhost 0 1,302 04-29-2018, 06:07 AM
Последний пост: FriendlyGhost
  Goddess of Destruction ( новая ветка от NcSoft ) Bacek 180 59,019 08-22-2017, 12:32 PM
Последний пост: BadStealth
  EmuRT Gracia part 2 ? knaif 3 1,623 02-08-2016, 01:19 PM
Последний пост: knaif
  Gracia Part 1 от l2emu исходы TFH 6 1,965 10-05-2015, 07:53 PM
Последний пост: G1ta0
  Ищу исходы L2-Dream gracia part 2 knaif 1 1,386 10-05-2015, 07:51 PM
Последний пост: G1ta0
  Оплачиваемая работа Grek1993 1 1,349 08-01-2015, 11:29 AM
Последний пост: ztaecz
  Работа с мультиселлом Evencelance 11 2,446 09-19-2014, 12:43 PM
Последний пост: Evencelance
  Работа над Goddess of Destruction (part 5) Ozzy 980 339,203 10-09-2013, 09:13 AM
Последний пост: Ashe

Перейти к форуму:


Пользователи, просматривающие эту тему: 5 Гость(ей)