Advertisement
Guest User

Casing-Node.lsl

a guest
Jan 20th, 2017
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.05 KB | None | 0 0
  1. float AGE = 4.00;
  2. float RATE = 0.05;
  3. integer auto = 1;
  4. integer WIND = FALSE;
  5. vector START_SCALE = < 0.05, 0.5, 0.0 >;
  6. vector END_SCALE = < 0.05, 0.5, 0.0 >;
  7. integer PATTERN = PSYS_SRC_PATTERN_ANGLE;
  8. vector START_COLOR = < 1, 1.0, 1.0 >;
  9. vector END_COLOR = < 1, 1.0, 1.0 >;
  10. float LIFE = 0.0;
  11. ////////////////////////////////////////////////////////////////
  12. mySetParticles() {
  13. if(auto == 1)
  14. {
  15.  
  16.  
  17. float START_ALPHA = 1.0; // 1.00
  18. float END_ALPHA = 0.0; // 1.00
  19. integer INTERP_COLOR = TRUE; // FALSE
  20. integer INTERP_SCALE = TRUE; // FALSE
  21. integer EMISSIVE = TRUE; // FALSE
  22. string TEXTURE = "2ec2cfad-1e82-8c04-6169-f0347f0d89dc"; // ""
  23. integer COUNT = 1; // 1
  24. float LIFE = 0.0; // 0.0
  25. float RADIUS = 0.00; // 0.00
  26. float ANGLE_BEGIN = 0.10; // 0.00
  27. float ANGLE_END = 0.10; // 0.00
  28. float IANGLE = 0.10; // 0.00
  29. float OANGLE = 45; // 0.00
  30. vector OMEGA = < 0.00, 0.00, 0.00 >; // < 0.00, 0.00, 0.00 >
  31. integer FOLLOW_SRC = FALSE; // FALSE
  32. integer FOLLOW_VELOCITY = TRUE; // FALSE
  33. integer WIND = FALSE; // FALSE-----------------------------------------
  34. integer BOUNCE = FALSE; // FALSE
  35. float SPEED_MIN = 2.00; // 1.00
  36. float SPEED_MAX = 2.00; // 1.00
  37. vector ACCEL = < 0.00, 0.00, -3 >; // < 0.00, 0.00, 0.00 >
  38. integer TARGET_POS = FALSE; // FALSE
  39. key TARGET = llGetKey(); // llGetKey();
  40. list particle_parameters = [
  41. PSYS_PART_FLAGS,(
  42.  
  43.  
  44. ( EMISSIVE * PSYS_PART_EMISSIVE_MASK ) |
  45. ( BOUNCE * PSYS_PART_BOUNCE_MASK ) |
  46. ( INTERP_COLOR * PSYS_PART_INTERP_COLOR_MASK ) |
  47. ( INTERP_SCALE * PSYS_PART_INTERP_SCALE_MASK ) |
  48. ( WIND * PSYS_PART_WIND_MASK ) |
  49. ( FOLLOW_SRC * PSYS_PART_FOLLOW_SRC_MASK ) |
  50. ( FOLLOW_VELOCITY * PSYS_PART_FOLLOW_VELOCITY_MASK ) |
  51. ( TARGET_POS * PSYS_PART_TARGET_POS_MASK ) ),
  52. PSYS_PART_START_COLOR, START_COLOR,
  53. PSYS_PART_END_COLOR, END_COLOR,
  54. PSYS_PART_START_ALPHA, START_ALPHA,
  55. PSYS_PART_END_ALPHA, END_ALPHA,
  56. PSYS_PART_START_SCALE, START_SCALE,
  57. PSYS_PART_END_SCALE, END_SCALE,
  58. PSYS_SRC_PATTERN, PATTERN,
  59. PSYS_SRC_BURST_PART_COUNT, COUNT,
  60. PSYS_SRC_BURST_RATE, RATE,
  61. PSYS_PART_MAX_AGE, AGE,
  62. PSYS_SRC_MAX_AGE, LIFE,
  63. PSYS_SRC_ACCEL, ACCEL,
  64. PSYS_SRC_BURST_RADIUS, RADIUS,
  65.  
  66.  
  67.  
  68.  
  69. PSYS_SRC_BURST_SPEED_MIN, SPEED_MIN,
  70. PSYS_SRC_BURST_SPEED_MAX, SPEED_MAX,
  71. PSYS_SRC_TARGET_KEY, TARGET,
  72. PSYS_SRC_ANGLE_BEGIN, ANGLE_BEGIN,
  73. PSYS_SRC_ANGLE_END, ANGLE_END,
  74. PSYS_SRC_INNERANGLE,IANGLE,
  75. PSYS_SRC_OUTERANGLE,OANGLE,
  76.  
  77.  
  78. PSYS_SRC_OMEGA, OMEGA,
  79.  
  80. PSYS_SRC_TEXTURE, TEXTURE
  81. ];
  82.  
  83. llParticleSystem( particle_parameters );
  84. }
  85. else
  86. {
  87. float START_ALPHA = 1.0; // 1.00
  88. float END_ALPHA = 0.0; // 1.00
  89. integer INTERP_COLOR = TRUE; // FALSE
  90. integer INTERP_SCALE = TRUE; // FALSE
  91. integer EMISSIVE = TRUE; // FALSE
  92. string TEXTURE = "890da767-9183-f1f9-0214-b26e01fc76ab"; // ""
  93. integer COUNT = 1; // 1
  94. float LIFE = 0.1; // 0.0
  95. float RADIUS = 0.00; // 0.00
  96. float ANGLE_BEGIN = 0.10; // 0.00
  97. float ANGLE_END = 0.10; // 0.00
  98. float IANGLE = 0.10; // 0.00
  99. float OANGLE = 45; // 0.00
  100. vector OMEGA = < 0.00, 0.00, 0.00 >; // < 0.00, 0.00, 0.00 >
  101. integer FOLLOW_SRC = FALSE; // FALSE
  102. integer FOLLOW_VELOCITY = TRUE; // FALSE
  103. integer WIND = FALSE; // FALSE-----------------------------------------
  104. integer BOUNCE = FALSE; // FALSE
  105. float SPEED_MIN = 2.00; // 1.00
  106. float SPEED_MAX = 2.00; // 1.00
  107. vector ACCEL = < 0.00, 0.00, -3 >; // < 0.00, 0.00, 0.00 >
  108. integer TARGET_POS = FALSE; // FALSE
  109. key TARGET = llGetKey(); // llGetKey();
  110. list particle_parameters = [
  111. PSYS_PART_FLAGS,(
  112.  
  113.  
  114. ( EMISSIVE * PSYS_PART_EMISSIVE_MASK ) |
  115. ( BOUNCE * PSYS_PART_BOUNCE_MASK ) |
  116. ( INTERP_COLOR * PSYS_PART_INTERP_COLOR_MASK ) |
  117. ( INTERP_SCALE * PSYS_PART_INTERP_SCALE_MASK ) |
  118. ( WIND * PSYS_PART_WIND_MASK ) |
  119. ( FOLLOW_SRC * PSYS_PART_FOLLOW_SRC_MASK ) |
  120. ( FOLLOW_VELOCITY * PSYS_PART_FOLLOW_VELOCITY_MASK ) |
  121. ( TARGET_POS * PSYS_PART_TARGET_POS_MASK ) ),
  122. PSYS_PART_START_COLOR, START_COLOR,
  123. PSYS_PART_END_COLOR, END_COLOR,
  124. PSYS_PART_START_ALPHA, START_ALPHA,
  125. PSYS_PART_END_ALPHA, END_ALPHA,
  126. PSYS_PART_START_SCALE, START_SCALE,
  127. PSYS_PART_END_SCALE, END_SCALE,
  128. PSYS_SRC_PATTERN, PATTERN,
  129. PSYS_SRC_BURST_PART_COUNT, COUNT,
  130. PSYS_SRC_BURST_RATE, RATE,
  131. PSYS_PART_MAX_AGE, AGE,
  132. PSYS_SRC_MAX_AGE, LIFE,
  133. PSYS_SRC_ACCEL, ACCEL,
  134. PSYS_SRC_BURST_RADIUS, RADIUS,
  135.  
  136.  
  137.  
  138.  
  139. PSYS_SRC_BURST_SPEED_MIN, SPEED_MIN,
  140. PSYS_SRC_BURST_SPEED_MAX, SPEED_MAX,
  141. PSYS_SRC_TARGET_KEY, TARGET,
  142. PSYS_SRC_ANGLE_BEGIN, ANGLE_BEGIN,
  143. PSYS_SRC_ANGLE_END, ANGLE_END,
  144. PSYS_SRC_INNERANGLE,IANGLE,
  145. PSYS_SRC_OUTERANGLE,OANGLE,
  146.  
  147.  
  148. PSYS_SRC_OMEGA, OMEGA,
  149.  
  150. PSYS_SRC_TEXTURE, TEXTURE
  151. ];
  152.  
  153. llParticleSystem( particle_parameters );
  154. }
  155.  
  156. // Turns on the particle hose!
  157. }
  158.  
  159.  
  160. integer gnum = 1;
  161. float spray = .01;
  162. casingloop()
  163. { @a;
  164. vector e = llRot2Euler(llGetCameraRot());
  165. rotation rot = llEuler2Rot(<0,0,e.z>);
  166.  
  167. rotation your_mom=<0,0,rot.z,rot.s>;
  168. vector v = llGetAgentSize(llGetOwner());
  169. llRezAtRoot("7.62 Bullet Casing",llGetPos()+<.32,-.3,v.z*.45>*rot,<-.5,-2.54,llFrand(spray * 2) - spray>*your_mom,llGetRot(),1);
  170. jump a;
  171. }
  172. foff()
  173. {
  174. integer mf2 = llGetNumberOfPrims();
  175. for (; mf2 >= 0; --mf2)
  176. {
  177. if(llGetLinkName(mf2) == "Mflash")
  178. {
  179.  
  180.  
  181. llSetLinkPrimitiveParamsFast(mf2,[PRIM_TEXTURE,ALL_SIDES,"8dcd4a48-2d37-4909-9f78-f7a9eb4ef903",<1,1,1>,<0,0,0>,0]);
  182. }
  183. }}
  184. fon()
  185. {
  186. integer mf2 = llGetNumberOfPrims();
  187. for (; mf2 >= 0; --mf2)
  188. {
  189. if(llGetLinkName(mf2) == "Mflash")
  190. {
  191.  
  192.  
  193. llSetLinkPrimitiveParamsFast(mf2,[PRIM_TEXTURE,ALL_SIDES,"e61c896b-3f7f-4b54-bc33-7e8011d32e25",<1,1,1>,<0,0,0>,0]);
  194. }
  195. }}
  196.  
  197. fcycle()
  198. { integer mf2 = llGetNumberOfPrims();
  199. for (; mf2 >= 0; --mf2)
  200. {
  201. if(llGetLinkName(mf2) == "Mflash")
  202. {
  203.  
  204. llSetLinkPrimitiveParamsFast(mf2,[PRIM_TEXTURE,ALL_SIDES,"e61c896b-3f7f-4b54-bc33-7e8011d32e25",<1,1,1>,<0,0,0>,0]);
  205. llSleep(.05);
  206. llSetLinkPrimitiveParamsFast(mf2,[PRIM_TEXTURE,ALL_SIDES,"8dcd4a48-2d37-4909-9f78-f7a9eb4ef903",<1,1,1>,<0,0,0>,0]);
  207. }
  208. }
  209. }
  210. default
  211. {
  212. on_rez(integer rez)
  213. {
  214. llRequestPermissions(llGetOwner(), PERMISSION_TRACK_CAMERA);
  215. }
  216. state_entry()
  217. {foff();
  218. llParticleSystem([]);
  219. llRequestPermissions(llGetOwner(), PERMISSION_TRACK_CAMERA);
  220. }
  221. link_message(integer snum, integer num, string str, key id)
  222. {
  223.  
  224.  
  225. if(str == "nsf1")
  226. {
  227.  
  228. !auto;
  229. WIND = TRUE;
  230. AGE = 2;
  231. LIFE = .1;
  232. RATE = 1;
  233. START_SCALE = < 0.13, 0.04, 5 >;
  234. END_SCALE = < 0.12, 0.04, 5 >;
  235. PATTERN = PSYS_SRC_PATTERN_ANGLE_CONE;
  236. START_COLOR = < 1.0, 1.0, 1.0 >;
  237. END_COLOR = < 1.0, 1.0, 1.0 >;
  238. mySetParticles();
  239. llSleep(.1);
  240. llParticleSystem([]);
  241.  
  242.  
  243.  
  244. }
  245. else if(str == "sf1")
  246. {fcycle();
  247.  
  248. !auto;
  249. WIND = TRUE;
  250. AGE = 2;
  251. LIFE = .1;
  252. RATE = 1;
  253. START_SCALE = < 0.13, 0.04, 5 >;
  254. END_SCALE = < 0.12, 0.04, 5 >;
  255. PATTERN = PSYS_SRC_PATTERN_ANGLE_CONE;
  256. START_COLOR = < 1.0, 1.0, 1.0 >;
  257. END_COLOR = < 1.0, 1.0, 1.0 >;
  258. mySetParticles();
  259. llSleep(.1);
  260. llParticleSystem([]);
  261.  
  262.  
  263.  
  264.  
  265. }
  266. else if(str == "nf1")
  267. {
  268. auto;
  269.  
  270. WIND = TRUE;
  271. AGE = 2;
  272. RATE = 0.15;
  273. START_SCALE = < 0.13, 0.04, 5 >;
  274. END_SCALE = < 0.13, 0.04, 5 >;
  275. PATTERN = PSYS_SRC_PATTERN_ANGLE_CONE;
  276. START_COLOR = < 1.0, 1.0, 1.0 >;
  277. END_COLOR = < 1.0, 1.0, 1.0 >;
  278. mySetParticles();
  279. }
  280. else if(str == "f1")
  281. {fon();
  282.  
  283. auto;
  284.  
  285. WIND = TRUE;
  286. AGE = 2;
  287. RATE = 0.15;
  288. START_SCALE = < 0.13, 0.04, 5 >;
  289. END_SCALE = < 0.13, 0.04, 5 >;
  290. PATTERN = PSYS_SRC_PATTERN_ANGLE_CONE;
  291. START_COLOR = < 1.0, 1.0, 1.0 >;
  292. END_COLOR = < 1.0, 1.0, 1.0 >;
  293. mySetParticles();
  294. }
  295.  
  296.  
  297. }
  298.  
  299.  
  300. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement