Advertisement
ForkFullFight

Abysailum [Rare]

Oct 23rd, 2023 (edited)
101
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. --//====================================================\\--
  153. --|| CREATED BY SHACKLUSTER
  154. --\\====================================================//--
  155.  
  156.  
  157.  
  158. wait(0.2)
  159.  
  160. local Player = game.Players.localPlayer
  161. local Character = Player.Character
  162. local Humanoid = Character.Humanoid
  163. local Mouse = Player:GetMouse()
  164. local LeftArm = Character["Left Arm"]
  165. local RightArm = Character["Right Arm"]
  166. local LeftLeg = Character["Left Leg"]
  167. local RightLeg = Character["Right Leg"]
  168. local Head = Character.Head
  169. local Torso = Character.Torso
  170. local Camera = game.Workspace.CurrentCamera
  171. local RootPart = Character.HumanoidRootPart
  172. local RootJoint = RootPart.RootJoint
  173. local attack = false
  174. local Anim = 'Idle'
  175. local Lighty = game:GetService"Lighting"
  176. local attacktype = 1
  177. local Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude
  178. local velocity = RootPart.Velocity.y
  179. local sine = 0
  180. local change = 1
  181. local Create = LoadLibrary("RbxUtility").Create
  182.  
  183.  
  184. local chara = Character
  185. local m = Create("Model"){
  186. Parent = Character,
  187. Name = "WeaponModel",
  188. }
  189. function chat(...)
  190. local txxt = {...}
  191. local ch = coroutine.wrap(function()
  192. if chara:FindFirstChild("Chatt")~= nil then
  193. Character:FindFirstChild("Chatt"):destroy()
  194. end
  195. local txt = Instance.new("BillboardGui", chara)
  196. txt.Adornee = chara.Head
  197. txt.Name = "Chatt"
  198. txt.Size = UDim2.new(2, 0, 1.2, 0)
  199. txt.StudsOffset = Vector3.new(-9, 7, 0)
  200. local text = Instance.new("TextLabel", txt)
  201. text.Size = UDim2.new(10, 0, 7, 0)
  202. text.TextSize = 24
  203. text.Font = Enum.Font.Fantasy
  204. text.TextScaled = false
  205. text.BackgroundTransparency = 1
  206. text.TextColor3 = Color3.new(0,0,0)
  207. text.TextStrokeTransparency = 0
  208. text.TextStrokeColor3 = Color3.new(0,0,0)
  209. text.Text = ""
  210. txxt = table.concat(txxt,"\t")
  211. for i = 1, #txxt do
  212. text.Text = txxt:sub(1,i)
  213.  
  214. end
  215. wait(2)
  216. for trans = 0,1,.1 do
  217. text.TextTransparency = trans
  218. text.TextStrokeTransparency = trans
  219. wait()
  220. end
  221. wait()
  222. txt:destroy()
  223. end)
  224.  
  225. ch(...)
  226. end
  227. Player.Chatted:connect(chat)
  228. warn("Q to teleport")
  229. warn("E to create a sinkhole")
  230. warn("R to create a massive sinkhole")
  231. warn("T to laugh")
  232. Player = game:GetService("Players").LocalPlayer
  233. PlayerGui = Player.PlayerGui
  234. Cam = workspace.CurrentCamera
  235. Backpack = Player.Backpack
  236. Character = Player.Character
  237. Humanoid = Character.Humanoid
  238. Mouse = Player:GetMouse()
  239. RootPart = Character["HumanoidRootPart"]
  240. Torso = Character["Torso"]
  241. Head = Character["Head"]
  242. RightArm = Character["Right Arm"]
  243. LeftArm = Character["Left Arm"]
  244. RightLeg = Character["Right Leg"]
  245. LeftLeg = Character["Left Leg"]
  246. RootJoint = RootPart["RootJoint"]
  247. Neck = Torso["Neck"]
  248. RightShoulder = Torso["Right Shoulder"]
  249. LeftShoulder = Torso["Left Shoulder"]
  250. RightHip = Torso["Right Hip"]
  251. LeftHip = Torso["Left Hip"]
  252. local sick = Instance.new("Sound",Character)
  253. sick.SoundId = "rbxassetid://573736432"
  254. sick.Looped = true
  255. sick.Pitch = 1
  256. sick.Volume = 1
  257. Humanoid.DisplayDistanceType = "None"
  258.  
  259. IT = Instance.new
  260. CF = CFrame.new
  261. VT = Vector3.new
  262. RAD = math.rad
  263. C3 = Color3.new
  264. UD2 = UDim2.new
  265. BRICKC = BrickColor.new
  266. ANGLES = CFrame.Angles
  267. EULER = CFrame.fromEulerAnglesXYZ
  268. COS = math.cos
  269. ACOS = math.acos
  270. SIN = math.sin
  271. ASIN = math.asin
  272. ABS = math.abs
  273. MRANDOM = math.random
  274. FLOOR = math.floor
  275.  
  276. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  277. local NEWMESH = IT(MESH)
  278. if MESH == "SpecialMesh" then
  279. NEWMESH.MeshType = MESHTYPE
  280. if MESHID ~= "nil" and MESHID ~= "" then
  281. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  282. end
  283. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  284. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  285. end
  286. end
  287. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  288. NEWMESH.Scale = SCALE
  289. NEWMESH.Parent = PARENT
  290. return NEWMESH
  291. end
  292.  
  293. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  294. local NEWPART = IT("Part")
  295. NEWPART.formFactor = FORMFACTOR
  296. NEWPART.Reflectance = REFLECTANCE
  297. NEWPART.Transparency = TRANSPARENCY
  298. NEWPART.CanCollide = false
  299. NEWPART.Locked = true
  300. NEWPART.Anchored = true
  301. if ANCHOR == false then
  302. NEWPART.Anchored = false
  303. end
  304. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  305. NEWPART.Name = NAME
  306. NEWPART.Size = SIZE
  307. NEWPART.Position = Torso.Position
  308. NEWPART.Material = MATERIAL
  309. NEWPART:BreakJoints()
  310. NEWPART.Parent = PARENT
  311. return NEWPART
  312. end
  313.  
  314. --//=================================\\
  315. --|| CUSTOMIZATION
  316. --\\=================================//
  317.  
  318. Player_Size = 1.5 --Size of the player.
  319. Animation_Speed = 3
  320. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  321.  
  322. local Speed = 20
  323. local Effects2 = {}
  324.  
  325. --//=================================\\
  326. --|| END OF CUSTOMIZATION
  327. --\\=================================//
  328.  
  329. local function weldBetween(a, b)
  330. local weldd = Instance.new("ManualWeld")
  331. weldd.Part0 = a
  332. weldd.Part1 = b
  333. weldd.C0 = CFrame.new()
  334. weldd.C1 = b.CFrame:inverse() * a.CFrame
  335. weldd.Parent = a
  336. return weldd
  337. end
  338.  
  339. function createaccessory(attachmentpart,mesh,texture,scale,offset,color)
  340. local acs = Instance.new("Part")
  341. acs.CanCollide = false
  342. acs.Anchored = false
  343. acs.Size = Vector3.new(0,0,0)
  344. acs.CFrame = attachmentpart.CFrame
  345. acs.Parent = Character
  346. acs.BrickColor = color
  347. local meshs = Instance.new("SpecialMesh")
  348. meshs.MeshId = mesh
  349. meshs.TextureId = texture
  350. meshs.Parent = acs
  351. meshs.Scale = scale
  352. meshs.Offset = offset
  353. weldBetween(attachmentpart,acs)
  354. end
  355.  
  356. function createbodypart(TYPE,COLOR,PART,OFFSET,SIZE)
  357. if TYPE == "Gem" then
  358. local acs = CreatePart(3, Character, "Plastic", 0, 0, COLOR, "Part", VT(0,0,0))
  359. acs.Anchored = false
  360. acs.CanCollide = false
  361. acs.CFrame = PART.CFrame
  362. local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "9756362", "", SIZE, OFFSET)
  363. weldBetween(PART,acs)
  364. elseif TYPE == "Skull" then
  365. local acs = CreatePart(3, Character, "Plastic", 0, 0, COLOR, "Part", VT(0,0,0))
  366. acs.Anchored = false
  367. acs.CanCollide = false
  368. acs.CFrame = PART.CFrame
  369. local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "4770583", "", SIZE, OFFSET)
  370. weldBetween(PART,acs)
  371. elseif TYPE == "Eye" then
  372. local acs = CreatePart(3, Character, "Neon", 0, 0, COLOR, "Part", VT(0,0,0))
  373. acs.Anchored = false
  374. acs.CanCollide = false
  375. acs.CFrame = PART.CFrame
  376. local acs2 = CreateMesh("SpecialMesh", acs, "Sphere", "", "", SIZE, OFFSET)
  377. weldBetween(PART,acs)
  378. end
  379. end
  380.  
  381. --//=================================\\
  382. --|| USEFUL VALUES
  383. --\\=================================//
  384.  
  385. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  386. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  387. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  388. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  389. local CHANGEDEFENSE = 0
  390. local CHANGEDAMAGE = 0
  391. local CHANGEMOVEMENT = 0
  392. local ANIM = "Idle"
  393. local ATTACK = false
  394. local EQUIPPED = false
  395. local HOLD = false
  396. local COMBO = 1
  397. local Rooted = false
  398. local SINE = 0
  399. local HITFLOOR = nil
  400. local HITPOS = nil
  401. local KEYHOLD = false
  402. local CHANGE = 2 / Animation_Speed
  403. local WALKINGANIM = false
  404. local WALK = 0
  405. local VALUE1 = false
  406. local VALUE2 = false
  407. local ROBLOXIDLEANIMATION = IT("Animation")
  408. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  409. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  410. --ROBLOXIDLEANIMATION.Parent = Humanoid
  411. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  412. WEAPONGUI.Name = "Weapon GUI"
  413. local Weapon = IT("Model")
  414. Weapon.Name = "Adds"
  415. local Effects = IT("Folder", Weapon)
  416. Effects.Name = "Effects"
  417. local ANIMATOR = Humanoid.Animator
  418. local ANIMATE = Character.Animate
  419. local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
  420. local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
  421. local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
  422. local HITBLOCKSOUNDS = {"199148933", "199148947"}
  423. local UNANCHOR = true
  424.  
  425. local SKILLTEXTCOLOR = C3(255,255,255)
  426.  
  427. --//=================================\\
  428. --\\=================================//
  429.  
  430.  
  431. --//=================================\\
  432. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  433. --\\=================================//
  434.  
  435. ArtificialHB = Instance.new("BindableEvent", script)
  436. ArtificialHB.Name = "ArtificialHB"
  437.  
  438. script:WaitForChild("ArtificialHB")
  439.  
  440. frame = Frame_Speed
  441. tf = 0
  442. allowframeloss = false
  443. tossremainder = false
  444. lastframe = tick()
  445. script.ArtificialHB:Fire()
  446.  
  447. game:GetService("RunService").Heartbeat:connect(function(s, p)
  448. tf = tf + s
  449. if tf >= frame then
  450. if allowframeloss then
  451. script.ArtificialHB:Fire()
  452. lastframe = tick()
  453. else
  454. for i = 1, math.floor(tf / frame) do
  455. script.ArtificialHB:Fire()
  456. end
  457. lastframe = tick()
  458. end
  459. if tossremainder then
  460. tf = 0
  461. else
  462. tf = tf - frame * math.floor(tf / frame)
  463. end
  464. end
  465. end)
  466.  
  467. --//=================================\\
  468. --\\=================================//
  469.  
  470.  
  471.  
  472.  
  473.  
  474. --//=================================\\
  475. --|| SOME FUNCTIONS
  476. --\\=================================//
  477.  
  478. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  479. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  480. end
  481.  
  482. function PositiveAngle(NUMBER)
  483. if NUMBER >= 0 then
  484. NUMBER = 0
  485. end
  486. return NUMBER
  487. end
  488.  
  489. function NegativeAngle(NUMBER)
  490. if NUMBER <= 0 then
  491. NUMBER = 0
  492. end
  493. return NUMBER
  494. end
  495.  
  496. function Swait(NUMBER)
  497. if NUMBER == 0 or NUMBER == nil then
  498. ArtificialHB.Event:wait()
  499. else
  500. for i = 1, NUMBER do
  501. ArtificialHB.Event:wait()
  502. end
  503. end
  504. end
  505.  
  506. function QuaternionFromCFrame(cf)
  507. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  508. local trace = m00 + m11 + m22
  509. if trace > 0 then
  510. local s = math.sqrt(1 + trace)
  511. local recip = 0.5 / s
  512. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  513. else
  514. local i = 0
  515. if m11 > m00 then
  516. i = 1
  517. end
  518. if m22 > (i == 0 and m00 or m11) then
  519. i = 2
  520. end
  521. if i == 0 then
  522. local s = math.sqrt(m00 - m11 - m22 + 1)
  523. local recip = 0.5 / s
  524. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  525. elseif i == 1 then
  526. local s = math.sqrt(m11 - m22 - m00 + 1)
  527. local recip = 0.5 / s
  528. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  529. elseif i == 2 then
  530. local s = math.sqrt(m22 - m00 - m11 + 1)
  531. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  532. end
  533. end
  534. end
  535.  
  536. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  537. local xs, ys, zs = x + x, y + y, z + z
  538. local wx, wy, wz = w * xs, w * ys, w * zs
  539. local xx = x * xs
  540. local xy = x * ys
  541. local xz = x * zs
  542. local yy = y * ys
  543. local yz = y * zs
  544. local zz = z * zs
  545. 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))
  546. end
  547.  
  548. function QuaternionSlerp(a, b, t)
  549. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  550. local startInterp, finishInterp;
  551. if cosTheta >= 0.0001 then
  552. if (1 - cosTheta) > 0.0001 then
  553. local theta = ACOS(cosTheta)
  554. local invSinTheta = 1 / SIN(theta)
  555. startInterp = SIN((1 - t) * theta) * invSinTheta
  556. finishInterp = SIN(t * theta) * invSinTheta
  557. else
  558. startInterp = 1 - t
  559. finishInterp = t
  560. end
  561. else
  562. if (1 + cosTheta) > 0.0001 then
  563. local theta = ACOS(-cosTheta)
  564. local invSinTheta = 1 / SIN(theta)
  565. startInterp = SIN((t - 1) * theta) * invSinTheta
  566. finishInterp = SIN(t * theta) * invSinTheta
  567. else
  568. startInterp = t - 1
  569. finishInterp = t
  570. end
  571. end
  572. 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
  573. end
  574.  
  575. function Clerp(a, b, t)
  576. local qa = {QuaternionFromCFrame(a)}
  577. local qb = {QuaternionFromCFrame(b)}
  578. local ax, ay, az = a.x, a.y, a.z
  579. local bx, by, bz = b.x, b.y, b.z
  580. local _t = 1 - t
  581. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  582. end
  583.  
  584. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  585. local frame = IT("Frame")
  586. frame.BackgroundTransparency = TRANSPARENCY
  587. frame.BorderSizePixel = BORDERSIZEPIXEL
  588. frame.Position = POSITION
  589. frame.Size = SIZE
  590. frame.BackgroundColor3 = COLOR
  591. frame.BorderColor3 = BORDERCOLOR
  592. frame.Name = NAME
  593. frame.Parent = PARENT
  594. return frame
  595. end
  596.  
  597. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  598. local label = IT("TextLabel")
  599. label.BackgroundTransparency = 1
  600. label.Size = UD2(1, 0, 1, 0)
  601. label.Position = UD2(0, 0, 0, 0)
  602. label.TextColor3 = TEXTCOLOR
  603. label.TextStrokeColor3 = C3(1,1,1)
  604. label.TextStrokeTransparency = 0
  605. label.TextTransparency = TRANSPARENCY
  606. label.FontSize = TEXTFONTSIZE
  607. label.Font = TEXTFONT
  608. label.BorderSizePixel = BORDERSIZEPIXEL
  609. label.TextScaled = false
  610. label.Text = TEXT
  611. label.Name = NAME
  612. label.Parent = PARENT
  613. return label
  614. end
  615.  
  616. function NoOutlines(PART)
  617. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  618. end
  619.  
  620.  
  621. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  622. local NEWWELD = IT(TYPE)
  623. NEWWELD.Part0 = PART0
  624. NEWWELD.Part1 = PART1
  625. NEWWELD.C0 = C0
  626. NEWWELD.C1 = C1
  627. NEWWELD.Parent = PARENT
  628. return NEWWELD
  629. end
  630.  
  631. function CreateSound(ID, PARENT, VOLUME, PITCH)
  632. local NEWSOUND = nil
  633. coroutine.resume(coroutine.create(function()
  634. NEWSOUND = IT("Sound", PARENT)
  635. NEWSOUND.Volume = VOLUME
  636. NEWSOUND.Pitch = PITCH
  637. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  638. Swait()
  639. NEWSOUND:play()
  640. game:GetService("Debris"):AddItem(NEWSOUND, 10)
  641. end))
  642. return NEWSOUND
  643. end
  644.  
  645. function CFrameFromTopBack(at, top, back)
  646. local right = top:Cross(back)
  647. 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)
  648. end
  649.  
  650. function MakeForm(PART,TYPE)
  651. local MSH = nil
  652. if TYPE == "Cyl" then
  653. MSH = IT("CylinderMesh",PART)
  654. elseif TYPE == "Ball" then
  655. MSH = IT("SpecialMesh",PART)
  656. MSH.MeshType = "Sphere"
  657. elseif TYPE == "Wedge" then
  658. MSH = IT("SpecialMesh",PART)
  659. MSH.MeshType = "Wedge"
  660. end
  661. return MSH
  662. end
  663.  
  664. Debris = game:GetService("Debris")
  665.  
  666. --//=================================\\
  667. --|| WEAPON CREATION
  668. --\\=================================//
  669.  
  670. local Hole = CreatePart(3, Weapon, "Neon", 0, 0, "White", "Hole", VT(15,0,15))
  671. local MESH = MakeForm(Hole,"Cyl")
  672.  
  673. for _, c in pairs(Weapon:GetChildren()) do
  674. if c.ClassName == "Part" then
  675. c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  676. end
  677. end
  678.  
  679. Weapon.Parent = Character
  680.  
  681. Humanoid.Died:connect(function()
  682. ATTACK = true
  683. end)
  684.  
  685.  
  686.  
  687. --//=================================\\
  688. --|| DAMAGING
  689. --\\=================================//
  690.  
  691. function Sink(position,radius)
  692. for i,v in ipairs(workspace:GetChildren()) do
  693. if v:FindFirstChild("Hit2By"..Player.Name) == nil then
  694. local body = v:GetChildren()
  695. for part = 1, #body do
  696. if(v:FindFirstChild("Hit2By"..Player.Name) == nil and (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
  697. if(body[part].Position - position).Magnitude < radius then
  698. if v.ClassName == "Model" then
  699. if v:FindFirstChild("Humanoid") then
  700. local defence = Instance.new("BoolValue",v)
  701. defence.Name = ("Hit2By"..Player.Name)
  702. if v.Humanoid.Health ~= 0 then
  703. local TORS = v:FindFirstChild("HumanoidRootPart") or v:FindFirstChild("Torso") or v:FindFirstChild("UpperTorso")
  704. if TORS ~= nil then
  705. local HITFLOOR2, HITPOS2 = Raycast(TORS.Position, (CF(TORS.Position, TORS.Position + VT(0, -1, 0))).lookVector, 5 * TORS.Size.Y/2, v)
  706. coroutine.resume(coroutine.create(function()
  707. if HITFLOOR2 ~= nil then
  708. TORS.Anchored = true
  709. local Hole2 = CreatePart(3, Effects, "Neon", 0, 0, "White", "Hole", VT(TORS.Size.X*4,0,TORS.Size.X*4))
  710. Hole2.Color = C3(0,0,0)
  711. local MESH = MakeForm(Hole2,"Cyl")
  712. MESH.Scale = VT(0,1,0)
  713. Hole2.CFrame = CF(HITPOS2)
  714. for i = 1, 10 do
  715. Swait()
  716. MESH.Scale = MESH.Scale + VT(0.1,0,0.1)
  717. end
  718. repeat
  719. Swait()
  720. TORS.CFrame = TORS.CFrame * CF(0,-0.1,0)
  721. until TORS.Position.Y<position.Y-4
  722. v:remove()
  723. for i = 1, 10 do
  724. Swait()
  725. MESH.Scale = MESH.Scale - VT(0.1,0,0.1)
  726. end
  727. Hole2:remove()
  728. end
  729. end))
  730. end
  731. end
  732. end
  733. end
  734. --body[part].Velocity = CFrame.new(position,body[part].Position).lookVector*5*maxstrength
  735. end
  736. end
  737. end
  738. end
  739. end
  740. end
  741.  
  742. --//=================================\\
  743. --|| ATTACK FUNCTIONS AND STUFF
  744. --\\=================================//
  745.  
  746. function Trail(Part)
  747. local TRAIL = Part:Clone()
  748. TRAIL.CanCollide = false
  749. TRAIL.Anchored = true
  750. TRAIL.Parent = Effects
  751. TRAIL.Name = "Trail"
  752. local TRANS = Part.Transparency
  753. coroutine.resume(coroutine.create(function()
  754. for i = 1, 20 do
  755. Swait()
  756. TRAIL.Transparency = TRAIL.Transparency + ((1-TRANS)/20)
  757. end
  758. TRAIL:remove()
  759. end))
  760. end
  761.  
  762. function AttackTemplate()
  763. ATTACK = true
  764. Rooted = false
  765. for i=0, 1, 0.1 / Animation_Speed do
  766. Swait()
  767. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  768. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  769. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  770. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  771. 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)
  772. 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)
  773. end
  774. ATTACK = false
  775. Rooted = false
  776. end
  777.  
  778. function Intro()
  779. coroutine.resume(coroutine.create(function()
  780. ATTACK = true
  781. Rooted = true
  782. UNANCHOR = false
  783. RootPart.Anchored = true
  784. for i=0, 2, 0.1 / Animation_Speed do
  785. Swait()
  786. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  787. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  788. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  789. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  790. 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)
  791. 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)
  792. end
  793. for i=0, 4, 0.1 / Animation_Speed do
  794. Swait()
  795. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -10 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  796. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  797. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  798. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  799. 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)
  800. 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)
  801. end
  802. VALUE1 = true
  803. local part = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Eye", VT(0.2,0.3,0.1),false)
  804. local weld = CreateWeldOrSnapOrMotor("Weld", part, Head, part, CF(0.16,0.25,-0.5) * ANGLES(RAD(0), RAD(0), RAD(-25)), CF(0, 0, 0))
  805. MakeForm(part,"Ball")
  806. local part = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Eye", VT(0.2,0.3,0.1),false)
  807. local weld = CreateWeldOrSnapOrMotor("Weld", part, Head, part, CF(-0.16,0.25,-0.5) * ANGLES(RAD(0), RAD(0), RAD(25)), CF(0, 0, 0))
  808. MakeForm(part,"Ball")
  809. Swait(15)
  810. Humanoid.HipHeight = 2
  811. sick:Play()
  812. CreateSound("649634100", Head, 10, 0.6)
  813. for i=0, 2, 0.1 / Animation_Speed do
  814. Swait()
  815. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(-25), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  816. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  817. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  818. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  819. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.15 * COS(SINE / 12), -0.1) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(15)), 0.15 / Animation_Speed)
  820. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1, -0.6 - 0.15 * COS(SINE / 12), -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(45)), 0.15 / Animation_Speed)
  821. end
  822. UNANCHOR = true
  823. ATTACK = false
  824. Rooted = false
  825. end))
  826. end
  827.  
  828. function Warp()
  829. ATTACK = true
  830. Rooted = true
  831. UNANCHOR = false
  832. RootPart.Anchored = true
  833. for i=0, 1, 0.1 / Animation_Speed do
  834. Swait()
  835. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0.3) * ANGLES(RAD(180), RAD(0), RAD(0)), 1 / Animation_Speed)
  836. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  837. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 1.5, 0) * ANGLES(RAD(180), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  838. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 1.5, 0) * ANGLES(RAD(180), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  839. 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)), 1 / Animation_Speed)
  840. 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)), 1 / Animation_Speed)
  841. end
  842. for i=0, 1, 0.1 / Animation_Speed do
  843. Swait()
  844. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -15) * ANGLES(RAD(180), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  845. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
  846. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 1.5, 0) * ANGLES(RAD(180), RAD(0), RAD(-45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  847. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 1.5, 0) * ANGLES(RAD(180), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  848. 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)), 1 / Animation_Speed)
  849. 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)), 1 / Animation_Speed)
  850. end
  851. for i = 1, 50 do
  852. Swait()
  853. Trail(Hole)
  854. MESH.Scale = MESH.Scale - VT(0.02,0,0.02)
  855. end
  856. local ORIGINPOS = RootPart.Position
  857. RootPart.CFrame = CF(VT(Mouse.Hit.p.X,RootPart.Position.Y,Mouse.Hit.p.Z),ORIGINPOS)
  858. CreateSound("466493476", Hole, 10, 1)
  859. for i = 1, 50 do
  860. Swait()
  861. MESH.Scale = MESH.Scale + VT(0.02,0,0.02)
  862. end
  863. for i=0, 2, 0.1 / Animation_Speed do
  864. Swait()
  865. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(-25), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  866. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  867. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  868. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-25), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  869. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.15 * COS(SINE / 12), -0.1) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(15)), 0.15 / Animation_Speed)
  870. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1, -0.6 - 0.15 * COS(SINE / 12), -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(45)), 0.15 / Animation_Speed)
  871. end
  872. UNANCHOR = true
  873. ATTACK = false
  874. Rooted = false
  875. end
  876.  
  877. function Sinkhole()
  878. coroutine.resume(coroutine.create(function()
  879. local Hole2 = CreatePart(3, Effects, "Neon", 0, 0, "White", "Hole", VT(15,0,15))
  880. Hole2.Color = C3(0,0,0)
  881. local MESH = MakeForm(Hole2,"Cyl")
  882. MESH.Scale = VT(0,1,0)
  883. Hole2.CFrame = CF(Mouse.Hit.p)
  884. CreateSound("466493476", Hole2, 10, 1)
  885. for i = 1, 50 do
  886. Swait()
  887. MESH.Scale = MESH.Scale + VT(0.02,0,0.02)
  888. end
  889. for i = 1, 200 do
  890. Swait()
  891. Sink(Hole2.Position,Hole2.Size.X/2.2)
  892. end
  893. Swait(100)
  894. for i = 1, 50 do
  895. Swait()
  896. Trail(Hole2)
  897. MESH.Scale = MESH.Scale - VT(0.02,0,0.02)
  898. end
  899. Hole2:remove()
  900. end))
  901. end
  902.  
  903. function AbyssGate()
  904. VALUE2 = true
  905. coroutine.resume(coroutine.create(function()
  906. CreateSound("466493476", Hole, 10, 0.1)
  907. for i = 1, 500 do
  908. Swait()
  909. Hole.Size = Hole.Size + VT(1,0,1)
  910. end
  911. Swait(100)
  912. for i = 1, 500 do
  913. Swait()
  914. Trail(Hole)
  915. Hole.Size = Hole.Size - VT(1,0,1)
  916. end
  917. VALUE2 = false
  918. end))
  919. end
  920.  
  921. --//=================================\\
  922. --|| ASSIGN THINGS TO KEYS
  923. --\\=================================//
  924.  
  925. function MouseDown(Mouse)
  926. if ATTACK == false then
  927. end
  928. end
  929.  
  930. function MouseUp(Mouse)
  931. HOLD = false
  932. end
  933.  
  934. function KeyDown(Key)
  935. KEYHOLD = true
  936. if Key == "q" and ATTACK == false and HITFLOOR ~= nil and VALUE2 == false then
  937. Warp()
  938. end
  939.  
  940. if Key == "e" and ATTACK == false then
  941. Sinkhole()
  942. end
  943.  
  944. if Key == "r" and ATTACK == false and VALUE2 == false then
  945. AbyssGate()
  946. end
  947.  
  948. if Key == "t" and ATTACK == false then
  949. CreateSound("649634100", Head, 10, 0.6)
  950. end
  951. end
  952.  
  953. function KeyUp(Key)
  954. KEYHOLD = false
  955. end
  956.  
  957. Mouse.Button1Down:connect(function(NEWKEY)
  958. MouseDown(NEWKEY)
  959. end)
  960. Mouse.Button1Up:connect(function(NEWKEY)
  961. MouseUp(NEWKEY)
  962. end)
  963. Mouse.KeyDown:connect(function(NEWKEY)
  964. KeyDown(NEWKEY)
  965. end)
  966. Mouse.KeyUp:connect(function(NEWKEY)
  967. KeyUp(NEWKEY)
  968. end)
  969.  
  970. --//=================================\\
  971. --\\=================================//
  972.  
  973.  
  974. function unanchor()
  975. if UNANCHOR == true then
  976. g = Character:GetChildren()
  977. for i = 1, #g do
  978. if g[i].ClassName == "Part" then
  979. g[i].Anchored = false
  980. end
  981. end
  982. end
  983. end
  984.  
  985.  
  986. --//=================================\\
  987. --|| WRAP THE WHOLE SCRIPT UP
  988. --\\=================================//
  989.  
  990. Humanoid.Changed:connect(function(Jump)
  991. if Jump == "Jump" and (Disable_Jump == true) then
  992. Humanoid.Jump = false
  993. end
  994. end)
  995.  
  996. Speed = 10
  997.  
  998. while true do
  999. Swait()
  1000. ANIMATE.Parent = nil
  1001. local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
  1002. IDLEANIMATION:Play()
  1003. SINE = SINE + CHANGE
  1004. local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  1005. local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  1006. local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
  1007. HITFLOOR, HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 25 * Player_Size, Character)
  1008. if ATTACK == false then
  1009. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.25 * COS(SINE / 12)) * ANGLES(RAD(25), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1010. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1011. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(25), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1012. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(25), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1013. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.15 * COS(SINE / 12), -0.1) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(15)), 0.15 / Animation_Speed)
  1014. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.1, -0.6 - 0.15 * COS(SINE / 12), -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(15), RAD(25)), 0.15 / Animation_Speed)
  1015. end
  1016. if HITFLOOR ~= nil then
  1017. Hole.CFrame = CF(HITPOS)
  1018. end
  1019. Sink(Hole.Position,Hole.Size.X/2.2*MESH.Scale.X)
  1020. Hole.Color = C3(0,0,0)
  1021. unanchor()
  1022. Humanoid.MaxHealth = "inf"
  1023. Humanoid.Health = "inf"
  1024. if Rooted == false then
  1025. Disable_Jump = false
  1026. Humanoid.WalkSpeed = Speed
  1027. elseif Rooted == true then
  1028. Disable_Jump = true
  1029. Humanoid.WalkSpeed = 0
  1030. end
  1031. if VALUE1 == true then
  1032. Humanoid.HipHeight = 2
  1033. q = Character:GetChildren()
  1034. for u = 1, #q do
  1035. if q[u].ClassName == "Accessory" or q[u].ClassName == "Hat" then
  1036. q[u]:remove()
  1037. elseif q[u].ClassName == "Shirt" then
  1038. q[u]:Destroy()
  1039. elseif q[u].ClassName == "Pants" then
  1040. q[u]:Destroy()
  1041. elseif q[u].ClassName == "CharacterMesh" then
  1042. q[u]:remove()
  1043. elseif q[u].ClassName == "ShirtGraphic" then
  1044. q[u]:remove()
  1045. elseif q[u].ClassName == "Part" and q[u].Name ~= "HumanoidRootPart" then
  1046. q[u].Color = Color3.new(0,0,0)
  1047. q[u].Material = "Neon"
  1048. end
  1049. end
  1050. if Head:FindFirstChild("Mesh") then
  1051. local mesh = Head.Mesh
  1052. if mesh.ClassName == "SpecialMesh" then
  1053. mesh:remove()
  1054. local m = IT("BlockMesh",Head)
  1055. m.Scale = VT(0.5,1,1)
  1056. end
  1057. end
  1058. if Head:FindFirstChild("face") then
  1059. Head.face:remove()
  1060. end
  1061. end
  1062. if VALUE1 == false and ATTACK == false then
  1063. Intro()
  1064. end
  1065. end
  1066.  
  1067. --//=================================\\
  1068. --\\=================================//
  1069.  
  1070.  
  1071.  
  1072.  
  1073.  
  1074. --//====================================================\\--
  1075. --|| END OF SCRIPT
  1076. --\\====================================================//--
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement