integer nombre ; integer numero; default { state_entry() { // lorsque le script passe dans son état par défaut. // un “OFF” rouge apparaît au dessus de la prim llSetText("", <1,0,0>, 1.0); llSetPrimitiveParams([ PRIM_FULLBRIGHT, ALL_SIDES ,FALSE]); nombre = llGetInventoryNumber(INVENTORY_SOUND); llStopSound(); } touch_start(integer num_detected) { // quand la prim est touchée, le script passe dans l’état 'on' state on; } } state on { state_entry() { // Lit ce code lorsque le script passe dans l’état ‘on’ // un "ON" vert apparaît au dessus de la prim llSetPrimitiveParams([ PRIM_FULLBRIGHT, ALL_SIDES ,FALSE]); numero = 0; llSetSoundQueueing(TRUE); llSetTimerEvent(0.01); } timer() { llSetTimerEvent(10.0); llTriggerSound(llGetInventoryName(INVENTORY_SOUND,numero), 99.5); numero = numero + 1; if(numero>= nombre) numero = 0; llPreloadSound(llGetInventoryName(INVENTORY_SOUND, numero)); } touch_start(integer num_detected) { // quand la prim est touchée, le son s’arrrête et le script retourne dans son état par défaut llStopSound(); state default; } }