Even when I link them all to prims that do NOT have the script and make the parent the last prim linked, if I touch an object that does NOT have a script in it, it changes the scripted textures on touch.
I don't understand how that happens. For example, in a house, I have a control box with the parent script, and all the windows have the child script. If I link the whole house, and touch a wall for example, the windows will change. (???) How can I make it so they only change if I touch the control box with the parent script in it?

//Parent Script
setLinkTexture(integer linkNumber, string textureKey, integer side) {
llMessageLinked(linkNumber, side, textureKey, "setTexture"

}
integer currentTexture;
default {
touch_start(integer totalNum) {
string textureName = llGetInventoryName(INVENTORY_TEXTURE, currentTexture);
if (textureName != ""

setLinkTexture(LINK_SET, textureName, ALL_SIDES);
integer numTextures = llGetInventoryNumber(INVENTORY_TEXTURE);
if (curTexture < numTextures) { // If we have more textures.
++curTexture; // Go to the next one.
} else {
curTexture = 0; // Go to the beginning of the list.
}
}
}
//Child Script
default {
link_message(integer sender, integer side, string textureKey, key methodName) {
if (methodName == "setTexture"

llSetTexture(textureKey, side);
}
}
}