Added Heartfelt AO overider

This commit is contained in:
Fred Beckhusen
2016-09-10 10:24:55 -05:00
parent 70bf883847
commit 9b801d5421
14 changed files with 276 additions and 66 deletions

View File

@@ -0,0 +1,3 @@
<Solution name="Give all inventory items in a folder when close by">
<Project name="Give all inventory items in a folder when close by" path="Give all inventory items in a folder when close by\Give all inventory items in a folder when close by.prj" active="true"/>
</Solution>

View File

@@ -0,0 +1,10 @@
<Project name="Give all inventory items in a folder when close by" guid="47643d58-cfd1-4fb6-aea1-277c935847bb">
<Object name="Object" guid="dfefe270-c8f3-46d3-a706-bcbd19cfd927" active="true">
<Snapshot name="dragon lady5;2;5.jpg" guid="43d895e0-a601-461c-94d4-6a977cef6220">
</Snapshot>
<Snapshot name="dragon;4;4;5.jpg" guid="73685177-2a5b-4500-a85f-d740672ea814">
</Snapshot>
<Script name="Script for Board.lsl" guid="eb71690d-a6f8-4520-9fbb-57abde9fae58">
</Script>
</Object>
</Project>

View File

@@ -0,0 +1,171 @@
// :SHOW:
// :CATEGORY:Presentation
// :NAME:Give all inventory items in a folder when close by
// :AUTHOR:Lum Pfohl
// :KEYWORDS:
// :CREATED:2015-11-24 20:25:32
// :EDITED:2015-11-24 19:25:32
// :ID:1086
// :NUM:1833
// :REV:1
// :WORLD:Second Life
// :DESCRIPTION:
// LumVision-Presentation Script v 0.2
// :CODE:
// Mods by Ferd Frederix to support GIFS
//
// LumVision-Presentation Script v 0.2
//
// Written by Lum Pfohl December 11, 2007
//
// January 02, 2008 - Added code to precache the next texture after a short time delay
// set to TRUE if you want debug messages written to chat screen
integer __debug = FALSE;
string __version_id = "Presentation Script v 0.3";
// global variables
integer interval;
integer currentTexture = 0;
integer totalTextures = 0;
list textureList =[];
integer messageChannel = 999888;
list dynMenu =["Back", "Version", "Forward", "Reset"];
gif()
{
string t = llList2String(textureList, currentTexture);
list gif = llParseString2List(t,[";"],[]);
string aname = llList2String(gif,0);
integer X = (integer) llList2String(gif,1);
integer Y = (integer) llList2String(gif,2);
float FPS = (float) llList2String(gif,3);
float product = X * Y;
// Set the new prim texture
llSetTexture(llList2String(textureList, currentTexture), 0);
if (X) {
llSetTextureAnim( ANIM_ON | LOOP, ALL_SIDES, X, Y, 0.0, product, FPS);
} else {
llSetTextureAnim( LOOP, ALL_SIDES, 1,1, 0.0, 1 , FPS);
}
}
default {
state_entry() {
// read in the textures in the prim and store it
integer typeCount = llGetInventoryNumber(INVENTORY_TEXTURE);
integer j;
for (j = 0; j < typeCount; ++j) {
string invName = llGetInventoryName(INVENTORY_TEXTURE, j);
if (__debug) {
llWhisper(0, "Inventory " + invName);
}
textureList += invName;
++totalTextures;
}
if (__debug) {
llWhisper(0, "Found " + (string) totalTextures + " textures");
}
llSetTexture(llList2String(textureList, 0), 0);
gif();
// initialize the channel on which the vendor will talk to the owner via dialog
messageChannel = (integer) llFrand(2000000000.0);
llListen(messageChannel, "", NULL_KEY, "");
currentTexture = 0;
}
on_rez(integer start_param) {
llResetScript();
}
touch_start(integer total_number) {
if (llDetectedKey(0) == llGetOwner()) {
llDialog(llDetectedKey(0), "What do you want to do?", dynMenu, messageChannel);
}
}
// listen for for dialog box messages and respond to them as appropriate
listen(integer channel, string name, key id, string message) {
if (id != llGetOwner()) {
return;
}
if (message == "Version") {
llWhisper(0, __version_id);
return;
}
if (message == "Reset") {
llResetScript();
}
if (message == "Back" && currentTexture > 0) {
--currentTexture;
} else if (message == "Forward") {
++currentTexture;
} else {
llDialog(llGetOwner(), "What do you want to do?", dynMenu, messageChannel);
return;
}
// If there are textures to apply, do so now. Otherwise - quietly
// do nothing.
if (totalTextures > 0) {
// Ensure that we do not go out of bounds with the index
if (currentTexture >= totalTextures) {
currentTexture = 0;
}
if (currentTexture < 0 ) {
currentTexture = 0;
}
gif();
// set up so that in 3 seconds, we display the next image on a different face (hidden)
llSetTimerEvent(3.00);
llDialog(llGetOwner(), "What do you want to do?", dynMenu, messageChannel);
}
}
timer() {
// Cancel any further timer events
llSetTimerEvent(0.00);
// set the next texture (as a pre-cache) on the reverse face
integer nextTexture = currentTexture + 1;
if (nextTexture >= totalTextures) {
nextTexture = 0;
}
llSetTexture(llList2String(textureList, nextTexture), 1);
}
changed(integer what)
{
if (what & CHANGED_INVENTORY)
llResetScript();
}
}

View File

@@ -0,0 +1,12 @@
default
{
state_entry()
{
llSay(0, "Hello, Avatar!");
}
touch_start(integer total_number)
{
llSay(0, "Touched: "+(string)total_number);
}
}

View File

@@ -1,3 +0,0 @@
<Solution name="MM_SVN_Titler_v1">
<Project name="MM_SVN_Titler_v1" path="MM_SVN_Titler_v1\MM_SVN_Titler_v1.prj" active="true"/>
</Solution>

View File

@@ -1,6 +0,0 @@
<Project name="MM_SVN_Titler_v1" guid="D7581DA6-6C00-1014-B904-200204C60A89">
<Object name="Object" guid="D7581E99-6C00-1014-B904-200204C60A89">
<Script name="MM_SVN_Titler_v1_1.lsl" guid="D7584931-6C00-1014-B904-200204C60A89">
</Script>
</Object>
</Project>

View File

@@ -1,55 +0,0 @@
// :CATEGORY:HoverText
// :NAME:MM_SVN_Titler_v1
// :AUTHOR:Fenrir Reitveld
// :CREATED:2010-01-10 05:20:56.000
// :EDITED:2013-09-18 15:38:57
// :ID:516
// :NUM:700
// :REV:1.0
// :WORLD:Second Life
// :DESCRIPTION:
// MM SVN Titler v1.lsl
// :CODE:
// -[ Licensing and Copyright ]-----------------------
//
// Script copyright by Fenrir Reitveld, 02/10/06
//
// This program is free software; you can redistribute it and/or modify it under the terms of the
// GNU General Public License version 2 as published by the Free Software Foundation.
//
// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
// without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
// the GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along with this program in a
// notecard; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
// Boston, MA 02110-1301, USA.
//
// GPL license version 2 on the web: http://www.gnu.org/copyleft/gpl.html (Note, URL might change
// once v3 is released.)
// -[ Script Purpose ]--------------------------------
//
// Not much to it. This script just sets the text above our vendor. If you want to have the
// floating text appear over a prim that is not the root prim (where the inventory and core
// vendor scripts live), then place this in the prim.
//
default
{
state_entry()
{
llSetText ("Master!", ZERO_VECTOR, 0.0) ;
}
link_message (integer sender, integer num, string msg, key id)
{
if (num == 4500) // Set our title
{
vector color = (vector)((string)id) ;
llSetText (msg, color, 1.0) ;
}
}
}
// END //

View File

@@ -4,7 +4,7 @@
// :AUTHOR:Ferd Frederix
// :KEYWORDS:
// :CREATED:2012-09-04 15:30:52.010
// :EDITED:2016-07-27 15:13:53
// :EDITED:2016-09-10 09:18:05
// :ID:902
// :NUM:1278
// :REV:1.1

View File

@@ -0,0 +1,3 @@
<Solution name="Pose parts of your Avatar while dancing">
<Project name="Pose parts of your Avatar while dancing" path="Pose parts of your Avatar while dancing\Pose parts of your Avatar while dancing.prj" active="true"/>
</Solution>

View File

@@ -0,0 +1,69 @@
// :SHOW:
// :CATEGORY:Animation
// :NAME:Pose parts of your Avatar while dancing
// :AUTHOR:Heartfelt
// :KEYWORDS:
// :CREATED:2016-09-10 10:18:08
// :EDITED:2016-09-10 09:18:08
// :ID:1109
// :NUM:1910
// :REV:1
// :WORLD:Second Life
// :DESCRIPTION:
// Free Script to hold poses like carrying a bag or an umbrella or a cat whilst on a dance hud by Heartfelt
// :CODE:
//INSTRUCTIONS = Make an animation in the free program Qavimator http://www.qavimator.org.
// Make it about 555 frames long and make 1 pose at the very beginning and leave the rest.
// Upload it to second life on Singularity viewer as you can set anim priority to 5, make the lead in and lead out 0.000 set no loop .
// Upload it again and use the same settings but tick loop then put both anims into a prim with this script and write the names in then wear it.
// Then your pose will be forced to repeat every 0.2 seconds and you can carry stuff whilst other animations happen.
// enjoy and hugs <3 Heartfelt
float speed = 0.2;
string plushy1 = "write the animation name here inside the quote marks";
string plushy2 = "Write the other animation name here";
integer tickstate = 1;
default {
state_entry() {
llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION);
}
changed(integer change) {
if(change & CHANGED_OWNER) {
llResetScript();
}
}
run_time_permissions(integer perm) {
if(perm == PERMISSION_TRIGGER_ANIMATION) {
llSetTimerEvent(speed);
}
}
attach(key id)
{
llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION);
}
timer(){
if (tickstate == 2) {
llStartAnimation(plushy2);
llStopAnimation(plushy1);
tickstate = 4;
}
if (tickstate == 3) {
llStartAnimation(plushy1);
llStopAnimation(plushy2);
tickstate = 2;
}
if(tickstate == 4)
tickstate = 3;
if (tickstate == 1) {
llStartAnimation(plushy2);
tickstate = 2;
}
}
}

View File

@@ -0,0 +1,6 @@
<Project name="Pose parts of your Avatar while dancing" guid="96635761-d6b9-4d9e-a7c6-cc1e37d8e5fc">
<Object name="Attach this" guid="da814ba9-50d3-4e21-b4f3-e793df10ab39" active="true">
<Script name="Heartfelts Script.lsl" guid="5786b30b-abf0-47ff-b4eb-95b30fa19f8c">
</Script>
</Object>
</Project>

View File

@@ -4,7 +4,7 @@
// :AUTHOR:Ferd Frederix
// :KEYWORDS:
// :CREATED:2013-12-14 13:33:32
// :EDITED:2016-07-27 15:14:06
// :EDITED:2016-09-10 09:18:14
// :ID:902
// :NUM:1558
// :REV:1.2