Ware house Correct Packet

06/25/2012 03:40 marlyandedsel#1
Something wrong this code... The Item has a Dragon Soul in it but when I put it in the warehouse dragon Soul cant be seen only the super one also the progress cant be seen.... I think some offset here are wrong..


PHP Code:
public class Warehouse WriterInterfaces.IPacket
    
{
        public const 
byte Entire 0AddItem 1RemoveItem 2;
        private 
byte[] buffer;
        public 
Warehouse(bool Create)
        {
            if (
Create)
            {
                
buffer = new byte[32];
                
WriteUInt16(240buffer);
                
WriteUInt16(11022buffer);
            }
        }
        public 
uint NpcID
        
{
            
get { return BitConverter.ToUInt32(buffer4); }
            
set WriteUInt32(value4buffer); }
        }
        public 
byte Type
        
{
            
get { return buffer[8];}
            
set buffer[8] = value; }
        }
        public 
uint Count
        
{
            
get { return BitConverter.ToUInt32(buffer20); }
            
set
            
{
                if (
value 20)
                    throw new 
Exception("Invalid Count value.");
                
byte[] Buffer = new byte[24 + (72 value)];
                
WriteUInt16((ushort)(Buffer.Length 8), 0Buffer);
                
WriteUInt16(11022Buffer);
                
WriteUInt32(NpcID4Buffer);
                
WriteUInt32(Type8Buffer);
                
Buffer[9] = buffer[9];
                
WriteUInt32(value20Buffer);
                
buffer Buffer;
            }
        }
        public 
uint UID
        
{
            
get { return BitConverter.ToUInt32(buffer16); }
            
set WriteUInt32(value16buffer); }
        }
        public 
void Append(Interfaces.IConquerItem item)
        {
            
WriteUInt32(item.UID24buffer);
            
WriteUInt32(item.ID28buffer);
            
WriteByte((byte)item.SocketOne33buffer);
            
WriteByte((byte)item.SocketTwo34buffer);
            
WriteByte(item.Plus41buffer);
            
WriteByte(item.Bless42buffer);
            
WriteByte((byte)(item.Bound == true 0), 43buffer);
            
WriteUInt16(item.Enchant44buffer);
            
WriteUInt16((ushort)item.Effect46buffer);
            
WriteByte(item.Lock48buffer);
            
WriteByte((byte)(item.Suspicious == true 0), 49buffer);
            
WriteByte((byte)item.Color51buffer);
            
WriteUInt32(item.SocketProgress52buffer);
            
WriteUInt32(item.PlusProgress56buffer);
        }
        public 
byte[] ToArray()
        {
            return 
buffer;
        }
        public 
void Deserialize(byte[] buffer)
        {
            
this.buffer buffer;
        }
        public 
void Send(Client.GameState client)
        {
            
client.Send(buffer);
        }
    } 
Thanks in advance for those who will give me the clue or solution on this.
06/25/2012 04:28 Zeroxelli#2
What source and client version?
06/25/2012 05:00 marlyandedsel#3
5518+

5518+ Impulse
06/25/2012 05:26 shadowman123#4
WriteUInt32(item.SocketProgress, 52, buffer);
WriteUInt32(item.PlusProgress, 56, buffer);

Are Ignored By Server so they r useless Delete them
06/25/2012 06:40 marlyandedsel#5
ok... I have delted them... but are the offset are just fine?
06/25/2012 06:47 Zeroxelli#6
Not sure how souls actually work in 5518, but isn't the staticID set to that of the soul?
06/25/2012 07:21 shadowman123#7
Well You cant see the Item Purified in the WareHouse Cuz its offsets hasnt been added to the Append void .. thats y .. and Socket progress / Plus Progresses Are Ignored As i Said

So what we need to find :-

1 - Stack Size of items inside WareHouse
2 - Item Effect
3 - PurificationItemID

I got the Item Effect / Stack Size but for Purification ItemID i Tried Alot of values but it didnt work

If i had packet Sniffer i'd have Got it so easily
06/25/2012 07:29 marlyandedsel#8
ohh... me to..
06/25/2012 08:32 Zeroxelli#9
If the item displays the soul correctly after being purified, then you should already have the PurificationItemID. If not, store the real ItemID before purification, and then subtract it from the new ItemID. Though that's unnecessary since you should have the PurificationItemID regardless.
06/25/2012 09:11 shadowman123#10
Quote:
Originally Posted by Zeroxelli View Post
If the item displays the soul correctly after being purified, then you should already have the PurificationItemID. If not, store the real ItemID before purification, and then subtract it from the new ItemID. Though that's unnecessary since you should have the PurificationItemID regardless.
well The Item Displays the Soul Correctly after being Purified .. So the Proble isnt from PuficiationItemID ( it has a value ) .. but the main problem is i dont know whats the offset Represent PuyrificationItemID .. So once i know that the problem would be Solved
06/25/2012 09:14 Zeroxelli#11
Quote:
Originally Posted by shadowman123 View Post
well The Item Displays the Soul Correctly after being Purified .. So the Proble isnt from PuficiationItemID ( it has a value ) .. but the main problem is i dont know whats the offset Represent PuyrificationItemID .. So once i know that the problem would be Solved
Just input it in every offset until it works. ;)
06/25/2012 09:36 shadowman123#12
Quote:
Originally Posted by Zeroxelli View Post
Just input it in every offset until it works. ;)
Tried Alot And ill keep Doing till i get Valid offset