Forums

Help login failed by Plash on Thursday, 26.April 2012 18:22
Second Life connection impossible by Doggy on Thursday, 26.April 2012 17:25
Breedable pets et animals Second Life by aden on Saturday, 31.March 2012 19:13
Shapes Mesh by born Resident on Monday, 20.February 2012 11:20
Tuto Puppeteer by Josiane on Wednesday, 01.February 2012 13:34
Transparence de la tenue by hani amaterasu on Friday, 27.January 2012 22:50
Ajouter des faces, où des arêtes by brucie on Thursday, 26.January 2012 16:02

Qui est online

We have 280 guests online

Publicité SL

Second Life avatars 3d>>

Social



Script d'arme: marteau ( weapon )
User Rating: / 1
PoorBest 
Librairie Scripts
Written by Surfaqua Oh   
Script de l'arme fictive : le marteau ; ce script permet de faire semblant de frapper quelqu'un et de faire du son et des particules. Le script ne provoque aucun coup réel .

 

/*
Script d'arme fictive: Le marteau. Placer le script directement dans le marteau
N'oubliez pas de placer un son et une image pour la particule.
Merci a Lalex Devin d'avoir modifier le script et rajouter des particules.

*/

integer DEBUG = FALSE;

string STARTSOUND = "boing4"; // changer ce nom si vous changez de son
string STOPSOUND = "";

float STARTSOUNDVOL = 1.0;
float STOPSOUNDVOL = 0.5;

integer PTA = PERMISSION_TRIGGER_ANIMATION;
integer PTC = PERMISSION_TAKE_CONTROLS;

key MyController;
integer InAnimation = FALSE;
integer Listening = 0;
list particle_parameters=[];
list target_parameters=[];
integer AUTO_START = TRUE;

default
{   
    state_entry() {
       
    particle_parameters = [  // parametre des particules
           // Parametre des Textures
           PSYS_SRC_TEXTURE, llGetInventoryName (INVENTORY_TEXTURE, 0),
           PSYS_PART_START_SCALE, <0.80,0.80, FALSE>,  PSYS_PART_END_SCALE, <0.20,0.20, FALSE>,
           PSYS_PART_START_COLOR,   <204, 255, 0>,      PSYS_PART_END_COLOR,  <204, 255, 0>,
           PSYS_PART_START_ALPHA, (float)0.9,       PSYS_PART_END_ALPHA, (float)0.9,    
        
           PSYS_SRC_BURST_PART_COUNT, (integer)4.0,
           PSYS_SRC_BURST_RATE, (float) 0.1,  //intervalle entre deux explosions
           PSYS_PART_MAX_AGE, (float)4.0, //duree de vie
           PSYS_SRC_MAX_AGE,(float) 0.0,  //indique la durée pendant laquelle on voit
           PSYS_SRC_PATTERN, (integer)2, // 1=DROP douche , 2=EXPLODE explosion, 4=ANGLE
           PSYS_SRC_BURST_SPEED_MIN, (float)0.0,
            PSYS_SRC_BURST_SPEED_MAX, (float)0.0,
           PSYS_SRC_BURST_RADIUS,0.8,
           PSYS_SRC_ANGLE_BEGIN, (float) 0.0*PI,   PSYS_SRC_ANGLE_END, (float)0.15*PI, 
           PSYS_SRC_OMEGA, <0.0,0.0,0.0>,
           PSYS_SRC_ACCEL, <0.0,0.0,-0.1>,  // tombe ou vole ou flote       
           PSYS_PART_FLAGS, (integer)( 0         // Texture Options:    
                                | PSYS_PART_INTERP_COLOR_MASK  
                                | PSYS_PART_INTERP_SCALE_MASK  
                                | PSYS_PART_EMISSIVE_MASK  

                            ) 
              
        ];
       
        llParticleSystem( [] );


}
   
    attach(key attached)
    {
        if (Listening) llListenRemove(Listening);
        MyController = attached;
       
        if (attached == NULL_KEY) {
            if (llGetPermissions() & PTA) {
                llStopAnimation("hold_R_handgun");
                return;
            }
        }
       
        llRequestPermissions(attached, PTA | PTC);
        llSetTimerEvent(5);
    }
   

   
    timer()
    {
        if (InAnimation) {
            llStopAnimation("sword_strike_R");
            InAnimation = FALSE;
            llSetTimerEvent(0);
            llParticleSystem( [] );
            return;
        }
       
        if ((llGetPermissions() & (PTA | PTC)) == (PTA | PTC)) {
            llStartAnimation("hold_R_handgun");
            llTakeControls(CONTROL_LBUTTON, TRUE, FALSE);
            llSetTimerEvent(0);
            if (Listening) llListenRemove(Listening);
            Listening = llListen(0, "", MyController, "");
        } else {
            if (MyController != NULL_KEY) {
                llRequestPermissions(MyController, PTC | PTA);
            }
        }
    }
   
    control(key name, integer levels, integer edges)
    {
        if (InAnimation) return;
       
        if (((edges & CONTROL_LBUTTON) == CONTROL_LBUTTON) && ((levels & CONTROL_LBUTTON) == CONTROL_LBUTTON)) {
            llTriggerSound(STARTSOUND, STARTSOUNDVOL);
            llStartAnimation("sword_strike_R");
            InAnimation = TRUE;
            llParticleSystem( particle_parameters + target_parameters );
           
            llSetTimerEvent(0.4);
           
        }
    }
   
    listen(integer channel, string name, key id, string message)
    {
        message = llToLower(message);
       
        if (message == "paddle release") {
            llReleaseControls();

            return;
        }
       
        if (message == "paddle engage") {
            InAnimation = FALSE;
            llSetTimerEvent(5);
        }
    }
      

}

 

 


 

 

Add comment

Si vous ne voyez pas vos messages c est que vous n êtes pas enregistré sur Avatars-3d en tant que membre. Ils seront examinés par un administrateur avant d être publié! Si vous désirez publier rapidement vos messages enregistrez vous ici

Security code
Refresh