
Billboard Hider 1.0
-----
Instructions:
Create a new prim and place it over the billboard you wish to hide and resize it to fit over it and give it a name. Like BillboardHider or something (you may texture it if needed). Then copy the coordinates X Y and Z and paste them into the BBHider script in the following line...
vector location = <132.901,15.450,40.573>;
Now put the BBHider script in the prim and take it to your inventory. Create another new prim and put the BBRezer Script inside it. Open the BBRezer script and change the names in the following lines...
string FULLNAME = "Firstname Lastname"; <----- Persons name you wish to scan for.
string LASTNAME = "Linden"; <----- Other people you wish to scan for who share the same last name.
string PRIMNAME = "BillboardHider"; <----- The name of the Object you plan to rez that will hide the billboards.
integer sensorDistance = 96; <----- The sensor range in meters.
Now your ready to activate the billboard hider. Just click on the rezzer prim and it will rez the hider and send it to the coordinates of the billboard. The rezzer will then repeat a 5 second sensor timer to track the people you listed within its range. When those people come in range the rezzer will tell the hider to delete itself. It will not spawn a new hider untill it no longer sees those people in its range. Your Done now. Just make sure not to get in trouble.

BBRezer Script
CODE
string FULLNAME = "Firstname Lastname";
string LASTNAME = "Linden";
string PRIMNAME = "BillboardHider";
integer sensorDistance = 96;
string avFirstName;
string avLastName;
string avTarget;
string avName;
integer power;
integer mode;
default
{
state_entry()
{
power = FALSE;
mode = FALSE;
}
touch_start(integer total_number)
{
if(llDetectedKey(0) == llGetOwner())
{
if(!power)
{
llSetTimerEvent(5);
llOwnerSay("On");
llSensor("", NULL_KEY, AGENT, sensorDistance, PI);
power = TRUE;
}
else
{
llSetTimerEvent(0);
llOwnerSay("Off");
power = FALSE;
}
}
}
on_rez( integer startcode )
{
llResetScript();
}
link_message(integer sender_num, integer num, string message, key id)
{
if(message == "Nothing")
{
mode = FALSE;
llSensorRemove();
llRezObject(PRIMNAME,llGetPos(),<0,0,0>,ZERO_ROTATION,1);
}
if(message == "Found")
{
mode = FALSE;
llSensorRemove();
}
if(message == "check")
{
mode = TRUE;
llSensorRemove();
llSensor(PRIMNAME, NULL_KEY, ACTIVE + SCRIPTED + PASSIVE, sensorDistance, PI);
}
}
no_sensor()
{
if(!mode)
{
}
else
{
llMessageLinked(LINK_SET,0,"Nothing",NULL_KEY);
}
}
sensor(integer total_number)
{
if(!mode)
{
integer i = 1;
vector pos;
rotation rot;
if (llSubStringIndex(llToLower(llDetectedName(i)), avTarget) >= 0 && llDetectedKey(i) != llGetOwner())
{
avName = llDetectedName(i);
avFirstName = llGetSubString(avName, 0, llSubStringIndex(avName," ") - 1);
avLastName = llGetSubString(avName, llSubStringIndex(avName," ") + 1, llStringLength(avName));
if ((avName == FULLNAME)||(avLastName == LASTNAME))
{
llShout(5000,"DR");
}
else
{
llMessageLinked(LINK_SET,0,"check",NULL_KEY);
}
}
}
else
{
llMessageLinked(LINK_SET,0,"Found",NULL_KEY);
}
}
timer()
{
llSensor("", NULL_KEY, AGENT, sensorDistance, PI);
}
}
BBHider Script
CODE
vector location = <132.901,15.450,40.573>;
default
{
on_rez( integer startcode )
{
llResetScript();
}
state_entry()
{
llListen(5000,"","","");
vector pos = llGetPos();
while (pos != location)
{
llSetPos(location);
pos = llGetPos();
}
}
listen( integer channel, string name, key id, string message )
{
if(llGetOwnerKey(id) == llGetOwner())
{
if( message == "DR" )
{
llDie();
}
}
}
}