Advertisement
Guest User

Untitled

a guest
Sep 19th, 2019
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 37.29 KB | None | 0 0
  1. local wt = 0.05
  2. local s = script
  3. local it = Instance.new
  4. local v3 = Vector3.new
  5. local c3 = Color3.new
  6. local ud = UDim2.new
  7. local cf = CFrame.new
  8. local ca = CFrame.Angles
  9. local pi = math.pi
  10. local rd = math.rad
  11. local bc = BrickColor.new
  12. local ab = math.abs
  13. local de = math.deg
  14. local ts = tostring
  15. local tn = tonumber
  16. local ti = table.insert
  17. local tr = table.remove
  18. local cr = coroutine.resume
  19. local cc = coroutine.create
  20. local asset = "http://www.roblox.com/asset/?id="
  21. -- STRING VARIABLES
  22. local sl = string.lower
  23. local su = string.upper
  24.  
  25. local Serv = {} -- SERVICES
  26. Serv.p = game:GetService("Players")
  27. Serv.l = game:GetService("Lighting")
  28. Serv.is = game:GetService("InsertService")
  29. Serv.sg = game:GetService("StarterGui")
  30. Serv.sp = game:GetService("StarterPack")
  31. Serv.d = game:GetService("Debris")
  32.  
  33. Decs = {} -- DECALS
  34. Decs.Crack = "49173398"
  35. Decs.Cloud = "1095708"
  36. Decs.Spike = "1033714"
  37. Decs.Rock = "1290033"
  38. Decs.Crown = "1323306"
  39.  
  40. local function ft(tablez,item) -- Searches for item in table.
  41. if not tablez or not item then return nil end
  42.  
  43. for _,v in ipairs(tablez) do
  44. if v == item then
  45. return v
  46. end
  47. end
  48. return nil
  49. end
  50.  
  51. local function re(par,obj) -- Removes Object
  52. if type(par) ~= "userdata" or type(obj) ~= "string" then return nil end
  53.  
  54. if par:findFirstChild(obj) then
  55. par[obj]:Destroy()
  56. end
  57. end
  58.  
  59. local function pa(pa,sh,x,y,z,c,a,tr,re,bc2)
  60. local fp
  61. if sh ~= "Wedge" and sh ~= "CornerWedge" then
  62. fp = it("Part")
  63. fp.Shape = sh
  64. fp.formFactor = "Custom"
  65. elseif sh == "Wedge" then
  66. fp = it("WedgePart")
  67. fp.formFactor = "Custom"
  68. elseif sh == "CornerWedge" then
  69. fp = it("CornerWedgePart")
  70. end
  71. fp.Size = v3(x,y,z)
  72. fp.CanCollide = c
  73. fp.Anchored = false
  74. fp.BrickColor = bc(bc2)
  75. fp.Transparency = tr
  76. fp.Reflectance = re
  77. fp.BottomSurface = 0
  78. fp.TopSurface = 0
  79. fp.CFrame = t.CFrame + Vector3.new(0,50,0)
  80. fp.Velocity = Vector3.new(0,10,0)
  81. fp:BreakJoints()
  82. fp.Parent = pa
  83. return fp
  84. end
  85.  
  86. local function clearit(tab) -- Clears Tables
  87. for _,v in ipairs(tab) do
  88. v:Destroy()
  89. end
  90. end
  91.  
  92. local function weld(pa,p0,p1,x,y,z,a,b,c) -- Creates Weld
  93. local fw = it("ManualWeld")
  94. fw.Part0 = p0
  95. fw.Part1 = p1
  96. fw.C0 = cf(x,y,z) *ca(a,b,c)
  97. fw.Parent = pa
  98.  
  99. return fw
  100. end
  101.  
  102. local function spm(ty,pa,ss) -- Creates Special Mesh
  103. local sp = it("SpecialMesh")
  104. sp.MeshType = ty
  105. sp.Scale = Vector3.new(ss,ss,ss)
  106. sp.Parent = pa
  107. end
  108.  
  109. local function mbm(pa,sx,sy,sz) -- Creates Block Mesh
  110. local bm = Instance.new("BlockMesh")
  111. bm.Scale = Vector3.new(sx,sy,sz)
  112. bm.Parent = pa
  113. end
  114.  
  115. local function ra(mn,mx,dc) -- Produce Random
  116. local tms = 1
  117. if dc == nil then
  118. dc = 0
  119. end
  120. if type(dc) == "number" and dc > 5 then
  121. dc = 5
  122. end
  123. for zx=1,dc do
  124. tms = tms*10
  125. end
  126. return math.random(mn*tms,mx*tms)/tms
  127. end
  128.  
  129. local p = game:GetService('Players').LocalPlayer
  130. local bp = p:WaitForChild("Backpack")
  131. local pg = p:WaitForChild("PlayerGui")
  132. local c = p.Character or p.CharacterAdded:Wait()
  133. local he = c:WaitForChild("Head")
  134. t = c:WaitForChild("Torso")
  135. local hu = c:WaitForChild("Humanoid")
  136. local mou = p:GetMouse()
  137.  
  138. re(c,"Hand") -- Removes 'hand' tool from character
  139. re(bp,"Hand") -- Removes 'hand' tool from backpack
  140.  
  141. local s = 2
  142.  
  143. --tool var
  144. local Equip = false
  145. local HTrans = 0
  146. local HRef = 0
  147. local HCol = "a"
  148. local LaserCol = "New Yeller"
  149. local LaserCol2 = "Really red"
  150. local LaserCol3 = "Alder"
  151. local Posing = "Follow"
  152. local Facing = "Owner"
  153. local Anim = {} Anim.a = "None"; Anim.b = "None"; Anim.Welding = 0;
  154. local fingwide = 1.5*s
  155. local finghei = 2.8
  156. local tiphei = 2.55
  157. local handoffset = v3(5,18,-8)*s
  158. local bgx,bgy,bgz = -90,0,0
  159. local w = {}
  160. local Button = false
  161.  
  162. -- END OF VARIABLES --
  163. BlastMesh = it("FileMesh")
  164. BlastMesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
  165. RingMesh = it("FileMesh")
  166. RingMesh.MeshId = "http://www.roblox.com/asset/?id=3270017"
  167. RockMesh = it("FileMesh")
  168. DiamondMesh = it("FileMesh")
  169. DiamondMesh.MeshId = "http://www.roblox.com/Asset/?id=9756362"
  170. m = Instance.new("Model",c) m.Name = "Hand"
  171. Palm = pa(m,"Block",6*s,7*s,fingwide*2,true,false,HTrans,HRef,HCol) mbm(Palm,1,1,0.6)
  172. local x,y,z = Palm.Size.x,Palm.Size.y,Palm.Size.z
  173. bPoint1 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
  174. Point1 = weld(bPoint1,Palm,bPoint1,-x/2+(fingwide/2),y/2,0,0,0,0)
  175. pPoint1 = pa(m,"Block",fingwide,finghei*s,fingwide,true,false,HTrans,HRef,HCol) mbm(pPoint1,0.9,1,0.9)
  176. wPoint1 = weld(pPoint1,bPoint1,pPoint1,0,pPoint1.Size.y/2,0,0,0,0)
  177. bPoint2 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
  178. Point2 = weld(bPoint2,pPoint1,bPoint2,0,pPoint1.Size.y/2,0,0,0,0)
  179. pPoint2 = pa(m,"Block",fingwide,finghei*s,fingwide,true,false,HTrans,HRef,HCol) mbm(pPoint2,0.9,1,0.9)
  180. wPoint2 = weld(pPoint2,bPoint2,pPoint2,0,pPoint1.Size.y/2,0,0,0,0)
  181. bPoint3 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
  182. Point3 = weld(bPoint3,pPoint2,bPoint3,0,pPoint2.Size.y/2,0,0,0,0)
  183. pPoint3 = pa(m,"Block",fingwide,tiphei*s,fingwide,true,false,HTrans,HRef,HCol) mbm(pPoint3,0.9,1,0.9)
  184. wPoint3 = weld(pPoint3,bPoint3,pPoint3,0,pPoint3.Size.y/2,0,0,0,0)
  185. bMid1 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
  186. Mid1 = weld(bMid1,Palm,bMid1,-x/2+((fingwide/2)+((fingwide)*1)),y/2,0,0,0,0)
  187. pMid1 = pa(m,"Block",fingwide,(finghei*1.1)*s,fingwide,true,false,HTrans,HRef,HCol) mbm(pMid1,0.9,1,0.9)
  188. wMid1 = weld(pMid1,bMid1,pMid1,0,pMid1.Size.y/2,0,0,0,0)
  189. bMid2 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
  190. Mid2 = weld(bMid2,pMid1,bMid2,0,pMid1.Size.y/2,0,0,0,0)
  191. pMid2 = pa(m,"Block",fingwide,(finghei*1.1)*s,fingwide,true,false,HTrans,HRef,HCol) mbm(pMid2,0.9,1,0.9)
  192. wMid2 = weld(pMid2,bMid2,pMid2,0,pMid1.Size.y/2,0,0,0,0)
  193. bMid3 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
  194. Mid3 = weld(bMid3,pMid2,bMid3,0,pMid2.Size.y/2,0,0,0,0)
  195. pMid3 = pa(m,"Block",fingwide,(tiphei*1.1)*s,fingwide,true,false,HTrans,HRef,HCol) mbm(pMid3,0.9,1,0.9)
  196. wMid3 = weld(pMid3,bMid3,pMid3,0,pMid3.Size.y/2,0,0,0,0)
  197. bRing1 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
  198. Ring1 = weld(bRing1,Palm,bRing1,-x/2+((fingwide/2)+((fingwide)*2)),y/2,0,0,0,0)
  199. pRing1 = pa(m,"Block",fingwide,(finghei*0.98)*s,fingwide,true,false,HTrans,HRef,HCol) mbm(pRing1,0.9,1,0.9)
  200. wRing1 = weld(pRing1,bRing1,pRing1,0,pRing1.Size.y/2,0,0,0,0)
  201. bRing2 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
  202. Ring2 = weld(bRing2,pRing1,bRing2,0,pRing1.Size.y/2,0,0,0,0)
  203. pRing2 = pa(m,"Block",fingwide,(finghei*0.98)*s,fingwide,true,false,HTrans,HRef,HCol) mbm(pRing2,0.9,1,0.9)
  204. wRing2 = weld(pRing2,bRing2,pRing2,0,pRing1.Size.y/2,0,0,0,0)
  205. bRing3 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
  206. Ring3 = weld(bRing3,pRing2,bRing3,0,pRing2.Size.y/2,0,0,0,0)
  207. pRing3 = pa(m,"Block",fingwide,(tiphei*0.98)*s,fingwide,true,false,HTrans,HRef,HCol) mbm(pRing3,0.9,1,0.9)
  208. wRing3 = weld(pRing3,bRing3,pRing3,0,pRing3.Size.y/2,0,0,0,0)
  209. bPinkie1 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
  210. Pinkie1 = weld(bPinkie1,Palm,bPinkie1,-x/2+((fingwide/2)+((fingwide)*3)),y/2,0,0,0,0)
  211. pPinkie1 = pa(m,"Block",fingwide,(finghei*0.8)*s,fingwide,true,false,HTrans,HRef,HCol) mbm(pPinkie1,0.9,1,0.9)
  212. wPinkie1 = weld(pPinkie1,bPinkie1,pPinkie1,0,pPinkie1.Size.y/2,0,0,0,0)
  213. bPinkie2 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
  214. Pinkie2 = weld(bPinkie2,pPinkie1,bPinkie2,0,pPinkie1.Size.y/2,0,0,0,0)
  215. pPinkie2 = pa(m,"Block",fingwide,(finghei*0.8)*s,fingwide,true,false,HTrans,HRef,HCol) mbm(pPinkie2,0.9,1,0.9)
  216. wPinkie2 = weld(pPinkie2,bPinkie2,pPinkie2,0,pPinkie1.Size.y/2,0,0,0,0)
  217. bPinkie3 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
  218. Pinkie3 = weld(bPinkie3,pPinkie2,bPinkie3,0,pPinkie2.Size.y/2,0,0,0,0)
  219. pPinkie3 = pa(m,"Block",fingwide,(tiphei*0.8)*s,fingwide,true,false,HTrans,HRef,HCol) mbm(pPinkie3,0.9,1,0.9)
  220. wPinkie3 = weld(pPinkie3,bPinkie3,pPinkie3,0,pPinkie3.Size.y/2,0,0,0,0)
  221. bThumb1 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
  222. Thumb1 = weld(bThumb1,Palm,bThumb1,-x/2+(fingwide/7),-y*0.1,-fingwide*0.25,0,0,0)
  223. 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)
  224. wThumb1 = weld(pThumb1,bThumb1,pThumb1,0,pThumb1.Size.y/2,0,0,0,0)
  225. bThumb2 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
  226. Thumb2 = weld(bThumb2,pThumb1,bThumb2,0,pThumb1.Size.y/2,0,0,0,0)
  227. 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)
  228. wThumb2 = weld(pThumb2,bThumb2,pThumb2,0,pThumb1.Size.y/2,0,0,0,0)
  229. bThumb3 = pa(m,"Block",0,0,0,false,false,HTrans,HRef,HCol)
  230. Thumb3 = weld(bThumb3,pThumb2,bThumb3,0,pThumb2.Size.y/2,0,0,0,0)
  231. 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)
  232. wThumb3 = weld(pThumb3,bThumb3,pThumb3,0,pThumb3.Size.y/2,0,0,0,0)
  233. w["a1"] = Pinkie1
  234. w["a2"] = Pinkie2
  235. w["a3"] = Pinkie3
  236. w["b1"] = Ring1
  237. w["b2"] = Ring2
  238. w["b3"] = Ring3
  239. w["c1"] = Mid1
  240. w["c2"] = Mid2
  241. w["c3"] = Mid3
  242. w["d1"] = Point1
  243. w["d2"] = Point2
  244. w["d3"] = Point3
  245. w["e1"] = Thumb1
  246. w["e2"] = Thumb2
  247. w["e3"] = Thumb3
  248. w.e1.C1 = ca(0,rd(35),rd(-20))
  249. w.e2.C1 = ca(rd(20),0,0)
  250. w.e3.C1 = ca(rd(20),0,0)
  251. w.d1.C1 = ca(0,0,rd(-3))
  252. w.c1.C1 = ca(0,0,rd(-1))
  253. w.b1.C1 = ca(0,0,rd(1))
  254. w.a1.C1 = ca(0,0,rd(3))
  255.  
  256. -- FUNCTIONS --
  257.  
  258. local function c1(wexx,smmx,xx,yy,zz)
  259. coroutine.resume(coroutine.create(function()
  260. local xx2,yy2,zz2 = wexx.C1:toEulerAnglesXYZ()
  261. local aa,bb,cc = wexx.C0.x,wexx.C0.y,wexx.C0.z
  262. local twa = smmx/wt
  263. Anim.Welding = Anim.Welding + 1
  264. for i=0,twa,1 do wexx.C0 = cf(aa,bb,cc)
  265. wexx.C1 = ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i))
  266. wait()
  267. end
  268. Anim.Welding = Anim.Welding - 1
  269. end))
  270. end
  271. 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
  272. 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
  273. function HandSign(form,spee) form = form:lower() if spee == nil then spee = 1 end
  274. if form == "f" then
  275. CloseFing("d",spee) CloseFing("a",spee) CloseFing("b",spee)
  276. c1(w["c1"],spee,0,0,0) c1(w["c2"],spee,0,0,0) c1(w["c3"],spee,0,0,0)
  277. c1(w["e1"],spee,70,40,-90) c1(w["e2"],spee,50,0,0) c1(w["e3"],spee,50,0,0)
  278. elseif form == "fist" then
  279. CloseFing("d",spee) CloseFing("a",spee) CloseFing("b",spee) CloseFing("c",spee)
  280. c1(w["e1"],spee,70,40,-90) c1(w["e2"],spee,50,0,0) c1(w["e3"],spee,50,0,0)
  281. elseif form == "pointer" then
  282. CloseFing("a",spee) CloseFing("b",spee) CloseFing("c",spee)
  283. c1(w["d1"],spee,5,0,0) c1(w["d2"],spee,5,0,0) c1(w["d3"],spee,5,0,0)
  284. c1(w["e1"],spee,70,40,-90) c1(w["e2"],spee,50,0,0) c1(w["e3"],spee,50,0,0)
  285. elseif form == "v" then
  286. CloseFing("a",spee) CloseFing("b",spee)
  287. c1(w["c1"],spee,1,0,15) c1(w["c2"],spee,1,0,0) c1(w["c3"],spee,1,0,0)
  288. c1(w["d1"],spee,1,0,-15) c1(w["d2"],spee,1,0,0) c1(w["d3"],spee,1,0,0)
  289. c1(w["e1"],spee,70,40,-90) c1(w["e2"],spee,50,0,0) c1(w["e3"],spee,50,0,0)
  290. elseif form == "free" or form == "five" then
  291. OpenFing("a",spee) OpenFing("b",spee) OpenFing("c",spee) OpenFing("d",spee)
  292. c1(w["e1"],spee,0,35,-20) c1(w["e2"],spee,20,0,0) c1(w["e3"],spee,20,0,0)
  293. elseif form == "ride" then
  294. c1(w["a1"],spee,60,0,0) c1(w["a2"],spee,-30,0,0) c1(w["a3"],spee,-30,0,0)
  295. c1(w["b1"],spee,30,0,0) c1(w["b2"],spee,65,0,0) c1(w["b3"],spee,60,0,0)
  296. c1(w["c1"],spee,30,0,0) c1(w["c2"],spee,65,0,0) c1(w["c3"],spee,60,0,0)
  297. c1(w["d1"],spee,30,0,0) c1(w["d2"],spee,65,0,0) c1(w["d3"],spee,60,0,0)
  298. c1(w["e1"],spee,-70,185,0) c1(w["e2"],spee,30,0,0) c1(w["e3"],spee,30,0,0)
  299. elseif form == "gun" then
  300. CloseFing("a",spee) CloseFing("b",spee)
  301. c1(w["c1"],spee,0,0,1) c1(w["c2"],spee,0,0,0) c1(w["c3"],spee,0,0,0)
  302. c1(w["d1"],spee,0,0,-1) c1(w["d2"],spee,0,0,0) c1(w["d3"],spee,0,0,0)
  303. c1(w["e1"],spee,-60,90,0) c1(w["e2"],spee,20,0,0) c1(w["e3"],spee,-20,0,0)
  304. elseif form == "wide" then
  305. c1(w["a1"],spee,-3,0,45) c1(w["a2"],spee,-3,0,0) c1(w["a3"],spee,-3,0,0)
  306. c1(w["b1"],spee,-3,0,15) c1(w["b2"],spee,-3,0,0) c1(w["b3"],spee,-3,0,0)
  307. c1(w["c1"],spee,-3,0,-15) c1(w["c2"],spee,-3,0,0) c1(w["c3"],spee,-3,0,0)
  308. c1(w["d1"],spee,-3,0,-45) c1(w["d2"],spee,-3,0,0) c1(w["d3"],spee,-3,0,0)
  309. c1(w["e1"],spee,-70,90,0) c1(w["e2"],spee,10,0,0) c1(w["e3"],spee,-10,0,0)
  310. elseif form == "wide2" then
  311. c1(w["a1"],spee,-18,0,45) c1(w["a2"],spee,36,0,0) c1(w["a3"],spee,30,0,0)
  312. c1(w["b1"],spee,-18,0,15) c1(w["b2"],spee,36,0,0) c1(w["b3"],spee,30,0,0)
  313. c1(w["c1"],spee,-18,0,-15) c1(w["c2"],spee,36,0,0) c1(w["c3"],spee,30,0,0)
  314. c1(w["d1"],spee,-18,0,-45) c1(w["d2"],spee,36,0,0) c1(w["d3"],spee,30,0,0)
  315. c1(w["e1"],spee,-50,90,-10) c1(w["e2"],spee,5,0,-30) c1(w["e3"],spee,-10,0,-40)
  316. elseif form == "grab2" then
  317. c1(w["a1"],spee,-70,-65,0) c1(w["a2"],spee,40,0,0) c1(w["a3"],spee,20,0,0)
  318. c1(w["b1"],spee,-70,-20,0) c1(w["b2"],spee,40,0,0) c1(w["b3"],spee,20,0,0)
  319. c1(w["c1"],spee,-70,20,-0) c1(w["c2"],spee,40,0,0) c1(w["c3"],spee,20,0,0)
  320. c1(w["d1"],spee,-70,65,-0) c1(w["d2"],spee,40,0,0) c1(w["d3"],spee,20,0,0)
  321. c1(w["e1"],spee,-70,150,0) c1(w["e2"],spee,30,0,0) c1(w["e3"],spee,30,0,0)
  322. elseif form == "grab3" then
  323. c1(w["a1"],spee,-30,-40,30) c1(w["a2"],spee,50,0,0) c1(w["a3"],spee,35,0,0)
  324. c1(w["b1"],spee,-30,-15,12) c1(w["b2"],spee,50,0,0) c1(w["b3"],spee,35,0,0)
  325. c1(w["c1"],spee,-30,15,-12) c1(w["c2"],spee,50,0,0) c1(w["c3"],spee,35,0,0)
  326. c1(w["d1"],spee,-30,40,-30) c1(w["d2"],spee,50,0,0) c1(w["d3"],spee,35,0,0)
  327. c1(w["e1"],spee,-55,205,0) c1(w["e2"],spee,30,0,0) c1(w["e3"],spee,30,0,0)
  328. end
  329. end
  330. function ColFings(iscol)
  331. pPinkie1.CanCollide = iscol
  332. pPinkie2.CanCollide = iscol
  333. pPinkie3.CanCollide = iscol
  334. pRing1.CanCollide = iscol
  335. pRing2.CanCollide = iscol
  336. pRing3.CanCollide = iscol
  337. pMid1.CanCollide = iscol
  338. pMid2.CanCollide = iscol
  339. pMid3.CanCollide = iscol
  340. pPoint1.CanCollide = iscol
  341. pPoint2.CanCollide = iscol
  342. pPoint3.CanCollide = iscol
  343. pThumb1.CanCollide = iscol
  344. pThumb2.CanCollide = iscol
  345. pThumb3.CanCollide = iscol
  346. end
  347. function ray(Pos, Dir)
  348. return workspace:FindPartOnRay(Ray.new(Pos, Dir.unit *999), c)
  349. end
  350. 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
  351. coroutine.resume(coroutine.create(function()
  352. 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)
  353. local de = it("Decal",cr) de.Face = "Top" de.Texture = asset .. Decs.Crack Serv.d:AddItem(cr,25) end
  354. for i=1,4 do
  355. coroutine.resume(coroutine.create(function()
  356. 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"
  357. 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)
  358. 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)
  359. Dustplosion(cf(pos.p+v3(0,2*s,0)),18*s,{"Dark green","Bright green","Brown"},1)
  360. if eos == "earth" then
  361. for x=1,8 do
  362. sw.CFrame = sw.CFrame *cf(0,sw.Size.y/8,0) wait() end wait(ra(1,5))
  363. for x=1,20 do
  364. sw.CFrame = sw.CFrame *cf(0,-sw.Size.y/20,0) wait()
  365. end sw:Destroy()
  366. else
  367. for x=1,25 do
  368. 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
  369. end sw:Destroy()
  370. end)) end
  371. wait(0.3)
  372. DmgHumanoidsNear(pos.p,dmg,rndmg,5.5*s*(siz/4),forc)
  373. end))
  374. end
  375. function Dustplosion(onb,scale,col,cls) coroutine.resume(coroutine.create(function()
  376. for x=1,cls do coroutine.resume(coroutine.create(function()
  377. 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"
  378. swm.MeshId = asset .. Decs.Cloud sw.CFrame = sw.CFrame + v3(ra(-scale,scale)/8,ra(-scale,scale)/8,ra(-scale,scale)/8)
  379. for i=1,scale,0.25 do
  380. swm.Scale = v3(i*1.5,i*1,i*1.5) sw.Transparency = ((i/scale)/2) + 0.45
  381. wait()
  382. end
  383. sw:Destroy()
  384. end)) end
  385. end)) end
  386. 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
  387. 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:Destroy() end)) end
  388. function BlastWave(onb,scale,ymes,col) coroutine.resume(coroutine.create(function()
  389. 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"
  390. swm.MeshId = BlastMesh.MeshId
  391. for i=1,scale,scale/11 do
  392. 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
  393. wait()
  394. end
  395. sw:Destroy()
  396. end))
  397. end
  398. 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)
  399. e1.Transparency = 0.6 e1.TopSurface = 0 e1.BottomSurface = 0 e1.Parent = Torm e1.CFrame = onb local e1m = Instance.new("SpecialMesh")
  400. 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"
  401. 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"
  402. r2m.Parent = r2 r2m.Scale = Vector3.new(3,3,3) r2m.MeshId = RingMesh.MeshId local bla = Instance.new("Part") bla.Anchored = true
  403. 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")
  404. 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)
  405. r1m.Scale = r1m.Scale + Vector3.new(pluscal,pluscal,pluscal) r2m.Scale = r1m.Scale + Vector3.new(pluscal,pluscal,pluscal)
  406. 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)
  407. 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:Destroy() r1:Destroy() r2:Destroy() end)) end
  408. function Hurtsplosion(pos,dmg,rndmg,siz,forc)
  409. coroutine.resume(coroutine.create(function() local boomcol = {"Bright red","New Yeller","Neon orange"}
  410. for i=1,3 do
  411. coroutine.resume(coroutine.create(function()
  412. 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
  413. plos.CFrame = cf(pos + v3(0,0,0)) * ca(rd(ra(-360,360)),rd(ra(-360,360)),rd(ra(-360,360)))
  414. plos.Mesh.Scale = v3(0.1,0.1,0.1)
  415. for i=0.3,1,0.03 do local plc = plos.CFrame
  416. plos.Mesh.Scale = v3(i*6,i*6,i*6) plos.Transparency = i plos.CFrame = plc * ca(rd(3),rd(3),0)
  417. wait()
  418. end
  419. plos:Destroy()
  420. end))
  421. end
  422. end))
  423. wait(0.1)
  424. DmgHumanoidsNear(pos,dmg,rndmg,5.5*s*siz,forc)
  425. end
  426. function DmgHumanoidsNear(pos,dmg,rndmg,mag,forc)
  427. local function kidive(ob)
  428. for i,v in pairs(ob:children()) do
  429. 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
  430. v:BreakJoints() v.Velocity = cf(pos,v.Position).lookVector*forc
  431. end
  432. if v:IsA("Humanoid") and v ~= hu and v.Parent:findFirstChild("Torso") then
  433. if (pos - v.Parent.Torso.Position).magnitude < mag then local tdmg = dmg*ra(1,rndmg)
  434. if v.Parent:findFirstChild("Hh") == nil then local hh= Instance.new("NumberValue",v.Parent) hh.Name = "Hh"
  435. hh.Value = v.Health - tdmg else v.Parent.Hh.Value = v.Health - (tdmg*3.5) end
  436. v.Health = v.Parent.Hh.Value if v.Parent.Hh.Value < 1 then v.Parent:BreakJoints() end
  437. end
  438. end
  439. if v:IsA("Model") or v:IsA("Workspace") then kidive(v) end end end
  440. kidive(workspace)
  441. end
  442. function Fire(bullet,typez,siz,dmg,rndmg,forc)
  443. if typez == 1 then
  444. bullet.Anchored = true
  445. local bullethit = false
  446. local tyms = 0
  447. repeat
  448. tyms = tyms + 2
  449. local bhit,bpos = ray(bullet.Position,bullet.Position - (bullet.CFrame *cf(0,0,-1)).p)
  450. 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
  451. if tyms%32 == 0 then wait() end
  452. until bullethit or bullet.Position.y < -300 or tyms > 800
  453. bullet.CFrame = bullet.CFrame *cf(0,0,8) bullet:Destroy()
  454. if bullet.Position.y < -300 then
  455. else
  456. Hurtsplosion(bullet.Position,dmg,rndmg,siz,forc)
  457. end
  458. elseif typez == 2 then
  459. bullet.Anchored = true
  460. local bullethit = false
  461. local tyms = 0
  462. local ming = 0.001
  463. repeat
  464. if tyms > 70 and (ming == 0.001 or ming == -2.5) then ming = -2.5
  465. 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
  466. end
  467. tyms = tyms + 2
  468. local bhit,bpos = ray(bullet.Position,bullet.Position - (bullet.CFrame *cf(0,0,-1)).p)
  469. 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
  470. if tyms%16 == 0 then wait() end
  471. until bullethit or bullet.Position.y < -300 or tyms > 500
  472. bullet.CFrame = bullet.CFrame *cf(0,0,8) bullet:Destroy()
  473. if bullet.Position.y < -300 then
  474. else
  475. Hurtsplosion(bullet.Position,dmg,rndmg,siz,forc)
  476. end
  477. elseif typez == 3 then
  478. end
  479. end
  480. function ShortifiedAnim(theanim)
  481. if theanim == "Beam" then
  482. 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
  483. 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)
  484. dias = {} loldiv = 360/8 for x=0,360,loldiv do
  485. 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
  486. diam.Scale = v3(3*s,9*s,3*s) table.insert(dias,dia)
  487. end Button = true coroutine.resume(coroutine.create(function() local tardz = 0 repeat wait() tardz = tardz+ 15
  488. crom.CFrame = Palm.CFrame *ca(rd(-90),0,0) *cf(0,5.5*s,2*s) *ca(0,rd(tardz),0)
  489. 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
  490. until not Button for x2=0.5,1,0.05 do wait() crom.Transparency = x2 end end))
  491. 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))
  492. wait(1) local beamoffset = v3(0,0,0)
  493. local b1 = pa(m,"Ball",10*s,10*s,10*s,false,false,0.1,0,LaserCol) b1.Anchored = true
  494. local b2 = pa(m,"Block",10*s,1,10*s,false,false,0.1,0,LaserCol) b2.Anchored = true local b2m = it("CylinderMesh",b2)
  495. local b3 = pa(m,"Ball",10*s,10*s,10*s,false,false,0.1,0,LaserCol) b3.Anchored = true
  496. local bpos = nil local bhit = nil local ts = 0
  497. repeat beamoffset = v3(ra(-2*s,2*s),ra(-2*s,2*s),ra(-2*s,2*s)) ts = ts + 1
  498. bhit,bpos = ray(Palm.Position,Palm.Position - (Palm.CFrame *cf(0,0,1)).p)
  499. if bhit == nil or (Palm.Position - bpos).magnitude > 1500 then break end
  500. b1.CFrame = Palm.CFrame *cf(0,3*s,-11*s)
  501. b3.CFrame = cf(bpos) local lenz = (b1.Position - b3.Position).magnitude
  502. b2.CFrame = cf(b1.Position,b3.Position) *ca(rd(90),0,0) *cf(0,-lenz/2,0) b2m.Scale = v3(1,lenz,1)
  503. b1.CFrame = b1.CFrame + beamoffset b2.CFrame = b2.CFrame + beamoffset b3.CFrame = b3.CFrame + beamoffset
  504. 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
  505. wait() until not Button or ts > 600
  506. 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:Destroy() b2:Destroy() b3:Destroy() end))
  507. 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))
  508. wait(1) clearit(dias) crom:Destroy()
  509. end
  510. end
  511. PalmLev = it("BodyPosition",Palm)
  512. PalmFace = it("BodyGyro",Palm) PalmFace.maxTorque = v3(0,0,0)
  513. coroutine.resume(coroutine.create(function()
  514. PalmLev.position = (t.CFrame *cf(handoffset)).p
  515. local yspi = 0
  516. while wait() do yspi = yspi + 8
  517. if Anim.a == "Gun" or Anim.a == "Ride" or Anim.a == "Pound" then
  518. Facing = "Mouse" bgx = -90 bgy = 90 bgz = 0
  519. elseif Anim.a == "Fu" or Anim.a == "Fist" or Anim.a == "GroundGrip" then
  520. Facing = "Mouse" bgx = -90 bgy = 0 bgz = 0
  521. elseif Anim.a == "Splat" or Anim.a == "Beam" then
  522. Facing = "Mouse" bgx = 0 bgy = 0 bgz = 0
  523. elseif Anim.a == "None" then
  524. Facing = "Owner" bgx = -90 bgy = 0 bgz = 0 Posing = "Follow"
  525. elseif Anim.a == "Shower" then
  526. Facing = "None" bgx = 0 bgy = 0 bgz = 0 Posing = "TopOwner"
  527. end
  528. if Posing == "Follow" then
  529. PalmLev.maxForce = v3(1/0,1/0,1/0) PalmLev.position = (t.CFrame *cf(handoffset) *cf(0,0,0)).p
  530. elseif Posing == "TopOwner" then
  531. PalmLev.maxForce = v3(1/0,1/0,1/0) PalmLev.position = (t.CFrame *cf(0,12*s,0)).p
  532. end
  533. if Facing == "Owner" then
  534. PalmFace.maxTorque = v3(1/0,1/0,1/0) PalmFace.cframe = cf(Palm.Position,he.Position) *ca(rd(bgx),rd(bgy),rd(bgz))
  535. elseif Facing == "Mouse" and mou ~= nil and Equip then
  536. 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
  537. if Anim.b == "None" or Anim.a == "Beam" or Anim.a == "Ride" then
  538. PalmFace.cframe = cf(Palm.Position,mou.Hit.p) *ca(rd(bgx),rd(bgy),rd(bgz)) wait(0.05)
  539. end end end
  540. wait(0.05)
  541. end
  542. end))
  543. function FireFinger(lasercol,ffingz,targ,typez,siz,dmg,rndmg,forc) coroutine.resume(coroutine.create(function()
  544. 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"
  545. local lw = weld(laser,ffingz,laser,0,ffingz.Size.y/0.8 +(siz/2.5),0,rd(90),0,0)
  546. for i=1,0.4,-0.05 do laser.Transparency = i wait() end
  547. BlastWave(ffingz.CFrame*cf(0,ffingz.Size.y*1.3,0)*ca(0,0,0),ffingz.Size.x*1.6,1.8,LaserCol2)
  548. lw:Destroy() laser.CFrame = cf(laser.Position,targ)
  549. Fire(laser,typez,siz,dmg,rndmg,forc)
  550. end))
  551. end
  552. GrabWeld = it("Weld",m)
  553. Palm.Touched:Connect(function(touch)
  554. if Anim.a == "Ride" and GrabWeld.Part1 == nil and touch.Parent:findFirstChild("Torso") and touch.Parent:findFirstChild("Humanoid") then
  555. local tor = touch.Parent.Torso touch.Parent.Humanoid.PlatformStand = true
  556. 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)
  557. end
  558. end)
  559. re(bp,"Hand")
  560.  
  561. -- SETUP HOOK TOOL.
  562.  
  563. local hookToolCL = game.ServerStorage.toolHook:Clone()
  564. hb = hookToolCL hb.Name = "Hand"
  565. hb.Parent = bp;
  566.  
  567. local EQUIP_EVENT = hb:FindFirstChild("EQUIP")
  568. local UNEQUIP_EVENT = hb:FindFirstChild("UNEQUIP")
  569.  
  570. EQUIP_EVENT.OnServerEvent:Connect(function() mouse = mou Equip = true
  571.  
  572. mouse.KeyDown:Connect(function(k) k = k:lower()
  573. if Anim.a == "Ride" and k == "f" then FireFinger(LaserCol,pPinkie3,mouse.Hit.p,1,2.25,1,18,30) end
  574. if Anim.b ~= "None" or Anim.Welding ~= 0 then return end
  575. if Anim.a == "None" then
  576. if k == "f" then -- on anim on
  577. Anim.a = "Gun" HandSign("Gun",0.7)
  578. elseif k == "p" then
  579. Anim.a = "Fu" HandSign("f",1)
  580. elseif k == "g" then
  581. Anim.a = "Fist" HandSign("fist",1)
  582. elseif k == "c" then
  583. Anim.a = "Splat" HandSign("wide",1)
  584. elseif k == "r" then
  585. Anim.a = "Ride" HandSign("ride",1) Posing = "None"
  586. elseif k == "v" then
  587. Anim.a = "Shower" HandSign("grab2",1) PalmFace.cframe = cf(0,0,0) *ca(0,0,0)
  588. elseif k == "b" then
  589. Anim.a = "Pound" HandSign("fist",1)
  590. elseif k == "x" then
  591. Anim.a = "GroundGrip" HandSign("grab2",1)
  592. elseif k == "z" then
  593. Anim.a = "Beam" HandSign("wide2",1)
  594. end
  595. else
  596. if k == "f" and Anim.a == "Gun" then -- on anim off
  597. Anim.a = "None" HandSign("five",0.8)
  598. elseif k == "p" and Anim.a == "Fu" then
  599. Anim.a = "None" HandSign("five",0.8)
  600. elseif k == "g" and Anim.a == "Fist" then
  601. Anim.a = "None" HandSign("five",0.8)
  602. elseif k == "c" and Anim.a == "Splat" then
  603. Anim.a = "None" HandSign("five",0.8)
  604. elseif k == "r" and Anim.a == "Ride" then
  605. Anim.a = "None" HandSign("five",0.8) GrabWeld.Part0 = nil Anim.b = "None" Posing = "Follow" Facing = "Owner"
  606. if GrabWeld.Part1 ~= nil and GrabWeld.Part1.Parent:findFirstChild("Humanoid") ~= nil then GrabWeld.Part1.Parent.Humanoid.PlatformStand = false end GrabWeld.Part1 = nil
  607. elseif k == "v" and Anim.a == "Shower" then
  608. Anim.a = "None" HandSign("five",0.8) Posing = "Follow" Facing = "Owner"
  609. elseif k == "b" and Anim.a == "Pound" then
  610. Anim.a = "None" HandSign("five",0.8)
  611. elseif k == "x" and Anim.a == "GroundGrip" then
  612. Anim.a = "None" HandSign("five",0.8)
  613. elseif k == "z" and Anim.a == "Beam" then
  614. Anim.a = "None" HandSign("five",0.8)
  615. end
  616. end
  617. end)
  618. mouse.Button1Down:Connect(function()
  619. if Anim.a == "None" or Anim.b ~= "None" then return end
  620. if Anim.a == "Gun" then
  621. 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"
  622. elseif Anim.a == "Fu" then
  623. Anim.b = "Fu" FireFinger(LaserCol,pMid3,mouse.Hit.p,1,3.65,2,14,95) wait(0.25) Anim.b = "None"
  624. elseif Anim.a == "Fist" then
  625. local bhit,bpos = ray(Palm.Position,Palm.Position - (Palm.CFrame *cf(0,-1,0)).p)
  626. if bhit == nil or (Palm.Position - bpos).magnitude > 500 then return end
  627. Anim.b = "Fist" Posing = "None" PalmFace.cframe = cf(Palm.Position,bpos) *ca(rd(-90),0,0)
  628. PalmLev.position = (Palm.CFrame *cf(0,-15*s,0)).p
  629. wait(0.45)
  630. PalmLev.position = bpos + ((Palm.CFrame *cf(0,1*s,0)).p - Palm.Position)
  631. 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
  632. Explode(Palm.CFrame *cf(0,6*s,0) *ca(rd(180),0,0),15*s,ts(bhit.BrickColor))
  633. DmgHumanoidsNear((Palm.CFrame *cf(0,8,0)).p,3,10,(12*s)+2,105)
  634. if not bhit.Anchored then PalmLev.position = (Palm.CFrame *cf(0,12*s,0)).p wait(0.5) end
  635. wait(1) Posing = "Follow" Anim.b = "None"
  636. elseif Anim.a == "Splat" then
  637. if mouse.Target == nil and (Palm.Position - mouse.Hit.p).magnitude > 500 then return end local bpos = mouse.Hit.p
  638. Anim.b = "Splat" Posing = "None"
  639. 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)
  640. local tz = 0 repeat wait() tz = tz + wait() until (PalmLev.position - Palm.Position).magnitude < 5*s or tz > 1.3
  641. for i=-90,0,5 do
  642. PalmLev.position = PalmLev.position + v3(0,2*s,0) PalmFace.cframe = cf(0,0,0) *ca(0,yb,0) *ca(rd(i),0,0)
  643. wait()
  644. end wait(0.2)
  645. for i=0,-100,-10 do
  646. local lewd = i
  647. if lewd < -50 then lewd = -95 end
  648. 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)
  649. wait()
  650. end wait(0.2)
  651. 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)
  652. local de = it("Decal",cr) de.Face = "Top" de.Texture = asset .. Decs.Crack Serv.d:AddItem(cr,16)
  653. DmgHumanoidsNear((Palm.CFrame *cf(0,0,-1)).p,3,20,(15*s)+2,110)
  654. ShockWave(Palm.CFrame *ca(rd(90),0,0),25*s,LaserCol)
  655. wait(1) Posing = "Follow" Anim.b = "None"
  656. elseif Anim.a == "Ride" and Button == false then
  657. Posing = "None" Anim.b = "Ride"
  658. Button = true
  659. repeat PalmLev.position = (Palm.CFrame *cf(0,10,0)).p wait() until Button == false
  660. Anim.b = "None"
  661. elseif Anim.a == "Shower" and Button == false then
  662. Anim.b = "Shower" Button = true
  663. repeat
  664. local targz = Palm.Position + v3(0,20*s,0)
  665. if ra(1,12) == 1 then FireFinger(LaserCol,pPinkie3,targz,2,4,1,18,55) end
  666. if ra(1,13) == 1 then FireFinger(LaserCol,pRing3,targz,2,4,1,18,60) end
  667. if ra(1,12) == 1 then FireFinger(LaserCol,pMid3,targz,2,4,1,18,65) end
  668. if ra(1,13) == 1 then FireFinger(LaserCol,pPoint3,targz,2,4,1,18,70) end
  669. if ra(1,12) == 1 then FireFinger(LaserCol,pThumb3,targz,2,4,1,18,80) end
  670. PalmFace.cframe = PalmFace.cframe *ca(0,rd(10),0)
  671. wait()
  672. until Button == false
  673. Anim.b = "None"
  674. elseif Anim.a == "Pound" and Anim.b == "None" then Posing = "None" Anim.b = "Pound"
  675. local bhit,bpos = ray(Palm.Position,Palm.Position - (Palm.CFrame *cf(0,-1,0)).p)
  676. if bhit == nil or (Palm.Position - bpos).magnitude > 500 then return end
  677. PalmLev.position = bpos + v3(0,15*s,0)
  678. local ya,yb,yc = PalmFace.cframe:toEulerAnglesXYZ() PalmFace.cframe = ca(ya,yb,yc)
  679. local tz = 0 repeat wait() tz = tz + wait() until (PalmLev.position - Palm.Position).magnitude < 5*s or tz > 1.3 wait(0.1)
  680. for i=-90,-10,10 do
  681. PalmFace.cframe = ca(ya,yb,yc) *ca(0,0,rd(i+90)) PalmLev.position = PalmLev.position + v3(0,2.5*s,0)
  682. wait() end wait(0.25) local realcf = cf(v3(he.Position.x,0,he.Position.z),v3(Palm.Position.x,0,Palm.Position.z))
  683. for i=-10,-90,-10 do
  684. PalmFace.cframe = ca(ya,yb,yc) *ca(0,0,rd(i+90)) PalmLev.position = PalmLev.position - v3(0,4*s,0)
  685. wait() end PalmFace.cframe = realcf *ca(rd(-90),rd(90),0) wait(0.25)
  686. 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)
  687. local de = it("Decal",cr) de.Face = "Top" de.Texture = asset .. Decs.Crack Serv.d:AddItem(cr,16)
  688. Dustplosion(Palm.CFrame *cf(2*s,0,0) *ca(rd(90),0,rd(90)),30*s,{"Dark green","Bright green","Brown"},3)
  689. ShockWave(Palm.CFrame *cf(2*s,0,0) *ca(rd(90),0,rd(90)),20*s,ts(bhit.BrickColor))
  690. DmgHumanoidsNear((Palm.CFrame *cf(0,1,0)).p,1,20,(15*s)+2,90) wait(0.2)
  691. local palmcf = cf(bpos) local earthsplos = ra(5,8) palmcf = Palm.CFrame *ca(0,rd(90),0) *ca(rd(-90),0,rd(0))
  692. for i=1,earthsplos do Earthsplosion(palmcf *cf(0,-2*s,((i*7)+7)*s),10,1,20,75) wait(0.1) end
  693. Earthsplosion(palmcf *cf(0,-2*s,(((earthsplos+1)*7)+7)*s),16,2,25,75)
  694. wait(1) Posing = "Follow" wait(0.25) Anim.b = "None"
  695. elseif Anim.a == "GroundGrip" then Posing = "None" Anim.b = "GroundGrip"
  696. local bhit,bpos = ray(Palm.Position,Palm.Position - (Palm.CFrame *cf(0,-1,0)).p)
  697. if bhit == nil or (Palm.Position - bpos).magnitude > 500 then return end
  698. PalmLev.position = bpos + v3(0,27*s,0) ColFings(false)
  699. local tz = 0 repeat wait() tz = tz + wait() until (PalmLev.position - Palm.Position).magnitude < 8*s or tz > 1.3 wait(0.1)
  700. local thepos = (Palm.CFrame *cf(0,-0.1*s,0)).p - Palm.Position
  701. PalmFace.cframe = cf(Palm.Position,bpos + thepos) *ca(rd(-90),0,0)
  702. 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)
  703. 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
  704. 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)
  705. coroutine.resume(coroutine.create(function() for xz=1,70,7 do PalmLev.position = bpos + v3(0,xz*s,0) wait(0.06) end end))
  706. wait(0.25) Dustplosion(cf(bpos),30*s,{"Dark green","Bright green","Brown"},3) local lolra = ra(-360,360)
  707. Earthsplosion(cf(bpos),25,1,20,125,"sand") for yyy=0,360,60 do coroutine.resume(coroutine.create(function()
  708. for zzz=1,4 do
  709. Earthsplosion(cf(bpos) *ca(0,rd(yyy+lolra),0) *cf(0,0,zzz*15*s),10,1,20,75) wait(0.14)
  710. 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
  711. wait(0.3) HandSign("grab2",0.5) wait(0.75) Serv.d:AddItem(ro,20) rowe:Destroy() 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"
  712. elseif Anim.a == "Beam" and not Button and Anim.b == "None" then Anim.b = "Beam"
  713. ShortifiedAnim("Beam") wait(0.5) Anim.b = "None"
  714. end
  715. end)
  716. mouse.Button1Up:Connect(function()
  717. Button = false
  718. end)
  719. end)
  720. UNEQUIP_EVENT.OnServerEvent:Connect(function(mouse)
  721. Equip = false
  722. end)
  723. --lego
  724.  
  725. c.Humanoid.MaxHealth = math.huge -----Put your name where it says "YourNameHere"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement