Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Default text
- string TEXT = "HELLO HOW ARE YOU ";
- // Interface between letters
- float LETTER_INTERVAL = 1.2;
- // Modified values
- integer IS_ON = TRUE;
- string CUR_TEXT = "";
- integer LISTEN_HANDLE;
- // Characters
- list CHARACTERS = [
- // A - Z
- "05fb8c9a-2ace-8c64-6688-9a08f535e87b",
- "c68b3416-1b02-76f4-8295-5170f2a430fc",
- "ab55d18b-f220-7dad-2036-9dbe6d9d24ae",
- "bb14e17f-48e2-b0de-2d3a-f3fc919d3455",
- "81d319dc-08a1-70ff-7d08-d2d5e8521d90",
- "993b9e32-77cd-17c6-b9d5-aa0950eeeedc",
- "4bbbec6c-26c7-b28c-8e2b-b95fd6b4c73e",
- "5c52c7da-7443-8d03-1493-94a167981f74",
- "7bfad861-8374-84fb-f71f-2a58fb6dd64a",
- "e79f9242-17d9-1377-f8b1-59812df58def",
- "6121cbf7-45dd-81d1-5983-bb4da8bb6cbd",
- "b9c2b4f6-2dd2-f05e-2ebe-8291a1c8208c",
- "e4c16f2e-5589-4dab-d658-2d8f8e78e212",
- "3dd9c930-88cb-80cd-04df-a146429166ba",
- "aa61ecc4-59c6-d390-b0e2-770abd463037",
- "702072b1-a14a-c1c2-7e96-ec69044989ef",
- "ed6b8c52-2540-df1e-2fb1-5c2d74d52951",
- "50ceb1e2-bf65-43d1-14b9-f7c6baab856f",
- "d1684b98-25c3-6d6d-9517-cc5b15264a5d",
- "d2daf814-6aa7-7a59-54b2-3110bf0d9dee",
- "367def79-30ef-5de7-cade-55fb1973dec4",
- "02e99a90-31c8-b50b-8b16-2c182d67a2d4",
- "722b77a3-8513-9537-c0cb-00978c85745e",
- "ea2aa90d-4a98-8d3b-3815-4505113a5a90",
- "ebe59dea-4a23-d415-1503-9c789c68d0f5",
- "9fbdeb14-7814-2c21-ab27-ee1867e349a3",
- // Special characters
- "701917a8-d614-471f-13dd-5f4644e36e3c", // Space
- "d3f39664-ec05-92f0-1b45-db3acfe276e3", // Period
- "3ff82ed4-c521-dc69-b1ad-5d70f4b89da1", // Question
- "eaa3ec1a-d071-285e-7058-14ce838e8e25", // Semicolon
- "c0eeefcc-fa2c-0ff9-c9b9-babc365643ea", // Exclamation
- "8ccd81a4-ac36-7618-d7b4-b40fc2a548f0", // Comma
- "f81176b3-32b8-86bf-3613-a9f89895c1ad", // Colon
- // Numbers
- "1494e996-a91b-f770-bd10-ad788642d859",
- "f545e486-2a2e-730d-845a-cbe9d4bcb9fd",
- "16a84092-421f-3225-bb36-4071b55fab2d",
- "4b0a62c4-65f4-932e-d440-7fe3cf5a1540",
- "e0e7eacd-e956-14e6-df65-3bc3b7d4e679",
- "6f579c89-bf1f-71d7-854d-b08341edf51e",
- "a5063c9b-377c-1244-62b4-7ce5d1dbfafe",
- "b055ba6a-d2ff-d67d-066c-ccb8a9e8300d",
- "42b58e86-e83c-bc1b-4d73-ab3603d00d98",
- "872560f2-d964-ab22-d558-1607366666c1",
- // Zara's
- "fcdac14d-6128-ce47-66bc-a3d0d27f6d3d", // Hearts
- // ADD yours here.
- // Note that if you add more you need to put a comma in
- // but leave the last line with out a comma
- ""
- ];
- string CHARACTER_INDEX = "ABCDEFGHIJKLMNOPQRSTUVWXYZ .?;!,:0123456789@";
- letter(string char)
- {
- string TEXTURE = llList2Key(CHARACTERS, llSubStringIndex(CHARACTER_INDEX, llToUpper(char)));
- llParticleSystem([
- PSYS_PART_FLAGS, 0 | PSYS_PART_EMISSIVE_MASK |
- PSYS_PART_INTERP_COLOR_MASK | PSYS_PART_INTERP_SCALE_MASK,
- PSYS_SRC_PATTERN,PSYS_SRC_PATTERN_ANGLE_CONE,
- // Texture / Size / Alpha / Color
- PSYS_SRC_TEXTURE, TEXTURE,
- PSYS_PART_START_SCALE,<0.2000, 0.2000, 0.0000>,
- PSYS_PART_END_SCALE,<0.3000, 0.3000, 0.0000>,
- PSYS_PART_START_ALPHA,0.000000,
- PSYS_PART_END_ALPHA,1.000000,
- PSYS_PART_START_COLOR, <1.0,1.0,1.0>,
- PSYS_PART_END_COLOR, <1.0,1.0,1.0>,
- // Flow
- PSYS_PART_MAX_AGE,10.0,
- PSYS_SRC_BURST_RATE,1.200000,
- PSYS_SRC_BURST_PART_COUNT,1,
- PSYS_SRC_MAX_AGE,0.000000,
- // Rez position
- PSYS_SRC_BURST_RADIUS,0.0,
- PSYS_SRC_INNERANGLE,0.0000,
- PSYS_SRC_OUTERANGLE,0.0000,
- PSYS_SRC_OMEGA,<0.00000, 0.00000, 0.00000>,
- PSYS_SRC_ACCEL, <0,0,0.0>,
- PSYS_SRC_BURST_SPEED_MIN,0.250000,
- PSYS_SRC_BURST_SPEED_MAX,0.250000
- ]);
- }
- stop()
- {
- llParticleSystem([]);
- }
- default
- {
- state_entry()
- {
- if(IS_ON)
- {
- llSetTimerEvent(LETTER_INTERVAL);
- LISTEN_HANDLE = llListen(99, "", llGetOwner(), "");
- }
- }
- touch_start(integer num_detected)
- {
- if(IS_ON)
- {
- stop();
- llSetTimerEvent(0.0);
- //llListenControl(LISTEN_HANDLE, FALSE);
- llWhisper(0, "Signboard has stopped");
- }
- else
- {
- llWhisper(0, "Signboard has started");
- //LISTEN_HANDLE = llListen(99, "", llGetOwner(), "");
- llSetTimerEvent(LETTER_INTERVAL);
- }
- IS_ON = !IS_ON;
- }
- listen( integer channel, string name, key id, string message)
- {
- TEXT = message;
- CUR_TEXT = message;
- llOwnerSay("Setting text:" + message);
- }
- timer()
- {
- if(CUR_TEXT == "")
- {
- CUR_TEXT = TEXT;
- }
- string char = llGetSubString(CUR_TEXT, 0, 0);
- letter(char);
- if(llStringLength(CUR_TEXT) == 1)
- {
- if(CUR_TEXT != " ")
- {
- CUR_TEXT = " ";
- }
- else
- {
- CUR_TEXT = "";
- }
- }
- else
- {
- CUR_TEXT = llGetSubString(CUR_TEXT, 1, -1);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement