
bouncewitmeyall
integer repflag=0;
integer bounceflag=0;
integer clickflag=0;
integer chI_colval;
doit(){
float rForce = (llFrand(6)+7)*llGetMass();
float rand = llFrand(1.1);
llApplyImpulse(<0,0,rForce>, 0);
if(!repflag)
llSetTimerEvent(rand+2.1);
}
default{
on_rez(integer param){
if(param!=0)
chI_colval=llListen(param,"","","");
}
state_entry(){
llSetStatus(STATUS_DIE_AT_EDGE,TRUE);
llListen(-777477,"","","");
}
listen(integer chan,string who,key id,string msg){
if(msg=="hup"){
if(bounceflag==0){
bounceflag=1;
doit();
}
}
else{
llSetColor((vector)msg,0);
llListenRemove(chI_colval);
}
}
timer(){
if(!repflag)
repflag=1;
else
doit();
if(clickflag==1)
llRegionSay(-777477,"hup");
}
touch_end(integer total_number){
llShout(-777477,"hup");
clickflag=1;
doit();
}
}