Advertisement
Guest User

Untitled

a guest
Jun 27th, 2017
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 17.02 KB | None | 0 0
  1. local p = game.Players.LocalPlayer
  2. local char = p.Character
  3. local mouse = p:GetMouse()
  4. local larm = char["Left Arm"]
  5. local rarm = char["Right Arm"]
  6. local lleg = char["Left Leg"]
  7. local rleg = char["Right Leg"]
  8. local hed = char.Head
  9. local torso = char.Torso
  10. local hum = char.Humanoid
  11. local cam = game.Workspace.CurrentCamera
  12. local root = char.HumanoidRootPart
  13. local deb = false
  14. local shot = 0
  15. local debris=game:service"Debris"
  16. local l = game:GetService("Lighting")
  17. local rs = game:GetService("RunService").RenderStepped
  18. ptz = {0.8, 0.85, 0.9, 0.95, 1, 1.05, 1.1}
  19. math.randomseed(os.time())
  20.  
  21. Debounces = {
  22. CanAttack = true;
  23. NoIdl = false;
  24. Slashing = false;
  25. Slashed = false;
  26. RPunch = false;
  27. RPunched = false;
  28. LPunch = false;
  29. LPunched = false;
  30. }
  31. local Touche = {char.Name, }
  32.  
  33.  
  34.  
  35. do --CFrame lerp
  36. local function QuaternionFromCFrame(cf)
  37. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  38. local trace = m00 + m11 + m22
  39. if trace > 0 then
  40. local s = math.sqrt(1 + trace)
  41. local recip = 0.5/s
  42. return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5
  43. else
  44. local i = 0
  45. if m11 > m00 then
  46. i = 1
  47. end
  48. if m22 > (i == 0 and m00 or m11) then
  49. i = 2
  50. end
  51. if i == 0 then
  52. local s = math.sqrt(m00-m11-m22+1)
  53. local recip = 0.5/s
  54. return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip
  55. elseif i == 1 then
  56. local s = math.sqrt(m11-m22-m00+1)
  57. local recip = 0.5/s
  58. return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip
  59. elseif i == 2 then
  60. local s = math.sqrt(m22-m00-m11+1)
  61. local recip = 0.5/s return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip
  62. end
  63. end
  64. end
  65. local function QuaternionToCFrame(px, py, pz, x, y, z, w)
  66. local xs, ys, zs = x + x, y + y, z + z
  67. local wx, wy, wz = w*xs, w*ys, w*zs
  68. local xx = x*xs
  69. local xy = x*ys
  70. local xz = x*zs
  71. local yy = y*ys
  72. local yz = y*zs
  73. local zz = z*zs
  74. return CFrame.new(px, py, pz,1-(yy+zz), xy - wz, xz + wy,xy + wz, 1-(xx+zz), yz - wx, xz - wy, yz + wx, 1-(xx+yy))
  75. end
  76. local function QuaternionSlerp(a, b, t)
  77. local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4]
  78. local startInterp, finishInterp;
  79. if cosTheta >= 0.0001 then
  80. if (1 - cosTheta) > 0.0001 then
  81. local theta = math.acos(cosTheta)
  82. local invSinTheta = 1/math.sin(theta)
  83. startInterp = math.sin((1-t)*theta)*invSinTheta
  84. finishInterp = math.sin(t*theta)*invSinTheta
  85. else
  86. startInterp = 1-t
  87. finishInterp = t
  88. end
  89. else
  90. if (1+cosTheta) > 0.0001 then
  91. local theta = math.acos(-cosTheta)
  92. local invSinTheta = 1/math.sin(theta)
  93. startInterp = math.sin((t-1)*theta)*invSinTheta
  94. finishInterp = math.sin(t*theta)*invSinTheta
  95. else
  96. startInterp = t-1
  97. finishInterp = t
  98. end
  99. end
  100. return a[1]*startInterp + b[1]*finishInterp, a[2]*startInterp + b[2]*finishInterp, a[3]*startInterp + b[3]*finishInterp, a[4]*startInterp + b[4]*finishInterp
  101. end
  102. function clerp(a,b,t)
  103. local qa = {QuaternionFromCFrame(a)}
  104. local qb = {QuaternionFromCFrame(b)}
  105. local ax, ay, az = a.x, a.y, a.z
  106. local bx, by, bz = b.x, b.y, b.z
  107. local _t = 1-t
  108. return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t))
  109. end
  110.  
  111. end
  112. do --the animating
  113. plr = game:service'Players'.LocalPlayer
  114. char = plr.Character
  115. mouse = plr:GetMouse()
  116. humanoid = char:findFirstChild("Humanoid")
  117. torso = char:findFirstChild("Torso")
  118. head = char.Head
  119. ra = char:findFirstChild("Right Arm")
  120. la = char:findFirstChild("Left Arm")
  121. rl = char:findFirstChild("Right Leg")
  122. ll = char:findFirstChild("Left Leg")
  123. rs = torso:findFirstChild("Right Shoulder")
  124. ls = torso:findFirstChild("Left Shoulder")
  125. rh = torso:findFirstChild("Right Hip")
  126. lh = torso:findFirstChild("Left Hip")
  127. neck = torso:findFirstChild("Neck")
  128. rj = char:findFirstChild("HumanoidRootPart"):findFirstChild("RootJoint")
  129. anim = char:findFirstChild("Animate")
  130. rootpart = char:findFirstChild("HumanoidRootPart")
  131. camera = workspace.CurrentCamera
  132. if anim then
  133. anim:Destroy()
  134. end
  135.  
  136.  
  137. local rm = Instance.new("Motor", torso)
  138. rm.C0 = CFrame.new(1.5, 0.5, 0)
  139. rm.C1 = CFrame.new(0, 0.5, 0)
  140. rm.Part0 = torso
  141. rm.Part1 = ra
  142. local lm = Instance.new("Motor", torso)
  143. lm.C0 = CFrame.new(-1.5, 0.5, 0)
  144. lm.C1 = CFrame.new(0, 0.5, 0)
  145. lm.Part0 = torso
  146. lm.Part1 = la
  147.  
  148. local rlegm = Instance.new("Motor", torso)
  149. rlegm.C0 = CFrame.new(0.5, -1, 0)
  150. rlegm.C1 = CFrame.new(0, 1, 0)
  151. rlegm.Part0 = torso
  152. rlegm.Part1 = rl
  153. local llegm = Instance.new("Motor", torso)
  154. llegm.C0 = CFrame.new(-0.5, -1, 0)
  155. llegm.C1 = CFrame.new(0, 1, 0)
  156. llegm.Part0 = torso
  157. llegm.Part1 = ll
  158.  
  159. neck.C0 = CFrame.new(0, 1, 0)
  160. neck.C1 = CFrame.new(0, -0.5, 0)
  161.  
  162.  
  163. rj.C0 = CFrame.new()
  164. rj.C1 = CFrame.new()
  165.  
  166.  
  167. local sound = Instance.new("Sound", head)
  168. sound.SoundId = "http://www.roblox.com/asset/?id=130797915"
  169. sound.Volume = 0.8
  170. sound.Looped = true
  171.  
  172. local speed = 0.3
  173. local angle = 0
  174. local sitting = false
  175. local humanwalk = false
  176. local anglespeed = 1
  177. rsc0 = rm.C0
  178. lsc0 = lm.C0
  179. llc0 = llegm.C0
  180. rlc0 = rlegm.C0
  181. neckc0 = neck.C0
  182.  
  183. local controllerService = game:GetService("ControllerService")
  184. local controller = controllerService:GetChildren()[1]
  185.  
  186. controller.Parent = nil
  187.  
  188. while wait() do
  189. angle = (angle % 100) + anglespeed/10
  190. mvmnt = math.pi * math.sin(math.pi*2/100*(angle*10))
  191. local rscf = rsc0
  192. local lscf = lsc0
  193. local rlcf = rlc0
  194. local llcf = llc0
  195. local rjcf = CFrame.new()
  196. local ncf = neckc0
  197. local rayz = Ray.new(rootpart.Position, Vector3.new(0, -6, 0))
  198. local hitz, enz = workspace:findPartOnRay(rayz, char)
  199. if not hitz then
  200. if sound.IsPlaying then
  201. sound:stop()
  202. end
  203.  
  204. if Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude > 2 then
  205.  
  206. ncf = neckc0 * CFrame.Angles(math.pi/5, 0, 0)
  207. rjcf = CFrame.new() * CFrame.Angles(-math.pi/5, math.sin(angle)*0.05, 0)
  208. rscf = rsc0 * CFrame.Angles(math.pi/1.7+math.sin(angle)*0.1, 0, 0)
  209. lscf = lsc0 * CFrame.Angles(math.pi/1.7+math.sin(-angle)*0.1, 0, 0)
  210. rlcf = rlc0 * CFrame.Angles(-math.pi/10+math.sin(-angle)*0.3, 0, 0)
  211. llcf = llc0 * CFrame.Angles(-math.pi/10+math.sin(angle)*0.3, 0, 0)
  212.  
  213. else
  214.  
  215. ncf = neckc0 * CFrame.Angles(math.pi/14, 0, 0)
  216. rjcf = CFrame.new() * CFrame.Angles(-math.pi/18, math.sin(angle)*0.05, 0)
  217. rscf = rsc0 * CFrame.Angles(-math.pi/10+math.sin(angle)*0.2, 0, 0)
  218. lscf = lsc0 * CFrame.Angles(-math.pi/10+math.sin(-angle)*0.2, 0, 0)
  219. rlcf = rlc0 * CFrame.new(0, 0.7, -0.5) CFrame.Angles(-math.pi/14, 0, 0)
  220. llcf = llc0 * CFrame.Angles(-math.pi/20, 0, 0)
  221.  
  222. end
  223. elseif humanoid.Sit then
  224. if sound.IsPlaying and sound.SoundId == "http://www.roblox.com/asset/?id=150794704" then
  225. anglespeed = 6
  226. ncf = neckc0 * CFrame.Angles(math.pi/5-math.sin(angle)*0.1, 0, 0)
  227. rjcf = CFrame.new(0, -0.8, 0) * CFrame.Angles(-math.pi/5, 0, 0)
  228. rscf = rsc0 * CFrame.new(-.45, 0.2, -.3) * CFrame.Angles(math.pi/3, 0, -math.rad(15))
  229. lscf = lsc0 * CFrame.new(.45, 0.2, -.3) * CFrame.Angles(math.pi/3, 0, math.rad(15))
  230. rlcf = rlc0 * CFrame.Angles(math.pi/2+math.pi/5, 0, math.rad(20))
  231. llcf = llc0 * CFrame.Angles(math.pi/2+math.pi/5, 0, -math.rad(20))
  232. elseif sound.IsPlaying and sound.SoundId == "http://www.roblox.com/asset/?id=135570347" then
  233. anglespeed = 4
  234. ncf = neckc0 * CFrame.Angles(math.pi/5-math.abs(math.sin(angle))*0.3, 0, 0)
  235. rjcf = CFrame.new(0, -0.8, 0) * CFrame.Angles(-math.pi/5, 0, 0)
  236. rscf = rsc0 * CFrame.new(-.45, 0.2, -.3) * CFrame.Angles(math.pi/3, 0, -math.rad(15))
  237. lscf = lsc0 * CFrame.new(.45, 0.2, -.3) * CFrame.Angles(math.pi/3, 0, math.rad(15))
  238. rlcf = rlc0 * CFrame.Angles(math.pi/2+math.pi/5, 0, math.rad(20))
  239. llcf = llc0 * CFrame.Angles(math.pi/2+math.pi/5, 0, -math.rad(20))
  240. elseif sound.IsPlaying and sound.SoundId == "http://www.roblox.com/asset/?id=149713968" then
  241. anglespeed = 2
  242. ncf = neckc0 * CFrame.Angles(math.pi/5, 0, math.sin(angle)*0.08)
  243. rjcf = CFrame.new(0, -0.8, 0) * CFrame.Angles(-math.pi/5, math.sin(angle)*0.01, 0)
  244. rscf = rsc0 * CFrame.new(-.45, 0.2, -.3) * CFrame.Angles(math.pi/3, 0, -math.rad(15))
  245. lscf = lsc0 * CFrame.new(.45, 0.2, -.3) * CFrame.Angles(math.pi/3, 0, math.rad(15))
  246. rlcf = rlc0 * CFrame.Angles(math.pi/2+math.pi/5, 0, math.rad(20))
  247. llcf = llc0 * CFrame.Angles(math.pi/2+math.pi/5, 0, -math.rad(20))
  248. else
  249. anglespeed = 1/2
  250. ncf = neckc0 * CFrame.Angles(math.pi/5, 0, math.sin(angle)*0.08)
  251. rjcf = CFrame.new(0, -0.8, 0) * CFrame.Angles(-math.pi/5, math.sin(angle)*0.01, 0)
  252. rscf = rsc0 * CFrame.new(-.45, 0.2, -.3) * CFrame.Angles(math.pi/3, 0, -math.rad(15))
  253. lscf = lsc0 * CFrame.new(.45, 0.2, -.3) * CFrame.Angles(math.pi/3, 0, math.rad(15))
  254. rlcf = rlc0 * CFrame.Angles(math.pi/2+math.pi/5, 0, math.rad(20))
  255. llcf = llc0 * CFrame.Angles(math.pi/2+math.pi/5, 0, -math.rad(20))
  256. end
  257. elseif Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude < 2 then
  258. if sound.IsPlaying and sound.SoundId == "http://www.roblox.com/asset/?id=130797915" then
  259. anglespeed = 6
  260. ncf = neckc0 * CFrame.Angles(math.pi/10-math.sin(angle)*0.07, 0, 0)
  261. rjcf = CFrame.new(0, 0, 0) * CFrame.Angles(-math.pi/10, math.sin(angle)*0.001, 0)
  262. rscf = rsc0 * CFrame.Angles(math.pi/1+math.sin(angle)*0.5, 0, 0)
  263. lscf = lsc0 * CFrame.Angles(math.pi/1+math.sin(angle)*0.5, 0, 0)
  264. rlcf = rlc0 * CFrame.Angles(math.pi/10, math.sin(angle)*0.08, math.rad(6.5))
  265. llcf = llc0 * CFrame.Angles(math.pi/10, -math.sin(angle)*0.08, -math.rad(6.5))
  266. elseif sound.IsPlaying and sound.SoundId == "http://www.roblox.com/asset/?id=149713968" then
  267. anglespeed = 2
  268. ncf = neckc0 * CFrame.Angles(math.pi/10-math.abs(math.sin(angle))*0.3, 0, 0)
  269. rjcf = CFrame.new(0, 0, 0) * CFrame.Angles(-math.pi/20, math.sin(angle)*0.001, 0)
  270. rscf = rsc0 * CFrame.Angles(math.pi/2+math.abs(math.sin(angle)*1), 0, 0)
  271. lscf = lsc0 * CFrame.Angles(math.pi/2+math.abs(math.sin(angle)*1), 0, 0)
  272. rlcf = rlc0 * CFrame.Angles(math.pi/20, math.sin(angle)*0.08, math.rad(2.5))
  273. llcf = llc0 * CFrame.Angles(math.pi/20, -math.sin(angle)*0.08, -math.rad(2.5))
  274. elseif sound.IsPlaying and sound.SoundId == "http://www.roblox.com/asset/?id=130802245" then
  275. anglespeed = 3
  276. ncf = neckc0 * CFrame.Angles(math.sin(angle)*0.07, math.rad(30), 0)
  277. rjcf = CFrame.new(0, 0, 0) * CFrame.Angles(0, math.sin(angle)*0.001, 0)
  278. rscf = rsc0 * CFrame.Angles(math.sin(angle)*0.05, 0, 0)
  279. lscf = lsc0 * CFrame.Angles(math.sin(-angle)*0.05, 0, 0)
  280. rlcf = rlc0 * CFrame.new(0, -0.1 + math.abs(mvmnt)*0.1, -0.1) * CFrame.Angles(0, math.rad(5), math.rad(5))
  281. llcf = llc0 * CFrame.Angles(0, math.rad(2.5), math.rad(1))
  282. else
  283. if humanwalk then
  284. anglespeed = 1/4
  285. ncf = neckc0 * CFrame.Angles(-math.sin(angle)*0.07, 0, 0)
  286. rjcf = CFrame.new(0, 0, 0) * CFrame.Angles(0, math.sin(angle)*0.001, 0)
  287. rscf = rsc0 * CFrame.Angles(math.sin(angle)*0.1, 0, 0)
  288. lscf = lsc0 * CFrame.Angles(math.sin(-angle)*0.1, 0, 0)
  289. rlcf = rlc0 * CFrame.Angles(0, math.sin(angle)*0.08, math.rad(2.5))
  290. llcf = llc0 * CFrame.Angles(0, -math.sin(angle)*0.08, -math.rad(2.5))
  291. else
  292. anglespeed = 1/2
  293. ncf = neckc0 * CFrame.Angles(math.pi/5, 0, math.sin(angle)*0.08)
  294. rjcf = CFrame.new(0, -2, 0) * CFrame.Angles(-math.pi/5, math.sin(angle)*0.01, 0)
  295. rscf = rsc0 * CFrame.new(-.45, 0.2, -.3) * CFrame.Angles(math.pi/3, 0, -math.rad(15))
  296. lscf = lsc0 * CFrame.new(.45, 0.2, -.3) * CFrame.Angles(math.pi/3, 0, math.rad(15))
  297. rlcf = rlc0 * CFrame.Angles(math.pi/2+math.pi/5, 0, math.rad(20))
  298. llcf = llc0 * CFrame.Angles(math.pi/2+math.pi/5, 0, -math.rad(20))
  299. end
  300. end
  301. elseif Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude < 20 then
  302. if sound.IsPlaying then
  303. sound:stop()
  304. end
  305. if humanwalk then
  306. anglespeed = 4
  307. ncf = neckc0 * CFrame.Angles(math.pi/24, mvmnt*.02, 0)
  308. rjcf = CFrame.new(0, math.abs(mvmnt)*0.05, 0) * CFrame.Angles(-math.pi/24, -mvmnt*.02, 0)
  309. rscf = rsc0 * CFrame.Angles(math.sin(angle)*1.25, 0, -math.abs(mvmnt)*0.02)
  310. lscf = lsc0 * CFrame.Angles(math.sin(-angle)*1.25, 0, math.abs(mvmnt)*0.02)
  311. rlcf = rlc0 * CFrame.Angles(math.sin(-angle)*1, 0, math.rad(.5))
  312. llcf = llc0 * CFrame.Angles(math.sin(angle)*1, 0, -math.rad(.5))
  313. else
  314. anglespeed = 4
  315. ncf = neckc0 * CFrame.new(0, 0, .2) * CFrame.Angles(math.pi/1.9, 0, 0)
  316. rjcf = CFrame.new(0, -1.5+math.abs(mvmnt)*0.05, 0) * CFrame.Angles(-math.pi/1.9, math.sin(mvmnt/2)*0.05, 0)
  317. rscf = rsc0 * CFrame.new(-.45, 0.2, -.4+math.abs(mvmnt)*0.125) * CFrame.Angles(math.pi/2+math.sin(angle)*0.7, 0, math.rad(5))
  318. lscf = lsc0 * CFrame.new(.45, 0.2, .1-math.abs(mvmnt)*0.125) * CFrame.Angles(math.pi/2+math.sin(-angle)*0.7, 0, -math.rad(5))
  319. rlcf = rlc0 * CFrame.new(0, 0, -.3+math.abs(mvmnt)*0.125) * CFrame.Angles(math.pi/2.5+math.sin(-angle)*0.6, 0, math.abs(mvmnt)*0.025)
  320. llcf = llc0 * CFrame.new(0, 0, .3-math.abs(mvmnt)*0.125) * CFrame.Angles(math.pi/2.5+math.sin(angle)*.6, 0, -math.abs(mvmnt)*0.025)
  321. end
  322. elseif Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude >= 20 then
  323. if sound.IsPlaying then
  324. sound:stop()
  325. end
  326. if humanwalk then
  327. anglespeed = 5
  328. ncf = neckc0 * CFrame.Angles(math.pi/20, math.sin(angle)*.04, 0)
  329. rjcf = CFrame.new(0, -.4 + math.abs(mvmnt)*0.25, 0) * CFrame.Angles(-math.pi/20, -math.sin(angle)*.08, 0)
  330. rscf = rsc0 * CFrame.new(0, 0, -.3+math.abs(mvmnt)*0.125) * CFrame.Angles(math.pi/18+math.sin(angle)*1.5, 0, -math.abs(mvmnt)*0.02)
  331. lscf = lsc0 * CFrame.new(0, 0, .3-math.abs(mvmnt)*0.125) * CFrame.Angles(math.pi/18+math.sin(-angle)*1.5, 0, math.abs(mvmnt)*0.02)
  332. rlcf = rlc0 * CFrame.new(0, 0, -.6+math.abs(mvmnt)*0.125) * CFrame.Angles(-math.pi/18+math.sin(-angle)*1.3, 0, math.rad(.5))
  333. llcf = llc0 * CFrame.new(0, 0, -math.abs(mvmnt)*0.125) * CFrame.Angles(-math.pi/18+math.sin(angle)*1.3, 0, -math.rad(.5))
  334. else
  335. anglespeed = 5.5
  336. ncf = neckc0 * CFrame.new(0, 0, .2) * CFrame.Angles(math.pi/1.9+math.sin(mvmnt/2)*0.05, 0, 0)
  337. rjcf = CFrame.new(0, -1.3+math.abs(mvmnt)*0.05, 0) * CFrame.Angles(-math.pi/1.9+math.abs(mvmnt/2)*0.1, 0, 0)
  338. rscf = rsc0 * CFrame.new(-1, 0.2, -.5) * CFrame.Angles(math.pi/2+math.sin(angle)*1.8, 0, math.rad(5))
  339. lscf = lsc0 * CFrame.new(1, 0.2, -.5) * CFrame.Angles(math.pi/2+math.sin(angle)*1.8, 0, -math.rad(5))
  340. rlcf = rlc0 * CFrame.new(0, .3-math.abs(mvmnt)*0.125, -.3+math.abs(mvmnt)*0.125) * CFrame.Angles(math.pi/2.5+math.sin(-angle)*1.4, 0, math.abs(mvmnt)*0.025)
  341. llcf = llc0 * CFrame.new(0, .3-math.abs(mvmnt)*0.125, .3-math.abs(mvmnt)*0.125) * CFrame.Angles(math.pi/2.5+math.sin(-angle)*1.4, 0, -math.abs(mvmnt)*0.025)
  342. end
  343. end
  344.  
  345. rm.C0 = clerp(rm.C0,rscf,speed)
  346. lm.C0 = clerp(lm.C0,lscf,speed)
  347. rj.C0 = clerp(rj.C0,rjcf,speed)
  348. neck.C0 = clerp(neck.C0,ncf,speed)
  349. rlegm.C0 = clerp(rlegm.C0,rlcf,speed)
  350. llegm.C0 = clerp(llegm.C0,llcf,speed)
  351. end
  352.  
  353.  
  354. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement