Files
LSL-Scripts/HyperGrid Story Nine/Nine/Dancer Ball/Effect.lsl
Fred Beckhusen 1ec08494b4 Added files
2015-12-12 16:58:38 -06:00

104 lines
2.3 KiB
Plaintext

// :SHOW:1
// :CATEGORY:NPC
// :NAME:HyperGrid Story Nine
// :AUTHOR:Ferd Frederix
// :KEYWORDS:NPC, controller, cyber helmet
// :CREATED:2015-11-24 20:25:33
// :EDITED:2015-11-24 19:25:33
// :ID:1087
// :NUM:1836
// :REV:1.0
// :WORLD:OpenSim
// :DESCRIPTION:
// NPC helmet controller
// Accepts a single link message to make the cyber being helmet flash for a second or two.
// worn by the NPC
// :CODE:
// TUNABLES
integer debug = 0;
// GLOBALS
integer counter = 0;
// FUNCTIONS
DEBUG(string msg)
{
if (debug & 1)
llSay(0,llGetScriptName() + ":" + msg);
if (debug & 2)
llSetText(msg, <1,0,0>,1.0);
}
NpcSaySomething(){
list sayings = ["The helmet begins to glow","A beam of light appears","The helmet begins to hum","The cyberbeing helmet is activated", "bzzz", "Zap","KaPow!"];
key NpcKey = llGetOwner();
DEBUG("Owner Key = " + (string) NpcKey);
llSay(0, llList2String(sayings,counter++));
if (counter > llGetListLength(sayings)) {
counter = 0;
}
}
Go()
{
NpcSaySomething();
llSetLinkPrimitiveParamsFast(llGetLinkNumber(),[PRIM_GLOW,ALL_SIDES,.2, PRIM_SIZE, <2,2,2>,PRIM_COLOR,ALL_SIDES,<1,1,1>,0.5 ]);
llSetTimerEvent(2);
}
integer Helmet_Channel = 576;
default
{
on_rez(integer p)
{
llResetScript();
}
changed(integer what)
{
if (what & CHANGED_REGION_START)
{
llResetScript();
}
}
state_entry()
{
llSetText("", <1,0,0>,1.0);
llListenRemove(listener);
llSetTextureAnim(ANIM_ON | SMOOTH | LOOP , ALL_SIDES, 1, 1, 1.0, 1.0, 1.0);
}
link_message(integer total_number, integer Num, string text, key id)
{
if ( text =="BOOM")
Go();
}
timer()
{
llSetLinkPrimitiveParamsFast(llGetLinkNumber(),[PRIM_GLOW,ALL_SIDES,0.2, PRIM_SIZE, <1.5,1.5,1> ] );
llSleep(0.25);
llSetLinkPrimitiveParamsFast(llGetLinkNumber(),[PRIM_GLOW,ALL_SIDES,0.2, PRIM_SIZE, <1.2,1.2,1> ] );
llSetLinkPrimitiveParamsFast(llGetLinkNumber(),[PRIM_GLOW,ALL_SIDES,0, PRIM_SIZE, <1,1,1> ] );
llSleep(0.25);
llSetLinkPrimitiveParamsFast(llGetLinkNumber(),[PRIM_GLOW,ALL_SIDES,0, PRIM_SIZE, <1,1,1>,PRIM_COLOR,ALL_SIDES,<1,1,1>,0 ] );
llSetTimerEvent(0);
}
}