Global script
local types = require('openmw.types')
local I = require('openmw.interfaces')
local core = require('openmw.core')
local world = require('openmw.world')
local async = require('openmw.async')
I.Activation.addHandlerForType( types.Door, -- or addHandlerForObject if you need it only for one specific container
async:callback(function(door, actor)
if types.Door.isLocked(door) then return end
local item = types.Miscellaneous.records[math.random(1,#types.Miscellaneous.records)]
types.Door.setKeyRecord(door, item.id)
types.Door.lock(door,50)
print(types.Door.getKeyRecord(door).name)
world.createObject(item.id,1):moveInto(types.Actor.inventory(actor))
return false
end))