dans le bouton du HUD....
integer onoff;
integer canal;
default
{
on_rez(integer start_param)
{
llResetScript();
}
state_entry()
{
canal = (integer)("0xA" + llGetSubString((string)llGetOwner(), 0,6 ));
}
touch_start(integer total_number)
{
llSay(canal,"feu");
}
}
dans l' ensemble flammes...(autant que tu veux,ici des prims aplatis sur x....)
integer canal;
integer ecoute;
integer onoff;
float duree_flamme = 1.0;//en secondes
float intervalle_flamme = 5.0;
allume()
{
llLoopSound("855875c2-6296-a550-2a9e-11cf994ce4ae",0.8);
llSetLinkPrimitiveParamsFast(LINK_SET,[PRIM_TEXTURE,ALL_SIDES, "45312f1b-fa25-7611-c260-c9beb1421a2f", <1,1,0>, <0,0,0>, 0]);
llSetLinkTextureAnim(LINK_SET,ANIM_ON | LOOP, ALL_SIDES, 4, 4, 0, 0, 10.0);
}
eteint()
{
llStopSound();
llSetTimerEvent(0.0);
llSetLinkPrimitiveParamsFast(LINK_SET,[PRIM_TEXTURE,ALL_SIDES, TEXTURE_TRANSPARENT, <1,1,0>, <0,0,0>, 0]);
llSetLinkTextureAnim(LINK_SET,FALSE, ALL_SIDES, 0, 0, 0.0, 0.0, 1.0);
}
default
{
on_rez(integer start_param)
{
llResetScript();
}
state_entry()
{
canal = (integer)("0xA" + llGetSubString((string)llGetOwner(), 0,6 ));
ecoute = llListen(canal, "","", "feu");
eteint();
}
listen( integer canal, string name, key id, string msg )
{
if(!onoff)
{
llSetTimerEvent(0.1);
}
else
{
llSetTimerEvent(0.0);
eteint();
}
onoff = !onoff;
}
timer()
{
allume();
llSleep(duree_flamme);
eteint();
llSetTimerEvent(intervalle_flamme);
}
}
|