ShutThefickUp

Untitled

Aug 11th, 2018
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. local runDummyScript = function(f,scri)
  2. local oldenv = getfenv(f)
  3. local newenv = setmetatable({}, {
  4. __index = function(_, k)
  5. if k:lower() == 'script' then
  6. return scri
  7. else
  8. return oldenv[k]
  9. end
  10. end
  11. })
  12. setfenv(f, newenv)
  13. ypcall(function() f() end)
  14. end
  15. cors = {}
  16. mas = Instance.new("Model",game:GetService("Lighting"))
  17. mas.Name = "CompiledModel"
  18. o1 = Instance.new("Model")
  19. o2 = Instance.new("Model")
  20. o3 = Instance.new("Part")
  21. o5 = Instance.new("Humanoid")
  22. o7 = Instance.new("Part")
  23. o8 = Instance.new("SpecialMesh")
  24. o14 = Instance.new("SpecialMesh")
  25. o15 = Instance.new("Motor6D")
  26. o16 = Instance.new("Sound")
  27. o17 = Instance.new("Sound")
  28. o18 = Instance.new("Sound")
  29. o19 = Instance.new("Sound")
  30. o20 = Instance.new("Sound")
  31. o21 = Instance.new("Sound")
  32. o22 = Instance.new("Sound")
  33. o23 = Instance.new("Sound")
  34. o24 = Instance.new("Sound")
  35. o25 = Instance.new("Motor6D")
  36. o26 = Instance.new("Motor6D")
  37. o27 = Instance.new("Sound")
  38. o28 = Instance.new("Script")
  39. o29 = Instance.new("BodyColors")
  40. o30 = Instance.new("Script")
  41. o31 = Instance.new("Script")
  42. o32 = Instance.new("Script")
  43. o33 = Instance.new("Script")
  44. o34 = Instance.new("Script")
  45. o35 = Instance.new("Script")
  46. o38 = Instance.new("Vector3Value")
  47. o39 = Instance.new("Motor6D")
  48. o48 = Instance.new("Vector3Value")
  49. o49 = Instance.new("Motor6D")
  50. o60 = Instance.new("Vector3Value")
  51. o61 = Instance.new("Motor6D")
  52. o66 = Instance.new("Vector3Value")
  53. o67 = Instance.new("Motor6D")
  54. o71 = Instance.new("Vector3Value")
  55. o72 = Instance.new("Motor6D")
  56. o77 = Instance.new("Vector3Value")
  57. o78 = Instance.new("Motor6D")
  58. o82 = Instance.new("Vector3Value")
  59. o83 = Instance.new("Motor6D")
  60. o87 = Instance.new("Vector3Value")
  61. o88 = Instance.new("Motor6D")
  62. o92 = Instance.new("Vector3Value")
  63. o93 = Instance.new("Motor6D")
  64. o97 = Instance.new("Vector3Value")
  65. o98 = Instance.new("Motor6D")
  66. o101 = Instance.new("Vector3Value")
  67. o102 = Instance.new("Motor6D")
  68. o106 = Instance.new("Vector3Value")
  69. o107 = Instance.new("Motor6D")
  70. o111 = Instance.new("Vector3Value")
  71. o112 = Instance.new("Motor6D")
  72. o113 = Instance.new("Script")
  73. o117 = Instance.new("Vector3Value")
  74. o118 = Instance.new("Motor6D")
  75. o119 = Instance.new("Script")
  76. o120 = Instance.new("Script")
  77. o121 = Instance.new("Script")
  78. o122 = Instance.new("Script")
  79. o123 = Instance.new("Part")
  80. o124 = Instance.new("Part")
  81. o125 = Instance.new("Script")
  82. o126 = Instance.new("StringValue")
  83. o127 = Instance.new("StringValue")
  84. o128 = Instance.new("Animation")
  85. o129 = Instance.new("StringValue")
  86. o130 = Instance.new("StringValue")
  87. o131 = Instance.new("Animation")
  88. o132 = Instance.new("StringValue")
  89. o133 = Instance.new("Animation")
  90. o134 = Instance.new("StringValue")
  91. o135 = Instance.new("Animation")
  92. o136 = Instance.new("StringValue")
  93. o137 = Instance.new("Animation")
  94. o138 = Instance.new("StringValue")
  95. o139 = Instance.new("StringValue")
  96. o140 = Instance.new("Animation")
  97. o141 = Instance.new("StringValue")
  98. o142 = Instance.new("Animation")
  99. o143 = Instance.new("Script")
  100. o1.Name = "Shadow runner"
  101. o1.Parent = mas
  102. o2.Name = "Shadow"
  103. o2.Parent = o1
  104. o2.PrimaryPart = o3
  105. o3.Name = "HumanoidRootPart"
  106. o3.Parent = o2
  107. o3.Transparency = 1
  108. o3.Position = Vector3.new(-6.20944214, 2.32397389, -11.42136)
  109. o3.Rotation = Vector3.new(-180, -77.4799957, -180)
  110. o3.CanCollide = false
  111. o3.Size = Vector3.new(2, 2, 1)
  112. o3.CFrame = CFrame.new(-6.20944214, 2.32397389, -11.42136, -0.216782376, 0, -0.976219952, 0, 1, 0, 0.976219952, 0, -0.216782376)
  113. o3.Position = Vector3.new(-6.20944214, 2.32397389, -11.42136)
  114. o5.Parent = o2
  115. o5.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None
  116. o5.Torso = o3
  117. o5.Health = 1000
  118. o5.MaxHealth = 1000
  119. o5.WalkSpeed = 25
  120. o7.Name = "Head"
  121. o7.Parent = o2
  122. o7.Material = Enum.Material.SmoothPlastic
  123. o7.BrickColor = BrickColor.new("Really black")
  124. o7.Position = Vector3.new(-6.20970821, 4.47397423, -11.4214191)
  125. o7.Rotation = Vector3.new(-180, -77.4799957, -180)
  126. o7.Size = Vector3.new(2, 1, 1)
  127. o7.CFrame = CFrame.new(-6.20970821, 4.47397423, -11.4214191, -0.216782376, 0, -0.976219952, 0, 1, 0, 0.976219952, 0, -0.216782376)
  128. o7.BottomSurface = Enum.SurfaceType.Smooth
  129. o7.TopSurface = Enum.SurfaceType.Smooth
  130. o7.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
  131. o7.Position = Vector3.new(-6.20970821, 4.47397423, -11.4214191)
  132. o8.Parent = o7
  133. o8.Scale = Vector3.new(1.25, 1.25, 1.25)
  134. o14.Parent = o7
  135. o14.MeshId = "http://www.roblox.com/asset/?id=83001675"
  136. o14.Scale = Vector3.new(1.25, 1.25, 1.25)
  137. o14.MeshType = Enum.MeshType.FileMesh
  138. o15.Name = "Neck"
  139. o15.Parent = o7
  140. o15.C0 = CFrame.new(-4.17232513e-07, 0.834590554, 0.0607423484, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  141. o15.C1 = CFrame.new(0, -0.500000119, -0.000272244215, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  142. o15.Part0 = mas
  143. o15.Part1 = o7
  144. o16.Name = "GettingUp"
  145. o16.Parent = o7
  146. o16.SoundId = "rbxasset://sounds/action_get_up.mp3"
  147. o16.Volume = 0.64999997615814
  148. o17.Name = "Died"
  149. o17.Parent = o7
  150. o17.SoundId = "rbxasset://sounds/uuhhh.mp3"
  151. o17.Volume = 0.64999997615814
  152. o18.Name = "FreeFalling"
  153. o18.Parent = o7
  154. o18.SoundId = "rbxasset://sounds/action_falling.mp3"
  155. o18.Volume = 0.64999997615814
  156. o18.Looped = true
  157. o19.Name = "Jumping"
  158. o19.Parent = o7
  159. o19.SoundId = "rbxasset://sounds/action_jump.mp3"
  160. o19.Volume = 0.64999997615814
  161. o20.Name = "Landing"
  162. o20.Parent = o7
  163. o20.SoundId = "rbxasset://sounds/action_jump_land.mp3"
  164. o20.Volume = 0.64999997615814
  165. o21.Name = "Splash"
  166. o21.Parent = o7
  167. o21.SoundId = "rbxasset://sounds/impact_water.mp3"
  168. o21.Volume = 0.64999997615814
  169. o22.Name = "Running"
  170. o22.Parent = o7
  171. o22.Pitch = 1.8500000238419
  172. o22.SoundId = "rbxasset://sounds/action_footsteps_plastic.mp3"
  173. o22.Volume = 0.64999997615814
  174. o22.Looped = true
  175. o23.Name = "Swimming"
  176. o23.Parent = o7
  177. o23.Pitch = 1.6000000238419
  178. o23.SoundId = "rbxasset://sounds/action_swim.mp3"
  179. o23.Volume = 0.64999997615814
  180. o23.Looped = true
  181. o24.Name = "Climbing"
  182. o24.Parent = o7
  183. o24.SoundId = "rbxasset://sounds/action_footsteps_plastic.mp3"
  184. o24.Volume = 0.64999997615814
  185. o24.Looped = true
  186. o25.Parent = o7
  187. o25.C1 = CFrame.new(-0.519638062, -0.206021309, 0.0883045197, -0.216782376, 0, -0.976219952, 0, 1, 0, 0.976219952, 0, -0.216782376)
  188. o25.Part0 = o7
  189. o25.Part1 = o124
  190. o26.Parent = o7
  191. o26.C1 = CFrame.new(-0.43963623, -0.206021309, -0.291698456, -0.216782376, 0, -0.976219952, 0, 1, 0, 0.976219952, 0, -0.216782376)
  192. o26.Part0 = o7
  193. o26.Part1 = o123
  194. o27.Name = "Idle"
  195. o27.Parent = o7
  196. o27.SoundId = "rbxassetid://257345390"
  197. o27.Volume = 1
  198. o27.Looped = true
  199. o28.Parent = o2
  200. table.insert(cors,coroutine.create(function()
  201. wait()
  202. runDummyScript(function()
  203. local larm = script.Parent:FindFirstChild("HumanoidRootPart")
  204. local rarm = script.Parent:FindFirstChild("HumanoidRootPart")
  205.  
  206. function findNearestTorso(pos)
  207. local list = game.Workspace:children()
  208. local torso = nil
  209. local dist = 400000
  210. local temp = nil
  211. local human = nil
  212. local temp2 = nil
  213. for x = 1, #list do
  214. temp2 = list[x]
  215. if (temp2.className == "Model") and (temp2 ~= script.Parent) then
  216. temp = temp2:findFirstChild("HumanoidRootPart")
  217. human = temp2:findFirstChild("Humanoid")
  218. if (temp ~= nil) and (human ~= nil) and (human.Health > 0) then
  219. if (temp.Position - pos).magnitude < dist then
  220. torso = temp
  221. dist = (temp.Position - pos).magnitude
  222. end
  223. end
  224. end
  225. end
  226. return torso
  227. end
  228.  
  229.  
  230.  
  231.  
  232. while true do
  233. wait(math.random(1,5))
  234. local target = findNearestTorso(script.Parent.HumanoidRootPart.Position)
  235. if target ~= nil then
  236. script.Parent.Humanoid:MoveTo(target.Position, target)
  237. end
  238.  
  239. end
  240.  
  241. end,o28)
  242. end))
  243. o29.Parent = o2
  244. o29.HeadColor = BrickColor.new("Really black")
  245. o29.LeftArmColor = BrickColor.new("Really black")
  246. o29.LeftLegColor = BrickColor.new("Really black")
  247. o29.RightArmColor = BrickColor.new("Really black")
  248. o29.RightLegColor = BrickColor.new("Really black")
  249. o29.TorsoColor = BrickColor.new("Really black")
  250. o30.Name = "Health"
  251. o30.Parent = o2
  252. table.insert(cors,coroutine.create(function()
  253. wait()
  254. runDummyScript(function()
  255. --Responsible for regening a player's humanoid's health
  256.  
  257. -- declarations
  258. local Figure = script.Parent
  259. local Head = Figure:WaitForChild("Head")
  260. local Humanoid = Figure:WaitForChild("Humanoid")
  261. local regening = false
  262.  
  263. -- regeneration
  264. function regenHealth()
  265. if regening then return end
  266. regening = true
  267.  
  268. while Humanoid.Health < Humanoid.MaxHealth do
  269. local s = wait(1)
  270. local health = Humanoid.Health
  271. if health > 0 and health < Humanoid.MaxHealth then
  272. local newHealthDelta = 0.01 * s * Humanoid.MaxHealth
  273. health = health + newHealthDelta
  274. Humanoid.Health = math.min(health,Humanoid.MaxHealth)
  275. end
  276. end
  277.  
  278. if Humanoid.Health > Humanoid.MaxHealth then
  279. Humanoid.Health = Humanoid.MaxHealth
  280. end
  281.  
  282. regening = false
  283. end
  284.  
  285. Humanoid.HealthChanged:connect(regenHealth)
  286.  
  287. end,o30)
  288. end))
  289. o31.Name = "Core"
  290. o31.Parent = o2
  291. table.insert(cors,coroutine.create(function()
  292. wait()
  293. runDummyScript(function()
  294. print("Hello world!")
  295.  
  296. Character = script.Parent
  297. Humanoid = Character.Humanoid
  298. Torso = Character.Torso
  299.  
  300. function OnDeath()
  301. print("Death")
  302. x=Character:GetChildren()
  303. for i=1,#x do
  304. if (x[i].className=="Tool") then
  305. x[i].Parent = nil
  306. end
  307. end
  308. mode = Instance.new("Model")
  309. mode.Name = ""
  310. mode.Parent = Workspace
  311. wait()
  312. Humanoid.Parent = nil
  313. THIS = script.Cleaner:clone()
  314. THIS.Parent = mode
  315. THIS.Disabled = false
  316. bland=Instance.new("Humanoid")
  317. bland.Health=0
  318. bland.MaxHealth=0
  319. bland.Parent=mode
  320. --bland.Name = "Ragdoll"
  321. x=Character:GetChildren()
  322. for i=1,#x do
  323. if (x[i].className=="Hat") then
  324. x[i].Handle.Anchored = true
  325. end
  326. if (x[i].className =="Part") then
  327. x[i].Anchored = true
  328. end
  329. end
  330. if Torso then
  331. --Torso.Velocity = Vector3.new(0, 0, 0)
  332. --Torso.RotVelocity = Vector3.new(0, 0, 0)
  333. zam=Torso:Clone()
  334. zam.Parent=mode
  335. zam.Elasticity = 0
  336. zam.Friction = 1
  337. x=Character:GetChildren()
  338. for i=1,#x do
  339. if ((x[i].Name=="Shirt") or (x[i].Name=="Pants") or (x[i].className=="CharacterMesh") or (x[i].className=="Hat") or (x[i].className=="Decal") or (x[i].className=="ShirtGraphic") or (x[i].className=="Model")) then
  340. local zor=x[i]:Clone()
  341. zor.Parent=mode
  342. end
  343. if x[i].Name=="Head" then
  344. --x[i].Velocity = Vector3.new(0, 0, 0)
  345. --x[i].RotVelocity = Vector3.new(0, 0, 0)
  346. local zem=x[i]:Clone()
  347. zem.Parent=mode
  348. zem.Name="Head"
  349. zem.Elasticity = 0
  350. zem.Friction = 1
  351. local Neck = Instance.new("Weld")
  352. Neck.Name = "Neck"
  353. Neck.Part0 = zam
  354. Neck.Part1 = zem
  355. Neck.C0 = CFrame.new(0, 1.5, 0)
  356. Neck.C1 = CFrame.new()
  357. Neck.Parent = zam
  358. end
  359. if x[i].Name=="Right Arm" then
  360. --x[i].Velocity = Vector3.new(0, 0, 0)
  361. --x[i].RotVelocity = Vector3.new(0, 0, 0)
  362. local Limb=x[i]:Clone()
  363. Limb.Parent=mode
  364. Limb.CFrame = zam.CFrame * CFrame.new(1.5, 0, 0)
  365. Limb.Elasticity = 0
  366. Limb.Friction = 1
  367. local Joint = Instance.new("Rotate")
  368. Joint.Name = "RightShoulder"
  369. Joint.Part0 = zam
  370. Joint.Part1 = Limb
  371. Joint.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  372. Joint.C1 = CFrame.new(-0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  373. Joint.Parent = zam
  374.  
  375. local B = Instance.new("Part")
  376. B.TopSurface = 0
  377. B.BottomSurface = 0
  378. B.Elasticity = 0
  379. B.Friction = 1
  380. B.formFactor = "Symmetric"
  381. B.Size = Vector3.new(1, 1, 1)
  382. B.Transparency = 1
  383. B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  384. B.Parent = mode
  385. local W = Instance.new("Weld")
  386. W.Part0 = Limb
  387. W.Part1 = B
  388. W.C0 = CFrame.new(0, -0.5, 0)
  389. W.Parent = Limb
  390.  
  391. end
  392. if x[i].Name=="Left Arm" then
  393. --x[i].Velocity = Vector3.new(0, 0, 0)
  394. --x[i].RotVelocity = Vector3.new(0, 0, 0)
  395. local Limb=x[i]:Clone()
  396. Limb.Parent=mode
  397. Limb.CFrame = zam.CFrame * CFrame.new(-1.5, 0, 0)
  398. Limb.Elasticity = 0
  399. Limb.Friction = 1
  400. local Joint = Instance.new("Rotate")
  401. Joint.Name = "LeftShoulder"
  402. Joint.Part0 = zam
  403. Joint.Part1 = Limb
  404. Joint.C0 = CFrame.new(-1.5, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  405. Joint.C1 = CFrame.new(0, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  406. Joint.Parent = zam
  407.  
  408. local B = Instance.new("Part")
  409. B.TopSurface = 0
  410. B.BottomSurface = 0
  411. B.Elasticity = 0
  412. B.Friction = 1
  413. B.formFactor = "Symmetric"
  414. B.Size = Vector3.new(1, 1, 1)
  415. B.Transparency = 1
  416. B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  417. B.Parent = mode
  418. local W = Instance.new("Weld")
  419. W.Part0 = Limb
  420. W.Part1 = B
  421. W.C0 = CFrame.new(0, -0.5, 0)
  422. W.Parent = Limb
  423.  
  424. end
  425. if x[i].Name=="Right Leg" then
  426. --x[i].Velocity = Vector3.new(0, 0, 0)
  427. --x[i].RotVelocity = Vector3.new(0, 0, 0)
  428. local Limb=x[i]:Clone()
  429. Limb.Parent=mode
  430. Limb.CFrame = zam.CFrame * CFrame.new(0.5, -2, 0)
  431. Limb.Elasticity = 0
  432. Limb.Friction = 1
  433. local Joint = Instance.new("Rotate")
  434. Joint.Name = "RightHip"
  435. Joint.Part0 = zam
  436. Joint.Part1 = Limb
  437. Joint.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  438. Joint.C1 = CFrame.new(0, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  439. Joint.Parent = zam
  440.  
  441. local B = Instance.new("Part")
  442. B.TopSurface = 0
  443. B.BottomSurface = 0
  444. B.Elasticity = 0
  445. B.Friction = 1
  446. B.formFactor = "Symmetric"
  447. B.Size = Vector3.new(1, 1, 1)
  448. B.Transparency = 1
  449. B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  450. B.Parent = mode
  451. local W = Instance.new("Weld")
  452. W.Part0 = Limb
  453. W.Part1 = B
  454. W.C0 = CFrame.new(0, -0.5, 0)
  455. W.Parent = Limb
  456.  
  457. end
  458. if x[i].Name=="Left Leg" then
  459. --x[i].Velocity = Vector3.new(0, 0, 0)
  460. --x[i].RotVelocity = Vector3.new(0, 0, 0)
  461. local Limb=x[i]:Clone()
  462. Limb.Parent=mode
  463. Limb.CFrame = zam.CFrame * CFrame.new(-0.5, -2, 0)
  464. Limb.Elasticity = 0
  465. Limb.Friction = 1
  466. local Joint = Instance.new("Rotate")
  467. Joint.Name = "LeftHip"
  468. Joint.Part0 = zam
  469. Joint.Part1 = Limb
  470. Joint.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  471. Joint.C1 = CFrame.new(-0, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  472. Joint.Parent = zam
  473.  
  474. local B = Instance.new("Part")
  475. B.TopSurface = 0
  476. B.BottomSurface = 0
  477. B.Elasticity = 0
  478. B.Friction = 1
  479. B.formFactor = "Symmetric"
  480. B.Size = Vector3.new(1, 1, 1)
  481. B.Transparency = 1
  482. B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  483. B.Parent = mode
  484. local W = Instance.new("Weld")
  485. W.Part0 = Limb
  486. W.Part1 = B
  487. W.C0 = CFrame.new(0, -0.5, 0)
  488. W.Parent = Limb
  489.  
  490. end
  491. end
  492.  
  493. local Bar = Instance.new("Part")
  494. Bar.TopSurface = 0
  495. Bar.BottomSurface = 0
  496. Bar.Elasticity = 0
  497. Bar.Friction = 1
  498. Bar.formFactor = "Symmetric"
  499. Bar.Size = Vector3.new(1, 1, 1)
  500. Bar.Transparency = 1
  501. Bar.CFrame = zam.CFrame * CFrame.new(0, 0.5, 0)
  502. Bar.Parent = mode
  503. local Weld = Instance.new("Weld")
  504. Weld.Part0 = zam
  505. Weld.Part1 = Bar
  506. Weld.C0 = CFrame.new(0, 0.5, 0)
  507. Weld.Parent = zam
  508. end
  509. wait()
  510. Character:remove()
  511. mode:FindFirstChild("Head").Velocity = Vector3.new(0,0,0)
  512. mode:FindFirstChild("Left Arm").Velocity = Vector3.new(0,0,0)
  513. mode:FindFirstChild("Left Leg").Velocity = Vector3.new(0,0,0)
  514. mode:FindFirstChild("Right Arm").Velocity = Vector3.new(0,0,0)
  515. mode:FindFirstChild("Right Leg").Velocity = Vector3.new(0,0,0)
  516. mode:FindFirstChild("Torso").Velocity = Vector3.new(0,0,0)
  517. x=mode:GetChildren()
  518. for i=1,#x do
  519. if (x[i].className=="Hat") then
  520. if x[i]:findFirstChild("Handle") then
  521. x[i].Handle.Anchored = false
  522. end
  523. end
  524. if (x[i].className =="Part") then
  525. x[i].Anchored = false
  526. end
  527. end
  528. local b = Instance.new("BodyPosition")
  529. b.maxForce = Vector3.new(0, 3000, 0)
  530. b.position = mode:findFirstChild("Torso").Position - Vector3.new(0, 25, 0)
  531. b.Parent = mode:findFirstChild("Torso")
  532. wait(5)
  533. for i=1,#x do
  534. if (x[i].className=="Hat") then
  535. if x[i]:findFirstChild("Handle") then
  536. x[i].Handle.Anchored = true
  537. end
  538. end
  539. if (x[i].className =="Part") then
  540. x[i].Anchored = true
  541. end
  542. end
  543. end
  544.  
  545. Humanoid.Died:connect(OnDeath)
  546. end,o31)
  547. end))
  548. o32.Name = "Cleaner"
  549. o32.Parent = o31
  550. o32.Disabled = true
  551. table.insert(cors,coroutine.create(function()
  552. wait()
  553. runDummyScript(function()
  554. wait(30) -- removes the raggy in 10 seconds.
  555. script.Parent:Destroy()
  556. end,o32)
  557. end))
  558. o33.Name = "Sound"
  559. o33.Parent = o2
  560. table.insert(cors,coroutine.create(function()
  561. wait()
  562. runDummyScript(function()
  563. --[[
  564. Author: @spotco
  565. This script creates sounds which are placed under the character head.
  566. These sounds are used by the "LocalSound" script.
  567.  
  568. To modify this script, copy it to your "StarterPlayer/StarterCharacterScripts" folder keeping the same script name ("Sound").
  569. The default Sound script loaded for every character will then be replaced with your copy of the script.
  570. ]]--
  571.  
  572. function CreateNewSound(name, id, looped, pitch, parent)
  573. local sound = Instance.new("Sound")
  574. sound.SoundId = id
  575. sound.Name = name
  576. sound.archivable = false
  577. sound.Parent = parent
  578. sound.Pitch = pitch
  579. sound.Looped = looped
  580.  
  581. sound.MinDistance = 5
  582. sound.MaxDistance = 150
  583. sound.Volume = 0.65
  584.  
  585. return sound
  586. end
  587.  
  588. local head = script.Parent:FindFirstChild("Head")
  589. if head == nil then
  590. error("Sound script parent has no child Head.")
  591. return
  592. end
  593.  
  594.  
  595. CreateNewSound("GettingUp", "rbxasset://sounds/action_get_up.mp3", false, 1, head)
  596. CreateNewSound("Died", "rbxasset://sounds/uuhhh.mp3", false, 1, head)
  597. CreateNewSound("FreeFalling", "rbxasset://sounds/action_falling.mp3", true, 1, head)
  598. CreateNewSound("Jumping", "rbxasset://sounds/action_jump.mp3", false, 1, head)
  599. CreateNewSound("Landing", "rbxasset://sounds/action_jump_land.mp3", false, 1, head)
  600. CreateNewSound("Splash", "rbxasset://sounds/impact_water.mp3", false, 1, head)
  601. CreateNewSound("Running", "rbxasset://sounds/action_footsteps_plastic.mp3", true, 1.85, head)
  602. CreateNewSound("Swimming", "rbxasset://sounds/action_swim.mp3", true, 1.6, head)
  603. CreateNewSound("Climbing", "rbxasset://sounds/action_footsteps_plastic.mp3", true, 1, head)
  604. end,o33)
  605. end))
  606. o34.Name = "LocalSound"
  607. o34.Parent = o33
  608. table.insert(cors,coroutine.create(function()
  609. wait()
  610. runDummyScript(function()
  611. --[[
  612. Author: @spotco
  613. This script runs locally for the player of the given humanoid.
  614. This script triggers humanoid sound play/pause actions locally.
  615.  
  616. The Playing/TimePosition properties of Sound objects bypass FilteringEnabled, so this triggers the sound
  617. immediately for the player and is replicated to all other players.
  618.  
  619. This script is optimized to reduce network traffic through minimizing the amount of property replication.
  620. ]]--
  621.  
  622. --All sounds are referenced by this ID
  623. local SFX = {
  624. Died = 0;
  625. Running = 1;
  626. Swimming = 2;
  627. Climbing = 3,
  628. Jumping = 4;
  629. GettingUp = 5;
  630. FreeFalling = 6;
  631. FallingDown = 7;
  632. Landing = 8;
  633. Splash = 9;
  634. }
  635.  
  636. local Humanoid = nil
  637. local Head = nil
  638.  
  639. --SFX ID to Sound object
  640. local Sounds = {}
  641.  
  642. do
  643. local Figure = script.Parent.Parent
  644. Head = Figure:WaitForChild("Head")
  645. while not Humanoid do
  646. for _,NewHumanoid in pairs(Figure:GetChildren()) do
  647. if NewHumanoid:IsA("Humanoid") then
  648. Humanoid = NewHumanoid
  649. break
  650. end
  651. end
  652. Figure.ChildAdded:wait()
  653. end
  654.  
  655. Sounds[SFX.Died] = Head:WaitForChild("Died")
  656. Sounds[SFX.Running] = Head:WaitForChild("Running")
  657. Sounds[SFX.Swimming] = Head:WaitForChild("Swimming")
  658. Sounds[SFX.Climbing] = Head:WaitForChild("Climbing")
  659. Sounds[SFX.Jumping] = Head:WaitForChild("Jumping")
  660. Sounds[SFX.GettingUp] = Head:WaitForChild("GettingUp")
  661. Sounds[SFX.FreeFalling] = Head:WaitForChild("FreeFalling")
  662. Sounds[SFX.Landing] = Head:WaitForChild("Landing")
  663. Sounds[SFX.Splash] = Head:WaitForChild("Splash")
  664. end
  665.  
  666. local Util
  667. Util = {
  668.  
  669. --Define linear relationship between (pt1x,pt2x) and (pt2x,pt2y). Evaluate this at x.
  670. YForLineGivenXAndTwoPts = function(x,pt1x,pt1y,pt2x,pt2y)
  671. --(y - y1)/(x - x1) = m
  672. local m = (pt1y - pt2y) / (pt1x - pt2x)
  673. --float b = pt1.y - m * pt1.x;
  674. local b = (pt1y - m * pt1x)
  675. return m * x + b
  676. end;
  677.  
  678. --Clamps the value of "val" between the "min" and "max"
  679. Clamp = function(val,min,max)
  680. return math.min(max,math.max(min,val))
  681. end;
  682.  
  683. --Gets the horizontal (x,z) velocity magnitude of the given part
  684. HorizontalSpeed = function(Head)
  685. local hVel = Head.Velocity + Vector3.new(0,-Head.Velocity.Y,0)
  686. return hVel.magnitude
  687. end;
  688.  
  689. --Gets the vertical (y) velocity magnitude of the given part
  690. VerticalSpeed = function(Head)
  691. return math.abs(Head.Velocity.Y)
  692. end;
  693.  
  694. --Setting Playing/TimePosition values directly result in less network traffic than Play/Pause/Resume/Stop
  695. --If these properties are enabled, use them.
  696. Play = function(sound)
  697. if sound.TimePosition ~= 0 then
  698. sound.TimePosition = 0
  699. end
  700. if not sound.IsPlaying then
  701. sound.Playing = true
  702. end
  703. end;
  704. Pause = function(sound)
  705. if sound.IsPlaying then
  706. sound.Playing = false
  707. end
  708. end;
  709. Resume = function(sound)
  710. if not sound.IsPlaying then
  711. sound.Playing = true
  712. end
  713. end;
  714. Stop = function(sound)
  715. if sound.IsPlaying then
  716. sound.Playing = false
  717. end
  718. if sound.TimePosition ~= 0 then
  719. sound.TimePosition = 0
  720. end
  721. end;
  722. }
  723.  
  724. do
  725. -- List of all active Looped sounds
  726. local playingLoopedSounds = {}
  727.  
  728. -- Last seen Enum.HumanoidStateType
  729. local activeState = nil
  730.  
  731. -- Verify and set that "sound" is in "playingLoopedSounds".
  732. function setSoundInPlayingLoopedSounds(sound)
  733. for i=1, #playingLoopedSounds do
  734. if playingLoopedSounds[i] == sound then
  735. return
  736. end
  737. end
  738. table.insert(playingLoopedSounds,sound)
  739. end
  740.  
  741. -- Stop all active looped sounds except parameter "except". If "except" is not passed, all looped sounds will be stopped.
  742. function stopPlayingLoopedSoundsExcept(except)
  743. for i=#playingLoopedSounds,1,-1 do
  744. if playingLoopedSounds[i] ~= except then
  745. Util.Pause(playingLoopedSounds[i])
  746. table.remove(playingLoopedSounds,i)
  747. end
  748. end
  749. end
  750.  
  751. -- Table of Enum.HumanoidStateType to handling function
  752. local stateUpdateHandler = {
  753. [Enum.HumanoidStateType.Dead] = function()
  754. stopPlayingLoopedSoundsExcept()
  755. local sound = Sounds[SFX.Died]
  756. Util.Play(sound)
  757. end;
  758.  
  759. [Enum.HumanoidStateType.RunningNoPhysics] = function()
  760. stateUpdated(Enum.HumanoidStateType.Running)
  761. end;
  762.  
  763. [Enum.HumanoidStateType.Running] = function()
  764. local sound = Sounds[SFX.Running]
  765. stopPlayingLoopedSoundsExcept(sound)
  766.  
  767. if Util.HorizontalSpeed(Head) > 0.5 then
  768. Util.Resume(sound)
  769. setSoundInPlayingLoopedSounds(sound)
  770. else
  771. stopPlayingLoopedSoundsExcept()
  772. end
  773. end;
  774.  
  775. [Enum.HumanoidStateType.Swimming] = function()
  776. if activeState ~= Enum.HumanoidStateType.Swimming and Util.VerticalSpeed(Head) > 0.1 then
  777. local splashSound = Sounds[SFX.Splash]
  778. splashSound.Volume = Util.Clamp(
  779. Util.YForLineGivenXAndTwoPts(
  780. Util.VerticalSpeed(Head),
  781. 100, 0.28,
  782. 350, 1),
  783. 0,1)
  784. Util.Play(splashSound)
  785. end
  786.  
  787. do
  788. local sound = Sounds[SFX.Swimming]
  789. stopPlayingLoopedSoundsExcept(sound)
  790. Util.Resume(sound)
  791. setSoundInPlayingLoopedSounds(sound)
  792. end
  793. end;
  794.  
  795. [Enum.HumanoidStateType.Climbing] = function()
  796. local sound = Sounds[SFX.Climbing]
  797. if Util.VerticalSpeed(Head) > 0.1 then
  798. Util.Resume(sound)
  799. stopPlayingLoopedSoundsExcept(sound)
  800. else
  801. stopPlayingLoopedSoundsExcept()
  802. end
  803. setSoundInPlayingLoopedSounds(sound)
  804. end;
  805.  
  806. [Enum.HumanoidStateType.Jumping] = function()
  807. if activeState == Enum.HumanoidStateType.Jumping then
  808. return
  809. end
  810. stopPlayingLoopedSoundsExcept()
  811. local sound = Sounds[SFX.Jumping]
  812. Util.Play(sound)
  813. end;
  814.  
  815. [Enum.HumanoidStateType.GettingUp] = function()
  816. stopPlayingLoopedSoundsExcept()
  817. local sound = Sounds[SFX.GettingUp]
  818. Util.Play(sound)
  819. end;
  820.  
  821. [Enum.HumanoidStateType.Freefall] = function()
  822. if activeState == Enum.HumanoidStateType.Freefall then
  823. return
  824. end
  825. local sound = Sounds[SFX.FreeFalling]
  826. sound.Volume = 0
  827. stopPlayingLoopedSoundsExcept()
  828. end;
  829.  
  830. [Enum.HumanoidStateType.FallingDown] = function()
  831. stopPlayingLoopedSoundsExcept()
  832. end;
  833.  
  834. [Enum.HumanoidStateType.Landed] = function()
  835. stopPlayingLoopedSoundsExcept()
  836. if Util.VerticalSpeed(Head) > 75 then
  837. local landingSound = Sounds[SFX.Landing]
  838. landingSound.Volume = Util.Clamp(
  839. Util.YForLineGivenXAndTwoPts(
  840. Util.VerticalSpeed(Head),
  841. 50, 0,
  842. 100, 1),
  843. 0,1)
  844. Util.Play(landingSound)
  845. end
  846. end
  847. }
  848.  
  849. -- Handle state event fired or OnChange fired
  850. function stateUpdated(state)
  851. if stateUpdateHandler[state] ~= nil then
  852. stateUpdateHandler[state]()
  853. end
  854. activeState = state
  855. end
  856.  
  857. Humanoid.Died:connect( function() stateUpdated(Enum.HumanoidStateType.Dead) end)
  858. Humanoid.Running:connect( function() stateUpdated(Enum.HumanoidStateType.Running) end)
  859. Humanoid.Swimming:connect( function() stateUpdated(Enum.HumanoidStateType.Swimming) end)
  860. Humanoid.Climbing:connect( function() stateUpdated(Enum.HumanoidStateType.Climbing) end)
  861. Humanoid.Jumping:connect( function() stateUpdated(Enum.HumanoidStateType.Jumping) end)
  862. Humanoid.GettingUp:connect( function() stateUpdated(Enum.HumanoidStateType.GettingUp) end)
  863. Humanoid.FreeFalling:connect( function() stateUpdated(Enum.HumanoidStateType.Freefall) end)
  864. Humanoid.FallingDown:connect( function() stateUpdated(Enum.HumanoidStateType.FallingDown) end)
  865.  
  866. -- required for proper handling of Landed event
  867. Humanoid.StateChanged:connect(function(old, new)
  868. stateUpdated(new)
  869. end)
  870.  
  871.  
  872. function onUpdate(stepDeltaSeconds, tickSpeedSeconds)
  873. local stepScale = stepDeltaSeconds / tickSpeedSeconds
  874. do
  875. local sound = Sounds[SFX.FreeFalling]
  876. if activeState == Enum.HumanoidStateType.Freefall then
  877. if Head.Velocity.Y < 0 and Util.VerticalSpeed(Head) > 75 then
  878. Util.Resume(sound)
  879.  
  880. --Volume takes 1.1 seconds to go from volume 0 to 1
  881. local ANIMATION_LENGTH_SECONDS = 1.1
  882.  
  883. local normalizedIncrement = tickSpeedSeconds / ANIMATION_LENGTH_SECONDS
  884. sound.Volume = Util.Clamp(sound.Volume + normalizedIncrement * stepScale, 0, 1)
  885. else
  886. sound.Volume = 0
  887. end
  888. else
  889. Util.Pause(sound)
  890. end
  891. end
  892.  
  893. do
  894. local sound = Sounds[SFX.Running]
  895. if activeState == Enum.HumanoidStateType.Running then
  896. if Util.HorizontalSpeed(Head) < 0.5 then
  897. Util.Pause(sound)
  898. end
  899. end
  900. end
  901. end
  902.  
  903. local lastTick = tick()
  904. local TICK_SPEED_SECONDS = 0.25
  905. while true do
  906. onUpdate(tick() - lastTick,TICK_SPEED_SECONDS)
  907. lastTick = tick()
  908. wait(TICK_SPEED_SECONDS)
  909. end
  910. end
  911.  
  912. end,o34)
  913. end))
  914. o35.Name = "Respawn"
  915. o35.Parent = o2
  916. table.insert(cors,coroutine.create(function()
  917. wait()
  918. runDummyScript(function()
  919. name="Humanoid"
  920.  
  921. robo=script.Parent:clone()
  922.  
  923. while true do
  924. wait(30)
  925. if script.Parent.Humanoid.Health<1 then
  926. robot=robo:clone()
  927. robot.Parent=script.Parent.Parent
  928. robot:makeJoints()
  929. script.Parent:remove()
  930. end
  931. end
  932.  
  933.  
  934.  
  935.  
  936. end,o35)
  937. end))
  938. o38.Name = "OriginalSize"
  939. o38.Parent = mas
  940. o38.Value = Vector3.new(0.804975927, 0.45631969, 1.21525145)
  941. o39.Name = "LeftAnkle"
  942. o39.Parent = mas
  943. o39.C0 = CFrame.new(-0.0572988987, -0.554775834, 0.00460058777, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  944. o39.C1 = CFrame.new(-0.0572988093, -0.0541849136, 0.102052271, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  945. o39.Part0 = mas
  946. o39.Part1 = mas
  947. o48.Name = "OriginalSize"
  948. o48.Parent = mas
  949. o48.Value = Vector3.new(1.68052888, 0.508752942, 1.01567388)
  950. o49.Name = "Root"
  951. o49.Parent = mas
  952. o49.C1 = CFrame.new(-5.66244125e-07, 0.0325828269, 0.0487938523, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  953. o49.Part0 = o3
  954. o49.Part1 = mas
  955. o60.Name = "OriginalSize"
  956. o60.Parent = mas
  957. o60.Value = Vector3.new(2.03200006, 1.86928844, 1.12989664)
  958. o61.Name = "Waist"
  959. o61.Parent = mas
  960. o61.C0 = CFrame.new(-5.66244125e-07, 0.432582825, 0.0487938523, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  961. o61.C1 = CFrame.new(-4.17232513e-07, -0.415409416, 0.0607423484, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  962. o61.Part0 = mas
  963. o61.Part1 = mas
  964. o66.Name = "OriginalSize"
  965. o66.Parent = mas
  966. o66.Value = Vector3.new(0.675612688, 1.12489867, 0.826949)
  967. o67.Name = "LeftShoulder"
  968. o67.Parent = mas
  969. o67.C0 = CFrame.new(-1.24989152, 0.584590554, 0.0607423484, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  970. o67.C1 = CFrame.new(0.0625219345, 0.288986444, -0.0245017558, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  971. o67.Part0 = mas
  972. o67.Part1 = mas
  973. o71.Name = "OriginalSize"
  974. o71.Parent = mas
  975. o71.Value = Vector3.new(0.678933978, 1.34023976, 0.838257849)
  976. o72.Name = "RightHip"
  977. o72.Parent = mas
  978. o72.C0 = CFrame.new(0.499999434, -0.317417175, 0.0487938523, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  979. o72.C1 = CFrame.new(0.0572995543, 0.406759053, 0.0292846859, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  980. o72.Part0 = mas
  981. o72.Part1 = mas
  982. o77.Name = "OriginalSize"
  983. o77.Parent = mas
  984. o77.Value = Vector3.new(0.675612688, 1.12489867, 0.826949239)
  985. o78.Name = "RightShoulder"
  986. o78.Parent = mas
  987. o78.C0 = CFrame.new(1.24997997, 0.584590554, 0.0607423484, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  988. o78.C1 = CFrame.new(-0.0624326468, 0.288986444, -0.0245021135, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  989. o78.Part0 = mas
  990. o78.Part1 = mas
  991. o82.Name = "OriginalSize"
  992. o82.Parent = mas
  993. o82.Value = Vector3.new(0.827857256, 0.925159216, 0.877025485)
  994. o83.Name = "RightElbow"
  995. o83.Parent = mas
  996. o83.C0 = CFrame.new(0.187587023, -0.361013532, -0.0245021135, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  997. o83.C1 = CFrame.new(0.0363556147, 0.403800189, -0.00020223856, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  998. o83.Part0 = mas
  999. o83.Part1 = mas
  1000. o87.Name = "OriginalSize"
  1001. o87.Parent = mas
  1002. o87.Value = Vector3.new(0.722899377, 0.919740558, 0.897220731)
  1003. o88.Name = "RightKnee"
  1004. o88.Parent = mas
  1005. o88.C0 = CFrame.new(0.0572995543, -0.393240929, 0.029328391, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  1006. o88.C1 = CFrame.new(0.0572987497, 0.445221305, 0.00464349939, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  1007. o88.Part0 = mas
  1008. o88.Part1 = mas
  1009. o92.Name = "OriginalSize"
  1010. o92.Parent = mas
  1011. o92.Value = Vector3.new(0.678933918, 1.34023976, 0.83825773)
  1012. o93.Name = "LeftHip"
  1013. o93.Parent = mas
  1014. o93.C0 = CFrame.new(-0.500000596, -0.317417175, 0.0487938523, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  1015. o93.C1 = CFrame.new(-0.0572995245, 0.406759053, 0.0292848647, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  1016. o93.Part0 = mas
  1017. o93.Part1 = mas
  1018. o97.Name = "OriginalSize"
  1019. o97.Parent = mas
  1020. o97.Value = Vector3.new(0.722899318, 0.919740438, 0.897220731)
  1021. o98.Name = "LeftKnee"
  1022. o98.Parent = mas
  1023. o98.C0 = CFrame.new(-0.0572995245, -0.393240929, 0.0292848647, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  1024. o98.C1 = CFrame.new(-0.0572987199, 0.445221424, 0.00459977984, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  1025. o98.Part0 = mas
  1026. o98.Part1 = mas
  1027. o101.Name = "OriginalSize"
  1028. o101.Parent = mas
  1029. o101.Value = Vector3.new(0.804975271, 0.456319809, 1.21525121)
  1030. o102.Name = "RightAnkle"
  1031. o102.Parent = mas
  1032. o102.C0 = CFrame.new(0.0572987497, -0.554778814, 0.00469824811, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  1033. o102.C1 = CFrame.new(0.0572986603, -0.0541877747, 0.102150455, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  1034. o102.Part0 = mas
  1035. o102.Part1 = mas
  1036. o106.Name = "OriginalSize"
  1037. o106.Parent = mas
  1038. o106.Value = Vector3.new(0.827857256, 0.925159276, 0.877025366)
  1039. o107.Name = "LeftElbow"
  1040. o107.Parent = mas
  1041. o107.C0 = CFrame.new(-0.187108159, -0.361013532, -0.0245017558, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  1042. o107.C1 = CFrame.new(-0.0358767509, 0.40380016, -0.000202059746, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  1043. o107.Part0 = mas
  1044. o107.Part1 = mas
  1045. o111.Name = "OriginalSize"
  1046. o111.Parent = mas
  1047. o111.Value = Vector3.new(0.775964022, 0.955060005, 0.760477781)
  1048. o112.Name = "LeftWrist"
  1049. o112.Parent = mas
  1050. o112.C0 = CFrame.new(-0.0358767509, -0.396199822, -0.000202059746, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  1051. o112.C1 = CFrame.new(0.0106925964, 0.110724702, -0.0063508749, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  1052. o112.Part0 = mas
  1053. o112.Part1 = mas
  1054. o113.Name = "Damage Script"
  1055. o113.Parent = mas
  1056. table.insert(cors,coroutine.create(function()
  1057. wait()
  1058. runDummyScript(function()
  1059. function onTouched(hit)
  1060. local human = hit.Parent:findFirstChild("Humanoid")
  1061. if (human ~= nil) then
  1062. human.Health = human.Health - 50 -- Change the amount to change the damage.
  1063. end
  1064. end
  1065. script.Parent.Touched:connect(onTouched)
  1066. end,o113)
  1067. end))
  1068. o117.Name = "OriginalSize"
  1069. o117.Parent = mas
  1070. o117.Value = Vector3.new(0.775964022, 0.955060005, 0.760477781)
  1071. o118.Name = "RightWrist"
  1072. o118.Parent = mas
  1073. o118.C0 = CFrame.new(0.0363556147, -0.396199793, -0.00020223856, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  1074. o118.C1 = CFrame.new(-0.0102137327, 0.110724702, -0.00635111332, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  1075. o118.Part0 = mas
  1076. o118.Part1 = mas
  1077. o119.Name = "Damage Script"
  1078. o119.Parent = mas
  1079. table.insert(cors,coroutine.create(function()
  1080. wait()
  1081. runDummyScript(function()
  1082. function onTouched(hit)
  1083. local human = hit.Parent:findFirstChild("Humanoid")
  1084. if (human ~= nil) then
  1085. human.Health = human.Health - 50 -- Change the amount to change the damage.
  1086. end
  1087. end
  1088. script.Parent.Touched:connect(onTouched)
  1089. end,o119)
  1090. end))
  1091. o120.Name = "Core"
  1092. o120.Parent = o2
  1093. table.insert(cors,coroutine.create(function()
  1094. wait()
  1095. runDummyScript(function()
  1096. print("Hello world!")
  1097.  
  1098. Character = script.Parent
  1099. Humanoid = Character.Humanoid
  1100. Torso = Character.Torso
  1101.  
  1102. function OnDeath()
  1103. print("Death")
  1104. x=Character:GetChildren()
  1105. for i=1,#x do
  1106. if (x[i].className=="Tool") then
  1107. x[i].Parent = nil
  1108. end
  1109. end
  1110. mode = Instance.new("Model")
  1111. mode.Name = ""
  1112. mode.Parent = Workspace
  1113. wait()
  1114. Humanoid.Parent = nil
  1115. THIS = script.Cleaner:clone()
  1116. THIS.Parent = mode
  1117. THIS.Disabled = false
  1118. bland=Instance.new("Humanoid")
  1119. bland.Health=0
  1120. bland.MaxHealth=0
  1121. bland.Parent=mode
  1122. --bland.Name = "Ragdoll"
  1123. x=Character:GetChildren()
  1124. for i=1,#x do
  1125. if (x[i].className=="Hat") then
  1126. x[i].Handle.Anchored = true
  1127. end
  1128. if (x[i].className =="Part") then
  1129. x[i].Anchored = true
  1130. end
  1131. end
  1132. if Torso then
  1133. --Torso.Velocity = Vector3.new(0, 0, 0)
  1134. --Torso.RotVelocity = Vector3.new(0, 0, 0)
  1135. zam=Torso:Clone()
  1136. zam.Parent=mode
  1137. zam.Elasticity = 0
  1138. zam.Friction = 1
  1139. x=Character:GetChildren()
  1140. for i=1,#x do
  1141. if ((x[i].Name=="Shirt") or (x[i].Name=="Pants") or (x[i].className=="CharacterMesh") or (x[i].className=="Hat") or (x[i].className=="Decal") or (x[i].className=="ShirtGraphic") or (x[i].className=="Model")) then
  1142. local zor=x[i]:Clone()
  1143. zor.Parent=mode
  1144. end
  1145. if x[i].Name=="Head" then
  1146. --x[i].Velocity = Vector3.new(0, 0, 0)
  1147. --x[i].RotVelocity = Vector3.new(0, 0, 0)
  1148. local zem=x[i]:Clone()
  1149. zem.Parent=mode
  1150. zem.Name="Head"
  1151. zem.Elasticity = 0
  1152. zem.Friction = 1
  1153. local Neck = Instance.new("Weld")
  1154. Neck.Name = "Neck"
  1155. Neck.Part0 = zam
  1156. Neck.Part1 = zem
  1157. Neck.C0 = CFrame.new(0, 1.5, 0)
  1158. Neck.C1 = CFrame.new()
  1159. Neck.Parent = zam
  1160. end
  1161. if x[i].Name=="Right Arm" then
  1162. --x[i].Velocity = Vector3.new(0, 0, 0)
  1163. --x[i].RotVelocity = Vector3.new(0, 0, 0)
  1164. local Limb=x[i]:Clone()
  1165. Limb.Parent=mode
  1166. Limb.CFrame = zam.CFrame * CFrame.new(1.5, 0, 0)
  1167. Limb.Elasticity = 0
  1168. Limb.Friction = 1
  1169. local Joint = Instance.new("Rotate")
  1170. Joint.Name = "RightShoulder"
  1171. Joint.Part0 = zam
  1172. Joint.Part1 = Limb
  1173. Joint.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  1174. Joint.C1 = CFrame.new(-0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  1175. Joint.Parent = zam
  1176.  
  1177. local B = Instance.new("Part")
  1178. B.TopSurface = 0
  1179. B.BottomSurface = 0
  1180. B.Elasticity = 0
  1181. B.Friction = 1
  1182. B.formFactor = "Symmetric"
  1183. B.Size = Vector3.new(1, 1, 1)
  1184. B.Transparency = 1
  1185. B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  1186. B.Parent = mode
  1187. local W = Instance.new("Weld")
  1188. W.Part0 = Limb
  1189. W.Part1 = B
  1190. W.C0 = CFrame.new(0, -0.5, 0)
  1191. W.Parent = Limb
  1192.  
  1193. end
  1194. if x[i].Name=="Left Arm" then
  1195. --x[i].Velocity = Vector3.new(0, 0, 0)
  1196. --x[i].RotVelocity = Vector3.new(0, 0, 0)
  1197. local Limb=x[i]:Clone()
  1198. Limb.Parent=mode
  1199. Limb.CFrame = zam.CFrame * CFrame.new(-1.5, 0, 0)
  1200. Limb.Elasticity = 0
  1201. Limb.Friction = 1
  1202. local Joint = Instance.new("Rotate")
  1203. Joint.Name = "LeftShoulder"
  1204. Joint.Part0 = zam
  1205. Joint.Part1 = Limb
  1206. Joint.C0 = CFrame.new(-1.5, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  1207. Joint.C1 = CFrame.new(0, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  1208. Joint.Parent = zam
  1209.  
  1210. local B = Instance.new("Part")
  1211. B.TopSurface = 0
  1212. B.BottomSurface = 0
  1213. B.Elasticity = 0
  1214. B.Friction = 1
  1215. B.formFactor = "Symmetric"
  1216. B.Size = Vector3.new(1, 1, 1)
  1217. B.Transparency = 1
  1218. B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  1219. B.Parent = mode
  1220. local W = Instance.new("Weld")
  1221. W.Part0 = Limb
  1222. W.Part1 = B
  1223. W.C0 = CFrame.new(0, -0.5, 0)
  1224. W.Parent = Limb
  1225.  
  1226. end
  1227. if x[i].Name=="Right Leg" then
  1228. --x[i].Velocity = Vector3.new(0, 0, 0)
  1229. --x[i].RotVelocity = Vector3.new(0, 0, 0)
  1230. local Limb=x[i]:Clone()
  1231. Limb.Parent=mode
  1232. Limb.CFrame = zam.CFrame * CFrame.new(0.5, -2, 0)
  1233. Limb.Elasticity = 0
  1234. Limb.Friction = 1
  1235. local Joint = Instance.new("Rotate")
  1236. Joint.Name = "RightHip"
  1237. Joint.Part0 = zam
  1238. Joint.Part1 = Limb
  1239. Joint.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  1240. Joint.C1 = CFrame.new(0, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  1241. Joint.Parent = zam
  1242.  
  1243. local B = Instance.new("Part")
  1244. B.TopSurface = 0
  1245. B.BottomSurface = 0
  1246. B.Elasticity = 0
  1247. B.Friction = 1
  1248. B.formFactor = "Symmetric"
  1249. B.Size = Vector3.new(1, 1, 1)
  1250. B.Transparency = 1
  1251. B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  1252. B.Parent = mode
  1253. local W = Instance.new("Weld")
  1254. W.Part0 = Limb
  1255. W.Part1 = B
  1256. W.C0 = CFrame.new(0, -0.5, 0)
  1257. W.Parent = Limb
  1258.  
  1259. end
  1260. if x[i].Name=="Left Leg" then
  1261. --x[i].Velocity = Vector3.new(0, 0, 0)
  1262. --x[i].RotVelocity = Vector3.new(0, 0, 0)
  1263. local Limb=x[i]:Clone()
  1264. Limb.Parent=mode
  1265. Limb.CFrame = zam.CFrame * CFrame.new(-0.5, -2, 0)
  1266. Limb.Elasticity = 0
  1267. Limb.Friction = 1
  1268. local Joint = Instance.new("Rotate")
  1269. Joint.Name = "LeftHip"
  1270. Joint.Part0 = zam
  1271. Joint.Part1 = Limb
  1272. Joint.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  1273. Joint.C1 = CFrame.new(-0, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  1274. Joint.Parent = zam
  1275.  
  1276. local B = Instance.new("Part")
  1277. B.TopSurface = 0
  1278. B.BottomSurface = 0
  1279. B.Elasticity = 0
  1280. B.Friction = 1
  1281. B.formFactor = "Symmetric"
  1282. B.Size = Vector3.new(1, 1, 1)
  1283. B.Transparency = 1
  1284. B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  1285. B.Parent = mode
  1286. local W = Instance.new("Weld")
  1287. W.Part0 = Limb
  1288. W.Part1 = B
  1289. W.C0 = CFrame.new(0, -0.5, 0)
  1290. W.Parent = Limb
  1291.  
  1292. end
  1293. end
  1294.  
  1295. local Bar = Instance.new("Part")
  1296. Bar.TopSurface = 0
  1297. Bar.BottomSurface = 0
  1298. Bar.Elasticity = 0
  1299. Bar.Friction = 1
  1300. Bar.formFactor = "Symmetric"
  1301. Bar.Size = Vector3.new(1, 1, 1)
  1302. Bar.Transparency = 1
  1303. Bar.CFrame = zam.CFrame * CFrame.new(0, 0.5, 0)
  1304. Bar.Parent = mode
  1305. local Weld = Instance.new("Weld")
  1306. Weld.Part0 = zam
  1307. Weld.Part1 = Bar
  1308. Weld.C0 = CFrame.new(0, 0.5, 0)
  1309. Weld.Parent = zam
  1310. end
  1311. wait()
  1312. Character:remove()
  1313. mode:FindFirstChild("Head").Velocity = Vector3.new(0,0,0)
  1314. mode:FindFirstChild("Left Arm").Velocity = Vector3.new(0,0,0)
  1315. mode:FindFirstChild("Left Leg").Velocity = Vector3.new(0,0,0)
  1316. mode:FindFirstChild("Right Arm").Velocity = Vector3.new(0,0,0)
  1317. mode:FindFirstChild("Right Leg").Velocity = Vector3.new(0,0,0)
  1318. mode:FindFirstChild("Torso").Velocity = Vector3.new(0,0,0)
  1319. x=mode:GetChildren()
  1320. for i=1,#x do
  1321. if (x[i].className=="Hat") then
  1322. if x[i]:findFirstChild("Handle") then
  1323. x[i].Handle.Anchored = false
  1324. end
  1325. end
  1326. if (x[i].className =="Part") then
  1327. x[i].Anchored = false
  1328. end
  1329. end
  1330. local b = Instance.new("BodyPosition")
  1331. b.maxForce = Vector3.new(0, 3000, 0)
  1332. b.position = mode:findFirstChild("Torso").Position - Vector3.new(0, 25, 0)
  1333. b.Parent = mode:findFirstChild("Torso")
  1334. wait(5)
  1335. for i=1,#x do
  1336. if (x[i].className=="Hat") then
  1337. if x[i]:findFirstChild("Handle") then
  1338. x[i].Handle.Anchored = true
  1339. end
  1340. end
  1341. if (x[i].className =="Part") then
  1342. x[i].Anchored = true
  1343. end
  1344. end
  1345. end
  1346.  
  1347. Humanoid.Died:connect(OnDeath)
  1348. end,o120)
  1349. end))
  1350. o121.Name = "Cleaner"
  1351. o121.Parent = o120
  1352. o121.Disabled = true
  1353. table.insert(cors,coroutine.create(function()
  1354. wait()
  1355. runDummyScript(function()
  1356. wait(30) -- removes the raggy in 10 seconds.
  1357. script.Parent:Destroy()
  1358. end,o121)
  1359. end))
  1360. o122.Name = "Read me"
  1361. o122.Parent = o2
  1362. table.insert(cors,coroutine.create(function()
  1363. wait()
  1364. runDummyScript(function()
  1365. --| Help for R15 model Zombie |--
  1366. --
  1367. -- To edit the zombie's damage go to LeftLowerArm/RightLowerArm > Damage Script > human.Health = human.Health - 5
  1368. -- Edit the number to whatever you'd like
  1369. -- The player will recieve damage from the LeftLowerArm and RightLowerArm
  1370. -- To edit the walkspeed go to Humanoid > Scroll to the bottom > Edit the number shown after WalkSpeed
  1371. -- You can also edit max health and spawn health under Humanoid > game
  1372. --
  1373. -- Have fun!
  1374. --
  1375. -- ImFarAway
  1376. end,o122)
  1377. end))
  1378. o123.Parent = o2
  1379. o123.Material = Enum.Material.Neon
  1380. o123.BrickColor = BrickColor.new("Really red")
  1381. o123.Position = Vector3.new(-5.77007198, 4.67999554, -11.1297207)
  1382. o123.CanCollide = false
  1383. o123.Shape = Enum.PartType.Ball
  1384. o123.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
  1385. o123.CFrame = CFrame.new(-5.77007198, 4.67999554, -11.1297207, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  1386. o123.BottomSurface = Enum.SurfaceType.Smooth
  1387. o123.TopSurface = Enum.SurfaceType.Smooth
  1388. o123.Color = Color3.new(1, 0, 0)
  1389. o123.Position = Vector3.new(-5.77007198, 4.67999554, -11.1297207)
  1390. o124.Parent = o2
  1391. o124.Material = Enum.Material.Neon
  1392. o124.BrickColor = BrickColor.new("Really red")
  1393. o124.Position = Vector3.new(-5.69007015, 4.67999554, -11.5097237)
  1394. o124.CanCollide = false
  1395. o124.Shape = Enum.PartType.Ball
  1396. o124.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
  1397. o124.CFrame = CFrame.new(-5.69007015, 4.67999554, -11.5097237, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  1398. o124.BottomSurface = Enum.SurfaceType.Smooth
  1399. o124.TopSurface = Enum.SurfaceType.Smooth
  1400. o124.Color = Color3.new(1, 0, 0)
  1401. o124.Position = Vector3.new(-5.69007015, 4.67999554, -11.5097237)
  1402. o125.Name = "Animate"
  1403. o125.Parent = o2
  1404. table.insert(cors,coroutine.create(function()
  1405. wait()
  1406. runDummyScript(function()
  1407. function waitForChild(parent, childName)
  1408. local child = parent:findFirstChild(childName)
  1409. if child then return child end
  1410. while true do
  1411. child = parent.ChildAdded:wait()
  1412. if child.Name==childName then return child end
  1413. end
  1414. end
  1415.  
  1416. local Figure = script.Parent
  1417. local Humanoid = waitForChild(Figure, "Humanoid")
  1418. local pose = "Standing"
  1419.  
  1420. local currentAnim = ""
  1421. local currentAnimInstance = nil
  1422. local currentAnimTrack = nil
  1423. local currentAnimKeyframeHandler = nil
  1424. local currentAnimSpeed = 0.5
  1425. local animTable = {}
  1426. local animNames = {
  1427. idle = {
  1428. { id = "http://www.roblox.com/asset/?id=865721441", weight = 1 },
  1429. { id = "http://www.roblox.com/asset/?id=865721441", weight = 9 }
  1430. },
  1431. walk = {
  1432. { id = "http://www.roblox.com/asset/?id=865719063", weight = 5 }
  1433. },
  1434. run = {
  1435. { id = "http://www.roblox.com/asset/?id=865719063", weight = 5 }
  1436. },
  1437. swim = {
  1438. { id = "http://www.roblox.com/asset/?id=507784897", weight = 10 }
  1439. },
  1440. swimidle = {
  1441. { id = "http://www.roblox.com/asset/?id=507785072", weight = 10 }
  1442. },
  1443. jump = {
  1444. { id = "http://www.roblox.com/asset/?id=507765000", weight = 10 }
  1445. },
  1446. fall = {
  1447. { id = "http://www.roblox.com/asset/?id=507767968", weight = 10 }
  1448. },
  1449. climb = {
  1450. { id = "http://www.roblox.com/asset/?id=507765644", weight = 10 }
  1451. },
  1452. sit = {
  1453. { id = "http://www.roblox.com/asset/?id=507768133", weight = 10 }
  1454. },
  1455. toolnone = {
  1456. { id = "http://www.roblox.com/asset/?id=507768375", weight = 10 }
  1457. },
  1458. toolslash = {
  1459. { id = "http://www.roblox.com/asset/?id=507768375", weight = 10 }
  1460. -- { id = "slash.xml", weight = 10 }
  1461. },
  1462. toollunge = {
  1463. { id = "http://www.roblox.com/asset/?id=507768375", weight = 10 }
  1464. },
  1465. wave = {
  1466. { id = "http://www.roblox.com/asset/?id=507770239", weight = 10 }
  1467. },
  1468. point = {
  1469. { id = "http://www.roblox.com/asset/?id=507770453", weight = 10 }
  1470. },
  1471. dance = {
  1472. { id = "http://www.roblox.com/asset/?id=507771019", weight = 10 },
  1473. { id = "http://www.roblox.com/asset/?id=507771955", weight = 10 },
  1474. { id = "http://www.roblox.com/asset/?id=507772104", weight = 10 }
  1475. },
  1476. dance2 = {
  1477. { id = "http://www.roblox.com/asset/?id=507776043", weight = 10 },
  1478. { id = "http://www.roblox.com/asset/?id=507776720", weight = 10 },
  1479. { id = "http://www.roblox.com/asset/?id=507776879", weight = 10 }
  1480. },
  1481. dance3 = {
  1482. { id = "http://www.roblox.com/asset/?id=507777268", weight = 10 },
  1483. { id = "http://www.roblox.com/asset/?id=507777451", weight = 10 },
  1484. { id = "http://www.roblox.com/asset/?id=507777623", weight = 10 }
  1485. },
  1486. laugh = {
  1487. { id = "http://www.roblox.com/asset/?id=507770818", weight = 10 }
  1488. },
  1489. cheer = {
  1490. { id = "http://www.roblox.com/asset/?id=507770677", weight = 10 }
  1491. },
  1492. }
  1493.  
  1494. -- Existance in this list signifies that it is an emote, the value indicates if it is a looping emote
  1495. local emoteNames = { wave = false, point = false, dance = true, dance2 = true, dance3 = true, laugh = false, cheer = false}
  1496.  
  1497. math.randomseed(tick())
  1498.  
  1499. function configureAnimationSet(name, fileList)
  1500. if (animTable[name] ~= nil) then
  1501. for _, connection in pairs(animTable[name].connections) do
  1502. connection:disconnect()
  1503. end
  1504. end
  1505. animTable[name] = {}
  1506. animTable[name].count = 0
  1507. animTable[name].totalWeight = 0
  1508. animTable[name].connections = {}
  1509.  
  1510. -- check for config values
  1511. local config = script:FindFirstChild(name)
  1512. if (config ~= nil) then
  1513. -- print("Loading anims " .. name)
  1514. table.insert(animTable[name].connections, config.ChildAdded:connect(function(child) configureAnimationSet(name, fileList) end))
  1515. table.insert(animTable[name].connections, config.ChildRemoved:connect(function(child) configureAnimationSet(name, fileList) end))
  1516. local idx = 1
  1517. for _, childPart in pairs(config:GetChildren()) do
  1518. if (childPart:IsA("Animation")) then
  1519. table.insert(animTable[name].connections, childPart.Changed:connect(function(property) configureAnimationSet(name, fileList) end))
  1520. animTable[name][idx] = {}
  1521. animTable[name][idx].anim = childPart
  1522. local weightObject = childPart:FindFirstChild("Weight")
  1523. if (weightObject == nil) then
  1524. animTable[name][idx].weight = 1
  1525. else
  1526. animTable[name][idx].weight = weightObject.Value
  1527. end
  1528. animTable[name].count = animTable[name].count + 1
  1529. animTable[name].totalWeight = animTable[name].totalWeight + animTable[name][idx].weight
  1530. -- print(name .. " [" .. idx .. "] " .. animTable[name][idx].anim.AnimationId .. " (" .. animTable[name][idx].weight .. ")")
  1531. idx = idx + 1
  1532. end
  1533. end
  1534. end
  1535.  
  1536. -- fallback to defaults
  1537. if (animTable[name].count <= 0) then
  1538. for idx, anim in pairs(fileList) do
  1539. animTable[name][idx] = {}
  1540. animTable[name][idx].anim = Instance.new("Animation")
  1541. animTable[name][idx].anim.Name = name
  1542. animTable[name][idx].anim.AnimationId = anim.id
  1543. animTable[name][idx].weight = anim.weight
  1544. animTable[name].count = animTable[name].count + 1
  1545. animTable[name].totalWeight = animTable[name].totalWeight + anim.weight
  1546. -- print(name .. " [" .. idx .. "] " .. anim.id .. " (" .. anim.weight .. ")")
  1547. end
  1548. end
  1549. end
  1550.  
  1551. -- Setup animation objects
  1552. function scriptChildModified(child)
  1553. local fileList = animNames[child.Name]
  1554. if (fileList ~= nil) then
  1555. configureAnimationSet(child.Name, fileList)
  1556. end
  1557. end
  1558.  
  1559. script.ChildAdded:connect(scriptChildModified)
  1560. script.ChildRemoved:connect(scriptChildModified)
  1561.  
  1562.  
  1563. for name, fileList in pairs(animNames) do
  1564. configureAnimationSet(name, fileList)
  1565. end
  1566.  
  1567. -- ANIMATION
  1568.  
  1569. -- declarations
  1570. local toolAnim = "None"
  1571. local toolAnimTime = 0
  1572.  
  1573. local jumpAnimTime = 0
  1574. local jumpAnimDuration = 0.31
  1575.  
  1576. local toolTransitionTime = 0.1
  1577. local fallTransitionTime = 0.2
  1578.  
  1579. -- functions
  1580.  
  1581. function stopAllAnimations()
  1582. local oldAnim = currentAnim
  1583.  
  1584. -- return to idle if finishing an emote
  1585. if (emoteNames[oldAnim] ~= nil and emoteNames[oldAnim] == false) then
  1586. oldAnim = "idle"
  1587. end
  1588.  
  1589. currentAnim = ""
  1590. currentAnimInstance = nil
  1591. if (currentAnimKeyframeHandler ~= nil) then
  1592. currentAnimKeyframeHandler:disconnect()
  1593. end
  1594.  
  1595. if (currentAnimTrack ~= nil) then
  1596. currentAnimTrack:Stop()
  1597. currentAnimTrack:Destroy()
  1598. currentAnimTrack = nil
  1599. end
  1600. return oldAnim
  1601. end
  1602.  
  1603. function setAnimationSpeed(speed)
  1604. if speed ~= currentAnimSpeed then
  1605. currentAnimSpeed = speed
  1606. currentAnimTrack:AdjustSpeed(currentAnimSpeed)
  1607. end
  1608. end
  1609.  
  1610. function keyFrameReachedFunc(frameName)
  1611. if (frameName == "End") then
  1612. -- print("Keyframe : ".. frameName)
  1613.  
  1614. local repeatAnim = currentAnim
  1615. -- return to idle if finishing an emote
  1616. if (emoteNames[repeatAnim] ~= nil and emoteNames[repeatAnim] == false) then
  1617. repeatAnim = "idle"
  1618. end
  1619.  
  1620. local animSpeed = currentAnimSpeed
  1621. playAnimation(repeatAnim, 0.15, Humanoid)
  1622. setAnimationSpeed(animSpeed)
  1623. end
  1624. end
  1625.  
  1626. -- Preload animations
  1627. function playAnimation(animName, transitionTime, humanoid)
  1628.  
  1629. local roll = math.random(1, animTable[animName].totalWeight)
  1630. local origRoll = roll
  1631. local idx = 1
  1632. while (roll > animTable[animName][idx].weight) do
  1633. roll = roll - animTable[animName][idx].weight
  1634. idx = idx + 1
  1635. end
  1636.  
  1637. -- print(animName .. " " .. idx .. " [" .. origRoll .. "]")
  1638.  
  1639. local anim = animTable[animName][idx].anim
  1640.  
  1641. -- switch animation
  1642. if (anim ~= currentAnimInstance) then
  1643.  
  1644. if (currentAnimTrack ~= nil) then
  1645. currentAnimTrack:Stop(transitionTime)
  1646. currentAnimTrack:Destroy()
  1647. end
  1648.  
  1649. currentAnimSpeed = 1.0
  1650.  
  1651. -- load it to the humanoid; get AnimationTrack
  1652. currentAnimTrack = humanoid:LoadAnimation(anim)
  1653.  
  1654. -- play the animation
  1655. currentAnimTrack:Play(transitionTime)
  1656. currentAnim = animName
  1657. currentAnimInstance = anim
  1658.  
  1659. -- set up keyframe name triggers
  1660. if (currentAnimKeyframeHandler ~= nil) then
  1661. currentAnimKeyframeHandler:disconnect()
  1662. end
  1663. currentAnimKeyframeHandler = currentAnimTrack.KeyframeReached:connect(keyFrameReachedFunc)
  1664.  
  1665. end
  1666.  
  1667. end
  1668.  
  1669. -------------------------------------------------------------------------------------------
  1670. -------------------------------------------------------------------------------------------
  1671.  
  1672. local toolAnimName = ""
  1673. local toolAnimTrack = nil
  1674. local toolAnimInstance = nil
  1675. local currentToolAnimKeyframeHandler = nil
  1676.  
  1677. function toolKeyFrameReachedFunc(frameName)
  1678. if (frameName == "End") then
  1679. -- print("Keyframe : ".. frameName)
  1680. playToolAnimation(toolAnimName, 0.0, Humanoid)
  1681. end
  1682. end
  1683.  
  1684.  
  1685. function playToolAnimation(animName, transitionTime, humanoid)
  1686.  
  1687. local roll = math.random(1, animTable[animName].totalWeight)
  1688. local origRoll = roll
  1689. local idx = 1
  1690. while (roll > animTable[animName][idx].weight) do
  1691. roll = roll - animTable[animName][idx].weight
  1692. idx = idx + 1
  1693. end
  1694. -- print(animName .. " * " .. idx .. " [" .. origRoll .. "]")
  1695. local anim = animTable[animName][idx].anim
  1696.  
  1697. if (toolAnimInstance ~= anim) then
  1698.  
  1699. if (toolAnimTrack ~= nil) then
  1700. toolAnimTrack:Stop()
  1701. toolAnimTrack:Destroy()
  1702. transitionTime = 0
  1703. end
  1704.  
  1705. -- load it to the humanoid; get AnimationTrack
  1706. toolAnimTrack = humanoid:LoadAnimation(anim)
  1707.  
  1708. -- play the animation
  1709. toolAnimTrack:Play(transitionTime)
  1710. toolAnimName = animName
  1711. toolAnimInstance = anim
  1712.  
  1713. currentToolAnimKeyframeHandler = toolAnimTrack.KeyframeReached:connect(toolKeyFrameReachedFunc)
  1714. end
  1715. end
  1716.  
  1717. function stopToolAnimations()
  1718. local oldAnim = toolAnimName
  1719.  
  1720. if (currentToolAnimKeyframeHandler ~= nil) then
  1721. currentToolAnimKeyframeHandler:disconnect()
  1722. end
  1723.  
  1724. toolAnimName = ""
  1725. toolAnimInstance = nil
  1726. if (toolAnimTrack ~= nil) then
  1727. toolAnimTrack:Stop()
  1728. toolAnimTrack:Destroy()
  1729. toolAnimTrack = nil
  1730. end
  1731.  
  1732.  
  1733. return oldAnim
  1734. end
  1735.  
  1736. -------------------------------------------------------------------------------------------
  1737. -------------------------------------------------------------------------------------------
  1738.  
  1739.  
  1740. function onRunning(speed)
  1741. if speed > 0.01 then
  1742. local scale = 15.0
  1743. playAnimation("walk", 0.1, Humanoid)
  1744. setAnimationSpeed(speed / scale)
  1745. pose = "Running"
  1746. else
  1747. playAnimation("idle", 0.1, Humanoid)
  1748. pose = "Standing"
  1749. end
  1750. end
  1751.  
  1752. function onDied()
  1753. pose = "Dead"
  1754. end
  1755.  
  1756. function onJumping()
  1757. playAnimation("jump", 0.1, Humanoid)
  1758. jumpAnimTime = jumpAnimDuration
  1759. pose = "Jumping"
  1760. end
  1761.  
  1762. function onClimbing(speed)
  1763. local scale = 5.0
  1764. playAnimation("climb", 0.1, Humanoid)
  1765. setAnimationSpeed(speed / scale)
  1766. pose = "Climbing"
  1767. end
  1768.  
  1769. function onGettingUp()
  1770. pose = "GettingUp"
  1771. end
  1772.  
  1773. function onFreeFall()
  1774. if (jumpAnimTime <= 0) then
  1775. playAnimation("fall", fallTransitionTime, Humanoid)
  1776. end
  1777. pose = "FreeFall"
  1778. end
  1779.  
  1780. function onFallingDown()
  1781. pose = "FallingDown"
  1782. end
  1783.  
  1784. function onSeated()
  1785. pose = "Seated"
  1786. end
  1787.  
  1788. function onPlatformStanding()
  1789. pose = "PlatformStanding"
  1790. end
  1791.  
  1792. function onSwimming(speed)
  1793. if speed > 1.00 then
  1794. local scale = 10.0
  1795. playAnimation("swim", 0.4, Humanoid)
  1796. setAnimationSpeed(speed / scale)
  1797. pose = "Swimming"
  1798. else
  1799. playAnimation("swimidle", 0.4, Humanoid)
  1800. pose = "Standing"
  1801. end
  1802. end
  1803.  
  1804. function getTool()
  1805. for _, kid in ipairs(Figure:GetChildren()) do
  1806. if kid.className == "Tool" then return kid end
  1807. end
  1808. return nil
  1809. end
  1810.  
  1811. function getToolAnim(tool)
  1812. for _, c in ipairs(tool:GetChildren()) do
  1813. if c.Name == "toolanim" and c.className == "StringValue" then
  1814. return c
  1815. end
  1816. end
  1817. return nil
  1818. end
  1819.  
  1820. function animateTool()
  1821.  
  1822. if (toolAnim == "None") then
  1823. playToolAnimation("toolnone", toolTransitionTime, Humanoid)
  1824. return
  1825. end
  1826.  
  1827. if (toolAnim == "Slash") then
  1828. playToolAnimation("toolslash", 0, Humanoid)
  1829. return
  1830. end
  1831.  
  1832. if (toolAnim == "Lunge") then
  1833. playToolAnimation("toollunge", 0, Humanoid)
  1834. return
  1835. end
  1836. end
  1837.  
  1838. function moveSit()
  1839. RightShoulder.MaxVelocity = 0.15
  1840. LeftShoulder.MaxVelocity = 0.15
  1841. RightShoulder:SetDesiredAngle(3.14 /2)
  1842. LeftShoulder:SetDesiredAngle(-3.14 /2)
  1843. RightHip:SetDesiredAngle(3.14 /2)
  1844. LeftHip:SetDesiredAngle(-3.14 /2)
  1845. end
  1846.  
  1847. local lastTick = 0
  1848.  
  1849. function move(time)
  1850. local amplitude = 1
  1851. local frequency = 1
  1852. local deltaTime = time - lastTick
  1853. lastTick = time
  1854.  
  1855. local climbFudge = 0
  1856. local setAngles = false
  1857.  
  1858. if (jumpAnimTime > 0) then
  1859. jumpAnimTime = jumpAnimTime - deltaTime
  1860. end
  1861.  
  1862. if (pose == "FreeFall" and jumpAnimTime <= 0) then
  1863. playAnimation("fall", fallTransitionTime, Humanoid)
  1864. elseif (pose == "Seated") then
  1865. playAnimation("sit", 0.5, Humanoid)
  1866. return
  1867. elseif (pose == "Running") then
  1868. playAnimation("walk", 0.1, Humanoid)
  1869. elseif (pose == "Dead" or pose == "GettingUp" or pose == "FallingDown" or pose == "Seated" or pose == "PlatformStanding") then
  1870. stopAllAnimations()
  1871. amplitude = 0.1
  1872. frequency = 1
  1873. setAngles = true
  1874. end
  1875.  
  1876. -- Tool Animation handling
  1877. local tool = getTool()
  1878. if tool then
  1879.  
  1880. animStringValueObject = getToolAnim(tool)
  1881.  
  1882. if animStringValueObject then
  1883. toolAnim = animStringValueObject.Value
  1884. -- message recieved, delete StringValue
  1885. animStringValueObject.Parent = nil
  1886. toolAnimTime = time + .3
  1887. end
  1888.  
  1889. if time > toolAnimTime then
  1890. toolAnimTime = 0
  1891. toolAnim = "None"
  1892. end
  1893.  
  1894. animateTool()
  1895. else
  1896. stopToolAnimations()
  1897. toolAnim = "None"
  1898. toolAnimInstance = nil
  1899. toolAnimTime = 0
  1900. end
  1901. end
  1902.  
  1903. -- connect events
  1904. Humanoid.Died:connect(onDied)
  1905. Humanoid.Running:connect(onRunning)
  1906. Humanoid.Jumping:connect(onJumping)
  1907. Humanoid.Climbing:connect(onClimbing)
  1908. Humanoid.GettingUp:connect(onGettingUp)
  1909. Humanoid.FreeFalling:connect(onFreeFall)
  1910. Humanoid.FallingDown:connect(onFallingDown)
  1911. Humanoid.Seated:connect(onSeated)
  1912. Humanoid.PlatformStanding:connect(onPlatformStanding)
  1913. Humanoid.Swimming:connect(onSwimming)
  1914.  
  1915. -- setup emote chat hook
  1916. script.msg.Changed:connect(function(msg)
  1917. script.msg.Value = ""
  1918. local emote = ""
  1919. if (string.sub(msg, 1, 3) == "/e ") then
  1920. emote = string.sub(msg, 4)
  1921. elseif (string.sub(msg, 1, 7) == "/emote ") then
  1922. emote = string.sub(msg, 8)
  1923. end
  1924.  
  1925. if (pose == "Standing" and emoteNames[emote] ~= nil) then
  1926. playAnimation(emote, 0.1, Humanoid)
  1927. end
  1928. -- print("===> " .. string.sub(msg, 1, 3) .. "(" .. emote .. ")")
  1929. end)
  1930.  
  1931.  
  1932. -- main program
  1933.  
  1934. local runService = game:service("RunService");
  1935.  
  1936. -- print("bottom")
  1937.  
  1938. -- initialize to idle
  1939. playAnimation("idle", 0.1, Humanoid)
  1940. pose = "Standing"
  1941.  
  1942. while Figure.Parent~=nil do
  1943. local _, time = wait(0.1)
  1944. move(time)
  1945. end
  1946.  
  1947.  
  1948.  
  1949. end,o125)
  1950. end))
  1951. o126.Name = "msg"
  1952. o126.Parent = o125
  1953. o127.Name = "climb"
  1954. o127.Parent = o125
  1955. o128.Name = "ClimbAnim"
  1956. o128.Parent = o127
  1957. o128.AnimationId = "http://www.roblox.com/asset/?id=507765644"
  1958. o129.Name = "idle"
  1959. o129.Parent = o125
  1960. o130.Name = "sit"
  1961. o130.Parent = o125
  1962. o131.Name = "SitAnim"
  1963. o131.Parent = o130
  1964. o131.AnimationId = "http://www.roblox.com/asset/?id=507768133"
  1965. o132.Name = "swim"
  1966. o132.Parent = o125
  1967. o133.Name = "Swim"
  1968. o133.Parent = o132
  1969. o133.AnimationId = "http://www.roblox.com/asset/?id=507784897"
  1970. o134.Name = "swimidle"
  1971. o134.Parent = o125
  1972. o135.Name = "SwimIdle"
  1973. o135.Parent = o134
  1974. o135.AnimationId = "http://www.roblox.com/asset/?id=481825862"
  1975. o136.Name = "toolnone"
  1976. o136.Parent = o125
  1977. o137.Name = "ToolNoneAnim"
  1978. o137.Parent = o136
  1979. o137.AnimationId = "http://www.roblox.com/asset/?id=507768375"
  1980. o138.Name = "walk"
  1981. o138.Parent = o125
  1982. o139.Name = "fall"
  1983. o139.Parent = o125
  1984. o140.Name = "FallAnim"
  1985. o140.Parent = o139
  1986. o140.AnimationId = "http://www.roblox.com/asset/?id=616157476"
  1987. o141.Name = "jump"
  1988. o141.Parent = o125
  1989. o142.Name = "JumpAnim"
  1990. o142.Parent = o141
  1991. o142.AnimationId = "http://www.roblox.com/asset/?id=616161997"
  1992. o143.Name = "Read Me"
  1993. o143.Parent = o2
  1994. table.insert(cors,coroutine.create(function()
  1995. wait()
  1996. runDummyScript(function()
  1997. --(This Enemy can pass through soild object and will pass through the ground you can change it if you want, also it
  1998. --kill any thing that it touch)it only dose 50 damage but it still kills like that you can change the damage
  1999. --by going to the left ans right hands
  2000. --
  2001.  
  2002.  
  2003. end,o143)
  2004. end))
  2005. mas.Parent = workspace
  2006. mas:MakeJoints()
  2007. local mas1 = mas:GetChildren()
  2008. for i=1,#mas1 do
  2009. mas1[i].Parent = workspace
  2010. ypcall(function() mas1[i]:MakeJoints() end)
  2011. end
  2012. mas:Destroy()
  2013. for i=1,#cors do
  2014. coroutine.resume(cors[i])
  2015. end
  2016.  
  2017. game:GetService("Lighting").Ambient = Color3.new(0, 0, 0)
  2018. game:GetService("Lighting").Brightness = 1
  2019. game:GetService("Lighting").ColorShift_Bottom = Color3.new(0, 0, 0)
  2020. game:GetService("Lighting").ColorShift_Top = Color3.new(0, 0, 0)
  2021. game:GetService("Lighting").GlobalShadows = true
  2022. game:GetService("Lighting").OutdoorAmbient = Color3.new(0.5, 0.5, 0.5)
  2023. game:GetService("Lighting").Outlines = false
  2024. game:GetService("Lighting").GeographicLatitude = 41.733299255371
  2025. game:GetService("Lighting").TimeOfDay = "14:00:00"
  2026. game:GetService("Lighting").FogColor = Color3.new(0.75, 0.75, 0.75)
  2027. game:GetService("Lighting").FogEnd = 100000
  2028. game:GetService("Lighting").FogStart = 0
Add Comment
Please, Sign In to add comment