Portal    Foro    Buscar    FAQ    Registrarse    Conectarse
Publicar Nuevo Tema  Responder al Tema  Mensaje de Gracias Página 1 de 1
 
Script: Texto Que Se Mueve Sobre Un Objeto
Autor Mensaje
Responder Citando  
Mensaje Script: Texto Que Se Mueve Sobre Un Objeto 
 
Por si a alguien le es útil, este script muestra un texto sobre un objeto, y el texto se va moviendo.
Los parámetros se configuran sin problema al gusto de cada uno, y además el mismo script te indica la primera vez que lo usas que tienes ayuda escribiendo "/banner help".

Cita:
// SetText Rotating Banner
// Original Author: Kex Godel, an avatar in the virtual world Second Life (Linden Labs)
//
// This work is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 1.0 License
// * You are free:
//   - to copy, distribute, display, and perform the work
//   - to make derivative works
// * Under the following conditions:
//   - Attribution. You must give the original author credit.
//   - Noncommercial. You may not use this work for commercial purposes.
//   - Share Alike. If you alter, transform, or build upon this work, you may
//     distribute the resulting work only under a license identical to this one.
// * For any reuse or distribution, you must make clear to others the license
//   terms of this work.
// * Any of these conditions can be waived if you get permission from the author.
// * Your fair use and other rights are in no way affected by the above.
// * Details at: http://creativecommons.org/licenses/by-nc-sa/1.0/

string gBanner = "Banner";
integer gNumChars = 20;
integer gPosition = 0;
vector gColor = <1,1,1>;
float gRefreshRate = 1.0;
float gAlpha = 1.0;
integer gImPublic = FALSE;

sendIM(string s){
    if(gImPublic){
        llWhisper(0,s);
    }else{
        llInstantMessage(llGetOwner(),s);
    }
}

default
{
    state_entry()
    {
        gBanner = llKey2Name(llGetOwner()) + ", type /banner help to learn how to use this banner.";
        llListen(0, "", "", "");
        llSetTimerEvent(gRefreshRate);
        gPosition = 0;
    }

    timer(){
        integer len = llStringLength(gBanner);
        integer diff = (gPosition + gNumChars) - len;
        string template = llGetSubString(gBanner,gPosition,gNumChars + gPosition);
        while(llStringLength(template) < gNumChars){
            template += " " + gBanner;
        }
        string sub = llGetSubString(template,0,gNumChars);
        llSetText(sub + "\n.\n.\n.",gColor,gAlpha);
        gPosition++;
        if(gPosition > len){
            gPosition = 0;
        }
    }

    listen(integer number, string name, key id, string msg){
        if(id != llGetOwner()){
            return;
        }
        list argv = llParseString2List(msg, [" "], []);
        integer argc = llGetListLength(argv);
        string cmd = llToLower(llList2String(argv, 0));
        if(cmd == "/banner"){
            string arg = llToLower(llList2String(argv, 1));
            if(arg == "length"){
                gNumChars = llList2Integer(argv, 2);
                if(gNumChars < 1){
                    gNumChars = 20;
                }
            }else if(arg == "speed"){
                gRefreshRate = llList2Float(argv, 2);
                if(gRefreshRate < 0.2){
                    gRefreshRate = 0.2;
                }
            }else if(arg == "rotate"){
                llSetTimerEvent(gRefreshRate);
            }else if(arg == "static"){
                llSetTimerEvent(0);
                llSetText(gBanner + "\n.\n.\n.",<1,1,1>,1);
            }else if(arg == "on"){
                llSetTimerEvent(gRefreshRate);
            }else if(arg == "off"){
                llSetTimerEvent(0);
                llSetText("",<0,0,0>,0);
            }else if(arg=="getrot"){
                llSay(0,(string)llGetRot());
            }else if(arg=="im"){
                gImPublic = !gImPublic;
                sendIM("gImPublic now set to " + (string)gImPublic);
            }else if(arg == "help"){
                sendIM("/banner on / off - enable / disable banner display");
                sendIM("/banner <text> - set banner text to '<text>'");
                sendIM("/banner length - set banner length in characters (for rotation)");
                sendIM("/banner rotate - enable rotation");
                sendIM("/banner static - disable rotation");
            }else{
                gBanner = llGetSubString(msg,8,128);
                llSetText(gBanner + "\n.\n.\n.",<1,1,1>,1);
                gPosition = 0;
            }
        }
    }
}

  



Desconectado Ver perfil del usuario Enviar Mensaje Privado
Descargar Mensaje Volver arriba Página Inferior
Responder Citando  
Mensaje Re: Script: Texto Que Se Mueve Sobre Un Objeto 
 
aunque ya se sabe, ojo a la posibilidad de ponerlo en un objeto invisible que te ataches a la nuca más o menos. Cartel rotarorio sobre tu avatar Wink
  




____________
¿Menor de edad? Según se mire.
Desconectado Ver perfil del usuario Enviar Mensaje Privado
Descargar Mensaje Volver arriba Página Inferior
Responder Citando  
Mensaje Re: Script: Texto Que Se Mueve Sobre Un Objeto 
 
Gracias por el aporte, xiki.
Eso sí, dile al autor que corrija en la segunda línea lo de "Linden LabS" jajajaaj
  




____________
Hay dos SL: a la que va todo el mundo, y la que vamos otros.
Desconectado Ver perfil del usuario Enviar Mensaje Privado
Descargar Mensaje Volver arriba Página Inferior
Mostrar mensajes anteriores:
Publicar Nuevo Tema  Responder al Tema  Mensaje de Gracias  Página 1 de 1
 

Usuarios navegando en este Tema: 0 Registrados, 0 Ocultos y 0 Invitados
Usuarios Registrados conectados: Ninguno


 
Lista de Permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
Puede enviar eventos al Calendario