Fix movement (client->server) packets

This commit is contained in:
KimLS 2024-11-20 20:31:32 -08:00
parent ebb657153a
commit 63331b678b
3 changed files with 15 additions and 17 deletions

View File

@ -263,17 +263,15 @@ namespace Larion {
/*04*/ float x; /*04*/ float x;
/*08*/ float z; /*08*/ float z;
/*12*/ signed animation : 10; /*12*/ signed animation : 10;
signed padding1 : 22; unsigned pitch : 12;
/*16*/ unsigned pitch : 12; signed padding1 : 10;
signed padding2 : 20; /*16*/ float delta_y;
/*20*/ float delta_y; /*20*/ float y;
/*24*/ float y; /*24*/ signed delta_heading : 10;
/*28*/ signed delta_heading : 10; signed heading : 12;
signed padding3 : 22; signed padding2 : 10;
/*32*/ signed heading : 12; /*28*/ float delta_z;
signed padding4 : 20; /*32*/
/*36*/ float delta_z;
/*40*/
}; };
struct PlayerPositionUpdateServer_Struct struct PlayerPositionUpdateServer_Struct
@ -289,7 +287,7 @@ namespace Larion {
/*02*/ uint16 spawn_id; /*02*/ uint16 spawn_id;
/*04*/ uint16 vehicle_id; /*04*/ uint16 vehicle_id;
/*06*/ Client_Position position; /*06*/ Client_Position position;
/*46*/ /*38*/
}; };
struct Door_Struct struct Door_Struct

View File

@ -176,10 +176,10 @@ namespace StreamParser.Common.Daybreak
case Opcode.SessionResponse: case Opcode.SessionResponse:
if (_connect_code == 0) if (_connect_code == 0)
{ {
if(data.Length != 21) //if(data.Length != 21)
{ //{
return; // return;
} //}
_connect_code = BitConverter.ToUInt32(data.Slice(2, 4)); _connect_code = BitConverter.ToUInt32(data.Slice(2, 4));
_encode_key = IPAddress.NetworkToHostOrder(BitConverter.ToInt32(data.Slice(6, 4))); _encode_key = IPAddress.NetworkToHostOrder(BitConverter.ToInt32(data.Slice(6, 4)));

View File

@ -47,7 +47,7 @@ namespace StreamParser.Common.Daybreak
private void OnPacketCapture(object sender, PacketCapture capture) private void OnPacketCapture(object sender, PacketCapture capture)
{ {
var raw = capture.GetPacket(); var raw = capture.GetPacket();
if (raw.LinkLayerType == PacketDotNet.LinkLayers.Ethernet) if (raw.LinkLayerType == PacketDotNet.LinkLayers.Ethernet || raw.LinkLayerType == PacketDotNet.LinkLayers.Null)
{ {
var packet = PacketDotNet.Packet.ParsePacket(raw.LinkLayerType, raw.Data); var packet = PacketDotNet.Packet.ParsePacket(raw.LinkLayerType, raw.Data);
var ipPacket = packet.Extract<PacketDotNet.IPv4Packet>(); var ipPacket = packet.Extract<PacketDotNet.IPv4Packet>();