Advertisement
Kaduzinho_BR

Black Hand

May 14th, 2018
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. wt = 0.05 s = script it = Instance.new v3 = Vector3.new c3 = Color3.new ud = UDim2.new cf = CFrame.new ca = CFrame.Angles pi = math.pi rd = math.rad
  2. bc = BrickColor.new ab = math.abs de = math.deg ts = tostring tn = tonumber ti = table.insert tr = table.remove
  3. cr = coroutine.resume cc = coroutine.create
  4. asset = "http://www.roblox.com/asset/?id="
  5. sr = string.reverse sl = string.lower su = string.upper
  6. Serv = {} Serv.p = game:GetService(sr("sreyalP")) Serv.l = game:GetService(sr("gnithgiL"))
  7. Serv.is = game:GetService(sr("ecivreStresnI")) if game:findFirstChild(sr("revreSkrowteN")) then Serv.ns = game:GetService(sr("revreSkrowteN")) else NetworkServer = nil end
  8. Serv.sg = game:GetService(sr("iuGretratS")) Serv.sp = game:GetService(sr("kcaPretratS")) Serv.d = game:GetService(sr("sirbeD"))
  9. Decs = {}
  10. Decs.Crack = "49173398" Decs.Cloud = "1095708" Decs.Spike = "1033714" Decs.Rock = "1290033" Decs.Crown = "1323306"
  11. function ft(tablez,item) if not tablez or not item then return nil end for i=1,#tablez do if tablez[i] == item then return i end end return nil end
  12. function re(par,obj) if type(par) ~= "userdata" or type(obj) ~= "string" then return nil end if par:findFirstChild(obj) then par[obj]:Remove() end end
  13. function pa(pa,sh,x,y,z,c,a,tr,re,bc2) local fp = nil if sh ~= "Wedge" and sh ~= "CornerWedge" then fp = it("Part",pa) fp.Shape = sh fp.formFactor = "Custom" elseif sh == "Wedge" then fp = it("WedgePart",pa) fp.formFactor = "Custom"
  14. elseif sh == "CornerWedge" then fp = it("CornerWedgePart",pa) end fp.Size = v3(x,y,z) fp.CanCollide = c fp.Anchored = false fp.BrickColor = bc(bc2) fp.Transparency = tr fp.Reflectance = re fp.BottomSurface = 0
  15. fp.TopSurface = 0 fp.CFrame = t.CFrame + Vector3.new(0,50,0) fp.Velocity = Vector3.new(0,10,0) fp:BreakJoints() return fp end
  16. function clearit(tab) for xx=1,#tab do tab[xx]:Remove() end end
  17. function weld(pa,p0,p1,x,y,z,a,b,c) local fw = it("Weld",pa) fw.Part0 = p0 fw.Part1 = p1 fw.C0 = cf(x,y,z) *ca(a,b,c) return fw end
  18. function spm(ty,pa,ss) local sp = it("SpecialMesh",pa) sp.MeshType = ty sp.Scale = Vector3.new(ss,ss,ss) end function mbm(pa,sx,sy,sz) local bm = Instance.new("BlockMesh",pa) bm.Scale = Vector3.new(sx,sy,sz) end
  19. function ra(mn,mx,dc) local tms = 1 if dc == nil then dc = 0 end if type(dc) == "number" and dc > 5 then dc = 5 end for zx=1,dc do tms = tms*10 end return math.random(mn*tms,mx*tms)/tms end
  20. p = Serv.p.LocalPlayer -----Your Name Here
  21. bp = p.Backpack
  22. pg = p.PlayerGui
  23. c = p.Character
  24. he = c.Head
  25. t = c.Torso
  26. hu = c.Humanoid
  27. mou = nil
  28. re(c,"Hand")
  29. s = 2
  30.  
  31. --tool var
  32. Equip = false
  33. HTrans = 0
  34. HRef = 0
  35. HCol = "a"
  36. LaserCol = "Really black"
  37. LaserCol2 = "Really black"
  38. LaserCol3 = "Really black"
  39. Posing = "Follow"
  40. Facing = "Owner"
  41. Anim = {}
  42. Anim.a = "None"
  43. Anim.b = "None"
  44. Anim.Welding = 0
  45. local fingwide = 1.5*s
  46. local finghei = 2.8
  47. local tiphei = 2.55
  48. handoffset = v3(5,18,-8)*s
  49. bgx,bgy,bgz = -90,0,0
  50. w = {}
  51. Button = false
  52. --
  53. BlastMesh = it("FileMesh")
  54. BlastMesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
  55. RingMesh = it("FileMesh")
  56. RingMesh.MeshId = "http://www.roblox.com/asset/?id=3270017"
  57. RockMesh = it("FileMesh")
  58. DiamondMesh = it("FileMesh")
  59. DiamondMesh.MeshId = "http://www.roblox.com/Asset/?id=9756362"
  60. m = Instance.new("Model",c) m.Name = "Hand"
  61. Palm = pa(m,"Block",6*s,7*s,fingwide*2,true,false,HTrans,HRef,HCol) mbm(Palm,1,1,0.6)
  62. local x,y,z = Palm.Size.x,Palm.Size.y,Palm.Size.z
  63. bPoint1 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
  64. Point1 = weld(bPoint1,Palm,bPoint1,-x/2+(fingwide/2),y/2,0,0,0,0)
  65. pPoint1 = pa(m,"Block",fingwide,finghei*s,fingwide,true,false,HTrans,HRef,HCol) mbm(pPoint1,0.9,1,0.9)
  66. wPoint1 = weld(pPoint1,bPoint1,pPoint1,0,pPoint1.Size.y/2,0,0,0,0)
  67. bPoint2 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
  68. Point2 = weld(bPoint2,pPoint1,bPoint2,0,pPoint1.Size.y/2,0,0,0,0)
  69. pPoint2 = pa(m,"Block",fingwide,finghei*s,fingwide,true,false,HTrans,HRef,HCol) mbm(pPoint2,0.9,1,0.9)
  70. wPoint2 = weld(pPoint2,bPoint2,pPoint2,0,pPoint1.Size.y/2,0,0,0,0)
  71. bPoint3 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
  72. Point3 = weld(bPoint3,pPoint2,bPoint3,0,pPoint2.Size.y/2,0,0,0,0)
  73. pPoint3 = pa(m,"Block",fingwide,tiphei*s,fingwide,true,false,HTrans,HRef,HCol) mbm(pPoint3,0.9,1,0.9)
  74. wPoint3 = weld(pPoint3,bPoint3,pPoint3,0,pPoint3.Size.y/2,0,0,0,0)
  75. bMid1 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
  76. Mid1 = weld(bMid1,Palm,bMid1,-x/2+((fingwide/2)+((fingwide)*1)),y/2,0,0,0,0)
  77. pMid1 = pa(m,"Block",fingwide,(finghei*1.1)*s,fingwide,true,false,HTrans,HRef,HCol) mbm(pMid1,0.9,1,0.9)
  78. wMid1 = weld(pMid1,bMid1,pMid1,0,pMid1.Size.y/2,0,0,0,0)
  79. bMid2 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
  80. Mid2 = weld(bMid2,pMid1,bMid2,0,pMid1.Size.y/2,0,0,0,0)
  81. pMid2 = pa(m,"Block",fingwide,(finghei*1.1)*s,fingwide,true,false,HTrans,HRef,HCol) mbm(pMid2,0.9,1,0.9)
  82. wMid2 = weld(pMid2,bMid2,pMid2,0,pMid1.Size.y/2,0,0,0,0)
  83. bMid3 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
  84. Mid3 = weld(bMid3,pMid2,bMid3,0,pMid2.Size.y/2,0,0,0,0)
  85. pMid3 = pa(m,"Block",fingwide,(tiphei*1.1)*s,fingwide,true,false,HTrans,HRef,HCol) mbm(pMid3,0.9,1,0.9)
  86. wMid3 = weld(pMid3,bMid3,pMid3,0,pMid3.Size.y/2,0,0,0,0)
  87. bRing1 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
  88. Ring1 = weld(bRing1,Palm,bRing1,-x/2+((fingwide/2)+((fingwide)*2)),y/2,0,0,0,0)
  89. pRing1 = pa(m,"Block",fingwide,(finghei*0.98)*s,fingwide,true,false,HTrans,HRef,HCol) mbm(pRing1,0.9,1,0.9)
  90. wRing1 = weld(pRing1,bRing1,pRing1,0,pRing1.Size.y/2,0,0,0,0)
  91. bRing2 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
  92. Ring2 = weld(bRing2,pRing1,bRing2,0,pRing1.Size.y/2,0,0,0,0)
  93. pRing2 = pa(m,"Block",fingwide,(finghei*0.98)*s,fingwide,true,false,HTrans,HRef,HCol) mbm(pRing2,0.9,1,0.9)
  94. wRing2 = weld(pRing2,bRing2,pRing2,0,pRing1.Size.y/2,0,0,0,0)
  95. bRing3 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
  96. Ring3 = weld(bRing3,pRing2,bRing3,0,pRing2.Size.y/2,0,0,0,0)
  97. pRing3 = pa(m,"Block",fingwide,(tiphei*0.98)*s,fingwide,true,false,HTrans,HRef,HCol) mbm(pRing3,0.9,1,0.9)
  98. wRing3 = weld(pRing3,bRing3,pRing3,0,pRing3.Size.y/2,0,0,0,0)
  99. bPinkie1 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
  100. Pinkie1 = weld(bPinkie1,Palm,bPinkie1,-x/2+((fingwide/2)+((fingwide)*3)),y/2,0,0,0,0)
  101. pPinkie1 = pa(m,"Block",fingwide,(finghei*0.8)*s,fingwide,true,false,HTrans,HRef,HCol) mbm(pPinkie1,0.9,1,0.9)
  102. wPinkie1 = weld(pPinkie1,bPinkie1,pPinkie1,0,pPinkie1.Size.y/2,0,0,0,0)
  103. bPinkie2 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
  104. Pinkie2 = weld(bPinkie2,pPinkie1,bPinkie2,0,pPinkie1.Size.y/2,0,0,0,0)
  105. pPinkie2 = pa(m,"Block",fingwide,(finghei*0.8)*s,fingwide,true,false,HTrans,HRef,HCol) mbm(pPinkie2,0.9,1,0.9)
  106. wPinkie2 = weld(pPinkie2,bPinkie2,pPinkie2,0,pPinkie1.Size.y/2,0,0,0,0)
  107. bPinkie3 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
  108. Pinkie3 = weld(bPinkie3,pPinkie2,bPinkie3,0,pPinkie2.Size.y/2,0,0,0,0)
  109. pPinkie3 = pa(m,"Block",fingwide,(tiphei*0.8)*s,fingwide,true,false,HTrans,HRef,HCol) mbm(pPinkie3,0.9,1,0.9)
  110. wPinkie3 = weld(pPinkie3,bPinkie3,pPinkie3,0,pPinkie3.Size.y/2,0,0,0,0)
  111. bThumb1 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
  112. Thumb1 = weld(bThumb1,Palm,bThumb1,-x/2+(fingwide/7),-y*0.1,-fingwide*0.25,0,0,0)
  113. pThumb1 = pa(m,"Block",fingwide*1.4,(finghei*1)*s,fingwide*1.4,true,false,HTrans,HRef,HCol) mbm(pThumb1,0.9,1,0.9)
  114. wThumb1 = weld(pThumb1,bThumb1,pThumb1,0,pThumb1.Size.y/2,0,0,0,0)
  115. bThumb2 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
  116. Thumb2 = weld(bThumb2,pThumb1,bThumb2,0,pThumb1.Size.y/2,0,0,0,0)
  117. pThumb2 = pa(m,"Block",fingwide*1.3,(finghei*1)*s,fingwide*1.3,true,false,HTrans,HRef,HCol) mbm(pThumb2,0.9,1,0.9)
  118. wThumb2 = weld(pThumb2,bThumb2,pThumb2,0,pThumb1.Size.y/2,0,0,0,0)
  119. bThumb3 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
  120. Thumb3 = weld(bThumb3,pThumb2,bThumb3,0,pThumb2.Size.y/2,0,0,0,0)
  121. pThumb3 = pa(m,"Block",fingwide*1.25,(tiphei*1)*s,fingwide*1.25,true,false,HTrans,HRef,HCol) mbm(pThumb3,0.9,1,0.9)
  122. wThumb3 = weld(pThumb3,bThumb3,pThumb3,0,pThumb3.Size.y/2,0,0,0,0)
  123. w["a1"] = Pinkie1
  124. w["a2"] = Pinkie2
  125. w["a3"] = Pinkie3
  126. w["b1"] = Ring1
  127. w["b2"] = Ring2
  128. w["b3"] = Ring3
  129. w["c1"] = Mid1
  130. w["c2"] = Mid2
  131. w["c3"] = Mid3
  132. w["d1"] = Point1
  133. w["d2"] = Point2
  134. w["d3"] = Point3
  135. w["e1"] = Thumb1
  136. w["e2"] = Thumb2
  137. w["e3"] = Thumb3
  138. w.e1.C1 = ca(0,rd(35),rd(-20))
  139. w.e2.C1 = ca(rd(20),0,0)
  140. w.e3.C1 = ca(rd(20),0,0)
  141. w.d1.C1 = ca(0,0,rd(-3))
  142. w.c1.C1 = ca(0,0,rd(-1))
  143. w.b1.C1 = ca(0,0,rd(1))
  144. w.a1.C1 = ca(0,0,rd(3))
  145. function c1(wexx,smmx,xx,yy,zz)
  146. coroutine.resume(coroutine.create(function()
  147. local xx2,yy2,zz2 = wexx.C1:toEulerAnglesXYZ()
  148. local aa,bb,cc = wexx.C0.x,wexx.C0.y,wexx.C0.z
  149. local twa = smmx/wt
  150. Anim.Welding = Anim.Welding + 1
  151. for i=0,twa,1 do wexx.C0 = cf(aa,bb,cc)
  152. wexx.C1 = ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i))
  153. wait()
  154. end
  155. Anim.Welding = Anim.Welding - 1
  156. end))
  157. end
  158. function CloseFing(fingz,spee) if spee == nil then spee = 1 end c1(w[fingz.. "1"],spee,80,0,0) c1(w[fingz.. "2"],spee,110,0,0) c1(w[fingz.. "3"],spee,30,0,0) end
  159. function OpenFing(fingz,spee) if spee == nil then spee = 1 end c1(w[fingz.. "1"],spee,2,0,0) c1(w[fingz.. "2"],spee,2,0,0) c1(w[fingz.. "3"],spee,2,0,0) end
  160. function HandSign(form,spee) form = form:lower() if spee == nil then spee = 1 end
  161. if form == "f" then
  162. CloseFing("d",spee) CloseFing("a",spee) CloseFing("b",spee)
  163. c1(w["c1"],spee,0,0,0) c1(w["c2"],spee,0,0,0) c1(w["c3"],spee,0,0,0)
  164. c1(w["e1"],spee,70,40,-90) c1(w["e2"],spee,50,0,0) c1(w["e3"],spee,50,0,0)
  165. elseif form == "fist" then
  166. CloseFing("d",spee) CloseFing("a",spee) CloseFing("b",spee) CloseFing("c",spee)
  167. c1(w["e1"],spee,70,40,-90) c1(w["e2"],spee,50,0,0) c1(w["e3"],spee,50,0,0)
  168. elseif form == "pointer" then
  169. CloseFing("a",spee) CloseFing("b",spee) CloseFing("c",spee)
  170. c1(w["d1"],spee,5,0,0) c1(w["d2"],spee,5,0,0) c1(w["d3"],spee,5,0,0)
  171. c1(w["e1"],spee,70,40,-90) c1(w["e2"],spee,50,0,0) c1(w["e3"],spee,50,0,0)
  172. elseif form == "v" then
  173. CloseFing("a",spee) CloseFing("b",spee)
  174. c1(w["c1"],spee,1,0,15) c1(w["c2"],spee,1,0,0) c1(w["c3"],spee,1,0,0)
  175. c1(w["d1"],spee,1,0,-15) c1(w["d2"],spee,1,0,0) c1(w["d3"],spee,1,0,0)
  176. c1(w["e1"],spee,70,40,-90) c1(w["e2"],spee,50,0,0) c1(w["e3"],spee,50,0,0)
  177. elseif form == "free" or form == "five" then
  178. OpenFing("a",spee) OpenFing("b",spee) OpenFing("c",spee) OpenFing("d",spee)
  179. c1(w["e1"],spee,0,35,-20) c1(w["e2"],spee,20,0,0) c1(w["e3"],spee,20,0,0)
  180. elseif form == "ride" then
  181. c1(w["a1"],spee,60,0,0) c1(w["a2"],spee,-30,0,0) c1(w["a3"],spee,-30,0,0)
  182. c1(w["b1"],spee,30,0,0) c1(w["b2"],spee,65,0,0) c1(w["b3"],spee,60,0,0)
  183. c1(w["c1"],spee,30,0,0) c1(w["c2"],spee,65,0,0) c1(w["c3"],spee,60,0,0)
  184. c1(w["d1"],spee,30,0,0) c1(w["d2"],spee,65,0,0) c1(w["d3"],spee,60,0,0)
  185. c1(w["e1"],spee,-70,185,0) c1(w["e2"],spee,30,0,0) c1(w["e3"],spee,30,0,0)
  186. elseif form == "gun" then
  187. CloseFing("a",spee) CloseFing("b",spee)
  188. c1(w["c1"],spee,0,0,1) c1(w["c2"],spee,0,0,0) c1(w["c3"],spee,0,0,0)
  189. c1(w["d1"],spee,0,0,-1) c1(w["d2"],spee,0,0,0) c1(w["d3"],spee,0,0,0)
  190. c1(w["e1"],spee,-60,90,0) c1(w["e2"],spee,20,0,0) c1(w["e3"],spee,-20,0,0)
  191. elseif form == "wide" then
  192. c1(w["a1"],spee,-3,0,45) c1(w["a2"],spee,-3,0,0) c1(w["a3"],spee,-3,0,0)
  193. c1(w["b1"],spee,-3,0,15) c1(w["b2"],spee,-3,0,0) c1(w["b3"],spee,-3,0,0)
  194. c1(w["c1"],spee,-3,0,-15) c1(w["c2"],spee,-3,0,0) c1(w["c3"],spee,-3,0,0)
  195. c1(w["d1"],spee,-3,0,-45) c1(w["d2"],spee,-3,0,0) c1(w["d3"],spee,-3,0,0)
  196. c1(w["e1"],spee,-70,90,0) c1(w["e2"],spee,10,0,0) c1(w["e3"],spee,-10,0,0)
  197. elseif form == "wide2" then
  198. c1(w["a1"],spee,-18,0,45) c1(w["a2"],spee,36,0,0) c1(w["a3"],spee,30,0,0)
  199. c1(w["b1"],spee,-18,0,15) c1(w["b2"],spee,36,0,0) c1(w["b3"],spee,30,0,0)
  200. c1(w["c1"],spee,-18,0,-15) c1(w["c2"],spee,36,0,0) c1(w["c3"],spee,30,0,0)
  201. c1(w["d1"],spee,-18,0,-45) c1(w["d2"],spee,36,0,0) c1(w["d3"],spee,30,0,0)
  202. c1(w["e1"],spee,-50,90,-10) c1(w["e2"],spee,5,0,-30) c1(w["e3"],spee,-10,0,-40)
  203. elseif form == "grab2" then
  204. c1(w["a1"],spee,-70,-65,0) c1(w["a2"],spee,40,0,0) c1(w["a3"],spee,20,0,0)
  205. c1(w["b1"],spee,-70,-20,0) c1(w["b2"],spee,40,0,0) c1(w["b3"],spee,20,0,0)
  206. c1(w["c1"],spee,-70,20,-0) c1(w["c2"],spee,40,0,0) c1(w["c3"],spee,20,0,0)
  207. c1(w["d1"],spee,-70,65,-0) c1(w["d2"],spee,40,0,0) c1(w["d3"],spee,20,0,0)
  208. c1(w["e1"],spee,-70,150,0) c1(w["e2"],spee,30,0,0) c1(w["e3"],spee,30,0,0)
  209. elseif form == "grab3" then
  210. c1(w["a1"],spee,-30,-40,30) c1(w["a2"],spee,50,0,0) c1(w["a3"],spee,35,0,0)
  211. c1(w["b1"],spee,-30,-15,12) c1(w["b2"],spee,50,0,0) c1(w["b3"],spee,35,0,0)
  212. c1(w["c1"],spee,-30,15,-12) c1(w["c2"],spee,50,0,0) c1(w["c3"],spee,35,0,0)
  213. c1(w["d1"],spee,-30,40,-30) c1(w["d2"],spee,50,0,0) c1(w["d3"],spee,35,0,0)
  214. c1(w["e1"],spee,-55,205,0) c1(w["e2"],spee,30,0,0) c1(w["e3"],spee,30,0,0)
  215. end
  216. end
  217. function ColFings(iscol)
  218. pPinkie1.CanCollide = iscol
  219. pPinkie2.CanCollide = iscol
  220. pPinkie3.CanCollide = iscol
  221. pRing1.CanCollide = iscol
  222. pRing2.CanCollide = iscol
  223. pRing3.CanCollide = iscol
  224. pMid1.CanCollide = iscol
  225. pMid2.CanCollide = iscol
  226. pMid3.CanCollide = iscol
  227. pPoint1.CanCollide = iscol
  228. pPoint2.CanCollide = iscol
  229. pPoint3.CanCollide = iscol
  230. pThumb1.CanCollide = iscol
  231. pThumb2.CanCollide = iscol
  232. pThumb3.CanCollide = iscol
  233. end
  234. function ray(Pos, Dir)
  235. return Workspace:FindPartOnRay(Ray.new(Pos, Dir.unit *999), c)
  236. end
  237. function Earthsplosion(pos,siz,dmg,rndmg,forc,eos) local colz22 = "Earth green" if eos == nil or eos == "earth" then eos = "earth" else colz22 = "Pastel brown" eos = "sand" end
  238. coroutine.resume(coroutine.create(function()
  239. if eos == "earth" then local cr = pa(m,"Block",((14*siz)/10)*s,0,((14*siz)/10)*s,false,false,1,0,"") cr.Anchored = true cr.CFrame = pos *ca(rd(0),rd(ra(-360,360)),rd(0)) cr.CFrame = cr.CFrame + v3(ra(-siz*10,siz*10)/22,0,ra(-siz*10,siz*10)/22)
  240. local de = it("Decal",cr) de.Face = "Top" de.Texture = asset .. Decs.Crack Serv.d:AddItem(cr,25) end
  241. for i=1,4 do
  242. coroutine.resume(coroutine.create(function()
  243. local sw = pa(m,"Block",(siz/3)*s,(siz*1.3)*s,(siz/3)*s,true,true,0,0,colz22) sw.Anchored = true sw.CFrame = pos *cf(ra(-3*s,3*s),0,ra(-3*s,3*s)) *ca(rd(ra(-27,27)),rd(ra(-360,360)),rd(ra(-27,27))) local swm = it("SpecialMesh",sw) if eos == "earth" then swm.MeshType = "FileMesh"
  244. swm.MeshId = asset .. Decs.Spike else swm.MeshType = "Sphere" end if eos == "earth" then swm.Scale = v3(sw.Size.x/1.3,sw.Size.y*1.2,sw.Size.z/1.3)
  245. else swm.Scale = v3(sw.Size.x/10,sw.Size.y/37,sw.Size.z/10) end sw.CFrame = sw.CFrame + v3(ra(-0.3*siz*s,0.3*siz*s,7),0,ra(-0.3*siz*s,0.3*siz*s)) sw.CFrame = sw.CFrame * cf(0,-sw.Size.y/1.4,0)
  246. Dustplosion(cf(pos.p+v3(0,2*s,0)),18*s,{"Really black","Really Black","Really black"},1)
  247. if eos == "earth" then
  248. for x=1,8 do
  249. sw.CFrame = sw.CFrame *cf(0,sw.Size.y/8,0) wait() end wait(ra(1,5))
  250. for x=1,20 do
  251. sw.CFrame = sw.CFrame *cf(0,-sw.Size.y/20,0) wait()
  252. end sw:Remove()
  253. else
  254. for x=1,25 do
  255. sw.CFrame = sw.CFrame *cf(0,sw.Size.y/25,0) sw.Transparency = x/25 - 0.1 swm.Scale = swm.Scale + v3(0.025,0.025,0.025) wait() end
  256. end sw:Remove()
  257. end)) end
  258. wait(0.3)
  259. DmgHumanoidsNear(pos.p,dmg,rndmg,5.5*s*(siz/4),forc)
  260. end))
  261. end
  262. function Dustplosion(onb,scale,col,cls) coroutine.resume(coroutine.create(function()
  263. for x=1,cls do coroutine.resume(coroutine.create(function()
  264. local sw = pa(m,"Block",1*s,0,1*s,false,false,0.2,0,col[ra(1,#col)]) sw.Anchored = true sw.CFrame = onb *ca(rd(ra(-35,35)),rd(ra(-360,360)),rd(ra(-35,35))) local swm = it("SpecialMesh",sw) swm.MeshType = "FileMesh"
  265. swm.MeshId = asset .. Decs.Cloud sw.CFrame = sw.CFrame + v3(ra(-scale,scale)/8,ra(-scale,scale)/8,ra(-scale,scale)/8)
  266. for i=1,scale,0.25 do
  267. swm.Scale = v3(i*1.5,i*1,i*1.5) sw.Transparency = ((i/scale)/2) + 0.45
  268. wait()
  269. end
  270. sw:Remove()
  271. end)) end
  272. end)) end
  273. function ShockWave(onb,scale,col) coroutine.resume(coroutine.create(function() local sw = pa(m,"Block",1*s,0,1*s,false,false,0.2,0,col) sw.Anchored = true sw.CFrame = onb *ca(rd(90),0,0) local swm = it("SpecialMesh",sw) swm.MeshType = "FileMesh" swm.MeshId = RingMesh.MeshId
  274. for i=1,scale,0.75 do swm.Scale = v3(i*1.5,i*1.5,i*1.5) sw.Transparency = (i/scale) + 0 wait() end sw:Remove() end)) end
  275. function BlastWave(onb,scale,ymes,col) coroutine.resume(coroutine.create(function()
  276. local sw = pa(m,"Block",1*s,0,1*s,false,false,0.2,0,col) sw.Anchored = true sw.CFrame = onb *ca(rd(0),0,0) local swm = it("SpecialMesh",sw) swm.MeshType = "FileMesh"
  277. swm.MeshId = BlastMesh.MeshId
  278. for i=1,scale,scale/11 do
  279. swm.Scale = v3(i*1.25,i*ymes,i*1.25) sw.CFrame = sw.CFrame *ca(0,rd(720*(i/scale)),0) sw.Transparency = (i/scale) + 0
  280. wait()
  281. end
  282. sw:Remove()
  283. end))
  284. end
  285. function Explode(onb,scale,col) local Torm = m coroutine.resume(coroutine.create(function() local e1 = Instance.new("Part") e1.Anchored = true e1.formFactor = "Custom" e1.CanCollide = false e1.Size = Vector3.new(1,1,1) e1.BrickColor = BrickColor.new(col)
  286. e1.Transparency = 0.6 e1.TopSurface = 0 e1.BottomSurface = 0 e1.Parent = Torm e1.CFrame = onb local e1m = Instance.new("SpecialMesh")
  287. e1m.MeshType = "Sphere" e1m.Parent = e1 local r1 = Instance.new("Part") r1.Anchored = true r1.formFactor = "Custom" r1.CanCollide = false r1.Size = Vector3.new(1,1,1) r1.BrickColor = BrickColor.new(col) r1.Transparency = 0.6 r1.TopSurface = 0 r1.BottomSurface = 0 r1.Parent = Torm r1.CFrame = e1.CFrame *CFrame.Angles(math.rad(180),0,0) local r1m = Instance.new("SpecialMesh") r1m.MeshType = "FileMesh"
  288. r1m.Scale = Vector3.new(3,3,3) r1m.Parent = r1 r1m.MeshId = RingMesh.MeshId local r2 = Instance.new("Part") r2.Anchored = true r2.formFactor = "Custom" r2.CanCollide = false r2.Size = Vector3.new(1,1,1) r2.BrickColor = BrickColor.new(col) r2.Transparency = 0.6 r2.TopSurface = 0 r2.BottomSurface = 0 r2.Parent = Torm r2.CFrame = e1.CFrame *CFrame.Angles(0,math.rad(180),0) local r2m = Instance.new("SpecialMesh") r2m.MeshType = "FileMesh"
  289. r2m.Parent = r2 r2m.Scale = Vector3.new(3,3,3) r2m.MeshId = RingMesh.MeshId local bla = Instance.new("Part") bla.Anchored = true
  290. bla.formFactor = "Custom" bla.CanCollide = false bla.Size = Vector3.new(1,1,1) bla.BrickColor = BrickColor.new(col) bla.Transparency = 0.6 bla.TopSurface = 0 bla.BottomSurface = 0 bla.Parent = Torm bla.CFrame = onb local blam = Instance.new("SpecialMesh")
  291. blam.MeshType = "FileMesh" blam.Parent = bla blam.Scale = Vector3.new(5,5,5) blam.MeshId = BlastMesh.MeshId for i=1,30 do local pluscal = scale/38 e1m.Scale = e1m.Scale + Vector3.new(pluscal,pluscal,pluscal)
  292. r1m.Scale = r1m.Scale + Vector3.new(pluscal,pluscal,pluscal) r2m.Scale = r1m.Scale + Vector3.new(pluscal,pluscal,pluscal)
  293. blam.Scale = blam.Scale + Vector3.new(pluscal,pluscal/2,pluscal) bla.CFrame = bla.CFrame * CFrame.Angles(0,math.rad(12),0) r1.CFrame = r1.CFrame * CFrame.Angles(math.rad(6),0,0) r2.CFrame = r2.CFrame * CFrame.Angles(0,math.rad(6),0) wait() end for i=1,30 do local pluscal = scale/38 e1m.Scale = e1m.Scale + Vector3.new(pluscal,pluscal,pluscal) r1m.Scale = r1m.Scale + Vector3.new(pluscal,pluscal,pluscal) r2m.Scale = r1m.Scale + Vector3.new(pluscal,pluscal,pluscal)
  294. blam.Scale = blam.Scale + Vector3.new(pluscal/3,pluscal/3,pluscal/3) bla.CFrame = bla.CFrame * CFrame.Angles(0,math.rad(12),0) r1.CFrame = r1.CFrame * CFrame.Angles(math.rad(6),0,0) r2.CFrame = r2.CFrame * CFrame.Angles(0,math.rad(6),0) bla.Transparency = bla.Transparency + 0.1 e1.Transparency = e1.Transparency + 0.1 r1.Transparency = r1.Transparency + 0.1 r2.Transparency = r2.Transparency + 0.1 wait() end e1:Remove() r1:Remove() r2:Remove() end)) end
  295. function Hurtsplosion(pos,dmg,rndmg,siz,forc)
  296. coroutine.resume(coroutine.create(function() local boomcol = {"Purple","Really black","Really black"}
  297. for i=1,3 do
  298. coroutine.resume(coroutine.create(function()
  299. local plos = pa(m,"Block",1*s*siz,1.5*s*siz,0.7*s*siz,false,false,0.3,0,boomcol[i]) spm("Sphere",plos,1) plos.Anchored = true
  300. plos.CFrame = cf(pos + v3(0,0,0)) * ca(rd(ra(-360,360)),rd(ra(-360,360)),rd(ra(-360,360)))
  301. plos.Mesh.Scale = v3(0.1,0.1,0.1)
  302. for i=0.3,1,0.03 do local plc = plos.CFrame
  303. plos.Mesh.Scale = v3(i*6,i*6,i*6) plos.Transparency = i plos.CFrame = plc * ca(rd(3),rd(3),0)
  304. wait()
  305. end
  306. plos:Remove()
  307. end))
  308. end
  309. end))
  310. wait(0.1)
  311. DmgHumanoidsNear(pos,dmg,rndmg,5.5*s*siz,forc)
  312. end
  313. function DmgHumanoidsNear(pos,dmg,rndmg,mag,forc)
  314. local function kidive(ob)
  315. for i,v in pairs(ob:children()) do
  316. if v:IsA("BasePart") and v.Parent.Parent:findFirstChild("Humanoid") == nil and v.Parent:findFirstChild("Humanoid") == nil and (v.Position - pos).magnitude < mag*1.3 and v.Anchored == false and v:GetMass() < 150 then
  317. v:BreakJoints() v.Velocity = cf(pos,v.Position).lookVector*forc
  318. end
  319. if v:IsA("Humanoid") and v ~= hu and v.Parent:findFirstChild("Torso") then
  320. if (pos - v.Parent.Torso.Position).magnitude < mag then local tdmg = dmg*ra(1,rndmg)
  321. if v.Parent:findFirstChild("Hh") == nil then local hh= Instance.new("NumberValue",v.Parent) hh.Name = "Hh"
  322. hh.Value = v.Health - tdmg else v.Parent.Hh.Value = v.Health - (tdmg*3.5) end
  323. v.Health = v.Parent.Hh.Value if v.Parent.Hh.Value < 1 then v.Parent:BreakJoints() end
  324. end
  325. end
  326. if v:IsA("Model") or v:IsA("Workspace") then kidive(v) end end end
  327. kidive(workspace)
  328. end
  329. function Fire(bullet,typez,siz,dmg,rndmg,forc)
  330. if typez == 1 then
  331. bullet.Anchored = true
  332. local bullethit = false
  333. local tyms = 0
  334. repeat
  335. tyms = tyms + 2
  336. local bhit,bpos = ray(bullet.Position,bullet.Position - (bullet.CFrame *cf(0,0,-1)).p)
  337. if bpos ~= nil and (bpos - bullet.Position).magnitude < 7 then bullethit = true else bullet.CFrame = bullet.CFrame *cf(0,0,-1*s) *ca(rd(-0.0025),rd(0),0) end
  338. if tyms%32 == 0 then wait() end
  339. until bullethit or bullet.Position.y < -300 or tyms > 800
  340. bullet.CFrame = bullet.CFrame *cf(0,0,8) bullet:Remove()
  341. if bullet.Position.y < -300 then
  342. else
  343. Hurtsplosion(bullet.Position,dmg,rndmg,siz,forc)
  344. end
  345. elseif typez == 2 then
  346. bullet.Anchored = true
  347. local bullethit = false
  348. local tyms = 0
  349. local ming = 0.001
  350. repeat
  351. if tyms > 70 and (ming == 0.001 or ming == -2.5) then ming = -2.5
  352. local bpos = (bullet.CFrame *cf(0,0,-300)).p if (bpos - v3(Palm.Position.x,bpos.y,Palm.Position.z)).magnitude < 25*s then ming = 0 end
  353. end
  354. tyms = tyms + 2
  355. local bhit,bpos = ray(bullet.Position,bullet.Position - (bullet.CFrame *cf(0,0,-1)).p)
  356. if bpos ~= nil and (bpos - bullet.Position).magnitude < 7 then bullethit = true else bullet.CFrame = bullet.CFrame *cf(0,0,-0.5) *ca(rd(ming),rd(0),0) end
  357. if tyms%16 == 0 then wait() end
  358. until bullethit or bullet.Position.y < -300 or tyms > 500
  359. bullet.CFrame = bullet.CFrame *cf(0,0,8) bullet:Remove()
  360. if bullet.Position.y < -300 then
  361. else
  362. Hurtsplosion(bullet.Position,dmg,rndmg,siz,forc)
  363. end
  364. elseif typez == 3 then
  365. end
  366. end
  367. function ShortifiedAnim(theanim)
  368. if theanim == "Beam" then
  369. local crom = pa(m,"Block",0,0,0,true,true,0.5,0,LaserCol3) local cromm = it("SpecialMesh",crom) cromm.MeshType = "FileMesh" cromm.MeshId = asset .. Decs.Crown
  370. cromm.Scale = v3(15*s,5*s,15*s) crom.Anchored = true --local cromw = weld(crom,Palm,crom,0,Palm.Size.y/3.6,-Palm.Size.z*1.8,rd(-90),0,0)
  371. dias = {} loldiv = 360/8 for x=0,360,loldiv do
  372. local dia = pa(m,"Block",0,0,0,false,false,0,0,LaserCol2) dia.Anchored = true local diam = it("SpecialMesh",dia) diam.MeshType = "FileMesh" diam.MeshId = DiamondMesh.MeshId
  373. diam.Scale = v3(3*s,9*s,3*s) table.insert(dias,dia)
  374. end Button = true coroutine.resume(coroutine.create(function() local tardz = 0 repeat wait() tardz = tardz+ 15
  375. crom.CFrame = Palm.CFrame *ca(rd(-90),0,0) *cf(0,5.5*s,2*s) *ca(0,rd(tardz),0)
  376. for rofl=1,#dias do dias[rofl].CFrame = crom.CFrame *ca(0,rd(rofl*loldiv),0) *cf(0,-19*s,0) *ca(rd(25),0,0) *cf(0,32*s,0) end
  377. until not Button for x2=0.5,1,0.05 do wait() crom.Transparency = x2 end end))
  378. coroutine.resume(coroutine.create(function() for xk=1,0.5,-0.02 do wait() for i=1,#dias do dias[i].Transparency =xk end end end))
  379. wait(1) local beamoffset = v3(0,0,0)
  380. local b1 = pa(m,"Ball",10*s,10*s,10*s,false,false,0.1,0,LaserCol) b1.Anchored = true
  381. local b2 = pa(m,"Block",10*s,1,10*s,false,false,0.1,0,LaserCol) b2.Anchored = true local b2m = it("CylinderMesh",b2)
  382. local b3 = pa(m,"Ball",10*s,10*s,10*s,false,false,0.1,0,LaserCol) b3.Anchored = true
  383. local bpos = nil local bhit = nil local ts = 0
  384. repeat beamoffset = v3(ra(-2*s,2*s),ra(-2*s,2*s),ra(-2*s,2*s)) ts = ts + 1
  385. bhit,bpos = ray(Palm.Position,Palm.Position - (Palm.CFrame *cf(0,0,1)).p)
  386. if bhit == nil or (Palm.Position - bpos).magnitude > 1500 then break end
  387. b1.CFrame = Palm.CFrame *cf(0,3*s,-11*s)
  388. b3.CFrame = cf(bpos) local lenz = (b1.Position - b3.Position).magnitude
  389. b2.CFrame = cf(b1.Position,b3.Position) *ca(rd(90),0,0) *cf(0,-lenz/2,0) b2m.Scale = v3(1,lenz,1)
  390. b1.CFrame = b1.CFrame + beamoffset b2.CFrame = b2.CFrame + beamoffset b3.CFrame = b3.CFrame + beamoffset
  391. if ts%10 == 0 then DmgHumanoidsNear(b3.Position,3,10,(14*s)+2,100) Explode(b3.CFrame*cf(0,b3.Size.y/3,0),25*s,LaserCol2) end
  392. wait() until not Button or ts > 600
  393. coroutine.resume(coroutine.create(function() for xk=0.1,1.1,0.08 do wait() b1.Transparency = xk b2.Transparency = xk b3.Transparency = xk end b1:Remove() b2:Remove() b3:Remove() end))
  394. coroutine.resume(coroutine.create(function() for xk=0.5,1.1,0.02 do wait() for i=1,#dias do dias[i].Transparency =xk end end end))
  395. wait(1) clearit(dias) crom:Remove()
  396. end
  397. end
  398. PalmLev = it("BodyPosition",Palm)
  399. PalmFace = it("BodyGyro",Palm) PalmFace.maxTorque = v3(0,0,0)
  400. coroutine.resume(coroutine.create(function()
  401. PalmLev.position = (t.CFrame *cf(handoffset)).p
  402. local yspi = 0
  403. while true do yspi = yspi + 8
  404. if Anim.a == "Gun" or Anim.a == "Ride" or Anim.a == "Pound" then
  405. Facing = "Mouse" bgx = -90 bgy = 90 bgz = 0
  406. elseif Anim.a == "Fu" or Anim.a == "Fist" or Anim.a == "GroundGrip" then
  407. Facing = "Mouse" bgx = -90 bgy = 0 bgz = 0
  408. elseif Anim.a == "Splat" or Anim.a == "Beam" then
  409. Facing = "Mouse" bgx = 0 bgy = 0 bgz = 0
  410. elseif Anim.a == "None" then
  411. Facing = "Owner" bgx = -90 bgy = 0 bgz = 0 Posing = "Follow"
  412. elseif Anim.a == "Shower" then
  413. Facing = "None" bgx = 0 bgy = 0 bgz = 0 Posing = "TopOwner"
  414. end
  415. if Posing == "Follow" then
  416. PalmLev.maxForce = v3(1/0,1/0,1/0) PalmLev.position = (t.CFrame *cf(handoffset) *cf(0,0,0)).p
  417. elseif Posing == "TopOwner" then
  418. PalmLev.maxForce = v3(1/0,1/0,1/0) PalmLev.position = (t.CFrame *cf(0,12*s,0)).p
  419. end
  420. if Facing == "Owner" then
  421. PalmFace.maxTorque = v3(1/0,1/0,1/0) PalmFace.cframe = cf(Palm.Position,he.Position) *ca(rd(bgx),rd(bgy),rd(bgz))
  422. elseif Facing == "Mouse" and mou ~= nil and Equip then
  423. if Anim.a == "Gun" or Anim.a == "Beam" or Anim.a == "Ride" or Anim.a == "GroundGrip" or Anim.a == "Fu" or Anim.a == "Pound" or Anim.a == "Splat" or Anim.a == "Fist" then
  424. if Anim.b == "None" or Anim.a == "Beam" or Anim.a == "Ride" then
  425. PalmFace.cframe = cf(Palm.Position,mou.Hit.p) *ca(rd(bgx),rd(bgy),rd(bgz)) wait(0.05)
  426. end end end
  427. wait(0.05)
  428. end
  429. end))
  430. function FireFinger(lasercol,ffingz,targ,typez,siz,dmg,rndmg,forc) coroutine.resume(coroutine.create(function()
  431. local laser = pa(m,"Block",fingwide*1.3,fingwide*1.3,fingwide*2.5,true,false,0,0,lasercol) spm("Sphere",laser,1+(siz/5.5)) laser.Name = "Projectile"
  432. local lw = weld(laser,ffingz,laser,0,ffingz.Size.y/0.8 +(siz/2.5),0,rd(90),0,0)
  433. for i=1,0.4,-0.05 do laser.Transparency = i wait() end
  434. BlastWave(ffingz.CFrame*cf(0,ffingz.Size.y*1.3,0)*ca(0,0,0),ffingz.Size.x*1.6,1.8,LaserCol2)
  435. lw:Remove() laser.CFrame = cf(laser.Position,targ)
  436. Fire(laser,typez,siz,dmg,rndmg,forc)
  437. end))
  438. end
  439. GrabWeld = it("Weld",m)
  440. Palm.Touched:connect(function(touch)
  441. if Anim.a == "Ride" and GrabWeld.Part1 == nil and touch.Parent:findFirstChild("Torso") and touch.Parent:findFirstChild("Humanoid") then
  442. local tor = touch.Parent.Torso touch.Parent.Humanoid.PlatformStand = true
  443. GrabWeld.Part0 = Palm GrabWeld.Part1 = tor GrabWeld.C0 = cf(-3*s,4.5*s,-Palm.Size.x/2) GrabWeld.C1 = ca(0,rd(90),rd(-90)) *ca(0,rd(0),0)
  444. end
  445. end)
  446. re(bp,"Hand")
  447. hb = it("HopperBin",bp) hb.Name = "Hand"
  448. hb.Selected:connect(function(mouse) mou = mouse Equip = true
  449. mouse.KeyDown:connect(function(k) k = k:lower()
  450. if Anim.a == "Ride" and k == "f" then FireFinger(LaserCol,pPinkie3,mouse.Hit.p,1,2.25,1,18,30) end
  451. if Anim.b ~= "None" or Anim.Welding ~= 0 then return end
  452. if Anim.a == "None" then
  453. if k == "f" then -- on anim on
  454. Anim.a = "Gun" HandSign("Gun",0.7)
  455. elseif k == "p" then
  456. Anim.a = "Fu" HandSign("f",1)
  457. elseif k == "g" then
  458. Anim.a = "Fist" HandSign("fist",1)
  459. elseif k == "c" then
  460. Anim.a = "Splat" HandSign("wide",1)
  461. elseif k == "r" then
  462. Anim.a = "Ride" HandSign("ride",1) Posing = "None"
  463. elseif k == "v" then
  464. Anim.a = "Shower" HandSign("grab2",1) PalmFace.cframe = cf(0,0,0) *ca(0,0,0)
  465. elseif k == "b" then
  466. Anim.a = "Pound" HandSign("fist",1)
  467. elseif k == "x" then
  468. Anim.a = "GroundGrip" HandSign("grab2",1)
  469. elseif k == "z" then
  470. Anim.a = "Beam" HandSign("wide2",1)
  471. end
  472. else
  473. if k == "f" and Anim.a == "Gun" then -- on anim off
  474. Anim.a = "None" HandSign("five",0.8)
  475. elseif k == "p" and Anim.a == "Fu" then
  476. Anim.a = "None" HandSign("five",0.8)
  477. elseif k == "g" and Anim.a == "Fist" then
  478. Anim.a = "None" HandSign("five",0.8)
  479. elseif k == "c" and Anim.a == "Splat" then
  480. Anim.a = "None" HandSign("five",0.8)
  481. elseif k == "r" and Anim.a == "Ride" then
  482. Anim.a = "None" HandSign("five",0.8) GrabWeld.Part0 = nil Anim.b = "None" Posing = "Follow" Facing = "Owner"
  483. if GrabWeld.Part1 ~= nil and GrabWeld.Part1.Parent:findFirstChild("Humanoid") ~= nil then GrabWeld.Part1.Parent.Humanoid.PlatformStand = false end GrabWeld.Part1 = nil
  484. elseif k == "v" and Anim.a == "Shower" then
  485. Anim.a = "None" HandSign("five",0.8) Posing = "Follow" Facing = "Owner"
  486. elseif k == "b" and Anim.a == "Pound" then
  487. Anim.a = "None" HandSign("five",0.8)
  488. elseif k == "x" and Anim.a == "GroundGrip" then
  489. Anim.a = "None" HandSign("five",0.8)
  490. elseif k == "z" and Anim.a == "Beam" then
  491. Anim.a = "None" HandSign("five",0.8)
  492. end
  493. end
  494. end)
  495. mouse.Button1Down:connect(function()
  496. if Anim.a == "None" or Anim.b ~= "None" then return end
  497. if Anim.a == "Gun" then
  498. Anim.b = "Gun" FireFinger(LaserCol,pPoint3,mouse.Hit.p,1,2.25,1,10,60) FireFinger(LaserCol,pMid3,mouse.Hit.p,1,2.25) wait(1) Anim.b = "None"
  499. elseif Anim.a == "Fu" then
  500. Anim.b = "Fu" FireFinger(LaserCol,pMid3,mouse.Hit.p,1,3.65,2,14,95) wait(0.25) Anim.b = "None"
  501. elseif Anim.a == "Fist" then
  502. local bhit,bpos = ray(Palm.Position,Palm.Position - (Palm.CFrame *cf(0,-1,0)).p)
  503. if bhit == nil or (Palm.Position - bpos).magnitude > 500 then return end
  504. Anim.b = "Fist" Posing = "None" PalmFace.cframe = cf(Palm.Position,bpos) *ca(rd(-90),0,0)
  505. PalmLev.position = (Palm.CFrame *cf(0,-15*s,0)).p
  506. wait(0.45)
  507. PalmLev.position = bpos + ((Palm.CFrame *cf(0,1*s,0)).p - Palm.Position)
  508. local tz = 0 repeat wait() BlastWave(Palm.CFrame*ca(rd(180),0,0),8*s,3.5,HCol) tz = tz + wait() until (PalmLev.position - Palm.Position).magnitude < 8*s or tz > 1
  509. Explode(Palm.CFrame *cf(0,6*s,0) *ca(rd(180),0,0),15*s,ts(bhit.BrickColor))
  510. DmgHumanoidsNear((Palm.CFrame *cf(0,8,0)).p,3,10,(12*s)+2,105)
  511. if not bhit.Anchored then PalmLev.position = (Palm.CFrame *cf(0,12*s,0)).p wait(0.5) end
  512. wait(1) Posing = "Follow" Anim.b = "None"
  513. elseif Anim.a == "Splat" then
  514. if mouse.Target == nil and (Palm.Position - mouse.Hit.p).magnitude > 500 then return end local bpos = mouse.Hit.p
  515. Anim.b = "Splat" Posing = "None"
  516. local ya,yb,yc = PalmFace.cframe:toEulerAnglesXYZ() PalmFace.cframe = cf(0,0,0) *ca(0,yb,0) *ca(rd(-90),0,0) PalmLev.position = bpos + v3(0,10*s,0)
  517. local tz = 0 repeat wait() tz = tz + wait() until (PalmLev.position - Palm.Position).magnitude < 5*s or tz > 1.3
  518. for i=-90,0,5 do
  519. PalmLev.position = PalmLev.position + v3(0,2*s,0) PalmFace.cframe = cf(0,0,0) *ca(0,yb,0) *ca(rd(i),0,0)
  520. wait()
  521. end wait(0.2)
  522. for i=0,-100,-10 do
  523. local lewd = i
  524. if lewd < -50 then lewd = -95 end
  525. PalmLev.position = PalmLev.position - v3(0,4.7*s,0) PalmFace.cframe = cf(0,0,0) *ca(0,yb,0) *ca(rd(lewd),0,0)
  526. wait()
  527. end wait(0.2)
  528. local cr = pa(m,"Block",16*s,0,16*s,false,false,1,0,"") cr.Anchored = true cr.CFrame = cf(bpos) *ca(0,rd(ra(-360,360)),0)
  529. local de = it("Decal",cr) de.Face = "Top" de.Texture = asset .. Decs.Crack Serv.d:AddItem(cr,16)
  530. DmgHumanoidsNear((Palm.CFrame *cf(0,0,-1)).p,3,20,(15*s)+2,110)
  531. ShockWave(Palm.CFrame *ca(rd(90),0,0),25*s,LaserCol)
  532. wait(1) Posing = "Follow" Anim.b = "None"
  533. elseif Anim.a == "Ride" and Button == false then
  534. Posing = "None" Anim.b = "Ride"
  535. Button = true
  536. repeat PalmLev.position = (Palm.CFrame *cf(0,10,0)).p wait() until Button == false
  537. Anim.b = "None"
  538. elseif Anim.a == "Shower" and Button == false then
  539. Anim.b = "Shower" Button = true
  540. repeat
  541. local targz = Palm.Position + v3(0,20*s,0)
  542. if ra(1,12) == 1 then FireFinger(LaserCol,pPinkie3,targz,2,4,1,18,55) end
  543. if ra(1,13) == 1 then FireFinger(LaserCol,pRing3,targz,2,4,1,18,60) end
  544. if ra(1,12) == 1 then FireFinger(LaserCol,pMid3,targz,2,4,1,18,65) end
  545. if ra(1,13) == 1 then FireFinger(LaserCol,pPoint3,targz,2,4,1,18,70) end
  546. if ra(1,12) == 1 then FireFinger(LaserCol,pThumb3,targz,2,4,1,18,80) end
  547. PalmFace.cframe = PalmFace.cframe *ca(0,rd(10),0)
  548. wait()
  549. until Button == false
  550. Anim.b = "None"
  551. elseif Anim.a == "Pound" and Anim.b == "None" then Posing = "None" Anim.b = "Pound"
  552. local bhit,bpos = ray(Palm.Position,Palm.Position - (Palm.CFrame *cf(0,-1,0)).p)
  553. if bhit == nil or (Palm.Position - bpos).magnitude > 500 then return end
  554. PalmLev.position = bpos + v3(0,15*s,0)
  555. local ya,yb,yc = PalmFace.cframe:toEulerAnglesXYZ() PalmFace.cframe = ca(ya,yb,yc)
  556. local tz = 0 repeat wait() tz = tz + wait() until (PalmLev.position - Palm.Position).magnitude < 5*s or tz > 1.3 wait(0.1)
  557. for i=-90,-10,10 do
  558. PalmFace.cframe = ca(ya,yb,yc) *ca(0,0,rd(i+90)) PalmLev.position = PalmLev.position + v3(0,2.5*s,0)
  559. wait() end wait(0.25) local realcf = cf(v3(he.Position.x,0,he.Position.z),v3(Palm.Position.x,0,Palm.Position.z))
  560. for i=-10,-90,-10 do
  561. PalmFace.cframe = ca(ya,yb,yc) *ca(0,0,rd(i+90)) PalmLev.position = PalmLev.position - v3(0,4*s,0)
  562. wait() end PalmFace.cframe = realcf *ca(rd(-90),rd(90),0) wait(0.25)
  563. local cr = pa(m,"Block",22*s,0,22*s,false,false,1,0,"") cr.Anchored = true cr.CFrame = cf(bpos) *ca(0,rd(ra(-360,360)),0)
  564. local de = it("Decal",cr) de.Face = "Top" de.Texture = asset .. Decs.Crack Serv.d:AddItem(cr,16)
  565. Dustplosion(Palm.CFrame *cf(2*s,0,0) *ca(rd(90),0,rd(90)),30*s,{"Dark green","Bright green","Brown"},3)
  566. ShockWave(Palm.CFrame *cf(2*s,0,0) *ca(rd(90),0,rd(90)),20*s,ts(bhit.BrickColor))
  567. DmgHumanoidsNear((Palm.CFrame *cf(0,1,0)).p,1,20,(15*s)+2,90) wait(0.2)
  568. local palmcf = cf(bpos) local earthsplos = ra(5,8) palmcf = Palm.CFrame *ca(0,rd(90),0) *ca(rd(-90),0,rd(0))
  569. for i=1,earthsplos do Earthsplosion(palmcf *cf(0,-2*s,((i*7)+7)*s),10,1,20,75) wait(0.1) end
  570. Earthsplosion(palmcf *cf(0,-2*s,(((earthsplos+1)*7)+7)*s),16,2,25,75)
  571. wait(1) Posing = "Follow" wait(0.25) Anim.b = "None"
  572. elseif Anim.a == "GroundGrip" then Posing = "None" Anim.b = "GroundGrip"
  573. local bhit,bpos = ray(Palm.Position,Palm.Position - (Palm.CFrame *cf(0,-1,0)).p)
  574. if bhit == nil or (Palm.Position - bpos).magnitude > 500 then return end
  575. PalmLev.position = bpos + v3(0,27*s,0) ColFings(false)
  576. local tz = 0 repeat wait() tz = tz + wait() until (PalmLev.position - Palm.Position).magnitude < 8*s or tz > 1.3 wait(0.1)
  577. local thepos = (Palm.CFrame *cf(0,-0.1*s,0)).p - Palm.Position
  578. PalmFace.cframe = cf(Palm.Position,bpos + thepos) *ca(rd(-90),0,0)
  579. for i=27,1,-3 do PalmLev.position = bpos + v3(0,i*s,0) wait(0.07) end HandSign("grab3",0.4) wait(0.55)
  580. local ro = pa(m,"Ball",0,0,0,false,false,0,0,"Earth green") ro.Name = "Rock" local row = it("SpecialMesh",ro) row.MeshType = "FileMesh" row.MeshId = asset .. Decs.Rock
  581. local rowe = weld(ro,Palm,ro,0,Palm.Size.y,-Palm.Size.z*1.2,0,0,0) row.Scale = v3(9*s,10*s,9*s)
  582. coroutine.resume(coroutine.create(function() for xz=1,70,7 do PalmLev.position = bpos + v3(0,xz*s,0) wait(0.06) end end))
  583. wait(0.25) Dustplosion(cf(bpos),30*s,{"Really black","Really black","Really black"},3) local lolra = ra(-360,360)
  584. Earthsplosion(cf(bpos),25,1,20,125,"sand") for yyy=0,360,60 do coroutine.resume(coroutine.create(function()
  585. for zzz=1,4 do
  586. Earthsplosion(cf(bpos) *ca(0,rd(yyy+lolra),0) *cf(0,0,zzz*15*s),10,1,20,75) wait(0.14)
  587. end wait(0.25) Earthsplosion(cf(bpos) *ca(0,rd(yyy+lolra),0) *cf(0,0,5*18*s),25,1,20,120) end)) end
  588. wait(0.3) HandSign("grab2",0.5) wait(0.75) Serv.d:AddItem(ro,20) rowe:Remove() ro.CanCollide = true local rocf = ro.CFrame ro.Size=v3(14*s,14*s,14*s) ro.CFrame = rocf wait(0.75) ColFings(true) Posing = "Follow" Anim.b = "None"
  589. elseif Anim.a == "Beam" and not Button and Anim.b == "None" then Anim.b = "Beam"
  590. ShortifiedAnim("Beam") wait(0.5) Anim.b = "None"
  591. end
  592. end)
  593. mouse.Button1Up:connect(function()
  594. Button = false
  595. end)
  596. mouse.Move:connect(function()
  597. end)
  598. end)
  599. hb.Deselected:connect(function(mouse)
  600. Equip = false
  601. end)
  602. --lego
  603. game.Workspace.LocalPlayer.Humanoid.MaxHealth = math.huge -----Put your name where it says "YourNameHere"
  604. print(lego)
  605. end
  606.  
  607. local plr = game.Players.LocalPlayer
  608. local char = plr.Character
  609. local larm = char["Left Arm"]
  610. local rarm = char["Right Arm"]
  611. local lleg = char["Left Leg"]
  612. local rleg = char["Right Leg"]
  613. local head = char.Head
  614. local torso = char.Torso
  615.  
  616. for i,v in pairs(char:children()) do
  617. if v:IsA("Hat") then
  618. v:Destroy()
  619. end
  620. end
  621.  
  622. for i,v in pairs (head:GetChildren()) do
  623. if v:IsA("Sound") then
  624. v:Destroy()
  625. end
  626. end
  627.  
  628. larm.Transparency = 1
  629. rarm.Transparency = 1
  630. lleg.Transparency = 1
  631. rleg.Transparency = 1
  632. torso.Transparency = 1
  633. head.Transparency = 1
  634. head.face.Transparency = 1
  635.  
  636. larm.CanCollide = false
  637. rarm.CanCollide = false
  638. lleg.CanCollide = false
  639. rleg.CanCollide = false
  640. head.CanCollide = false
  641. torso.CanCollide = false
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652. --[[
  653. Shadow V1
  654. By:LuaLlama
  655. --]]
  656. local Player = game.Players.LocalPlayer
  657. local Character = Player.Character or Player.CharacterAdded:wait()
  658. local Mouse = Player:GetMouse()
  659. local Spread = 20
  660. local Activate = false
  661. local Holder = Instance.new('Model', Character)
  662. local Color = BrickColor.new('Institutional white') -- Institutional white
  663. local run
  664. local wall = false
  665. local fire = false
  666. local Blocks = {}
  667.  
  668. function Boomeffect()
  669. local Ball = Instance.new('Part', Holder)
  670. Ball.Shape = 'Ball'
  671. Ball.BrickColor = Color
  672. Ball.Material = Enum.Material.Neon
  673. Ball.Anchored = true
  674. Ball.CanCollide = false
  675. Ball.CFrame = Character.Torso.CFrame
  676. coroutine.resume(coroutine.create(function()
  677. for i=0,10,0.5 do
  678. Ball.Size = Vector3.new(i,i,i)
  679. Ball.CFrame = Character.Torso.CFrame
  680. Ball.Transparency = i/10
  681. wait()
  682. end
  683. Ball:Destroy()
  684. end))
  685. end
  686.  
  687. function Unboomeffect()
  688. local Ball = Instance.new('Part', Holder)
  689. Ball.Shape = 'Ball'
  690. Ball.BrickColor = Color
  691. Ball.Material = Enum.Material.Neon
  692. Ball.Anchored = true
  693. Ball.CanCollide = false
  694. Ball.CFrame = Character.Torso.CFrame
  695. coroutine.resume(coroutine.create(function()
  696. for i=10,0,-0.5 do
  697. Ball.Size = Vector3.new(i,i,i)
  698. Ball.CFrame = Character.Torso.CFrame
  699. Ball.Transparency = i/10
  700. wait()
  701. end
  702. Ball:Destroy()
  703. end))
  704. end
  705.  
  706. function onKeyPress(inputObject, gameProcessedEvent)
  707. if inputObject.KeyCode == Enum.KeyCode.Q then -- Activate
  708. if Activate then
  709. --run:disconnect()
  710. Activate = false
  711. Character.Humanoid.WalkSpeed = 16
  712. Character.Humanoid.JumpPower = 50
  713. Unboomeffect()
  714. else
  715. Activate = true
  716. Character.Humanoid.WalkSpeed = 200
  717. Character.Humanoid.JumpPower = 200
  718. Boomeffect()
  719. wait(0.35)
  720. --run = game:GetService('RunService').Stepped:connect(function()
  721. repeat
  722. wait()
  723. if fire then repeat wait(0.1) until not fire end
  724. for i,v in ipairs(Character:GetChildren()) do
  725. local Shadow
  726. if v:IsA('BasePart') then
  727. Shadow = v:Clone()
  728. end
  729. if Shadow then
  730. Shadow:ClearAllChildren()
  731. local BF = Instance.new('BodyVelocity', Shadow)
  732. BF.velocity = Vector3.new(math.random(-Spread, Spread), math.random(-Spread, Spread), math.random(-Spread, Spread))
  733. BF.Name = 'BF'
  734. Shadow.Parent = Holder
  735. Shadow.CanCollide = false
  736. Shadow.Transparency = 0.5
  737. Shadow.Material = 'Neon'
  738. Shadow.BrickColor = Color
  739. table.insert(Blocks, Shadow)
  740. coroutine.resume(coroutine.create(function()
  741. for i=0,10,0.5 do
  742. Shadow.Transparency = i/10
  743. wait()
  744. end
  745. for i,v in next, Blocks do
  746. if v == Shadow then
  747. table.remove(Blocks, i)
  748. break
  749. end
  750. end
  751. Shadow:Destroy()
  752. end))
  753. end
  754. end
  755. until not Activate
  756. --end)
  757. end
  758. end
  759.  
  760. if inputObject.KeyCode == Enum.KeyCode.L then -- Beam
  761. if Mouse.Target and Mouse.Hit and Activate then
  762. local Pos = Mouse.Hit.p
  763. local Part = Mouse.Target
  764. local Dist = (Character.Torso.Position - Pos).magnitude
  765.  
  766. local Beam = Instance.new("Part", Holder)
  767. Beam.Name = "Beam"
  768. Beam.BrickColor = Color
  769. Beam.Transparency = 0.5
  770. Beam.Anchored = true
  771. Beam.CanCollide = false
  772. Beam.Material = 'Neon'
  773. Beam.Size = Vector3.new(0, 0, Dist)
  774. Beam.CFrame = CFrame.new(Character.Torso.Position, Pos) * CFrame.new(0, 0, -Dist/2)
  775.  
  776. local explo = Instance.new('Explosion', Beam)
  777. explo.Position = Pos
  778. -- Damage
  779.  
  780. if Part.Parent ~= Character then
  781. local Human
  782. for i,v in ipairs(Part.Parent:GetChildren()) do
  783. if v:IsA('Humanoid') then
  784. Human = v
  785. break
  786. end
  787. end
  788. if Human then
  789. Human:TakeDamage(25)
  790. end
  791. end
  792.  
  793.  
  794. coroutine.resume(coroutine.create(function()
  795. for i=0,10,2 do
  796. Dist = (Character.Torso.Position - Pos).magnitude
  797. Beam.Size = Vector3.new(i/2,i/2,Dist)
  798. Beam.CFrame = CFrame.new(Character.Torso.Position, Pos) * CFrame.new(0, 0, -Dist/2)
  799. Beam.Transparency = i/10
  800. wait()
  801. end
  802. Beam:Destroy()
  803. end))
  804. end
  805. end
  806.  
  807. if inputObject.KeyCode == Enum.KeyCode.R and Activate and not wall then -- Terrain misshap
  808. wall = true
  809. local cf = Character.Torso.CFrame
  810. for i=1,18 do
  811. wait(0.125)
  812. local Pos = (cf*CFrame.Angles(0, math.rad(i*20), 0))*CFrame.new(35,0,0)
  813. local Terrain = Instance.new('Part', game.Workspace)
  814. Terrain.Material = 'Neon'
  815. Terrain.BrickColor = Color
  816. Terrain.Size = Vector3.new(10,0,10)
  817. Terrain.CFrame = CFrame.new(Pos.p - Vector3.new(0, -3, 0))
  818. Terrain.Anchored = true
  819.  
  820. Terrain.Touched:connect(function(Part)
  821. if Part.Parent ~= Character then
  822. local Human
  823. for i,v in ipairs(Part.Parent:GetChildren()) do
  824. if v:IsA('Humanoid') then
  825. Human = v
  826. break
  827. end
  828. end
  829. if Human then
  830. Human:TakeDamage(25)
  831. end
  832. end
  833. end)
  834.  
  835. coroutine.resume(coroutine.create(function()
  836. for i=0,100,8 do
  837. Terrain.Size = Vector3.new(10,i/2,10)
  838. Terrain.CFrame = CFrame.new(Pos.p+Vector3.new(0, i/4, 0) + Vector3.new(0, -3, 0))
  839. --Terrain.Transparency = 1-(i/100)
  840. wait()
  841. end
  842. wait(1)
  843. for i=100,0,-16 do
  844. Terrain.Size = Vector3.new(10,i/2,10)
  845. Terrain.CFrame = CFrame.new(Pos.p+Vector3.new(0, i/4, 0) + Vector3.new(0, -3, 0))
  846. wait()
  847. end
  848. Terrain:Destroy()
  849. end))
  850. end
  851. wall = false
  852. end
  853.  
  854. if inputObject.KeyCode == Enum.KeyCode.T and Activate and not fire then -- Teleport
  855. if Mouse.Target and Mouse.Hit then
  856. fire = true
  857. local Pos = Mouse.Hit.p
  858. for i,v in next, Blocks do
  859. if v.Parent then
  860. if v:FindFirstChild('BF') then
  861. v.BF.Velocity = CFrame.new(Character.Torso.Position, Pos).lookVector *math.random(1,Spread*10)
  862. end
  863. game:GetService('Debris'):AddItem(v, 2)
  864. v.Touched:connect(function(Part)
  865. if Part.Parent and Part.Parent ~= Character then
  866. local Human
  867. for i,v in ipairs(Part.Parent:GetChildren()) do
  868. if v:IsA('Humanoid') then
  869. Human = v
  870. break
  871. end
  872. end
  873. if Human then
  874. Human:TakeDamage(5)
  875. v:Destroy()
  876. end
  877. end
  878. end)
  879. end
  880. end
  881. Blocks = {}
  882. fire = false
  883. end
  884. end
  885. end
  886.  
  887. game:GetService("UserInputService").InputBegan:connect(onKeyPress)
  888. local isScriptNil = false
  889.  
  890. local PlrName = "saud20"
  891. local Plrs = game:GetService("Players")
  892. local RunService = game:GetService("RunService")
  893. local Content = game:GetService("ContentProvider")
  894. local LP = Plrs.LocalPlayer
  895. local Char = LP.Character
  896. local PlrGui = LP.PlayerGui
  897. local Backpack = LP.Backpack
  898. local Mouse = LP:GetMouse()
  899.  
  900. local Camera = Workspace.CurrentCamera
  901. local LastCamCF = Camera.CoordinateFrame
  902. local AnimJoints = {}
  903. local Cons = {}
  904. local mDown = false
  905. local Multi = false
  906. local Grabbing = false
  907. local Current = {}
  908. local Alpha = 1
  909. local LightNum = 1
  910.  
  911. Current.Part = nil
  912. Current.BP = nil
  913. Current.BA = nil
  914. Current.Mass = nil
  915.  
  916. local LastPart = nil
  917.  
  918. local Head = Char["Head"]
  919. local Torso = Char["Torso"]
  920. local Humanoid = Char["Humanoid"]
  921. local LA = Char["Left Arm"]
  922. local RA = Char["Right Arm"]
  923. local LL = Char["Left Leg"]
  924. local RL = Char["Right Leg"]
  925.  
  926. local LS, RS;
  927.  
  928. local OrigLS = Torso["Left Shoulder"]
  929. local OrigRS = Torso["Right Shoulder"]
  930.  
  931. for _,v in pairs(Char:GetChildren()) do
  932. if v.Name == ModID then
  933. v:Destroy()
  934. end
  935. end
  936.  
  937. for _,v in pairs(PlrGui:GetChildren()) do
  938. if v.Name == "PadsGui" then
  939. v:Destroy()
  940. end
  941. end
  942.  
  943. local ModID = "Pads"
  944. local Objects = {}
  945. local Grav = 196.2
  946.  
  947. local sin=math.sin
  948. local cos=math.cos
  949. local max=math.max
  950. local min=math.min
  951. local atan2=math.atan2
  952. local random=math.random
  953. local tau = 2 * math.pi
  954.  
  955. local BodyObjects = {
  956. ["BodyVelocity"] = true;
  957. ["BodyAngularVelocity"] = true;
  958. ["BodyForce"] = true;
  959. ["BodyThrust"] = true;
  960. ["BodyPosition"] = true;
  961. ["RocketPropulsion"] = true;
  962. }
  963.  
  964. if LP.Name == PlrName and isScriptNil then
  965. script.Parent = nil
  966. end
  967.  
  968. LP.CameraMode = "Classic"
  969.  
  970. local Assets = {
  971. }
  972.  
  973. local LS0, LS1 = OrigLS.C0, OrigLS.C1
  974. local RS0, RS1 = OrigRS.C0, OrigRS.C1
  975.  
  976. for i,v in pairs(Assets) do
  977. local ID = tostring(Assets[i])
  978. Assets[i] = "http://www.roblox.com/asset/?id=" .. ID
  979. Content:Preload("http://www.roblox.com/asset/?id=" .. ID)
  980. end
  981.  
  982. function QuaternionFromCFrame(cf)
  983. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components();
  984. local trace = m00 + m11 + m22 if trace > 0 then
  985. local s = math.sqrt(1 + trace);
  986. local recip = 0.5/s;
  987. return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5;
  988. else
  989. local i = 0;
  990. if m11 > m00 then
  991. i = 1;
  992. end;
  993. if m22 > (i == 0 and m00 or m11) then
  994. i = 2 end if i == 0 then
  995. local s = math.sqrt(m00-m11-m22+1);
  996. local recip = 0.5/s return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip;
  997. elseif i == 1 then
  998. local s = math.sqrt(m11-m22-m00+1);
  999. local recip = 0.5/s;
  1000. return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip ;
  1001. elseif i == 2 then
  1002. local s = math.sqrt(m22-m00-m11+1);
  1003. local recip = 0.5/s;
  1004. return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip;
  1005. end;
  1006. end;
  1007. end;
  1008.  
  1009. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  1010. local xs, ys, zs = x + x, y + y, z + z;
  1011. local wx, wy, wz = w*xs, w*ys, w*zs;
  1012. local xx = x*xs;
  1013. local xy = x*ys;
  1014. local xz = x*zs;
  1015. local yy = y*ys;
  1016. local yz = y*zs;
  1017. local zz = z*zs;
  1018. 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))
  1019. end;
  1020.  
  1021. function QuaternionSlerp(a, b, t)
  1022. local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4];
  1023. local startInterp, finishInterp;
  1024. if cosTheta >= 0.0001 then
  1025. if (1 - cosTheta) > 0.0001 then
  1026. local theta = math.acos(cosTheta);
  1027. local invSinTheta = 1/math.sin(theta);
  1028. startInterp = math.sin((1-t)*theta)*invSinTheta;
  1029. finishInterp = math.sin(t*theta)*invSinTheta;
  1030. else
  1031. startInterp = 1-t finishInterp = t;
  1032. end;
  1033. else
  1034. if (1+cosTheta) > 0.0001 then
  1035. local theta = math.acos(-cosTheta);
  1036. local invSinTheta = 1/math.sin(theta);
  1037. startInterp = math.sin((t-1)*theta)*invSinTheta;
  1038. finishInterp = math.sin(t*theta)*invSinTheta;
  1039. else startInterp = t-1 finishInterp = t;
  1040. end;
  1041. end;
  1042. 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;
  1043. end;
  1044.  
  1045. function CLerp(a,b,t)
  1046. local qa={QuaternionFromCFrame(a)};
  1047. local qb={QuaternionFromCFrame(b)};
  1048. local ax,ay,az=a.x,a.y,a.z;
  1049. local bx,by,bz=b.x,b.y,b.z;
  1050. local _t=1-t;
  1051. return QuaternionToCFrame(_t*ax+t*bx,_t*ay+t*by,_t*az+t*bz,QuaternionSlerp(qa, qb, t));
  1052. end
  1053.  
  1054. function GetWeld(weld)
  1055. local obj
  1056. for i, v in pairs(AnimJoints) do
  1057. if v[1] == weld then
  1058. obj = v
  1059. break
  1060. end
  1061. end
  1062. if not obj then
  1063. obj = {weld,NV}
  1064. table.insert(AnimJoints,obj)
  1065. end
  1066. return weld.C0.p, obj[2]
  1067. end
  1068.  
  1069. function SetWeld(weld, i, loops, origpos, origangle, nextpos, nextangle, override, overrideLower, smooth)
  1070. smooth = smooth or 1
  1071. local obj
  1072. for i, v in pairs(AnimJoints) do
  1073. if v[1] == weld then
  1074. obj = v
  1075. break
  1076. end
  1077. end
  1078. if not obj then
  1079. obj = {weld,NV}
  1080. table.insert(AnimJoints,obj)
  1081. end
  1082.  
  1083. local perc = (smooth == 1 and math.sin((math.pi/2)/loops*i)) or i/loops
  1084.  
  1085. local tox,toy,toz = 0,0,0
  1086. tox = math.abs(origangle.x - nextangle.x) *perc
  1087. toy = math.abs(origangle.y - nextangle.y) *perc
  1088. toz = math.abs(origangle.z - nextangle.z) *perc
  1089. tox = ((origangle.x > nextangle.x and -tox) or tox)
  1090. toy = ((origangle.y > nextangle.y and -toy) or toy)
  1091. toz = ((origangle.z > nextangle.z and -toz) or toz)
  1092.  
  1093. local tox2,toy2,toz2 = 0,0,0
  1094. tox2 = math.abs(origpos.x - nextpos.x) *perc
  1095. toy2 = math.abs(origpos.y - nextpos.y) *perc
  1096. toz2 = math.abs(origpos.z - nextpos.z) *perc
  1097. tox2 = (origpos.x > nextpos.x and -tox2) or tox2
  1098. toy2 = (origpos.y > nextpos.y and -toy2) or toy2
  1099. toz2 = (origpos.z > nextpos.z and -toz2) or toz2
  1100.  
  1101. obj[2] = Vector3.new(origangle.x + tox, origangle.y + toy, origangle.z + toz)
  1102. weld.C0 = CFrame.new(origpos.x + tox2,origpos.y + toy2,origpos.z + toz2) * CFrame.Angles(origangle.x + tox,origangle.y + toy,origangle.z + toz)
  1103. end
  1104.  
  1105. function RotateCamera(x, y)
  1106. Camera.CoordinateFrame = CFrame.new(Camera.Focus.p) * (Camera.CoordinateFrame - Camera.CoordinateFrame.p) * CFrame.Angles(x, y, 0) * CFrame.new(0, 0, (Camera.CoordinateFrame.p - Camera.Focus.p).magnitude)
  1107. end
  1108.  
  1109. function GetAngles(cf)
  1110. local lv = cf.lookVector
  1111. return -math.asin(lv.y), math.atan2(lv.x, -lv.z)
  1112. end
  1113.  
  1114. local LastCamCF = Camera.CoordinateFrame
  1115.  
  1116. function Look()
  1117. if AlphaOn == true then
  1118. local x, y = GetAngles(LastCamCF:toObjectSpace(Camera.CoordinateFrame))
  1119. Camera.CoordinateFrame = LastCamCF
  1120. RotateCamera(x * -(Alpha), y * -(Alpha))
  1121. LastCamCF = Camera.CoordinateFrame
  1122. end
  1123. end
  1124.  
  1125. function Cor(Func)
  1126. local Ok, Err = coroutine.resume(coroutine.create(Func))
  1127. if not Ok then
  1128. print(Err)
  1129. end
  1130. end
  1131.  
  1132. function Cor2(Func)
  1133. local Ok, Err = ypcall(Func)
  1134. if not Ok then
  1135. print(Err)
  1136. end
  1137. end
  1138.  
  1139. function MakePads()
  1140. -- 1 - VTelekinesis
  1141. P1 = Instance.new("Model")
  1142. P1.Name = ModID
  1143.  
  1144. -- 2 - RBase
  1145. P2 = Instance.new("Part")
  1146. P2.CFrame = CFrame.new(Vector3.new(21.100008, 1.95000589, 11.899971)) * CFrame.Angles(-0, 0, -0)
  1147. P2.FormFactor = Enum.FormFactor.Custom
  1148. P2.Size = Vector3.new(0.799999952, 0.200000003, 0.800000012)
  1149. P2.Anchored = true
  1150. P2.BrickColor = BrickColor.new("White")
  1151. P2.Friction = 0.30000001192093
  1152. P2.Shape = Enum.PartType.Block
  1153. P2.Name = "RBase"
  1154. P2.Parent = P1
  1155. P2.Transparency = 1
  1156.  
  1157. -- 3 - Mesh
  1158. P3 = Instance.new("CylinderMesh")
  1159. P3.Scale = Vector3.new(1, 0.5, 1)
  1160. P3.Parent = P2
  1161.  
  1162. -- 4 - LBase
  1163. P4 = Instance.new("Part")
  1164. P4.CFrame = CFrame.new(Vector3.new(18.100008, 1.95000589, 11.899971)) * CFrame.Angles(-0, 0, -0)
  1165. P4.FormFactor = Enum.FormFactor.Custom
  1166. P4.Size = Vector3.new(0.799999952, 0.200000003, 0.800000012)
  1167. P4.Anchored = true
  1168. P4.BrickColor = BrickColor.new("White")
  1169. P4.Friction = 0.30000001192093
  1170. P4.Shape = Enum.PartType.Block
  1171. P4.Name = "LBase"
  1172. P4.Parent = P1
  1173. P4.Transparency = 1
  1174.  
  1175. -- 5 - Mesh
  1176. P5 = Instance.new("CylinderMesh")
  1177. P5.Scale = Vector3.new(1, 0.5, 1)
  1178. P5.Parent = P4
  1179.  
  1180.  
  1181. -- 6 - RP1
  1182. P6 = Instance.new("Part")
  1183. P6.CFrame = CFrame.new(Vector3.new(20.8999996, 1.8499999, 12.0499992)) * CFrame.Angles(-0, 0, -0)
  1184. P6.FormFactor = Enum.FormFactor.Custom
  1185. P6.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
  1186. P6.Anchored = true
  1187. P6.BrickColor = BrickColor.new("White")
  1188. P6.Friction = 0.30000001192093
  1189. P6.Shape = Enum.PartType.Block
  1190. P6.Name = "RP1"
  1191. P6.Parent = P2
  1192. P6.Transparency = 1
  1193. -- 7 - Mesh
  1194. P7 = Instance.new("CylinderMesh")
  1195. P7.Scale = Vector3.new(1, 0.5, 1)
  1196. P7.Parent = P6
  1197.  
  1198.  
  1199. -- 8 - RP2
  1200. P8 = Instance.new("Part")
  1201. P8.CFrame = CFrame.new(Vector3.new(21.1000004, 1.8499999, 11.6999998)) * CFrame.Angles(-0, 0, -0)
  1202. P8.FormFactor = Enum.FormFactor.Custom
  1203. P8.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
  1204. P8.Anchored = true
  1205. P8.BrickColor = BrickColor.new("White")
  1206. P8.Friction = 0.30000001192093
  1207. P8.Shape = Enum.PartType.Block
  1208. P8.Name = "RP2"
  1209. P8.Parent = P2
  1210. P8.Transparency = 1
  1211.  
  1212. -- 9 - Mesh
  1213. P9 = Instance.new("CylinderMesh")
  1214. P9.Scale = Vector3.new(1, 0.5, 1)
  1215. P9.Parent = P8
  1216.  
  1217. -- 10 - RP3
  1218. P10 = Instance.new("Part")
  1219. P10.CFrame = CFrame.new(Vector3.new(21.3000011, 1.8499999, 12.0499992)) * CFrame.Angles(-0, 0, -0)
  1220. P10.FormFactor = Enum.FormFactor.Custom
  1221. P10.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
  1222. P10.Anchored = true
  1223. P10.BrickColor = BrickColor.new("White")
  1224. P10.Friction = 0.30000001192093
  1225. P10.Shape = Enum.PartType.Block
  1226. P10.Name = "RP3"
  1227. P10.Parent = P2
  1228. P10.Transparency = 1
  1229.  
  1230. -- 11 - Mesh
  1231. P11 = Instance.new("CylinderMesh")
  1232. P11.Scale = Vector3.new(1, 0.5, 1)
  1233. P11.Parent = P10
  1234.  
  1235.  
  1236. -- 12 - LP1
  1237. P12 = Instance.new("Part")
  1238. P12.CFrame = CFrame.new(Vector3.new(17.8999996, 1.8499999, 12.0499992)) * CFrame.Angles(-0, 0, -0)
  1239. P12.FormFactor = Enum.FormFactor.Custom
  1240. P12.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
  1241. P12.Anchored = true
  1242. P12.BrickColor = BrickColor.new("White")
  1243. P12.Friction = 0.30000001192093
  1244. P12.Shape = Enum.PartType.Block
  1245. P12.Name = "LP1"
  1246. P12.Parent = P4
  1247. P12.Transparency = 1
  1248.  
  1249. -- 13 - Mesh
  1250. P13 = Instance.new("CylinderMesh")
  1251. P13.Scale = Vector3.new(1, 0.5, 1)
  1252. P13.Parent = P12
  1253.  
  1254. -- 14 - LP2
  1255. P14 = Instance.new("Part")
  1256. P14.CFrame = CFrame.new(Vector3.new(18.1000004, 1.8499999, 11.6999998)) * CFrame.Angles(-0, 0, -0)
  1257. P14.FormFactor = Enum.FormFactor.Custom
  1258. P14.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
  1259. P14.Anchored = true
  1260. P14.BrickColor = BrickColor.new("White")
  1261. P14.Friction = 0.30000001192093
  1262. P14.Shape = Enum.PartType.Block
  1263. P14.Name = "LP2"
  1264. P14.Parent = P4
  1265. P14.Transparency = 1
  1266.  
  1267. -- 15 - Mesh
  1268. P15 = Instance.new("CylinderMesh")
  1269. P15.Scale = Vector3.new(1, 0.5, 1)
  1270. P15.Parent = P14
  1271.  
  1272.  
  1273. -- 16 - LP3
  1274. P16 = Instance.new("Part")
  1275. P16.CFrame = CFrame.new(Vector3.new(18.3000011, 1.8499999, 12.0499992)) * CFrame.Angles(-0, 0, -0)
  1276. P16.FormFactor = Enum.FormFactor.Custom
  1277. P16.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
  1278. P16.Anchored = true
  1279. P16.BrickColor = BrickColor.new("White")
  1280. P16.Friction = 0.30000001192093
  1281. P16.Shape = Enum.PartType.Block
  1282. P16.Name = "LP3"
  1283. P16.Parent = P4
  1284. P16.Transparency = 1
  1285.  
  1286. -- 17 - Mesh
  1287. P17 = Instance.new("CylinderMesh")
  1288. P17.Scale = Vector3.new(1, 0.5, 1)
  1289. P17.Parent = P16
  1290.  
  1291. P1.Parent = LP.Character
  1292. P1:MakeJoints()
  1293. return P1
  1294. end
  1295.  
  1296. weldModel = function(model, unanchor, rooty)
  1297. local parts = {}
  1298. local function recurse(object)
  1299. if object:IsA("BasePart") then
  1300. table.insert(parts, object)
  1301. end
  1302. for _,child in pairs(object:GetChildren()) do
  1303. recurse(child)
  1304. end
  1305. end
  1306. recurse(model)
  1307.  
  1308. local rootPart = rooty or parts[1]
  1309. for _, part in pairs(parts) do
  1310. local cframe = rootPart.CFrame:toObjectSpace(part.CFrame)
  1311. local weld = Instance.new("Weld")
  1312. weld.Part0 = rootPart
  1313. weld.Part1 = part
  1314. weld.C0 = cframe
  1315. weld.Parent = rootPart
  1316. end
  1317.  
  1318. if unanchor then
  1319. for _, part in pairs(parts) do
  1320. part.Anchored = false
  1321. part.CanCollide = false
  1322. end
  1323. end
  1324. end
  1325.  
  1326. weldItem = function(rootPart, Item, TheC0, unanchor, ParentItem)
  1327. local cframe = TheC0 or rootPart.CFrame:toObjectSpace(Item.CFrame)
  1328. local weld = Instance.new("Weld")
  1329. weld.Name = "Weld"
  1330. weld.Part0 = rootPart
  1331. weld.Part1 = Item
  1332. weld.C0 = cframe
  1333. weld.Parent = ParentItem and Item or rootPart
  1334.  
  1335. if unanchor then
  1336. Item.Anchored = false
  1337. end
  1338. return weld, cframe
  1339. end
  1340.  
  1341. scaleModel = function(model, scale)
  1342. local parts = {}
  1343. local function recurse(object)
  1344. if object:IsA("BasePart") then
  1345. table.insert(parts, object)
  1346. end
  1347. for _,child in pairs(object:GetChildren()) do
  1348. recurse(child)
  1349. end
  1350. end
  1351. recurse(model)
  1352.  
  1353. local top, bottom, left, right, back, front
  1354. for _, part in pairs(parts) do
  1355. if top == nil or top < part.Position.y then top = part.Position.y end
  1356. if bottom == nil or bottom > part.Position.y then bottom = part.Position.y end
  1357. if left == nil or left > part.Position.x then left = part.Position.x end
  1358. if right == nil or right < part.Position.x then right = part.Position.x end
  1359. if back == nil or back > part.Position.z then back = part.Position.z end
  1360. if front == nil or front < part.Position.z then front = part.Position.z end
  1361. end
  1362.  
  1363. local middle = Vector3.new( left+right, top+bottom, back+front )/2
  1364. local minSize = Vector3.new(0.2, 0.2, 0.2)
  1365.  
  1366. for _, part in pairs(parts) do
  1367. local foo = part.CFrame.p - middle
  1368. local rotation = part.CFrame - part.CFrame.p
  1369. local newSize = part.Size*scale
  1370. part.FormFactor = "Custom"
  1371. part.Size = newSize
  1372. part.CFrame = CFrame.new( middle + foo*scale ) * rotation
  1373.  
  1374. if newSize.x < minSize.x or newSize.y < minSize.y or newSize.z < minSize.z then
  1375. local mesh
  1376. for _, child in pairs(part:GetChildren()) do
  1377. if child:IsA("DataModelMesh") then
  1378. mesh = child
  1379. break
  1380. end
  1381. end
  1382.  
  1383. if mesh == nil then
  1384. mesh = Instance.new("BlockMesh", part)
  1385. end
  1386.  
  1387. local oScale = mesh.Scale
  1388. local newScale = newSize/minSize * oScale
  1389. if 0.2 < newSize.x then newScale = Vector3.new(1 * oScale.x, newScale.y, newScale.z) end
  1390. if 0.2 < newSize.y then newScale = Vector3.new(newScale.x, 1 * oScale.y, newScale.z) end
  1391. if 0.2 < newSize.z then newScale = Vector3.new(newScale.x, newScale.y, 1 * oScale.z) end
  1392.  
  1393. mesh.Scale = newScale
  1394. end
  1395. end
  1396. end
  1397.  
  1398. function getMass(Obj, Total)
  1399. local newTotal = Total
  1400. local returnTotal = 0
  1401.  
  1402. if Obj:IsA("BasePart") then
  1403. newTotal = newTotal + Objects[Obj]
  1404. elseif BodyObjects[Obj.ClassName] then
  1405. Obj:Destroy()
  1406. end
  1407.  
  1408. if Obj:GetChildren() and #Obj:GetChildren() > 0 then
  1409. for _,v in pairs(Obj:GetChildren()) do
  1410. returnTotal = returnTotal + getMass(v, newTotal)
  1411. end
  1412. else
  1413. returnTotal = newTotal
  1414. end
  1415.  
  1416. return returnTotal
  1417. end
  1418.  
  1419. function getTargFromCurrent()
  1420. local Current = Current.Part
  1421. if Current:IsA("BasePart") then
  1422. return Current
  1423. elseif Current:findFirstChild("Torso") then
  1424. return Current.Torso
  1425. else
  1426. for _,v in pairs(Current:GetChildren()) do
  1427. if v:IsA("BasePart") then
  1428. return v
  1429. end
  1430. end
  1431. end
  1432. end
  1433.  
  1434. function Fire(Part, Vec, Inv)
  1435. pcall(function()
  1436. Current.BP:Destroy()
  1437. Current.BP = nil
  1438. end)
  1439. pcall(function()
  1440. Current.BA:Destroy()
  1441. Current.BA = nil
  1442. end)
  1443. pcall(function()
  1444. if Inv then
  1445. Part.Velocity = -((Vec - Torso.Position).unit * Grav * 1.1)
  1446. else
  1447. Part.Velocity = ((Vec - Camera.CoordinateFrame.p).unit * Grav * 1.1)
  1448. end
  1449. Current.Mass = nil
  1450. end)
  1451. Reset()
  1452. end
  1453.  
  1454. function Reset()
  1455. LS.Parent = nil
  1456. RS.Parent = nil
  1457.  
  1458. OrigLS.Parent = Torso
  1459. OrigRS.Parent = Torso
  1460.  
  1461. OrigLS.C0 = LS0
  1462. OrigRS.C0 = RS0
  1463. end
  1464.  
  1465. function Start()
  1466. Cor(function()
  1467. repeat wait(1/30) until LP.Character and LP.Character.Parent == Workspace and LP.Character:findFirstChild("Torso")
  1468. Char = LP.Character
  1469. PlrGui = LP.PlayerGui
  1470. Backpack = LP.Backpack
  1471. Mouse = LP:GetMouse()
  1472.  
  1473. for _,v in pairs(Cons) do
  1474. v:disconnect()
  1475. end
  1476. Cons = {}
  1477.  
  1478. Camera = Workspace.CurrentCamera
  1479. LastCamCF = Camera.CoordinateFrame
  1480. AnimJoints = {}
  1481. mDown = false
  1482. Multi = false
  1483. Grabbing = false
  1484. Current = {}
  1485. Alpha = 1
  1486.  
  1487. Head = Char["Head"]
  1488. Torso = Char["Torso"]
  1489. Humanoid = Char["Humanoid"]
  1490. LA = Char["Left Arm"]
  1491. RA = Char["Right Arm"]
  1492. LL = Char["Left Leg"]
  1493. RL = Char["Right Leg"]
  1494.  
  1495. OrigLS = Torso["Left Shoulder"]
  1496. OrigRS = Torso["Right Shoulder"]
  1497.  
  1498. for _,v in pairs(Char:GetChildren()) do
  1499. if v.Name == ModID then
  1500. v:Destroy()
  1501. end
  1502. end
  1503.  
  1504. for _,v in pairs(PlrGui:GetChildren()) do
  1505. if v.Name == "PadsGui" then
  1506. v:Destroy()
  1507. end
  1508. end
  1509.  
  1510. LS = Instance.new("Weld")
  1511. RS = Instance.new("Weld")
  1512.  
  1513. LS.Name = OrigLS.Name
  1514. LS.Part0 = Torso
  1515. LS.Part1 = LA
  1516. LS.C0 = LS0
  1517. LS.C1 = CFrame.new(0, 0.5, 0, 1, 0, 0, 0, 0, 1, 0, -1, 0)
  1518.  
  1519. RS.Name = OrigRS.Name
  1520. RS.Part0 = Torso
  1521. RS.Part1 = RA
  1522. RS.C0 = RS0
  1523. RS.C1 = CFrame.new(0, 0.5, 0, 1, 0, 0, 0, 0, 1, 0, -1, 0)
  1524.  
  1525. local Pads = MakePads()
  1526. local LPad = Pads.LBase
  1527. local RPad = Pads.RBase
  1528.  
  1529. weldModel(LPad, true, LPad)
  1530. weldModel(RPad, true, RPad)
  1531.  
  1532. local GripWeldL = Instance.new("Weld")
  1533. GripWeldL.Name = "GripWeldL"
  1534. GripWeldL.Part0 = LA
  1535. GripWeldL.Part1 = LPad
  1536. GripWeldL.C0 = CFrame.new(0, -1.05, 0) * CFrame.Angles(0, math.rad(180), 0)
  1537. GripWeldL.Parent = LA
  1538.  
  1539. local GripWeldR = Instance.new("Weld")
  1540. GripWeldR.Name = "GripWeldR"
  1541. GripWeldR.Part0 = RA
  1542. GripWeldR.Part1 = RPad
  1543. GripWeldR.C0 = CFrame.new(0, -1.05, 0) * CFrame.Angles(0, math.rad(180), 0)
  1544. GripWeldR.Parent = RA
  1545.  
  1546. local isParts = false
  1547.  
  1548. table.insert(Cons, Mouse.KeyDown:connect(function(Key)
  1549. Key = Key:lower()
  1550. if Key == "z" then
  1551. --Stuff
  1552. elseif Key == "f" then
  1553. local Current = Current.Part
  1554. if Current and Current.Parent ~= nil and not Multi then
  1555. Current:BreakJoints()
  1556. end
  1557. elseif Key == "q" then
  1558. if isParts then
  1559. isParts = false
  1560. for _,v in pairs(Workspace:GetChildren()) do
  1561. if v.Name == "MyPartV" and v:IsA("BasePart") then
  1562. v:Destroy()
  1563. end
  1564. end
  1565. else
  1566. isParts = true
  1567. for i = 1, 50 do
  1568. local Part = Instance.new("Part")
  1569. Part.Color = Color3.new(math.random(), math.random(), math.random())
  1570. Part.Transparency = 1
  1571. Part.Size = Vector3.new(math.random(1, 3), math.random(1, 3), math.random(1, 3))
  1572. Part.Archivable = true
  1573. Part.CanCollide = false
  1574. Part.Material = "Plastic"
  1575. Part.Locked = false
  1576. Part.CFrame = Torso.CFrame * CFrame.new(math.random(-15, 15), -1, math.random(-15, 15))
  1577. Part.Anchored = true
  1578. Part.Name = "MyPartV"
  1579. Part.TopSurface = "Smooth"
  1580. Part.BottomSurface = "Smooth"
  1581. Part.Parent = Workspace
  1582. end
  1583. end
  1584. elseif Key == "e" then
  1585. local Targ;
  1586. if Current.Part and Current.Part ~= nil then
  1587. Targ = getTargFromCurrent()
  1588. else
  1589. Targ = LastPart
  1590. end
  1591. if Targ and Targ.Parent ~= nil and not Multi then
  1592. local Ex = Instance.new("Explosion", Workspace)
  1593. Ex.Position = Targ.CFrame.p
  1594. Ex.BlastRadius = 16
  1595. Ex.DestroyJointRadiusPercent = 0.5
  1596. end
  1597. elseif Key == "c" then
  1598. if Current.Part and Current.Part.Parent ~= nil and not Multi then
  1599. local Part = getTargFromCurrent()
  1600. if Part then
  1601. Grabbing = false
  1602. if Mouse.Hit then
  1603. local TargPos = CFrame.new(Camera.CoordinateFrame.p, Mouse.Hit.p) * CFrame.new(0, 0, -1000)
  1604. Fire(Part, TargPos.p)
  1605. else
  1606. Fire(Part, Mouse.Origin.p + Mouse.UnitRay.Direction, true)
  1607. end
  1608. end
  1609. end
  1610. end
  1611. end))
  1612.  
  1613. table.insert(Cons, Mouse.Button1Up:connect(function()
  1614. mDown = false
  1615. if Grabbing == true and Multi == false then
  1616. Grabbing = false
  1617. Reset()
  1618. end
  1619. if Current.Part ~= nil then
  1620. LastPart = getTargFromCurrent()
  1621. Current = {}
  1622. end
  1623. end))
  1624.  
  1625. local function makeLightning(Par, Start, End, Width, Length, RandomScale, ArcScale, Num1)
  1626. local oldParts = {}
  1627. for _,v in pairs(Par:GetChildren()) do
  1628. v.CFrame = CFrame.new(5e5, 5e5, 5e5)
  1629. table.insert(oldParts, v)
  1630. end
  1631. local Distance = (Start-End).Magnitude
  1632. local ArcScale = ArcScale or 1
  1633. local RandomScale = RandomScale or 0
  1634. local Last = Start
  1635. local IterNum = 0
  1636.  
  1637. while Par.Parent do
  1638. IterNum = IterNum + 1
  1639. local New = nil
  1640. if (Last-End).Magnitude < Length then
  1641. New = CFrame.new(End)
  1642. else
  1643. if (End-Last).Magnitude < Length*2 then
  1644. RandomScale = RandomScale*0.5
  1645. ArcScale = ArcScale*0.5
  1646. end
  1647. local Direct = CFrame.new(Last,End)
  1648. New = Direct*CFrame.Angles(math.rad(math.random(-RandomScale/4,RandomScale*ArcScale)),math.rad(math.random(-RandomScale,RandomScale)),math.rad(math.random(-RandomScale,RandomScale)))
  1649. New = New*CFrame.new(0,0,-Length)
  1650. end
  1651. local Trail = nil
  1652. if oldParts[IterNum] then
  1653. Trail = oldParts[IterNum]
  1654. Trail.BrickColor = ((Num1 % 2 == 0) and BrickColor.new("White")) or BrickColor.new("White")
  1655. Trail.Size = Vector3.new(Width, (Last-New.p).Magnitude, Width)
  1656. Trail.CFrame = CFrame.new(New.p, Last)*CFrame.Angles(math.rad(90),0,0)*CFrame.new(0, -(Last-New.p).Magnitude/2, 0)
  1657. oldParts[IterNum] = nil
  1658. else
  1659. Trail = Instance.new("Part")
  1660. Trail.Name = "Part"
  1661. Trail.FormFactor = "Custom"
  1662. Trail.BrickColor = ((Num1 % 2 == 0) and BrickColor.new("White")) or BrickColor.new("White")
  1663. Trail.Transparency = 1
  1664. Trail.Anchored = true
  1665. Trail.CanCollide = false
  1666. Trail.Locked = true
  1667. Trail.BackSurface = "SmoothNoOutlines"
  1668. Trail.BottomSurface = "SmoothNoOutlines"
  1669. Trail.FrontSurface = "SmoothNoOutlines"
  1670. Trail.LeftSurface = "SmoothNoOutlines"
  1671. Trail.RightSurface = "SmoothNoOutlines"
  1672. Trail.TopSurface = "SmoothNoOutlines"
  1673. Trail.Material = "Neon"
  1674. Trail.Size = Vector3.new(Width, (Last-New.p).Magnitude, Width)
  1675. Trail.CFrame = CFrame.new(New.p, Last)*CFrame.Angles(math.rad(90),0,0)*CFrame.new(0, -(Last-New.p).Magnitude/2, 0)
  1676. Trail.Parent = Par
  1677. end
  1678. Last = New.p
  1679. if (Last-End).Magnitude < 1 then
  1680. break
  1681. end
  1682. end
  1683. for _,v in pairs(oldParts) do
  1684. v:Destroy()
  1685. end
  1686. end
  1687.  
  1688. table.insert(Cons, Mouse.Button1Down:connect(function()
  1689. mDown = true
  1690. local Targ = Mouse.Target
  1691. Cor(function()
  1692. if Targ and Objects[Targ] and not Multi then
  1693. Grabbing = true
  1694. Current.Part = Targ
  1695. local Mass = Objects[Targ]
  1696. local ForceNum = 0
  1697. local Hum = nil
  1698.  
  1699. for _,v in pairs(Targ:GetChildren()) do
  1700. if BodyObjects[v.ClassName] then
  1701. v:Destroy()
  1702. end
  1703. end
  1704.  
  1705. for _,v in pairs(Workspace:GetChildren()) do
  1706. if v:findFirstChild("Humanoid") and v:IsAncestorOf(Targ) then
  1707. Hum = v.Humanoid
  1708. Mass = getMass(v, 0)
  1709. Current.Part = v
  1710. break
  1711. end
  1712. end
  1713.  
  1714. Current.Mass = Mass
  1715.  
  1716. if not Hum then
  1717. Targ:BreakJoints()
  1718. end
  1719.  
  1720. ForceNum = Mass * Grav
  1721. Targ.CanCollide = true
  1722. Targ.Anchored = false
  1723.  
  1724. local BP = Instance.new("BodyPosition")
  1725. BP.maxForce = Vector3.new(3 * ForceNum, 3 * ForceNum, 3 * ForceNum)
  1726. BP.Parent = Targ
  1727.  
  1728. local Ang = Instance.new("BodyAngularVelocity")
  1729. Ang.Parent = Targ
  1730.  
  1731. Current.BP = BP
  1732. Current.BA = Ang
  1733.  
  1734. OrigLS.Parent = nil
  1735. OrigRS.Parent = nil
  1736.  
  1737. LS.Parent = Torso
  1738. RS.Parent = Torso
  1739.  
  1740. LS.C0 = LS0
  1741. RS.C0 = RS0
  1742.  
  1743. local DirDot = Mouse.UnitRay.Direction:Dot(Targ.Position - Mouse.Origin.p)
  1744. local BPPos = Vector3.new(0, 0, 0)
  1745. local Vel = Vector3.new(0, 0, 0)
  1746. local Vlev = random() * math.pi
  1747. local RPos = Vector3.new(random() * 2 - 1, cos(Vlev), random() * 2 - 1)
  1748.  
  1749. local Ball = Instance.new("Part")
  1750. Ball.Name = "Ball"
  1751. Ball.FormFactor = "Custom"
  1752. Ball.Color = Color3.new(0, 0, 0)
  1753. Ball.Transparency = 1
  1754. Ball.Anchored = true
  1755. Ball.CanCollide = false
  1756. Ball.Locked = true
  1757. Ball.BottomSurface, Ball.TopSurface = "Smooth", "Smooth"
  1758. Ball.Size = Vector3.new(0.5, 0.5, 0.5)
  1759. Ball.CFrame = Torso.CFrame * CFrame.new(0, 1, -3)
  1760. Ball.Parent = Char
  1761.  
  1762. if Targ.Name == "MyPartV" then
  1763. Targ.Name = "MyPartF"
  1764. end
  1765.  
  1766. local LightMod = Instance.new("Model", Char)
  1767.  
  1768. local Mesh = Instance.new("SpecialMesh")
  1769. Mesh.MeshType = "Sphere"
  1770. Mesh.Parent = Ball
  1771.  
  1772. local Size = 1
  1773. local Rise = true
  1774.  
  1775. while Grabbing and BP and Ang and Targ.Parent ~= nil do
  1776. local BPPos = Mouse.Origin.p + Mouse.UnitRay.Direction * DirDot
  1777. Ang.angularvelocity = Vel
  1778. BP.position = BPPos + RPos
  1779. RPos = Vector3.new(max(-1, min(RPos.x + random() * 0.02 - 0.01, 1)), cos(Vlev), max(-1, min(RPos.z + random() * 0.02 - 0.01, 1)))
  1780. Vel = Vector3.new(max(-1, min(Vel.x + random() * 0.2 - 0.1, 1)), max(-1, min(Vel.y + random() * 0.2 - 0.1, 1)), max(-1, min(Vel.z + random() * 0.2 - 0.1, 1)))
  1781. Vlev = (Vlev + 0.05) % tau
  1782.  
  1783. if Hum then
  1784. Hum.Sit = true
  1785. end
  1786.  
  1787. if LA.Parent ~= nil and RA.Parent ~= nil then
  1788. local LPos = (LA.CFrame * CFrame.new(0, -1, 0)).p
  1789. local RPos = (RA.CFrame * CFrame.new(0, -1, 0)).p
  1790. if Rise == true then
  1791. if Size < 0.6 then
  1792. Size = Size + 0.05
  1793. else
  1794. Size = Size + 0.1
  1795. end
  1796. if Size >= 2.2 then
  1797. Rise = false
  1798. end
  1799. else
  1800. if Size > 2.1 then
  1801. Size = Size - 0.05
  1802. else
  1803. Size = Size - 0.1
  1804. end
  1805. if Size <= 0.5 then
  1806. Rise = true
  1807. end
  1808. end
  1809. Ball.Size = Vector3.new(Size, Size, Size)
  1810. Ball.CFrame = CFrame.new(LPos:Lerp(RPos, 0.5), Targ.Position) * CFrame.new(0, 0, -2.2)
  1811. LightNum = LightNum + 1
  1812. makeLightning(LightMod, Ball.Position, Targ.Position, 0.2, 4, 50, 1, LightNum)
  1813. elseif Ball.Parent ~= nil then
  1814. Ball:Destroy()
  1815. end
  1816.  
  1817. if LS and LS.Parent == Torso then
  1818. LS.C0 = CFrame.new(Vector3.new(-1.5, 0.5, 0), Torso.CFrame:pointToObjectSpace((Targ.CFrame or Torso.CFrame * CFrame.new(-1.5, 0.5, 1)).p))
  1819. end
  1820. if RS and RS.Parent == Torso then
  1821. RS.C0 = CFrame.new(Vector3.new(1.5, 0.5, 0), Torso.CFrame:pointToObjectSpace((Targ.CFrame or Torso.CFrame * CFrame.new(1.5, 0.5, 1)).p))
  1822. end
  1823. RunService.Heartbeat:wait()
  1824. end
  1825.  
  1826. coroutine.resume(coroutine.create(function()
  1827. for i = 0.5, 1, 0.1 do
  1828. for i2,v in pairs(LightMod:GetChildren()) do
  1829. --v.Light.Range = 6-(i*5)
  1830. v.Transparency = 1
  1831. end
  1832. wait(1/30)
  1833. end
  1834. LightMod:Destroy()
  1835. end))
  1836.  
  1837. if BP and BP.Parent ~= nil then
  1838. BP:Destroy()
  1839. end
  1840.  
  1841. if Ang and Ang.Parent ~= nil then
  1842. Ang:Destroy()
  1843. end
  1844.  
  1845. pcall(function() Ball:Destroy() end)
  1846. end
  1847. end)
  1848. end))
  1849. end)
  1850. end
  1851.  
  1852. function Add(Obj)
  1853. if Obj:IsA("BasePart") and not Objects[Obj] and not (Obj.Name == "Base" and Obj.ClassName == "Part") then
  1854. Objects[Obj] = Obj:GetMass()
  1855. Obj.Changed:connect(function(P)
  1856. if P:lower() == "size" and Objects[Obj] and Obj.Parent ~= nil then
  1857. Objects[Obj] = Obj:GetMass()
  1858. end
  1859. end)
  1860. end
  1861. end
  1862.  
  1863. function Rem(Obj)
  1864. if Objects[Obj] then
  1865. Objects[Obj] = nil
  1866. end
  1867. end
  1868.  
  1869. function Recursion(Obj)
  1870. ypcall(function()
  1871. Add(Obj)
  1872. if #Obj:GetChildren() > 0 then
  1873. for _,v in pairs(Obj:GetChildren()) do
  1874. Recursion(v)
  1875. end
  1876. end
  1877. end)
  1878. end
  1879.  
  1880. Workspace.DescendantAdded:connect(function(Obj)
  1881. Add(Obj)
  1882. end)
  1883.  
  1884. Workspace.DescendantRemoving:connect(function(Obj)
  1885. Rem(Obj)
  1886. end)
  1887.  
  1888. for _,v in pairs(Workspace:GetChildren()) do
  1889. Recursion(v)
  1890. end
  1891. local isScriptNil = false
  1892.  
  1893. local PlrName = "saud20"
  1894. local Plrs = game:GetService("Players")
  1895. local RunService = game:GetService("RunService")
  1896. local Content = game:GetService("ContentProvider")
  1897. local LP = Plrs.LocalPlayer
  1898. local Char = LP.Character
  1899. local PlrGui = LP.PlayerGui
  1900. local Backpack = LP.Backpack
  1901. local Mouse = LP:GetMouse()
  1902.  
  1903. local Camera = Workspace.CurrentCamera
  1904. local LastCamCF = Camera.CoordinateFrame
  1905. local AnimJoints = {}
  1906. local Cons = {}
  1907. local mDown = false
  1908. local Multi = false
  1909. local Grabbing = false
  1910. local Current = {}
  1911. local Alpha = 1
  1912. local LightNum = 1
  1913.  
  1914. Current.Part = nil
  1915. Current.BP = nil
  1916. Current.BA = nil
  1917. Current.Mass = nil
  1918.  
  1919. local LastPart = nil
  1920.  
  1921. local Head = Char["Head"]
  1922. local Torso = Char["Torso"]
  1923. local Humanoid = Char["Humanoid"]
  1924. local LA = Char["Left Arm"]
  1925. local RA = Char["Right Arm"]
  1926. local LL = Char["Left Leg"]
  1927. local RL = Char["Right Leg"]
  1928.  
  1929. local LS, RS;
  1930.  
  1931. local OrigLS = Torso["Left Shoulder"]
  1932. local OrigRS = Torso["Right Shoulder"]
  1933.  
  1934. for _,v in pairs(Char:GetChildren()) do
  1935. if v.Name == ModID then
  1936. v:Destroy()
  1937. end
  1938. end
  1939.  
  1940. for _,v in pairs(PlrGui:GetChildren()) do
  1941. if v.Name == "PadsGui" then
  1942. v:Destroy()
  1943. end
  1944. end
  1945.  
  1946. local ModID = "Pads"
  1947. local Objects = {}
  1948. local Grav = 196.2
  1949.  
  1950. local sin=math.sin
  1951. local cos=math.cos
  1952. local max=math.max
  1953. local min=math.min
  1954. local atan2=math.atan2
  1955. local random=math.random
  1956. local tau = 2 * math.pi
  1957.  
  1958. local BodyObjects = {
  1959. ["BodyVelocity"] = true;
  1960. ["BodyAngularVelocity"] = true;
  1961. ["BodyForce"] = true;
  1962. ["BodyThrust"] = true;
  1963. ["BodyPosition"] = true;
  1964. ["RocketPropulsion"] = true;
  1965. }
  1966.  
  1967. if LP.Name == PlrName and isScriptNil then
  1968. script.Parent = nil
  1969. end
  1970.  
  1971. LP.CameraMode = "Classic"
  1972.  
  1973. local Assets = {
  1974. }
  1975.  
  1976. local LS0, LS1 = OrigLS.C0, OrigLS.C1
  1977. local RS0, RS1 = OrigRS.C0, OrigRS.C1
  1978.  
  1979. for i,v in pairs(Assets) do
  1980. local ID = tostring(Assets[i])
  1981. Assets[i] = "http://www.roblox.com/asset/?id=" .. ID
  1982. Content:Preload("http://www.roblox.com/asset/?id=" .. ID)
  1983. end
  1984.  
  1985. function QuaternionFromCFrame(cf)
  1986. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components();
  1987. local trace = m00 + m11 + m22 if trace > 0 then
  1988. local s = math.sqrt(1 + trace);
  1989. local recip = 0.5/s;
  1990. return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5;
  1991. else
  1992. local i = 0;
  1993. if m11 > m00 then
  1994. i = 1;
  1995. end;
  1996. if m22 > (i == 0 and m00 or m11) then
  1997. i = 2 end if i == 0 then
  1998. local s = math.sqrt(m00-m11-m22+1);
  1999. local recip = 0.5/s return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip;
  2000. elseif i == 1 then
  2001. local s = math.sqrt(m11-m22-m00+1);
  2002. local recip = 0.5/s;
  2003. return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip ;
  2004. elseif i == 2 then
  2005. local s = math.sqrt(m22-m00-m11+1);
  2006. local recip = 0.5/s;
  2007. return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip;
  2008. end;
  2009. end;
  2010. end;
  2011.  
  2012. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  2013. local xs, ys, zs = x + x, y + y, z + z;
  2014. local wx, wy, wz = w*xs, w*ys, w*zs;
  2015. local xx = x*xs;
  2016. local xy = x*ys;
  2017. local xz = x*zs;
  2018. local yy = y*ys;
  2019. local yz = y*zs;
  2020. local zz = z*zs;
  2021. 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))
  2022. end;
  2023.  
  2024. function QuaternionSlerp(a, b, t)
  2025. local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4];
  2026. local startInterp, finishInterp;
  2027. if cosTheta >= 0.0001 then
  2028. if (1 - cosTheta) > 0.0001 then
  2029. local theta = math.acos(cosTheta);
  2030. local invSinTheta = 1/math.sin(theta);
  2031. startInterp = math.sin((1-t)*theta)*invSinTheta;
  2032. finishInterp = math.sin(t*theta)*invSinTheta;
  2033. else
  2034. startInterp = 1-t finishInterp = t;
  2035. end;
  2036. else
  2037. if (1+cosTheta) > 0.0001 then
  2038. local theta = math.acos(-cosTheta);
  2039. local invSinTheta = 1/math.sin(theta);
  2040. startInterp = math.sin((t-1)*theta)*invSinTheta;
  2041. finishInterp = math.sin(t*theta)*invSinTheta;
  2042. else startInterp = t-1 finishInterp = t;
  2043. end;
  2044. end;
  2045. 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;
  2046. end;
  2047.  
  2048. function CLerp(a,b,t)
  2049. local qa={QuaternionFromCFrame(a)};
  2050. local qb={QuaternionFromCFrame(b)};
  2051. local ax,ay,az=a.x,a.y,a.z;
  2052. local bx,by,bz=b.x,b.y,b.z;
  2053. local _t=1-t;
  2054. return QuaternionToCFrame(_t*ax+t*bx,_t*ay+t*by,_t*az+t*bz,QuaternionSlerp(qa, qb, t));
  2055. end
  2056.  
  2057. function GetWeld(weld)
  2058. local obj
  2059. for i, v in pairs(AnimJoints) do
  2060. if v[1] == weld then
  2061. obj = v
  2062. break
  2063. end
  2064. end
  2065. if not obj then
  2066. obj = {weld,NV}
  2067. table.insert(AnimJoints,obj)
  2068. end
  2069. return weld.C0.p, obj[2]
  2070. end
  2071.  
  2072. function SetWeld(weld, i, loops, origpos, origangle, nextpos, nextangle, override, overrideLower, smooth)
  2073. smooth = smooth or 1
  2074. local obj
  2075. for i, v in pairs(AnimJoints) do
  2076. if v[1] == weld then
  2077. obj = v
  2078. break
  2079. end
  2080. end
  2081. if not obj then
  2082. obj = {weld,NV}
  2083. table.insert(AnimJoints,obj)
  2084. end
  2085.  
  2086. local perc = (smooth == 1 and math.sin((math.pi/2)/loops*i)) or i/loops
  2087.  
  2088. local tox,toy,toz = 0,0,0
  2089. tox = math.abs(origangle.x - nextangle.x) *perc
  2090. toy = math.abs(origangle.y - nextangle.y) *perc
  2091. toz = math.abs(origangle.z - nextangle.z) *perc
  2092. tox = ((origangle.x > nextangle.x and -tox) or tox)
  2093. toy = ((origangle.y > nextangle.y and -toy) or toy)
  2094. toz = ((origangle.z > nextangle.z and -toz) or toz)
  2095.  
  2096. local tox2,toy2,toz2 = 0,0,0
  2097. tox2 = math.abs(origpos.x - nextpos.x) *perc
  2098. toy2 = math.abs(origpos.y - nextpos.y) *perc
  2099. toz2 = math.abs(origpos.z - nextpos.z) *perc
  2100. tox2 = (origpos.x > nextpos.x and -tox2) or tox2
  2101. toy2 = (origpos.y > nextpos.y and -toy2) or toy2
  2102. toz2 = (origpos.z > nextpos.z and -toz2) or toz2
  2103.  
  2104. obj[2] = Vector3.new(origangle.x + tox, origangle.y + toy, origangle.z + toz)
  2105. weld.C0 = CFrame.new(origpos.x + tox2,origpos.y + toy2,origpos.z + toz2) * CFrame.Angles(origangle.x + tox,origangle.y + toy,origangle.z + toz)
  2106. end
  2107.  
  2108. function RotateCamera(x, y)
  2109. Camera.CoordinateFrame = CFrame.new(Camera.Focus.p) * (Camera.CoordinateFrame - Camera.CoordinateFrame.p) * CFrame.Angles(x, y, 0) * CFrame.new(0, 0, (Camera.CoordinateFrame.p - Camera.Focus.p).magnitude)
  2110. end
  2111.  
  2112. function GetAngles(cf)
  2113. local lv = cf.lookVector
  2114. return -math.asin(lv.y), math.atan2(lv.x, -lv.z)
  2115. end
  2116.  
  2117. local LastCamCF = Camera.CoordinateFrame
  2118.  
  2119. function Look()
  2120. if AlphaOn == true then
  2121. local x, y = GetAngles(LastCamCF:toObjectSpace(Camera.CoordinateFrame))
  2122. Camera.CoordinateFrame = LastCamCF
  2123. RotateCamera(x * -(Alpha), y * -(Alpha))
  2124. LastCamCF = Camera.CoordinateFrame
  2125. end
  2126. end
  2127.  
  2128. function Cor(Func)
  2129. local Ok, Err = coroutine.resume(coroutine.create(Func))
  2130. if not Ok then
  2131. print(Err)
  2132. end
  2133. end
  2134.  
  2135. function Cor2(Func)
  2136. local Ok, Err = ypcall(Func)
  2137. if not Ok then
  2138. print(Err)
  2139. end
  2140. end
  2141.  
  2142. function MakePads()
  2143. -- 1 - VTelekinesis
  2144. P1 = Instance.new("Model")
  2145. P1.Name = ModID
  2146.  
  2147. -- 2 - RBase
  2148. P2 = Instance.new("Part")
  2149. P2.CFrame = CFrame.new(Vector3.new(21.100008, 1.95000589, 11.899971)) * CFrame.Angles(-0, 0, -0)
  2150. P2.FormFactor = Enum.FormFactor.Custom
  2151. P2.Size = Vector3.new(0.799999952, 0.200000003, 0.800000012)
  2152. P2.Anchored = true
  2153. P2.BrickColor = BrickColor.new("White")
  2154. P2.Friction = 0.30000001192093
  2155. P2.Shape = Enum.PartType.Block
  2156. P2.Name = "RBase"
  2157. P2.Parent = P1
  2158. P2.Transparency = 1
  2159.  
  2160. -- 3 - Mesh
  2161. P3 = Instance.new("CylinderMesh")
  2162. P3.Scale = Vector3.new(1, 0.5, 1)
  2163. P3.Parent = P2
  2164.  
  2165. -- 4 - LBase
  2166. P4 = Instance.new("Part")
  2167. P4.CFrame = CFrame.new(Vector3.new(18.100008, 1.95000589, 11.899971)) * CFrame.Angles(-0, 0, -0)
  2168. P4.FormFactor = Enum.FormFactor.Custom
  2169. P4.Size = Vector3.new(0.799999952, 0.200000003, 0.800000012)
  2170. P4.Anchored = true
  2171. P4.BrickColor = BrickColor.new("White")
  2172. P4.Friction = 0.30000001192093
  2173. P4.Shape = Enum.PartType.Block
  2174. P4.Name = "LBase"
  2175. P4.Parent = P1
  2176. P4.Transparency = 1
  2177.  
  2178. -- 5 - Mesh
  2179. P5 = Instance.new("CylinderMesh")
  2180. P5.Scale = Vector3.new(1, 0.5, 1)
  2181. P5.Parent = P4
  2182.  
  2183.  
  2184. -- 6 - RP1
  2185. P6 = Instance.new("Part")
  2186. P6.CFrame = CFrame.new(Vector3.new(20.8999996, 1.8499999, 12.0499992)) * CFrame.Angles(-0, 0, -0)
  2187. P6.FormFactor = Enum.FormFactor.Custom
  2188. P6.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
  2189. P6.Anchored = true
  2190. P6.BrickColor = BrickColor.new("White")
  2191. P6.Friction = 0.30000001192093
  2192. P6.Shape = Enum.PartType.Block
  2193. P6.Name = "RP1"
  2194. P6.Parent = P2
  2195. P6.Transparency = 1
  2196. -- 7 - Mesh
  2197. P7 = Instance.new("CylinderMesh")
  2198. P7.Scale = Vector3.new(1, 0.5, 1)
  2199. P7.Parent = P6
  2200.  
  2201.  
  2202. -- 8 - RP2
  2203. P8 = Instance.new("Part")
  2204. P8.CFrame = CFrame.new(Vector3.new(21.1000004, 1.8499999, 11.6999998)) * CFrame.Angles(-0, 0, -0)
  2205. P8.FormFactor = Enum.FormFactor.Custom
  2206. P8.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
  2207. P8.Anchored = true
  2208. P8.BrickColor = BrickColor.new("White")
  2209. P8.Friction = 0.30000001192093
  2210. P8.Shape = Enum.PartType.Block
  2211. P8.Name = "RP2"
  2212. P8.Parent = P2
  2213. P8.Transparency = 1
  2214.  
  2215. -- 9 - Mesh
  2216. P9 = Instance.new("CylinderMesh")
  2217. P9.Scale = Vector3.new(1, 0.5, 1)
  2218. P9.Parent = P8
  2219.  
  2220. -- 10 - RP3
  2221. P10 = Instance.new("Part")
  2222. P10.CFrame = CFrame.new(Vector3.new(21.3000011, 1.8499999, 12.0499992)) * CFrame.Angles(-0, 0, -0)
  2223. P10.FormFactor = Enum.FormFactor.Custom
  2224. P10.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
  2225. P10.Anchored = true
  2226. P10.BrickColor = BrickColor.new("White")
  2227. P10.Friction = 0.30000001192093
  2228. P10.Shape = Enum.PartType.Block
  2229. P10.Name = "RP3"
  2230. P10.Parent = P2
  2231. P10.Transparency = 1
  2232.  
  2233. -- 11 - Mesh
  2234. P11 = Instance.new("CylinderMesh")
  2235. P11.Scale = Vector3.new(1, 0.5, 1)
  2236. P11.Parent = P10
  2237.  
  2238.  
  2239. -- 12 - LP1
  2240. P12 = Instance.new("Part")
  2241. P12.CFrame = CFrame.new(Vector3.new(17.8999996, 1.8499999, 12.0499992)) * CFrame.Angles(-0, 0, -0)
  2242. P12.FormFactor = Enum.FormFactor.Custom
  2243. P12.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
  2244. P12.Anchored = true
  2245. P12.BrickColor = BrickColor.new("White")
  2246. P12.Friction = 0.30000001192093
  2247. P12.Shape = Enum.PartType.Block
  2248. P12.Name = "LP1"
  2249. P12.Parent = P4
  2250. P12.Transparency = 1
  2251.  
  2252. -- 13 - Mesh
  2253. P13 = Instance.new("CylinderMesh")
  2254. P13.Scale = Vector3.new(1, 0.5, 1)
  2255. P13.Parent = P12
  2256.  
  2257. -- 14 - LP2
  2258. P14 = Instance.new("Part")
  2259. P14.CFrame = CFrame.new(Vector3.new(18.1000004, 1.8499999, 11.6999998)) * CFrame.Angles(-0, 0, -0)
  2260. P14.FormFactor = Enum.FormFactor.Custom
  2261. P14.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
  2262. P14.Anchored = true
  2263. P14.BrickColor = BrickColor.new("White")
  2264. P14.Friction = 0.30000001192093
  2265. P14.Shape = Enum.PartType.Block
  2266. P14.Name = "LP2"
  2267. P14.Parent = P4
  2268. P14.Transparency = 1
  2269.  
  2270. -- 15 - Mesh
  2271. P15 = Instance.new("CylinderMesh")
  2272. P15.Scale = Vector3.new(1, 0.5, 1)
  2273. P15.Parent = P14
  2274.  
  2275.  
  2276. -- 16 - LP3
  2277. P16 = Instance.new("Part")
  2278. P16.CFrame = CFrame.new(Vector3.new(18.3000011, 1.8499999, 12.0499992)) * CFrame.Angles(-0, 0, -0)
  2279. P16.FormFactor = Enum.FormFactor.Custom
  2280. P16.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003)
  2281. P16.Anchored = true
  2282. P16.BrickColor = BrickColor.new("White")
  2283. P16.Friction = 0.30000001192093
  2284. P16.Shape = Enum.PartType.Block
  2285. P16.Name = "LP3"
  2286. P16.Parent = P4
  2287. P16.Transparency = 1
  2288.  
  2289. -- 17 - Mesh
  2290. P17 = Instance.new("CylinderMesh")
  2291. P17.Scale = Vector3.new(1, 0.5, 1)
  2292. P17.Parent = P16
  2293.  
  2294. P1.Parent = LP.Character
  2295. P1:MakeJoints()
  2296. return P1
  2297. end
  2298.  
  2299. weldModel = function(model, unanchor, rooty)
  2300. local parts = {}
  2301. local function recurse(object)
  2302. if object:IsA("BasePart") then
  2303. table.insert(parts, object)
  2304. end
  2305. for _,child in pairs(object:GetChildren()) do
  2306. recurse(child)
  2307. end
  2308. end
  2309. recurse(model)
  2310.  
  2311. local rootPart = rooty or parts[1]
  2312. for _, part in pairs(parts) do
  2313. local cframe = rootPart.CFrame:toObjectSpace(part.CFrame)
  2314. local weld = Instance.new("Weld")
  2315. weld.Part0 = rootPart
  2316. weld.Part1 = part
  2317. weld.C0 = cframe
  2318. weld.Parent = rootPart
  2319. end
  2320.  
  2321. if unanchor then
  2322. for _, part in pairs(parts) do
  2323. part.Anchored = false
  2324. part.CanCollide = false
  2325. end
  2326. end
  2327. end
  2328.  
  2329. weldItem = function(rootPart, Item, TheC0, unanchor, ParentItem)
  2330. local cframe = TheC0 or rootPart.CFrame:toObjectSpace(Item.CFrame)
  2331. local weld = Instance.new("Weld")
  2332. weld.Name = "Weld"
  2333. weld.Part0 = rootPart
  2334. weld.Part1 = Item
  2335. weld.C0 = cframe
  2336. weld.Parent = ParentItem and Item or rootPart
  2337.  
  2338. if unanchor then
  2339. Item.Anchored = false
  2340. end
  2341. return weld, cframe
  2342. end
  2343.  
  2344. scaleModel = function(model, scale)
  2345. local parts = {}
  2346. local function recurse(object)
  2347. if object:IsA("BasePart") then
  2348. table.insert(parts, object)
  2349. end
  2350. for _,child in pairs(object:GetChildren()) do
  2351. recurse(child)
  2352. end
  2353. end
  2354. recurse(model)
  2355.  
  2356. local top, bottom, left, right, back, front
  2357. for _, part in pairs(parts) do
  2358. if top == nil or top < part.Position.y then top = part.Position.y end
  2359. if bottom == nil or bottom > part.Position.y then bottom = part.Position.y end
  2360. if left == nil or left > part.Position.x then left = part.Position.x end
  2361. if right == nil or right < part.Position.x then right = part.Position.x end
  2362. if back == nil or back > part.Position.z then back = part.Position.z end
  2363. if front == nil or front < part.Position.z then front = part.Position.z end
  2364. end
  2365.  
  2366. local middle = Vector3.new( left+right, top+bottom, back+front )/2
  2367. local minSize = Vector3.new(0.2, 0.2, 0.2)
  2368.  
  2369. for _, part in pairs(parts) do
  2370. local foo = part.CFrame.p - middle
  2371. local rotation = part.CFrame - part.CFrame.p
  2372. local newSize = part.Size*scale
  2373. part.FormFactor = "Custom"
  2374. part.Size = newSize
  2375. part.CFrame = CFrame.new( middle + foo*scale ) * rotation
  2376.  
  2377. if newSize.x < minSize.x or newSize.y < minSize.y or newSize.z < minSize.z then
  2378. local mesh
  2379. for _, child in pairs(part:GetChildren()) do
  2380. if child:IsA("DataModelMesh") then
  2381. mesh = child
  2382. break
  2383. end
  2384. end
  2385.  
  2386. if mesh == nil then
  2387. mesh = Instance.new("BlockMesh", part)
  2388. end
  2389.  
  2390. local oScale = mesh.Scale
  2391. local newScale = newSize/minSize * oScale
  2392. if 0.2 < newSize.x then newScale = Vector3.new(1 * oScale.x, newScale.y, newScale.z) end
  2393. if 0.2 < newSize.y then newScale = Vector3.new(newScale.x, 1 * oScale.y, newScale.z) end
  2394. if 0.2 < newSize.z then newScale = Vector3.new(newScale.x, newScale.y, 1 * oScale.z) end
  2395.  
  2396. mesh.Scale = newScale
  2397. end
  2398. end
  2399. end
  2400.  
  2401. function getMass(Obj, Total)
  2402. local newTotal = Total
  2403. local returnTotal = 0
  2404.  
  2405. if Obj:IsA("BasePart") then
  2406. newTotal = newTotal + Objects[Obj]
  2407. elseif BodyObjects[Obj.ClassName] then
  2408. Obj:Destroy()
  2409. end
  2410.  
  2411. if Obj:GetChildren() and #Obj:GetChildren() > 0 then
  2412. for _,v in pairs(Obj:GetChildren()) do
  2413. returnTotal = returnTotal + getMass(v, newTotal)
  2414. end
  2415. else
  2416. returnTotal = newTotal
  2417. end
  2418.  
  2419. return returnTotal
  2420. end
  2421.  
  2422. function getTargFromCurrent()
  2423. local Current = Current.Part
  2424. if Current:IsA("BasePart") then
  2425. return Current
  2426. elseif Current:findFirstChild("Torso") then
  2427. return Current.Torso
  2428. else
  2429. for _,v in pairs(Current:GetChildren()) do
  2430. if v:IsA("BasePart") then
  2431. return v
  2432. end
  2433. end
  2434. end
  2435. end
  2436.  
  2437. function Fire(Part, Vec, Inv)
  2438. pcall(function()
  2439. Current.BP:Destroy()
  2440. Current.BP = nil
  2441. end)
  2442. pcall(function()
  2443. Current.BA:Destroy()
  2444. Current.BA = nil
  2445. end)
  2446. pcall(function()
  2447. if Inv then
  2448. Part.Velocity = -((Vec - Torso.Position).unit * Grav * 1.1)
  2449. else
  2450. Part.Velocity = ((Vec - Camera.CoordinateFrame.p).unit * Grav * 1.1)
  2451. end
  2452. Current.Mass = nil
  2453. end)
  2454. Reset()
  2455. end
  2456.  
  2457. function Reset()
  2458. LS.Parent = nil
  2459. RS.Parent = nil
  2460.  
  2461. OrigLS.Parent = Torso
  2462. OrigRS.Parent = Torso
  2463.  
  2464. OrigLS.C0 = LS0
  2465. OrigRS.C0 = RS0
  2466. end
  2467.  
  2468. function Start()
  2469. Cor(function()
  2470. repeat wait(1/30) until LP.Character and LP.Character.Parent == Workspace and LP.Character:findFirstChild("Torso")
  2471. Char = LP.Character
  2472. PlrGui = LP.PlayerGui
  2473. Backpack = LP.Backpack
  2474. Mouse = LP:GetMouse()
  2475.  
  2476. for _,v in pairs(Cons) do
  2477. v:disconnect()
  2478. end
  2479. Cons = {}
  2480.  
  2481. Camera = Workspace.CurrentCamera
  2482. LastCamCF = Camera.CoordinateFrame
  2483. AnimJoints = {}
  2484. mDown = false
  2485. Multi = false
  2486. Grabbing = false
  2487. Current = {}
  2488. Alpha = 1
  2489.  
  2490. Head = Char["Head"]
  2491. Torso = Char["Torso"]
  2492. Humanoid = Char["Humanoid"]
  2493. LA = Char["Left Arm"]
  2494. RA = Char["Right Arm"]
  2495. LL = Char["Left Leg"]
  2496. RL = Char["Right Leg"]
  2497.  
  2498. OrigLS = Torso["Left Shoulder"]
  2499. OrigRS = Torso["Right Shoulder"]
  2500.  
  2501. for _,v in pairs(Char:GetChildren()) do
  2502. if v.Name == ModID then
  2503. v:Destroy()
  2504. end
  2505. end
  2506.  
  2507. for _,v in pairs(PlrGui:GetChildren()) do
  2508. if v.Name == "PadsGui" then
  2509. v:Destroy()
  2510. end
  2511. end
  2512.  
  2513. LS = Instance.new("Weld")
  2514. RS = Instance.new("Weld")
  2515.  
  2516. LS.Name = OrigLS.Name
  2517. LS.Part0 = Torso
  2518. LS.Part1 = LA
  2519. LS.C0 = LS0
  2520. LS.C1 = CFrame.new(0, 0.5, 0, 1, 0, 0, 0, 0, 1, 0, -1, 0)
  2521.  
  2522. RS.Name = OrigRS.Name
  2523. RS.Part0 = Torso
  2524. RS.Part1 = RA
  2525. RS.C0 = RS0
  2526. RS.C1 = CFrame.new(0, 0.5, 0, 1, 0, 0, 0, 0, 1, 0, -1, 0)
  2527.  
  2528. local Pads = MakePads()
  2529. local LPad = Pads.LBase
  2530. local RPad = Pads.RBase
  2531.  
  2532. weldModel(LPad, true, LPad)
  2533. weldModel(RPad, true, RPad)
  2534.  
  2535. local GripWeldL = Instance.new("Weld")
  2536. GripWeldL.Name = "GripWeldL"
  2537. GripWeldL.Part0 = LA
  2538. GripWeldL.Part1 = LPad
  2539. GripWeldL.C0 = CFrame.new(0, -1.05, 0) * CFrame.Angles(0, math.rad(180), 0)
  2540. GripWeldL.Parent = LA
  2541.  
  2542. local GripWeldR = Instance.new("Weld")
  2543. GripWeldR.Name = "GripWeldR"
  2544. GripWeldR.Part0 = RA
  2545. GripWeldR.Part1 = RPad
  2546. GripWeldR.C0 = CFrame.new(0, -1.05, 0) * CFrame.Angles(0, math.rad(180), 0)
  2547. GripWeldR.Parent = RA
  2548.  
  2549. local isParts = false
  2550.  
  2551. table.insert(Cons, Mouse.KeyDown:connect(function(Key)
  2552. Key = Key:lower()
  2553. if Key == "z" then
  2554. --Stuff
  2555. elseif Key == "f" then
  2556. local Current = Current.Part
  2557. if Current and Current.Parent ~= nil and not Multi then
  2558. Current:BreakJoints()
  2559. end
  2560. elseif Key == "q" then
  2561. if isParts then
  2562. isParts = false
  2563. for _,v in pairs(Workspace:GetChildren()) do
  2564. if v.Name == "MyPartV" and v:IsA("BasePart") then
  2565. v:Destroy()
  2566. end
  2567. end
  2568. else
  2569. isParts = true
  2570. for i = 1, 50 do
  2571. local Part = Instance.new("Part")
  2572. Part.Color = Color3.new(math.random(), math.random(), math.random())
  2573. Part.Transparency = 1
  2574. Part.Size = Vector3.new(math.random(1, 3), math.random(1, 3), math.random(1, 3))
  2575. Part.Archivable = true
  2576. Part.CanCollide = false
  2577. Part.Material = "Plastic"
  2578. Part.Locked = false
  2579. Part.CFrame = Torso.CFrame * CFrame.new(math.random(-15, 15), -1, math.random(-15, 15))
  2580. Part.Anchored = true
  2581. Part.Name = "MyPartV"
  2582. Part.TopSurface = "Smooth"
  2583. Part.BottomSurface = "Smooth"
  2584. Part.Parent = Workspace
  2585. end
  2586. end
  2587. elseif Key == "e" then
  2588. local Targ;
  2589. if Current.Part and Current.Part ~= nil then
  2590. Targ = getTargFromCurrent()
  2591. else
  2592. Targ = LastPart
  2593. end
  2594. if Targ and Targ.Parent ~= nil and not Multi then
  2595. local Ex = Instance.new("Explosion", Workspace)
  2596. Ex.Position = Targ.CFrame.p
  2597. Ex.BlastRadius = 16
  2598. Ex.DestroyJointRadiusPercent = 0.5
  2599. end
  2600. elseif Key == "c" then
  2601. if Current.Part and Current.Part.Parent ~= nil and not Multi then
  2602. local Part = getTargFromCurrent()
  2603. if Part then
  2604. Grabbing = false
  2605. if Mouse.Hit then
  2606. local TargPos = CFrame.new(Camera.CoordinateFrame.p, Mouse.Hit.p) * CFrame.new(0, 0, -1000)
  2607. Fire(Part, TargPos.p)
  2608. else
  2609. Fire(Part, Mouse.Origin.p + Mouse.UnitRay.Direction, true)
  2610. end
  2611. end
  2612. end
  2613. end
  2614. end))
  2615.  
  2616. table.insert(Cons, Mouse.Button1Up:connect(function()
  2617. mDown = false
  2618. if Grabbing == true and Multi == false then
  2619. Grabbing = false
  2620. Reset()
  2621. end
  2622. if Current.Part ~= nil then
  2623. LastPart = getTargFromCurrent()
  2624. Current = {}
  2625. end
  2626. end))
  2627.  
  2628. local function makeLightning(Par, Start, End, Width, Length, RandomScale, ArcScale, Num1)
  2629. local oldParts = {}
  2630. for _,v in pairs(Par:GetChildren()) do
  2631. v.CFrame = CFrame.new(5e5, 5e5, 5e5)
  2632. table.insert(oldParts, v)
  2633. end
  2634. local Distance = (Start-End).Magnitude
  2635. local ArcScale = ArcScale or 1
  2636. local RandomScale = RandomScale or 0
  2637. local Last = Start
  2638. local IterNum = 0
  2639.  
  2640. while Par.Parent do
  2641. IterNum = IterNum + 1
  2642. local New = nil
  2643. if (Last-End).Magnitude < Length then
  2644. New = CFrame.new(End)
  2645. else
  2646. if (End-Last).Magnitude < Length*2 then
  2647. RandomScale = RandomScale*0.5
  2648. ArcScale = ArcScale*0.5
  2649. end
  2650. local Direct = CFrame.new(Last,End)
  2651. New = Direct*CFrame.Angles(math.rad(math.random(-RandomScale/4,RandomScale*ArcScale)),math.rad(math.random(-RandomScale,RandomScale)),math.rad(math.random(-RandomScale,RandomScale)))
  2652. New = New*CFrame.new(0,0,-Length)
  2653. end
  2654. local Trail = nil
  2655. if oldParts[IterNum] then
  2656. Trail = oldParts[IterNum]
  2657. Trail.BrickColor = ((Num1 % 2 == 0) and BrickColor.new("White")) or BrickColor.new("White")
  2658. Trail.Size = Vector3.new(Width, (Last-New.p).Magnitude, Width)
  2659. Trail.CFrame = CFrame.new(New.p, Last)*CFrame.Angles(math.rad(90),0,0)*CFrame.new(0, -(Last-New.p).Magnitude/2, 0)
  2660. oldParts[IterNum] = nil
  2661. else
  2662. Trail = Instance.new("Part")
  2663. Trail.Name = "Part"
  2664. Trail.FormFactor = "Custom"
  2665. Trail.BrickColor = ((Num1 % 2 == 0) and BrickColor.new("White")) or BrickColor.new("White")
  2666. Trail.Transparency = 1
  2667. Trail.Anchored = true
  2668. Trail.CanCollide = false
  2669. Trail.Locked = true
  2670. Trail.BackSurface = "SmoothNoOutlines"
  2671. Trail.BottomSurface = "SmoothNoOutlines"
  2672. Trail.FrontSurface = "SmoothNoOutlines"
  2673. Trail.LeftSurface = "SmoothNoOutlines"
  2674. Trail.RightSurface = "SmoothNoOutlines"
  2675. Trail.TopSurface = "SmoothNoOutlines"
  2676. Trail.Material = "Neon"
  2677. Trail.Size = Vector3.new(Width, (Last-New.p).Magnitude, Width)
  2678. Trail.CFrame = CFrame.new(New.p, Last)*CFrame.Angles(math.rad(90),0,0)*CFrame.new(0, -(Last-New.p).Magnitude/2, 0)
  2679. Trail.Parent = Par
  2680. end
  2681. Last = New.p
  2682. if (Last-End).Magnitude < 1 then
  2683. break
  2684. end
  2685. end
  2686. for _,v in pairs(oldParts) do
  2687. v:Destroy()
  2688. end
  2689. end
  2690.  
  2691. table.insert(Cons, Mouse.Button1Down:connect(function()
  2692. mDown = true
  2693. local Targ = Mouse.Target
  2694. Cor(function()
  2695. if Targ and Objects[Targ] and not Multi then
  2696. Grabbing = true
  2697. Current.Part = Targ
  2698. local Mass = Objects[Targ]
  2699. local ForceNum = 0
  2700. local Hum = nil
  2701.  
  2702. for _,v in pairs(Targ:GetChildren()) do
  2703. if BodyObjects[v.ClassName] then
  2704. v:Destroy()
  2705. end
  2706. end
  2707.  
  2708. for _,v in pairs(Workspace:GetChildren()) do
  2709. if v:findFirstChild("Humanoid") and v:IsAncestorOf(Targ) then
  2710. Hum = v.Humanoid
  2711. Mass = getMass(v, 0)
  2712. Current.Part = v
  2713. break
  2714. end
  2715. end
  2716.  
  2717. Current.Mass = Mass
  2718.  
  2719. if not Hum then
  2720. Targ:BreakJoints()
  2721. end
  2722.  
  2723. ForceNum = Mass * Grav
  2724. Targ.CanCollide = true
  2725. Targ.Anchored = false
  2726.  
  2727. local BP = Instance.new("BodyPosition")
  2728. BP.maxForce = Vector3.new(3 * ForceNum, 3 * ForceNum, 3 * ForceNum)
  2729. BP.Parent = Targ
  2730.  
  2731. local Ang = Instance.new("BodyAngularVelocity")
  2732. Ang.Parent = Targ
  2733.  
  2734. Current.BP = BP
  2735. Current.BA = Ang
  2736.  
  2737. OrigLS.Parent = nil
  2738. OrigRS.Parent = nil
  2739.  
  2740. LS.Parent = Torso
  2741. RS.Parent = Torso
  2742.  
  2743. LS.C0 = LS0
  2744. RS.C0 = RS0
  2745.  
  2746. local DirDot = Mouse.UnitRay.Direction:Dot(Targ.Position - Mouse.Origin.p)
  2747. local BPPos = Vector3.new(0, 0, 0)
  2748. local Vel = Vector3.new(0, 0, 0)
  2749. local Vlev = random() * math.pi
  2750. local RPos = Vector3.new(random() * 2 - 1, cos(Vlev), random() * 2 - 1)
  2751.  
  2752. local Ball = Instance.new("Part")
  2753. Ball.Name = "Ball"
  2754. Ball.FormFactor = "Custom"
  2755. Ball.Color = Color3.new(0, 0, 0)
  2756. Ball.Transparency = 1
  2757. Ball.Anchored = true
  2758. Ball.CanCollide = false
  2759. Ball.Locked = true
  2760. Ball.BottomSurface, Ball.TopSurface = "Smooth", "Smooth"
  2761. Ball.Size = Vector3.new(0.5, 0.5, 0.5)
  2762. Ball.CFrame = Torso.CFrame * CFrame.new(0, 1, -3)
  2763. Ball.Parent = Char
  2764.  
  2765. if Targ.Name == "MyPartV" then
  2766. Targ.Name = "MyPartF"
  2767. end
  2768.  
  2769. local LightMod = Instance.new("Model", Char)
  2770.  
  2771. local Mesh = Instance.new("SpecialMesh")
  2772. Mesh.MeshType = "Sphere"
  2773. Mesh.Parent = Ball
  2774.  
  2775. local Size = 1
  2776. local Rise = true
  2777.  
  2778. while Grabbing and BP and Ang and Targ.Parent ~= nil do
  2779. local BPPos = Mouse.Origin.p + Mouse.UnitRay.Direction * DirDot
  2780. Ang.angularvelocity = Vel
  2781. BP.position = BPPos + RPos
  2782. RPos = Vector3.new(max(-1, min(RPos.x + random() * 0.02 - 0.01, 1)), cos(Vlev), max(-1, min(RPos.z + random() * 0.02 - 0.01, 1)))
  2783. Vel = Vector3.new(max(-1, min(Vel.x + random() * 0.2 - 0.1, 1)), max(-1, min(Vel.y + random() * 0.2 - 0.1, 1)), max(-1, min(Vel.z + random() * 0.2 - 0.1, 1)))
  2784. Vlev = (Vlev + 0.05) % tau
  2785.  
  2786. if Hum then
  2787. Hum.Sit = true
  2788. end
  2789.  
  2790. if LA.Parent ~= nil and RA.Parent ~= nil then
  2791. local LPos = (LA.CFrame * CFrame.new(0, -1, 0)).p
  2792. local RPos = (RA.CFrame * CFrame.new(0, -1, 0)).p
  2793. if Rise == true then
  2794. if Size < 0.6 then
  2795. Size = Size + 0.05
  2796. else
  2797. Size = Size + 0.1
  2798. end
  2799. if Size >= 2.2 then
  2800. Rise = false
  2801. end
  2802. else
  2803. if Size > 2.1 then
  2804. Size = Size - 0.05
  2805. else
  2806. Size = Size - 0.1
  2807. end
  2808. if Size <= 0.5 then
  2809. Rise = true
  2810. end
  2811. end
  2812. Ball.Size = Vector3.new(Size, Size, Size)
  2813. Ball.CFrame = CFrame.new(LPos:Lerp(RPos, 0.5), Targ.Position) * CFrame.new(0, 0, -2.2)
  2814. LightNum = LightNum + 1
  2815. makeLightning(LightMod, Ball.Position, Targ.Position, 0.2, 4, 50, 1, LightNum)
  2816. elseif Ball.Parent ~= nil then
  2817. Ball:Destroy()
  2818. end
  2819.  
  2820. if LS and LS.Parent == Torso then
  2821. LS.C0 = CFrame.new(Vector3.new(-1.5, 0.5, 0), Torso.CFrame:pointToObjectSpace((Targ.CFrame or Torso.CFrame * CFrame.new(-1.5, 0.5, 1)).p))
  2822. end
  2823. if RS and RS.Parent == Torso then
  2824. RS.C0 = CFrame.new(Vector3.new(1.5, 0.5, 0), Torso.CFrame:pointToObjectSpace((Targ.CFrame or Torso.CFrame * CFrame.new(1.5, 0.5, 1)).p))
  2825. end
  2826. RunService.Heartbeat:wait()
  2827. end
  2828.  
  2829. coroutine.resume(coroutine.create(function()
  2830. for i = 0.5, 1, 0.1 do
  2831. for i2,v in pairs(LightMod:GetChildren()) do
  2832. --v.Light.Range = 6-(i*5)
  2833. v.Transparency = 1
  2834. end
  2835. wait(1/30)
  2836. end
  2837. LightMod:Destroy()
  2838. end))
  2839.  
  2840. if BP and BP.Parent ~= nil then
  2841. BP:Destroy()
  2842. end
  2843.  
  2844. if Ang and Ang.Parent ~= nil then
  2845. Ang:Destroy()
  2846. end
  2847.  
  2848. pcall(function() Ball:Destroy() end)
  2849. end
  2850. end)
  2851. end))
  2852. end)
  2853. end
  2854.  
  2855. function Add(Obj)
  2856. if Obj:IsA("BasePart") and not Objects[Obj] and not (Obj.Name == "Base" and Obj.ClassName == "Part") then
  2857. Objects[Obj] = Obj:GetMass()
  2858. Obj.Changed:connect(function(P)
  2859. if P:lower() == "size" and Objects[Obj] and Obj.Parent ~= nil then
  2860. Objects[Obj] = Obj:GetMass()
  2861. end
  2862. end)
  2863. end
  2864. end
  2865.  
  2866. function Rem(Obj)
  2867. if Objects[Obj] then
  2868. Objects[Obj] = nil
  2869. end
  2870. end
  2871.  
  2872. function Recursion(Obj)
  2873. ypcall(function()
  2874. Add(Obj)
  2875. if #Obj:GetChildren() > 0 then
  2876. for _,v in pairs(Obj:GetChildren()) do
  2877. Recursion(v)
  2878. end
  2879. end
  2880. end)
  2881. end
  2882.  
  2883. Workspace.DescendantAdded:connect(function(Obj)
  2884. Add(Obj)
  2885. end)
  2886.  
  2887. Workspace.DescendantRemoving:connect(function(Obj)
  2888. Rem(Obj)
  2889. end)
  2890.  
  2891. for _,v in pairs(Workspace:GetChildren()) do
  2892. Recursion(v)
  2893. end
  2894.  
  2895. Start()
  2896.  
  2897. if LP.Name == PlrName then
  2898. LP.CharacterAdded:connect(Start)
  2899. end
  2900. Char.Humanoid.MaxHealth = 50000
  2901. Char.Humanoid.Health = 50000
  2902. --Responsible for regening a player's humanoid's health
  2903.  
  2904. -- declarations
  2905. local Figure = script.Parent
  2906. local Head = Figure:WaitForChild("Head")
  2907. local Humanoid = Figure:WaitForChild("Humanoid")
  2908. local regening = false
  2909.  
  2910. -- regeneration
  2911. function regenHealth()
  2912. if regening then return end
  2913. regening = true
  2914.  
  2915. while Humanoid.Health < Humanoid.MaxHealth do
  2916. local s = wait(0.1)
  2917. local health = Humanoid.Health
  2918. if health > 0 and health < Humanoid.MaxHealth then
  2919. local newHealthDelta = 0.1 * s * Humanoid.MaxHealth
  2920. health = health + newHealthDelta
  2921. Humanoid.Health = math.min(health,Humanoid.MaxHealth)
  2922. end
  2923. end
  2924.  
  2925. if Humanoid.Health > Humanoid.MaxHealth then
  2926. Humanoid.Health = Humanoid.MaxHealth
  2927. end
  2928.  
  2929. regening = false
  2930. end
  2931.  
  2932. Humanoid.HealthChanged:connect(regenHealth)
  2933. Me = game.Players.LocalPlayer
  2934. char = Me.Character
  2935. larm = char["Left Arm"]
  2936. rarm = char["Right Arm"]
  2937. lleg = char["Left Leg"]
  2938. rleg = char["Right Leg"]
  2939. torso = char.Torso
  2940.  
  2941.  
  2942.  
  2943. --------------------------
  2944.  
  2945. --[[ High Quality Sound Script
  2946. --Immune to g/c g/nol/all g/nos/all, and sound doesn't lag --You can also paste your script there and put this in the end.
  2947. --- full credits to saud20 --Also, edit friendly so you can place this in your script for a weapon song or somethin
  2948. ]]
  2949. Effects = {} --sound effects, for advanced players.
  2950. local Player = game.Players.localPlayer
  2951. local Character = Player.Character
  2952. local Humanoid = Character.Humanoid
  2953. z = Instance.new("Sound", Character)
  2954. z.SoundId = "rbxassetid://152201694"--
  2955. z.Looped = true --False for a one-time song.
  2956. z.Pitch = 1.3
  2957. z.Volume = 1.3
  2958. wait(.1)
  2959. z:Play()
  2960. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement