Advertisement
DarkScriptZEditors

Drill

Dec 20th, 2018
260
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 52.78 KB | None | 0 0
  1. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  2. local Player,game,owner = owner,game
  3. local RealPlayer = Player
  4. do
  5. print("FE Compatibility code by Mokiros")
  6. local rp = RealPlayer
  7. script.Parent = rp.Character
  8.  
  9. --RemoteEvent for communicating
  10. local Event = Instance.new("RemoteEvent")
  11. Event.Name = "UserInput_Event"
  12.  
  13. --Fake event to make stuff like Mouse.KeyDown work
  14. local function fakeEvent()
  15. local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
  16. t.connect = t.Connect
  17. return t
  18. end
  19.  
  20. --Creating fake input objects with fake variables
  21. local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()}
  22. local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  23. local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  24. CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  25. end}
  26. --Merged 2 functions into one by checking amount of arguments
  27. CAS.UnbindAction = CAS.BindAction
  28.  
  29. --This function will trigger the events that have been :Connect()'ed
  30. local function te(self,ev,...)
  31. local t = m[ev]
  32. if t and t._fakeEvent then
  33. for _,f in pairs(t.Functions) do
  34. f(...)
  35. end
  36. end
  37. end
  38. m.TrigEvent = te
  39. UIS.TrigEvent = te
  40.  
  41. Event.OnServerEvent:Connect(function(plr,io)
  42. if plr~=rp then return end
  43. m.Target = io.Target
  44. m.Hit = io.Hit
  45. if not io.isMouse then
  46. local b = io.UserInputState == Enum.UserInputState.Begin
  47. if io.UserInputType == Enum.UserInputType.MouseButton1 then
  48. return m:TrigEvent(b and "Button1Down" or "Button1Up")
  49. end
  50. if io.UserInputType == Enum.UserInputType.MouseButton2 then
  51. return m:TrigEvent(b and "Button2Down" or "Button2Up")
  52. end
  53. for _,t in pairs(CAS.Actions) do
  54. for _,k in pairs(t.Keys) do
  55. if k==io.KeyCode then
  56. t.Function(t.Name,io.UserInputState,io)
  57. end
  58. end
  59. end
  60. m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  61. UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
  62. end
  63. end)
  64. Event.Parent = NLS([==[
  65. local Player = game:GetService("Players").LocalPlayer
  66. local Event = script:WaitForChild("UserInput_Event")
  67. local Mouse = Player:GetMouse()
  68. local UIS = game:GetService("UserInputService")
  69. local input = function(io,a)
  70. if a then return end
  71. --Since InputObject is a client-side instance, we create and pass table instead
  72. Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
  73. end
  74. UIS.InputBegan:Connect(input)
  75. UIS.InputEnded:Connect(input)
  76. local h,t
  77. --Give the server mouse data 30 times every second, but only if the values changed
  78. --If player is not moving their mouse, client won't fire events
  79. while wait(1/30) do
  80. if h~=Mouse.Hit or t~=Mouse.Target then
  81. h,t=Mouse.Hit,Mouse.Target
  82. Event:FireServer({isMouse=true,Target=t,Hit=h})
  83. end
  84. end]==],Player.Character)
  85.  
  86. ----Sandboxed game object that allows the usage of client-side methods and services
  87. --Real game object
  88. local _rg = game
  89.  
  90. --Metatable for fake service
  91. local fsmt = {
  92. __index = function(self,k)
  93. local s = rawget(self,"_RealService")
  94. if s then
  95. return typeof(s[k])=="function"
  96. and function(_,...)return s[k](s,...)end or s[k]
  97. end
  98. end,
  99. __newindex = function(self,k,v)
  100. local s = rawget(self,"_RealService")
  101. if s then s[k]=v end
  102. end
  103. }
  104. local function FakeService(t,RealService)
  105. t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
  106. return setmetatable(t,fsmt)
  107. end
  108.  
  109. --Fake game object
  110. local g = {
  111. GetService = function(self,s)
  112. return rawget(self,s) or _rg:GetService(s)
  113. end,
  114. Players = FakeService({
  115. LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
  116. },"Players"),
  117. UserInputService = FakeService(UIS,"UserInputService"),
  118. ContextActionService = FakeService(CAS,"ContextActionService"),
  119. RunService = FakeService({
  120. _btrs = {},
  121. RenderStepped = _rg:GetService("RunService").Heartbeat,
  122. BindToRenderStep = function(self,name,_,fun)
  123. self._btrs[name] = self.Heartbeat:Connect(fun)
  124. end,
  125. UnbindFromRenderStep = function(self,name)
  126. self._btrs[name]:Disconnect()
  127. end,
  128. },"RunService")
  129. }
  130. rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
  131. g.service = g.GetService
  132. FakeService(g,game)
  133. --Changing owner to fake player object to support owner:GetMouse()
  134. game,owner = g,g.Players.LocalPlayer
  135. end
  136. --//====================================================\\--
  137. --|| CREATED BY SHACKLUSTER
  138. --\\====================================================//--
  139.  
  140.  
  141.  
  142. wait(0.2)
  143.  
  144.  
  145.  
  146. Player = game:GetService("Players").LocalPlayer
  147. PlayerGui = Player.PlayerGui
  148. Cam = workspace.CurrentCamera
  149. Backpack = Player.Backpack
  150. Character = Player.Character
  151. Humanoid = Character.Humanoid
  152. Mouse = Player:GetMouse()
  153. RootPart = Character["HumanoidRootPart"]
  154. Torso = Character["Torso"]
  155. Head = Character["Head"]
  156. RightArm = Character["Right Arm"]
  157. LeftArm = Character["Left Arm"]
  158. RightLeg = Character["Right Leg"]
  159. LeftLeg = Character["Left Leg"]
  160. RootJoint = RootPart["RootJoint"]
  161. Neck = Torso["Neck"]
  162. RightShoulder = Torso["Right Shoulder"]
  163. LeftShoulder = Torso["Left Shoulder"]
  164. RightHip = Torso["Right Hip"]
  165. LeftHip = Torso["Left Hip"]
  166.  
  167. IT = Instance.new
  168. CF = CFrame.new
  169. VT = Vector3.new
  170. RAD = math.rad
  171. C3 = Color3.new
  172. UD2 = UDim2.new
  173. BRICKC = BrickColor.new
  174. ANGLES = CFrame.Angles
  175. EULER = CFrame.fromEulerAnglesXYZ
  176. COS = math.cos
  177. ACOS = math.acos
  178. SIN = math.sin
  179. ASIN = math.asin
  180. ABS = math.abs
  181. MRANDOM = math.random
  182. FLOOR = math.floor
  183.  
  184. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  185. local NEWMESH = IT(MESH)
  186. if MESH == "SpecialMesh" then
  187. NEWMESH.MeshType = MESHTYPE
  188. if MESHID ~= "nil" and MESHID ~= "" then
  189. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  190. end
  191. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  192. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  193. end
  194. end
  195. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  196. NEWMESH.Scale = SCALE
  197. NEWMESH.Parent = PARENT
  198. return NEWMESH
  199. end
  200.  
  201. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  202. local NEWPART = IT("Part")
  203. NEWPART.formFactor = FORMFACTOR
  204. NEWPART.Reflectance = REFLECTANCE
  205. NEWPART.Transparency = TRANSPARENCY
  206. NEWPART.CanCollide = false
  207. NEWPART.Locked = true
  208. NEWPART.Anchored = true
  209. if ANCHOR == false then
  210. NEWPART.Anchored = false
  211. end
  212. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  213. NEWPART.Name = NAME
  214. NEWPART.Size = SIZE
  215. NEWPART.Position = Torso.Position
  216. NEWPART.Material = MATERIAL
  217. NEWPART:BreakJoints()
  218. NEWPART.Parent = PARENT
  219. return NEWPART
  220. end
  221.  
  222. --//=================================\\
  223. --|| CUSTOMIZATION
  224. --\\=================================//
  225.  
  226. Player_Size = 1 --Size of the player.
  227. Animation_Speed = 2
  228. Frame_Speed = 1 / 30 -- (1 / 30) OR (1 / 60)
  229.  
  230. local Speed = 16
  231. local Effects2 = {}
  232.  
  233. --//=================================\\
  234. --|| END OF CUSTOMIZATION
  235. --\\=================================//
  236.  
  237. local function weldBetween(a, b)
  238. local weldd = Instance.new("ManualWeld")
  239. weldd.Part0 = a
  240. weldd.Part1 = b
  241. weldd.C0 = CFrame.new()
  242. weldd.C1 = b.CFrame:inverse() * a.CFrame
  243. weldd.Parent = a
  244. return weldd
  245. end
  246.  
  247. function createaccessory(attachmentpart,mesh,texture,scale,offset,color)
  248. local acs = Instance.new("Part")
  249. acs.CanCollide = false
  250. acs.Anchored = false
  251. acs.Size = Vector3.new(0,0,0)
  252. acs.CFrame = attachmentpart.CFrame
  253. acs.Parent = Character
  254. acs.BrickColor = color
  255. local meshs = Instance.new("SpecialMesh")
  256. meshs.MeshId = mesh
  257. meshs.TextureId = texture
  258. meshs.Parent = acs
  259. meshs.Scale = scale
  260. meshs.Offset = offset
  261. weldBetween(attachmentpart,acs)
  262. end
  263.  
  264. function createbodypart(TYPE,COLOR,PART,OFFSET,SIZE)
  265. if TYPE == "Gem" then
  266. local acs = CreatePart(3, Character, "Plastic", 0, 0, COLOR, "Part", VT(0,0,0))
  267. acs.Anchored = false
  268. acs.CanCollide = false
  269. acs.CFrame = PART.CFrame
  270. local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "9756362", "", SIZE, OFFSET)
  271. weldBetween(PART,acs)
  272. elseif TYPE == "Skull" then
  273. local acs = CreatePart(3, Character, "Plastic", 0, 0, COLOR, "Part", VT(0,0,0))
  274. acs.Anchored = false
  275. acs.CanCollide = false
  276. acs.CFrame = PART.CFrame
  277. local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "4770583", "", SIZE, OFFSET)
  278. weldBetween(PART,acs)
  279. elseif TYPE == "Eye" then
  280. local acs = CreatePart(3, Character, "Neon", 0, 0, COLOR, "Part", VT(0,0,0))
  281. acs.Anchored = false
  282. acs.CanCollide = false
  283. acs.CFrame = PART.CFrame
  284. local acs2 = CreateMesh("SpecialMesh", acs, "Sphere", "", "", SIZE, OFFSET)
  285. weldBetween(PART,acs)
  286. end
  287. end
  288.  
  289. --//=================================\\
  290. --|| USEFUL VALUES
  291. --\\=================================//
  292.  
  293. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  294. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  295. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  296. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  297. local CHANGEDEFENSE = 0
  298. local CHANGEDAMAGE = 0
  299. local CHANGEMOVEMENT = 0
  300. local ANIM = "Idle"
  301. local ATTACK = false
  302. local EQUIPPED = false
  303. local HOLD = false
  304. local COMBO = 1
  305. local Rooted = false
  306. local SINE = 0
  307. local KEYHOLD = false
  308. local CHANGE = 2 / Animation_Speed
  309. local WALKINGANIM = false
  310. local WALK = 0
  311. local VALUE1 = false
  312. local VALUE2 = false
  313. local ROBLOXIDLEANIMATION = IT("Animation")
  314. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  315. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  316. --ROBLOXIDLEANIMATION.Parent = Humanoid
  317. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  318. WEAPONGUI.Name = "Weapon GUI"
  319. local Weapon = IT("Model")
  320. Weapon.Name = "Adds"
  321. local Effects = IT("Folder", Weapon)
  322. Effects.Name = "Effects"
  323. local ANIMATOR = Humanoid.Animator
  324. local ANIMATE = Character.Animate
  325. local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
  326. local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
  327. local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
  328. local HITBLOCKSOUNDS = {"199148933", "199148947"}
  329. local UNANCHOR = true
  330.  
  331. local SKILLTEXTCOLOR = C3(0,0,0)
  332.  
  333. --//=================================\\
  334. --\\=================================//
  335.  
  336.  
  337. --//=================================\\
  338. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  339. --\\=================================//
  340.  
  341. ArtificialHB = Instance.new("BindableEvent", script)
  342. ArtificialHB.Name = "ArtificialHB"
  343.  
  344. script:WaitForChild("ArtificialHB")
  345.  
  346. frame = Frame_Speed
  347. tf = 0
  348. allowframeloss = false
  349. tossremainder = false
  350. lastframe = tick()
  351. script.ArtificialHB:Fire()
  352.  
  353. game:GetService("RunService").Heartbeat:connect(function(s, p)
  354. tf = tf + s
  355. if tf >= frame then
  356. if allowframeloss then
  357. script.ArtificialHB:Fire()
  358. lastframe = tick()
  359. else
  360. for i = 1, math.floor(tf / frame) do
  361. script.ArtificialHB:Fire()
  362. end
  363. lastframe = tick()
  364. end
  365. if tossremainder then
  366. tf = 0
  367. else
  368. tf = tf - frame * math.floor(tf / frame)
  369. end
  370. end
  371. end)
  372.  
  373. --//=================================\\
  374. --\\=================================//
  375.  
  376.  
  377.  
  378.  
  379.  
  380. --//=================================\\
  381. --|| SOME FUNCTIONS
  382. --\\=================================//
  383.  
  384. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  385. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  386. end
  387.  
  388. function PositiveAngle(NUMBER)
  389. if NUMBER >= 0 then
  390. NUMBER = 0
  391. end
  392. return NUMBER
  393. end
  394.  
  395. function NegativeAngle(NUMBER)
  396. if NUMBER <= 0 then
  397. NUMBER = 0
  398. end
  399. return NUMBER
  400. end
  401.  
  402. function Swait(NUMBER)
  403. if NUMBER == 0 or NUMBER == nil then
  404. ArtificialHB.Event:wait()
  405. else
  406. for i = 1, NUMBER do
  407. ArtificialHB.Event:wait()
  408. end
  409. end
  410. end
  411.  
  412. function QuaternionFromCFrame(cf)
  413. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  414. local trace = m00 + m11 + m22
  415. if trace > 0 then
  416. local s = math.sqrt(1 + trace)
  417. local recip = 0.5 / s
  418. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  419. else
  420. local i = 0
  421. if m11 > m00 then
  422. i = 1
  423. end
  424. if m22 > (i == 0 and m00 or m11) then
  425. i = 2
  426. end
  427. if i == 0 then
  428. local s = math.sqrt(m00 - m11 - m22 + 1)
  429. local recip = 0.5 / s
  430. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  431. elseif i == 1 then
  432. local s = math.sqrt(m11 - m22 - m00 + 1)
  433. local recip = 0.5 / s
  434. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  435. elseif i == 2 then
  436. local s = math.sqrt(m22 - m00 - m11 + 1)
  437. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  438. end
  439. end
  440. end
  441.  
  442. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  443. local xs, ys, zs = x + x, y + y, z + z
  444. local wx, wy, wz = w * xs, w * ys, w * zs
  445. local xx = x * xs
  446. local xy = x * ys
  447. local xz = x * zs
  448. local yy = y * ys
  449. local yz = y * zs
  450. local zz = z * zs
  451. 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))
  452. end
  453.  
  454. function QuaternionSlerp(a, b, t)
  455. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  456. local startInterp, finishInterp;
  457. if cosTheta >= 0.0001 then
  458. if (1 - cosTheta) > 0.0001 then
  459. local theta = ACOS(cosTheta)
  460. local invSinTheta = 1 / SIN(theta)
  461. startInterp = SIN((1 - t) * theta) * invSinTheta
  462. finishInterp = SIN(t * theta) * invSinTheta
  463. else
  464. startInterp = 1 - t
  465. finishInterp = t
  466. end
  467. else
  468. if (1 + cosTheta) > 0.0001 then
  469. local theta = ACOS(-cosTheta)
  470. local invSinTheta = 1 / SIN(theta)
  471. startInterp = SIN((t - 1) * theta) * invSinTheta
  472. finishInterp = SIN(t * theta) * invSinTheta
  473. else
  474. startInterp = t - 1
  475. finishInterp = t
  476. end
  477. end
  478. 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
  479. end
  480.  
  481. function Clerp(a, b, t)
  482. local qa = {QuaternionFromCFrame(a)}
  483. local qb = {QuaternionFromCFrame(b)}
  484. local ax, ay, az = a.x, a.y, a.z
  485. local bx, by, bz = b.x, b.y, b.z
  486. local _t = 1 - t
  487. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  488. end
  489.  
  490. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  491. local frame = IT("Frame")
  492. frame.BackgroundTransparency = TRANSPARENCY
  493. frame.BorderSizePixel = BORDERSIZEPIXEL
  494. frame.Position = POSITION
  495. frame.Size = SIZE
  496. frame.BackgroundColor3 = COLOR
  497. frame.BorderColor3 = BORDERCOLOR
  498. frame.Name = NAME
  499. frame.Parent = PARENT
  500. return frame
  501. end
  502.  
  503. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  504. local label = IT("TextLabel")
  505. label.BackgroundTransparency = 1
  506. label.Size = UD2(1, 0, 1, 0)
  507. label.Position = UD2(0, 0, 0, 0)
  508. label.TextColor3 = TEXTCOLOR
  509. label.TextStrokeTransparency = STROKETRANSPARENCY
  510. label.TextTransparency = TRANSPARENCY
  511. label.FontSize = TEXTFONTSIZE
  512. label.Font = TEXTFONT
  513. label.BorderSizePixel = BORDERSIZEPIXEL
  514. label.TextScaled = false
  515. label.Text = TEXT
  516. label.Name = NAME
  517. label.Parent = PARENT
  518. return label
  519. end
  520.  
  521. function NoOutlines(PART)
  522. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  523. end
  524.  
  525.  
  526. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  527. local NEWWELD = IT(TYPE)
  528. NEWWELD.Part0 = PART0
  529. NEWWELD.Part1 = PART1
  530. NEWWELD.C0 = C0
  531. NEWWELD.C1 = C1
  532. NEWWELD.Parent = PARENT
  533. return NEWWELD
  534. end
  535.  
  536. function CreateSound(ID, PARENT, VOLUME, PITCH)
  537. local NEWSOUND = nil
  538. coroutine.resume(coroutine.create(function()
  539. NEWSOUND = IT("Sound", PARENT)
  540. NEWSOUND.Volume = VOLUME
  541. NEWSOUND.Pitch = PITCH
  542. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  543. Swait()
  544. NEWSOUND:play()
  545. game:GetService("Debris"):AddItem(NEWSOUND, 10)
  546. end))
  547. return NEWSOUND
  548. end
  549.  
  550. function CFrameFromTopBack(at, top, back)
  551. local right = top:Cross(back)
  552. return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
  553. end
  554.  
  555. function CreateWave(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
  556. local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
  557. local mesh = IT("SpecialMesh",wave)
  558. mesh.MeshType = "FileMesh"
  559. mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
  560. mesh.Scale = SIZE
  561. mesh.Offset = VT(0,0,-SIZE.X/8)
  562. wave.CFrame = CFRAME
  563. coroutine.resume(coroutine.create(function(PART)
  564. for i = 1, WAIT do
  565. Swait()
  566. mesh.Scale = mesh.Scale + GROW
  567. mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
  568. if DOESROT == true then
  569. wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
  570. end
  571. wave.Transparency = wave.Transparency + (0.5/WAIT)
  572. if wave.Transparency > 0.99 then
  573. wave:remove()
  574. end
  575. end
  576. end))
  577. end
  578.  
  579. function MagicSphere(SIZE,WAIT,CFRAME,COLOR,GROW)
  580. local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1,1,1), true)
  581. local mesh = IT("SpecialMesh",wave)
  582. mesh.MeshType = "Sphere"
  583. mesh.Scale = SIZE
  584. mesh.Offset = VT(0,0,0)
  585. wave.CFrame = CFRAME
  586. coroutine.resume(coroutine.create(function(PART)
  587. for i = 1, WAIT do
  588. Swait()
  589. mesh.Scale = mesh.Scale + GROW
  590. wave.Transparency = wave.Transparency + (1/WAIT)
  591. if wave.Transparency > 0.99 then
  592. wave:remove()
  593. end
  594. end
  595. end))
  596. end
  597.  
  598. function MakeForm(PART,TYPE)
  599. if TYPE == "Cyl" then
  600. local MSH = IT("CylinderMesh",PART)
  601. elseif TYPE == "Ball" then
  602. local MSH = IT("SpecialMesh",PART)
  603. MSH.MeshType = "Sphere"
  604. elseif TYPE == "Wedge" then
  605. local MSH = IT("SpecialMesh",PART)
  606. MSH.MeshType = "Wedge"
  607. elseif TYPE == "Cone" then
  608. local MSH = IT("SpecialMesh",PART)
  609. MSH.MeshType = "FileMesh"
  610. MSH.MeshId = "http://www.roblox.com/asset/?id=785967755"
  611. MSH.Scale = PART.Size/50
  612. end
  613. end
  614.  
  615. function CheckTableForString(Table, String)
  616. for i, v in pairs(Table) do
  617. if string.find(string.lower(String), string.lower(v)) then
  618. return true
  619. end
  620. end
  621. return false
  622. end
  623.  
  624. function CheckIntangible(Hit)
  625. local ProjectileNames = {"Water", "Arrow", "Projectile", "Effect", "Rail", "Lightning", "Bullet"}
  626. if Hit and Hit.Parent then
  627. if ((not Hit.CanCollide or CheckTableForString(ProjectileNames, Hit.Name)) and not Hit.Parent:FindFirstChild("Humanoid")) then
  628. return true
  629. end
  630. end
  631. return false
  632. end
  633.  
  634. Debris = game:GetService("Debris")
  635.  
  636. function CastZapRay(StartPos, Vec, Length, Ignore, DelayIfHit)
  637. local Direction = CFrame.new(StartPos, Vec).lookVector
  638. local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
  639. local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Direction * Length), Ignore)
  640. if RayHit and CheckIntangible(RayHit) then
  641. if DelayIfHit then
  642. wait()
  643. end
  644. RayHit, RayPos, RayNormal = CastZapRay((RayPos + (Vec * 0.01)), Vec, (Length - ((StartPos - RayPos).magnitude)), Ignore, DelayIfHit)
  645. end
  646. return RayHit, RayPos, RayNormal
  647. end
  648.  
  649. function turnto(position)
  650. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  651. end
  652.  
  653. --//=================================\\
  654. --|| SPEECH
  655. --\\=================================//
  656.  
  657. function chatfunc(text,waitt)
  658. local chat = coroutine.wrap(function()
  659. if Character:FindFirstChild("TalkingBillBoard")~= nil then
  660. Character:FindFirstChild("TalkingBillBoard"):destroy()
  661. end
  662. local naeeym2 = Instance.new("BillboardGui",Character)
  663. naeeym2.Size = UDim2.new(0,100,0,40)
  664. naeeym2.StudsOffset = Vector3.new(0,5,0)
  665. naeeym2.Adornee = Character.Head
  666. naeeym2.Name = "TalkingBillBoard"
  667. naeeym2.AlwaysOnTop = true
  668. local tecks2 = Instance.new("TextLabel",naeeym2)
  669. tecks2.BackgroundTransparency = 1
  670. tecks2.BorderSizePixel = 0
  671. tecks2.Text = ""
  672. tecks2.Font = "SciFi"
  673. tecks2.TextSize = 30
  674. tecks2.TextStrokeTransparency = 1
  675. tecks2.TextColor3 = SKILLTEXTCOLOR
  676. tecks2.TextStrokeColor3 = Color3.new(0,0,0)
  677. tecks2.Size = UDim2.new(1,0,0.5,0)
  678. for i = 1,string.len(text),1 do
  679. tecks2.Text = string.sub(text,1,i)
  680. Swait()
  681. end
  682. wait(waitt)
  683. coroutine.resume(coroutine.create(function()
  684. for i = 1, 10 do
  685. tecks2.TextTransparency = tecks2.TextTransparency + 0.1
  686. Swait()
  687. end
  688. naeeym2:Destroy()
  689. end))
  690. end)
  691. chat()
  692. end
  693.  
  694. --//=================================\\
  695. --|| WEAPON CREATION
  696. --\\=================================//
  697.  
  698. local PART = CreatePart(3, Weapon, "SmoothPlastic", 0, 1, "Pearl", "ArmPart", VT(0,0,0),false)
  699. local ArmWeld = CreateWeldOrSnapOrMotor("Weld", PART, RightArm, PART, CF(0,0,0) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  700. local drill = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Pearl", "Drill", VT(2.5,3,2.5),false)
  701. local weld = CreateWeldOrSnapOrMotor("Weld", drill, PART, drill, CF(0,-1.3,0) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
  702. MakeForm(drill,"Cone")
  703. drill.CanCollide = true
  704. local part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Really black", "Drill", VT(2.35,0.5,2.35),false)
  705. local weld = CreateWeldOrSnapOrMotor("Weld", part, PART, part, CF(0,-0.3,0) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
  706. MakeForm(part,"Cone")
  707. local part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Really black", "Drill", VT(1.95,0.5,1.95),false)
  708. local weld = CreateWeldOrSnapOrMotor("Weld", part, PART, part, CF(0,-0.8,0) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
  709. MakeForm(part,"Cone")
  710. local part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Really black", "Drill", VT(1.55,0.5,1.55),false)
  711. local weld = CreateWeldOrSnapOrMotor("Weld", part, PART, part, CF(0,-1.3,0) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
  712. MakeForm(part,"Cone")
  713. local part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Really black", "Drill", VT(2,0.5,2),false)
  714. local weld = CreateWeldOrSnapOrMotor("Weld", part, PART, part, CF(0,0.2,0) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
  715. MakeForm(part,"Ball")
  716. local part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Really black", "Drill1", VT(0.25,1.5,0.25),false)
  717. local weld = CreateWeldOrSnapOrMotor("Weld", part, PART, part, CF(0,-1.3,-0.5) * ANGLES(RAD(-90), RAD(0), RAD(0)), CF(0, 0, 0))
  718. MakeForm(part,"Cone")
  719. local part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Really black", "Drill2", VT(0.25,1.5,0.25),false)
  720. local weld = CreateWeldOrSnapOrMotor("Weld", part, PART, part, CF(0,-1.3,0.5) * ANGLES(RAD(-90), RAD(0), RAD(-180)), CF(0, 0, 0))
  721. MakeForm(part,"Cone")
  722. local part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Really black", "Drill3", VT(0.25,1.5,0.25),false)
  723. local weld = CreateWeldOrSnapOrMotor("Weld", part, PART, part, CF(-0.5,-1.3,0) * ANGLES(RAD(90), RAD(0), RAD(90)), CF(0, 0, 0))
  724. MakeForm(part,"Cone")
  725. local part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Really black", "Drill4", VT(0.25,1.5,0.25),false)
  726. local weld = CreateWeldOrSnapOrMotor("Weld", part, PART, part, CF(0.5,-1.3,0) * ANGLES(RAD(90), RAD(0), RAD(-90)), CF(0, 0, 0))
  727. MakeForm(part,"Cone")
  728. local part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Really black", "Drill1", VT(0.25,1.5,0.25),false)
  729. local weld = CreateWeldOrSnapOrMotor("Weld", part, PART, part, CF(-0.3,-1.7,-0.3) * ANGLES(RAD(-90), RAD(0), RAD(45)), CF(0, 0, 0))
  730. MakeForm(part,"Cone")
  731. local part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Really black", "Drill2", VT(0.25,1.5,0.25),false)
  732. local weld = CreateWeldOrSnapOrMotor("Weld", part, PART, part, CF(0.3,-1.7,-0.3) * ANGLES(RAD(-90), RAD(0), RAD(-45)), CF(0, 0, 0))
  733. MakeForm(part,"Cone")
  734. local part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Really black", "Drill3", VT(0.25,1.5,0.25),false)
  735. local weld = CreateWeldOrSnapOrMotor("Weld", part, PART, part, CF(-0.3,-1.7,0.3) * ANGLES(RAD(90), RAD(0), RAD(45)), CF(0, 0, 0))
  736. MakeForm(part,"Cone")
  737. local part = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Really black", "Drill4", VT(0.25,1.5,0.25),false)
  738. local weld = CreateWeldOrSnapOrMotor("Weld", part, PART, part, CF(0.3,-1.7,0.3) * ANGLES(RAD(90), RAD(0), RAD(-45)), CF(0, 0, 0))
  739. MakeForm(part,"Cone")
  740.  
  741. for _, c in pairs(Weapon:GetChildren()) do
  742. if c.ClassName == "Part" then
  743. c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  744. end
  745. end
  746.  
  747. Weapon.Parent = Character
  748.  
  749. Humanoid.Died:connect(function()
  750. ATTACK = true
  751. end)
  752.  
  753. local SKILL1FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.23, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
  754. local SKILL2FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.50, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
  755.  
  756. local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Drill run", C3(1,1,1), 7, "SciFi", 0, 2, 0, "Text 1")
  757. local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Energy drills", C3(1,1,1), 7, "SciFi", 0, 2, 0, "Text 2")
  758.  
  759. --//=================================\\
  760. --|| DAMAGE FUNCTIONS
  761. --\\=================================//
  762.  
  763. function StatLabel(LABELTYPE, CFRAME, TEXT, COLOR)
  764. local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
  765. STATPART.CFrame = CF(CFRAME.p + VT(0, 1.5, 0))
  766. local BODYGYRO = IT("BodyGyro", STATPART)
  767. local BODYPOSITION = IT("BodyPosition", STATPART)
  768. BODYPOSITION.P = 2000
  769. BODYPOSITION.D = 100
  770. BODYPOSITION.maxForce = VT(math.huge, math.huge, math.huge)
  771. BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 6, MRANDOM(-2, 2))
  772. game:GetService("Debris"):AddItem(STATPART ,5)
  773. local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
  774. BILLBOARDGUI.Adornee = STATPART
  775. BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
  776. BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
  777. BILLBOARDGUI.AlwaysOnTop = false
  778. local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
  779. TEXTLABEL.BackgroundTransparency = 1
  780. TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
  781. TEXTLABEL.Text = TEXT
  782. TEXTLABEL.Font = "SciFi"
  783. TEXTLABEL.FontSize="Size42"
  784. TEXTLABEL.TextColor3 = COLOR
  785. TEXTLABEL.TextStrokeTransparency = 1
  786. TEXTLABEL.TextScaled = true
  787. TEXTLABEL.TextWrapped = true
  788. coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
  789. if LABELTYPE == "Normal" then
  790. for i = 1, 30 do
  791. Swait()
  792. STATPART.Position = STATPART.Position + VT(0, (15-i)/10 ,0)
  793. TEXTLABEL.Transparency = TEXTLABEL.Transparency + (1/30)
  794. end
  795. elseif LABELTYPE == "Debuff" then
  796. for i = 1, 30 do
  797. Swait()
  798. STATPART.Position = STATPART.Position - VT(0, i/10 ,0)
  799. TEXTLABEL.Transparency = TEXTLABEL.Transparency + (1/30)
  800. end
  801. elseif LABELTYPE == "Shock" then
  802. local ORIGIN = STATPART.Position
  803. for i = 1, 30 do
  804. Swait()
  805. STATPART.Position = ORIGIN + VT(MRANDOM(-2,2),MRANDOM(-2,2),MRANDOM(-2,2))
  806. TEXTLABEL.Transparency = TEXTLABEL.Transparency + (1/30)
  807. end
  808. end
  809. THEPART.Parent = nil
  810. end),STATPART, BODYPOSITION, TEXTLABEL)
  811. end
  812.  
  813. --//=================================\\
  814. --|| DAMAGING
  815. --\\=================================//
  816.  
  817. local asd = Instance.new("ParticleEmitter")
  818. asd.Color = ColorSequence.new(Color3.new(1, 0, 0), Color3.new(.5, 0, 0))
  819. asd.LightEmission = .1
  820. asd.Size = NumberSequence.new(0.2)
  821. asd.Texture = "http://www.roblox.com/asset/?ID=291880914"
  822. aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.2),NumberSequenceKeypoint.new(1, 5)})
  823. bbb = NumberSequence.new({NumberSequenceKeypoint.new(0, 1),NumberSequenceKeypoint.new(0.0636, 0), NumberSequenceKeypoint.new(1, 1)})
  824. asd.Transparency = bbb
  825. asd.Size = aaa
  826. asd.ZOffset = .9
  827. asd.Acceleration = Vector3.new(0, -5, 0)
  828. asd.LockedToPart = false
  829. asd.EmissionDirection = "Back"
  830. asd.Lifetime = NumberRange.new(1, 2)
  831. asd.Rotation = NumberRange.new(-100, 100)
  832. asd.RotSpeed = NumberRange.new(-100, 100)
  833. asd.Speed = NumberRange.new(2)
  834. asd.Enabled = false
  835. asd.VelocitySpread = 10000
  836.  
  837. function getbloody(victim,amount)
  838. local prtcl = asd:Clone()
  839. prtcl.Parent = victim
  840. prtcl:Emit(amount)
  841. end
  842.  
  843. function drillem(hit)
  844. local HITPLAYERSOUNDS2 = {"356551938","264486467"}
  845. if hit.Parent ~= Character and hit.Parent:FindFirstChildOfClass("Humanoid") and hit.Parent:FindFirstChild("HitBy"..Player.Name) == nil then
  846. local humanoid = hit.Parent:FindFirstChildOfClass("Humanoid")
  847. if humanoid.Health > 0 then
  848. getbloody(hit,15)
  849. CreateSound(HITPLAYERSOUNDS2[MRANDOM(1, #HITPLAYERSOUNDS2)], hit, 3, (math.random(8,12)/10))
  850. CreateSound(HITPLAYERSOUNDS2[MRANDOM(1, #HITPLAYERSOUNDS2)], hit, 3, (math.random(8,12)/10))
  851. hit.Parent:BreakJoints()
  852. end
  853. end
  854. end
  855.  
  856. --//=================================\\
  857. --|| ATTACK FUNCTIONS AND STUFF
  858. --\\=================================//
  859.  
  860. function CreateLoopSound()
  861. local SOUND = IT("Sound",RightArm)
  862. SOUND.SoundId = "rbxassetid://199754867"
  863. SOUND.Looped = true
  864. SOUND.PlaybackSpeed = 2
  865. SOUND.Volume = 2
  866. SOUND:Play()
  867. return SOUND
  868. end
  869.  
  870. function Strike()
  871. ATTACK = true
  872. Rooted = false
  873. for i=0, 0.5, 0.1 / Animation_Speed do
  874. Swait()
  875. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 0.15 / Animation_Speed)
  876. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(45)), 0.15 / Animation_Speed)
  877. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(150), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  878. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  879. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  880. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  881. end
  882. local HIT = drill.Touched:Connect(function(hit)
  883. drillem(hit)
  884. end)
  885. CreateSound("536642316", drill, 3, (math.random(8,12)/10))
  886. for i=0, 1, 0.1 / Animation_Speed do
  887. Swait()
  888. RootPart.CFrame = RootPart.CFrame * CF(0,0,-0.03)
  889. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(5), RAD(45)), 0.5 / Animation_Speed)
  890. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(-5), RAD(-45)), 0.5 / Animation_Speed)
  891. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, -1) * ANGLES(RAD(90), RAD(0), RAD(25)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  892. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  893. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  894. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  895. ArmWeld.C0 = Clerp(ArmWeld.C0, CF(0, 0, 0) * ANGLES(RAD(0), RAD(i*100), RAD(0)), 0.5 / Animation_Speed)
  896. end
  897. HIT:disconnect()
  898. ATTACK = false
  899. Rooted = false
  900. end
  901.  
  902. function DrillRun()
  903. ATTACK = true
  904. Rooted = true
  905. for i=0, 2, 0.1 / Animation_Speed do
  906. Swait()
  907. turnto(Mouse.Hit.p)
  908. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.2 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-75)), 0.15 / Animation_Speed)
  909. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(75)), 0.10 / Animation_Speed)
  910. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(154), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  911. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  912. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(-35), RAD(0)), 0.15 / Animation_Speed)
  913. LeftHip.C0 = Clerp(LeftHip.C0, CF(-0.5, -1 - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(75), RAD(0)), 0.15 / Animation_Speed)
  914. end
  915. local HIT = drill.Touched:Connect(function(hit)
  916. drillem(hit)
  917. end)
  918. CreateSound("536642316", drill, 3, (math.random(12,16)/10))
  919. local LOOP = CreateLoopSound()
  920. for i=0, 2, 0.1 / Animation_Speed do
  921. Swait()
  922. MagicSphere(VT(1,1,1),10,PART.CFrame,"Cyan",VT(-0.1,-0.1,-0.1))
  923. RootPart.CFrame = RootPart.CFrame * CF(0,0,-2)
  924. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(25), RAD(5), RAD(90)), 0.5 / Animation_Speed)
  925. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 2.5 * SIN(SINE / 12)), RAD(-5), RAD(-85)), 0.5 / Animation_Speed)
  926. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.64) * ANGLES(RAD(115), RAD(35), RAD(70)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  927. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  928. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  929. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  930. ArmWeld.C0 = Clerp(ArmWeld.C0, CF(0, 0, 0) * ANGLES(RAD(0), RAD(i*500), RAD(0)), 0.5 / Animation_Speed)
  931. end
  932. HIT:disconnect()
  933. LOOP:remove()
  934. ATTACK = false
  935. Rooted = false
  936. end
  937.  
  938. function EnergyDrills()
  939. ATTACK = true
  940. Rooted = true
  941. UNANCHOR = false
  942. RootPart.Anchored = true
  943. for i=0, 5, 0.1 / Animation_Speed do
  944. Swait()
  945. turnto(Mouse.Hit.p)
  946. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 0.1 / Animation_Speed)
  947. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(40)), 0.1 / Animation_Speed)
  948. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 1, -1) * ANGLES(RAD(35), RAD(45), RAD(12)) * RIGHTSHOULDERC0, 0.1 / Animation_Speed)
  949. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 0.1 / Animation_Speed)
  950. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(0)), 0.1 / Animation_Speed)
  951. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(0)), 0.1 / Animation_Speed)
  952. --ArmWeld.C0 = Clerp(ArmWeld.C0, CF(0, 0, 0) * ANGLES(RAD(0), RAD(i*500), RAD(0)), 0.5 / Animation_Speed)
  953. end
  954. CreateSound("536642316", drill, 3, (math.random(12,16)/10))
  955. local LOOP = CreateLoopSound()
  956. for i=0, 0.3, 0.1 / Animation_Speed do
  957. Swait()
  958. MagicSphere(VT(1,1,1),10,drill.CFrame*CF(0,1,0),"Cyan",VT(0.3,0.3,0.3))
  959. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -1.5) * ANGLES(RAD(0), RAD(-5), RAD(45)), 1 / Animation_Speed)
  960. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(-45)), 0.15 / Animation_Speed)
  961. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(2, 0, -0.3) * ANGLES(RAD(25), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  962. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  963. RightHip.C0 = Clerp(RightHip.C0, CF(1, 0.5, -0.75) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
  964. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.4) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(90)), 1 / Animation_Speed)
  965. ArmWeld.C0 = Clerp(ArmWeld.C0, CF(0, 0, 0) * ANGLES(RAD(0), RAD(i*5000), RAD(0)), 0.5 / Animation_Speed)
  966. end
  967. local ANGLE = 25
  968. coroutine.resume(coroutine.create(function()
  969. for i = 1, 3 do
  970. local FRAME = RootPart.CFrame*ANGLES(RAD(0),RAD(ANGLE),RAD(0))
  971. ANGLE = ANGLE - 25
  972. coroutine.resume(coroutine.create(function()
  973. for i = 1, 15 do
  974. Swait(5)
  975. coroutine.resume(coroutine.create(function()
  976. local DRILL = IT("Model",Effects)
  977. local PART2 = CreatePart(3, DRILL, "SmoothPlastic", 0, 1, "Pearl", "PositionPart", VT(0,0,0),false)
  978. local drill2 = CreatePart(3, DRILL, "SmoothPlastic", 0, 0.5, "Cyan", "Drill", VT(2.5,3,2.5),false)
  979. local weld = CreateWeldOrSnapOrMotor("Weld", drill2, PART2, drill2, CF(0,-1.3,0) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
  980. MakeForm(drill2,"Cone")
  981. drill2.CanCollide = true
  982. local part = CreatePart(3, DRILL, "SmoothPlastic", 0, 0.5, "Cyan", "Drill", VT(2.35,0.5,2.35),false)
  983. local weld = CreateWeldOrSnapOrMotor("Weld", part, PART2, part, CF(0,-0.3,0) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
  984. MakeForm(part,"Cone")
  985. local part = CreatePart(3, DRILL, "SmoothPlastic", 0, 05., "CYan", "Drill", VT(1.95,0.5,1.95),false)
  986. local weld = CreateWeldOrSnapOrMotor("Weld", part, PART2, part, CF(0,-0.8,0) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
  987. MakeForm(part,"Cone")
  988. local part = CreatePart(3, DRILL, "SmoothPlastic", 0, 0.5, "Cyan", "Drill", VT(1.55,0.5,1.55),false)
  989. local weld = CreateWeldOrSnapOrMotor("Weld", part, PART2, part, CF(0,-1.3,0) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
  990. MakeForm(part,"Cone")
  991. local part = CreatePart(3, DRILL, "SmoothPlastic", 0, 0.5, "Cyan", "Drill", VT(2,0.5,2),false)
  992. local weld = CreateWeldOrSnapOrMotor("Weld", part, PART2, part, CF(0,0.2,0) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
  993. MakeForm(part,"Ball")
  994. local part = CreatePart(3, DRILL, "SmoothPlastic", 0, 0.5, "Cyan", "Drill1", VT(0.25,1.5,0.25),false)
  995. local weld = CreateWeldOrSnapOrMotor("Weld", part, PART2, part, CF(0,-1.3,-0.5) * ANGLES(RAD(-90), RAD(0), RAD(0)), CF(0, 0, 0))
  996. MakeForm(part,"Cone")
  997. local part = CreatePart(3, DRILL, "SmoothPlastic", 0, 0.5, "Cyan", "Drill2", VT(0.25,1.5,0.25),false)
  998. local weld = CreateWeldOrSnapOrMotor("Weld", part, PART2, part, CF(0,-1.3,0.5) * ANGLES(RAD(-90), RAD(0), RAD(-180)), CF(0, 0, 0))
  999. MakeForm(part,"Cone")
  1000. local part = CreatePart(3, DRILL, "SmoothPlastic", 0, 0.5, "Cyan", "Drill3", VT(0.25,1.5,0.25),false)
  1001. local weld = CreateWeldOrSnapOrMotor("Weld", part, PART2, part, CF(-0.5,-1.3,0) * ANGLES(RAD(90), RAD(0), RAD(90)), CF(0, 0, 0))
  1002. MakeForm(part,"Cone")
  1003. local part = CreatePart(3, DRILL, "SmoothPlastic", 0, 0.5, "Cyan", "Drill4", VT(0.25,1.5,0.25),false)
  1004. local weld = CreateWeldOrSnapOrMotor("Weld", part, PART2, part, CF(0.5,-1.3,0) * ANGLES(RAD(90), RAD(0), RAD(-90)), CF(0, 0, 0))
  1005. MakeForm(part,"Cone")
  1006. local part = CreatePart(3, DRILL, "SmoothPlastic", 0, 0.5, "Cyan", "Drill1", VT(0.25,1.5,0.25),false)
  1007. local weld = CreateWeldOrSnapOrMotor("Weld", part, PART2, part, CF(-0.3,-1.7,-0.3) * ANGLES(RAD(-90), RAD(0), RAD(45)), CF(0, 0, 0))
  1008. MakeForm(part,"Cone")
  1009. local part = CreatePart(3, DRILL, "SmoothPlastic", 0, 0.5, "Cyan", "Drill2", VT(0.25,1.5,0.25),false)
  1010. local weld = CreateWeldOrSnapOrMotor("Weld", part, PART2, part, CF(0.3,-1.7,-0.3) * ANGLES(RAD(-90), RAD(0), RAD(-45)), CF(0, 0, 0))
  1011. MakeForm(part,"Cone")
  1012. local part = CreatePart(3, DRILL, "SmoothPlastic", 0, 0.5, "Cyan", "Drill3", VT(0.25,1.5,0.25),false)
  1013. local weld = CreateWeldOrSnapOrMotor("Weld", part, PART2, part, CF(-0.3,-1.7,0.3) * ANGLES(RAD(90), RAD(0), RAD(45)), CF(0, 0, 0))
  1014. MakeForm(part,"Cone")
  1015. local part = CreatePart(3, DRILL, "SmoothPlastic", 0, 0.5, "Cyan", "Drill4", VT(0.25,1.5,0.25),false)
  1016. local weld = CreateWeldOrSnapOrMotor("Weld", part, PART2, part, CF(0.3,-1.7,0.3) * ANGLES(RAD(90), RAD(0), RAD(-45)), CF(0, 0, 0))
  1017. MakeForm(part,"Cone")
  1018. PART2.CFrame = FRAME*CF(0,0,-2-(i*2))*ANGLES(RAD(0),RAD(0),RAD(0))
  1019. PART2.Anchored = true
  1020. local HIT = drill2.Touched:Connect(function(hit)
  1021. drillem(hit)
  1022. end)
  1023. MagicSphere(VT(1,1,1),10,drill2.CFrame,"Cyan",VT(0.6,0.6,0.6))
  1024. coroutine.resume(coroutine.create(function()
  1025. for i = 1, 100 do
  1026. Swait()
  1027. PART2.CFrame = PART2.CFrame *ANGLES(RAD(0),RAD(5),RAD(0))
  1028. end
  1029. MagicSphere(VT(1,1,1),15,drill2.CFrame,"Cyan",VT(0.6,0.6,0.6))
  1030. DRILL:remove()
  1031. end))
  1032. end))
  1033. end
  1034. end))
  1035. end
  1036. end))
  1037. for i=0, 3, 0.1 / Animation_Speed do
  1038. Swait()
  1039. MagicSphere(VT(1,1,1),10,drill.CFrame*CF(0,1,0),"Cyan",VT(0.3,0.3,0.3))
  1040. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -1.5) * ANGLES(RAD(0), RAD(-5), RAD(45)), 1 / Animation_Speed)
  1041. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(-45)), 0.15 / Animation_Speed)
  1042. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(2, 0, -0.3) * ANGLES(RAD(25), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1043. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1044. RightHip.C0 = Clerp(RightHip.C0, CF(1, 0.5, -0.75) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
  1045. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.4) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(90)), 1 / Animation_Speed)
  1046. ArmWeld.C0 = Clerp(ArmWeld.C0, CF(0, 0, 0) * ANGLES(RAD(0), RAD(i*5000), RAD(0)), 0.5 / Animation_Speed)
  1047. end
  1048. for i=0, 1, 0.1 / Animation_Speed do
  1049. Swait()
  1050. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -1.5) * ANGLES(RAD(0), RAD(-5), RAD(0)), 1 / Animation_Speed)
  1051. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1052. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(2, 2, -0.3) * ANGLES(RAD(25), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  1053. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  1054. RightHip.C0 = Clerp(RightHip.C0, CF(1, 0.5, -0.75) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
  1055. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.4) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(90)), 1 / Animation_Speed)
  1056. ArmWeld.C0 = Clerp(ArmWeld.C0, CF(0, 0, 0) * ANGLES(RAD(0), RAD(i*100), RAD(0)), 0.5 / Animation_Speed)
  1057. end
  1058. LOOP:remove()
  1059. UNANCHOR = true
  1060. ATTACK = false
  1061. Rooted = false
  1062. end
  1063.  
  1064. function Taunt()
  1065. ATTACK = true
  1066. Rooted = false
  1067. local LOOP = CreateLoopSound()
  1068. for i=0, 5, 0.1 / Animation_Speed do
  1069. Swait()
  1070. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(45)), 0.5 / Animation_Speed)
  1071. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-40)), 0.5 / Animation_Speed)
  1072. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.15, -1) * ANGLES(RAD(170), RAD(45), RAD(12)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1073. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1074. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(0)), 0.5 / Animation_Speed)
  1075. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(0)), 0.5 / Animation_Speed)
  1076. ArmWeld.C0 = Clerp(ArmWeld.C0, CF(0, 0, 0) * ANGLES(RAD(0), RAD(i*500), RAD(0)), 0.5 / Animation_Speed)
  1077. end
  1078. LOOP:remove()
  1079. ATTACK = false
  1080. Rooted = false
  1081. end
  1082.  
  1083. --//=================================\\
  1084. --|| ASSIGN THINGS TO KEYS
  1085. --\\=================================//
  1086.  
  1087. function MouseDown(Mouse)
  1088. if ATTACK == false then
  1089. Strike()
  1090. end
  1091. end
  1092.  
  1093. function MouseUp(Mouse)
  1094. HOLD = false
  1095. end
  1096.  
  1097. function KeyDown(Key)
  1098. KEYHOLD = true
  1099. if Key == "z" and ATTACK == false then
  1100. DrillRun()
  1101. end
  1102.  
  1103. if Key == "b" and ATTACK == false then
  1104. EnergyDrills()
  1105. end
  1106.  
  1107. if Key == "t" and ATTACK == false then
  1108. Taunt()
  1109. end
  1110. end
  1111.  
  1112. function KeyUp(Key)
  1113. KEYHOLD = false
  1114. end
  1115.  
  1116. Mouse.Button1Down:connect(function(NEWKEY)
  1117. MouseDown(NEWKEY)
  1118. end)
  1119. Mouse.Button1Up:connect(function(NEWKEY)
  1120. MouseUp(NEWKEY)
  1121. end)
  1122. Mouse.KeyDown:connect(function(NEWKEY)
  1123. KeyDown(NEWKEY)
  1124. end)
  1125. Mouse.KeyUp:connect(function(NEWKEY)
  1126. KeyUp(NEWKEY)
  1127. end)
  1128.  
  1129. --//=================================\\
  1130. --\\=================================//
  1131.  
  1132.  
  1133. function unanchor()
  1134. if UNANCHOR == true then
  1135. g = Character:GetChildren()
  1136. for i = 1, #g do
  1137. if g[i].ClassName == "Part" then
  1138. g[i].Anchored = false
  1139. end
  1140. end
  1141. end
  1142. end
  1143.  
  1144.  
  1145. --//=================================\\
  1146. --|| WRAP THE WHOLE SCRIPT UP
  1147. --\\=================================//
  1148.  
  1149. Humanoid.Changed:connect(function(Jump)
  1150. if Jump == "Jump" and (Disable_Jump == true) then
  1151. Humanoid.Jump = false
  1152. end
  1153. end)
  1154.  
  1155. while true do
  1156. Swait()
  1157. ANIMATE.Parent = nil
  1158. local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
  1159. IDLEANIMATION:Play()
  1160. SINE = SINE + CHANGE
  1161. local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  1162. local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  1163. local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
  1164. local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
  1165. local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
  1166. if ATTACK == false then
  1167. ArmWeld.C0 = Clerp(ArmWeld.C0, CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1168. end
  1169. if ANIM == "Walk" and TORSOVELOCITY > 1 then
  1170. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.1 * COS(SINE / (WALKSPEEDVALUE / 2)) * Player_Size) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1171. Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1172. RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 0.875 * Player_Size - 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, -0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1173. LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 0.875 * Player_Size + 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, 0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1174. elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
  1175. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1176. Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1177. RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1178. LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1179. end
  1180. if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
  1181. ANIM = "Jump"
  1182. if ATTACK == false then
  1183. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1184. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 * Player_Size, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1185. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.15, -0.3) * ANGLES(RAD(110), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1186. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0 * Player_Size) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  1187. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
  1188. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  1189. end
  1190. elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
  1191. ANIM = "Fall"
  1192. if ATTACK == false then
  1193. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1194. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1195. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.15, -0.3) * ANGLES(RAD(110), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1196. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  1197. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  1198. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  1199. end
  1200. elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  1201. ANIM = "Idle"
  1202. if ATTACK == false then
  1203. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 0.15 / Animation_Speed)
  1204. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(40)), 0.15 / Animation_Speed)
  1205. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.15, -0.3) * ANGLES(RAD(110), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1206. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(-45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1207. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(0)), 0.15 / Animation_Speed)
  1208. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(0)), 0.15 / Animation_Speed)
  1209. end
  1210. elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  1211. ANIM = "Walk"
  1212. WALK = WALK + 1 / Animation_Speed
  1213. if WALK >= 15 - (5 * (Humanoid.WalkSpeed / 16 / Player_Size)) then
  1214. WALK = 0
  1215. if WALKINGANIM == true then
  1216. WALKINGANIM = false
  1217. elseif WALKINGANIM == false then
  1218. WALKINGANIM = true
  1219. end
  1220. end
  1221. --RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 0.875 * Player_Size - 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, -0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1222. --LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 0.875 * Player_Size + 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, 0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1223. if ATTACK == false then
  1224. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-25)), 0.15 / Animation_Speed)
  1225. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(20)), 0.15 / Animation_Speed)
  1226. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.15, -0.3) * ANGLES(RAD(110), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1227. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1228. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(0)), 0.15 / Animation_Speed)
  1229. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(0)), 0.15 / Animation_Speed)
  1230. end
  1231. end
  1232. unanchor()
  1233. Humanoid.MaxHealth = "inf"
  1234. Humanoid.Health = "inf"
  1235. if Rooted == false then
  1236. Disable_Jump = false
  1237. Humanoid.WalkSpeed = Speed
  1238. elseif Rooted == true then
  1239. Disable_Jump = true
  1240. Humanoid.WalkSpeed = 0
  1241. end
  1242. end
  1243.  
  1244. --//=================================\\
  1245. --\\=================================//
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251. --//====================================================\\--
  1252. --|| END OF SCRIPT
  1253. --\\====================================================//--
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement