This is an old revision of the document!
Utilities
Help & Advice
The dedicated organizational tool that fulfilled most requirements free-of-cost is Doodle.
However: Even Doodle has its drawbacks.
The issues are:
1) Doodle insists on getting an email from each participant.
2) Doodle has no mechanism to adjust for timezones.
For Issue 1: There are “single-use” email services such as:
that can be used for this service.
For Issue 2: I think I'll try to create all appointments using SLT time.
2023-12-16: OpenSim: Topic: Talkjaw Script
[13:21] Kaahupahau Sharpfang: *blinks* [13:21] Kaahupahau Sharpfang: How does your muzzletalk work? [13:21] Kaahupahau Sharpfang: is it a script in your jaw? [13:21] Snoots Dwagon: Yesh is. I can gives you copy. [13:22] Snoots Dwagon: Jaw is its own piece. [13:22] Kaahupahau Sharpfang: hugs the small dragon off the floor* [13:22] Snoots Dwagon: Ypu put a hinge at back of it and add script to hinge. Link hinge last. [13:22] Snoots Dwagon: Let me find script [13:22] Kaahupahau Sharpfang: May I add it to my avatars? Your name, or the scritps creators name, will be listed for the component! [13:24] Grid: Snoots Dwagon has given you this LSL2 script: -Talkjaw Script Do you want to keep it? “Mute” will block all future offers or messages from Snoots Dwagon . [13:24] Snoots Dwagon: Feel free to use. It's an open-source script. : ) [13:24] Snoots Dwagon: I not writed it [13:24] Kaahupahau Sharpfang: YES! *hugs you even more* [13:24] Snoots Dwagon: huggz [13:24] Snoots Dwagon: Enjoys! [13:25] Kaahupahau Sharpfang: Would you like to be references as the person pointing me to the script?
Contents:
vector minROT = <0, 1.9, 180>; vector midROT = <0, 10.9, 180>; vector maxROT = <0, 20.9, 180>; integer isOpen;
default {
state_entry() { llSetTimerEvent(0.2); llSetLocalRot(llEuler2Rot(minROT * DEG_TO_RAD)); llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION); llListen(667, "", NULL_KEY, ""); } timer() { if(isOpen == TRUE) { llSetLocalRot(llEuler2Rot(minROT * DEG_TO_RAD)); isOpen = FALSE; return; } integer info = llGetAgentInfo(llGetOwner()); if(info & AGENT_TYPING) { //llStopAnimation("type"); vector rot = minROT; rot.y = llFrand(maxROT.y - midROT.y) + midROT.y; llSetLocalRot(llEuler2Rot(rot * DEG_TO_RAD)); isOpen = TRUE; } } listen(integer chan, string name, key id, string message) { if(llGetOwnerKey(id) != llGetOwner()) return; if(message == " " || message == "Cancel") return; if (message == "OPEN") { llSetLocalRot(llEuler2Rot(maxROT * DEG_TO_RAD)); } else if (message == "HALF OPEN") { llSetLocalRot(llEuler2Rot(midROT * DEG_TO_RAD)); } else if (message == "CLOSE") { llSetLocalRot(llEuler2Rot(minROT * DEG_TO_RAD)); } }
}