Code:

sound snd_hello = <hello_player.wav>; // your wav (adjust)

action statue {
var lv_snd_dist = 100; // 100 quants for play (adjust)
var lv_snd_flag = off; // sound played

// wait for player...
while(player==null){wait(1);}

// statue loop
while(1){
// play when approaching
if(vec_dist(player.x,my.x)<lv_snd_dist && lv_snd_flag==off){
snd_play(snd_hello, 100, 0); // play the sound
lv_snd_flag=on; // play not again until player is gone...
}else{
lv_snd_flag=off; // ready to play again...
}
wait(1);
}
}




or if it should loop...

[EDIT]
Code:

sound snd_hello = <hello_player.wav>; // your wav (adjust)

action statue {
var lv_snd_dist = 100; // 100 quants for play (adjust)
var lv_snd_hdl; // sound handle

// wait for player...
while(player==null){wait(1);}

// statue loop
while(1){
// play when approaching
if(vec_dist(player.x,my.x)<lv_snd_dist && !snd_playing(lv_snd_hdl)){
lv_snd_hdl=snd_loop(snd_hello, 100, 0); // play the sound
}

// stop loop
if(vec_dist(player.x,my.x)>lv_snd_dist && snd_playing(lv_snd_hdl)){
snd_stop(lv_snd_hdl);
}
wait(1);
}
}


[/EDIT]

not tested but should work...

mercuryus

Last edited by mercuryus; 04/10/07 20:05.