terça-feira, 23 de agosto de 2011

SCRIPT LSL DOADOR DE OBJETOS DAS CAIXAS

list gInventoryList;

list getInventoryList()
{
integer i;
integer j;
integer n = llGetInventoryNumber(INVENTORY_ALL);
list result = [];
string msg = "";

for( i = 0; i < n; i++ ) {
if (llGetInventoryName(INVENTORY_ALL, i) != llGetScriptName()) {
for (j = 0; j < n; j++) {
msg += "|";
}
llSetText("Unpacking...\n" + msg, <0.5, 0.5, 1.0>, 1.0);
result += [ llGetInventoryName(INVENTORY_ALL, i) ];
llSleep(0.1);
}
}
return result;
}

transporter()
{
// Particles Script by Zachh Barkley
llParticleSystem([ PSYS_PART_MAX_AGE, 1.600000,
PSYS_PART_FLAGS, 259,
PSYS_PART_START_COLOR, <1.00000, 0.25000, 1.00000>,
PSYS_PART_END_COLOR, <1.00000, 1.00000, 1.00000>,
PSYS_PART_START_SCALE, <0.40000, 4.00000, 0.00000>,
PSYS_PART_END_SCALE, <0.10000, 0.10000, 0.00000>,
PSYS_SRC_PATTERN, 2,
PSYS_SRC_BURST_RATE,0.001000,
PSYS_SRC_ACCEL,<0.00000, 0.00000, 0.00000>,
PSYS_SRC_BURST_PART_COUNT,1,
PSYS_SRC_BURST_RADIUS,0.000000,
PSYS_SRC_BURST_SPEED_MIN,1.100000,
PSYS_SRC_BURST_SPEED_MAX,0.700000,
PSYS_SRC_INNERANGLE,3.141593,
PSYS_SRC_OUTERANGLE,6.283185,
PSYS_SRC_OMEGA,<0.00000, 0.00000, 0.00000>,
PSYS_SRC_MAX_AGE,0.000000,
PSYS_PART_START_ALPHA,1.000000,
PSYS_PART_END_ALPHA,1.000000,
PSYS_SRC_TEXTURE, "",
PSYS_SRC_TARGET_KEY,(key)"" ]);
}

default
{
on_rez(integer p)
{
llResetScript();
}

state_entry()
{
llSetAlpha(0.0, ALL_SIDES);
llSetText("", <1,1,1>, 1.0);

llTriggerSound("432c7407-aedd-c7c7-214f-898a24035c35", 1.0);
transporter();
llSleep(1.5);
llParticleSystem([]);
llSetAlpha(1.0, ALL_SIDES);

llSetText("Your purchase is inside.\nTouch to receive contents.", <1,1,1>, 1.0);
}

touch_start( integer n )
{
if (llGetOwner() == llDetectedKey(0)) {
integer i;

llSetText("Unpacking...", <0.6, 0.6, 1.0>, 1.0);
gInventoryList = getInventoryList();
for (i = 0; i < n; i++) {
llGiveInventoryList(llDetectedKey(i), llGetObjectName(), gInventoryList );
}
llSetAlpha(0.0, ALL_SIDES);
llTriggerSound("432c7407-aedd-c7c7-214f-898a24035c35", 1.0);
transporter();
llSleep(1.5);
llParticleSystem([]);
llDie();
}
}

changed( integer change )
{
if ( change == CHANGED_INVENTORY )
gInventoryList = getInventoryList();
}
}

SCRIPTS LSL

SCRIPT PARA VER QUEM ESTA ON LINE.

key user_key = "000000-00000-00000-0000-000000";
string status;

default
{
state_entry()
{

llSetTimerEvent(10);

}

timer()
{
llRequestAgentData( user_key, DATA_ONLINE);
}
dataserver(key queryid, string data)
{
if ( data == "1" )
{
status = " is online";

llSetText( status, <0,1,0>, 1.0);
}
else if (data == "0")
{
status = " is offline";

llSetText(status, <1,0,0>, 1.0);
}

}

}