Skip to content

AGENT_ENTITY_MOVEMENT

Engels Quintero edited this page Dec 3, 2022 · 3 revisions

REQUEST

0x7021 - CLIENT_AGENT_ENTITY_MOVEMENT_REQUEST

1   byte    unkByte0 // Always 1
1   ushort  movement.RegionID
if(movement.RegionID & 0x8000) // IsDungeon
{
    4   int     movement.PosX
    4   int     movement.PosY
    4   int     movement.PosZ
}
else
{
    2   short   movement.PosX
    2   short   movement.PosY
    2   short   movement.PosZ
}

RESPONSE

0xB021 - SERVER_AGENT_ENTITY_MOVEMENT_RESPONSE

4   uint    entity.UniqueID
1   byte    entity.HasDestination
if( entity.HasDestination )
{
    2   ushort  Dst.RegionID
    if(Dst.RegionID & 0x8000) // IsDungeon
    {
        4   int     Dst.PosX
        4   int     Dst.PosY
        4   int     Dst.PosZ
    }
    else
    {
        2   short   Dst.PosX
        2   short   Dst.PosY
        2   short   Dst.PosZ
    }
}
else
{
    1   byte    keyMovement // 0 = Spinning, 1 = Walking
    2   short   Dst.Angle
}
1   byte    entity.HasSource
if( entity.HasSource )
{
    2   ushort  Src.RegionID
    if( Src.RegionID & 0x8000 ) // IsDungeon
    {
        4   int     Src.PosX // It will be shown multiplied by 10
        4   float   Src.PosY
        4   int     Src.PosZ // It will be shown multiplied by 10
    }
    else
    {
        2   short   Src.PosX // It will be shown multiplied by 10
        4   float   Src.PosY
        2   short   Src.PosZ // It will be shown multiplied by 10
    }
}
Clone this wiki locally