AOS REVIVALJoin Discord
Packet ID0240x18
Audio // wire record

PlayAmbientSound

Starts the streaming ambient GameSound registered by packet 22 and supplies its playback flags, volume, time, position, and attenuation.

S→CSentLive-verifiedVariable: name + 7–16 bytes
Exact field order

Packet 24 wire layout

The first byte is the application packet ID. The rows after it appear in decode order. Sizes exclude ENet headers, the outer wrapper prefix, LZF chunk framing, and compression effects.

Packet 24 PlayAmbientSound fields in byte order
#FieldEncodingBytesPurpose
0packet_idu81Always 24 (0x18).
1nameNUL-terminated UTF-8 stringN + 1Null-terminated UTF-8/ASCII-compatible string.
2flagsu81Bit 0 looping; bit 1 positioned.
3volumesign-magnitude fixed16 LE (1/64)2volume value.
4timesign-magnitude fixed16 LE (1/64)2time value.
5loop_idu81loop id value.When: looping flag set
6position3 × fixed16 LE6X, Y, and Z components at 1/64-unit precision.When: positioned flag set
7attenuationsign-magnitude fixed16 LE (1/64)2attenuation value.When: positioned flag set
Protocol convention

How to read this layout

  • LE means least-significant byte first.
  • fixed16 is two-byte sign-magnitude at 1/64 precision.
  • orientation16 uses the measured 1/8192 orientation mapping.
  • NUL strings consume their encoded byte length plus one 00 terminator.
  • Counted arrays repeat immediately in the order shown.