Код:
s0304=BaseDownloadResult:h(psize)h(ID:Get.ID)c( )h(char SID)h(EXP:Get.Prc)-(0006)h(CurHP)h(CurSP)h(CurFP)-(0020)c(Rank)c(key)c( )c( )h(MaxHP clear)h(MaxSP)h(MaxFP)h(Map Location)p(X)p(Z)p(Y)-(0162)-(0009)h(max_uroven_zashity)h(cur_uroven_zashity)
s0310=MonsterCreate:h(psize)h(ID:Get.ID)h(mobID)h(sID)d(objID)h(X)h(Z)h(Y)
s0318=MonsterDestroy:h(psize)h(ID:Get.ID)h(objsID)d(objID)c( )
s031C=ItemboxDestroy:h(psize)h(ID:Get.ID)h(itemID)
s0324=.CharAppear3.:h(psize)h(ID:Get.ID)h(CharSID)d(CharID)h( )h(X)h(Z)h(Y)
s032B=StatInform:h(psize)h(ID:Get.ID)c(StatID)h(points)
s032C=FcitemInform:h(psize)h(ID:Get.ID)h(ForceID)d(points)
s041E=SomethingWithMob_4:h(psize)h(ID:Get.ID)c( )d(objID)
c0502=AttackSkillRequest:h(psize)h(ID:Get.ID)d(counter)h( )h( )h(target sID)c( )C( )h( )c( )c( )
c0503=AttackForceRequest:h(psize)h(ID:Get.ID)d(counter)c(=01)h(X)h(Y)h(force ID)h(target sID)t(end)
c0707=UsePotionRequest:h(psize)h(ID:Get.ID)c( )h(CharSID)d(CharID)h(itemID)
s0708=UsePotionResult:h(psize)h(ID:Get.ID)c( )h(itemID)
s0717=DeleteStorageInform:h(psize)h(ID:Get.ID)c( )h(itemID)
s0719=AlterItemDur:h(psize)h(ID:Get.ID)c( )h(ForceID)d(points)
c071C=CombineItemRequest:h(psize)h(ID:Get.ID)h(CombineNumber)h(NewItemID)
s071D=CombineItemResult:h(psize)h(ID:Get.ID)c( )h(MoneyAmount)h( )h( )h( )c(ItemGroup)h(ItemGID)c(ItemAmount)c( )h( )h(ItemID)
s0B97=SomethingWithMob_1:h(psize)h(ID:Get.ID)d(objID)
s0B99=SomethingWithMob_2:h(psize)h(ID:Get.ID)d(objID)
s0B9A=SomethingWithMob_3:h(psize)h(ID:Get.ID)d(objID)
s0D1D=TargetObjectHpInform:h(psize)h(ID:Get.ID)h( )d(objID)h(%HP)
s0D64=.0D64.SomethingWithSelectedMobe:h(psize)h(ID:Get.ID)d(objID)c( )
c0D6A=SetPartyTarget:h(psize)h(ID:Get.ID)h( )h(objSID)d(objID)
s0D6B=PartyTarget:h(psize)h(ID:Get.ID)d( )d(objID)
s0D70=.0D70.:h(psize)h(ID:Get.ID)d(CharID)
s1014=PartyMemberHpUpd:h(psize)h(ID:Get.ID)d(char objID)h(HP)
s1015=PartyMemberFpUpd:h(psize)h(ID:Get.ID)d(char objID)h(FP)
s1016=PartyMemberSpUpd:h(psize)h(ID:Get.ID)d(char objID)h(SP)
s1018=PartyMemberPosUpd:h(psize)h(ID:Get.ID)d(char objID)c( )h(X)h(Y)
s101A=PartyMemberEffectUpd:h(psize)h(ID:Get.ID)d(char objID)c(flag)c(buff)c( )c(level)
s1103=ForceResultOther:h(psize)h(ID:Get.ID)h(force ID)c( )c( )h(char SID)d(char objID)c( )h(target sID)d(target oID)
s1106=SkillResultOther:h(psize)h(ID:Get.ID)h( )h(char SID)d(char objID)c( )h(target sID)d(target oID)h(skill ID)
s1109=ClassSkillResultOther:h(psize)h(ID:Get.ID)d( )d(char objID)c( )c( )c( )d(char objID)
c1701=BuyingMAU:h(psize)h(ID:Get.ID)c(MAU_type)
c1709=BuyMAUBulletUpSlots:h(psize)h(ID:Get.ID)c(MAU_id)c(bullet_type)c(bullet_type)
c170B=BuyMAUBulletDownSlots:h(psize)h(ID:Get.ID)c(MAU_id)c(num_slots)
s1B59=GvG:h(psize)h(ID:Get.ID)
1. "а" в парсинге не применял, разве не надо указывать длину строки?
2. для цикла в впф используется ключевое слово "For". применяется так:
Код:
s1F04=BuddyDownloadResult:h(psize)h(ID:Get.ID)h( )c(CountBuddy:For.0002)t(Name)z(0005?)
после "for" стоит точка и число - количество блоков в каждой итерации цикла. в данном случае сервер выдает нам список друзей количеством CountBuddy и для каждого из них - 2 параметра, имя и что-то еще.