AddStateBagChangeHandler("submix", "", function(bagName, _, value) local tgtId = tonumber(bagName:gsub('player:', ''), 10) if not tgtId then return end logger.info("%s had their submix set to %s", tgtId, value) -- We got an invalid submix, discard we don't care about it if value and not submixIndicies[value] then return logger.warn("Player %s applied submix %s but it isn't valid", tgtId, value) end -- we don't want to reset submix if the player is talking on the radio if not value and not radioData[tgtId] and not callData[tgtId] then logger.info("Resetting submix for player %s", tgtId) MumbleSetSubmixForServerId(tgtId, -1) return end MumbleSetSubmixForServerId(tgtId, submixIndicies[value]) end)