rendered paste body// Texture Changer with pre-load by Omei Qunhua
integer texture_index = 0;
integer texture_count;
show_texture (integer side, integer j, integer show)
{
j = j % texture_count; // Adjust the index into the viable range
llSay(0, (string) j );
string texture_name = llGetInventoryName(INVENTORY_TEXTURE, j);
llSetLinkTexture(1,texture_name, side);
if (show) llSay(0, (string) j + " " + texture_name);
}
default
{
state_entry()
{
texture_count = llGetInventoryNumber(INVENTORY_TEXTURE);
texture_index = texture_count * 99000000; // Ensure index doesn't go negative
show_texture (ALL_SIDES, texture_index, TRUE);
}
touch_start(integer total_number)
{
integer selectedprim = llDetectedLinkNumber(0);
if (selectedprim == 3) --texture_index; // Back button
if (selectedprim == 2) ++texture_index; // Next button
show_texture (ALL_SIDES, texture_index, TRUE);
show_texture (1, texture_index - 1, FALSE); // Show previous texture on a hidden face
show_texture (2, texture_index + 1, FALSE); // Show next texture on another hidden face
}
changed(integer change)
{
if (change & CHANGED_INVENTORY) llResetScript();
}
}