Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

archiv:opensim:downloads:scripts:zero_lag_poseball [2024/01/09 22:25] – Externe Bearbeitung 127.0.0.1archiv:opensim:downloads:scripts:zero_lag_poseball [Unbekanntes Datum] (aktuell) – Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1
Zeile 1: Zeile 1:
 +===== Zero Lag Poseball =====
 +
 +<code>
 +// Jippen Faddoul's Poseball script - Low ram/lag posepall thats just drag-and drop simple
 +// Copyright (C) 2007 Jippen Faddoul
 +//    This program is free software: you can redistribute it and/or modify
 +//    it under the terms of the GNU General Public License version 3, 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.  If not, see <http://www.gnu.org/licenses/>
 + 
 + 
 + 
 +//This text will appear in the floating title above the ball
 +string TITLE="Sit here";            
 +//You can play with these numbers to adjust how far the person sits from the ball. ( <X,Y,Z> )
 +vector offset=<0.0,0.0,0.5>;            
 + 
 +///////////////////// LEAVE THIS ALONE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
 +string ANIMATION;
 +integer visible = TRUE;
 +key avatar;
 + 
 +vector COLOR = <1.0,1.0,1.0>;
 +float ALPHA_ON = 1.0;
 +float ALPHA_OFF = 0.0;
 + 
 +show(){
 +    visible = TRUE;
 +    llSetText(TITLE, COLOR,ALPHA_ON);        
 +    llSetAlpha(ALPHA_ON, ALL_SIDES);
 +}
 + 
 +hide(){
 +    visible = FALSE;
 +    llSetText("", COLOR,ALPHA_ON);        
 +    llSetAlpha(ALPHA_OFF, ALL_SIDES);
 +}
 + 
 +default{
 +    state_entry() {
 +        llSitTarget(offset,ZERO_ROTATION);
 +        if((ANIMATION = llGetInventoryName(INVENTORY_ANIMATION,0)) == ""){
 +            llOwnerSay("Error: No animation");
 +            ANIMATION = "sit";
 +            }
 +        llSetSitText(TITLE);
 +        show();
 +    }
 + 
 +    touch_start(integer detected) {
 +        //llOwnerSay("Memory: " + (string)llGetFreeMemory());
 +        if(visible){ hide(); }
 +        else       { show(); }
 +    }
 + 
 +    changed(integer change) {
 +        if(change & CHANGED_LINK) {
 +            avatar = llAvatarOnSitTarget();
 +            if(avatar != NULL_KEY){
 +                //SOMEONE SAT DOWN
 +                hide();
 +                llRequestPermissions(avatar,PERMISSION_TRIGGER_ANIMATION);
 +                return;
 +            }else{
 +                //SOMEONE STOOD UP
 +                if (llGetPermissionsKey() != NULL_KEY){ llStopAnimation(ANIMATION); }
 +                show();
 +                return;
 +            }
 +        }
 +        if(change & CHANGED_INVENTORY) { llResetScript(); }
 +        if(change & CHANGED_OWNER)     { llResetScript(); }
 +    }
 + 
 +    run_time_permissions(integer perm) {
 +        if(perm & PERMISSION_TRIGGER_ANIMATION) {
 +            llStopAnimation("sit");
 +            llStartAnimation(ANIMATION);
 +            hide();
 +        }
 +    }
 +}
 +</code>
  
Navigation

Alternative Startseite
Helpdesk
Links
Maps
Radio
Suchmaschine


Drucken/exportieren