Join us in Outworldz at www.outworldz.com:9000 or follow us:

Search dozens of selected web sites for OpenSim and LSL script

New! Script Meta-Search will search thousands of scripts here and at other sites for LSL or Opensim scripts.
Loading

Want to add a script or a project? Upload it and a half million people will see it and your name here this year.

Home   Show All
Category: Contributor: Creator
XY Text Particle_XY_Text_by_Zara_Vale  

Particle_XY_Text_by_Zara_Vale

Particle XY Text by Zara Vale.lsl

Category: XY Text
By : Zara Vale
Created: 2010-01-10 Edited: 2010-01-10
Worlds: Second Life

the Zip file

Download all files for Particle_XY_Text_by_Zara_Vale
Contents are in zip format, with .LSL (text) source code and LSLEdit (text + Solution) formats.
Get file # 1. Particle_XY_Text_by_Zara_Vale_1.lsl
1
2 //********************************************************
3 //This Script was pulled out for you by YadNi Monde from the SL FORUMS at http://forums.secondlife.com/forumdisplay.php?f=15, it is intended to stay FREE by it s author(s) and all the comments here in ORANGE must NOT be deleted. They include notes on how to use it and no help will be provided either by YadNi Monde or it s Author(s). IF YOU DO NOT AGREE WITH THIS JUST DONT USE!!!
4 //********************************************************
5
6
7
8
9
10
11
12 //Particle XY Text by Zara Vale
13 //Howdy everyone,
14 //
15 //What is it?
16 //It is a signboard made out of particles, I've done 120 characters from a single prim before
17 //
18 //How do I use it?
19 //REZ a BOX, create and script and put the following code in:
20 //You can use channel 99 to change the text from the sign. Note that particles are slightly unreliable and it depends on the SIM, how many people are there, the weather in your country, etc.... But in a low load SIM it almost always appears for me. Do let me know if you find any improvements
21
22
23
24
25 // Default text
26 string TEXT = "I @ ASL!";
27
28 // Interface between letters
29 float LETTER_INTERVAL = 1.2;
30
31 // Modified values
32 integer IS_ON = TRUE;
33 string CUR_TEXT = "";
34 integer LISTEN_HANDLE;
35
36 // Characters
37 list CHARACTERS = [
38 // A - Z
39 "05fb8c9a-2ace-8c64-6688-9a08f535e87b",
40 "c68b3416-1b02-76f4-8295-5170f2a430fc",
41 "ab55d18b-f220-7dad-2036-9dbe6d9d24ae",
42 "bb14e17f-48e2-b0de-2d3a-f3fc919d3455",
43 "81d319dc-08a1-70ff-7d08-d2d5e8521d90",
44 "993b9e32-77cd-17c6-b9d5-aa0950eeeedc",
45 "4bbbec6c-26c7-b28c-8e2b-b95fd6b4c73e",
46 "5c52c7da-7443-8d03-1493-94a167981f74",
47 "7bfad861-8374-84fb-f71f-2a58fb6dd64a",
48 "e79f9242-17d9-1377-f8b1-59812df58def",
49 "6121cbf7-45dd-81d1-5983-bb4da8bb6cbd",
50 "b9c2b4f6-2dd2-f05e-2ebe-8291a1c8208c",
51 "e4c16f2e-5589-4dab-d658-2d8f8e78e212",
52 "3dd9c930-88cb-80cd-04df-a146429166ba",
53 "aa61ecc4-59c6-d390-b0e2-770abd463037",
54 "702072b1-a14a-c1c2-7e96-ec69044989ef",
55 "ed6b8c52-2540-df1e-2fb1-5c2d74d52951",
56 "50ceb1e2-bf65-43d1-14b9-f7c6baab856f",
57 "d1684b98-25c3-6d6d-9517-cc5b15264a5d",
58 "d2daf814-6aa7-7a59-54b2-3110bf0d9dee",
59 "367def79-30ef-5de7-cade-55fb1973dec4",
60 "02e99a90-31c8-b50b-8b16-2c182d67a2d4",
61 "722b77a3-8513-9537-c0cb-00978c85745e",
62 "ea2aa90d-4a98-8d3b-3815-4505113a5a90",
63 "ebe59dea-4a23-d415-1503-9c789c68d0f5",
64 "9fbdeb14-7814-2c21-ab27-ee1867e349a3",
65
66 // Special characters
67 "701917a8-d614-471f-13dd-5f4644e36e3c", // Space
68 "d3f39664-ec05-92f0-1b45-db3acfe276e3", // Period
69 "3ff82ed4-c521-dc69-b1ad-5d70f4b89da1", // Question
70 "eaa3ec1a-d071-285e-7058-14ce838e8e25", // Semicolon
71 "c0eeefcc-fa2c-0ff9-c9b9-babc365643ea", // Exclamation
72 "8ccd81a4-ac36-7618-d7b4-b40fc2a548f0", // Comma
73 "f81176b3-32b8-86bf-3613-a9f89895c1ad", // Colon
74
75 // Numbers
76 "1494e996-a91b-f770-bd10-ad788642d859",
77 "f545e486-2a2e-730d-845a-cbe9d4bcb9fd",
78 "16a84092-421f-3225-bb36-4071b55fab2d",
79 "4b0a62c4-65f4-932e-d440-7fe3cf5a1540",
80 "e0e7eacd-e956-14e6-df65-3bc3b7d4e679",
81 "6f579c89-bf1f-71d7-854d-b08341edf51e",
82 "a5063c9b-377c-1244-62b4-7ce5d1dbfafe",
83 "b055ba6a-d2ff-d67d-066c-ccb8a9e8300d",
84 "42b58e86-e83c-bc1b-4d73-ab3603d00d98",
85 "872560f2-d964-ab22-d558-1607366666c1",
86
87 // Zara's
88 "fcdac14d-6128-ce47-66bc-a3d0d27f6d3d", // Hearts
89
90 // ADD yours here.
91 // Note that if you add more you need to put a comma in
92 // but leave the last line with out a comma
93 ""
94 ];
95
96 string CHARACTER_INDEX = "ABCDEFGHIJKLMNOPQRSTUVWXYZ .?;!,:0123456789@";
97
98 letter(string char) {
99 string TEXTURE = llList2Key(CHARACTERS, llSubStringIndex(CHARACTER_INDEX, llToUpper(char)));
100
105
106 // Texture / Size / Alpha / Color
107 PSYS_SRC_TEXTURE, TEXTURE,
108 PSYS_PART_START_SCALE,<0.2000, 0.2000, 0.0000>,
109 PSYS_PART_END_SCALE,<0.3000, 0.3000, 0.0000>,
110 PSYS_PART_START_ALPHA,0.000000,
111 PSYS_PART_END_ALPHA,1.000000,
112 PSYS_PART_START_COLOR, <1.0,1.0,1.0>,
113 PSYS_PART_END_COLOR, <1.0,1.0,1.0>,
114
115 // Flow
117 PSYS_SRC_BURST_RATE,1.200000,
119 PSYS_SRC_MAX_AGE,0.000000,
120
121 // Rez position
125 PSYS_SRC_OMEGA,<0.00000, 0.00000, 0.00000>,
126 PSYS_SRC_ACCEL, <0,0,0.0>,
129 ]);
130 }
131
132 stop() {
134 }
135
136 default {
137 state_entry() {
138 if(IS_ON) {
139 llSetTimerEvent(LETTER_INTERVAL);
140 LISTEN_HANDLE = llListen(99, "", llGetOwner(), "");
141 }
142 }
143
144 touch_start(integer num_detected) {
145 if(IS_ON) {
146 stop();
147 llSetTimerEvent(0.0);
148 //llListenControl(LISTEN_HANDLE, FALSE);
149 llWhisper(0, "Signboard has stopped");
150
151 } else {
152 llWhisper(0, "Signboard has started");
153 //LISTEN_HANDLE = llListen(99, "", llGetOwner(), "");
154 llSetTimerEvent(LETTER_INTERVAL);
155 }
156 IS_ON = !IS_ON;
157 }
158
159 listen( integer channel, string name, key id, string message) {
160 TEXT = message;
161 CUR_TEXT = message;
162 llOwnerSay("Setting text:" + message);
163 }
164
165 timer() {
166 if(CUR_TEXT == "") {
167 CUR_TEXT = TEXT;
168 }
169 string char = llGetSubString(CUR_TEXT, 0, 0);
170 letter(char);
171 if(llStringLength(CUR_TEXT) == 1) {
172 if(CUR_TEXT != " ") {
173 CUR_TEXT = " ";
174 } else {
175 CUR_TEXT = "";
176 }
177 } else {
178 CUR_TEXT = llGetSubString(CUR_TEXT, 1, -1);
179 }
180 }
181 } // END //

Back to the Best Free Tools in Second Life and OpenSim.