There is a SetActivated statement that is in the global.lua script that does such this thing.
function SetActivated(e,v)
g_Entity[e]['activated'] = v
SendMessageI("setactivated",e,v);
end
The way I am thinking about this command is that you would set up variables for the ifused objects you wanted and then the SetActivated to switch them out for you.
Having a way for the player to activate these either by triggerzone or object range might just do it.
You would need to take this to the script board with the idea, and I am sure one of the Guru's there can point you in the right direction.
Looking in the global.lua file again I spotted the Direct Call LUA commands at the bottom.
SetEntityActive: SetEntityActive ( e, active flag ) -- Sets the entity data directly, e is entity index
SetEntityActivated: SetEntityActivated ( e, activated flag ) -- Sets the entity data directly, e is entity index
SetEntityCollected: SetEntityCollected ( e, collected flag ) -- Sets the entity data directly, e is entity index
SetEntityHasKey : SetEntityHasKey ( e, haskey flag ) -- Sets the entity data directly, e is entity index
GetEntityVisibility : vis = GetEntityVisibility ( e ) -- where e is the entity number and return vis (0-hidden,1-shown)
These might make it even easier. I would talk with the coders, and I will move this thread to the scriptboard, where I believe it will get the attention it needs.
Would be easier to have these set in the properties panel, but I feel that it would start getting pretty cluttered with all the things users would like to see there, like textures, and other sounds, videos, decals, particle, then what are provided.
Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz, 2400 Mhz, 4 Core(s), 4 Logical Processor(s), 8gb RAM, Nvidia gtx660, Windows 7 Pro 64bit, Screen resolution 1680 x 1050.