Inicio arrow Guías arrow Funkandelabro
FUNKANDELABRO PDF Imprimir E-Mail
Escrito por Funko Gondwana   
viernes, 30 de marzo de 2007
Índice del Artículo
FUNKANDELABRO
Prisma 2
Prisma 3
Prisma 4
Prisma 5
Prisma 6
Prisma 7
Prisma 8
Prisma 9
Texturas
Scripts
Paso 3 Crear Brazo
Paso 4 Copiar Brazo
Modificar el Script
Funkadelabro terminado
--------------------------------------

---------- 2.2 Scripts --------------

--------------------------------------

Bien, arrastraremos el SCRIPT llamado "CONTROLADOR LLAMA"  hasta la base del FUNKANDELABRO (EL prisma ROSA en mi ejemplo). Es MUY importante que al linkar todo al final, este prisma sea el PRIM RAIZ (ROOT PRIM) o el script no funcionará.
Arrastraremos tambien el Script llamado "ESCUCHADOR LLAMA" hasta la MECHA de la vela. (EL prisma NEGRO pequeño de arriba de la vela).
Se recomienda usar el ZOOM para acertar bien.
----------------
========CONTROLADOR LLAMA================

/* Copyright (c) 2007 by Funko Gondwana (
 Esta dirección de correo electrónico está protegida contra los robots de spam, necesita tener Javascript activado para poder verla
 )         */
/* http://www.creasl.org                                                */
/*                                                                      */
/* This program is free software. You can redistribute it and/or modify */
/* it under the terms of the GNU General Public License as published by */
/* the Free Software Foundation;        */
/************************************************************************/


// INTENSITY
// Esto controla la intensidad de la luz en cada vela 0-1
// 0 es Apagada
// 1 es Maximo Brillo
float INTENSITY = 0.01;

// FLAME_SIZE
// Esto controla el tamañode la llama. Sugiero aplicar desde 0.6 - 2
float FLAME_SIZE = 0.7;

integer IS_ON = FALSE;

default {
    touch_start(integer total_number) {
        if(!IS_ON) {
            llWhisper(0, "Light On");
        } else {
            llWhisper(0, "Light Off");
        }
        llMessageLinked(LINK_SET, IS_ON, (string)INTENSITY, (string)FLAME_SIZE);        
        IS_ON = !IS_ON;
    }
}

=========================FIN CONTROLADOR LLAMA====================

=========================ESCUCHADOR LLAMA========================

/* Copyright (c) 2007 by Funko Gondwana (
 Esta dirección de correo electrónico está protegida contra los robots de spam, necesita tener Javascript activado para poder verla
 )         */
/* http://www.creasl.org                                                */
/*                                                                      */
/* This program is free software. You can redistribute it and/or modify */
/* it under the terms of the GNU General Public License as published by */
/* the Free Software Foundation;        */
/************************************************************************/

flame(float size) {
     llParticleSystem([
     PSYS_PART_FLAGS, 0 | PSYS_PART_EMISSIVE_MASK | 
     PSYS_PART_INTERP_COLOR_MASK | PSYS_PART_INTERP_SCALE_MASK | 
     PSYS_PART_FOLLOW_VELOCITY_MASK | PSYS_PART_WIND_MASK |
     PSYS_PART_BOUNCE_MASK,
     PSYS_SRC_PATTERN,PSYS_SRC_PATTERN_ANGLE,
     PSYS_PART_START_COLOR, <1.0, 0.5, 0.0>,
     PSYS_PART_END_COLOR, <1.0, 1.0, 0.0>,
     PSYS_PART_START_SCALE,<0.06000, 0.08000, 0.06000> * size,
     PSYS_PART_END_SCALE,<0.04000, 0.08000, 0.06000> * size,
     PSYS_SRC_ACCEL,<0.00000, 0.00000, 0.00000>,
     PSYS_PART_MAX_AGE,.30000 * size,
     PSYS_SRC_BURST_RATE,0.020000,
     PSYS_SRC_BURST_PART_COUNT,10,
     PSYS_SRC_BURST_RADIUS,0.001000,
     PSYS_SRC_BURST_SPEED_MIN,0.100000,
     PSYS_SRC_BURST_SPEED_MAX,0.500000,
     PSYS_SRC_INNERANGLE,1.550000,
     PSYS_SRC_OUTERANGLE,1.540000,
     PSYS_SRC_OMEGA,<0.00000, 0.00000, 5.00000>,
     PSYS_SRC_MAX_AGE,0.000000,
     PSYS_PART_START_ALPHA,1.000000,
     PSYS_PART_END_ALPHA,0.100000
     ]);   
}

smoke(float size) {
     llParticleSystem([
     PSYS_PART_FLAGS, 0 | PSYS_PART_EMISSIVE_MASK | 
     PSYS_PART_INTERP_COLOR_MASK | PSYS_PART_INTERP_SCALE_MASK | 
     PSYS_PART_FOLLOW_VELOCITY_MASK | PSYS_PART_WIND_MASK |
     PSYS_PART_BOUNCE_MASK,
     PSYS_SRC_PATTERN,PSYS_SRC_PATTERN_ANGLE,
     PSYS_PART_START_COLOR, <0.2, 0.2, 0.2>,
     PSYS_PART_END_COLOR, <0.4, 0.4, 0.4>,
     PSYS_PART_START_SCALE,<0.06000, 0.08000, 0.06000> * size,
     PSYS_PART_END_SCALE,<0.04000, 0.08000, 0.06000> * size,
     PSYS_SRC_ACCEL,<0.00000, 0.00000, 0.50000>,
     PSYS_PART_MAX_AGE,2.0000 * size,
     PSYS_SRC_BURST_RATE,0.20000,
     PSYS_SRC_BURST_PART_COUNT,10,
     PSYS_SRC_BURST_RADIUS,0.001000,
     PSYS_SRC_BURST_SPEED_MIN,0.100000,
     PSYS_SRC_BURST_SPEED_MAX,0.500000,
     PSYS_SRC_INNERANGLE,1.550000,
     PSYS_SRC_OUTERANGLE,1.540000,
     PSYS_SRC_OMEGA,<0.00000, 0.50000, 5.00000>,
     PSYS_SRC_MAX_AGE,0.000000,
     PSYS_PART_START_ALPHA,1.000000,
     PSYS_PART_END_ALPHA,0.100000
     ]);   
}

stop() {
     llParticleSystem([PSYS_SRC_BURST_PART_COUNT, 0]);    
}

default {
    state_entry() {
        flame(1);
    }

    link_message(integer sender_num, integer num, string str, key id) {
        if(num) {
            string id_str = (string)id;
            smoke((float)id_str);
            llSetPrimitiveParams([PRIM_POINT_LIGHT, FALSE, <1, 1, 1>, 0.0, 10.0, 0.75]);
            llSetTimerEvent(0.5);
        } else {
            string id_str = (string)id;
            flame((float)id_str);
            llSetTimerEvent(0.0);
            //llSetPrimitiveParams([PRIM_POINT_LIGHT, TRUE, <1, 1, 1>, (float)str, 0.5, 0.75]);
        }
    }
    
    timer() {
        stop();
        llSetTimerEvent(0.0);
    }
}

================================FIN ESCUCHADOR LLAMA==========================
Seguimos con el PASO 3

Modificado el ( viernes, 30 de marzo de 2007 )
 
RocketTheme Joomla Templates