FastConeSpread
Jump to navigation
Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
// 2009, Nexii Malthus
// Public Domain
float Spread = 15.0;
default{
state_entry(){
Spread *= DEG_TO_RAD;
}
touch_start( integer d ){
float x = (llFrand(1)-0.5)*PI;
float y = llFrand(0.5)*Spread;
rotation rSpread = <0,llSin(y),0,llCos(y)> * <llSin(x),0,0,llCos(x)>;
llSetRot( rSpread );
// Example with rezzing a bullet:
// rSpread *= llGetRot();
// llRezObject("b",llGetPos()+llRot2Fwd(rSpread), <60,0,0>*rSpread, rSpread, 1 );
}
}
// 2008-2009, Aeron Kohime
// Licensed under the Creative Commons Attribution 3.0 License
// http://creativecommons.org/licenses/by/3.0/
float spread = 15.0;
default{
state_entry(){
spread *= DEG_TO_RAD;
}
touch_start( integer d ){
float y = spread*(llFrand(1)-0.5);
float z = spread*(llFrand(1)-0.5);
rotation rSpread = llEuler2Rot(<0,y,z>);
llSetRot( rSpread );
}
}