Difference between revisions of "User:DoteDote Edison"

From Second Life Wiki
Jump to navigation Jump to search
m
m
 
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{LSL Header}}
{{LSL Header}}
Thinker | Trouble-shooter | Problem-Solver
----


 
{{visl
 
|name=DoteDote Edison
Not a Wiki pro, I'll try to not screw it up.
|Greeters=
 
|Helpers=*
====Email-to-IM Script for the Script Library====
|Instructors=
<pre><lsl>
|Mentors=*
// Email-to-IM
|LSL=
// DoteDote Edison
|i18n=
 
|l10n=
///////// constants /////////
|SL4B=
// how often to check for new email when owner is online (seconds)
|}}
float fast = 60.0;
{{skills
// how often to check owner online status when owner is offline (seconds)
|Builder=*
float slow = 300.0;
|Scripter=*
 
|}}
////////// globals //////////
key request;
key owner;
integer owner_online;
 
default {
state_entry() {
owner = llGetOwner();
string address = (string)owner + "@lsl.secondlife.com";
llSetText("Email Server\nOnline", <0.25, 1.0, 0.25>, 1.0);
llOwnerSay("Now online.  The Email-to-IM address for " + llKey2Name(owner) + " is:\n" + address);
llSetTimerEvent(fast);
}
on_rez(integer start_param) {
llResetScript();
}
touch_start(integer num_detect) {
if (llDetectedKey(0) == owner) state off;
}
email(string time, string sender, string subject, string body, integer num_remain) {
llInstantMessage(owner, "Email Received from: " + sender + " -- " + time);
llInstantMessage(owner, body);
if (num_remain > 0) llGetNextEmail("", "");
}
dataserver(key query, string data) {
if (query == request) {
request = "";
if (data == "1") {
owner_online = TRUE;
llSetTimerEvent(fast);
}
else {
owner_online = FALSE;
llSetTimerEvent(slow);
}
}
}
timer() {
request = llRequestAgentData(owner, DATA_ONLINE);
if (owner_online) llGetNextEmail("", "");
}
state_exit() {
llSetTimerEvent(0.0);
llSetText("Email Server\nOffline", <1.0, 0.25, 0.25>, 1.0);
}
}
 
state off {
touch_start(integer num_detect) {
if (llDetectedKey(0) == owner) state default;
}
on_rez(integer start_param) {
llResetScript();
}
}
</lsl></pre>

Latest revision as of 20:35, 5 October 2008

Thinker | Trouble-shooter | Problem-Solver