I've not gotten into LSL scripting very much, but I've been trying to figure out how to get a whole bunch of ungrouped prims to work together for this giant pinball machine. (Grouping won't be possible since this will definitely span the 40 meter limit.)
I was hoping to have some master script that controls all objects across the table, so that various things like flashing lights, moving gates, score monitoring, multiball, and so forth can all be coordinated from one main script.
Except I do not see how to use llSetPrimitiveParams() to set the parameters of a given prim. I assume I need to pass the key of the prim I want to modify to the function, which will then send the command to the prim, but I don't see anything in the wiki on how to pass a key to llsetprimitiveparams.
I also assume that for a target prim to accept the change, it just needs the correct group or owner modify permissions to receive the change command from the originator prim, and probably also be in the same sim as the originator.
Or is this llSetPrimitiveParams only able to operate on the prim which contains the script?
If so, that is going to make this ridiculously more complicated. Every single light, bumper, kicker, switch, and so forth across the table would need its own listening script, waiting on various channels for commands to change its own shape or texture or whatever. A complete table could require a hundred or more separate listener scripts waiting for commands.