Advertisement
Guest User

Animations

a guest
Jan 20th, 2017
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.14 KB | None | 0 0
  1. string gAnimIdle = "[RFL_HOLD]";
  2. string gAnimAim = "[RFL_AIM]";
  3. string gAnimRunAim = "Anim_RunAim";
  4. string gAnimRun = "[RFL_RUN]";
  5. string gAnimWalkAim = "Anim_WalkAim";
  6. string gAnimWalk = "[RFL_WALK]";
  7. string gAnimJump = "[RFL_JUMP]";
  8. string gAnimDefault = "Anim_Default";
  9. integer reloading = 0;
  10. string gAnimCrouch = "[RFL_CROUCH]";
  11. string gAnimCrouchWalk = "[RFL_CWALK]";
  12.  
  13.  
  14. integer gMouselook;
  15. string gLastAnimation;
  16. integer gStarted = FALSE;
  17. key gOwner;
  18.  
  19.  
  20. fStopCertainAnimations()
  21. {
  22. llStopAnimation(gAnimRun);
  23.  
  24. llStopAnimation(gAnimIdle);
  25. llStopAnimation(gAnimAim);
  26. llStopAnimation(gAnimJump);
  27. llStopAnimation(gAnimWalk);
  28.  
  29. llStopAnimation(gAnimCrouch);
  30. llStopAnimation(gAnimCrouchWalk);
  31. }
  32.  
  33. default
  34. {
  35. state_entry()
  36. {
  37. if(llGetAttached() != 0)
  38. {
  39. llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION);
  40. }
  41. gOwner = llGetOwner();
  42. }
  43.  
  44. attach(key id)
  45. {
  46. if(llGetAttached() != 0)
  47. {
  48. llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION);
  49. }
  50. }
  51.  
  52. on_rez(integer start_param)
  53. {
  54. if(gOwner != llGetOwner())
  55. {
  56. llResetScript();
  57. }
  58. else
  59. {
  60. if(llGetAttached() != 0)
  61. {
  62. llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION);
  63. }
  64. }
  65. }
  66.  
  67. link_message(integer sender_num, integer num, string str, key id)
  68. {
  69.  
  70. if(str == "reload")
  71. {
  72. llStartAnimation("[RFL_RELOAD]");
  73. reloading = 1;
  74. llSetTimerEvent(0.1);
  75. }
  76. if(str == "reloaded")
  77. {
  78.  
  79. reloading = 0;
  80. llSetTimerEvent(0.1);
  81. }
  82.  
  83. if(str == "draw")
  84. {
  85. llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION);
  86. llSetTimerEvent(0.1);
  87. // llStartAnimation(gAnimDefault);
  88. gLastAnimation = "";
  89. gStarted = TRUE;
  90. }
  91. if(str == "sling")
  92. {
  93. llSetTimerEvent(0);
  94. gStarted = FALSE;
  95. fStopCertainAnimations();
  96. // llStopAnimation(gAnimDefault);
  97. }
  98.  
  99. }
  100.  
  101. timer()
  102. {
  103. string newAnimation = llGetAnimation(llGetOwner());
  104. integer agentInfo = llGetAgentInfo(llGetOwner());
  105. integer gMouselookGuess;
  106. if(agentInfo & AGENT_MOUSELOOK)
  107. {
  108. gMouselookGuess = TRUE;
  109. }
  110. else
  111. {
  112. gMouselookGuess = FALSE;
  113. }
  114. if(gLastAnimation != newAnimation|gMouselookGuess != gMouselook)
  115. {
  116. llSetTimerEvent(0);
  117. fStopCertainAnimations();
  118. if(newAnimation == "Standing")
  119. {
  120. if(gMouselookGuess == TRUE)
  121. { if(reloading)
  122. { llStopAnimation(gAnimAim); return;}
  123. else{
  124. llStartAnimation(gAnimAim);
  125. }
  126. }
  127. else
  128. { if(reloading)
  129. { llStopAnimation(gAnimIdle); return; }
  130. else{
  131. llStartAnimation(gAnimIdle);
  132. }
  133. }
  134. }
  135. else if(newAnimation == "Running")
  136. {
  137. if(gMouselookGuess == TRUE)
  138. {
  139. if(reloading)
  140. { llStartAnimation(gAnimRun); return;}
  141. else{
  142. llStopAnimation(gAnimIdle);
  143. llStartAnimation(gAnimAim);
  144. llStartAnimation(gAnimRun);
  145. }
  146. }
  147. else
  148. { if(reloading)
  149. { llStartAnimation(gAnimRun);return;}
  150. else{
  151. llStopAnimation(gAnimAim);
  152. llStartAnimation(gAnimIdle);
  153. llStartAnimation(gAnimRun);
  154. }
  155. }
  156. }
  157. else if(newAnimation == "Walking")
  158. {
  159. if(gMouselookGuess == TRUE)
  160. {
  161. if(reloading)
  162. { llStartAnimation(gAnimWalk);return;}
  163. else{
  164. llStopAnimation(gAnimIdle);
  165. llStartAnimation(gAnimAim);
  166. llStartAnimation(gAnimWalk);
  167. }
  168. }
  169. else
  170. { if(reloading)
  171. { llStartAnimation(gAnimWalk);return;}
  172. else{
  173. llStopAnimation(gAnimAim);
  174. llStartAnimation(gAnimIdle);
  175. llStartAnimation(gAnimWalk);
  176. }
  177. }
  178. }
  179. if(newAnimation == "Sitting")
  180. {
  181. gMouselook = TRUE;
  182.  
  183. llStartAnimation(gAnimIdle);
  184. }
  185. if(newAnimation == "Sitting on Ground")
  186. { if(reloading)
  187. { llStartAnimation(gAnimCrouch);}
  188. else{
  189. gMouselook = TRUE;
  190. llStartAnimation(gAnimCrouch);
  191. llStartAnimation(gAnimAim);
  192. }
  193. }
  194. if(newAnimation == "Crouching")
  195. { if(reloading)
  196. { llStartAnimation(gAnimCrouch);}
  197. else{
  198. gMouselook = TRUE;
  199. llStartAnimation(gAnimCrouch);
  200. llStartAnimation(gAnimAim);
  201. }
  202. }
  203. if(newAnimation == "CrouchWalking")
  204. {
  205. gMouselook = TRUE;
  206. // llStartAnimation(gAnimCrouchWalk);
  207. llStartAnimation(gAnimAim);
  208. }
  209. if(newAnimation == "Jumping")
  210. { if(reloading)
  211. { llStartAnimation(gAnimJump);}
  212. else{
  213. llStartAnimation(gAnimJump);
  214. llStartAnimation(gAnimAim);
  215. }
  216. }
  217. if(newAnimation == "PreJumping")
  218. { if(reloading)
  219. { }
  220. else{
  221.  
  222. llStartAnimation(gAnimAim);
  223. }
  224. }
  225. if(newAnimation == "Landing")
  226. { if(reloading)
  227. { }
  228. else{
  229.  
  230. llStartAnimation(gAnimAim);
  231. }
  232. }
  233. else if(newAnimation == "Turning Right")
  234. {
  235. if(gMouselookGuess == TRUE)
  236. {
  237. if(reloading)
  238. { }
  239. else{
  240. llStopAnimation(gAnimIdle);
  241. llStartAnimation(gAnimAim);
  242.  
  243. }
  244. }
  245. else
  246. { if(reloading)
  247. { }
  248. else{
  249. llStopAnimation(gAnimAim);
  250. llStartAnimation(gAnimIdle);
  251.  
  252. }
  253. }
  254. }
  255. else if(newAnimation == "Turning Left")
  256. {
  257. if(gMouselookGuess == TRUE)
  258. {
  259. if(reloading)
  260. { }
  261. else{
  262. llStopAnimation(gAnimIdle);
  263. llStartAnimation(gAnimAim);
  264.  
  265. }
  266. }
  267. else
  268. { if(reloading)
  269. { }
  270. else{
  271. llStopAnimation(gAnimAim);
  272. llStartAnimation(gAnimIdle);
  273.  
  274. }
  275. }
  276. }
  277. gLastAnimation = newAnimation;
  278. gMouselook = gMouselookGuess;
  279. llSetTimerEvent(0.1);
  280. }
  281.  
  282.  
  283. }
  284.  
  285.  
  286. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement