Advertisement
SlappyDappyCrappy

Untitled

Nov 5th, 2017
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- Made by GearsOfPower
  2. -- http://pastebin.com/raw/FhkuCZDD
  3.  
  4. local Player = game.Players.LocalPlayer
  5. local Mouse = Player:GetMouse()
  6. repeat wait() until Player.Character
  7. local Character = Player.Character
  8.  
  9. local scriptId = "GhostScriptID-9211"
  10. script.Name = scriptId
  11. script.Parent = Player.PlayerScripts
  12.  
  13. local GhostObject
  14. local SwordObject
  15.  
  16. -- | Functions
  17.  
  18. -- General
  19.  
  20. local General = {}
  21.  
  22. function General.LoopClosure(parent, func)
  23. for _,v in pairs(parent:GetChildren()) do
  24. func(v)
  25. end
  26. end
  27.  
  28. function General.IsMainBodyPart(part)
  29. if part:IsA("Part") and part.Name ~= "HumanoidRootPart" and part.Name ~= "Head" then
  30. return true
  31. else
  32. return false
  33. end
  34. end
  35.  
  36. function General.TweenTransparency(model, start, finish)
  37. local value = start
  38.  
  39. if start < finish then
  40. repeat
  41. value = value + 0.1
  42. General.LoopClosure(model, function(v)
  43. if General.IsMainBodyPart(v) then
  44. v.Transparency = value
  45. end
  46. end)
  47. wait()
  48. until value >= finish
  49. else
  50. repeat
  51. value = value - 0.1
  52. General.LoopClosure(model, function(v)
  53. if General.IsMainBodyPart(v) then
  54. v.Transparency = value
  55. end
  56. end)
  57. wait()
  58. until value <= finish
  59. end
  60. end
  61.  
  62. function General.TweenSize(part, start, finish, increment, waitTime)
  63. local value = start
  64.  
  65. if start < finish then
  66. repeat
  67. value = value + increment
  68. part.Size = part.Size + Vector3.new(increment, increment, increment)
  69. wait(waitTime)
  70. until value >= finish
  71. else
  72. repeat
  73. value = value - increment
  74. part.Size = part.Size - Vector3.new(increment, increment, increment)
  75. wait(waitTime)
  76. until value <= finish
  77. end
  78. end
  79.  
  80. function General.TweenSizeCo(part, start, finish, increment, waitTime, tweenFunction, finishedFunction)
  81. coroutine.resume(coroutine.create(function()
  82. local value = start
  83.  
  84. if start < finish then
  85. repeat
  86. if part == nil then break end
  87. value = value + increment
  88. part.Size = part.Size + Vector3.new(increment, increment, increment)
  89.  
  90. if tweenFunction ~= nil then tweenFunction() end
  91.  
  92. wait(waitTime)
  93. until value >= finish
  94. else
  95. repeat
  96. if part == nil then break end
  97.  
  98. value = value - increment
  99. part.Size = part.Size - Vector3.new(increment, increment, increment)
  100.  
  101. if tweenFunction ~= nil then tweenFunction() end
  102.  
  103. wait(waitTime)
  104. until value <= finish
  105. end
  106.  
  107. if finishedFunction ~= nil then
  108. finishedFunction()
  109. end
  110. end))
  111. end
  112.  
  113. function General.IsCharacter(part)
  114. if part == nil then return end
  115. if part:FindFirstChild("Humanoid") or part.Parent:FindFirstChild("Humanoid") or part.Parent.Parent:FindFirstChild("Humanoid") then
  116. return true
  117. else
  118. return false
  119. end
  120. end
  121.  
  122. function General.GetCharacter(part)
  123. if part == nil then return end
  124. if part.Parent:FindFirstChild("Humanoid") then
  125. return part.Parent
  126. elseif part.Parent.Parent:FindFirstChild("Humanoid") then
  127. return part.Parent.Parent
  128. end
  129. end
  130.  
  131. function General.GetPlayer(part)
  132. local character = General.GetCharacter(part)
  133.  
  134. if character ~= nil then
  135. local player = game.Players:GetPlayerFromCharacter(character)
  136. if player ~= nil then
  137. return player
  138. end
  139. end
  140. end
  141.  
  142. function General.Weld(part1, part2)
  143. local weld = Instance.new("Weld", part1)
  144. weld.Part0 = part1
  145. weld.Part1 = part2
  146. return weld
  147. end
  148.  
  149. -- Animations
  150.  
  151. -- RIGHT ARM ANGLES | C0 ( +FORWARD/-BACK, +TILT LEFT/-TILT RIGHT, +OUT/-IN ) | C1 INVERSE
  152.  
  153. local Animation = {}
  154. Animation.rigged = false
  155.  
  156. function Animation.RigCharacter(character)
  157.  
  158. local rightArmWeld
  159.  
  160. if not character.Torso:FindFirstChild("RightArmWeld") then
  161. rightArmWeld = General.Weld(character.Torso, character["Right Arm"])
  162. rightArmWeld.Name = "RightArmWeld"
  163. rightArmWeld.C1 = rightArmWeld.C1 * CFrame.new(-1.5, 0, 0)
  164. else
  165. rightArmWeld = character.Torso.RightArmWeld
  166. end
  167.  
  168. Animation.Root = character.HumanoidRootPart:WaitForChild("RootJoint")
  169. Animation.RootRoot = {Animation.Root.C0, Animation.Root.C1} -- the name......
  170. Animation.RightArm = rightArmWeld
  171. Animation.RightArmRoot = {rightArmWeld.C0, rightArmWeld.C1}
  172.  
  173. Animation.rigged = true
  174. end
  175.  
  176. function Animation.Reset()
  177. if not Animation.rigged then return end
  178.  
  179. Animation.Root.C0 = Animation.RootRoot[1]
  180. Animation.Root.C1 = Animation.RootRoot[2]
  181. Animation.RightArm.C0 = Animation.RightArmRoot[1]
  182. Animation.RightArm.C1 = Animation.RightArmRoot[2]
  183. end
  184.  
  185. function Animation.Destroy()
  186. Animation.RightArm:Destroy()
  187. Animation.rigged = false
  188. end
  189.  
  190. Player.Character:BreakJoints()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement