[HELP]Question regarding sending packets

04/07/2015 02:19 moadif#1
Hello EPVPers,

I've been messing around with the packets lately using the source of the plus notice clientless which works on .net, anyway...
I get most of the job done easily, but when it comes to 0x704C (Inventory item usage I believe) it starts being a bitch or my braincells are just limited but oh well, everyone been to the point where he brainstroms trying to learn something new with lots of failures, which brought me here, now my question is:

Why when I try to send a packet to use an item(global message item) it sometimes disconnects me or just doesn't do anything at all, here's what I got so far:

0x704C requires encryption which is why I set it to true, 10 is where the item is located inside the inventory(atleast what I think it is, although the item is in the first row, 4th slot from the left which means:
[1st][2nd][3rd][HERE])

237 is the decimal of ED(item mall)
29 is the item's index or something? I'm not sure
and the rest is self explanatory.

If you've found out what is possibly wrong or what I'm missing, I'd appreciate your help, cheers.
04/07/2015 11:09 tarek1500#2
try 0x10 in hex = 16 in decimal
04/07/2015 11:51 qqdev#3
Sniff the packet and post it here.
04/07/2015 16:43 moadif#4
Quote:
Originally Posted by tarek1500 View Post
try 0x10 in hex = 16 in decimal
Oh, yeah I forgot to convert it :facepalm: thanks for the heads up xD
04/07/2015 16:49 tarek1500#5
any time ;)
04/08/2015 13:21 EurybiX#6
Quote:
Originally Posted by moadif View Post
Hello EPVPers,

I've been messing around with the packets lately using the source of the plus notice clientless which works on .net, anyway...
I get most of the job done easily, but when it comes to 0x704C (Inventory item usage I believe) it starts being a bitch or my braincells are just limited but oh well, everyone been to the point where he brainstroms trying to learn something new with lots of failures, which brought me here, now my question is:

Why when I try to send a packet to use an item(global message item) it sometimes disconnects me or just doesn't do anything at all, here's what I got so far:

0x704C requires encryption which is why I set it to true, 10 is where the item is located inside the inventory(atleast what I think it is, although the item is in the first row, 4th slot from the left which means:
[1st][2nd][3rd][HERE])

237 is the decimal of ED(item mall)
29 is the item's index or something? I'm not sure
and the rest is self explanatory.

If you've found out what is possibly wrong or what I'm missing, I'd appreciate your help, cheers.


What you try to do actually? :)
04/08/2015 15:29 tarek1500#7
Use global.
04/09/2015 18:06 moadif#8
I have another question:

I noticed something today while sniffing packets and playing around, this is the packet for exchanging:
Code:
[S -> C][3080]
01                              
52 43 00 00
52 keeps changing depending on the character, so I think it's something like an ID which is assigned to the character on login (And it changes everytime).
Now my question is, is there a way to find the character name using that ID? Is there a packet I can send using that ID that could possibly return the character name?
Cheers.
04/09/2015 19:15 Devsome#9
Quote:
Originally Posted by moadif View Post
I have another question:

I noticed something today while sniffing packets and playing around, this is the packet for exchanging:
Code:
[S -> C][3080]
01                              
52 43 00 00
52 keeps changing depending on the character, so I think it's something like an ID which is assigned to the character on login (And it changes everytime).
Now my question is, is there a way to find the character name using that ID? Is there a packet I can send using that ID that could possibly return the character name?
Cheers.
Packet 0x3015 SingleSpawn

Code:
public static void SingleSpawn(byte[] data)
        {
            using (BinaryReader br = new BinaryReader(new MemoryStream(data)))
            {
                uint id = br.ReadUInt32();

                if ((id >= 1907 && id <= 1932) || (id >= 14875 && id <= 14900))
                {
                    ParsePlayer(data);
                }
                else if (Framework.Global.PK2Global.dicCharacterData.ContainsKey(id))
                {
                    if (Framework.Global.PK2Global.dicCharacterData[id].sr_name.Contains("MOB"))
                    {
                        ParseMonster(data);
                    }
                    else if (Framework.Global.PK2Global.dicCharacterData[id].sr_name.Contains("COS"))
                    {
                        ParseTransport(data);
                        OnLogMsg(
                            Framework.Global.PK2Global.dicCharacterData[id].sr_name);
                    }
                    else
                    {
                        Console.WriteLine("test");
                    }
                }
                else if (Framework.Global.PK2Global.dicItemData.ContainsKey(id))
                {
                    ParseItem(data);
                }
                else
                {
                    Console.WriteLine("test");
                }
            }
        }
04/09/2015 19:56 tarek1500#10
I think it is party related packet and I think it contains Player Unique ID.
You will use it usually at Normal Chat or Spawns etc
04/09/2015 21:25 moadif#11
edit:nevermind