Написание сервера для lineage 2 chronicle 1 на node.js

Я наверное просто так скинул? В котором идёт дальше задача, которая это всё проверяет и ставит флаги
Должна быть абстрактная функция так как если я просто убью моба то к флагу это отношения никакого не имеет)
 

А выше скидывал пакет. Там нет такого. Откуда эти данные ?
Вот пакеты и их структура С4, ниже хроник мне не попадались
Код:
[client]
00=ProtocolVersion:d(ProtocolVersion)z(0256fixed)
01=MoveBackwardToLocation:d(ToX)d(ToY)d(ToZ)d(OrigX)d(OrigY)d(OrigZ)d(moveByMouse)
02=Say:s(Msg)
03=EnterWorld:d(d)d(d)d(d)d(d)d(d)
04=Action:d(ObjectID)d(OrigX)d(OrigY)d(OrigZ)c(ShiftFlag)
08=RequestAuthLogin:s(LoginName)d(PlayKey2)d(PlayKey1)d(LoginKey1)d(LoginKey2)d(d)
09=LogoutRequest:
0A=Attack:d(ObjectID)d(OrigX)d(OrigY)d(OrigZ)c(ShiftFlag)
0B=CharCreate:s(Name)d(Race)d(Sex)d(ClassID:Get.ClassID)d(INT)d(STR)d(CON)d(MEN)d(DEX)d(WIT)d(HairStyle)d(HairColor)d(Face)
0C=CharDelete:d(CharSlot)
0D=CharSelected:d(CharSlot)h(h)d(d)d(d)d(d)
0E=NewCharacter:
0F=RequestItemList:
10=RequestEquipItem:d(ObjectID)d(Slot)
11=RequestUnEquipItem:d(Slot)
12=RequestDropItem:d(ObjectID)d(Count)d(X)d(Y)d(Z)
14=UseItem:d(ObjectID)d(d)
15=TradeRequest:d(ObjectID)
16=AddTradeItem:d(TradeID)d(ObjectID)d(Count)
17=TradeDone:d(Response)
1A=RequestTeleport:d(d)d(d)d(d)d(d)d(d)
1B=RequestSocialAction:d(Action:Get.Func09)
1C=ChangeMoveType:d(TypeRun)
1D=ChangeWaitType:d(TypeStand)
1E=RequestSellItem:d(ListID)d(SellCount:For.0003)d(ObjectID)d(ItemID:Get.Func01)d(Count)
1F=RequestBuyItem:d(ListID)d(BuyCount:For.0002)d(ItemID:Get.Func01)d(Count)
20=RequestLinkHtml:s(HtmlLink)
21=RequestBypassToServer:s(Cmd)
22=RequestBBSwrite:s(Url)s(Arg1)s(Arg2)s(Arg3)s(Arg4)s(Arg5)
23=RequestCreatePledge:s(PledgeName)
24=RequestJoinPledge:d(Target)d(pledgetype)
25=RequestAnswerJoinPledge:d(Answer)
26=RequestWithDrawalPledge:
27=RequestOustPledgeMember:s(Target)
28=RequestDismissPledge:
29=RequestJoinParty:s(Name)d(ItemDistribution)
2A=RequestAnswerJoinParty:d(Response)
2B=RequestWithDrawalParty:
2C=RequestOustPartyMember:s(Name)
2D=RequestDismissParty:
2E=RequestMagicSkillList:c(c)c(c)c(c)d(CharID)d(ObjectID)
2F=RequestMagicSkillUse:d(MagicID)d(CtrlPressed)c(ShiftPressed)
30=Appearing:
31=SendWareHouseDepositList:d(Count:For.0002)d(ObjectID)d(Count)
32=SendWareHouseWithDrawList:d(Count:For.0002)d(ObjectID)d(Count)
33=RequestShortCutReg:d(Type)d(Slot)d(ID)d(d)
34=RequestShortCutUse:d(d)d(d)c(c)
35=RequestShortCutDel:d(ID)
36=CannotMoveAnymore:d(X)d(Y)d(Z)d(Heading)
37=RequestTargetCancel:h(unselect)
38=Say2:s(Text)d(Type:Get.Func02)s(Target)
3C=RequestPledgeMemberList:
3E=RequestMagicList:
3F=RequestSkillList:
40=AnswerTradeRequest:d(Response)
41=MoveWithDelta:d(dx)d(dy)d(dz)
42=GetOnVehicle:d(ID)d(X)d(Y)d(Z)
43=GetOffVehicle:d(ID)d(X)d(Y)d(Z)
44=AnswerTradeRequest:d(answer)
45=RequestActionUse:d(ActionID)d(CtrlPressed)c(ShiftPressed)
46=RequestRestart:
47=RequestSiegeInfo:
48=ValidatePosition:d(X)d(Y)d(Z)d(Heading)d(Data)
49=RequestSEKCustom:d(SlotNum)d(Direct)
4A=StartRotating:d(Degree)d(Side)
4B=FinishRotating:d(Degree)d(u)
4D=RequestStartPledgeWar:s(PledgeName)
4E=RequestReplyStartPledgeWar:s(PledgeName)d(Answer)
4F=RequestStopPledgeWar:s(PledgeName)
50=RequestReplyStopPledgeWar:s(PledgeName)d(Answer)
51=RequestSurrenderPledgeWar:s(PledgeName)
52=RequestReplySurrenderPledgeWar:s(PledgeName)d(Answer)
53=RequestSetPledgeCrest:b(IconCrest)d(d)
55=RequestGiveNickName:s(Target)s(Title)
57=RequestShowboard:d(flagShow)
58=RequestEnchantItem:d(ObjectID)
59=RequestDestroyItem:d(ObjectID)d(Count)
5B=SendBypassBuildCmd:s(Command)
5C=RequestGetOnVehicle:d(ID)d(X)d(Y)d(Z)
5D=RequestGetOffVehicle:d(ID)d(X)d(Y)d(Z)
5E=RequestFriendInvite:s(Name)
5F=RequestAnswerFriendInvite:d(Response)
60=RequestFriendList:
61=RequestFriendDel:s(Name)
62=CharacterRestore:d(CharSlot)
63=RequestQuestList:
64=RequestQuestAbort:d(QuestID)
66=RequestPledgeInfo:d(ClanID)
67=RequestPledgeExtendedInfo:s(pledgeName)
68=RequestPledgeCrest:d(CrestID)
69=RequestSurrenderPersonally:s(PledgeName)
6A=RequestRide:d(Rideflag)d(StrWyv)
6B=RequestAcquireSkillInfo:d(ID)d(Level)d(Fisherman)
6C=RequestAcquireSkill:d(ID)d(Level)d(Fisherman)
6D=RequestRestartPoint:d(PointType:Get.Func09)
6E=RequestGMCommand:s(TargetName)d(Command:Get.Func09)d(0)
6F=RequestPartyMatchConfig:d(AutomatRegistr)d(ShowLevel)d(ShowClass)s(memo)
70=RequestPartyMatchList:d(Status)d(un)d(un)d(un)d(un)s(un)
71=RequestPartyMatchDetail:d(ObjectID)d(un)
72=RequestCrystallizeItem:d(ObjectID)d(Count)
73=RequestPrivateStoreManage:
74=SetPrivateStoreListSell:d(Package)d(ListCount:For.0003)d(ObjectID)d(Count)d(Price)
75=RequestPrivateStoreManageCancel:
76=RequestPrivateStoreQuit:
77=SetPrivateStoreMsg:s(StoreMsg)
78=RequestPrivateStoreList:d(d)
79=SendPrivateStoreBuyList:d(StorePlayerID)d(ListCount:For.0003)d(object)d(count)d(price)
7A=ReviveReply:d(d)
7B=RequestTutorialLinkHtml:s(Link)
7C=RequestTutorialPassCmdToServer:s(cmd)
7D=RequestTutorialQuestionMark:d(d)
7E=RequestTutorialClientEvent:d(d)
7F=RequestPetition:s(Content)d(Type)
80=RequestPetitionCancel:d(d)
81=RequestGMList:
82=RequestJoinAlly:d(ID)
83=RequestAnswerJoinAlly:d(Response)
84=RequestAllyLeave:
85=RequestAllyDismiss:s(ClanName)
86=RequestDismissAlly:
87=RequestSetAllyCrest:b(IconAllyCrest)
88=RequestAllyCrest:d(CrestID)
89=RequestChangePetName:s(Name)
8A=RequestPetUseItem:d(ObjectID)
8B=RequestGiveItemToPet:d(ObjectID)d(Amount)
8C=RequestGetItemFromPet:d(ObjectID)d(Amount)d(un)
8E=RequestAllyInfo:
8F=RequestPetGetItem:d(ObjectID)
90=RequestPrivateStoreManageBuy:
91=SetPrivateStoreListBuy:d(ListCount:For.0005)d(ItemID:Get.Func01)h(h)h(h)d(Count)d(price)
92=RequestPrivateStoreBuyManageCancel:
93=RequestPrivateStoreQuitBuy:
94=SetPrivateStoreMsgBuy:s(StoreMessage)
95=RequestPrivateStoreBuyList:d(d)
96=SendPrivateStoreBuyList:d(StorePlayerID)d(ListCount:For.0006)d(objectID)d(ItemID:Get.Func01)h(h)h(h)d(count)d(price)
97=SendTimeCheckPacket:d(d)d(d)
98=RequestStartAllianceWar:s(alName)
99=ReplyStartAllianceWar:s(alName)d(d)
9A=RequestStopAllianceWar:s(alName)
9B=ReplyStopAllianceWar:s(alName)d(d)
9C=RequestSurrenderAllianceWar:s(alName)
9D=RequestSkillCoolTime:
9E=RequestPackageSendableItemList:d(d)
9F=RequestPackageSend:d(d)d(Count:For.0002)d(d)d(d)
A0=RequestBlock:d(type:Get.Func09)s(name)
A1=RequestCastleSiegeInfo:d(CastleID)
A2=RequestSiegeAttackerList:d(CastleID)
A3=RequestSiegeDefenderList:d(CastleID)
A4=RequestJoinSiege:d(CastleID)d(IsAttacker)d(IsJoining)
A5=RequestConfirmSiegeWaitingList:d(CastleID)d(ClanID)d(Approved)
A6=RequestSetCastleSiegeTime:d(CastleID?)d(time?)
A7=RequestMultiSellChoose:d(ListID)d(EntryID)d(Amount)h(ench)
A8=NetPing:d(kID)d(PING)d(dta)
A9=RequestRemainTime:
AA=BypassUserCmd:d(cmd)
AB=SnoopQuit:d(snoopID)
AC=RequestRecipeBookOpen:d(isntDwarvCraft)
AD=RequestRecipeBookDestroy:d(RecipeID)
AE=RequestRecipeItemMakeInfo:d(_id)
AF=RequestRecipeItemMakeSelf:d(_id)
B0=RequestRecipeShopManageList:
B1=RequestRecipeShopMessageSet:s(Name)
B2=RequestRecipeShopListSet:d(ListCount:For.0002)d(RecipeID)d(Cost)
B3=RequestRecipeShopManageQuit:
B4=RequestRecipeShopManageCancel:
B5=RequestRecipeShopMakeInfo:d(PlayerObjectID)d(RecipeID)
B6=RequestRecipeShopMakeItem:d(_id)d(RecipeID)d(un)
B7=RequestRecipeShopPrev:d(d)
B8=ObserverReturn:d(ObjectID)d(OrigX)d(OrigY)d(OrigZ)c(ShiftFlag)
B9=RequestEvaluate:d(targetID)
BA=RequestHennaList:d(un)
BB=RequestHennaItemInfo:d(SymbolID)
BC=RequestHennaEquip:d(SymbolID)
BD=RequestHennaUnequipList:d(un)
BE=RequestHennaUnequipInfo:d(SymbolID)
BF=RequestHennaUnequip:d(SymbolID)
C0=RequestPledgePower:d(Rank)d(Action)d(Privs)
C1=RequestMakeMacro:d(macroID)s(Name)s(Desc)s(Acronym)c(Icon)c(MacroCount:For.0005)c(entry)c(Type)d(d1)c(d2)s(Cmd)
C2=RequestDeleteMacro:d(macroID)
C3=RequestProcureCrop:d(d)d(ListCount:For.0003)d(_Id)d(class)d(num)
C4=RequestBuySeed:d(d)d(count:For.0002)d(d)d(d)
C5=DlgAnswer:d(messageID)d(answer)d(un)
C6=RequestWearItem:d(un)d(ListId)d(ListCount:For.0001)d(itemID:Get.Func01)
C7=RequestSSQStatus:c(Page)
C8=PetitionVote:d(d)d(d)s(s)
CA=GameGuardReply:d(d)d(d)d(d)d(d)
CC=RequestSendFriendMsg:s(Message)s(Reciever)
CD=RequestOpenMinimap:
CE=RequestSendMsnChatLog:s(msg)s(receiver)d(d)
CF=RequestAutoSoulShot:d(ItemID:Get.Func01)d(FlagON)
EE=RequestChangePartyLeader:s(Name)

3900=SuperCmdCharacterInfo:h(subID)s(CharName)
3901=SuperCmdSummonCmd:h(subID)s(SummonName)
3902=SuperCmdServerStatus:h(subID)
3903=SuperCmdL2ParamSetting:h(subID)d(p1)d(p2)

D001=RequestOustFromPartyRoom:h(subID)d(_id)
D002=RequestDismissPartyRoom:h(subID)d(d1)d(d2)
D003=RequestWithdrawPartyRoom:h(subID)d(d1)d(d2)
D004=RequestHandOverPartyMaster:h(subID)s(s)
D005=RequestAutoSoulShot:h(subID)d(ItemID:Get.Func01)d(FlagON)
D006=RequestExEnchantSkillInfo:h(subID)d(skillID:Get.Skill)d(skillLvl)
D007=RequestExEnchantSkill:h(subID)d(skillID:Get.Skill)d(skillLvl)
D008=RequestManorList:h(subID)
D009=RequestProcureCropList:h(subID)d(ListCount:For.0004)d(ObjectID)d(ItemID)d(City)d(ItemCount)
D00A=RequestSetSeed:h(subID)d(data1)d(size:For.0003)d(l0)d(l1)d(l2)
D00B=RequestSetCrop:h(subID)d(data)d(size:For.0004)d(l0)d(l1)d(l2)c(l3)
D00D=RequestExAskJoinMPCC:h(subID)s(name)
D00E=RequestExAcceptJoinMPCC:h(subID)d(d)
D00F=RequestExOustFromMPCC:h(subID)s(name)
D010=RequestExPledgeCrestLarge:h(subID)d(crestID)
D011=RequestExSetPledgeCrestLarge:h(subID)b(IconCrestData)
D012=RequestOlympiadObserverEnd:h(subID)
D013=RequestOlympiadMatchList:h(subID)
D014=RequestAskJoinPartyRoom:h(subID)s(player)
D015=AnswerJoinPartyRoom:h(subID)d(requesterID)
D016=RequestListPartyMatchingWaitingRoom:h(subID)
D017=RequestExitPartyMatchingWaitingRoom:h(subID)
D018=RequestGetBossRecord:h(subID)d(bossID)
D019=RequestPledgeSetAcademyMaster:h(subID)d(set)s(curPlayer)s(targetPlayer)
D01A=RequestPledgePowerGradeList:h(subID)
D01B=RequestPledgeMemberPowerInfo:h(subID)d(un1)s(player)
D01C=RequestPledgeSetMemberPowerGrade:h(subID)s(member)d(powerGrade)
D01D=RequestPledgeMemberInfo:h(subID)d(un1)s(player)
D01E=RequestPledgeWarList:h(subID)d(un1)d(tab)
D01F=RequestExFishRanking:h(subID)
D020=RequestPCCafeCouponUse:h(subID)
D022=RequestCursedWeaponList:h(subID)
D023=RequestCursedWeaponLocation:h(subID)
D024=RequestPledgeReorganizeMember:h(subID)d(d)s(s)d(d)s(s)

[server]
00=KeyInit:c(01)q(Key)d(d)
01=MoveToLocation:d(ObjectID)d(ToX)d(ToY)d(ToZ)d(OrigX)d(OrigY)d(OrigZ)
02=NpcSay:d(npcID)d(ClassID)d(d)s(msg)
03=CharInfo:d(X)d(Y)d(Z)d(Heading)d(ObjectID)s(Name)d(Race)d(Sex)d(ClassID:Get.ClassID)d(DHair)d(Head:Get.Func01)d(RHand:Get.Func01)d(LHand:Get.Func01)d(Gloves:Get.Func01)d(Chest:Get.Func01)d(Legs:Get.Func01)d(Feet:Get.Func01)d(Back:Get.Func01)d(LRHand:Get.Func01)d(Hair:Get.Func01)d(PvpFlag)d(Karma)d(MSpeed)d(PSpeed)d(PvpFlag)d(Karma)d(runSpd)d(walkSpd)d(swimRSpd)d(swimWSpd)d(flRunSpd)d(flWalkSpd)d(flyRSpd)d(flyWSpd)f(SpdMul)f(ASpdMul)f(collisRadius)f(collisHeight)d(HairStyle)d(HairColor)d(Face)s(Title)d(clanID)d(clanCrest)d(allyID)d(allyCrest)d(siegeFlag)c(isStand)c(isRun)c(isInFight)c(isAlikeDead)c(Invis)c(Mount)c(shop)h(cubics:For.0001)h(cubID)c(findparty)d(abnEffects)c(RecomLeft)h(RecomHave)d(classID:Get.ClassID)d(maxCP)d(curCP)c(isMounted)c(Team)d(clanBigCrestId)c(isNoble)c(isHero)c(isFishing)d(fishX)d(fishY)d(fishZ)d(NameColor:Get.FCol)c(isRun)d(d)d(PItem)d(PledgeClass)d(?PledgeColor:Get.FCol)d(TitleColor:Get.FCol)d(Cursed)
04=UserInfo:d(X)d(Y)d(Z)d(Heading)d(ObjectID)s(Name)d(Race)d(Sex)d(ClassID:Get.ClassID)d(Level)d(Exp)d(STR)d(DEX)d(CON)d(INT)d(WIT)d(MEN)d(MaxHP)d(CurHP)d(MaxMP)d(CurMP)d(SP)d(CurLoad)d(MaxLoad)d(d)d(DHair)d(Rear)d(Lear)d(Neck)d(RFinger)d(LFinger)d(Head)d(RHand)d(LHand)d(Gloves)d(Chest)d(Legs)d(Feet)d(Back)d(LRHand)d(Hair)d(DHair:Get.Func01)d(Rear:Get.Func01)d(Lear:Get.Func01)d(Neck:Get.Func01)d(RFinger:Get.Func01)d(LFinger:Get.Func01)d(Head:Get.Func01)d(RHand:Get.Func01)d(LHand:Get.Func01)d(Gloves:Get.Func01)d(Chest:Get.Func01)d(Legs:Get.Func01)d(Feet:Get.Func01)d(Back:Get.Func01)d(LRHand:Get.Func01)d(Hair:Get.Func01)d(Patk)d(Paspd)d(Pdef)d(evasion)d(accur)d(crithit)d(Matk)d(Maspd)d(Paspd)d(Mdef)d(PvpFlag)d(Karma)d(runSpd)d(walkSpd)d(swimRSpd)d(swimWSpd)d(flRSpd)d(flWSpd)d(flyRSpd)d(flyWSpd)f(MoveMul)f(aspdMul)f(collisRadius)f(collisHeight)d(HairStyle)d(HairColor:Get.FCol)d(Face)d(AccessLvl)s(Title)d(clanID)d(clanCrestId)d(AllyID)d(AllyCrestId)d(ClanLeader)c(Mount)c(shop)c(DwarfCraft)d(PKkills)d(PVPkills)h(cubics:For.0001)h(cubID)c(findparty)d(abnEffects)c(c)d(clanPrivil)d(d)d(d)d(d)d(d)d(d)d(d)d(d)h(RecomLeft)h(RecomHave)d(d)h(InventLimit)d(classId:Get.ClassID)d(sEff)d(maxCP)d(curCP)c(Mount)c(Team)d(clanBigCrestId)c(Noble)c(Hero)c(Fishing)d(fishX)d(fishY)d(fishZ)d(NameColor:Get.FCol)
05=Attack:d(AttackerID)d(TargetID)d(Damage)c(Flags)d(X)d(Y)d(Z)h(ListHits:For.0003)d(targetId)d(damage)c(flags)
06=Die:d(CharID)d(d)d(HAsHideout)d(HasCastle)d(flags)d(sweepable)d(access)
07=Revive:d(ObjectID)
08=AttackOutOfRange:
09=AttackinCoolTime:
0A=AttackDeadTarget:
0B=SpawnItem:d(ObjectID)d(ItemID:Get.Func01)d(X)d(Y)d(Z)d(Stackable)d(Count)d(d)
0C=DropItem:d(PlayerID)d(ObjectID)d(ItemID:Get.Func01)d(X)d(Y)d(Z)d(Stackable)d(Count)d(d)
0D=GetItem:d(PlayerID)d(ObjectID)d(X)d(Y)d(Z)
0E=StatusUpdate:d(ObjectID)d(AttribCount:For.0002)d(AttrID:Get.FSup)d(AttrValue)
0F=NpcHtmlMessage:d(MessageID)s(HTML)d(d)
10=SellList:d(Money)d(Lease)h(SellList:For.0011)h(ItemType1)d(ObjectID)d(ItemID:Get.Func01)d(Count)h(ItemType2)h(h)d(ItemBodyPart)h(EnchantLevel)h(h)h(h)d(refPrice)
11=BuyList:d(Money)d(ListID)h(ListCount:For.0011)h(ItemType1)d(ObjectId)d(ItemID:Get.Func01)d(maxcnt)h(ItemType2)h(h)d(ItemBodyPart)h(EnchantLevel)h(h)h(h)d(PriceToSell)
12=DeleteObject:d(ObjectID)d(d)
13=CharSelectInfo:d(Count:For.0069)s(Name)d(CharID)s(LoginName)d(SessionID)d(ClanID)d(d)d(Sex)d(Race)d(ClassID:Get.ClassID)d(active)d(X)d(Y)d(Z)f(cur_HP)f(cur_MP)d(SP)d(Exp)d(Level)d(Karma)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(Under)d(Rear)d(Lear)d(Neck)d(RFinger)d(LFinger)d(Head)d(RHand)d(LHand)d(Gloves)d(Chest)d(Legs)d(Feet)d(Back)d(LRHand)d(Hair)d(Under:Get.Func01)d(Rear:Get.Func01)d(Lear:Get.Func01)d(Neck:Get.Func01)d(RFinger:Get.Func01)d(LFinger:Get.Func01)d(Head:Get.Func01)d(RHand:Get.Func01)d(LHand:Get.Func01)d(Gloves:Get.Func01)d(Chest:Get.Func01)d(Legs:Get.Func01)d(Feet:Get.Func01)d(Back:Get.Func01)d(LRHand:Get.Func01)d(Hair:Get.Func01)d(HairStyle)d(HairColor:Get.FCol)d(Face)f(Max_HP)f(Max_MP)d(DELdays)d(ClassID:Get.ClassID)d(autSel)c(EnchEffect)
14=LoginFail:d(reason)
15=CharSelected:s(Name)d(CharID)s(Title)d(SessionID)d(ClanID)d(d)d(Sex)d(Race)d(ClassID:Get.ClassID)d(active)d(X)d(Y)d(Z)f(Cur_HP)f(Cur_MP)d(SP)d(EXP)d(Level)d(Karma)d(d)d(INT)d(STR)d(CON)d(MEN)d(DEX)d(WIT)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(inGameTime)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)
16=NpcInfo:d(ObjectID)d(NpcTypeId:Get.NpcId)d(IsAttackable)d(X)d(Y)d(Z)d(Heading)d(d)d(Maspd)d(Paspd)d(runSpd)d(walkSpd)d(swimRSpd)d(swimWSpd)d(flRSpd)d(flWSpd)d(FlyRSpd)d(FlyWSpd)f(ProperMul)f(Paspd)f(CollisRadius)f(CollisHeight)d(RHand)d(d)d(LHand)c(nameabove)c(isRun)c(isInFight)c(isAlikeDead)c(isSummoned)s(Name)s(Title)d(d)d(d)d(karma?)d(abnEffect)d(d)d(d)d(d)d(d)c(c)c(Team)f(collisRadius)f(collisHeight)d(d)
17=CharTemplates:d(count:For.0020)d(Race)d(classID:Get.ClassID)d(d)d(base_STR)d(d)d(d)d(base_DEX)d(d)d(d)d(base_CON)d(d)d(d)d(base_INT)d(d)d(d)d(base_WIT)d(d)d(d)d(base_MEN)d(d)
18=NewCharFail:
19=CharCreateSuccess:d(ok)
1A=CharCreateFail:d(reason)
1B=ItemListPacket:h(window)h(ListCount:For.0010)h(itemType1)d(ObjectId)d(ItemID:Get.Func01)d(count)h(itemType2)h(CustType1)h(isEquipped)d(BodyPart)h(EnchantLevel)h(CustType2)
1C=SunRise:
1D=SunSet:
1E=TradeStart:d(ObjectId)h(ListCount:For.0010)h(itemType1)d(ObjectId)d(ItemId:Get.Func01)d(Count)h(itemType2)h(h)d(BodyPart)h(EnchantLevel)h(h)h(h)
1F=TradeStartOk:
20=TradeOwnAdd:h(count:For.0010)h(itemType1)d(ObjectId)d(ItemId:Get.Func01)d(Count)h(itemType2)h(h)d(BodyPart)h(EnchantLevel)h(h)h(h)
21=TradeOtherAdd:h(count:For.0010)h(itemType1)d(ObjectId)d(ItemId:Get.Func01)d(Count)h(itemType2)h(h)d(BodyPart)h(EnchantLevel)h(h)h(h)
22=TradeDone:d(num)
23=CharDeleteSuccess:
24=CharDeleteFail:d(reason)
25=ActionFail:
26=SeverClose:
27=InventoryUpdate:h(count:For.0011)h(1add2mod3remove)h(itemType1)d(ObjectId)d(ItemId:Get.Func01)d(Count)h(itemType2)h(cusType1)h(isEquipped)d(BodyPart)h(EnchantLevel)h(cusType2)
28=TeleportToLocation:d(targetId)d(X)d(Y)d(Z)
29=TargetSelected:d(ObjectID)d(TargetID)d(X)d(Y)d(Z)
2A=TargetUnselected:d(TargetID)d(X)d(Y)d(Z)d(d)
2B=AutoAttackStart:d(TargetID)
2C=AutoAttackStop:d(TargetID)
2D=SocialAction:d(PlayerID)d(Action:Get.Func09)
2E=ChangeMoveType:d(charID)d(MoveType)d(d)
2F=ChangeWaitType:d(objectID)d(WaitType)d(X)d(Y)d(Z)
30=ManagePledgePower:d(d)d(d)d(privils)
31=CreatePledge:d(d)
32=AskJoinPledge:d(requestorId)s(pledgeName)
33=JoinPledge:d(pledgeId)
34=WithdrawalPledge:d(pledgeId)
35=OustPledgeMember:d(d)
36=SetOustPledgeMember:
37=DismissPledge:d(pledgeId)
38=SetDismissPledge:
39=AskJoinParty:s(requestorName)d(itemDistribution)
3A=JoinParty:d(response)
3B=WithdrawalParty:d(partyID)
3C=OustPartyMember:d(d)
3D=SetOustPartyMember:
3E=DismissParty:d(partyID)
3F=SetDismissParty:
40=MagicAndSkillList:d(ObjectID)d(CharID)d(d)
41=WareHouseDepositList:h(WHtype)d(PlayerAdena)h(ListItemst:For.0011)h(itemType1)d(ObjectId)d(ItemId:Get.Func01)d(Count)h(itemType2)h(h)d(BodyPart)h(EnchantLvl)h(h)h(h)d(ObjectId)
42=WareHouseWithdrawList:h(WHtype)d(PlayerAdena)h(ListItemst:For.0011)h(itemType1)d(ObjectId)d(ItemId:Get.Func01)d(Count)h(itemType2)h(h)d(BodyPart)h(EnchantLvl)h(h)h(h)d(ObjectId)
43=WareHouseDone:d(whId)
44=ShortCutRegister:d(Type)d(Slot)d(_id)d(d)c(c)d(d)
45=ShortCutInit:d(count:For.0004)d(type)d(slot)d(_id)d(lvl)c(c)
46=ShortCutDelete:d(shortcutId)
47=StopMove:d(ObjectId)d(X)d(Y)d(Z)d(Heading)
48=MagicSkillUse:d(charID)d(targetID)d(skillID:Get.Skill)d(skillLvl)d(hitTime)d(reuseDelay)d(X)d(Y)d(Z)h(count:for.0003)d(d)d(d)d(d)
49=MagicSkillCanceled:d(objectID)
4A=Say2:d(ObjectID)d(textType:Get.Func02)s(charName)s(Message)
4B=EquipUpdate:d(change)d(objectID)d(BodyPart)
4C=DoorInfo:d(objectID)d(DoorID)d(d)d(d)d(d)
4D=DoorStatusUpdate:d(objectID)d(Open)d(Damage)d(enemy)d(DoorID)
4E=PartySmallWindowAll:d(objectID)d(Party)d(ListCount:For.0012)d(objID)s(Name)d(cur_CP)d(max_CP)d(cur_HP)d(max_HP)d(cur_MP)d(max_MP)d(lvl)d(classId)d(d)d(d)
4F=PartySmallWindowAdd:d(playerObjId)d(d)d(memObjId)s(memName)d(cur_CP)d(max_CP)d(cur_HP)d(max_HP)d(cur_MP)d(max_MP)d(lvl)d(classId)d(d)d(d)
50=PartySmallWindowDeleteAll:
51=PartySmallWindowDelete:d(memObjId)s(memberName)
52=PartySmallWindowUpdate:d(memObjId)s(memberName)d(cur_CP)d(max_CP)d(cur_HP)d(max_HP)d(cur_MP)d(max_MP)d(lvl)d(classId)
53=PledgeShowMemberListAll:d(mainOrSubpledge)d(clanID)d(pledgeType)s(clanName)s(LeaderName)d(clanCrestId)d(clanLvl)d(hasCastle)d(hasHideOut)d(Rank)d(reputation)d(d)d(d)d(AllyID)s(AllyName)d(AllyCrestId)d(isAtWar)d(memberCount:For.0007)s(memberName)d(memLvl)d(memClassId)d(d)d(memObjId)d(isOnLine)d(d)
54=PledgeShowMemberListUpdate:s(playerName)d(Lvl)d(ClassId)d(d)d(objectID)d(isOnLine)d(pledgeType)d(hasSponsor)
55=PledgeShowMemberListAdd:s(Name)d(Lvl)d(ClassId)d(d)d(d)d(isOnLine)d(pledgeType)
56=PledgeShowMemberListDelete:s(playerName)
57=MagicList:
58=SkillList:d(ListCount:For.0003)d(isPassive)d(lvl)d(SkillID:Get.Skill)
59=VehicleInfo:d(boatObjId)d(BoatX)d(BoatY)d(BoatZ)d(BoatHeading)
5A=VehicleDeparture:d(boatObjId)d(spd1)d(spd2)d(X)d(Y)d(Z)
5B=VehicleCheckLocation:d(boatObjId)d(X)d(Y)d(Z)d(BoatHeading)
5C=GetOnVehicle:d(ObjectId)d(boatObjId)d(X)d(Y)d(Z)
5D=GetOffVehicle:d(ObjectId)d(boatObjId)d(X)d(Y)d(Z)
5E=TradeRequest:d(senderID)
5F=RestartResponse:d(ok)s(Message)
60=MoveToPawn:d(charID)d(targetId)d(distance)d(X)d(Y)d(Z)
61=ValidateLocation:d(charID)d(X)d(Y)d(Z)d(Heading)
62=StartRotating:d(charId)d(degree)d(side)
63=FinishRotating:d(objectId)d(Heading)
64=SystemMessage:d(MsgID:Get.MsgID)d(typesCount)
65=StartPledgeWar:s(char)s(pledgename)
66=ReplyStartPledgeWar:d(d)
67=StopPledgeWar:s(pledgename)s(char)
68=ReplyStopPledgeWar:d(d)
69=SurrenderPledgeWar:s(pledgename)s(char)
6A=ReplySurrenderPledgeWar:d(d)
6B=SetPledgeCrest:
6C=PledgeCrest:d(crestID)b(IconCrest)
6D=SetupGauge:d(dat1)d(time)d(time)
6E=ShowBoard:c(show)s(s1)s(s2)s(s3)s(s4)s(s5)s(s6)s(s7)s(s8)s(curpage)
6F=ChooseInventoryItem:d(ItemId)
70=Dummy:
71=MoveToLocationInVehicle:d(pcID)d(boatID)d(ToX)d(ToY)d(ToZ)d(OrigX)d(OrigY)d(OrigZ)
72=StopMoveInVehicle:d(objId)d(boatId)d(X)d(Y)d(Z)d(Heading)
73=ValidateLocationInVehicle:d(PlayerID)d(d)d(X)d(Y)d(Z)d(Heading)
74=TradeUpdate:
75=TradePressOwnOk:
76=MagicSkillLaunched:d(charID)d(skillID:Get.Skill)d(skillLvl)d(failed)d(targetId)
77=FriendAddRequestResult:d(d)
78=FriendAdd:
79=FriendRemove:
7A=FriendList:
7B=FriendStatus:
7C=TradePressOtherOk:
7D=FriendAddRequest:s(requestorName)d(d)
7E=LogOutOk:
7F=MagicEffectIcons:h(ListCount:For.0003)d(skillID:Get.Skill)h(Lvl)d(Duration)
80=QuestList:h(Count:For.0002)d(QuestId)d(cond)h(AllQCount:For.0004)d(drObId)d(drId)d(drItCn)d(d)
81=EnchantResult:d(result)
82=PledgeShowMemberListDeleteAll:
83=PledgeInfo:d(clanId)s(clanName)s(allyName)
84=PledgeExtendedInfo:
85=SurrenderPersonally:
86=Ride:d(_id)d(bRide)d(rideType)d(rideClassId)
87=Dummy:
88=PledgeShowInfoUpdate:d(clanId)d(d)d(clanLvl)d(hasCastle)d(hasHideOut)d(d)d(reputation)d(d)d(D)d(d)s(bil)d(d)d(d)
89=ClientAction:d(d)
8A=AcquireSkillList:d(orig)d(ListCount:For.0005)d(_id)d(nxtLvl)d(maxLvl)d(spCost)d(require)
8B=AcquireSkillInfo:d(_id)d(level)d(spCost)d(Mode)d(Count:For.0004)d(type)d(itemId)d(count)d(d)
8C=ServerObjectInfo:
8D=GMHide:d(_id)
8E=AcquireSkillDone:
8F=GMViewCharacterInfo:d(X)d(Y)d(Z)d(Heading)d(ObjId)s(Name)d(Race)d(Sex)d(ClassId)d(Lvl)q(Exp)d(STR)d(DEX)d(CON)d(INT)d(WIT)d(MEN)d(max_HP)d(cur_HP)d(max_MP)d(cur_MP)d(SP)d(cur_Load)d(max_Load)d(d)d(Under)d(Rear)d(Lear)d(Neck)d(RFinger)d(LFinger)d(Head)d(RHand)d(LHand)d(Gloves)d(Chest)d(Legs)d(Feet)d(Back)d(LRHand)d(Hair)d(Under:Get.Func01)d(Rear:Get.Func01)d(Lear:Get.Func01)d(Neck:Get.Func01)d(RFinger:Get.Func01)d(LFinger:Get.Func01)d(Head:Get.Func01)d(RHand:Get.Func01)d(LHand:Get.Func01)d(Gloves:Get.Func01)d(Chest:Get.Func01)d(Legs:Get.Func01)d(Feet:Get.Func01)d(Back:Get.Func01)d(LRHand:Get.Func01)d(Hair:Get.Func01)d(Patk)d(Paspd)d(PDef)d(Evasion)d(Accuracy)d(Crithit)d(Matk)d(Maspd)d(Paspd)d(MDef)d(PvpFlag)d(Karma)d(runSpd)d(walkSpd)d(swimRSpd)d(swimWSpd)d(flRSpd)d(flWSpd)d(flyRSpd)d(flyWSpd)f(moveMul)f(aspdMul)f(collisRadius)f(collisHeight)d(HairStyle)d(HairColor:Get.FCol)d(Face)d(isGM)s(Title)d(clanId)d(clanCrestId)d(allyId)c(Mount)c(store)c(DwarfCraft)d(PKkills)d(PVPkills)h(RecomLeft)h(RecomHave)d(ClassId)d(d)d(max_CP)d(cur_CP)c(isRun)d(FaceId)d(FaceIt)d(pledgeClass)d(d)d(NameColor:Get.FCol)d(d)
90=GMViewPledgeInfo:s(charName)d(clanId)s(clanName)s(LeaderName)d(CrestId)d(clanLvl)d(hasCastle)d(hasHideOut)d(d)d(charLvl)d(d)d(d)d(allyId)s(allyName)d(allyCrestId)d(isAtWar)d(membersCount:For.0006)s(memberName)d(memLvl)d(memClassId)d(d)d(d)d(isOnline)
91=GMViewSkillInfo:s(charName)d(ListCount:For.0004)d(isPassive)d(skillLVL)d(skillID)c(c)
92=GMViewMagicInfo:
93=GMViewQuestInfo:s(charName)h(questCount:For.0002)d(questId)d(cond)h(DropList:For.0004)d(dropID)d(dropItemId)d(dropCount)d(d)
94=GMViewItemList:s(playerName)d(InventLimit)h(window)h(ItemsCount:For.0010)h(type1)d(ObjectId)d(ItemId:Get.Func01)d(count)h(type2)h(custType1)h(isEquipped)d(BodyPart)h(EnchantLvl)h(custType2)
95=GMViewWarehouseWithdrawList:s(playerName)d(Money)h(itemCount:For.0011)h(type1)d(ObjectId)d(ItemId:Get.Func01)d(count)h(type2)h(h)d(BodyPart)h(EnchantLvl)h(ssCount)h(spsCount)d(ObjectId)
96=ListPartyWating:d(plcount:For.0010)d(plObjectId)s(playerName)d(lvl)d(classId)d(d)d(clanId)d(d)d(X)d(Y)d(Z)
97=PartyRoomInfo:d(plObjectId)d(showLvl)d(showClass)d(d)s(partyMemo)
98=PlaySound:d(d)s(soundFile)d(ship)d(shipObjId)d(X)d(Y)d(Z)d(d)
99=StaticObject:d(StaticObjectID)d(ObjectID)
9A=PrivateStoreManageList:d(playerObjID)d(packSell)d(adena)d(ItemCount:For.0009)d(type2)d(objId)d(ItemId:Get.Func01)d(count)h(h)h(Enchant)h(h)d(BodyPart)d(price)d(SellCount:For.0010)d(type2)d(objId)d(ItemId:Get.Func01)d(count)h(h)h(Enchant)h(h)d(BodyPart)d(price)d(storePrice)
9B=PrivateStoreList:d(ObjectId)d(packSale)d(adena)d(ListCount:For.0010)d(type2)d(objId)d(ItemId:Get.Func01)d(count)h(h)h(Enchant)h(h)d(BodyPart)d(price)d(storePrice)
9C=PrivateStoreMsg:d(ObjectId)s(storeMsg)
9D=ShowMinimap:d(mapId)
9E=ReviveRequest:
9F=AbnormalVisualEffect:
A0=TutorialShowHtml:s(Html)
A1=TutorialShowQuestionMark:d(blnk)
A2=TutorialEnableClientEvent:d(d)
A3=TutorialCloseHtml:
A4=ShowRadar:d(d)d(d)d(d)d(d)d(d)
A5=DeleteRadar:d(d)d(d)d(d)
A6=MyTargetSelected:d(objectID)h(color)
A7=PartyMemberPosition:d(membercount:For.0004)d(objID)d(X)d(Y)d(Z)
A8=AskJoinAlliance:d(requestorID)s(requestorName)
A9=JoinAlliance:d(d)
AA=WithdrawAlliance:d(d)
AB=OustAllianceMemberPledge:d(d)
AC=DismissAlliance:d(d)
AD=SetAllianceCrest:
AE=AllianceCrest:d(CrestID)b(IconCrest)
AF=ServerCloseSocket:
B0=PetStatusShow:d(summonType)
B1=PetInfo:d(summonType)d(ObjectID)d(templ)d(d)d(X)d(Y)d(Z)d(Heading)d(d)d(Maspd)d(Paspd)d(runSpd)d(walkSpd)d(swimRSpd)d(swimWSpd)d(flRSpd)d(flWSpd)d(flyRSpd)d(flyWSpd)f(prMul)f(AspdMul)f(collisRadius)f(collisHeight)d(RHand)d(d)d(LHand)c(nameAbove)c(isRun)c(isInFight)c(isAlikeDead)c(isSummon)s(summonName)s(summonTitle)d(d)d(sumPVPflag)d(sumKarma?)d(cur_Fed)d(max_Fed)d(cur_HP)d(max_HP)d(cur_MP)d(max_MP)d(SP)d(LVL)q(Exp)q(ExpThisLvl)q(ExpNextLvl)d(totalLoad)d(maxLoad)d(PAtk)d(PDef)d(MAtk)d(MDef)d(Accuracy)d(Evasion)d(Crit)d(runSpd)d(Paspd)d(Maspd)d(bleedPoisFlame)h(Ride)c(c)h(h)c(TeamAura)d(usedSS)d(usedSpS)
B2=PetItemList:h(ItemCount:for.0010)h(type1)d(objID)d(ItemID:Get.Func01)d(count)h(type2)h(h)h(isEquipped)d(BodyPart)h(Enchant)h(h)
B3=PetInventoryUpdate:h(ItemCount:For.0011)h(change)h(type1)d(objID)d(ItemID:Get.Func01)d(count)h(type2)h(h)h(isEquipped)d(BodyPart)h(Enchant)h(h)
B4=AllianceInfo:
B5=PetStatusUpdate:d(SummonType)d(ObjectID)d(X)d(Y)d(Z)s(Title)d(cur_Fed)d(max_Fed)d(cur_HP)d(max_HP)d(cur_MP)d(max_MP)d(Level)q(Exp)q(ExpThisLvl)q(ExpNextLvl)
B6=PetDelete:d(PetID)d(PetNumber)
B7=PrivateStoreBuyManageList:d(ObjectID)d(Adena)d(ItemsCount:For.0007)d(ItemID:Get.Func01)h(h)d(count)d(refPrice)h(h)d(BodyPart)h(type2)d(ByuCount:For.0009)d(ItemID:Get.Func01)h(h)d(count)d(refPrice)h(h)d(BodyPart)h(type2)d(yourPrice)d(refPrice)
B8=PrivateBuyListBuy:d(ObjectID)d(adena)d(ItemsCount:For.0010)d(objID)d(ItemID:Get.Func01)h(Enchant)d(count)d(refPrice)h(h)d(BodyPart)h(type2)d(BuyersPrice)d(count)
B9=PrivateStoreMsgBuy:d(ObjectID)s(storeMsg)
BA=VehicleStart:d(d)d(d)
BB=RequestTimeCheck:d(d)
BC=StartAllianceWar:s(s)s(s)
BD=ReplyStartAllianceWar:
BE=StopAllianceWar:s(s)s(s)
BF=ReplyStopAllianceWar:
C0=SurrenderAllianceWar:
C1=SkillCoolTime:d(d)d(d)d(d)d(d)
C2=PackageToList:d(d)s(s)d(d)
C3=PackageSendableList:h(h)d(d)d(d)d(d)
C4=EarthQuake:d(X)d(Y)d(Z)d(Intensivity)d(Duration)d(d)
C5=FlyToLoaction:d(ObjID)d(ToX)d(ToY)d(ToZ)d(OrigX)d(OrigY)d(OrigZ)
C6=BlockList:
C7=SpecialCamera:d(_id)d(Distantion)d(Yaw)d(Pitch)d(Time)d(Duration)
C8=NormalCamera:
C9=CastleSiegeInfo:d(CastleID)d(ActLeader)d(OwnerID)s(name)s(ClanLeader)d(allyID)s(allyName)d(time_ms)d(siege_time)d(num)
CA=CastleSiegeAttackerList:d(CastleID)d(d)d(d)d(d)d(count)d(count:for.0009)d(ClanID)s(clanName)s(leaderName)d(crestID)d(d)d(allyID)s(allyName)s(allyLeader)d(allyCrestID)
CB=CastleSiegeDefenderList:d(CastleID)d(d)d(d)d(d)d(count)d(count:for.0020)d(ClanID)s(clanName)s(leaderName)d(crestID)d(signedTime)d(SiegeType)d(allyID)s(allyName)s(allyLeader)d(allyCrestID)d(ClanID)s(clanName)s(leaderName)d(crestID)d(signedTime)d(SiegeType)d(allyID)s(allyName)s(allyLeader)d(allyCrestID)
CC=NickNameChanged:d(objID)s(NeedName)
CD=PledgeStatusChanged:d(LeaderID)d(ClanID)d(d)d(clanLVL)d(d)d(d)d(d)
CE=RelationChanged:d(objId)d(relation)d(autoattackable)d(karma)d(pvpflag)
CF=EventTrigger:d(_id)c(On)
D0=MultiSellList_:-(Script)
D1=SetSummonRemainTime:d(d)d(d)
D2=SkillRemainSec:d(d)d(d)d(d)d(d)d(d)d(d)d(d)
D3=NetPing:d(kID)
D4=Dice:d(PlayerID)d(ItemID:Get.Func01)d(Number)d(X)d(Y)d(Z)
D5=Snoop:d(ConvoID)s(Name)d(d)d(Type)s(Speaker)s(Msg)
D6=RecipeBookItemList:d(isDwarven)d(max_MP)d(recipesCount:For.0002)d(recipeId)d(recipeNum)
D7=RecipeItemMakeInfo:d(_id)d(IsDwarven)d(cur_MP)d(max_MP)d(Success)
D8=RecipeShopManageList:d(ObjectID)d(Adena)d(IsDwarven)d(ListCount:For.0002)d(RecipeID)d(recipeNum)d(Listcount:For.0003)d(RecipeID)d(d)d(Cost)
D9=RecipeShopSellList:d(ObjectID)d(cur_MP)d(max_MP)d(Adena)d(ListCount:For.0003)d(RecipeID)d(d)d(Cost)
DA=RecipeShopItemInfo:d(ShopID)d(RecipeID)d(cur_MP)d(max_MP)d(d)
DB=RecipeShopMsg:d(ObjectID)s(StoreName)
DC=ShowCalculator:d(CalculatorID)
DD=MonRaceInfo:d(d)d(d)d(Count:For.0037)d(monsterObjID)d(npcId)d(OrigX)d(OrigY)d(OrigZ)d(ToX)d(ToY)d(ToZ)f(collisHeight)f(collis(Radius)d(d)c(1)c(2)c(3)c(4)c(5)c(6)c(7)c(8)c(9)c(10)c(11)c(12)c(13)c(14)c(15)c(16)c(17)c(18)c(19)c(20)d(d)d(d)d(d)d(d)d(d)d(d)
DE=ShowTownMap:s(texture)d(X)d(Y)
DF=ObservationMode:d(X)d(Y)d(Z)c(c)c(c)c(c)
E0=ObservationReturn:d(X)d(Y)d(Z)
E1=ChairSit:d(ActiveObjectID)d(StaticObjectID)
E2=HennaEquipList:d(PlayerAdena)d(Slots)d(ListCount:For.0005)d(SymbolID)d(ItemDyeID:Get.Func01)d(dyeRequire)d(adenaRequire)d(d)
E3=HennaItemInfo:d(SymbolID)d(ItemID:Get.Func01)d(DyeRequire)d(Price)d(Draw)d(Adena)d(cur_INT)c(equip_INT)d(cur_STR)c(equip_STR)d(cur_CON)c(equip_CON)d(cur_MEN)c(equip_MEN)d(cur_DEX)c(equip_DEX)d(cur_WIT)c(equip_WIT)
E4=HennaInfo:c(INT)c(STR)c(CON)c(MEN)c(DEX)c(WIT)d(SlotCount:For.0002)d(slot)d(SymbolID)
E5=HennaUnequipList:
E6=HennaUnequipInfo:
E7=SendMacroList:d(Revision)c(c)c(Count)c(c)d(MacroID)s(Name)s(Descr)s(Acronym)c(Icon)c(Lenght:For.0005)c(idx)c(type)d(SkillID)c(ShortcutID)s(cmdName)
E8=BuyListSeed:d(money)d(ListID)h(ListCount:for.0007)h(itemType1)d(ObjectID)d(ItemID:Get.Func01)d(Count)h(itemType2)h(h)d(price)
E9=SellListProcure:d(money)d(d)h(ListCount:for.0007)h(itemType1)d(ObjectID)d(ItemID:Get.Func01)d(Count)h(itemType2)h(h)d(price)
EA=GMHennaInfo:c(INT)c(STR)c(CON)c(MEN)c(DEX)c(WIT)d(SlotCount:For.0002)d(slot)d(SymbolID)
EB=RadarControl:d(ShowRadar)d(Type)d(X)d(Y)d(Z)
EC=ClientSetTime:d(d)d(d)
ED=ConfirmDlg:d(requestID)d(d)d(d)s(name)d(d)d(d)
EE=PartySpelled:d(Summon)d(ObjecID)d(EffectCount:For.0003)d(SkillID:Get.Skill)h(Data)d(Duration)
EF=ShopPreviewList:c(c)c(c)c(c)c(c)d(money)d(ListID)h(ListCount:For.0004)d(ItemId:Get.Func01)h(type2)h(BodyPart)d(wearPrice)
F0=ShopPreviewInfo:
F1=CameraMode:d(Mode)
F2=ShowXMasSeal:d(d)
F3=EtcStatusUpdate:d(d)d(d)d(d)d(d)d(d)
F4=ShortBuffStatusUpdate:d(d)d(d)d(d)
F5=SSQStatus_:-(Script)
F6=PetitionVote:
F7=AgitDecoInfo:d(d)
F8=SSQInfo:h(Sky)
F9=GameGuardQuery:d(d)d(d)d(d)d(d)
FA=FriendList:d(FriendCount:For.0004)d(friendID)s(friendName)d(isOnLine)d(ObjecID)
FB=Friend:
FC=FriendStatus:
FD=FriendSay:d(d)s(sender)s(receiver)s(message)

FE12=ExAutoSoulShot:h(subID)d(itemID:Get.Func01)d(type)
FE13=ExFishingStart:h(subID)d(charObjID)d(fishType)d(X)d(Y)d(Z)c(isNightLure)c(c)
FE14=ExFishingEnd:h(subID)d(charObjectId)c(isWin)
FE15=ExFishingStartCombat:h(subID)d(charObjID)d(time)d(HP)c(Fighting)c(LureType)c(isFishDeceptive)
FE16=ExFishingHpRegen:h(subID)d(charObjID)d(time)d(fish_HP)c(HPstop/rise)c(GoodUse)c(anim)d(penalty)c(BarColor)
FE17=ExEnchantSkillList:h(subID)d(ListCount:For.0004)d(id)d(nextLevel)d(SP)q(Exp)
FE18=ExEnchantSkillInfo:h(subID)d(_id)d(lvl)d(SPcost)q(XPcost)d(rate)d(reqsCount:For.0004)d(type)d(id)d(count)d(d)
FE19=ExQuestInfo:h(subID)
FE1B=ExSendManorList:h(subID)d(ListCount:For.0002)d(idx)s(Name)
FE21=ManorList1:h(subID)d(d)d(ListCount:For.0012)d(ObjectID)d(itemID)d(d)d(d)c(c)c(c)d(d)d(Reward)d(BuyCount)d(BuyPrice)c(c)d(ItemCount)
FE22=ManorList2:h(subID)d(ItemID)d(ListCount:For.004)d(City)d(Count)d(Price)c(c)
FE23=ExHeroList:h(subID)d(ListCount:For.0007)s(heroName)d(ClassId)s(clanName)d(clanCrest)s(allyName)d(allyCrest)d(count)
FE28=ExPledgeCrestLarge:h(subID)d(d)d(crestID)b(IconCrest)
FE29=ExOlympiadUserInfo:h(subID)c(Side)d(charObjID)s(Name)d(ClassId)d(cur_HP)d(max_HP)d(cur_CP)d(max_CP)
FE2A=ExOlympiadSpelledInfo:h(subID)d(charObjID)d(Count:for.0003)d(skillID)h(dat)d(duration)
FE2B=ExOlympiadMode:h(subID)c(mode)
FE2D=ExMailArrived:h(subID)
FE2E=ExStorageMaxCount:h(subID)d(inventory)d(warehouse)d(freight)d(privateSell)d(privateBuy)d(receipeD)d(recipe)
FE31=ExPCCafePointInfo:h(subID)d(d)d(d)c(c)d(d)c(c)
FE32=ExSetCompassZoneCode:h(subID)d(d)
FE33=ExGetBossRecord:h(subID)d(d)d(d)d(ListSize)
FE34=ExAskJoinPartyRoom:h(subID)s(charName)
FE37=ExShowAdventurerGuideBook:h(subID)
FE39=PledgeSkillList:h(subID)d(ListCount:For.0002)d(SkillID)d(Level)
FE3A=PledgeSkillListAdd:h(subID)d(SkillID)d(Level)
FE3B=PledgePowerGradeList:h(subID)d(Listcount:For.0002)d(Rank)d(Party)
FE3C=PledgeReceivePowerInfo:h(subID)d(membPowerGrade)s(memberName)d(privileges)
FE3D=PledgeReceiveMemberInfo:h(subID)d(memberPledge)s(memName)s(memTitle)d(memPowerGrade)s(clanName)s(Apprent)
FE3E=PledgeReceiveWarList:h(subID)d(Enemy/attaker)d(page)d(ListCount:For.0003)s(clanName)d(d)d(d)
FE3F=PledgeReceiveSubPledgeCreated:h(subID)d(d)d(subPledgeID)s(subPledgeName)s(leaderName)
FE40=ExRedSky:h(subID)d(duration)
FE43=ShowPCCafeCouponShowUI:h(subID)
FE44=ExOrcMove:h(subID)
FE45=ExCursedWeaponList:h(subID)d(ListCount:For.0001)d(cursWeapID)
FE46=ExCursedWeaponLocation:h(subID)d(ListCount:For.0005)d(cursWeapID)d(d)d(X)d(Y)d(Z)
FE47=ExRestartClient:h(subID)

типы данных
Код:
Типы данных используемые в пакетах:
c: Byte - 1 байт
h: Word - 2 байта
d: DWord - 4 байта
f: Double - 8 байт
q: Int64 - 8 байт целое
s: String
i: DWord - 4 байта - отведен специально для ItemID
l: DWord - 4 байта - отведен специально для SkillID
o: DWord - 4 байта - отведен специально для ObjectID и CharID
b: Array of Byte - массив байт, записывается в виде: b(Описание:Размер):
 
Вот пакеты и их структура С4, ниже хроник мне не попадались
Код:
[client]
00=ProtocolVersion:d(ProtocolVersion)z(0256fixed)
01=MoveBackwardToLocation:d(ToX)d(ToY)d(ToZ)d(OrigX)d(OrigY)d(OrigZ)d(moveByMouse)
02=Say:s(Msg)
03=EnterWorld:d(d)d(d)d(d)d(d)d(d)
04=Action:d(ObjectID)d(OrigX)d(OrigY)d(OrigZ)c(ShiftFlag)
08=RequestAuthLogin:s(LoginName)d(PlayKey2)d(PlayKey1)d(LoginKey1)d(LoginKey2)d(d)
09=LogoutRequest:
0A=Attack:d(ObjectID)d(OrigX)d(OrigY)d(OrigZ)c(ShiftFlag)
0B=CharCreate:s(Name)d(Race)d(Sex)d(ClassID:Get.ClassID)d(INT)d(STR)d(CON)d(MEN)d(DEX)d(WIT)d(HairStyle)d(HairColor)d(Face)
0C=CharDelete:d(CharSlot)
0D=CharSelected:d(CharSlot)h(h)d(d)d(d)d(d)
0E=NewCharacter:
0F=RequestItemList:
10=RequestEquipItem:d(ObjectID)d(Slot)
11=RequestUnEquipItem:d(Slot)
12=RequestDropItem:d(ObjectID)d(Count)d(X)d(Y)d(Z)
14=UseItem:d(ObjectID)d(d)
15=TradeRequest:d(ObjectID)
16=AddTradeItem:d(TradeID)d(ObjectID)d(Count)
17=TradeDone:d(Response)
1A=RequestTeleport:d(d)d(d)d(d)d(d)d(d)
1B=RequestSocialAction:d(Action:Get.Func09)
1C=ChangeMoveType:d(TypeRun)
1D=ChangeWaitType:d(TypeStand)
1E=RequestSellItem:d(ListID)d(SellCount:For.0003)d(ObjectID)d(ItemID:Get.Func01)d(Count)
1F=RequestBuyItem:d(ListID)d(BuyCount:For.0002)d(ItemID:Get.Func01)d(Count)
20=RequestLinkHtml:s(HtmlLink)
21=RequestBypassToServer:s(Cmd)
22=RequestBBSwrite:s(Url)s(Arg1)s(Arg2)s(Arg3)s(Arg4)s(Arg5)
23=RequestCreatePledge:s(PledgeName)
24=RequestJoinPledge:d(Target)d(pledgetype)
25=RequestAnswerJoinPledge:d(Answer)
26=RequestWithDrawalPledge:
27=RequestOustPledgeMember:s(Target)
28=RequestDismissPledge:
29=RequestJoinParty:s(Name)d(ItemDistribution)
2A=RequestAnswerJoinParty:d(Response)
2B=RequestWithDrawalParty:
2C=RequestOustPartyMember:s(Name)
2D=RequestDismissParty:
2E=RequestMagicSkillList:c(c)c(c)c(c)d(CharID)d(ObjectID)
2F=RequestMagicSkillUse:d(MagicID)d(CtrlPressed)c(ShiftPressed)
30=Appearing:
31=SendWareHouseDepositList:d(Count:For.0002)d(ObjectID)d(Count)
32=SendWareHouseWithDrawList:d(Count:For.0002)d(ObjectID)d(Count)
33=RequestShortCutReg:d(Type)d(Slot)d(ID)d(d)
34=RequestShortCutUse:d(d)d(d)c(c)
35=RequestShortCutDel:d(ID)
36=CannotMoveAnymore:d(X)d(Y)d(Z)d(Heading)
37=RequestTargetCancel:h(unselect)
38=Say2:s(Text)d(Type:Get.Func02)s(Target)
3C=RequestPledgeMemberList:
3E=RequestMagicList:
3F=RequestSkillList:
40=AnswerTradeRequest:d(Response)
41=MoveWithDelta:d(dx)d(dy)d(dz)
42=GetOnVehicle:d(ID)d(X)d(Y)d(Z)
43=GetOffVehicle:d(ID)d(X)d(Y)d(Z)
44=AnswerTradeRequest:d(answer)
45=RequestActionUse:d(ActionID)d(CtrlPressed)c(ShiftPressed)
46=RequestRestart:
47=RequestSiegeInfo:
48=ValidatePosition:d(X)d(Y)d(Z)d(Heading)d(Data)
49=RequestSEKCustom:d(SlotNum)d(Direct)
4A=StartRotating:d(Degree)d(Side)
4B=FinishRotating:d(Degree)d(u)
4D=RequestStartPledgeWar:s(PledgeName)
4E=RequestReplyStartPledgeWar:s(PledgeName)d(Answer)
4F=RequestStopPledgeWar:s(PledgeName)
50=RequestReplyStopPledgeWar:s(PledgeName)d(Answer)
51=RequestSurrenderPledgeWar:s(PledgeName)
52=RequestReplySurrenderPledgeWar:s(PledgeName)d(Answer)
53=RequestSetPledgeCrest:b(IconCrest)d(d)
55=RequestGiveNickName:s(Target)s(Title)
57=RequestShowboard:d(flagShow)
58=RequestEnchantItem:d(ObjectID)
59=RequestDestroyItem:d(ObjectID)d(Count)
5B=SendBypassBuildCmd:s(Command)
5C=RequestGetOnVehicle:d(ID)d(X)d(Y)d(Z)
5D=RequestGetOffVehicle:d(ID)d(X)d(Y)d(Z)
5E=RequestFriendInvite:s(Name)
5F=RequestAnswerFriendInvite:d(Response)
60=RequestFriendList:
61=RequestFriendDel:s(Name)
62=CharacterRestore:d(CharSlot)
63=RequestQuestList:
64=RequestQuestAbort:d(QuestID)
66=RequestPledgeInfo:d(ClanID)
67=RequestPledgeExtendedInfo:s(pledgeName)
68=RequestPledgeCrest:d(CrestID)
69=RequestSurrenderPersonally:s(PledgeName)
6A=RequestRide:d(Rideflag)d(StrWyv)
6B=RequestAcquireSkillInfo:d(ID)d(Level)d(Fisherman)
6C=RequestAcquireSkill:d(ID)d(Level)d(Fisherman)
6D=RequestRestartPoint:d(PointType:Get.Func09)
6E=RequestGMCommand:s(TargetName)d(Command:Get.Func09)d(0)
6F=RequestPartyMatchConfig:d(AutomatRegistr)d(ShowLevel)d(ShowClass)s(memo)
70=RequestPartyMatchList:d(Status)d(un)d(un)d(un)d(un)s(un)
71=RequestPartyMatchDetail:d(ObjectID)d(un)
72=RequestCrystallizeItem:d(ObjectID)d(Count)
73=RequestPrivateStoreManage:
74=SetPrivateStoreListSell:d(Package)d(ListCount:For.0003)d(ObjectID)d(Count)d(Price)
75=RequestPrivateStoreManageCancel:
76=RequestPrivateStoreQuit:
77=SetPrivateStoreMsg:s(StoreMsg)
78=RequestPrivateStoreList:d(d)
79=SendPrivateStoreBuyList:d(StorePlayerID)d(ListCount:For.0003)d(object)d(count)d(price)
7A=ReviveReply:d(d)
7B=RequestTutorialLinkHtml:s(Link)
7C=RequestTutorialPassCmdToServer:s(cmd)
7D=RequestTutorialQuestionMark:d(d)
7E=RequestTutorialClientEvent:d(d)
7F=RequestPetition:s(Content)d(Type)
80=RequestPetitionCancel:d(d)
81=RequestGMList:
82=RequestJoinAlly:d(ID)
83=RequestAnswerJoinAlly:d(Response)
84=RequestAllyLeave:
85=RequestAllyDismiss:s(ClanName)
86=RequestDismissAlly:
87=RequestSetAllyCrest:b(IconAllyCrest)
88=RequestAllyCrest:d(CrestID)
89=RequestChangePetName:s(Name)
8A=RequestPetUseItem:d(ObjectID)
8B=RequestGiveItemToPet:d(ObjectID)d(Amount)
8C=RequestGetItemFromPet:d(ObjectID)d(Amount)d(un)
8E=RequestAllyInfo:
8F=RequestPetGetItem:d(ObjectID)
90=RequestPrivateStoreManageBuy:
91=SetPrivateStoreListBuy:d(ListCount:For.0005)d(ItemID:Get.Func01)h(h)h(h)d(Count)d(price)
92=RequestPrivateStoreBuyManageCancel:
93=RequestPrivateStoreQuitBuy:
94=SetPrivateStoreMsgBuy:s(StoreMessage)
95=RequestPrivateStoreBuyList:d(d)
96=SendPrivateStoreBuyList:d(StorePlayerID)d(ListCount:For.0006)d(objectID)d(ItemID:Get.Func01)h(h)h(h)d(count)d(price)
97=SendTimeCheckPacket:d(d)d(d)
98=RequestStartAllianceWar:s(alName)
99=ReplyStartAllianceWar:s(alName)d(d)
9A=RequestStopAllianceWar:s(alName)
9B=ReplyStopAllianceWar:s(alName)d(d)
9C=RequestSurrenderAllianceWar:s(alName)
9D=RequestSkillCoolTime:
9E=RequestPackageSendableItemList:d(d)
9F=RequestPackageSend:d(d)d(Count:For.0002)d(d)d(d)
A0=RequestBlock:d(type:Get.Func09)s(name)
A1=RequestCastleSiegeInfo:d(CastleID)
A2=RequestSiegeAttackerList:d(CastleID)
A3=RequestSiegeDefenderList:d(CastleID)
A4=RequestJoinSiege:d(CastleID)d(IsAttacker)d(IsJoining)
A5=RequestConfirmSiegeWaitingList:d(CastleID)d(ClanID)d(Approved)
A6=RequestSetCastleSiegeTime:d(CastleID?)d(time?)
A7=RequestMultiSellChoose:d(ListID)d(EntryID)d(Amount)h(ench)
A8=NetPing:d(kID)d(PING)d(dta)
A9=RequestRemainTime:
AA=BypassUserCmd:d(cmd)
AB=SnoopQuit:d(snoopID)
AC=RequestRecipeBookOpen:d(isntDwarvCraft)
AD=RequestRecipeBookDestroy:d(RecipeID)
AE=RequestRecipeItemMakeInfo:d(_id)
AF=RequestRecipeItemMakeSelf:d(_id)
B0=RequestRecipeShopManageList:
B1=RequestRecipeShopMessageSet:s(Name)
B2=RequestRecipeShopListSet:d(ListCount:For.0002)d(RecipeID)d(Cost)
B3=RequestRecipeShopManageQuit:
B4=RequestRecipeShopManageCancel:
B5=RequestRecipeShopMakeInfo:d(PlayerObjectID)d(RecipeID)
B6=RequestRecipeShopMakeItem:d(_id)d(RecipeID)d(un)
B7=RequestRecipeShopPrev:d(d)
B8=ObserverReturn:d(ObjectID)d(OrigX)d(OrigY)d(OrigZ)c(ShiftFlag)
B9=RequestEvaluate:d(targetID)
BA=RequestHennaList:d(un)
BB=RequestHennaItemInfo:d(SymbolID)
BC=RequestHennaEquip:d(SymbolID)
BD=RequestHennaUnequipList:d(un)
BE=RequestHennaUnequipInfo:d(SymbolID)
BF=RequestHennaUnequip:d(SymbolID)
C0=RequestPledgePower:d(Rank)d(Action)d(Privs)
C1=RequestMakeMacro:d(macroID)s(Name)s(Desc)s(Acronym)c(Icon)c(MacroCount:For.0005)c(entry)c(Type)d(d1)c(d2)s(Cmd)
C2=RequestDeleteMacro:d(macroID)
C3=RequestProcureCrop:d(d)d(ListCount:For.0003)d(_Id)d(class)d(num)
C4=RequestBuySeed:d(d)d(count:For.0002)d(d)d(d)
C5=DlgAnswer:d(messageID)d(answer)d(un)
C6=RequestWearItem:d(un)d(ListId)d(ListCount:For.0001)d(itemID:Get.Func01)
C7=RequestSSQStatus:c(Page)
C8=PetitionVote:d(d)d(d)s(s)
CA=GameGuardReply:d(d)d(d)d(d)d(d)
CC=RequestSendFriendMsg:s(Message)s(Reciever)
CD=RequestOpenMinimap:
CE=RequestSendMsnChatLog:s(msg)s(receiver)d(d)
CF=RequestAutoSoulShot:d(ItemID:Get.Func01)d(FlagON)
EE=RequestChangePartyLeader:s(Name)

3900=SuperCmdCharacterInfo:h(subID)s(CharName)
3901=SuperCmdSummonCmd:h(subID)s(SummonName)
3902=SuperCmdServerStatus:h(subID)
3903=SuperCmdL2ParamSetting:h(subID)d(p1)d(p2)

D001=RequestOustFromPartyRoom:h(subID)d(_id)
D002=RequestDismissPartyRoom:h(subID)d(d1)d(d2)
D003=RequestWithdrawPartyRoom:h(subID)d(d1)d(d2)
D004=RequestHandOverPartyMaster:h(subID)s(s)
D005=RequestAutoSoulShot:h(subID)d(ItemID:Get.Func01)d(FlagON)
D006=RequestExEnchantSkillInfo:h(subID)d(skillID:Get.Skill)d(skillLvl)
D007=RequestExEnchantSkill:h(subID)d(skillID:Get.Skill)d(skillLvl)
D008=RequestManorList:h(subID)
D009=RequestProcureCropList:h(subID)d(ListCount:For.0004)d(ObjectID)d(ItemID)d(City)d(ItemCount)
D00A=RequestSetSeed:h(subID)d(data1)d(size:For.0003)d(l0)d(l1)d(l2)
D00B=RequestSetCrop:h(subID)d(data)d(size:For.0004)d(l0)d(l1)d(l2)c(l3)
D00D=RequestExAskJoinMPCC:h(subID)s(name)
D00E=RequestExAcceptJoinMPCC:h(subID)d(d)
D00F=RequestExOustFromMPCC:h(subID)s(name)
D010=RequestExPledgeCrestLarge:h(subID)d(crestID)
D011=RequestExSetPledgeCrestLarge:h(subID)b(IconCrestData)
D012=RequestOlympiadObserverEnd:h(subID)
D013=RequestOlympiadMatchList:h(subID)
D014=RequestAskJoinPartyRoom:h(subID)s(player)
D015=AnswerJoinPartyRoom:h(subID)d(requesterID)
D016=RequestListPartyMatchingWaitingRoom:h(subID)
D017=RequestExitPartyMatchingWaitingRoom:h(subID)
D018=RequestGetBossRecord:h(subID)d(bossID)
D019=RequestPledgeSetAcademyMaster:h(subID)d(set)s(curPlayer)s(targetPlayer)
D01A=RequestPledgePowerGradeList:h(subID)
D01B=RequestPledgeMemberPowerInfo:h(subID)d(un1)s(player)
D01C=RequestPledgeSetMemberPowerGrade:h(subID)s(member)d(powerGrade)
D01D=RequestPledgeMemberInfo:h(subID)d(un1)s(player)
D01E=RequestPledgeWarList:h(subID)d(un1)d(tab)
D01F=RequestExFishRanking:h(subID)
D020=RequestPCCafeCouponUse:h(subID)
D022=RequestCursedWeaponList:h(subID)
D023=RequestCursedWeaponLocation:h(subID)
D024=RequestPledgeReorganizeMember:h(subID)d(d)s(s)d(d)s(s)

[server]
00=KeyInit:c(01)q(Key)d(d)
01=MoveToLocation:d(ObjectID)d(ToX)d(ToY)d(ToZ)d(OrigX)d(OrigY)d(OrigZ)
02=NpcSay:d(npcID)d(ClassID)d(d)s(msg)
03=CharInfo:d(X)d(Y)d(Z)d(Heading)d(ObjectID)s(Name)d(Race)d(Sex)d(ClassID:Get.ClassID)d(DHair)d(Head:Get.Func01)d(RHand:Get.Func01)d(LHand:Get.Func01)d(Gloves:Get.Func01)d(Chest:Get.Func01)d(Legs:Get.Func01)d(Feet:Get.Func01)d(Back:Get.Func01)d(LRHand:Get.Func01)d(Hair:Get.Func01)d(PvpFlag)d(Karma)d(MSpeed)d(PSpeed)d(PvpFlag)d(Karma)d(runSpd)d(walkSpd)d(swimRSpd)d(swimWSpd)d(flRunSpd)d(flWalkSpd)d(flyRSpd)d(flyWSpd)f(SpdMul)f(ASpdMul)f(collisRadius)f(collisHeight)d(HairStyle)d(HairColor)d(Face)s(Title)d(clanID)d(clanCrest)d(allyID)d(allyCrest)d(siegeFlag)c(isStand)c(isRun)c(isInFight)c(isAlikeDead)c(Invis)c(Mount)c(shop)h(cubics:For.0001)h(cubID)c(findparty)d(abnEffects)c(RecomLeft)h(RecomHave)d(classID:Get.ClassID)d(maxCP)d(curCP)c(isMounted)c(Team)d(clanBigCrestId)c(isNoble)c(isHero)c(isFishing)d(fishX)d(fishY)d(fishZ)d(NameColor:Get.FCol)c(isRun)d(d)d(PItem)d(PledgeClass)d(?PledgeColor:Get.FCol)d(TitleColor:Get.FCol)d(Cursed)
04=UserInfo:d(X)d(Y)d(Z)d(Heading)d(ObjectID)s(Name)d(Race)d(Sex)d(ClassID:Get.ClassID)d(Level)d(Exp)d(STR)d(DEX)d(CON)d(INT)d(WIT)d(MEN)d(MaxHP)d(CurHP)d(MaxMP)d(CurMP)d(SP)d(CurLoad)d(MaxLoad)d(d)d(DHair)d(Rear)d(Lear)d(Neck)d(RFinger)d(LFinger)d(Head)d(RHand)d(LHand)d(Gloves)d(Chest)d(Legs)d(Feet)d(Back)d(LRHand)d(Hair)d(DHair:Get.Func01)d(Rear:Get.Func01)d(Lear:Get.Func01)d(Neck:Get.Func01)d(RFinger:Get.Func01)d(LFinger:Get.Func01)d(Head:Get.Func01)d(RHand:Get.Func01)d(LHand:Get.Func01)d(Gloves:Get.Func01)d(Chest:Get.Func01)d(Legs:Get.Func01)d(Feet:Get.Func01)d(Back:Get.Func01)d(LRHand:Get.Func01)d(Hair:Get.Func01)d(Patk)d(Paspd)d(Pdef)d(evasion)d(accur)d(crithit)d(Matk)d(Maspd)d(Paspd)d(Mdef)d(PvpFlag)d(Karma)d(runSpd)d(walkSpd)d(swimRSpd)d(swimWSpd)d(flRSpd)d(flWSpd)d(flyRSpd)d(flyWSpd)f(MoveMul)f(aspdMul)f(collisRadius)f(collisHeight)d(HairStyle)d(HairColor:Get.FCol)d(Face)d(AccessLvl)s(Title)d(clanID)d(clanCrestId)d(AllyID)d(AllyCrestId)d(ClanLeader)c(Mount)c(shop)c(DwarfCraft)d(PKkills)d(PVPkills)h(cubics:For.0001)h(cubID)c(findparty)d(abnEffects)c(c)d(clanPrivil)d(d)d(d)d(d)d(d)d(d)d(d)d(d)h(RecomLeft)h(RecomHave)d(d)h(InventLimit)d(classId:Get.ClassID)d(sEff)d(maxCP)d(curCP)c(Mount)c(Team)d(clanBigCrestId)c(Noble)c(Hero)c(Fishing)d(fishX)d(fishY)d(fishZ)d(NameColor:Get.FCol)
05=Attack:d(AttackerID)d(TargetID)d(Damage)c(Flags)d(X)d(Y)d(Z)h(ListHits:For.0003)d(targetId)d(damage)c(flags)
06=Die:d(CharID)d(d)d(HAsHideout)d(HasCastle)d(flags)d(sweepable)d(access)
07=Revive:d(ObjectID)
08=AttackOutOfRange:
09=AttackinCoolTime:
0A=AttackDeadTarget:
0B=SpawnItem:d(ObjectID)d(ItemID:Get.Func01)d(X)d(Y)d(Z)d(Stackable)d(Count)d(d)
0C=DropItem:d(PlayerID)d(ObjectID)d(ItemID:Get.Func01)d(X)d(Y)d(Z)d(Stackable)d(Count)d(d)
0D=GetItem:d(PlayerID)d(ObjectID)d(X)d(Y)d(Z)
0E=StatusUpdate:d(ObjectID)d(AttribCount:For.0002)d(AttrID:Get.FSup)d(AttrValue)
0F=NpcHtmlMessage:d(MessageID)s(HTML)d(d)
10=SellList:d(Money)d(Lease)h(SellList:For.0011)h(ItemType1)d(ObjectID)d(ItemID:Get.Func01)d(Count)h(ItemType2)h(h)d(ItemBodyPart)h(EnchantLevel)h(h)h(h)d(refPrice)
11=BuyList:d(Money)d(ListID)h(ListCount:For.0011)h(ItemType1)d(ObjectId)d(ItemID:Get.Func01)d(maxcnt)h(ItemType2)h(h)d(ItemBodyPart)h(EnchantLevel)h(h)h(h)d(PriceToSell)
12=DeleteObject:d(ObjectID)d(d)
13=CharSelectInfo:d(Count:For.0069)s(Name)d(CharID)s(LoginName)d(SessionID)d(ClanID)d(d)d(Sex)d(Race)d(ClassID:Get.ClassID)d(active)d(X)d(Y)d(Z)f(cur_HP)f(cur_MP)d(SP)d(Exp)d(Level)d(Karma)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(Under)d(Rear)d(Lear)d(Neck)d(RFinger)d(LFinger)d(Head)d(RHand)d(LHand)d(Gloves)d(Chest)d(Legs)d(Feet)d(Back)d(LRHand)d(Hair)d(Under:Get.Func01)d(Rear:Get.Func01)d(Lear:Get.Func01)d(Neck:Get.Func01)d(RFinger:Get.Func01)d(LFinger:Get.Func01)d(Head:Get.Func01)d(RHand:Get.Func01)d(LHand:Get.Func01)d(Gloves:Get.Func01)d(Chest:Get.Func01)d(Legs:Get.Func01)d(Feet:Get.Func01)d(Back:Get.Func01)d(LRHand:Get.Func01)d(Hair:Get.Func01)d(HairStyle)d(HairColor:Get.FCol)d(Face)f(Max_HP)f(Max_MP)d(DELdays)d(ClassID:Get.ClassID)d(autSel)c(EnchEffect)
14=LoginFail:d(reason)
15=CharSelected:s(Name)d(CharID)s(Title)d(SessionID)d(ClanID)d(d)d(Sex)d(Race)d(ClassID:Get.ClassID)d(active)d(X)d(Y)d(Z)f(Cur_HP)f(Cur_MP)d(SP)d(EXP)d(Level)d(Karma)d(d)d(INT)d(STR)d(CON)d(MEN)d(DEX)d(WIT)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(inGameTime)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)d(d)
16=NpcInfo:d(ObjectID)d(NpcTypeId:Get.NpcId)d(IsAttackable)d(X)d(Y)d(Z)d(Heading)d(d)d(Maspd)d(Paspd)d(runSpd)d(walkSpd)d(swimRSpd)d(swimWSpd)d(flRSpd)d(flWSpd)d(FlyRSpd)d(FlyWSpd)f(ProperMul)f(Paspd)f(CollisRadius)f(CollisHeight)d(RHand)d(d)d(LHand)c(nameabove)c(isRun)c(isInFight)c(isAlikeDead)c(isSummoned)s(Name)s(Title)d(d)d(d)d(karma?)d(abnEffect)d(d)d(d)d(d)d(d)c(c)c(Team)f(collisRadius)f(collisHeight)d(d)
17=CharTemplates:d(count:For.0020)d(Race)d(classID:Get.ClassID)d(d)d(base_STR)d(d)d(d)d(base_DEX)d(d)d(d)d(base_CON)d(d)d(d)d(base_INT)d(d)d(d)d(base_WIT)d(d)d(d)d(base_MEN)d(d)
18=NewCharFail:
19=CharCreateSuccess:d(ok)
1A=CharCreateFail:d(reason)
1B=ItemListPacket:h(window)h(ListCount:For.0010)h(itemType1)d(ObjectId)d(ItemID:Get.Func01)d(count)h(itemType2)h(CustType1)h(isEquipped)d(BodyPart)h(EnchantLevel)h(CustType2)
1C=SunRise:
1D=SunSet:
1E=TradeStart:d(ObjectId)h(ListCount:For.0010)h(itemType1)d(ObjectId)d(ItemId:Get.Func01)d(Count)h(itemType2)h(h)d(BodyPart)h(EnchantLevel)h(h)h(h)
1F=TradeStartOk:
20=TradeOwnAdd:h(count:For.0010)h(itemType1)d(ObjectId)d(ItemId:Get.Func01)d(Count)h(itemType2)h(h)d(BodyPart)h(EnchantLevel)h(h)h(h)
21=TradeOtherAdd:h(count:For.0010)h(itemType1)d(ObjectId)d(ItemId:Get.Func01)d(Count)h(itemType2)h(h)d(BodyPart)h(EnchantLevel)h(h)h(h)
22=TradeDone:d(num)
23=CharDeleteSuccess:
24=CharDeleteFail:d(reason)
25=ActionFail:
26=SeverClose:
27=InventoryUpdate:h(count:For.0011)h(1add2mod3remove)h(itemType1)d(ObjectId)d(ItemId:Get.Func01)d(Count)h(itemType2)h(cusType1)h(isEquipped)d(BodyPart)h(EnchantLevel)h(cusType2)
28=TeleportToLocation:d(targetId)d(X)d(Y)d(Z)
29=TargetSelected:d(ObjectID)d(TargetID)d(X)d(Y)d(Z)
2A=TargetUnselected:d(TargetID)d(X)d(Y)d(Z)d(d)
2B=AutoAttackStart:d(TargetID)
2C=AutoAttackStop:d(TargetID)
2D=SocialAction:d(PlayerID)d(Action:Get.Func09)
2E=ChangeMoveType:d(charID)d(MoveType)d(d)
2F=ChangeWaitType:d(objectID)d(WaitType)d(X)d(Y)d(Z)
30=ManagePledgePower:d(d)d(d)d(privils)
31=CreatePledge:d(d)
32=AskJoinPledge:d(requestorId)s(pledgeName)
33=JoinPledge:d(pledgeId)
34=WithdrawalPledge:d(pledgeId)
35=OustPledgeMember:d(d)
36=SetOustPledgeMember:
37=DismissPledge:d(pledgeId)
38=SetDismissPledge:
39=AskJoinParty:s(requestorName)d(itemDistribution)
3A=JoinParty:d(response)
3B=WithdrawalParty:d(partyID)
3C=OustPartyMember:d(d)
3D=SetOustPartyMember:
3E=DismissParty:d(partyID)
3F=SetDismissParty:
40=MagicAndSkillList:d(ObjectID)d(CharID)d(d)
41=WareHouseDepositList:h(WHtype)d(PlayerAdena)h(ListItemst:For.0011)h(itemType1)d(ObjectId)d(ItemId:Get.Func01)d(Count)h(itemType2)h(h)d(BodyPart)h(EnchantLvl)h(h)h(h)d(ObjectId)
42=WareHouseWithdrawList:h(WHtype)d(PlayerAdena)h(ListItemst:For.0011)h(itemType1)d(ObjectId)d(ItemId:Get.Func01)d(Count)h(itemType2)h(h)d(BodyPart)h(EnchantLvl)h(h)h(h)d(ObjectId)
43=WareHouseDone:d(whId)
44=ShortCutRegister:d(Type)d(Slot)d(_id)d(d)c(c)d(d)
45=ShortCutInit:d(count:For.0004)d(type)d(slot)d(_id)d(lvl)c(c)
46=ShortCutDelete:d(shortcutId)
47=StopMove:d(ObjectId)d(X)d(Y)d(Z)d(Heading)
48=MagicSkillUse:d(charID)d(targetID)d(skillID:Get.Skill)d(skillLvl)d(hitTime)d(reuseDelay)d(X)d(Y)d(Z)h(count:for.0003)d(d)d(d)d(d)
49=MagicSkillCanceled:d(objectID)
4A=Say2:d(ObjectID)d(textType:Get.Func02)s(charName)s(Message)
4B=EquipUpdate:d(change)d(objectID)d(BodyPart)
4C=DoorInfo:d(objectID)d(DoorID)d(d)d(d)d(d)
4D=DoorStatusUpdate:d(objectID)d(Open)d(Damage)d(enemy)d(DoorID)
4E=PartySmallWindowAll:d(objectID)d(Party)d(ListCount:For.0012)d(objID)s(Name)d(cur_CP)d(max_CP)d(cur_HP)d(max_HP)d(cur_MP)d(max_MP)d(lvl)d(classId)d(d)d(d)
4F=PartySmallWindowAdd:d(playerObjId)d(d)d(memObjId)s(memName)d(cur_CP)d(max_CP)d(cur_HP)d(max_HP)d(cur_MP)d(max_MP)d(lvl)d(classId)d(d)d(d)
50=PartySmallWindowDeleteAll:
51=PartySmallWindowDelete:d(memObjId)s(memberName)
52=PartySmallWindowUpdate:d(memObjId)s(memberName)d(cur_CP)d(max_CP)d(cur_HP)d(max_HP)d(cur_MP)d(max_MP)d(lvl)d(classId)
53=PledgeShowMemberListAll:d(mainOrSubpledge)d(clanID)d(pledgeType)s(clanName)s(LeaderName)d(clanCrestId)d(clanLvl)d(hasCastle)d(hasHideOut)d(Rank)d(reputation)d(d)d(d)d(AllyID)s(AllyName)d(AllyCrestId)d(isAtWar)d(memberCount:For.0007)s(memberName)d(memLvl)d(memClassId)d(d)d(memObjId)d(isOnLine)d(d)
54=PledgeShowMemberListUpdate:s(playerName)d(Lvl)d(ClassId)d(d)d(objectID)d(isOnLine)d(pledgeType)d(hasSponsor)
55=PledgeShowMemberListAdd:s(Name)d(Lvl)d(ClassId)d(d)d(d)d(isOnLine)d(pledgeType)
56=PledgeShowMemberListDelete:s(playerName)
57=MagicList:
58=SkillList:d(ListCount:For.0003)d(isPassive)d(lvl)d(SkillID:Get.Skill)
59=VehicleInfo:d(boatObjId)d(BoatX)d(BoatY)d(BoatZ)d(BoatHeading)
5A=VehicleDeparture:d(boatObjId)d(spd1)d(spd2)d(X)d(Y)d(Z)
5B=VehicleCheckLocation:d(boatObjId)d(X)d(Y)d(Z)d(BoatHeading)
5C=GetOnVehicle:d(ObjectId)d(boatObjId)d(X)d(Y)d(Z)
5D=GetOffVehicle:d(ObjectId)d(boatObjId)d(X)d(Y)d(Z)
5E=TradeRequest:d(senderID)
5F=RestartResponse:d(ok)s(Message)
60=MoveToPawn:d(charID)d(targetId)d(distance)d(X)d(Y)d(Z)
61=ValidateLocation:d(charID)d(X)d(Y)d(Z)d(Heading)
62=StartRotating:d(charId)d(degree)d(side)
63=FinishRotating:d(objectId)d(Heading)
64=SystemMessage:d(MsgID:Get.MsgID)d(typesCount)
65=StartPledgeWar:s(char)s(pledgename)
66=ReplyStartPledgeWar:d(d)
67=StopPledgeWar:s(pledgename)s(char)
68=ReplyStopPledgeWar:d(d)
69=SurrenderPledgeWar:s(pledgename)s(char)
6A=ReplySurrenderPledgeWar:d(d)
6B=SetPledgeCrest:
6C=PledgeCrest:d(crestID)b(IconCrest)
6D=SetupGauge:d(dat1)d(time)d(time)
6E=ShowBoard:c(show)s(s1)s(s2)s(s3)s(s4)s(s5)s(s6)s(s7)s(s8)s(curpage)
6F=ChooseInventoryItem:d(ItemId)
70=Dummy:
71=MoveToLocationInVehicle:d(pcID)d(boatID)d(ToX)d(ToY)d(ToZ)d(OrigX)d(OrigY)d(OrigZ)
72=StopMoveInVehicle:d(objId)d(boatId)d(X)d(Y)d(Z)d(Heading)
73=ValidateLocationInVehicle:d(PlayerID)d(d)d(X)d(Y)d(Z)d(Heading)
74=TradeUpdate:
75=TradePressOwnOk:
76=MagicSkillLaunched:d(charID)d(skillID:Get.Skill)d(skillLvl)d(failed)d(targetId)
77=FriendAddRequestResult:d(d)
78=FriendAdd:
79=FriendRemove:
7A=FriendList:
7B=FriendStatus:
7C=TradePressOtherOk:
7D=FriendAddRequest:s(requestorName)d(d)
7E=LogOutOk:
7F=MagicEffectIcons:h(ListCount:For.0003)d(skillID:Get.Skill)h(Lvl)d(Duration)
80=QuestList:h(Count:For.0002)d(QuestId)d(cond)h(AllQCount:For.0004)d(drObId)d(drId)d(drItCn)d(d)
81=EnchantResult:d(result)
82=PledgeShowMemberListDeleteAll:
83=PledgeInfo:d(clanId)s(clanName)s(allyName)
84=PledgeExtendedInfo:
85=SurrenderPersonally:
86=Ride:d(_id)d(bRide)d(rideType)d(rideClassId)
87=Dummy:
88=PledgeShowInfoUpdate:d(clanId)d(d)d(clanLvl)d(hasCastle)d(hasHideOut)d(d)d(reputation)d(d)d(D)d(d)s(bil)d(d)d(d)
89=ClientAction:d(d)
8A=AcquireSkillList:d(orig)d(ListCount:For.0005)d(_id)d(nxtLvl)d(maxLvl)d(spCost)d(require)
8B=AcquireSkillInfo:d(_id)d(level)d(spCost)d(Mode)d(Count:For.0004)d(type)d(itemId)d(count)d(d)
8C=ServerObjectInfo:
8D=GMHide:d(_id)
8E=AcquireSkillDone:
8F=GMViewCharacterInfo:d(X)d(Y)d(Z)d(Heading)d(ObjId)s(Name)d(Race)d(Sex)d(ClassId)d(Lvl)q(Exp)d(STR)d(DEX)d(CON)d(INT)d(WIT)d(MEN)d(max_HP)d(cur_HP)d(max_MP)d(cur_MP)d(SP)d(cur_Load)d(max_Load)d(d)d(Under)d(Rear)d(Lear)d(Neck)d(RFinger)d(LFinger)d(Head)d(RHand)d(LHand)d(Gloves)d(Chest)d(Legs)d(Feet)d(Back)d(LRHand)d(Hair)d(Under:Get.Func01)d(Rear:Get.Func01)d(Lear:Get.Func01)d(Neck:Get.Func01)d(RFinger:Get.Func01)d(LFinger:Get.Func01)d(Head:Get.Func01)d(RHand:Get.Func01)d(LHand:Get.Func01)d(Gloves:Get.Func01)d(Chest:Get.Func01)d(Legs:Get.Func01)d(Feet:Get.Func01)d(Back:Get.Func01)d(LRHand:Get.Func01)d(Hair:Get.Func01)d(Patk)d(Paspd)d(PDef)d(Evasion)d(Accuracy)d(Crithit)d(Matk)d(Maspd)d(Paspd)d(MDef)d(PvpFlag)d(Karma)d(runSpd)d(walkSpd)d(swimRSpd)d(swimWSpd)d(flRSpd)d(flWSpd)d(flyRSpd)d(flyWSpd)f(moveMul)f(aspdMul)f(collisRadius)f(collisHeight)d(HairStyle)d(HairColor:Get.FCol)d(Face)d(isGM)s(Title)d(clanId)d(clanCrestId)d(allyId)c(Mount)c(store)c(DwarfCraft)d(PKkills)d(PVPkills)h(RecomLeft)h(RecomHave)d(ClassId)d(d)d(max_CP)d(cur_CP)c(isRun)d(FaceId)d(FaceIt)d(pledgeClass)d(d)d(NameColor:Get.FCol)d(d)
90=GMViewPledgeInfo:s(charName)d(clanId)s(clanName)s(LeaderName)d(CrestId)d(clanLvl)d(hasCastle)d(hasHideOut)d(d)d(charLvl)d(d)d(d)d(allyId)s(allyName)d(allyCrestId)d(isAtWar)d(membersCount:For.0006)s(memberName)d(memLvl)d(memClassId)d(d)d(d)d(isOnline)
91=GMViewSkillInfo:s(charName)d(ListCount:For.0004)d(isPassive)d(skillLVL)d(skillID)c(c)
92=GMViewMagicInfo:
93=GMViewQuestInfo:s(charName)h(questCount:For.0002)d(questId)d(cond)h(DropList:For.0004)d(dropID)d(dropItemId)d(dropCount)d(d)
94=GMViewItemList:s(playerName)d(InventLimit)h(window)h(ItemsCount:For.0010)h(type1)d(ObjectId)d(ItemId:Get.Func01)d(count)h(type2)h(custType1)h(isEquipped)d(BodyPart)h(EnchantLvl)h(custType2)
95=GMViewWarehouseWithdrawList:s(playerName)d(Money)h(itemCount:For.0011)h(type1)d(ObjectId)d(ItemId:Get.Func01)d(count)h(type2)h(h)d(BodyPart)h(EnchantLvl)h(ssCount)h(spsCount)d(ObjectId)
96=ListPartyWating:d(plcount:For.0010)d(plObjectId)s(playerName)d(lvl)d(classId)d(d)d(clanId)d(d)d(X)d(Y)d(Z)
97=PartyRoomInfo:d(plObjectId)d(showLvl)d(showClass)d(d)s(partyMemo)
98=PlaySound:d(d)s(soundFile)d(ship)d(shipObjId)d(X)d(Y)d(Z)d(d)
99=StaticObject:d(StaticObjectID)d(ObjectID)
9A=PrivateStoreManageList:d(playerObjID)d(packSell)d(adena)d(ItemCount:For.0009)d(type2)d(objId)d(ItemId:Get.Func01)d(count)h(h)h(Enchant)h(h)d(BodyPart)d(price)d(SellCount:For.0010)d(type2)d(objId)d(ItemId:Get.Func01)d(count)h(h)h(Enchant)h(h)d(BodyPart)d(price)d(storePrice)
9B=PrivateStoreList:d(ObjectId)d(packSale)d(adena)d(ListCount:For.0010)d(type2)d(objId)d(ItemId:Get.Func01)d(count)h(h)h(Enchant)h(h)d(BodyPart)d(price)d(storePrice)
9C=PrivateStoreMsg:d(ObjectId)s(storeMsg)
9D=ShowMinimap:d(mapId)
9E=ReviveRequest:
9F=AbnormalVisualEffect:
A0=TutorialShowHtml:s(Html)
A1=TutorialShowQuestionMark:d(blnk)
A2=TutorialEnableClientEvent:d(d)
A3=TutorialCloseHtml:
A4=ShowRadar:d(d)d(d)d(d)d(d)d(d)
A5=DeleteRadar:d(d)d(d)d(d)
A6=MyTargetSelected:d(objectID)h(color)
A7=PartyMemberPosition:d(membercount:For.0004)d(objID)d(X)d(Y)d(Z)
A8=AskJoinAlliance:d(requestorID)s(requestorName)
A9=JoinAlliance:d(d)
AA=WithdrawAlliance:d(d)
AB=OustAllianceMemberPledge:d(d)
AC=DismissAlliance:d(d)
AD=SetAllianceCrest:
AE=AllianceCrest:d(CrestID)b(IconCrest)
AF=ServerCloseSocket:
B0=PetStatusShow:d(summonType)
B1=PetInfo:d(summonType)d(ObjectID)d(templ)d(d)d(X)d(Y)d(Z)d(Heading)d(d)d(Maspd)d(Paspd)d(runSpd)d(walkSpd)d(swimRSpd)d(swimWSpd)d(flRSpd)d(flWSpd)d(flyRSpd)d(flyWSpd)f(prMul)f(AspdMul)f(collisRadius)f(collisHeight)d(RHand)d(d)d(LHand)c(nameAbove)c(isRun)c(isInFight)c(isAlikeDead)c(isSummon)s(summonName)s(summonTitle)d(d)d(sumPVPflag)d(sumKarma?)d(cur_Fed)d(max_Fed)d(cur_HP)d(max_HP)d(cur_MP)d(max_MP)d(SP)d(LVL)q(Exp)q(ExpThisLvl)q(ExpNextLvl)d(totalLoad)d(maxLoad)d(PAtk)d(PDef)d(MAtk)d(MDef)d(Accuracy)d(Evasion)d(Crit)d(runSpd)d(Paspd)d(Maspd)d(bleedPoisFlame)h(Ride)c(c)h(h)c(TeamAura)d(usedSS)d(usedSpS)
B2=PetItemList:h(ItemCount:for.0010)h(type1)d(objID)d(ItemID:Get.Func01)d(count)h(type2)h(h)h(isEquipped)d(BodyPart)h(Enchant)h(h)
B3=PetInventoryUpdate:h(ItemCount:For.0011)h(change)h(type1)d(objID)d(ItemID:Get.Func01)d(count)h(type2)h(h)h(isEquipped)d(BodyPart)h(Enchant)h(h)
B4=AllianceInfo:
B5=PetStatusUpdate:d(SummonType)d(ObjectID)d(X)d(Y)d(Z)s(Title)d(cur_Fed)d(max_Fed)d(cur_HP)d(max_HP)d(cur_MP)d(max_MP)d(Level)q(Exp)q(ExpThisLvl)q(ExpNextLvl)
B6=PetDelete:d(PetID)d(PetNumber)
B7=PrivateStoreBuyManageList:d(ObjectID)d(Adena)d(ItemsCount:For.0007)d(ItemID:Get.Func01)h(h)d(count)d(refPrice)h(h)d(BodyPart)h(type2)d(ByuCount:For.0009)d(ItemID:Get.Func01)h(h)d(count)d(refPrice)h(h)d(BodyPart)h(type2)d(yourPrice)d(refPrice)
B8=PrivateBuyListBuy:d(ObjectID)d(adena)d(ItemsCount:For.0010)d(objID)d(ItemID:Get.Func01)h(Enchant)d(count)d(refPrice)h(h)d(BodyPart)h(type2)d(BuyersPrice)d(count)
B9=PrivateStoreMsgBuy:d(ObjectID)s(storeMsg)
BA=VehicleStart:d(d)d(d)
BB=RequestTimeCheck:d(d)
BC=StartAllianceWar:s(s)s(s)
BD=ReplyStartAllianceWar:
BE=StopAllianceWar:s(s)s(s)
BF=ReplyStopAllianceWar:
C0=SurrenderAllianceWar:
C1=SkillCoolTime:d(d)d(d)d(d)d(d)
C2=PackageToList:d(d)s(s)d(d)
C3=PackageSendableList:h(h)d(d)d(d)d(d)
C4=EarthQuake:d(X)d(Y)d(Z)d(Intensivity)d(Duration)d(d)
C5=FlyToLoaction:d(ObjID)d(ToX)d(ToY)d(ToZ)d(OrigX)d(OrigY)d(OrigZ)
C6=BlockList:
C7=SpecialCamera:d(_id)d(Distantion)d(Yaw)d(Pitch)d(Time)d(Duration)
C8=NormalCamera:
C9=CastleSiegeInfo:d(CastleID)d(ActLeader)d(OwnerID)s(name)s(ClanLeader)d(allyID)s(allyName)d(time_ms)d(siege_time)d(num)
CA=CastleSiegeAttackerList:d(CastleID)d(d)d(d)d(d)d(count)d(count:for.0009)d(ClanID)s(clanName)s(leaderName)d(crestID)d(d)d(allyID)s(allyName)s(allyLeader)d(allyCrestID)
CB=CastleSiegeDefenderList:d(CastleID)d(d)d(d)d(d)d(count)d(count:for.0020)d(ClanID)s(clanName)s(leaderName)d(crestID)d(signedTime)d(SiegeType)d(allyID)s(allyName)s(allyLeader)d(allyCrestID)d(ClanID)s(clanName)s(leaderName)d(crestID)d(signedTime)d(SiegeType)d(allyID)s(allyName)s(allyLeader)d(allyCrestID)
CC=NickNameChanged:d(objID)s(NeedName)
CD=PledgeStatusChanged:d(LeaderID)d(ClanID)d(d)d(clanLVL)d(d)d(d)d(d)
CE=RelationChanged:d(objId)d(relation)d(autoattackable)d(karma)d(pvpflag)
CF=EventTrigger:d(_id)c(On)
D0=MultiSellList_:-(Script)
D1=SetSummonRemainTime:d(d)d(d)
D2=SkillRemainSec:d(d)d(d)d(d)d(d)d(d)d(d)d(d)
D3=NetPing:d(kID)
D4=Dice:d(PlayerID)d(ItemID:Get.Func01)d(Number)d(X)d(Y)d(Z)
D5=Snoop:d(ConvoID)s(Name)d(d)d(Type)s(Speaker)s(Msg)
D6=RecipeBookItemList:d(isDwarven)d(max_MP)d(recipesCount:For.0002)d(recipeId)d(recipeNum)
D7=RecipeItemMakeInfo:d(_id)d(IsDwarven)d(cur_MP)d(max_MP)d(Success)
D8=RecipeShopManageList:d(ObjectID)d(Adena)d(IsDwarven)d(ListCount:For.0002)d(RecipeID)d(recipeNum)d(Listcount:For.0003)d(RecipeID)d(d)d(Cost)
D9=RecipeShopSellList:d(ObjectID)d(cur_MP)d(max_MP)d(Adena)d(ListCount:For.0003)d(RecipeID)d(d)d(Cost)
DA=RecipeShopItemInfo:d(ShopID)d(RecipeID)d(cur_MP)d(max_MP)d(d)
DB=RecipeShopMsg:d(ObjectID)s(StoreName)
DC=ShowCalculator:d(CalculatorID)
DD=MonRaceInfo:d(d)d(d)d(Count:For.0037)d(monsterObjID)d(npcId)d(OrigX)d(OrigY)d(OrigZ)d(ToX)d(ToY)d(ToZ)f(collisHeight)f(collis(Radius)d(d)c(1)c(2)c(3)c(4)c(5)c(6)c(7)c(8)c(9)c(10)c(11)c(12)c(13)c(14)c(15)c(16)c(17)c(18)c(19)c(20)d(d)d(d)d(d)d(d)d(d)d(d)
DE=ShowTownMap:s(texture)d(X)d(Y)
DF=ObservationMode:d(X)d(Y)d(Z)c(c)c(c)c(c)
E0=ObservationReturn:d(X)d(Y)d(Z)
E1=ChairSit:d(ActiveObjectID)d(StaticObjectID)
E2=HennaEquipList:d(PlayerAdena)d(Slots)d(ListCount:For.0005)d(SymbolID)d(ItemDyeID:Get.Func01)d(dyeRequire)d(adenaRequire)d(d)
E3=HennaItemInfo:d(SymbolID)d(ItemID:Get.Func01)d(DyeRequire)d(Price)d(Draw)d(Adena)d(cur_INT)c(equip_INT)d(cur_STR)c(equip_STR)d(cur_CON)c(equip_CON)d(cur_MEN)c(equip_MEN)d(cur_DEX)c(equip_DEX)d(cur_WIT)c(equip_WIT)
E4=HennaInfo:c(INT)c(STR)c(CON)c(MEN)c(DEX)c(WIT)d(SlotCount:For.0002)d(slot)d(SymbolID)
E5=HennaUnequipList:
E6=HennaUnequipInfo:
E7=SendMacroList:d(Revision)c(c)c(Count)c(c)d(MacroID)s(Name)s(Descr)s(Acronym)c(Icon)c(Lenght:For.0005)c(idx)c(type)d(SkillID)c(ShortcutID)s(cmdName)
E8=BuyListSeed:d(money)d(ListID)h(ListCount:for.0007)h(itemType1)d(ObjectID)d(ItemID:Get.Func01)d(Count)h(itemType2)h(h)d(price)
E9=SellListProcure:d(money)d(d)h(ListCount:for.0007)h(itemType1)d(ObjectID)d(ItemID:Get.Func01)d(Count)h(itemType2)h(h)d(price)
EA=GMHennaInfo:c(INT)c(STR)c(CON)c(MEN)c(DEX)c(WIT)d(SlotCount:For.0002)d(slot)d(SymbolID)
EB=RadarControl:d(ShowRadar)d(Type)d(X)d(Y)d(Z)
EC=ClientSetTime:d(d)d(d)
ED=ConfirmDlg:d(requestID)d(d)d(d)s(name)d(d)d(d)
EE=PartySpelled:d(Summon)d(ObjecID)d(EffectCount:For.0003)d(SkillID:Get.Skill)h(Data)d(Duration)
EF=ShopPreviewList:c(c)c(c)c(c)c(c)d(money)d(ListID)h(ListCount:For.0004)d(ItemId:Get.Func01)h(type2)h(BodyPart)d(wearPrice)
F0=ShopPreviewInfo:
F1=CameraMode:d(Mode)
F2=ShowXMasSeal:d(d)
F3=EtcStatusUpdate:d(d)d(d)d(d)d(d)d(d)
F4=ShortBuffStatusUpdate:d(d)d(d)d(d)
F5=SSQStatus_:-(Script)
F6=PetitionVote:
F7=AgitDecoInfo:d(d)
F8=SSQInfo:h(Sky)
F9=GameGuardQuery:d(d)d(d)d(d)d(d)
FA=FriendList:d(FriendCount:For.0004)d(friendID)s(friendName)d(isOnLine)d(ObjecID)
FB=Friend:
FC=FriendStatus:
FD=FriendSay:d(d)s(sender)s(receiver)s(message)

FE12=ExAutoSoulShot:h(subID)d(itemID:Get.Func01)d(type)
FE13=ExFishingStart:h(subID)d(charObjID)d(fishType)d(X)d(Y)d(Z)c(isNightLure)c(c)
FE14=ExFishingEnd:h(subID)d(charObjectId)c(isWin)
FE15=ExFishingStartCombat:h(subID)d(charObjID)d(time)d(HP)c(Fighting)c(LureType)c(isFishDeceptive)
FE16=ExFishingHpRegen:h(subID)d(charObjID)d(time)d(fish_HP)c(HPstop/rise)c(GoodUse)c(anim)d(penalty)c(BarColor)
FE17=ExEnchantSkillList:h(subID)d(ListCount:For.0004)d(id)d(nextLevel)d(SP)q(Exp)
FE18=ExEnchantSkillInfo:h(subID)d(_id)d(lvl)d(SPcost)q(XPcost)d(rate)d(reqsCount:For.0004)d(type)d(id)d(count)d(d)
FE19=ExQuestInfo:h(subID)
FE1B=ExSendManorList:h(subID)d(ListCount:For.0002)d(idx)s(Name)
FE21=ManorList1:h(subID)d(d)d(ListCount:For.0012)d(ObjectID)d(itemID)d(d)d(d)c(c)c(c)d(d)d(Reward)d(BuyCount)d(BuyPrice)c(c)d(ItemCount)
FE22=ManorList2:h(subID)d(ItemID)d(ListCount:For.004)d(City)d(Count)d(Price)c(c)
FE23=ExHeroList:h(subID)d(ListCount:For.0007)s(heroName)d(ClassId)s(clanName)d(clanCrest)s(allyName)d(allyCrest)d(count)
FE28=ExPledgeCrestLarge:h(subID)d(d)d(crestID)b(IconCrest)
FE29=ExOlympiadUserInfo:h(subID)c(Side)d(charObjID)s(Name)d(ClassId)d(cur_HP)d(max_HP)d(cur_CP)d(max_CP)
FE2A=ExOlympiadSpelledInfo:h(subID)d(charObjID)d(Count:for.0003)d(skillID)h(dat)d(duration)
FE2B=ExOlympiadMode:h(subID)c(mode)
FE2D=ExMailArrived:h(subID)
FE2E=ExStorageMaxCount:h(subID)d(inventory)d(warehouse)d(freight)d(privateSell)d(privateBuy)d(receipeD)d(recipe)
FE31=ExPCCafePointInfo:h(subID)d(d)d(d)c(c)d(d)c(c)
FE32=ExSetCompassZoneCode:h(subID)d(d)
FE33=ExGetBossRecord:h(subID)d(d)d(d)d(ListSize)
FE34=ExAskJoinPartyRoom:h(subID)s(charName)
FE37=ExShowAdventurerGuideBook:h(subID)
FE39=PledgeSkillList:h(subID)d(ListCount:For.0002)d(SkillID)d(Level)
FE3A=PledgeSkillListAdd:h(subID)d(SkillID)d(Level)
FE3B=PledgePowerGradeList:h(subID)d(Listcount:For.0002)d(Rank)d(Party)
FE3C=PledgeReceivePowerInfo:h(subID)d(membPowerGrade)s(memberName)d(privileges)
FE3D=PledgeReceiveMemberInfo:h(subID)d(memberPledge)s(memName)s(memTitle)d(memPowerGrade)s(clanName)s(Apprent)
FE3E=PledgeReceiveWarList:h(subID)d(Enemy/attaker)d(page)d(ListCount:For.0003)s(clanName)d(d)d(d)
FE3F=PledgeReceiveSubPledgeCreated:h(subID)d(d)d(subPledgeID)s(subPledgeName)s(leaderName)
FE40=ExRedSky:h(subID)d(duration)
FE43=ShowPCCafeCouponShowUI:h(subID)
FE44=ExOrcMove:h(subID)
FE45=ExCursedWeaponList:h(subID)d(ListCount:For.0001)d(cursWeapID)
FE46=ExCursedWeaponLocation:h(subID)d(ListCount:For.0005)d(cursWeapID)d(d)d(X)d(Y)d(Z)
FE47=ExRestartClient:h(subID)
Это я все видел)

вот реальный пакет с4
и тут такого нет
 
space2pacman, еще вариант разбирать Engine.dll, в нем по идеи есть все структуры всех пакетов
 
space2pacman ты путаешь и userinfo. Сосредоточься :)

C++:
        writeC(_cha.getWaitType());    // standing = 1  sitting = 0
        writeC(_cha.getMoveType());    // running = 1   walking = 0
        if (_cha.isInCombat())
        {
            writeC(0x01);   //  combat stance
        }
        else
        {
            writeC(0x00);
        }
 
Проблема решена

Если изучить пакет java AutoAttackStart / AutoAttackStop

То видно, что в пакете передается targetId
Java:
public byte[] getContent()
    {
        _bao.write(0x3b);
        writeD(_targetId);
      
        return _bao.toByteArray();
    }

Если поменять на objectId и передавать туда objectId того, кто атакует то состояние персонажа меняется. (Для AutoAttackStop)

1) Непонятно почему в java там targetId и как они меняют состояние не того, кого бьют а самого игрока.
2) Непонятно почему при атаке состояние персонажа сразу меняется. Опять же возвращаясь к сообщениям ранее(про анимацию скилов) некоторые вещи реализованы на клиенте.
То, что есть в charInfo (isCombat) мне кажется это для видимости. А AutoAttack для переключения состояния как писал MasterToma.


Ну и пара скриншотов)
 

Вложения

  • 2020-01-22_19-23-00.png
    2020-01-22_19-23-00.png
    297,7 КБ · Просмотры: 42
  • 2020-01-22_19-24-05.png
    2020-01-22_19-24-05.png
    437,7 КБ · Просмотры: 46
Изучить для 3х строчек - как-то громко сказано :)
_targetId - не ТАРГЕТ атаки. А ТАРГЕТ ИД чара, о состояние которого изменилось.
 
Последнее редактирование:
Изучить для 3х строчек - как-то громко сказано :)
_targetId - не ТАРГЕТ атаки. А ТАРГЕТ, кому высылается пакет.
Ну как-то странно. В пакете передается objectId и назови они его так было бы меньше вопросов. А target для меня значит, что я высылаю тому, кто у меня в таргете))

Добавил пакет Ride, который позволяет сеть на виверну или страйдера. Если кому интересно будет полетать на этом сервере то раскомментируйте в файле gameserver\clientpackets\EnterWorld.js 27 строку //this._packet.send(new serverPackets.Ride(this._player));

Какие бывают состояния у персонажа ?
Сидит / Стоит
Ходит / Бегает
Атакован / Простой (IDLE)
Жив / Мертв
 

Вложения

  • 2020-01-22_23-01-04.png
    2020-01-22_23-01-04.png
    364,6 КБ · Просмотры: 45
  • 2020-01-22_23-03-30.png
    2020-01-22_23-03-30.png
    312,4 КБ · Просмотры: 42
Не путайте состояние Актора (Finite State Machine), которое влияет на действия, и состояние абнормала, которое влияет на формулы расчетов. Например, нельзя атаковать сидя - это состояние Актора (Finite State Machine). Состояния актора могут быть добавлены в очередь (состояние бежать - активно, а состояние атаковать когда прошлое закончится - в очереди)
 
space2pacman, вариант смотреть пакет charinfo, в нем как минимум большая часть описывается состояния чара
 
space2pacman, вариант смотреть пакет charinfo, в нем как минимум большая часть описывается состояния чара
Еще раз повторяю, не путайте две вещи.
Ты о чем спрашиваешь?

Внутреннее состояние (например Get_Item, Change_Weapon, Talk, Attack) L2Server никому не высылает. Оно влияет на механику.
 
Еще раз повторяю, не путайте две вещи.

Ты о чем спрашиваешь?

Внутреннее состояние (например Get_Item, Change_Weapon, Talk, Attack) L2Server никому не высылает. Оно влияет на механику.
Я не про пакеты и сервер а пример состояний, которых я описал. Мне надо понимать какие свойства должны быть у Player'a
this._waitType
this._moveType
this._isDead
this._isAttacked
и т.д.

Что есть abnormal ?
 
Я не про пакеты и сервер а пример состояний, которых я описал. Мне надо понимать какие свойства должны быть у Player'a
Значит ты не до конца понимаешь это все, и сам путаешься. Часть того, что ты описал - не состояния. Вот даже тут пишешь - раз свойства, раз состояния. Это разные вещи.

abnormal это бафы в терминологии L2-сервера
 
Значит ты не до конца понимаешь это все, и сам путаешься. Часть того, что ты описал - не состояния. Вот даже тут пишешь - раз свойства, раз состояния. Это разные вещи.


abnormal это бафы в терминологии L2-сервера
Это одно и тоже. Свойство это технический термин в объекте а состояние - описание что свойство в себе хранит.

Отклонились от темы. Так какие ещё есть состояния персонажа на примере тех что я описал?

Свойство, которое хранит состояние персонажа. Так больше нравится ? :rolleyes:
 
Состояние - это НАБОР свойст с ОПРЕЛЕДЕННЫМИ значениями. Состояния - это терминология машины состояний.
У тебя состояние больного ОРВИ когда у тебя несколько свойств приобритают определенные значения:
  • насморок = тру
  • температура выше 36 но ниже 42 (иначе у тебя другое состояние - ты труп)
  • горло - красное (но без налета, иначе это - СОСТОЯНИЕ АНГИНА, бактериальная инфекция)
Согласно FSM тебе надо сидеть дома и пить чай. Но если у тебя все те же значения свойств, но горло с налетом - у тебя СОСТОЯНИЕ АНГИНА. И согласно FSM тебе надо антибиотик.
Shift-reduce отвечает за вывод состояний из значений свойств. И L2Server во-всю использует Shift-reduce, так как рассматривает свойства персонажа как таблицу.

А если тебя интересуют свойства - открой любой экстендер, хотя бы от smeli. Там в структуре SharedCreatureData описаны многие свойства (около 50 штук)
 
Состояние - это НАБОР свойст с ОПРЕЛЕДЕННЫМИ значениями. Состояния - это терминология машины состояний.
У тебя состояние больного ОРВИ когда у тебя несколько свойств приобритают определенные значения:
  • насморок = тру
  • температура выше 36 но ниже 42 (иначе у тебя другое состояние - ты труп)
  • горло - красное (но без налета, иначе это - СОСТОЯНИЕ АНГИНА, бактериальная инфекция)
Согласно FSM тебе надо сидеть дома и пить чай. Но если у тебя все те же значения свойств, но горло с налетом - у тебя СОСТОЯНИЕ АНГИНА. И согласно FSM тебе надо антибиотик.
Shift-reduce отвечает за вывод состояний из значений свойств. И L2Server во-всю использует Shift-reduce, так как рассматривает свойства персонажа как таблицу.

А если тебя интересуют свойства - открой любой экстендер, хотя бы от smeli. Там в структуре SharedCreatureData описаны многие свойства (около 50 штук)

Соглашусь. Я не подумал, что у состояние может быть больше 2-х свойств.
 
  • Мне нравится
Реакции: raz
Назад
Сверху Снизу