Register for your free account! | Forgot your password?

Go Back   elitepvpers > Silkroad Online > SRO Coding Corner
You last visited: Today at 14:41

  • Please register to post and access all features, it's quick, easy and FREE!


3013 Packet - Items part

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Aug 2009
Posts: 138
Received Thanks: 10
3013 Packet - Items part

iSro
Hi , i wanna know some details about items parse here code

Code:
07                         //slot
00 00 00 00                //unknown
AB 8C 00 00                //Item ID
00                         //Plus
E0 B4 D9 0E 00 00 00 00    //White stat
0F 01 00 00                //Durab.
04                         //Blue Number
0C 02 00 00 C8 00 00 00    //Blue
0B 02 00 00 08 00 00 00    //Blue
0A 02 00 00 06 00 00 00    //Blue
0F 02 00 00 64 00 00 00    //Blue
01 00                      //For Socket
02 00                      //For Adv Elixir
03 01                      //??
000000000000000000         //??
04 01                      //??
000000000000000000         //??
what these "??" for?



tarek1500 is offline  
Thanks
1 User
Old 02/22/2014, 00:02   #2
 
elite*gold: 0
Join Date: Jan 2009
Posts: 215
Received Thanks: 419
I can only provide the 4 bytes you marked as "unknown", im sorry but im not into iSRO
Code:
        4   uint    Item.RentType
        switch(Item.RentType)
        {
            case 1:
                2   ushort  Item.Rent.CanDelete (adds "Will be deleted when time period is over" to item)
                4   uint    Item.Rent.PeriodBeginTime
                4   uint    Item.Rent.PeriodEndTime
            break;
 
            case 2:
                2   ushort  Item.Rent.CanDelete (adds "Will be deleted when time period is over" to item)
                2   ushort  Item.Rent.CanRecharge (adds "Able to extend" to item)
                4   uint    Item.Rent.MeterRateTime
            break;
 
            case 3:
                2   ushort  Item.Rent.CanDelete (adds "Will be deleted when time period is over" to item)
                4   uint    Item.Rent.PeriodBeginTime
                4   uint    Item.Rent.PeriodEndTime
                2   ushort  Item.Rent.CanRecharge (adds "Able to extend" to item)
                4   uint    Item.Rent.PackingTime
            break;
        }


DaxterSoul is offline  
Thanks
1 User
Old 02/22/2014, 13:01   #3
 
elite*gold: 0
Join Date: Aug 2009
Posts: 138
Received Thanks: 10
Quote:
Originally Posted by DaxterSoul View Post
I can only provide the 4 bytes you marked as "unknown", im sorry but im not into iSRO
Code:
        4   uint    Item.RentType
        switch(Item.RentType)
        {
            case 1:
                2   ushort  Item.Rent.CanDelete (adds "Will be deleted when time period is over" to item)
                4   uint    Item.Rent.PeriodBeginTime
                4   uint    Item.Rent.PeriodEndTime
            break;
 
            case 2:
                2   ushort  Item.Rent.CanDelete (adds "Will be deleted when time period is over" to item)
                2   ushort  Item.Rent.CanRecharge (adds "Able to extend" to item)
                4   uint    Item.Rent.MeterRateTime
            break;
 
            case 3:
                2   ushort  Item.Rent.CanDelete (adds "Will be deleted when time period is over" to item)
                4   uint    Item.Rent.PeriodBeginTime
                4   uint    Item.Rent.PeriodEndTime
                2   ushort  Item.Rent.CanRecharge (adds "Able to extend" to item)
                4   uint    Item.Rent.PackingTime
            break;
        }
Problem in 0301 & 0401 , but thx anyway
tarek1500 is offline  
Old 02/22/2014, 14:33   #4
 
elite*gold: 1000
Join Date: Apr 2012
Posts: 1,003
Received Thanks: 208
Just look for an item where the zero bytes are not zero and post the screenshot here. Must be something new. Could be socket related.


qkuh is offline  
Thanks
1 User
Old 02/22/2014, 15:02   #5
 
elite*gold: 0
Join Date: Aug 2009
Posts: 138
Received Thanks: 10


Look normal
tarek1500 is offline  
Old 02/22/2014, 15:27   #6
 
elite*gold: 1000
Join Date: Apr 2012
Posts: 1,003
Received Thanks: 208
And the zero bytes are not zero? :'o Post the packet part.
qkuh is offline  
Thanks
1 User
Old 02/22/2014, 20:32   #7
 
elite*gold: 0
Join Date: Jan 2009
Posts: 215
Received Thanks: 419
If you don't know what those bytes change on the item I guess you can ignore them as long as you parse the structure correctly
This should still work there:
Code:
                1   byte    OptType (3 => ?)
                1   byte    OptCount
                ForEach(Option)
                {
                    1   byte    Option.Slot
                    4   uint    Option.ID
                    4   uint    Option.OptValue (=> "?")
                }
                1   byte    OptType (4=> ?)
                1   byte    OptCount
                ForEach(Option)
                {
                    1   byte    Option.Slot
                    4   uint    Option.ID
                    4   uint    Option.OptValue (=> "?")
                }
DaxterSoul is offline  
Thanks
1 User
Old 02/22/2014, 21:32   #8
 
elite*gold: 0
Join Date: Aug 2009
Posts: 138
Received Thanks: 10
I think 0401 stand for "Lock" but i don't know the full struct
anyway i ll just ignore them

thx all
tarek1500 is offline  
Old 02/23/2014, 01:17   #9
 
elite*gold: 1000
Join Date: Apr 2012
Posts: 1,003
Received Thanks: 208
Quote:
Originally Posted by DaxterSoul View Post
If you don't know what those bytes change on the item I guess you can ignore them as long as you parse the structure correctly
This should still work there:
Code:
                1   byte    OptType (3 => ?)
                1   byte    OptCount
                ForEach(Option)
                {
                    1   byte    Option.Slot
                    4   uint    Option.ID
                    4   uint    Option.OptValue (=> "?")
                }
                1   byte    OptType (4=> ?)
                1   byte    OptCount
                ForEach(Option)
                {
                    1   byte    Option.Slot
                    4   uint    Option.ID
                    4   uint    Option.OptValue (=> "?")
                }
Did you reverse it? If not I would not rely on that. Just watch for differences. Easiest way to get packet structures.
qkuh is offline  
Thanks
1 User
Old 02/26/2014, 06:45   #10
 
elite*gold: 0
Join Date: Apr 2007
Posts: 54
Received Thanks: 4
Sorry to hijack this post buts it hard finding experience members in what you guys are able to do with ur coding abilties lol.
Someone please tell me how you guys started learning all this lol... I know basic coding, how do i learn about packets, and what you guys can do when it comes to modifying other game clients? Any help would be greatly appreciated, i love coding.
Demonsc is offline  
Old 02/26/2014, 12:17   #11
 
elite*gold: 0
Join Date: Jan 2009
Posts: 215
Received Thanks: 419
Quote:
Originally Posted by qkuh View Post
Did you reverse it? If not I would not rely on that. Just watch for differences. Easiest way to get packet structures.
Not reversed but based on database structure. We all know how lazy joymax is...
I wouldn't rely on that either but it would be the best method for him to use since it changes the packet length.
Monitoring is the key here.
DaxterSoul is offline  
Old 02/26/2014, 12:47   #12
 
elite*gold: 1000
Join Date: Apr 2012
Posts: 1,003
Received Thanks: 208
Okay, fine!
qkuh is offline  
Old 02/26/2014, 16:11   #13
 
elite*gold: 85
Join Date: Feb 2014
Posts: 1,030
Received Thanks: 1,579
Just saw this post. This stuff below is taken from somewhere else.. don't remember where but LastThief sent it to me before.

Quote:
//Opcode: 0x3013
//Name: SERVER_AGENT_CHARACTER_DATA
//Description:
//Encryption: false
//Massive: false
public const ushort SERVER_AGENT_CHARACTER_DATA = 0x3013;
// 4 uint *unk00
// 4 uint RefObjID
// 1 byte Scale
// 1 byte Level
// 1 byte MaxLevel
// 8 ulong ExpOffset
// 4 uint SExpOffset
// 8 ulong RemainGold
// 4 uint RemainSkillPoint
// 2 ushort RemainStatPoint
// 1 byte RemainHwanCount
// 4 uint GatheredExpPoint (Use?)
// 4 uint HP
// 4 uint MP
// 1 byte AutoInverstExp(1 = Beginner Icon, 2 = Helpful, 3 = Beginner&Helpful)
// 1 byte DailyPK
// 2 ushort TotalPK
// 4 uint PKPenaltyPoint
// 1 byte HwanLevel
// 1 byte *unk01 -> Check for != 0
// 1 byte Inventory.Size
// 1 byte Inventory.Items.Count
// foreach(InventoryItem)
// {
// *** VISIT PRIVAT_INVENTORY ***
// }
//
// 1 byte Character.AvatarInventory.Size
// 1 byte Character.AvatarInventory.Items.Count
// foreach(AvatarItem)
// {
// *** VISIT PRIVAT_INVENTORY ***
// }
//
// 1 byte unk03 -> Check for != 0 (MaskFlag?)
//
// 1 byte MasteryFlag [0 = done, 1 = Mastery]
// while(MasteryFlag = 1)
// {
// 4 uint Mastery.ID
// 1 byte Mastery.Level
//
// 1 byte MasterFlag (0 = done, 1 = Mastery)
// }
//
// 1 byte SkillFlag [0 = done, 1 = Skill]
// while(SkillFlag = 1)
// {
// 4 uint Skill.ID
// 1 byte Skill.Enable
//
// 1 byte SkillFlag (0 = done, 1 = Skill)
// }
//
// 2 ushort CompletedQuestCount
// foreach(CompletedQuet)
// {
// 4 uint RefQuestID
// }
// 1 byte ActiveQuestCount
// foreach(ActiveQuest)
// {
// 4 uint Quest.ID
// 1 byte Quest.AchievementCount (Repetition Amount = Bit && Completetion Amount = Bit)
// 1 byte Quest.*unk04 -> Check for != 0
// 1 byte Quest.Type (8 = , 24 = , 88 = )
// 1 byte Quest.Status (1 = Untouched, 7 = Started, 8 = Complete)
// 1 byte Quest.ObjectiveCount
// foreach(Objective)
// {
// 1 byte Objective.ID
// 1 byte Objective.Status (00 = done, 01 = incomplete)
// 2 ushort Objective.Name.Length
// * string Objective.Name
// 1 byte Objective.TaskCount
// foreach(ObjectiveTask)
// {
// 4 uint Task.Value (=> Killed monsters; Collected items)
// }
// }
// if(Quest.Type == 88)
// {
// 1 byte Quest.TaskCount
// foreach(QuestTask)
// {
// 4 uint RefObjID (=> NPCs to deliver to, when complete you get reward)
// }
// }
// }
//
// 1 byte *unk05 -> Check for != 0
// 4 ushort *unk06 -> Check for != 0
//
// 4 uint UniqueID
// 4 ushort RegionID (=> XSec; YSec)
// 4 float XOffset
// 4 float ZOffset
// 4 float YOffset
// 1 byte DestinationFlag
// 1 byte MovementType(0 = Walking, 1 = Running)
// if(DestinationFlag)
// {
// 1 byte DestXSec
// 1 byte DestYSec
// 2 ushort DestX
// 2 ushort DestZ
// 2 ushort DestY
// }
// else
// {
// 1 byte SourceFlag (1 = Sky-/ArrowKey-walking)
// 2 ushort Angle
// }
// 1 byte StateFlag(1 = Alive, 2 = Dead)
// 1 byte *unk07 -> Check for != 0
// 1 byte Action (0 = None, 2 = Walking, 3 = Running, 4 = Sitting)
// 1 byte Status(0 = None,2 = ??*@GrowthPet*, 3 = Invincible, 4 = Invisible)
// 4 float WalkSpeed
// 4 float RunSpeed
// 4 float HwanSpeed
// 1 byte ActiveBuffCount
// foreach(ActiveBuff)
// {
// RefSkillID
// TimedJobID
// if(RefSkill.Param2 is 1701213281 -> atfe -> "auto transfer effect" like Recovery Division)
// {
// 1 byte Creator
// }
// }
//
// 2 ushort Name.Length
// * string Name
// 2 ushort JobName.Length
// * string JobName
// 1 byte JobType (0 = None, 1 = Trader, 2 = Tief, 3 = Hunter)
// 1 byte JobLevel
// 4 uint JobExp
// 4 uint JobContribution
// 4 uint JobReward
// 1 byte *unk08 -> Check for != 0 (According to Spawn structure => MurderFlag?)
// 1 byte *unk09 -> Check for != 0 (According to Spawn structure => RideFlag or AttackFlag?)
// 1 byte *unk10 -> Check for != 0 (According to Spawn structure => EquipmentCountdown?)
// 1 byte PK Flag(255 = Disable, 34 = Enable)
// 8 ulong *unk11
// 4 uint JID (=> GameAccountID)
// 1 byte GMFlag
// 1 byte *unk12
// 1 byte HotkeyCount
// foreach(Hotkey)
// {
// 1 byte SlotSeq
// 1 byte SlotType(37 = COS Command, 70 = InventoryItem, 71 = EquipedItem, 73 = Skill, 74 = Action, 78 = EquipedAvatar)
// 4 uint Data
// }
// 1 byte HP Slot (FValue * 10 + Slot)
// 1 byte HP Value (Enabled = 128 + Value)
// 1 byte MP Slot(FValue * 10 + Slot)
// 1 byte MP Value(Enabled = 128 + Value)
// 1 byte Universal Slot (Enabled = 128 + Value)
// 1 byte Universal Value(Enabled = 128,0 = Disabled)
// 1 byte Potion Delay(Enabled = 128 + Value)
//
// 1 byte BlockedPlayCount
//
// foreach(BlockedPlayer)
// {
// 2 ushort TargetName.Length
// * string TargetName
// }
// 4 uint *unk13
// 1 byte *unk14
Royalblade* is offline  
Old 02/26/2014, 17:58   #14
 
elite*gold: 0
Join Date: Jan 2009
Posts: 215
Received Thanks: 419
Well you can just view the original from my wiki
DaxterSoul is offline  
Thanks
1 User
Old 02/27/2014, 02:41   #15
 
elite*gold: 0
Join Date: Apr 2007
Posts: 54
Received Thanks: 4
Quote:
Originally Posted by Demonsc View Post
Sorry to hijack this post buts it hard finding experience members in what you guys are able to do with ur coding abilties lol.
Someone please tell me how you guys started learning all this lol... I know basic coding, how do i learn about packets, and what you guys can do when it comes to modifying other game clients? Any help would be greatly appreciated, i love coding.
bump?


Demonsc is offline  
Reply



« [Help][C#]Regarding packets. | Fortress Item Bug »

Similar Threads
about 3013 Opcode
04/14/2013 - SRO Coding Corner - 12 Replies
Hey People, I am trying to make few tools with autoit for vsro. So, one think I am trying to build is, auto elixirs finder in it, to get info from inventory I use 3013 Op code with data string. I successfully found correct IDs of elixirs,...
Help with 0x3019, 0x3015 Packets - Items Part
02/09/2013 - SRO Coding Corner - 4 Replies
I need help with items spawn packets i have these items code 0F000000 96D3E500 30 5A 5B45E943 76325844 59739744 9E4B 00 00 0F000000 A1B6EE00 6C 6B AA022C44 00003443 62671143 6684 01 FFFFFFFF 0006 88B6EE00 i wanna know what 00 00...
Problem with 3013 Packet (Inventory)
10/17/2012 - SRO Coding Corner - 16 Replies
Hi , i'm Analyzing Silkroad OPcode 3013 (for Inv. items and skills etc) and have problem , which is making function to read the Inv. items. i know that every item have its details " can read the items but if have same type (details)". but if have...
[rSro] 3013 Char Data
07/03/2011 - SRO Coding Corner - 4 Replies
Hi, i try parse quests... i parse a bit, but i stuck somewhere QuestCount ForEach Quest //Parse Quest
Lineage 2 gracia part 2 walker Packet error(in walker cant enchnat)
11/22/2008 - Lineage 2 - 4 Replies
I done walker for my server chinese option etc., english skils and other but when i'm in some town i get packet error or i cant talk with npc i talk with gatekeper teleport and nothing more? all npc only 1 dialog support magic - suport nothing more...



All times are GMT +2. The time now is 14:41.


Powered by vBulletin®
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Abuse
Copyright ©2018 elitepvpers All Rights Reserved.