roo7
Member-
Posts
12 -
Joined
-
Last visited
Reputation
0 NeutralPersonal Information
-
Location
Austria, Lichtenberg
-
An example is not using PacketWriter. It just shows an imported packet structure from another source that doesn't work either. Using the PackteWriter I have same result public override byte[] Encode() { Console.WriteLine("Sending MsgPlayer packet"); string name = "Pheasant"; var writer = new PacketWriter(); writer.Write((ushort)1014); //PacketType.MsgPlayer);// 2 - packet type uint newId = (uint)new Random().Next(200000, 600000); writer.Write(newId); // 4 - UID writer.Write(104); //Pheasant 8 - MODEL writer.Write((uint)0); // character status // 12 - STATUS FLAG //guild writer.Write((ushort)0); // Guild // 16 - GuildID writer.Write((byte)0); // // 18 ?? writer.Write((byte)0); // guild rank // 19 - guild position //items writer.Write((uint)0); // 20 - left writer.Write((uint)0); // 24 - right writer.Write((uint)0); // 28 - arrmor writer.Write((uint)0); // 32 - head //unknown? writer.Write((uint)0); // 36 // hp writer.Write((ushort)33); // 40 - hitpoints writer.Write((ushort)1); // 42 - level //cords writer.Write((ushort)65); // 44 - X writer.Write((ushort)105); //46 - Y //hairstyle writer.Write((ushort)0); // 48 - Hairstyle writer.Write((byte)3); // direction // 50 - facinng angle writer.Write((byte)100); // 51 - action //writer.Write((byte)1); // 52 - How many strings? //writer.Write(name);// Legth + 53 // name = 54 + 8 = 62 writer.Write(new List<string>{ name }); return writer.ToArray(); } Length:62 0000: 3E 00 F6 03 B6 0B 06 00 68 00 00 00 00 00 00 00 | >.......h....... | 0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0020: 00 00 00 00 00 00 00 00 21 00 01 00 41 00 69 00 | ........!...A.i. | 0030: 00 00 03 64 01 08 50 68 65 61 73 61 6E 74 | ...d..Pheasant |
-
I have tried different names / UID / Mesh ... about every value that I could change in all kinds of combinations. Have tried spawn monster. @Spirited Edit: patch - 4274 Hey man. Can you help me with the monster spawn packet? I can't seem to find the right packet structure to spawn one on the screen. I tried to copy CoFuture4267/RedemptionCo 1014 structure but no cookie. I have tried to brute-force some random packet sizes and values aswell. short packetL = 0x39;//(short)new Random().Next(54, 70); string name = "Pheasant"; PacketBuilder Packet = new PacketBuilder(new byte[packetL + name.Length]); Packet.WriteUInt16(packetL + name.Length); Packet.WriteUInt16(1014); Packet.WriteUInt32((uint)new Random().Next(1000, 90000)); Packet.WriteUInt32(104); Packet.WriteUInt32(0); Packet.WriteUInt32(0); Packet.WriteUInt32(0); Packet.WriteUInt32(0); Packet.WriteUInt32(0); Packet.WriteUInt32(0); Packet.WriteUInt32(0); Packet.WriteUInt16(33); Packet.WriteUInt16(1); Packet.WriteUInt16(character.X); Packet.WriteUInt16(character.Y); Packet.WriteUInt16(0); Packet.WriteByte(7); Packet.WriteByte(100); Packet.WriteByte(1); Packet.WriteStringWithLength(name); return Packet.Packet;
-
I have tried different names / UID / Mesh ... about every value that I could change in all kinds of combinations. Have tried spawn monster.
-
Im passing Clients ( the one Im playing) coords to that packet - birth village. They do match and are set. As for offsets.. have tested most publicly available. P.S I haven't actually changed anything in code. Just added nonworking MsgPlayer.cs file.
-
writer.Write(this.CharacterName); // 53 For some reason does. Have to check how that happens Sadly bypassing that issue does not fix spawn ether. 0000: 3A 00 F6 03 15 58 0F 00 AB BA 06 00 00 00 00 00 | :....X.......... | 0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0020: 00 00 00 00 00 00 00 00 31 03 00 00 3D 00 6D 00 | ........1...=.m. | 0030: 67 02 01 64 01 04 72 6F 6F 39 | g..d..roo9 |
-
0000: 3B 00 F6 03 F5 32 F9 41 AB BA 06 00 00 00 00 00 | ;....2.A........ | 0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ | 0020: 00 00 00 00 00 00 00 00 3E 01 01 00 3D 00 6D 00 | ........>...=.m. | 0030: 67 02 01 64 01 04 04 72 6F 6F 37 | g..d...roo7 |
-
Name thing did not change a thing. Yea... comments could be wrong since I'm struggling with issue for days now and have done things - like packet length checks, copy/paste Packetbuilders/ packet structures from other sources. Its just like I'm missing something obvious. Found this old link ( from you know what forum ). Dude had same issue, but hes answer / resolve did not click with me.
-
Did not know that. Thanks. Path is 4274. And I see or get nothing. No wierdness or anything. Console output and breakpoints. I call this purely by testing purposes case ActionType.MapJump: await client.SendAsync(new MsgPlayer(client.Character)); break; I did same for MsgMapItem and MsgNpcInfo and worked just fine.
-
Can I ask direct question about why what I'm trying to do - does not work? It should make copy of me right with dif id? https://pastebin.com/NZMi51SP.
-
As I'm working with 4274. Does it have some packet structure as 4267? Then I could use CoFuture 4267 as references for packet structure. I'm having issue to send MsgPlayer packet to players. Wiki does not hold info for older versions of packets. Any pointer to right direction were to look would be appreciated.
-
heh ... this made me so happy. That was how I did it, but didn't know about ConcurrentDictionary. Async tasks and C# are still ... new thing for me. Thanks a bunch for replaying. I feel bad for asking questions. Btw: Your "How to start".. does not mention how important is to name your server (in client ) with same name as in source. But that might be issue only for "newbies".
-
Hello there. I have one question. How do I access all connected Clients. Do I have to create new List with logged users and manage it that way? And is there a "right way" to do it.