http://www.gamesas.com/index.php?/topic/1091638-wipz-formulatoresm/ needs fully-descriptive keys for a reliable cloneform database. Since you added the ability to read all the checkboxes on spell records in 0019, I'm set for vanilla effects.
But meanwhile, OBME compatibility is a top priority and http://www.gamesas.com/index.php?/topic/1116501-relz-oblivion-magic-extender-v10/page__view__findpost__p__16633850 for multiple reasons related to the (good for other purposes) design of OBME's relevant commands. This would fix it from top to bottom.
Having a core-OBSE version of the command is not essential for me, but the efficiency issues are definitely worth considering, and on a more petty level it would save me needing two completely different key generation functions.
Ok. How much info do you need? Currently you get:
effect code, range, area, duration, magnitude, cost, name, plus 'seff' containing script effect info if present: script, school, visual effect code, hostility.
Anything else you need from it?
Grrrr. I wondered about that. I saw that it returned the Object ID, but I've always seen the results stored in a reference... So I don't imagine there'd be any way to get a reference to these objects then? I might wind up with zero radii for some items... Most are vanilla, but I need to be prepared for custom objects as well. They are 3D, in-game representations, but they aren't static objects.
It's correct to store the results in a reference variable. It's more than a little confusing that a 'reference' variable type can be used to store non-reference objects but that's the way the scripting language works.
You cannot get actual references to items in inventories - they don't exist in the gameworld so they don't have location, 3D data, etc.
OBSE has 'inventory references' which let you treat inventory items sort of like real references, but they will not be useful here (again, no associated 3D data).