journal
Playback.rules.journal(journalDataMap) -> booleanReturns true when any named quest has a journal stage inside its inclusive min/max range. A missing bound is unbounded.
local InformantStages = {
A1_V_VivecInformants = { min = 50, max = 55 },
}
isValidCallback = function()
return Playback.rules.journal(InformantStages)
end
Quest IDs are the engine quest identifiers. Keep the table outside the callback so the journal cache can reuse it.
localMerchantType
Playback.rules.localMerchantType(services) -> booleanReturns true when a nearby actor offers every requested service with the requested boolean value. It does not match while the player is in combat.
Supported service keys include Apparatus, Armor, Barter, Books, Clothing, Enchanting, Ingredients, Lights, Misc, MagicItems, Repair, RepairItem, Spellmaking, Spells, Training, Travel, Picks, Potions, Probes, and Weapon.
local Armorer = {
Armor = true,
Repair = true,
}
isValidCallback = function()
return Playback.rules.localMerchantType(Armorer)
end
The rule succeeds on the first nearby actor satisfying all entries. In a cell with several merchants, combine it with cellNameExact or cellNameMatch to avoid an overly broad match.