Advertisement
waconline

Halo 3 RPG script

Feb 18th, 2020
220
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --https://github.com/Mokiros/roblox-FE-compatibility
  2. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  3. local Player,game,owner = owner,game
  4. local RealPlayer = Player
  5. do
  6. print("FE Compatibility code V2 by Mokiros")
  7. local RealPlayer = RealPlayer
  8. script.Parent = RealPlayer.Character
  9.  
  10. --Fake event to make stuff like Mouse.KeyDown work
  11. local Disconnect_Function = function(this)
  12. this[1].Functions[this[2]] = nil
  13. end
  14. local Disconnect_Metatable = {__index={disconnect=Disconnect_Function,Disconnect=Disconnect_Function}}
  15. local FakeEvent_Metatable = {__index={
  16. Connect = function(this,f)
  17. local i = tostring(math.random(0,10000))
  18. while this.Functions[i] do
  19. i = tostring(math.random(0,10000))
  20. end
  21. this.Functions[i] = f
  22. return setmetatable({this,i},Disconnect_Metatable)
  23. end
  24. }}
  25. FakeEvent_Metatable.__index.connect = FakeEvent_Metatable.__index.Connect
  26. local function fakeEvent()
  27. return setmetatable({Functions={}},FakeEvent_Metatable)
  28. end
  29.  
  30. --Creating fake input objects with fake variables
  31. local FakeMouse = {Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()}
  32. FakeMouse.keyUp = FakeMouse.KeyUp
  33. FakeMouse.keyDown = FakeMouse.KeyDown
  34. local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  35. local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  36. CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  37. end}
  38. --Merged 2 functions into one by checking amount of arguments
  39. CAS.UnbindAction = CAS.BindAction
  40.  
  41. --This function will trigger the events that have been :Connect()'ed
  42. local function TriggerEvent(self,ev,...)
  43. for _,f in pairs(self[ev].Functions) do
  44. f(...)
  45. end
  46. end
  47. FakeMouse.TriggerEvent = TriggerEvent
  48. UIS.TriggerEvent = TriggerEvent
  49.  
  50. --Client communication
  51. local Event = Instance.new("RemoteEvent")
  52. Event.Name = "UserInput_Event"
  53. Event.OnServerEvent:Connect(function(plr,io)
  54. if plr~=RealPlayer then return end
  55. FakeMouse.Target = io.Target
  56. FakeMouse.Hit = io.Hit
  57. if not io.isMouse then
  58. local b = io.UserInputState == Enum.UserInputState.Begin
  59. if io.UserInputType == Enum.UserInputType.MouseButton1 then
  60. return FakeMouse:TriggerEvent(b and "Button1Down" or "Button1Up")
  61. end
  62. if io.UserInputType == Enum.UserInputType.MouseButton2 then
  63. return FakeMouse:TriggerEvent(b and "Button2Down" or "Button2Up")
  64. end
  65. for _,t in pairs(CAS.Actions) do
  66. for _,k in pairs(t.Keys) do
  67. if k==io.KeyCode then
  68. t.Function(t.Name,io.UserInputState,io)
  69. end
  70. end
  71. end
  72. FakeMouse:TriggerEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  73. UIS:TriggerEvent(b and "InputBegan" or "InputEnded",io,false)
  74. end
  75. end)
  76. Event.Parent = NLS([==[local Event = script:WaitForChild("UserInput_Event")
  77. local Mouse = owner:GetMouse()
  78. local UIS = game:GetService("UserInputService")
  79. local input = function(io,RobloxHandled)
  80. if RobloxHandled then return end
  81. --Since InputObject is a client-side instance, we create and pass table instead
  82. Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
  83. end
  84. UIS.InputBegan:Connect(input)
  85. UIS.InputEnded:Connect(input)
  86.  
  87. local h,t
  88. --Give the server mouse data every second frame, but only if the values changed
  89. --If player is not moving their mouse, client won't fire events
  90. local HB = game:GetService("RunService").Heartbeat
  91. while true do
  92. if h~=Mouse.Hit or t~=Mouse.Target then
  93. h,t=Mouse.Hit,Mouse.Target
  94. Event:FireServer({isMouse=true,Target=t,Hit=h})
  95. end
  96. --Wait 2 frames
  97. for i=1,2 do
  98. HB:Wait()
  99. end
  100. end]==],script)
  101.  
  102. ----Sandboxed game object that allows the usage of client-side methods and services
  103. --Real game object
  104. local RealGame = game
  105.  
  106. --Metatable for fake service
  107. local FakeService_Metatable = {
  108. __index = function(self,k)
  109. local s = rawget(self,"_RealService")
  110. if s then
  111. return typeof(s[k])=="function"
  112. and function(_,...)return s[k](s,...)end or s[k]
  113. end
  114. end,
  115. __newindex = function(self,k,v)
  116. local s = rawget(self,"_RealService")
  117. if s then s[k]=v end
  118. end
  119. }
  120. local function FakeService(t,RealService)
  121. t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService
  122. return setmetatable(t,FakeService_Metatable)
  123. end
  124.  
  125. --Fake game object
  126. local FakeGame = {
  127. GetService = function(self,s)
  128. return rawget(self,s) or RealGame:GetService(s)
  129. end,
  130. Players = FakeService({
  131. LocalPlayer = FakeService({GetMouse=function(self)return FakeMouse end},Player)
  132. },"Players"),
  133. UserInputService = FakeService(UIS,"UserInputService"),
  134. ContextActionService = FakeService(CAS,"ContextActionService"),
  135. RunService = FakeService({
  136. _btrs = {},
  137. RenderStepped = RealGame:GetService("RunService").Heartbeat,
  138. BindToRenderStep = function(self,name,_,fun)
  139. self._btrs[name] = self.Heartbeat:Connect(fun)
  140. end,
  141. UnbindFromRenderStep = function(self,name)
  142. self._btrs[name]:Disconnect()
  143. end,
  144. },"RunService")
  145. }
  146. rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer)
  147. FakeGame.service = FakeGame.GetService
  148. FakeService(FakeGame,game)
  149. --Changing owner to fake player object to support owner:GetMouse()
  150. game,owner = FakeGame,FakeGame.Players.LocalPlayer
  151. end
  152. Player=game:GetService("Players").LocalPlayer
  153. Character=Player.Character
  154. PlayerGui=Player.PlayerGui
  155. Backpack=Player.Backpack
  156. Torso=Character.Torso
  157. Head=Character.Head
  158. Humanoid=Character.Humanoid
  159. m=Instance.new('Model',Character)
  160. LeftArm=Character["Left Arm"]
  161. LeftLeg=Character["Left Leg"]
  162. RightArm=Character["Right Arm"]
  163. RightLeg=Character["Right Leg"]
  164. LS=Torso["Left Shoulder"]
  165. LH=Torso["Left Hip"]
  166. RS=Torso["Right Shoulder"]
  167. RH=Torso["Right Hip"]
  168. Face = Head.face
  169. Neck=Torso.Neck
  170. it=Instance.new
  171. attacktype=1
  172. vt=Vector3.new
  173. cf=CFrame.new
  174. euler=CFrame.fromEulerAnglesXYZ
  175. angles=CFrame.Angles
  176. cloaked=false
  177. necko=cf(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
  178. necko2=cf(0, -0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
  179. LHC0=cf(-1,-1,0,-0,-0,-1,0,1,0,1,0,0)
  180. LHC1=cf(-0.5,1,0,-0,-0,-1,0,1,0,1,0,0)
  181. RHC0=cf(1,-1,0,0,0,1,0,1,0,-1,-0,-0)
  182. RHC1=cf(0.5,1,0,0,0,1,0,1,0,-1,-0,-0)
  183. RootPart=Character.HumanoidRootPart
  184. RootJoint=RootPart.RootJoint
  185. RootCF=euler(-1.57,0,3.14)
  186. attack = false
  187. attackdebounce = false
  188. deb=false
  189. equipped=true
  190. hand=false
  191. MMouse=nil
  192. combo=0
  193. mana=0
  194. trispeed=.2
  195. attackmode='none'
  196. local idle=0
  197. local Anim="Idle"
  198. local Effects={}
  199. local gun=false
  200. local shoot=false
  201. player=nil
  202. mana=0
  203.  
  204. mouse=Player:GetMouse()
  205. --save shoulders
  206. RSH, LSH=nil, nil
  207. --welds
  208. RW, LW=Instance.new("Weld"), Instance.new("Weld")
  209. RW.Name="Right Shoulder" LW.Name="Left Shoulder"
  210. LH=Torso["Left Hip"]
  211. RH=Torso["Right Hip"]
  212. TorsoColor=Torso.BrickColor
  213. function NoOutline(Part)
  214. Part.TopSurface,Part.BottomSurface,Part.LeftSurface,Part.RightSurface,Part.FrontSurface,Part.BackSurface = 10,10,10,10,10,10
  215. end
  216. player=Player
  217. ch=Character
  218. RSH=ch.Torso["Right Shoulder"]
  219. LSH=ch.Torso["Left Shoulder"]
  220. --
  221. RSH.Parent=nil
  222. LSH.Parent=nil
  223. --
  224. RW.Name="Right Shoulder"
  225. RW.Part0=ch.Torso
  226. RW.C0=cf(1.5, 0.5, 0) --* CFrame.fromEulerAnglesXYZ(1.3, 0, -0.5)
  227. RW.C1=cf(0, 0.5, 0)
  228. RW.Part1=ch["Right Arm"]
  229. RW.Parent=ch.Torso
  230. --
  231. LW.Name="Left Shoulder"
  232. LW.Part0=ch.Torso
  233. LW.C0=cf(-1.5, 0.5, 0) --* CFrame.fromEulerAnglesXYZ(1.7, 0, 0.8)
  234. LW.C1=cf(0, 0.5, 0)
  235. LW.Part1=ch["Left Arm"]
  236. LW.Parent=ch.Torso
  237.  
  238. Player=game:GetService('Players').LocalPlayer
  239. Character=Player.Character
  240. Mouse=Player:GetMouse()
  241. m=Instance.new('Model',Character)
  242.  
  243.  
  244. local function weldBetween(a, b)
  245. local weldd = Instance.new("ManualWeld")
  246. weldd.Part0 = a
  247. weldd.Part1 = b
  248. weldd.C0 = CFrame.new()
  249. weldd.C1 = b.CFrame:inverse() * a.CFrame
  250. weldd.Parent = a
  251. return weldd
  252. end
  253.  
  254. it=Instance.new
  255.  
  256. function nooutline(part)
  257. part.TopSurface,part.BottomSurface,part.LeftSurface,part.RightSurface,part.FrontSurface,part.BackSurface = 10,10,10,10,10,10
  258. end
  259.  
  260. function part(formfactor,parent,material,reflectance,transparency,brickcolor,name,size)
  261. local fp=it("Part")
  262. fp.formFactor=formfactor
  263. fp.Parent=parent
  264. fp.Reflectance=reflectance
  265. fp.Transparency=transparency
  266. fp.CanCollide=false
  267. fp.Locked=true
  268. fp.BrickColor=BrickColor.new(tostring(brickcolor))
  269. fp.Name=name
  270. fp.Size=size
  271. fp.Position=Character.Torso.Position
  272. nooutline(fp)
  273. fp.Material=material
  274. fp:BreakJoints()
  275. return fp
  276. end
  277.  
  278. function mesh(Mesh,part,meshtype,meshid,offset,scale)
  279. local mesh=it(Mesh)
  280. mesh.Parent=part
  281. if Mesh=="SpecialMesh" then
  282. mesh.MeshType=meshtype
  283. mesh.MeshId=meshid
  284. end
  285. mesh.Offset=offset
  286. mesh.Scale=scale
  287. return mesh
  288. end
  289.  
  290. function weld(parent,part0,part1,c0,c1)
  291. local weld=it("Weld")
  292. weld.Parent=parent
  293. weld.Part0=part0
  294. weld.Part1=part1
  295. weld.C0=c0
  296. weld.C1=c1
  297. return weld
  298. end
  299.  
  300.  
  301. Player=game:GetService('Players').LocalPlayer
  302. Character=Player.Character
  303. Mouse=Player:GetMouse()
  304. m=Instance.new('Model',Character)
  305.  
  306.  
  307. local function weldBetween(a, b)
  308. local weldd = Instance.new("ManualWeld")
  309. weldd.Part0 = a
  310. weldd.Part1 = b
  311. weldd.C0 = CFrame.new()
  312. weldd.C1 = b.CFrame:inverse() * a.CFrame
  313. weldd.Parent = a
  314. return weldd
  315. end
  316.  
  317. it=Instance.new
  318.  
  319. function nooutline(part)
  320. part.TopSurface,part.BottomSurface,part.LeftSurface,part.RightSurface,part.FrontSurface,part.BackSurface = 10,10,10,10,10,10
  321. end
  322.  
  323. function part(formfactor,parent,material,reflectance,transparency,brickcolor,name,size)
  324. local fp=it("Part")
  325. fp.formFactor=formfactor
  326. fp.Parent=parent
  327. fp.Reflectance=reflectance
  328. fp.Transparency=transparency
  329. fp.CanCollide=false
  330. fp.Locked=true
  331. fp.BrickColor=BrickColor.new(tostring(brickcolor))
  332. fp.Name=name
  333. fp.Size=size
  334. fp.Position=Character.Torso.Position
  335. nooutline(fp)
  336. fp.Material=material
  337. fp:BreakJoints()
  338. return fp
  339. end
  340.  
  341. function swait(num)
  342. if num==0 or num==nil then
  343. game:service'RunService'.Heartbeat:wait(0)
  344. else
  345. for i=0,num do
  346. game:service'RunService'.Heartbeat:wait(0)
  347. end
  348. end
  349. end
  350.  
  351. function mesh(Mesh,part,meshtype,meshid,offset,scale)
  352. local mesh=it(Mesh)
  353. mesh.Parent=part
  354. if Mesh=="SpecialMesh" then
  355. mesh.MeshType=meshtype
  356. mesh.MeshId=meshid
  357. end
  358. mesh.Offset=offset
  359. mesh.Scale=scale
  360. return mesh
  361. end
  362.  
  363. function weld(parent,part0,part1,c0,c1)
  364. local weld=it("Weld")
  365. weld.Parent=parent
  366. weld.Part0=part0
  367. weld.Part1=part1
  368. weld.C0=c0
  369. weld.C1=c1
  370. return weld
  371. end
  372.  
  373.  
  374. local function CFrameFromTopBack(at, top, back)
  375. local right = top:Cross(back)
  376. return CFrame.new(at.x, at.y, at.z,
  377. right.x, top.x, back.x,
  378. right.y, top.y, back.y,
  379. right.z, top.z, back.z)
  380. end
  381.  
  382. function Triangle(a, b, c)
  383. local edg1 = (c-a):Dot((b-a).unit)
  384. local edg2 = (a-b):Dot((c-b).unit)
  385. local edg3 = (b-c):Dot((a-c).unit)
  386. if edg1 <= (b-a).magnitude and edg1 >= 0 then
  387. a, b, c = a, b, c
  388. elseif edg2 <= (c-b).magnitude and edg2 >= 0 then
  389. a, b, c = b, c, a
  390. elseif edg3 <= (a-c).magnitude and edg3 >= 0 then
  391. a, b, c = c, a, b
  392. else
  393. assert(false, "unreachable")
  394. end
  395.  
  396. local len1 = (c-a):Dot((b-a).unit)
  397. local len2 = (b-a).magnitude - len1
  398. local width = (a + (b-a).unit*len1 - c).magnitude
  399.  
  400. local maincf = CFrameFromTopBack(a, (b-a):Cross(c-b).unit, -(b-a).unit)
  401.  
  402. local list = {}
  403.  
  404. local Color = BrickColor.new("Dark grey")
  405.  
  406. if len1 > 0.01 then
  407. local w1 = Instance.new('WedgePart', m)
  408. game:GetService("Debris"):AddItem(w1,5)
  409. w1.Material = "SmoothPlastic"
  410. w1.FormFactor = 'Custom'
  411. w1.BrickColor = BrickColor.new(Color)
  412. w1.Transparency = 0
  413. w1.Reflectance = 0
  414. w1.Material = "SmoothPlastic"
  415. w1.CanCollide = false
  416. NoOutline(w1)
  417. local sz = Vector3.new(0.2, width, len1)
  418. w1.Size = sz
  419. local sp = Instance.new("SpecialMesh",w1)
  420. sp.MeshType = "Wedge"
  421. sp.Scale = Vector3.new(0,1,1) * sz/w1.Size
  422. w1:BreakJoints()
  423. w1.Anchored = true
  424. w1.Parent = workspace
  425. w1.Transparency = 0.7
  426. table.insert(Effects,{w1,"Disappear",.01})
  427. w1.CFrame = maincf*CFrame.Angles(math.pi,0,math.pi/2)*CFrame.new(0,width/2,len1/2)
  428. table.insert(list,w1)
  429. end
  430.  
  431. if len2 > 0.01 then
  432. local w2 = Instance.new('WedgePart', m)
  433. game:GetService("Debris"):AddItem(w2,5)
  434. w2.Material = "SmoothPlastic"
  435. w2.FormFactor = 'Custom'
  436. w2.BrickColor = BrickColor.new(Color)
  437. w2.Transparency = 0
  438. w2.Reflectance = 0
  439. w2.Material = "SmoothPlastic"
  440. w2.CanCollide = false
  441. NoOutline(w2)
  442. local sz = Vector3.new(0.2, width, len2)
  443. w2.Size = sz
  444. local sp = Instance.new("SpecialMesh",w2)
  445. sp.MeshType = "Wedge"
  446. sp.Scale = Vector3.new(0,1,1) * sz/w2.Size
  447. w2:BreakJoints()
  448. w2.Anchored = true
  449. w2.Parent = workspace
  450. w2.Transparency = 0.7
  451. table.insert(Effects,{w2,"Disappear",.01})
  452. w2.CFrame = maincf*CFrame.Angles(math.pi,math.pi,-math.pi/2)*CFrame.new(0,width/2,-len1 - len2/2)
  453. table.insert(list,w2)
  454. end
  455. return unpack(list)
  456. end
  457.  
  458.  
  459. so = function(id,par,vol,pit)
  460. coroutine.resume(coroutine.create(function()
  461. local sou = Instance.new("Sound",par or workspace)
  462. sou.Volume=vol
  463. sou.Pitch=pit or 1
  464. sou.SoundId=id
  465. swait()
  466. sou:play()
  467. game:GetService("Debris"):AddItem(sou,6)
  468. end))
  469. end
  470.  
  471. function clerp(a,b,t)
  472. local qa = {QuaternionFromCFrame(a)}
  473. local qb = {QuaternionFromCFrame(b)}
  474. local ax, ay, az = a.x, a.y, a.z
  475. local bx, by, bz = b.x, b.y, b.z
  476. local _t = 1-t
  477. return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t))
  478. end
  479.  
  480. function QuaternionFromCFrame(cf)
  481. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  482. local trace = m00 + m11 + m22
  483. if trace > 0 then
  484. local s = math.sqrt(1 + trace)
  485. local recip = 0.5/s
  486. return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5
  487. else
  488. local i = 0
  489. if m11 > m00 then
  490. i = 1
  491. end
  492. if m22 > (i == 0 and m00 or m11) then
  493. i = 2
  494. end
  495. if i == 0 then
  496. local s = math.sqrt(m00-m11-m22+1)
  497. local recip = 0.5/s
  498. return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip
  499. elseif i == 1 then
  500. local s = math.sqrt(m11-m22-m00+1)
  501. local recip = 0.5/s
  502. return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip
  503. elseif i == 2 then
  504. local s = math.sqrt(m22-m00-m11+1)
  505. local recip = 0.5/s return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip
  506. end
  507. end
  508. end
  509.  
  510. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  511. local xs, ys, zs = x + x, y + y, z + z
  512. local wx, wy, wz = w*xs, w*ys, w*zs
  513. local xx = x*xs
  514. local xy = x*ys
  515. local xz = x*zs
  516. local yy = y*ys
  517. local yz = y*zs
  518. local zz = z*zs
  519. 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))
  520. end
  521.  
  522. function QuaternionSlerp(a, b, t)
  523. local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4]
  524. local startInterp, finishInterp;
  525. if cosTheta >= 0.0001 then
  526. if (1 - cosTheta) > 0.0001 then
  527. local theta = math.acos(cosTheta)
  528. local invSinTheta = 1/math.sin(theta)
  529. startInterp = math.sin((1-t)*theta)*invSinTheta
  530. finishInterp = math.sin(t*theta)*invSinTheta
  531. else
  532. startInterp = 1-t
  533. finishInterp = t
  534. end
  535. else
  536. if (1+cosTheta) > 0.0001 then
  537. local theta = math.acos(-cosTheta)
  538. local invSinTheta = 1/math.sin(theta)
  539. startInterp = math.sin((t-1)*theta)*invSinTheta
  540. finishInterp = math.sin(t*theta)*invSinTheta
  541. else
  542. startInterp = t-1
  543. finishInterp = t
  544. end
  545. end
  546. 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
  547. end
  548.  
  549. function rayCast(Pos, Dir, Max, Ignore) -- Origin Position , Direction, MaxDistance , IgnoreDescendants
  550. return game:service("Workspace"):FindPartOnRay(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore)
  551. end
  552.  
  553. Damagefunc=function(hit,minim,maxim,knockback,Type,Property,Delay,KnockbackType,decreaseblock)
  554. if hit.Parent==nil then
  555. return
  556. end
  557. h=hit.Parent:FindFirstChild("Humanoid")
  558. for _,v in pairs(hit.Parent:children()) do
  559. if v:IsA("Humanoid") then
  560. h=v
  561. end
  562. end
  563. if hit.Parent.Parent:FindFirstChild("Torso")~=nil then
  564. h=hit.Parent.Parent:FindFirstChild("Humanoid")
  565. end
  566. if hit.Parent.className=="Hat" then
  567. hit=hit.Parent.Parent:findFirstChild("Head")
  568. end
  569. if h~=nil and hit.Parent.Name~=Character.Name and hit.Parent:FindFirstChild("Torso")~=nil then
  570. if hit.Parent:findFirstChild("DebounceHit")~=nil then if hit.Parent.DebounceHit.Value==true then return end end
  571. --[[ if game.Players:GetPlayerFromCharacter(hit.Parent)~=nil then
  572. return
  573. end]]
  574. -- hs(hit,1.2)
  575. c=Instance.new("ObjectValue")
  576. c.Name="creator"
  577. c.Value=game:service("Players").LocalPlayer
  578. c.Parent=h
  579. game:GetService("Debris"):AddItem(c,.5)
  580. Damage=math.random(minim,maxim)
  581. -- h:TakeDamage(Damage)
  582. blocked=false
  583. block=hit.Parent:findFirstChild("Block")
  584. if block~=nil then
  585. print(block.className)
  586. if block.className=="NumberValue" then
  587. if block.Value>0 then
  588. blocked=true
  589. if decreaseblock==nil then
  590. block.Value=block.Value-1
  591. end
  592. end
  593. end
  594. if block.className=="IntValue" then
  595. if block.Value>0 then
  596. blocked=true
  597. if decreaseblock~=nil then
  598. block.Value=block.Value-1
  599. end
  600. end
  601. end
  602. end
  603. if blocked==false then
  604. -- h:TakeDamage(Damage)
  605. h.Health=h.Health-Damage
  606. showDamage(hit.Parent,Damage,.5,BrickColor.new("Dark stone grey"))
  607. else
  608. h.Health=h.Health-(Damage/2)
  609. showDamage(hit.Parent,Damage/2,.5,BrickColor.new("Bright blue"))
  610. end
  611. if Type=="Knockdown" then
  612. hum=hit.Parent.Humanoid
  613. hum.PlatformStand=true
  614. coroutine.resume(coroutine.create(function(HHumanoid)
  615. swait(1)
  616. HHumanoid.PlatformStand=false
  617. end),hum)
  618. local angle=(hit.Position-(Property.Position+Vector3.new(0,0,0))).unit
  619. --hit.CFrame=CFrame.new(hit.Position,Vector3.new(angle.x,hit.Position.y,angle.z))*CFrame.fromEulerAnglesXYZ(math.pi/4,0,0)
  620. local bodvol=Instance.new("BodyVelocity")
  621. bodvol.velocity=angle*knockback
  622. bodvol.P=5000
  623. bodvol.maxForce=Vector3.new(8e+003, 8e+003, 8e+003)
  624. bodvol.Parent=hit
  625. rl=Instance.new("BodyAngularVelocity")
  626. rl.P=3000
  627. rl.maxTorque=Vector3.new(500000,500000,500000)*50000000000000
  628. rl.angularvelocity=Vector3.new(math.random(-10,10),math.random(-10,10),math.random(-10,10))
  629. rl.Parent=hit
  630. game:GetService("Debris"):AddItem(bodvol,.5)
  631. game:GetService("Debris"):AddItem(rl,.5)
  632. elseif Type=="Normal" then
  633. vp=Instance.new("BodyVelocity")
  634. vp.P=500
  635. vp.maxForce=Vector3.new(math.huge,0,math.huge)
  636. -- vp.velocity=Character.Torso.CFrame.lookVector*Knockback
  637. if KnockbackType==1 then
  638. vp.velocity=Property.CFrame.lookVector*knockback+Property.Velocity/1.05
  639. elseif KnockbackType==2 then
  640. vp.velocity=Property.CFrame.lookVector*knockback
  641. end
  642. if knockback>0 then
  643. vp.Parent=hit.Parent.Torso
  644. end
  645. game:GetService("Debris"):AddItem(vp,.5)
  646. elseif Type=="Up" then
  647. local bodyVelocity=Instance.new("BodyVelocity")
  648. bodyVelocity.velocity=vt(0,60,0)
  649. bodyVelocity.P=5000
  650. bodyVelocity.maxForce=Vector3.new(8e+003, 8e+003, 8e+003)
  651. bodyVelocity.Parent=hit
  652. game:GetService("Debris"):AddItem(bodyVelocity,1)
  653. rl=Instance.new("BodyAngularVelocity")
  654. rl.P=3000
  655. rl.maxTorque=Vector3.new(500000,500000,500000)*50000000000000
  656. rl.angularvelocity=Vector3.new(math.random(-30,30),math.random(-30,30),math.random(-30,30))
  657. rl.Parent=hit
  658. game:GetService("Debris"):AddItem(rl,.5)
  659. elseif Type=="Snare" then
  660. bp=Instance.new("BodyPosition")
  661. bp.P=2000
  662. bp.D=100
  663. bp.maxForce=Vector3.new(math.huge,math.huge,math.huge)
  664. bp.position=hit.Parent.Torso.Position
  665. bp.Parent=hit.Parent.Torso
  666. game:GetService("Debris"):AddItem(bp,1)
  667. elseif Type=="Target" then
  668. if Targetting==false then
  669. ZTarget=hit.Parent.Torso
  670. coroutine.resume(coroutine.create(function(Part)
  671. so("http://www.roblox.com/asset/?id=15666462",Part,1,1.5)
  672. swait(5)
  673. so("http://www.roblox.com/asset/?id=15666462",Part,1,1.5)
  674. end),ZTarget)
  675. TargHum=ZTarget.Parent:findFirstChild("Humanoid")
  676. targetgui=Instance.new("BillboardGui")
  677. targetgui.Parent=ZTarget
  678. targetgui.Size=UDim2.new(10,100,10,100)
  679. targ=Instance.new("ImageLabel")
  680. targ.Parent=targetgui
  681. targ.BackgroundTransparency=1
  682. targ.Image="rbxassetid://4834067"
  683. targ.Size=UDim2.new(1,0,1,0)
  684. cam.CameraType="Scriptable"
  685. cam.CoordinateFrame=CFrame.new(Head.CFrame.p,ZTarget.Position)
  686. dir=Vector3.new(cam.CoordinateFrame.lookVector.x,0,cam.CoordinateFrame.lookVector.z)
  687. workspace.CurrentCamera.CoordinateFrame=CFrame.new(Head.CFrame.p,ZTarget.Position)
  688. Targetting=true
  689. RocketTarget=ZTarget
  690. for i=1,Property do
  691. --while Targetting==true and Humanoid.Health>0 and Character.Parent~=nil do
  692. if Humanoid.Health>0 and Character.Parent~=nil and TargHum.Health>0 and TargHum.Parent~=nil and Targetting==true then
  693. swait()
  694. end
  695. --workspace.CurrentCamera.CoordinateFrame=CFrame.new(Head.CFrame.p,Head.CFrame.p+rmdir*100)
  696. cam.CoordinateFrame=CFrame.new(Head.CFrame.p,ZTarget.Position)
  697. dir=Vector3.new(cam.CoordinateFrame.lookVector.x,0,cam.CoordinateFrame.lookVector.z)
  698. cam.CoordinateFrame=CFrame.new(Head.CFrame.p,ZTarget.Position)*cf(0,5,10)*euler(-0.3,0,0)
  699. end
  700. Targetting=false
  701. RocketTarget=nil
  702. targetgui.Parent=nil
  703. cam.CameraType="Custom"
  704. end
  705. end
  706. debounce=Instance.new("BoolValue")
  707. debounce.Name="DebounceHit"
  708. debounce.Parent=hit.Parent
  709. debounce.Value=true
  710. game:GetService("Debris"):AddItem(debounce,Delay)
  711. c=Instance.new("ObjectValue")
  712. c.Name="creator"
  713. c.Value=Player
  714. c.Parent=h
  715. game:GetService("Debris"):AddItem(c,.5)
  716. CRIT=false
  717. hitDeb=true
  718. AttackPos=6
  719. end
  720. end
  721.  
  722. showDamage=function(Char,Dealt,du,Color)
  723. m=Instance.new("Model")
  724. m.Name=tostring(Dealt)
  725. h=Instance.new("Humanoid")
  726. h.Health=0
  727. h.MaxHealth=0
  728. h.Parent=m
  729. c=Instance.new("Part")
  730. c.Transparency=0
  731. c.BrickColor=Color
  732. c.Name="Head"
  733. c.TopSurface=0
  734. c.BottomSurface=0
  735. c.formFactor="Plate"
  736. c.Size=Vector3.new(1,.4,1)
  737. ms=Instance.new("CylinderMesh")
  738. ms.Scale=Vector3.new(.8,.8,.8)
  739. if CRIT==true then
  740. ms.Scale=Vector3.new(1,1.25,1)
  741. end
  742. ms.Parent=c
  743. c.Reflectance=0
  744. Instance.new("BodyGyro").Parent=c
  745. c.Parent=m
  746. if Char:findFirstChild("Head")~=nil then
  747. c.CFrame=CFrame.new(Char["Head"].CFrame.p+Vector3.new(0,1.5,0))
  748. elseif Char.Parent:findFirstChild("Head")~=nil then
  749. c.CFrame=CFrame.new(Char.Parent["Head"].CFrame.p+Vector3.new(0,1.5,0))
  750. end
  751. f=Instance.new("BodyPosition")
  752. f.P=2000
  753. f.D=100
  754. f.maxForce=Vector3.new(math.huge,math.huge,math.huge)
  755. f.position=c.Position+Vector3.new(0,3,0)
  756. f.Parent=c
  757. game:GetService("Debris"):AddItem(m,.5+du)
  758. c.CanCollide=false
  759. m.Parent=workspace
  760. c.CanCollide=false
  761. end
  762.  
  763. handle=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,1,"Dark stone grey","Handle",Vector3.new(0.232000008, 0.812000036, 0.34799999))
  764. handleweld=weld(m,Character["Right Arm"],handle,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.0146102905, -0.318485737, 0.839184284, 1.00000632, -4.93172472e-008, -0.000935511896, -0.000935515272, -6.51810888e-006, -1.00000536, 4.32263612e-008, 0.999999762, -6.51843266e-006))
  765. Hitbox=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,1,"Dark stone grey","Hitbox",Vector3.new(5.11999989, 1.03200006, 0.800000012))
  766. Hitboxweld=weld(m,handle,Hitbox,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(2.26914215, -2.28439808, -0.0138931274, 5.5279628e-008, 0.000357966754, -0.999999583, -0.000903482374, 1.00000536, 0.000357964687, 1.00000632, 0.000903477019, 3.78699411e-007))
  767. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.463999987, 0.200000003, 0.232000008))
  768. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.0174179077, -4.69187212, -0.754995346, -1.0000025, 0.000546428899, -0.00286973943, -0.00286977179, -2.13581079e-005, 0.999995589, 0.000546361669, 1.00000572, 2.29263151e-005))
  769. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 1))
  770. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.69599992, 0.579999983, 0.927999973))
  771. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.00373840332, -2.08894491, 2.90544128, 1.00000536, 0.00170327828, -1.6089453e-007, -0.00170328422, 1.00000441, 1.36183207e-005, 1.84098781e-007, -1.36177896e-005, 0.999999642))
  772. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  773. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.231999993, 0.200000003, 0.231999993))
  774. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-1.79949474, -0.180219173, -0.227863312, -0.00172967673, 1.00001013, 2.24112646e-005, 6.46309104e-007, 2.24120486e-005, -0.999999523, -1.00001204, -0.00172966474, -6.85080067e-007))
  775. mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 1))
  776. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.34799999, 0.200000003, 0.696000099))
  777. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-1.74123478, -0.409946442, 4.40184164, -0.00107316044, 1.00000525, 1.4551938e-005, 1.0000062, 0.00107315509, 7.93131278e-007, 7.77512412e-007, 1.45525482e-005, -0.999999642))
  778. mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 1))
  779. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.69599998, 0.579999983, 0.927999914))
  780. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.000267028809, -0.582561016, -1.50176382, 1.00001347, -3.86033207e-007, -3.92623845e-009, 3.77418473e-007, 1.00001156, 2.45045476e-006, 3.94029254e-009, -2.44983767e-006, 0.999999285))
  781. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.69599998, 0.232000008, 0.231999993))
  782. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.00412750244, 1.45268583, -1.05011797, 1.00001216, 0.00172310648, 2.03311345e-007, 0.00172311824, -1.00001025, 6.49886579e-006, 2.14497248e-007, -6.49923504e-006, -0.999999285))
  783. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  784. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(3.13199997, 0.231999978, 0.69599998))
  785. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-1.80415058, -0.524322987, -0.00103759766, 9.72363068e-007, 2.15515029e-005, -0.999999285, -0.00172366935, 1.00001025, 2.15501732e-005, 1.00001216, 0.00172365736, 1.0095107e-006))
  786. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.463999987, 0.231999993, 0.232000008))
  787. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.00213241577, 0.754931927, -3.58990145, -1.00000894, 0.00341619202, 7.19290369e-007, -0.00341618108, -1.00000799, -2.25470994e-005, 6.42287603e-007, -2.25490967e-005, 0.999999642))
  788. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  789. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.231999993, 0.200000003, 0.231999993))
  790. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-1.79969883, -0.180217266, 0.23601532, -0.00172980642, 1.00001013, 2.24137202e-005, 6.46412275e-007, 2.24145024e-005, -0.999999285, -1.00001204, -0.00172979443, -6.85189946e-007))
  791. mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 1))
  792. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.69599998, 0.232000008, 0.231999993))
  793. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.00409317017, 1.45303392, 2.21011066, -1.00001216, -0.00168438489, -1.55491065e-007, 0.00168439688, -1.00001025, 6.03345643e-006, -1.6564087e-007, 6.03390299e-006, 0.999999285))
  794. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  795. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.232000008, 0.928000152, 0.34799999))
  796. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.0164337158, 0.00995254517, 0.378734589, 1.00000417, -0.000275396451, 0.000659934303, -0.000271914061, 0.707111299, 0.70709461, -0.000661380531, -0.707101762, 0.707109511))
  797. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.232000008, 0.463999957, 0.452400029))
  798. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.0109825134, -0.0555400848, 0.707753658, 1.00001204, 0.00170851196, -1.88033137e-005, -0.0017085236, 1.00001013, 1.71195006e-005, 1.88328195e-005, -1.70869171e-005, 0.999999285))
  799. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.812000036, 0.200000003, 0.200000003))
  800. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-4.96466255, -0.414768219, 0.721370459, -0.00134572294, 0.500003576, 0.866025984, 1.00001371, 0.000263436057, 0.00140178087, 0.000472741085, 0.866039276, -0.499996334))
  801. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 0.579999983))
  802. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0.60000002384186,"Pastel Blue","Part",Vector3.new(2.31999993, 0.34799999, 0.200000003))
  803. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(1.2697916, -1.39367867, 0.285621643, 9.60484385e-007, 2.34255967e-005, -0.999999404, -0.00169333746, 1.00001848, 2.34244617e-005, 1.00002027, 0.00169331662, 1.00015268e-006))
  804. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 0.579999983))
  805. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.231999904, 0.231999978, 0.69599998))
  806. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-3.02214336, -0.756259918, -0.00161361694, 9.72405815e-007, 2.15511936e-005, -0.999999046, -0.00172374037, 1.00001574, 2.15500022e-005, 1.00001884, 0.00172372279, 1.00955594e-006))
  807. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.232000008, 0.812000036, 0.34799999))
  808. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.0164260864, 0.299938202, -0.537542105, 1.00001764, -0.000275420141, 0.000659916259, -0.000271896773, 0.707119524, 0.707094133, -0.000661385478, -0.707109988, 0.707109034))
  809. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.579999983, 0.695999742, 0.463999987))
  810. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-1.39053106, -0.458235741, -0.011390686, -0.000440491422, 1.00001991, 1.48311792e-005, -5.82179155e-007, -1.48307363e-005, 0.999999404, 1.00002158, 0.000440472504, 5.88722855e-007))
  811. mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  812. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.231999993, 0.200000003, 0.200000003))
  813. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.0137062073, 0.00253915787, -1.46745825, -1.00000048, 0.00355784409, 1.83245029e-005, 0.00355784269, 0.999999583, 2.01142084e-005, -1.82529657e-005, 2.0179079e-005, -0.999999642))
  814. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 0.579999983))
  815. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.231999993, 0.200000003, 0.200000003))
  816. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.0136070251, 0.113649845, 0.986213684, -1.00001204, -0.00167019933, -1.89533148e-005, 0.0016702119, -1.00001013, -2.11289407e-005, -1.89182501e-005, -2.11601837e-005, 0.999999285))
  817. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 0.579999983))
  818. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.812000036, 0.200000003, 0.200000003))
  819. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-4.96466923, 0.397167206, 0.721361637, -0.0013458092, 0.50001061, 0.86602205, 1.00001383, 0.00026367465, 0.00140174653, 0.000472528627, 0.866035402, -0.500003278))
  820. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 0.579999983))
  821. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.69599998, 0.200000003, 0.928000033))
  822. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-1.56735134, -0.408821106, 3.24180651, -0.000670250331, 1.00001955, 1.51960503e-005, 1.00002134, 0.000670230889, 6.58439376e-007, 6.48245248e-007, 1.51957993e-005, -0.999999404))
  823. mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 1))
  824. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0.60000002384186,"Pastel Blue","Part",Vector3.new(2.31999993, 0.34799999, 0.200000003))
  825. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(1.26982021, -1.39350224, -0.295120239, 1.08945255e-006, 2.34336403e-005, -0.999999404, -0.00210836693, 1.00001788, 2.34318177e-005, 1.00001955, 0.00210834551, 1.13885642e-006))
  826. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 0.579999983))
  827. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.231999904, 0.231999978, 0.69599998))
  828. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-3.02117348, 1.4526372, 0.0043182373, -8.55062524e-007, -7.5024268e-006, -0.999999642, 0.00172491686, -1.00000417, 7.50057416e-006, -1.00000513, -0.00172491092, 8.67988547e-007))
  829. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.200000003, 0.200000003, 0.200000003))
  830. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.170059204, -2.2058959, 4.45978069, -1.00001419, -0.00135475828, -4.16571709e-007, -0.00135477353, 1.00001323, 4.34294707e-005, 3.57724417e-007, 4.34299582e-005, -0.999999642))
  831. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(0.579999983, 0.579999983, 0.579999983))
  832. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.232000008, 0.200000003, 0.34800005))
  833. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.00218582153, -0.812090874, 2.42410946, 1.0000062, -0.000122337253, -0.000491121027, -0.000139618875, 0.866030037, -0.499999434, 0.000486493052, 0.500002682, 0.866024911))
  834. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 1))
  835. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.231999993, 0.34799999, 0.200000003))
  836. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.00135040283, 0.462905884, 3.42825031, -1.00001216, -0.00170107209, -3.2242329e-007, 0.00170108408, -1.00001025, -4.80908056e-007, -3.21594428e-007, -4.80819381e-007, 0.999999285))
  837. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 0.579999983))
  838. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.231999993, 1.27600002, 0.69599998))
  839. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.00625753403, -1.16150713, -0.00413131714, 9.68375389e-007, 2.27232595e-005, -0.999999404, -0.00171916001, 1.00001824, 2.27220989e-005, 1.00002003, 0.00171913893, 1.0074408e-006))
  840. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.200000003, 0.200000003, 0.200000003))
  841. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.174598694, -2.20604086, 4.45978403, -1.0000217, 3.07324808e-006, 3.6950091e-008, 3.05491267e-006, 1.00001991, 4.44986144e-005, -3.68387809e-008, 4.44985162e-005, -0.999999404))
  842. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(0.579999983, 0.579999983, 0.579999983))
  843. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.232000008, 0.231999993, 0.34800005))
  844. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-5.7220459e-005, -0.171551704, 2.84820986, 1.00001347, 1.32246059e-005, -1.8708166e-005, -1.32331043e-005, 1.00001156, 9.19823833e-007, 1.87084588e-005, -9.18944352e-007, 0.999999285))
  845. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.812000155, 0.200000003, 0.231999993))
  846. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(1.90776682, -1.85868549, -0.00782012939, 1.8466252e-006, 2.3490722e-005, -0.999999404, -0.00454348512, 1.0000093, 2.34826093e-005, 1.00001109, 0.00454345904, 1.95331836e-006))
  847. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 1))
  848. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.200000003, 0.232000038, 0.463999987))
  849. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(4.69186592, -0.987005711, -0.00565719604, 1.16656577e-006, 2.24069317e-005, -0.999999642, -0.0023512831, 1.00000334, 2.24043106e-005, 1.00000429, 0.00235127681, 1.21924631e-006))
  850. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(0.579999983, 1, 1))
  851. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.69599992, 0.463999987, 0.34799999))
  852. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.008228302, -2.14741659, -0.0642538071, -1.00000715, 0.00357599347, 3.75979994e-007, 0.00357599184, 1.00000525, 2.70939381e-007, -3.75028975e-007, 2.71639692e-007, -0.999999285))
  853. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  854. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.232000008, 0.200000003, 0.200000003))
  855. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.000347137451, -1.8586607, -0.167779922, 1.00002146, -7.44219869e-006, -3.64530095e-008, 7.4239797e-006, 1.00001967, 2.38242046e-006, 3.6459241e-008, -2.38146504e-006, 0.999999404))
  856. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 0.579999983))
  857. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.231999993, 0.200000003, 0.200000003))
  858. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.0133476257, 0.114125729, -1.46745729, 1.00000048, -0.00355736027, 1.89384191e-005, -0.00355735887, -0.999999583, 2.02438559e-006, 1.8931225e-005, -2.09207792e-006, -0.999999642))
  859. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 0.579999983))
  860. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(1.74000013, 0.232000083, 0.69599998))
  861. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(3.64782763, -2.03162193, -0.00580215454, 1.18259686e-006, 2.35495809e-005, -0.999999404, -0.00240779901, 1.00001693, 2.35471889e-005, 1.00001872, 0.00240777642, 1.23929362e-006))
  862. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(2.31999993, 0.232000008, 0.463999987))
  863. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(1.26977873, -1.68380308, -0.00464248657, 1.04666037e-006, 2.36031628e-005, -0.999999285, -0.00197039847, 1.00000978, 2.36014093e-005, 1.00001168, 0.00197038613, 1.09316613e-006))
  864. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.463999987, 0.579999983, 1.15999985))
  865. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.000141143799, -0.00238656998, -1.38578653, 1.00001347, -2.6228372e-007, -3.18987103e-009, 2.53668986e-007, 1.00001156, 2.2798049e-006, 3.2041374e-009, -2.27918736e-006, 0.999999285))
  866. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.34800005, 0.200000003, 0.200000003))
  867. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-5.12457228, 0.377754211, -2.04072428, -0.00161815656, 2.28647568e-005, 0.999998331, 1.00000501, -0.000935775577, 0.00161816564, 0.000935807999, 1.00000536, -2.13500443e-005))
  868. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 0.579999983))
  869. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.232000008, 0.69599998, 0.34800005))
  870. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.00218963623, -1.21802139, 2.42397022, 1.00000656, -0.000122337195, -0.000491121318, -0.000139618875, 0.866030455, -0.499999672, 0.000486493111, 0.500002742, 0.866025031))
  871. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.232000008, 0.200000003, 0.59740001))
  872. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.012588501, -0.230174541, 1.22678614, 1.00001204, 0.00170156895, -1.85436711e-005, -0.00170158059, 1.00001013, 1.60903783e-005, 1.85713052e-005, -1.60583568e-005, 0.999999285))
  873. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 1))
  874. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.232000187, 0.200000003, 0.200000003))
  875. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(4.28582335, -2.20614576, 0.16740036, 1.29392276e-006, 2.35486077e-005, -0.999999285, -0.00276590372, 1.00000787, 2.35452953e-005, 1.00000978, 0.00276589021, 1.3590477e-006))
  876. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 0.579999983))
  877. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Cyan","Part",Vector3.new(0.579999983, 0.927999735, 0.463999987))
  878. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-1.39041233, -1.27023077, -0.011089325, -0.000441556913, 1.00001168, 1.47172686e-005, -5.82458881e-007, -1.47170649e-005, 0.999999285, 1.00001359, 0.0004415476, 5.88964099e-007))
  879. mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  880. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.463999987, 0.200000003, 0.928000033))
  881. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-1.56732988, 0.403812408, 3.24179888, -0.000671263493, 1.00000596, 1.39352715e-005, 1.00000691, 0.000671258371, 6.59181296e-007, 6.49824415e-007, 1.39354743e-005, -0.999999642))
  882. mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 1))
  883. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.200000003, 1.27600002, 0.69599998))
  884. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.180254936, -1.16150093, -0.0041885376, 9.68362087e-007, 2.2722732e-005, -0.999999285, -0.00171916536, 1.00001013, 2.27213986e-005, 1.00001204, 0.00171915337, 1.00742602e-006))
  885. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(0.579999983, 1, 1))
  886. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.232000008, 0.231999993, 0.916400015))
  887. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.0164260864, 0.589895248, 0.094648838, 1.00001764, -0.000275413156, 0.000659923593, -0.000271906902, 0.707119524, 0.707094133, -0.000661385711, -0.707109988, 0.707109034))
  888. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.231999993, 0.34799999, 0.200000003))
  889. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.00074005127, -0.113721371, 2.02377272, 1.00001466, -2.03231466e-005, 3.07392952e-007, -2.03155214e-005, -1.00001335, -1.85632734e-006, 3.07421914e-007, 1.85568797e-006, -0.999999404))
  890. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 0.579999983))
  891. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.69599992, 0.232000008, 0.200000003))
  892. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.000648498535, 0.523108482, 3.42824936, -1.00001204, -0.00170232763, -3.22026239e-007, 0.00170233962, -1.00001013, -4.4727858e-007, -3.21253964e-007, -4.47188995e-007, 0.999999285))
  893. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 0.579999983))
  894. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.69599992, 0.232000008, 0.231999993))
  895. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.00292205811, -2.03163147, 4.63377762, -1.00001311, -0.000978587777, -2.91069369e-007, -0.000978597905, 1.00001121, 4.45006881e-005, 2.4750986e-007, 4.45008554e-005, -0.999999285))
  896. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  897. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(1.62399995, 0.927999794, 0.928000033))
  898. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-1.1038084, 0.702246666, -0.00408935547, -0.00171928364, 1.00001013, 1.46179427e-005, -5.92813478e-007, -1.46185203e-005, 0.999999285, 1.00001204, 0.00171927165, 6.17952878e-007))
  899. mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  900. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.200000003, 0.200000003, 0.463999987))
  901. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.180233479, -1.85741377, -0.00400161743, 9.68401537e-007, 2.21498412e-005, -0.999999285, -0.00171989296, 1.00001013, 2.2148517e-005, 1.00001204, 0.00171988097, 1.00649675e-006))
  902. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(0.579999983, 0.580000103, 1))
  903. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.463999987, 0.34799999, 0.200000003))
  904. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.00061416626, 0.113962173, -0.515907764, 1.00000679, 8.48609488e-007, -1.58665658e-009, -8.52916855e-007, 1.00000584, 8.92841399e-007, 1.59491531e-009, -8.9252535e-007, 0.999999642))
  905. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 0.579999983))
  906. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.69599998, 0.200000003, 0.200000003))
  907. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.000152587891, 0.350605965, -0.979739666, -1.00001347, 3.24973371e-007, -3.23643548e-007, -3.16358637e-007, -1.00001156, -4.67361169e-005, -3.23648152e-007, -4.67360405e-005, 0.999999285))
  908. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 0.579999983))
  909. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.232000008, 0.200000003, 0.231999978))
  910. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.0134773254, -2.03588963, 0.0627288818, 1.0000118, 0.00168008753, -0.000919409504, -0.000919448154, 1.43879734e-005, -0.999998927, -0.00168008532, 1.00001025, 1.59331266e-005))
  911. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 1))
  912. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.231999993, 0.34799999, 0.34799999))
  913. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.00144577026, 0.465278625, 2.25577259, 1.00000525, -0.00357661862, 2.83521615e-007, -0.00357662095, -1.00000381, -2.32054535e-005, 3.66508516e-007, 2.32040093e-005, -0.999999404))
  914. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  915. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.69599998, 0.231999993, 0.69599998))
  916. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.4577775, -0.755722523, -0.00420379639, 9.68686891e-007, 2.31499107e-005, -0.999999285, -0.00171863148, 1.00001037, 2.31485628e-005, 1.00001228, 0.00171861949, 1.00847365e-006))
  917. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.927999914, 0.231999978, 0.69599998))
  918. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-1.63014698, -0.756272316, -0.00161361694, 9.72395696e-007, 2.15512227e-005, -0.999999285, -0.00172371534, 1.00001013, 2.15498931e-005, 1.00001204, 0.00172370335, 1.00954367e-006))
  919. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.69599998, 0.232000008, 0.231999993))
  920. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.000984191895, -0.756361485, 0.354147911, 1.00001216, 0.00168376672, -1.40138248e-008, -0.00168377871, 1.00001025, 2.1083024e-005, 4.95281753e-008, -2.10825874e-005, 0.999999285))
  921. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  922. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.463999987, 0.200000003, 0.231999844))
  923. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-4.19616699e-005, -0.350408554, -0.921793938, 1.00001347, 8.28295015e-008, -2.89782998e-009, -9.14442353e-008, 1.00001156, 2.05126844e-006, 2.91285485e-009, -2.05064771e-006, 0.999999285))
  924. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 1))
  925. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.231999993, 0.200000003, 0.463999987))
  926. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.00622749329, -1.85754061, -0.00392532349, 9.6856877e-007, 2.22277413e-005, -0.999999285, -0.00171961775, 1.00001037, 2.2226408e-005, 1.00001228, 0.00171960576, 1.00679244e-006))
  927. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.580000103, 1))
  928. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(3.13199997, 0.231999978, 0.69599998))
  929. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-1.804111, 1.68473339, 0.00412750244, -8.36535833e-007, -6.4935798e-006, -0.999999285, 0.00172392465, -1.00001013, 6.49140156e-006, -1.00001204, -0.00172391266, 8.47700733e-007))
  930. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.69599998, 0.232000008, 0.231999993))
  931. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.00101089478, -0.756358147, 3.25414419, 1.00001884, 0.00168378535, -1.40127501e-008, -0.00168380293, 1.00001574, 2.10829876e-005, 4.953597e-008, -2.1082411e-005, 0.999999046))
  932. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  933. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.231999993, 0.200000003, 0.200000003))
  934. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.00154876709, -0.345762253, -0.747890472, -1.00000513, 0.00184790534, -9.90573952e-008, -0.00184790278, -1.00000417, -3.50944756e-005, -1.63901603e-007, -3.50941227e-005, 0.999999642))
  935. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 0.579999983))
  936. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.231999993, 0.200000003, 0.231999993))
  937. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.00116729736, 0.582655907, 0.921771049, 1.0000118, -0.0018872465, 3.00768534e-007, -0.00188724138, -1.00000989, -2.33032779e-006, 3.05155339e-007, 2.32914181e-006, -0.999999285))
  938. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 1))
  939. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(2.31999993, 0.34799999, 0.69599998))
  940. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(1.26979065, -1.04566193, -0.00424575806, 9.68193035e-007, 2.35501375e-005, -0.999999285, -0.00171805895, 1.00001037, 2.35487987e-005, 1.00001228, 0.00171804742, 1.00865361e-006))
  941. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.232000187, 0.200000003, 0.200000003))
  942. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(4.28582954, -2.20552588, -0.181804657, 1.45761271e-006, 2.37911408e-005, -0.999999285, -0.00329261925, 1.00000644, 2.37865734e-005, 1.00000834, 0.00329260482, 1.53593442e-006))
  943. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 0.579999983))
  944. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.69599998, 0.200000003, 0.928000033))
  945. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-1.56748581, 0.403205872, 3.24181366, -0.000669696892, 1.00001156, 1.54301233e-005, 1.00001347, 0.000669687288, 6.58446311e-007, 6.48107061e-007, 1.54301015e-005, -0.999999285))
  946. mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 1))
  947. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.69599992, 0.232000008, 0.34799999))
  948. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.00191497803, -2.03143692, -2.60386896, 1.00001359, 0.000368760899, 2.53006078e-007, -0.000368769979, 1.00001168, 2.77856907e-006, -2.51969908e-007, -2.77804475e-006, 0.999999285))
  949. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  950. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.231999993, 0.231999993, 0.231999993))
  951. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-1.79963732, -0.0062046051, -0.227901459, -0.00172873132, 1.00001025, 2.30093628e-005, 6.45988621e-007, 2.30101468e-005, -0.999999285, -1.00001216, -0.00172871957, -6.85771909e-007))
  952. mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  953. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.231999993, 0.200000003, 0.200000003))
  954. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.000247955322, -1.85837555, 0.515717983, -1.00001347, 0.00037799112, 1.62256811e-007, 0.000377983262, 1.00001156, 4.46234044e-005, -1.45407441e-007, 4.4623368e-005, -0.999999285))
  955. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 0.579999983))
  956. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.69599992, 0.231999993, 0.200000003))
  957. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.00257110596, -1.6831336, 3.42826033, 1.00001204, 0.00170258048, -1.60158933e-007, -0.00170259248, 1.00001013, 1.46196398e-005, 1.8506725e-007, -1.46188831e-005, 0.999999285))
  958. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 0.579999983))
  959. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.232000008, 0.200000003, 0.200000003))
  960. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.000370025635, -1.8587203, -1.44380522, 1.00001359, -8.11205246e-006, -3.67194701e-008, 8.10361234e-006, 1.00001168, 2.74641434e-006, 3.67127662e-008, -2.74579975e-006, 0.999999285))
  961. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 0.579999983))
  962. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(2.31999993, 0.231999993, 0.200000003))
  963. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-1.27035666, -1.68360662, 0.293216705, -6.99449004e-007, 0.000311892974, 0.999999285, -0.00104407989, 1.00001121, -0.000311888987, -1.00001323, -0.00104407, -3.73821621e-007))
  964. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 0.579999983))
  965. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.928000152, 0.464000016, 0.463999987))
  966. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(4.16985369, -0.871246338, -0.0051651001, 1.16509625e-006, 2.38373486e-005, -0.999998808, -0.00235050265, 1.00001895, 2.38351458e-005, 1.00002158, 0.00235049031, 1.22111521e-006))
  967. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.232000008, 0.200000003, 1.04399979))
  968. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.000732421875, 0.345625401, -1.32782841, 1.00001347, 1.57987233e-006, -3.28700223e-009, -1.58848707e-006, 1.00001156, 1.30031594e-006, 3.30395888e-009, -1.29968794e-006, 0.999999285))
  969. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 1))
  970. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.232000172, 0.200000003, 0.231999993))
  971. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.341750622, -1.85878611, -0.00778961182, 1.84655323e-006, 2.3751556e-005, -0.999999285, -0.00454270514, 1.00000131, 2.3743276e-005, 1.00000322, 0.00454268791, 1.9544193e-006))
  972. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 1))
  973. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.69599998, 0.200000003, 1.2759999))
  974. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-2.28881836e-005, -0.466629028, -0.399776936, 1.00001347, -3.22703272e-007, -3.16622373e-009, 3.14088538e-007, 1.00001156, 2.64065238e-006, 3.18028226e-009, -2.6400412e-006, 0.999999285))
  975. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 1))
  976. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.69599998, 0.232000008, 0.231999993))
  977. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.0040397644, 1.45275879, 0.354114056, -1.00001884, -0.00168373343, -1.7531282e-007, 0.00168375147, -1.00001597, 6.02276077e-006, -1.85434587e-007, 6.02347882e-006, 0.999999166))
  978. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  979. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.231999993, 0.231999993, 0.231999993))
  980. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-1.79963207, -0.00620794296, 0.236164093, -0.00172861468, 1.00001025, 2.30448168e-005, 6.46028013e-007, 2.30456026e-005, -0.999999285, -1.00001216, -0.00172860292, -6.85869907e-007))
  981. mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  982. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(1.62399995, 1.27599967, 0.928000033))
  983. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-1.10384512, 2.7322464, -0.00403213501, -0.00171939307, 1.00001013, 1.46226739e-005, -5.92917615e-007, -1.46232505e-005, 0.999999285, 1.00001204, 0.00171938131, 6.18066792e-007))
  984. mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  985. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.231999993, 0.200000003, 0.200000003))
  986. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.000701904297, -0.345462322, 1.90779448, 1.00001347, -2.00413051e-005, 3.0602007e-007, -2.00327486e-005, -1.00001156, -2.15015098e-006, 3.06052669e-007, 2.14952706e-006, -0.999999285))
  987. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 0.579999983))
  988. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(1.04400015, 0.811999977, 0.69599998))
  989. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(4.2278223, -1.50939083, -0.00476455688, 1.06762559e-006, 2.37910026e-005, -0.999999285, -0.00203778502, 1.00000966, 2.37891327e-005, 1.00001156, 0.00203777291, 1.11610427e-006))
  990. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.463999987, 0.200000003, 0.928000033))
  991. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-1.56723642, -0.411323547, 3.2417984, -0.000671109243, 1.0000056, 1.40209831e-005, 1.00000656, 0.000671104353, 6.59014859e-007, 6.49602271e-007, 1.40211887e-005, -0.999999642))
  992. mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 1))
  993. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.69599998, 0.232000008, 0.231999993))
  994. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.00456619263, 1.45251989, 3.25319099, -1.00000548, -0.00168398093, -1.74997453e-007, 0.0016839871, -1.00000453, 7.01806357e-006, -1.86809473e-007, 7.01812223e-006, 0.999999642))
  995. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  996. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.69599998, 0.232000008, 0.231999993))
  997. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.0012512207, 0.756712437, 0.921786785, 1.00001192, -0.00188787864, 2.99965563e-007, -0.00188787398, -1.00001001, -2.71932527e-006, 3.05087923e-007, 2.71814042e-006, -0.999999285))
  998. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  999. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.69599998, 0.232000008, 0.231999993))
  1000. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.00101852417, -0.756660938, -1.05014706, -1.00001204, -0.00172244979, 6.12758271e-008, -0.00172246178, 1.00001013, 2.15474902e-005, -9.84062183e-008, 2.15469754e-005, -0.999999285))
  1001. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  1002. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.69599998, 0.580000103, 2.204))
  1003. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.00379943848, -2.08976412, 1.34025192, 1.00001204, 0.00171907921, 2.17523793e-005, -0.00171909155, 1.00001013, 1.06986054e-005, -2.17342458e-005, -1.07354717e-005, 0.999999285))
  1004. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(1.27600014, 1.04400003, 0.69599998))
  1005. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(3.06781864, -1.39336252, -0.00276947021, 6.42567954e-007, 2.37156328e-005, -0.999999285, -0.000670476642, 1.00001156, 2.37155527e-005, 1.00001347, 0.000670467038, 6.58474448e-007))
  1006. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.696000159, 0.200000003, 0.232000008))
  1007. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.457955837, -0.580825329, -0.0055770874, 1.16664842e-006, 2.21116316e-005, -0.999999642, -0.00235209521, 1.00000632, 2.21090704e-005, 1.00000727, 0.0023520845, 1.21865253e-006))
  1008. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 1))
  1009. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.69599998, 0.232000008, 0.231999993))
  1010. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.00102996826, -0.756342888, -2.7901454, -1.00001884, -0.00172247365, 6.13245135e-008, -0.001722491, 1.00001574, 2.15474611e-005, -9.84643691e-008, 2.15468062e-005, -0.999999046))
  1011. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  1012. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.200000003, 0.927999973, 0.200000003))
  1013. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-5.35656452, -0.0282249451, -2.04077148, -0.00161817856, 2.2865348e-005, 0.999997616, 1.00001848, -0.000935790653, 0.00161816448, 0.000935816381, 1.00001693, -2.13497078e-005))
  1014. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(0.579999983, 1, 0.579999983))
  1015. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.34799999, 0.200000003, 0.696000099))
  1016. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-1.7414937, 0.402587891, 4.40184164, -0.00107212085, 1.00001121, 1.57967261e-005, 1.00001311, 0.00107211061, 7.93275149e-007, 7.76334844e-007, 1.57971135e-005, -0.999999285))
  1017. mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 1))
  1018. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.231999993, 0.200000003, 0.200000003))
  1019. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.0135307312, 0.00276422501, 0.986213207, 1.00001204, 0.00167110038, -1.825656e-005, -0.00167111226, 1.00001013, -1.0784629e-006, 1.82550084e-005, 1.10962583e-006, 0.999999285))
  1020. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 0.579999983))
  1021. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.232000008, 0.231999964, 0.200000003))
  1022. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.0116043091, -0.169836521, 2.03595734, 1.00001204, 0.00170413801, -1.86736106e-005, -0.00170414965, 1.00001013, 1.63084733e-005, 1.87016558e-005, -1.62761844e-005, 0.999999285))
  1023. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 0.579999983))
  1024. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.927999914, 0.231999978, 0.69599998))
  1025. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-1.62992048, 1.45317078, 0.00423812866, -8.35475475e-007, -7.49478841e-006, -0.999999642, 0.00172465458, -1.00001037, 7.49267065e-006, -1.00001204, -0.00172464119, 8.48372508e-007))
  1026. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.69599998, 0.232000008, 0.231999993))
  1027. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.0048866272, 1.45256662, -2.78931189, 1.00000513, 0.00172351021, 2.02878823e-007, 0.00172351615, -1.00000417, 7.49809578e-006, 2.15795779e-007, -7.49809897e-006, -0.999999642))
  1028. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  1029. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.200000003, 0.200000003, 0.200000003))
  1030. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.175273895, -2.2061739, -4.11187935, 1.00001371, 0.00036665576, 8.8621448e-008, -0.000366665074, 1.0000118, 2.83818667e-006, -8.7566761e-008, -2.8376005e-006, 0.999999285))
  1031. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(0.579999983, 0.579999983, 0.579999983))
  1032. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.232000008, 0.579999983, 0.200000003))
  1033. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.000499725342, -0.350563049, -2.02378225, 1.00001347, -5.64614311e-007, -3.58900643e-009, 5.56057785e-007, 1.00001156, 2.58954788e-006, 3.60246588e-009, -2.58893624e-006, 0.999999285))
  1034. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 0.579999983))
  1035. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.232000008, 0.463999957, 0.452400029))
  1036. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.0107460022, -0.0555205345, 1.75172997, 1.00001204, 0.00170685095, -1.87402256e-005, -0.00170686259, 1.00001013, 1.71129595e-005, 1.87696915e-005, -1.7080516e-005, 0.999999285))
  1037. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.463999987, 0.200000003, 0.200000003))
  1038. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.000179290771, -0.11830616, -0.515934467, 1.00000679, 1.18016033e-006, -1.49793378e-009, -1.18446769e-006, 1.00000584, 4.800022e-007, 1.50599488e-009, -4.79683422e-007, 0.999999642))
  1039. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 0.579999983))
  1040. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.579999983, 0.695999742, 0.463999987))
  1041. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-1.39072371, -2.08222008, -0.0108184814, -0.000440219301, 1.00001168, 1.49555108e-005, -5.82121402e-007, -1.49553034e-005, 0.999999285, 1.00001359, 0.000440209988, 5.88711941e-007))
  1042. mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  1043. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.232000038, 0.200000003, 3.59599972))
  1044. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.000350952148, -0.34586668, 1.57220888, 1.00001347, -8.66054324e-006, -1.0555099e-009, 8.65192851e-006, 1.00001156, 6.67146651e-007, 1.06459686e-009, -6.66510914e-007, 0.999999285))
  1045. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 1))
  1046. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.69599998, 0.232000008, 0.231999993))
  1047. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.000980377197, -0.756362438, 2.21014261, 1.00001216, 0.00168377184, -1.39758196e-008, -0.00168378383, 1.00001025, 2.10831458e-005, 4.94904349e-008, -2.10827075e-005, 0.999999285))
  1048. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  1049. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.231999993, 0.200000003, 0.200000003))
  1050. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.000228881836, -1.85836792, 2.37173796, -1.00001347, 0.000378501718, 1.62424982e-007, 0.000378494151, 1.00001156, 4.46612976e-005, -1.45538479e-007, 4.46612685e-005, -0.999999285))
  1051. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 0.579999983))
  1052. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Cyan","Part",Vector3.new(1.62399995, 0.927999794, 0.928000033))
  1053. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-1.1039381, 1.63024521, -0.0039024353, -0.00172031764, 1.00001013, 1.46122475e-005, -5.72987631e-007, -1.46127904e-005, 0.999999285, 1.00001204, 0.00172030565, 5.98132715e-007))
  1054. mesh("CylinderMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  1055. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(2.9000001, 0.232000038, 0.232000008))
  1056. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(2.2558732, -0.755105019, -0.005027771, 1.16550927e-006, 2.32517414e-005, -0.999999046, -0.00235130615, 1.00001335, 2.32494094e-005, 1.00001562, 0.00235129381, 1.22017377e-006))
  1057. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.232000008, 0.812000036, 0.34799999))
  1058. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.000499725342, -0.000572681427, -0.399878502, 1.00001347, -3.89991328e-009, -1.60411329e-009, -4.71482053e-009, 1.00001156, 9.86925897e-007, 1.61898139e-009, -9.86294253e-007, 0.999999285))
  1059. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.463999987, 0.69599998, 0.231999993))
  1060. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.000854492188, -0.060251236, -0.689863205, 1.00000679, 9.31904651e-008, -2.52386245e-009, -9.7497832e-008, 1.00000584, 1.58413877e-006, 2.53151944e-009, -1.58382682e-006, 0.999999642))
  1061. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.69599998, 0.34799999, 0.34799996))
  1062. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.000202178955, -0.698717594, -0.863790989, 1.00001359, -9.37085133e-007, -4.30265912e-009, 9.28586815e-007, 1.00001168, 2.73720707e-006, 4.31539515e-009, -2.73659361e-006, 0.999999285))
  1063. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 1))
  1064. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(0.232000008, 0.200000003, 0.59740001))
  1065. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-0.0118713379, 0.117973328, 1.22682953, 1.00001204, 0.00170348049, -1.86220968e-005, -0.00170349213, 1.00001013, 1.60979762e-005, 1.86497764e-005, -1.60657855e-005, 0.999999285))
  1066. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 1))
  1067. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.200000003, 0.200000003, 0.200000003))
  1068. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(0.170646667, -2.20620346, -4.11187887, 1.00001299, 0.00135321938, 4.18644504e-007, -0.00135323033, 1.00001109, 2.83407667e-006, -4.147997e-007, -2.83402255e-006, 0.999999285))
  1069. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(0.579999983, 0.579999983, 0.579999983))
  1070. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Really black","Part",Vector3.new(0.34800005, 0.200000003, 0.200000003))
  1071. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-5.12456751, -0.434249878, -2.04071569, -0.00161815656, 2.28647568e-005, 0.999998331, 1.00000501, -0.000935775577, 0.00161816564, 0.000935807999, 1.00000536, -2.13500443e-005))
  1072. mesh("BlockMesh",Part,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 0.579999983))
  1073. Part=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Part",Vector3.new(2.31999993, 0.231999993, 0.200000003))
  1074. Partweld=weld(m,handle,Part,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(1.27036333, -1.68534136, 0.286766052, 4.37200288e-006, -0.00031248352, -0.999999225, -0.00104415184, 1.00001121, -0.000312483375, 1.00001323, 0.00104414311, 4.04568164e-006))
  1075. mesh("SpecialMesh",Part,Enum.MeshType.Wedge,"",Vector3.new(0, 0, 0),Vector3.new(1, 1, 0.579999983))
  1076. Barrel=part(Enum.FormFactor.Custom,m,Enum.Material.SmoothPlastic,0,0,"Dark stone grey","Barrel",Vector3.new(0.695999742, 0.200000003, 0.928000033))
  1077. Barrelweld=weld(m,handle,Barrel,CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1),CFrame.new(-1.09376717, 3.31707621, -0.00493240356, -0.00171980122, 1.00000441, 1.36221133e-005, -5.93967741e-007, -1.36229164e-005, 0.999999642, 1.00000536, 0.00171979528, 6.1739911e-007))
  1078. mesh("CylinderMesh",Barrel,"","",Vector3.new(0, 0, 0),Vector3.new(1, 0.579999983, 1))
  1079.  
  1080. LASER_WIDTH = 5
  1081. LASER_MAGIC_CIRCLE_DISTANCE = 6.25
  1082. laser_data = {}
  1083.  
  1084. player=game.Players.localPlayer
  1085. char=player.Character
  1086. active=false
  1087.  
  1088. math = {
  1089. abs = math.abs,
  1090. acos = math.acos,
  1091. asin = math.asin,
  1092. atan = math.atan,
  1093. atan2 = math.atan2,
  1094. ceil = math.ceil,
  1095. cos = math.cos,
  1096. cosh = math.cosh,
  1097. deg = math.deg,
  1098. exp = math.exp,
  1099. floor = math.floor,
  1100. fmod = math.fmod,
  1101. frexp = math.frexp,
  1102. huge = math.huge,
  1103. ldexp = math.ldexp,
  1104. log = math.log,
  1105. log10 = math.log10,
  1106. max = math.max,
  1107. min = math.min,
  1108. modf = math.modf,
  1109. phi = 1.618033988749895,
  1110. pi = math.pi,
  1111. pow = math.pow,
  1112. rad = math.rad,
  1113. random = math.random,
  1114. randomseed = math.randomseed,
  1115. sin = math.sin,
  1116. sinh = math.sinh,
  1117. sqrt = math.sqrt,
  1118. tan = math.tan,
  1119. tanh = math.tanh,
  1120. tau = 2 * math.pi
  1121. }
  1122. magicCircleData = {}
  1123. MAGIC_CIRCLE_DEFAULT_OFFSET = 6.25
  1124. function AnimateMagicCircle(data)
  1125. local frame, direction, magic_circle_model, magic_circle_part, magic_circle_light, magic_circle_decal_back, magic_circle_decal_front, duration,
  1126.  
  1127. stay, magic_circle_adornee_func, magic_circle_offset = unpack(data)
  1128. frame = frame + 1
  1129. data[1] = frame
  1130. local transparency = (frame / duration) ^ stay
  1131. local opacity = 1 - transparency
  1132. if frame == duration then
  1133. pcall(game.Destroy, magic_circle_model)
  1134. magicCircleData[data] = nil
  1135. else
  1136. if magic_circle_model.Parent ~= workspace then
  1137. magic_circle_model.Parent=workspace
  1138. end
  1139. local magic_circle_adornee = magic_circle_adornee_func()
  1140. magic_circle_position = magic_circle_adornee.Position + direction * magic_circle_offset
  1141. local magic_circle_cframe = CFrame.new(magic_circle_position, magic_circle_position + direction) * CFrame.Angles(0, 0, math.tau * frame /
  1142.  
  1143. 25)
  1144. magic_circle_part.CFrame = magic_circle_cframe
  1145. magic_circle_light.Brightness = opacity
  1146. magic_circle_decal_back.Transparency = transparency
  1147. magic_circle_decal_front.Transparency = transparency
  1148. end
  1149. end
  1150. function CreateMagicCircle(target, magic_circle_scale, magic_circle_image, light_color, duration, stay, magic_circle_adornee_func,
  1151.  
  1152. magic_circle_offset)
  1153. local magic_circle_adornee = magic_circle_adornee_func()
  1154. if magic_circle_adornee then
  1155. local origin = magic_circle_adornee.Position
  1156. local direction = (target - origin).unit
  1157. local magic_circle_position = origin + direction * magic_circle_offset
  1158. local magic_circle_cframe = CFrame.new(magic_circle_position, magic_circle_position + direction)
  1159. local magic_circle_model = Instance.new("Model")
  1160. local magic_circle_part = Instance.new("Part", magic_circle_model)
  1161. local magic_circle_mesh = Instance.new("BlockMesh", magic_circle_part)
  1162. local magic_circle_light = Instance.new("PointLight", magic_circle_part)
  1163. local magic_circle_decal_back = Instance.new("Decal", magic_circle_part)
  1164. local magic_circle_decal_front = Instance.new("Decal", magic_circle_part)
  1165. magic_circle_model.Archivable = false
  1166. magic_circle_part.Anchored = true
  1167. magic_circle_part.BottomSurface = "Smooth"
  1168. magic_circle_part.CanCollide = false
  1169. magic_circle_part.CFrame = magic_circle_cframe
  1170. magic_circle_part.FormFactor = "Custom"
  1171. magic_circle_part.Locked = true
  1172. magic_circle_part.Size = Vector3.new(0.2, 0.2, 0.2)
  1173. magic_circle_part.TopSurface = "Smooth"
  1174. magic_circle_part.Transparency = 1
  1175. magic_circle_mesh.Scale = Vector3.new(60, 60, 0) * magic_circle_scale
  1176. magic_circle_light.Color = light_color
  1177. magic_circle_light.Range = 16 * magic_circle_scale
  1178. magic_circle_light.Shadows = true
  1179. magic_circle_decal_back.Face = "Back"
  1180. magic_circle_decal_back.Texture = magic_circle_image
  1181. magic_circle_decal_front.Face = "Front"
  1182. magic_circle_decal_front.Texture = magic_circle_image
  1183. magic_circle_model.Parent = workspace
  1184. local data = {0, direction, magic_circle_model, magic_circle_part, magic_circle_light, magic_circle_decal_back, magic_circle_decal_front,
  1185.  
  1186. duration, stay, magic_circle_adornee_func, magic_circle_offset}
  1187. magicCircleData[data] = true
  1188. return data
  1189. end
  1190. end
  1191.  
  1192. --GraphicalEffects.fragmentation = {}
  1193. function AnimateLaserOfDeath(data)
  1194. local frame, directionOrientation, direction, magic_circle_model, laser_part, laser_mesh, magic_circle_part, magic_circle_light,
  1195.  
  1196. magic_circle_decal_back, magic_circle_decal_front, sound, laser_scale, fragmentation_size, duration, laser_lights, laser_effects, stay, light_effects =
  1197.  
  1198. unpack(data)
  1199. local laser_color = laser_part.Color
  1200. frame = frame + 1
  1201. data[1] = frame
  1202. local transparency = (frame / duration) ^ stay
  1203. local opacity = 1 - transparency
  1204. if frame == 2 then
  1205. sound:Play()
  1206. end
  1207. if frame == duration then
  1208. pcall(game.Destroy, magic_circle_model)
  1209. laser_data[data] = nil
  1210. else
  1211. if magic_circle_model.Parent ~= workspace then
  1212. magic_circle_model.Parent=workspace
  1213. end
  1214. local laser_distance = 0
  1215. local origin = Barrel.CFrame
  1216. if not light_effects then
  1217. direction = (origin * directionOrientation - origin.p).unit
  1218. end
  1219. local magic_circle_position = origin.p + direction * LASER_MAGIC_CIRCLE_DISTANCE
  1220. local magic_circle_cframe = CFrame.new(magic_circle_position, magic_circle_position + direction) * CFrame.Angles(0, 0, math.tau * frame /
  1221.  
  1222. 25)
  1223. local loop_scale = (laser_scale - 1) / 10
  1224. for x_offset = -loop_scale, loop_scale, 2 do
  1225. for y_offset = -loop_scale, loop_scale, 2 do
  1226. local origin_position = magic_circle_cframe * Vector3.new(x_offset, y_offset, 0)
  1227. for index = 1, 8 do
  1228. local part, position
  1229. for ray_index = 1, 10 do
  1230. local ray = Ray.new(origin_position + direction * (999 * (ray_index - 1)), direction * 999)
  1231. part, position = workspace:FindPartOnRay(ray, magic_circle_model)
  1232. if part then
  1233. break
  1234. end
  1235. end
  1236. if part then
  1237. laser_distance = (position - origin_position).magnitude
  1238. if frame % 8 == 1 and index == 1 then
  1239. Instance.new("Explosion", workspace).Position = position
  1240. end
  1241. if not part:IsA("Terrain") then
  1242. pcall(part.BreakJoints, part)
  1243. local is_block = part:IsA("Part") and part.Shape == Enum.PartType.Block
  1244. local mass = part:GetMass()
  1245. local size = part.Size
  1246. if (is_block and ((size.X < fragmentation_size and size.Y < fragmentation_size and size.Z <
  1247.  
  1248. fragmentation_size) or (not part.Anchored and mass < 750))) or (not is_block and mass < 250000) then
  1249. local part_transparency = math.max(part.Transparency + 0.007 * fragmentation_size, 0.5)
  1250. if part_transparency >= 0.5 then -- temporarily to minimize debris
  1251. pcall(game.Destroy, part)
  1252. else
  1253. local cframe = part.CFrame
  1254. part.Anchored = false
  1255. part.BrickColor = BrickColor.new("Medium stone grey")
  1256. part.CanCollide = true
  1257. if part:IsA("FormFactorPart") then
  1258. part.FormFactor = "Custom"
  1259. end
  1260. part.Size = size - Vector3.new(0.135, 0.135, 0.135) * fragmentation_size
  1261. part.Transparency = part_transparency
  1262. part.CFrame = cframe + direction * 5
  1263. part.Velocity = part.Velocity + direction * 40
  1264. end
  1265. elseif is_block then
  1266. local parts = {part}
  1267. local model = Instance.new("Model", part.Parent)
  1268. model.Name = "Fragments"
  1269. if size.X >= fragmentation_size then
  1270. size = Vector3.new(0.5, 1, 1) * size
  1271. local archivable = part.Archivable
  1272. local cframe = part.CFrame
  1273. part.FormFactor = "Custom"
  1274. part.Size = size
  1275. part.Archivable = true
  1276. local part_clone = part:Clone()
  1277. part.Archivable = archivable
  1278. part_clone.Archivable = archivable
  1279. part.CFrame = cframe * CFrame.new(-0.5 * size.X, 0, 0)
  1280. part_clone.CFrame = cframe * CFrame.new(0.5 * size.X, 0, 0)
  1281. part_clone.Parent = model
  1282. parts[2] = part_clone
  1283. end
  1284. if size.Y >= fragmentation_size then
  1285. size = Vector3.new(1, 0.5, 1) * size
  1286. for part_index = 1, #parts do
  1287. local part = parts[part_index]
  1288. local archivable = part.Archivable
  1289. local cframe = part.CFrame
  1290. part.FormFactor = "Custom"
  1291. part.Size = size
  1292. part.Archivable = true
  1293. local part_clone = part:Clone()
  1294. part.Archivable = archivable
  1295. part_clone.Archivable = archivable
  1296. part.CFrame = cframe * CFrame.new(0, -0.5 * size.Y, 0)
  1297. part_clone.CFrame = cframe * CFrame.new(0, 0.5 * size.Y, 0)
  1298. part_clone.Parent = model
  1299. table.insert(parts, part_clone)
  1300. end
  1301. end
  1302. if size.Z >= fragmentation_size then
  1303. size = Vector3.new(1, 1, 0.5) * size
  1304. for part_index = 1, #parts do
  1305. local part = parts[part_index]
  1306. local archivable = part.Archivable
  1307. local cframe = part.CFrame
  1308. part.FormFactor = "Custom"
  1309. part.Size = size
  1310. part.Archivable = true
  1311. local part_clone = part:Clone()
  1312. part.Archivable = archivable
  1313. part_clone.Archivable = archivable
  1314. part.CFrame = cframe * CFrame.new(0, 0, -0.5 * size.Z)
  1315. part_clone.CFrame = cframe * CFrame.new(0, 0, 0.5 * size.Z)
  1316. part_clone.Parent = model
  1317. table.insert(parts, part_clone)
  1318. end
  1319. end
  1320. for _, part in ipairs(parts) do
  1321. part:MakeJoints()
  1322. end
  1323. else
  1324. break
  1325. end
  1326. end
  1327. else
  1328. laser_distance = 9990
  1329. break
  1330. end
  1331. end
  1332. end
  1333. end
  1334. local laser_cframe = magic_circle_cframe * CFrame.Angles(-0.5 * math.pi, 0, 0)
  1335. local laser_width = LASER_WIDTH * opacity * laser_scale
  1336. local laser_mesh_offset = Vector3.new(0, 0.5 * laser_distance, 0)
  1337. laser_part.CFrame = laser_cframe
  1338. if laser_effects then
  1339. local laser_effect_data_1, laser_effect_data_2 = laser_effects[1], laser_effects[2]
  1340. local laser_effect_1, laser_effect_mesh_1 = laser_effect_data_1[1], laser_effect_data_1[2]
  1341. local laser_effect_2, laser_effect_mesh_2 = laser_effect_data_2[1], laser_effect_data_2[2]
  1342. laser_effect_1.CFrame = laser_cframe
  1343. laser_effect_2.CFrame = laser_cframe
  1344. laser_effect_mesh_1.Offset = laser_mesh_offset
  1345. laser_effect_mesh_2.Offset = laser_mesh_offset
  1346. local game_time = time()
  1347. local effect_scale_1 = 0.5 + 0.5 * math.sin(16 * math.pi * game_time)
  1348. local effect_scale_2 = 0.5 + 0.5 * math.cos(16 * math.pi * game_time)
  1349. laser_effect_mesh_1.Scale = 5 * Vector3.new(laser_width * effect_scale_1, laser_distance, laser_width * effect_scale_1)
  1350. laser_effect_mesh_2.Scale = 5 * Vector3.new(laser_width * effect_scale_2, laser_distance, laser_width * effect_scale_2)
  1351. laser_width = laser_width * 0.25
  1352. end
  1353. laser_mesh.Offset = laser_mesh_offset
  1354. laser_mesh.Scale = 5 * Vector3.new(laser_width, laser_distance, laser_width)
  1355. magic_circle_part.CFrame = magic_circle_cframe
  1356. magic_circle_light.Brightness = opacity
  1357. magic_circle_decal_back.Transparency = transparency
  1358. magic_circle_decal_front.Transparency = transparency
  1359. if light_effects then
  1360. for index, data in ipairs(laser_lights) do
  1361. local laser_spotlight_part, laser_spotlight = data[1], data[2]
  1362. local laser_spotlight_offset = 30 * (index - 1)
  1363. if laser_spotlight_offset <= laser_distance then
  1364. laser_spotlight_part.CFrame = magic_circle_cframe * CFrame.new(0, 0, -laser_spotlight_offset)
  1365. laser_spotlight.Brightness = opacity
  1366. laser_spotlight.Enabled = true
  1367. else
  1368. laser_spotlight.Enabled = false
  1369. end
  1370. end
  1371. end
  1372. end
  1373. end
  1374. function ShootLaserOfDeath(target, data)
  1375. data = data or {}
  1376. local brickcolor = data.brickcolor or BrickColor.new("Really black")
  1377. local duration = data.duration or 40
  1378. local fragmentation_size = data.fragmentation_size or 3
  1379. local laser_scale = data.laser_scale or 1
  1380. local light_color = data.light_color or Color3.new(1, 0.5, 1)
  1381. local magic_circle_image = data.magic_circle_image or "rbxassetid://122610943"
  1382. local magic_circle_scale = data.magic_circle_scale or 1
  1383. local sound_volume = data.sound_volume or 1 / 3
  1384. local special_effects = data.special_effects
  1385. local stay = data.stay or 4
  1386. local origin = Barrel.CFrame
  1387. local directionOrientation = origin:pointToObjectSpace(target)
  1388. local direction = (target - origin.p).unit
  1389. local magic_circle_position = origin.p + direction * LASER_MAGIC_CIRCLE_DISTANCE
  1390. local magic_circle_cframe = CFrame.new(magic_circle_position, magic_circle_position + direction)
  1391. local magic_circle_model = Instance.new("Model")
  1392. local laser_part = Instance.new("Part", magic_circle_model)
  1393. local laser_mesh = Instance.new("CylinderMesh", laser_part)
  1394. local magic_circle_part = Instance.new("Part", magic_circle_model)
  1395. local magic_circle_mesh = Instance.new("BlockMesh", magic_circle_part)
  1396. local magic_circle_light = Instance.new("PointLight", magic_circle_part)
  1397. local magic_circle_decal_back = Instance.new("Decal", magic_circle_part)
  1398. local magic_circle_decal_front = Instance.new("Decal", magic_circle_part)
  1399. local sound = Instance.new("Sound", magic_circle_part)
  1400. sound.Pitch = 0.9
  1401. sound.SoundId = "rbxassetid://222371404"
  1402. sound.Volume = 1
  1403. magic_circle_model.Archivable = false
  1404. laser_part.Anchored = true
  1405. laser_part.BottomSurface = "Smooth"
  1406. laser_part.BrickColor = brickcolor
  1407. laser_part.CanCollide = false
  1408. laser_part.CFrame = magic_circle_cframe * CFrame.Angles(-0.5 * math.pi, 0, 0)
  1409. laser_part.FormFactor = "Custom"
  1410. laser_part.Locked = true
  1411. laser_part.Size = Vector3.new(0.2, 0.2, 0.2)
  1412. laser_part.TopSurface = "Smooth"
  1413. laser_mesh.Offset = Vector3.new(0, 0, 0)
  1414. laser_mesh.Name = "Mesh"
  1415. laser_mesh.Scale = 5 * laser_scale * Vector3.new(LASER_WIDTH, 0, LASER_WIDTH)
  1416. magic_circle_part.Anchored = true
  1417. magic_circle_part.BottomSurface = "Smooth"
  1418. magic_circle_part.CanCollide = false
  1419. magic_circle_part.CFrame = magic_circle_cframe
  1420. magic_circle_part.FormFactor = "Custom"
  1421. magic_circle_part.Locked = true
  1422. magic_circle_part.Size = Vector3.new(0.2, 0.2, 0.2)
  1423. magic_circle_part.TopSurface = "Smooth"
  1424. magic_circle_part.Transparency = 1
  1425. magic_circle_mesh.Scale = Vector3.new(60, 60, 0) * magic_circle_scale
  1426. magic_circle_light.Color = light_color
  1427. magic_circle_light.Range = 16 * magic_circle_scale
  1428. magic_circle_light.Shadows = true
  1429. magic_circle_decal_back.Face = "Back"
  1430. magic_circle_decal_back.Texture = magic_circle_image
  1431. magic_circle_decal_front.Face = "Front"
  1432. magic_circle_decal_front.Texture = magic_circle_image
  1433. magic_circle_model.Parent = workspace
  1434. local laser_color = brickcolor.Color
  1435. local laser_lights = {}
  1436. local light_effects = laser_color.r + laser_color.g + laser_color.b > 0.25
  1437. if light_effects then
  1438. local laser_spotlight_part_template = Instance.new("Part")
  1439. local laser_spotlight_light_template = Instance.new("SpotLight", laser_spotlight_part_template)
  1440. laser_spotlight_part_template.Anchored = true
  1441. laser_spotlight_part_template.Anchored = true
  1442. laser_spotlight_part_template.BottomSurface = "Smooth"
  1443. laser_spotlight_part_template.CanCollide = false
  1444. laser_spotlight_part_template.FormFactor = "Custom"
  1445. laser_spotlight_part_template.Locked = true
  1446. laser_spotlight_part_template.Size = Vector3.new(0.2, 0.2, 0.2)
  1447. laser_spotlight_part_template.TopSurface = "Smooth"
  1448. laser_spotlight_part_template.Transparency = 1
  1449. laser_spotlight_light_template.Angle = 45
  1450. laser_spotlight_light_template.Color = laser_color
  1451. laser_spotlight_light_template.Enabled = true
  1452. laser_spotlight_light_template.Name = "Light"
  1453. laser_spotlight_light_template.Range = 60
  1454. for index = 1, 40 do
  1455. local laser_spotlight_part = laser_spotlight_part_template:Clone()
  1456. laser_spotlight_part.CFrame = magic_circle_cframe * CFrame.new(0, 0, -30 * (index - 1))
  1457. laser_spotlight_part.Parent = magic_circle_model
  1458. laser_lights[index] = {laser_spotlight_part, laser_spotlight_part.Light}
  1459. end
  1460. end
  1461. local laser_effects
  1462. if special_effects then
  1463. laser_effects = {}
  1464. local laser_effect_1 = laser_part:Clone()
  1465. laser_effect_1.BrickColor = special_effects
  1466. laser_effect_1.Transparency = 0.5
  1467. local laser_effect_2 = laser_effect_1:Clone()
  1468. laser_effects[1], laser_effects[2] = {laser_effect_1, laser_effect_1.Mesh}, {laser_effect_2, laser_effect_2.Mesh}
  1469. laser_effect_1.Parent = magic_circle_model
  1470. laser_effect_2.Parent = magic_circle_model
  1471. end
  1472. laser_data={0, directionOrientation, direction, magic_circle_model, laser_part, laser_mesh, magic_circle_part,
  1473.  
  1474. magic_circle_light, magic_circle_decal_back, magic_circle_decal_front, sound, laser_scale, fragmentation_size, duration, laser_lights, laser_effects, stay,
  1475.  
  1476. light_effects}
  1477. end
  1478.  
  1479. function laser(target)
  1480. ShootLaserOfDeath(target, {brickcolor = BrickColor.new("New Yeller"), duration = 20, fragmentation_size = 10,
  1481.  
  1482. laser_scale = 3, light_color = Color3.new(1, 0.5, 0), magic_circle_image = "rbxassetid://1", magic_circle_scale = 1.5, sound_volume = 1,
  1483.  
  1484. special_effects = BrickColor.new("Deep orange"), stay = 2})
  1485. end
  1486.  
  1487. function LaserAtMouse()
  1488. laser(mouse.Hit.p)
  1489. end
  1490.  
  1491. mouse.Button1Down:connect(function()
  1492. pcall(function()
  1493. shoot()
  1494. end)
  1495. end)
  1496.  
  1497. ready=false
  1498.  
  1499. mouse.KeyDown:connect(function(k)
  1500. k=k:lower()
  1501. if k=='f' then
  1502. if ready==false then
  1503. ready=true
  1504. attack=true
  1505. elseif ready==true then
  1506. ready=false
  1507. attack=false
  1508. end
  1509. elseif k=='q' and attack==false then
  1510. Melee()
  1511. end
  1512. end)
  1513.  
  1514. function Melee()
  1515. attack = true
  1516. con1=Hitbox.Touched:connect(function(hit) Damagefunc(hit,50,100,math.random(10,15),"Normal",RootPart,.2,1) end)
  1517. for i=0,3,0.3 do
  1518. swait()
  1519. LW.C0=clerp(LW.C0,cf(-1.5,0.5,0)*angles(math.rad(5),math.rad(25),math.rad(-20)),.3)
  1520. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*angles(math.rad(160),math.rad(0),math.rad(0)),.3)
  1521.  
  1522. end
  1523. so("http://www.roblox.com/asset/?id=200632136",Hitbox,1,0.8)
  1524. for i=0,3,0.3 do
  1525. swait()
  1526. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*angles(math.rad(20),math.rad(0),math.rad(0)),.3)
  1527. handleweld.C0=clerp(handleweld.C0,cf(0,0,0)*angles(math.rad(-150),math.rad(0),math.rad(0)),.3)
  1528. end
  1529. attack=false
  1530. con1:disconnect()
  1531. end
  1532.  
  1533. function shoot()
  1534. if attack==true and ready==true then
  1535. ready=false
  1536. attack=true
  1537. LaserAtMouse()
  1538. for i=0,3,0.3 do
  1539. swait()
  1540. Torso.Neck.C0=clerp(Torso.Neck.C0,necko*angles(math.rad(10),math.rad(0),math.rad(0)),.3)
  1541. RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,0)*angles(math.rad(-30),math.rad(0),math.rad(0)),.3)
  1542. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*angles(math.rad(120),math.rad(0),math.rad(0)),.3)
  1543. LW.C0=clerp(LW.C0,cf(-0,0.5,-.7)*angles(math.rad(180),math.rad(0),math.rad(40)),.3)
  1544. Torso.Velocity=Head.CFrame.lookVector*-100
  1545. end
  1546. attack=false
  1547. end
  1548. end
  1549.  
  1550. local sine = 0
  1551. local change = 1
  1552. local val = 0
  1553.  
  1554. while true do
  1555. swait()
  1556. sine = sine + change
  1557. local torvel=(RootPart.Velocity*Vector3.new(1,0,1)).magnitude
  1558. local velderp=RootPart.Velocity.y
  1559. hitfloor,posfloor=rayCast(RootPart.Position,(CFrame.new(RootPart.Position,RootPart.Position - Vector3.new(0,1,0))).lookVector,4,Character)
  1560. if equipped==true or equipped==false then
  1561. if attack==false then
  1562. idle=idle+1
  1563. else
  1564. idle=0
  1565. end
  1566. if idle>=500 then
  1567. if attack==false then
  1568. --Sheath()
  1569. end
  1570. end
  1571. if RootPart.Velocity.y > 1 and hitfloor==nil then
  1572. Anim="Jump"
  1573. if attack==false then
  1574. handleweld.C0=clerp(handleweld.C0,cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(0)),.3)
  1575. RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,0)*angles(math.rad(-20),math.rad(0),math.rad(0)),.3)
  1576. Torso.Neck.C0=clerp(Torso.Neck.C0,necko*angles(math.rad(10),math.rad(0),math.rad(0)),.3)
  1577. end
  1578. elseif RootPart.Velocity.y < -1 and hitfloor==nil then
  1579. Anim="Fall"
  1580. if attack==false then
  1581. handleweld.C0=clerp(handleweld.C0,cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(0)),.3)
  1582. RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,0)*angles(math.rad(10),math.rad(0),math.rad(0)),.3)
  1583. Torso.Neck.C0=clerp(Torso.Neck.C0,necko*angles(math.rad(-5),math.rad(0),math.rad(0)),.3)
  1584. end
  1585. elseif torvel<1 and hitfloor~=nil then
  1586. Anim="Idle"
  1587. if attack==false then
  1588. handleweld.C0=clerp(handleweld.C0,cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(0)),.3)
  1589. RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(0)),.3)
  1590. Torso.Neck.C0=clerp(Torso.Neck.C0,necko*angles(math.rad(0),math.rad(0),math.rad(0)),.3)
  1591. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*angles(math.rad(60),math.rad(0),math.rad(0)),.3)
  1592. LW.C0=clerp(LW.C0,cf(-0,0.5,-.7)*angles(math.rad(120),math.rad(0),math.rad(40)),.3)
  1593. end
  1594. elseif torvel>2 and torvel<22 and hitfloor~=nil then
  1595. Anim="Walk"
  1596. if attack==false then
  1597. change=3
  1598. handleweld.C0=clerp(handleweld.C0,cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(0)),.3)
  1599. RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,0)*angles(math.rad(20),math.rad(0),math.rad(0)),.3)
  1600. Torso.Neck.C0=clerp(Torso.Neck.C0,necko*angles(math.rad(-10),math.rad(0),math.rad(0)),.3)
  1601. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*angles(math.rad(60),math.rad(0),math.rad(0)),.3)
  1602. LW.C0=clerp(LW.C0,cf(-0,0.5,-.7)*angles(math.rad(120),math.rad(0),math.rad(40)),.3)
  1603. end
  1604. elseif torvel>=22 and hitfloor~=nil then
  1605. Anim="Run"
  1606. handleweld.C0=clerp(handleweld.C0,cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(0)),.3)
  1607. RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,0)*angles(math.rad(20),math.rad(0),math.rad(0)),.3)
  1608. Torso.Neck.C0=clerp(Torso.Neck.C0,necko*angles(math.rad(-10),math.rad(0),math.rad(0)),.3)
  1609. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*angles(math.rad(60),math.rad(0),math.rad(0)),.3)
  1610. LW.C0=clerp(LW.C0,cf(-0,0.5,-.7)*angles(math.rad(120),math.rad(0),math.rad(40)),.3)
  1611. if attack==false then
  1612. end
  1613. end
  1614. end
  1615. if ready==true then
  1616. handleweld.C0=clerp(handleweld.C0,cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(0)),.3)
  1617. RootJoint.C0=clerp(RootJoint.C0,RootCF*cf(0,0,0)*angles(math.rad(0),math.rad(0),math.rad(0)),.3)
  1618. Torso.Neck.C0=clerp(Torso.Neck.C0,necko*angles(math.rad(0),math.rad(0),math.rad(0)),.3)
  1619. RW.C0=clerp(RW.C0,cf(1.5,0.5,0)*angles(math.rad(90),math.rad(0),math.rad(0)),.3)
  1620. LW.C0=clerp(LW.C0,cf(-0,0.5,-.7)*angles(math.rad(160),math.rad(0),math.rad(40)),.3)
  1621. end
  1622. pcall(function()
  1623. AnimateLaserOfDeath(laser_data)
  1624. end)
  1625. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement