DedFense

(Mine) Dancer v3

Jun 26th, 2016
411
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.49 KB | None | 0 0
  1.  
  2. local asin = math.asin
  3. local atan2 = math.atan2
  4. local rad = math.rad
  5. local sin = math.sin
  6. local abs = math.abs
  7. local ceil = math.ceil
  8. local function getAngles(cf)
  9. local sx,sy,sz,m00,m01,m02,m10,m11,m12,m20,m21,m22 = cf:components()
  10. return atan2(-m12,m22),asin(m02),atan2(-m01,m00)
  11. end
  12. Lerp = {
  13. Number = function(C1,C2,inc)
  14. return C1 + (C2 - C1) * inc
  15. end;
  16. CFrame = function(a,b,m)
  17. local c,d={a:components()},{b:components()}
  18. table.foreach(c,function(a,b)c[a]=c[a]+(d[a]-c[a])*m end)
  19. return CFrame.new(unpack(c))
  20. end;
  21. }
  22. local function genWeld(a,b)
  23. local w = Instance.new("Weld",a)
  24. w.Part0 = a
  25. w.Part1 = b
  26. return w
  27. end
  28. Part = function(x,y,z,color,tr,cc,an,parent)
  29. local p = Instance.new('Part',parent or Weapon)
  30. p.formFactor = 'Custom'
  31. p.Size = Vector3.new(x,y,z)
  32. p.BrickColor = BrickColor.new(color)
  33. p.CanCollide = cc
  34. p.Transparency = tr
  35. p.Anchored = an
  36. p.TopSurface,p.BottomSurface = 0,0
  37. p:BreakJoints()
  38. return p
  39. end
  40. Weld = function(p0,p1,x,y,z,rx,ry,rz,par)
  41. local w = Instance.new('Motor',par or p0)
  42. w.Part0 = p0
  43. w.Part1 = p1
  44. w.C1 = CFrame.new(x,y,z)*CFrame.Angles(rx,ry,rz)
  45. return w
  46. end
  47. Mesh = function(par,num,x,y,z)
  48. local msh = nil
  49. if num == 1 then
  50. msh = Instance.new("CylinderMesh",par)
  51. elseif num == 2 then
  52. msh = Instance.new("SpecialMesh",par)
  53. msh.MeshType = 'Wedge'
  54. elseif num == 3 then
  55. msh = Instance.new("BlockMesh",par)
  56. elseif type(num) == 'string' then
  57. msh = Instance.new("SpecialMesh",par)
  58. msh.MeshId = num
  59. end
  60. msh.Scale = Vector3.new(x,y,z)
  61. return msh
  62. end
  63. anglespeed = 1
  64. yeet = 0
  65. dnc=0
  66. count = 0
  67. angle = 0
  68. counttime = 50
  69. countspeed = 1
  70. speed = 1
  71. hats={}
  72. song={}
  73. local plr=game.Players.LocalPlayer
  74. local pchar=plr.Character
  75. local torso=pchar.Torso
  76. local mos=plr:GetMouse()
  77. local Neck = genWeld(pchar.Torso,pchar.Head)
  78. Neck.C0 = CFrame.new(0,1,0)
  79. Neck.C1 = CFrame.new(0,-0.5,0)
  80. local LeftShoulder = genWeld(pchar.Torso,pchar['Left Arm'])
  81. LeftShoulder.C0 = CFrame.new(-1,0.5,0)
  82. LeftShoulder.C1 = CFrame.new(0.5,0.5,0)
  83. RightShoulder = genWeld(pchar.Torso,pchar['Right Arm'])
  84. RightShoulder.C0 = CFrame.new(1,0.5,0)
  85. RightShoulder.C1 = CFrame.new(-0.5,0.5,0)
  86. local LeftHip = genWeld(pchar.Torso,pchar['Left Leg'])
  87. LeftHip.C0 = CFrame.new(-1,-1,0)
  88. LeftHip.C1 = CFrame.new(-0.5,1,0)
  89. local RightHip = genWeld(pchar.Torso,pchar['Right Leg'])
  90. RightHip.C0 = CFrame.new(1,-1,0)
  91. RightHip.C1 = CFrame.new(0.5,1,0)
  92. local RootJoint = genWeld(pchar.HumanoidRootPart,pchar.Torso)
  93. RootJoint.C0 = CFrame.new(0,0,0) * CFrame.Angles(-math.pi/2,0,math.pi)
  94. RootJoint.C1 = CFrame.new(0,0,0) * CFrame.Angles(-math.pi/2,0,math.pi)
  95. local mainp=Part(2.01,2.01,1.01,'Black',0,false,false,pchar)
  96. Weld(torso,mainp,0,0,0,0,0,0,mainp)
  97. local p=Part(2.02,1.2,1.02,'Lavender',0,false,false,pchar)
  98. Weld(mainp,p,0,.41,0,0,0,0,p)
  99. local p=Part(2.02,2.03,.5,'Lavender',0,false,false,pchar)
  100. Weld(mainp,p,0,0,-0.26,0,0,0,p)
  101. local p=Part(.5,1,1.02,'Lavender',0,false,false,pchar)
  102. Weld(mainp,p,-0.2,-0.65,0,0,0,rad(30),p)
  103. local p=Part(.5,1,1.02,'Lavender',0,false,false,pchar)
  104. Weld(mainp,p,0.2,-0.65,0,0,0,-rad(30),p)
  105. local p=Part(.5,1,1.02,'Lavender',0,false,false,pchar)
  106. Weld(mainp,p,.76,-0.51,0,0,0,0,p)
  107. local p=Part(.5,1,1.02,'Lavender',0,false,false,pchar)
  108. Weld(mainp,p,-.76,-0.51,0,0,0,0,p)
  109. local p=Part(1.01,2.01,1.01,'Nougat',0,false,false,pchar)
  110. Weld(pchar['Right Arm'],p,0,0,0,0,0,0,p)
  111. local p=Part(1.02,1.25,1.02,'Lavender',0,false,false,pchar)
  112. Weld(pchar['Right Arm'],p,0,-0.41,0,0,0,0,p)
  113. local p=Part(1.01,2.01,1.01,'Nougat',0,false,false,pchar)
  114. Weld(pchar['Left Arm'],p,0,0,0,0,0,0,p)
  115. local p=Part(1.02,1.25,1.02,'Lavender',0,false,false,pchar)
  116. Weld(pchar['Left Arm'],p,0,-0.41,0,0,0,0,p)
  117. local p=Part(1.01,2.01,1.01,'Dark stone grey',0,false,false,pchar)
  118. Weld(pchar['Right Leg'],p,0,0,0,0,0,0,p)
  119. local p=Part(1.01,2.01,1.01,'Dark stone grey',0,false,false,pchar)
  120. Weld(pchar['Left Leg'],p,0,0,0,0,0,0,p)
  121. local p=Part(2,1,1,'Nougat',0,false,false,pchar)
  122. Weld(pchar.Head,p,0,0,0,0,0,0,p)
  123. h=Mesh(p,2,1.25,1.25,1.25)
  124. h.MeshType='Head'
  125. function face(id)
  126. pchar.Head.face.Texture='http://www.roblox.com/asset/?id='..id
  127. end
  128.  
  129. function addh(id,txt,s1,s2,s3,x,y,z)
  130. local hat=Part(1,1,1,'',0,false,false,pchar)
  131. table.insert(hats,hat)
  132. Weld(pchar.Head,hat,x,y,z,0,0,0,p)
  133. m=Mesh(hat,'http://www.roblox.com/asset/?id='..id,s1,s2,s3)
  134. m.TextureId='http://www.roblox.com/asset/?id='..txt
  135. return m
  136. end
  137.  
  138. function clearhats()
  139. for i=1,#hats do
  140. hats[i]:Destroy()
  141. end
  142. hats={}
  143. end
  144.  
  145. function so(id,pi)
  146. local s = Instance.new("Sound",torso)
  147. s.Looped=true
  148. s.Pitch=pi
  149. s.SoundId = "http://roblox.com/asset/?id="..id
  150. s.Volume=1
  151. table.insert(song,s)
  152. s:play()
  153. end
  154.  
  155. function killsong()
  156. for i=1,#song do
  157. song[i]:stop()
  158. song[i]:Destroy()
  159. end
  160. song={}
  161. end
  162.  
  163. local function newLerpTo(weld)
  164. return {
  165. Weld = weld; -- The weld that will lerp
  166. To = weld.C0; -- Where it will lerp to; a CFrame
  167. Cache = weld.C0; -- Cache of original position; it helps when making anim keyframes
  168. Speed = 0.1; -- Speed of lerp. 0.1 or 0.2 is best
  169. }
  170. end
  171. LerpTo = {
  172. Neck = newLerpTo(Neck);
  173. LeftArm = newLerpTo(LeftShoulder);
  174. RightArm = newLerpTo(RightShoulder);
  175. LeftLeg = newLerpTo(LeftHip);
  176. RightLeg = newLerpTo(RightHip);
  177. RootJoint = newLerpTo(RootJoint);
  178. }
  179. for _,v in pairs(pchar:GetChildren()) do
  180. if v.ClassName=="Hat" then
  181. v:remove()
  182. end
  183. end
  184.  
  185. pchar.Head.Transparency=.99
  186.  
  187.  
  188. mos.KeyDown:connect(function(key)
  189. if(key == "q")then--tunak
  190. q=not q
  191. if q==true then
  192. dnc=0
  193. face('22815795')
  194. addh('11380070','11380053',1,1,1,0,-.75,0)
  195. so('162682002',1)
  196. Spawn(function()
  197. while true do wait()
  198. dnc=1
  199. for i=1,5 do
  200. if q==false then dnc=0 break end
  201. wait(1)
  202. end
  203. dnc=2
  204. for i=1,5 do
  205. if q==false then dnc=0 break end
  206. wait(1)
  207. end
  208. dnc=3
  209. for i=1,5 do
  210. if q==false then dnc=0 break end
  211. wait(1)
  212. end
  213. end
  214. end)
  215. else
  216. killsong()
  217. clearhats()
  218. end
  219. end
  220. if(key == "t")then-- swing
  221. q=not q
  222. if q==true then
  223. dnc=0
  224. face('13079565')
  225. addh('1285237','63036639',1.1,1.1,1.1,0,-.6,0)
  226. so('154479412',1)
  227. Spawn(function()
  228. while true do wait()
  229. dnc=9
  230. for i=1,5 do
  231. if q==false then dnc=0 break end
  232. wait(1)
  233. end
  234. dnc=9
  235. for i=1,5 do
  236. if q==false then dnc=0 break end
  237. wait(1)
  238. end
  239. end
  240. end)
  241. else
  242. killsong()
  243. clearhats()
  244. end
  245. end
  246. if(key == "e")then-- touch
  247. q=not q
  248. if q==true then
  249. dnc=0
  250. face('114968735')
  251. addh('1577360','1577349',1,1,1,0,-.25,.2)
  252. addh('169415286','169415338',2.5,2.5,2.5,0,-.7,-.15)
  253. so('168007346',1)
  254. Spawn(function()
  255. while true do wait()
  256. dnc=4
  257. for i=1,5 do
  258. if q==false then dnc=0 break end
  259. wait(1)
  260. end
  261. dnc=5
  262. for i=1,5 do
  263. if q==false then dnc=0 break end
  264. wait(1)
  265. end
  266. dnc=6
  267. for i=1,5 do
  268. if q==false then dnc=0 break end
  269. wait(1)
  270. end
  271. end
  272. end)
  273. else
  274. killsong()
  275. clearhats()
  276. end
  277. end
  278. if(key == "r")then-- op
  279. q=not q
  280. if q==true then
  281. dnc=0
  282. face('13079565')
  283. addh('13640868','18987684',1,1,1,0,-.8,0)
  284. addh('13332444','13332337',1,1,1,0,-.25,0)
  285. addh('68251147','67995474',1,1,1,0,-.2,0.17)
  286. so('130844430',1)
  287. Spawn(function()
  288. while true do wait()
  289. dnc=7
  290. for i=1,5 do
  291. if q==false then dnc=0 break end
  292. wait(1)
  293. end
  294. dnc=8
  295. for i=1,5 do
  296. if q==false then dnc=0 break end
  297. wait(1)
  298. end
  299. end
  300. end)
  301. else
  302. killsong()
  303. clearhats()
  304. end
  305. end
  306. end)
  307.  
  308. local function updateanims()
  309. if dnc==0 then
  310. if Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude < 2 then
  311. anglespeed = 1/2
  312. LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(sin(yeet)*0.05,0,0)
  313. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,0) * CFrame.new(0,0,0)
  314. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(sin(yeet)*0.1,0,0)
  315. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(-sin(yeet)*0.1,0,0)
  316. LerpTo.RightLeg.To = LerpTo.RightLeg.Cache * CFrame.Angles(0,0,abs(sin(yeet))*0.1)
  317. LerpTo.LeftLeg.To = LerpTo.LeftLeg.Cache * CFrame.Angles(0,0,-abs(sin(yeet))*0.1)
  318. end
  319. if Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude > 2 then
  320. anglespeed = 4
  321. LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(0,0,math.sin(yeet)*0.05)
  322. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(-sin(yeet)*.8,0,rad(10))
  323. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(sin(yeet)*.8,0,-rad(10))
  324. LerpTo.RightLeg.To = LerpTo.RightLeg.Cache * CFrame.Angles(sin(yeet)*.8,0,0)
  325. LerpTo.LeftLeg.To = LerpTo.LeftLeg.Cache * CFrame.Angles(-sin(yeet)*.8,0,0)
  326. end
  327. end
  328. if dnc==1 then
  329. anglespeed = 5
  330. LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(sin(angle)*0.05,0,0)
  331. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,sin(angle)*0.15,0) * CFrame.new(0,abs(sin(angle))*0.1,0)
  332. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(80)-sin(yeet)*0.2,0,-rad(65))
  333. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(rad(80)-sin(yeet)*0.2,0,rad(65))
  334. LerpTo.RightLeg.To = LerpTo.RightLeg.Cache * CFrame.Angles(rad(20)+sin(angle)*0.5,0,0)
  335. LerpTo.LeftLeg.To = LerpTo.LeftLeg.Cache * CFrame.Angles(rad(20)-sin(angle)*0.5,0,0)
  336. end
  337. if dnc==2 then
  338. anglespeed = 2
  339. LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(sin(angle)*0.05,-rad(20),0)
  340. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,0) * CFrame.new(0,abs(sin(angle))*0.1,0)
  341. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(80)-sin(angle)*0.5,0,rad(20))
  342. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(0,0,-abs(sin(angle))*0.3)
  343. LerpTo.RightLeg.To = LerpTo.RightLeg.Cache * CFrame.Angles(0,0,abs(sin(yeet))*0.3)
  344. LerpTo.LeftLeg.To = LerpTo.LeftLeg.Cache * CFrame.Angles(0,0,-abs(sin(yeet))*0.3)
  345. end
  346. if dnc==3 then
  347. anglespeed = 3
  348. LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(sin(angle)*0.05,0,0)
  349. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,0) * CFrame.new(0,abs(sin(angle))*0.3,0)
  350. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(-rad(180),0,math.pi/30-math.sin(-angle)*0.2)
  351. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(-rad(180),0,-math.pi/30-math.sin(-angle)*0.2)
  352. LerpTo.RightLeg.To = LerpTo.RightLeg.Cache * CFrame.Angles(sin(yeet)*0.3,0,0)
  353. LerpTo.LeftLeg.To = LerpTo.LeftLeg.Cache * CFrame.Angles(-sin(yeet)*0.3,0,0)
  354. end
  355. if dnc==4 then
  356. anglespeed = 3
  357. LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(0,0,sin(yeet)*0.1)
  358. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,0) * CFrame.new(0,0,0)
  359. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(10),rad(30),rad(10)) * CFrame.new(0,-abs(sin(yeet))*0.2,0)
  360. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(rad(10),-rad(30),-rad(10)) * CFrame.new(0,-abs(sin(yeet))*0.2,0)
  361. LerpTo.RightLeg.To = LerpTo.RightLeg.Cache * CFrame.Angles(0,0,abs(sin(yeet))*0.1)
  362. LerpTo.LeftLeg.To = LerpTo.LeftLeg.Cache * CFrame.Angles(0,0,-abs(sin(yeet))*0.1)
  363. end
  364. if dnc==5 then
  365. anglespeed = 3
  366. LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(rad(10),0,sin(yeet)*0.1)
  367. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(rad(20),sin(angle)*0.2,sin(angle)*0.5) * CFrame.new(0,-abs(sin(angle))*0.5,0)
  368. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(90)-sin(yeet)*0.5,0,-rad(10))
  369. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(rad(90)-sin(yeet)*0.5,0,rad(10))
  370. LerpTo.RightLeg.To = LerpTo.RightLeg.Cache * CFrame.Angles(rad(20),0,abs(sin(yeet))*0.1)
  371. LerpTo.LeftLeg.To = LerpTo.LeftLeg.Cache * CFrame.Angles(rad(20),0,-abs(sin(yeet))*0.1)
  372. end
  373. if dnc==6 then
  374. anglespeed = 3
  375. LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(0,sin(angle)*1,sin(yeet)*0.1)
  376. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,0) * CFrame.new(sin(angle)*1,0,0)
  377. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(10),rad(30),-rad(10)) * CFrame.new(0,-abs(sin(yeet))*0.2,0)
  378. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(rad(10),-rad(30),rad(10)) * CFrame.new(0,-abs(sin(yeet))*0.2,0)
  379. LerpTo.RightLeg.To = LerpTo.RightLeg.Cache * CFrame.Angles(0,0,abs(sin(yeet))*0.2)
  380. LerpTo.LeftLeg.To = LerpTo.LeftLeg.Cache * CFrame.Angles(0,0,-abs(sin(yeet))*0.2)
  381. end
  382. if dnc==7 then
  383. anglespeed = 4
  384. LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(0,-sin(yeet)*0.2,0)
  385. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,sin(yeet)*0.2) * CFrame.new(0,0,-abs(sin(yeet))*0.4)
  386. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(80)+sin(yeet)*0.2,0,-rad(50)) *CFrame.new(0,-.5,0)
  387. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(rad(90)+sin(yeet)*0.2,0,rad(50))*CFrame.new(0,-.5,0)
  388. LerpTo.RightLeg.To = LerpTo.RightLeg.Cache * CFrame.Angles(0,0,rad(20)+sin(yeet)*0.5) *CFrame.new(0,abs(sin(yeet))*0.3,0)
  389. LerpTo.LeftLeg.To = LerpTo.LeftLeg.Cache * CFrame.Angles(0,0,-rad(20)+sin(yeet)*0.5) *CFrame.new(0,abs(sin(yeet))*0.3,0)
  390. end
  391. if dnc==8 then
  392. anglespeed = 4
  393. LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(0,-sin(yeet)*0.2,0)
  394. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,sin(yeet)*0.2) * CFrame.new(0,0,-abs(sin(yeet))*0.4)
  395. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(180)+sin(yeet)*.3,0,sin(yeet)*.3)
  396. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(rad(90)+sin(yeet)*0.2,0,rad(50))*CFrame.new(0,-.5,0)
  397. LerpTo.RightLeg.To = LerpTo.RightLeg.Cache * CFrame.Angles(0,0,rad(20)+sin(yeet)*0.5) *CFrame.new(0,abs(sin(yeet))*0.3,0)
  398. LerpTo.LeftLeg.To = LerpTo.LeftLeg.Cache * CFrame.Angles(0,0,-rad(20)+sin(yeet)*0.5) *CFrame.new(0,abs(sin(yeet))*0.3,0)
  399. end
  400. if dnc==9 then
  401. anglespeed = 4
  402. LerpTo.Neck.To = LerpTo.Neck.Cache * CFrame.Angles(0,-sin(yeet)*0.2,0)
  403. LerpTo.RootJoint.To = LerpTo.RootJoint.Cache * CFrame.Angles(0,0,sin(yeet)*0.2)
  404. LerpTo.RightArm.To = LerpTo.RightArm.Cache * CFrame.Angles(rad(80)+sin(yeet)*0.2,0,-rad(50)) *CFrame.new(0,-.5,0)
  405. LerpTo.LeftArm.To = LerpTo.LeftArm.Cache * CFrame.Angles(rad(90)+sin(yeet)*0.2,0,rad(50))*CFrame.new(0,-.5,0)
  406. LerpTo.RightLeg.To = LerpTo.RightLeg.Cache * CFrame.Angles(0,0,rad(20)+sin(yeet)*0.5) *CFrame.new(0,abs(sin(yeet))*0.3,0)
  407. LerpTo.LeftLeg.To = LerpTo.LeftLeg.Cache * CFrame.Angles(0,0,-rad(20)+sin(yeet)*0.5) *CFrame.new(0,abs(sin(yeet))*0.3,0)
  408. end
  409. end
  410. Spawn(function()
  411. while wait()do
  412. count = (count%counttime)+countspeed
  413. angle = math.pi*math.sin((math.pi*2)/counttime*count)
  414. yeet = (yeet % 100) + anglespeed/10
  415. end
  416. end)
  417. game:service'RunService'.RenderStepped:connect(function()
  418. for _,v in pairs(LerpTo) do
  419. v.Weld.C0 = Lerp.CFrame(v.Weld.C0,v.To,v.Speed)
  420. end
  421. updateanims()
  422. end)
Add Comment
Please, Sign In to add comment