Пример #1
0
        public void WriteOutcoming()
        {
            BS.WriteValue(
                ParamType.UInt8, PacketId,
                ParamType.UInt16, FromPlayerId,
                ParamType.UInt16, VehicleId,
                ParamType.UInt16, LRKey,
                ParamType.UInt16, UDKey,
                ParamType.UInt16, Keys
                );

            BS.WriteNormQuat(Quaternion);

            BS.WriteValue(
                ParamType.Float, Position.X,
                ParamType.Float, Position.Y,
                ParamType.Float, Position.Z
                );

            BS.WriteVector(Velocity);
            BS.WriteUInt16((int)VehicleHealth);

            byte healthArmour = HealthArmour.SetInByte(PlayerHealth, PlayerArmour);

            BS.WriteUInt8((int)healthArmour);
            BS.WriteUInt8(WeaponId);

            if (SirenState == 1)
            {
                BS.WriteBool(true);
            }
            else
            {
                BS.WriteBool(false);
            }

            if (LandingGearState == 1)
            {
                BS.WriteBool(true);
            }
            else
            {
                BS.WriteBool(false);
            }

            // HYDRA THRUST ANGLE AND TRAILER Id
            BS.WriteBool(false);
            BS.WriteBool(false);

            int trailerId_or_thrustAngle = 0;

            BS.WriteUInt32(trailerId_or_thrustAngle);

            // TRAIN SPECIAL
            BS.WriteBool(false);
        }
Пример #2
0
        public void WriteOutcoming()
        {
            BS.WriteUInt8(PacketId);
            BS.WriteUInt16(FromPlayerId);
            if (LRKey != 0)
            {
                BS.WriteBool(true);
                BS.WriteUInt16(LRKey);
            }
            else
            {
                BS.WriteBool(false);
            }

            if (UDKey != 0)
            {
                BS.WriteBool(true);
                BS.WriteUInt16(UDKey);
            }
            else
            {
                BS.WriteBool(false);
            }

            BS.WriteValue(
                ParamType.UInt16, Keys,
                ParamType.Float, Position.X,
                ParamType.Float, Position.Y,
                ParamType.Float, Position.Z
                );

            BS.WriteNormQuat(Quaternion);

            byte healthArmourByte = HealthArmour.SetInByte(Health, Armour);

            BS.WriteValue(
                ParamType.UInt8, (int)healthArmourByte,
                ParamType.UInt8, WeaponId,
                ParamType.UInt8, SpecialAction
                );
            BS.WriteVector(Velocity);
            if (SurfingVehicleId != 0)
            {
                BS.WriteValue(
                    ParamType.Bool, true,
                    ParamType.UInt8, SurfingVehicleId,
                    ParamType.Float, SurfingOffsets.X,
                    ParamType.Float, SurfingOffsets.Y,
                    ParamType.Float, SurfingOffsets.Z
                    );
            }
            else
            {
                BS.WriteBool(false);
            }

            if (AnimationId != 0)
            {
                BS.WriteBool(true);
                BS.WriteInt32(AnimationId);
            }
            else
            {
                BS.WriteBool(false);
            }
        }