Function: PlayFlavor(spawn, mp3_string, text_string, emote_string, key1, key2, player, language)
Description: Allows Player/NPC to display a text bubble and/or mp3 voiceovers (with usually required key1/key2 values).
Parameters:
spawn(Spawn) - Spawn object representingspawn.mp3_string(string) - Stringmp3_string.text_string(string) - Stringtext_string.emote_string(string) - Stringemote_string.key1(int32) - Integer valuekey1.key2(int32) - Integer valuekey2.player(Spawn) - Spawn object representingplayer.language(int32) - Integer valuelanguage.
Returns: None.
Observer identity: For an explicit player recipient, the actor must be the original allocation recorded as sent to that player (or the recipient itself). Another actor with a reused runtime ID does not inherit that eligibility. Retained connection and Lua actor admission still apply.
Connection lifetime: Each player or group-member connection resolved by this function is retained through the native call. A disconnect or reconnect during a callback cannot destroy that retained connection or switch the ongoing call to a replacement. A later Lua call resolves the current connection. This does not extend the lifetime of unrelated spawn or item userdata.
Delivery lifetime: The native call retains its original source spawn, Player, connection, scene and wire context. Broadcast recipients are captured before formatting; membership readers end before codec or delivery services run. A reconnect, scene/session/version change, or withdrawal/republication of the same source allocation rejects the old packet instead of following a replacement. Native queue acceptance checks the original source publication and recipient wire together; a Player source also carries its original source-player wire.
Classic-client emotes use the same captured source and recipient set, with copied animation and target-display values. Once that existing global emote operation is entered, each recipient has its own original acceptance cutoff. The initiating flavor packet is checked again after emote delivery. This does not make all recipients one atomic send, and a packet already accepted before withdrawal is not undone.