The picture frame contains just one script that sends a link message to the root primitive main script requesting a texture and then displays the texture by UUID once the root main script sends a linked message back.
Ideally, the most basic operation of a picture frame in SL is to allow the user to drag and drop a picture onto the picture frame manually. However, since the entire build is completely attached to the avatar, even the wearing avatar is unable to drag and drop a picture such that the system of sending messages back and forth from the picture frame and the root has been chosen as the preferred way of operation.
/////////////////////////////////////////////////////////////////////////// // Copyright (C) Wizardry and Steamworks 2022 - License: GNU GPLv3 // /////////////////////////////////////////////////////////////////////////// default { link_message(integer sender, integer num, string str, key id) { if(str == "display") { llSetTexture(id, ALL_SIDES); return; } } touch_start(integer num) { if(llDetectedKey(0) != llGetOwner()) { return; } llMessageLinked(LINK_SET, 0, "image", NULL_KEY); } attach(key id) { llResetScript(); } }