| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- // :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);
-
- }
-
- }
|