asdf2345

Untitled

Dec 26th, 2018
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 55.99 KB | None | 0 0
  1. -- This script has been converted to FE by iPxter
  2.  
  3.  
  4. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  5. local Player,Mouse,mouse,UserInputService,ContextActionService = owner
  6. do
  7. print("FE Compatibility code by Mokiros | Translated to FE by iPxter")
  8. script.Parent = Player.Character
  9.  
  10. --RemoteEvent for communicating
  11. local Event = Instance.new("RemoteEvent")
  12. Event.Name = "UserInput_Event"
  13.  
  14. --Fake event to make stuff like Mouse.KeyDown work
  15. local function fakeEvent()
  16. local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end}
  17. t.connect = t.Connect
  18. return t
  19. end
  20.  
  21. --Creating fake input objects with fake variables
  22. local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
  23. local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  24. local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  25. CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  26. end}
  27. --Merged 2 functions into one by checking amount of arguments
  28. CAS.UnbindAction = CAS.BindAction
  29.  
  30. --This function will trigger the events that have been :Connect()'ed
  31. local function te(self,ev,...)
  32. local t = m[ev]
  33. if t and t._fakeEvent and t.Function then
  34. t.Function(...)
  35. end
  36. end
  37. m.TrigEvent = te
  38. UIS.TrigEvent = te
  39.  
  40. Event.OnServerEvent:Connect(function(plr,io)
  41. if plr~=Player then return end
  42. if io.isMouse then
  43. m.Target = io.Target
  44. m.Hit = io.Hit
  45. else
  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. for _,t in pairs(CAS.Actions) do
  51. for _,k in pairs(t.Keys) do
  52. if k==io.KeyCode then
  53. t.Function(t.Name,io.UserInputState,io)
  54. end
  55. end
  56. end
  57. m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  58. UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
  59. end
  60. end)
  61. Event.Parent = NLS([==[
  62. local Player = game:GetService("Players").LocalPlayer
  63. local Event = script:WaitForChild("UserInput_Event")
  64.  
  65. local UIS = game:GetService("UserInputService")
  66. local input = function(io,a)
  67. if a then return end
  68. --Since InputObject is a client-side instance, we create and pass table instead
  69. Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState})
  70. end
  71. UIS.InputBegan:Connect(input)
  72. UIS.InputEnded:Connect(input)
  73.  
  74. local Mouse = Player:GetMouse()
  75. local h,t
  76. --Give the server mouse data 30 times every second, but only if the values changed
  77. --If player is not moving their mouse, client won't fire events
  78. while wait(1/30) do
  79. if h~=Mouse.Hit or t~=Mouse.Target then
  80. h,t=Mouse.Hit,Mouse.Target
  81. Event:FireServer({isMouse=true,Target=t,Hit=h})
  82. end
  83. end]==],Player.Character)
  84. Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
  85. end
  86. -- This script has been converted to FE by iPxter
  87.  
  88.  
  89. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  90. local Player,Mouse,mouse,UserInputService,ContextActionService = owner
  91. do
  92. print("FE Compatibility code by Mokiros | Translated to FE by iPxter")
  93. script.Parent = Player.Character
  94.  
  95. --RemoteEvent for communicating
  96. local Event = Instance.new("RemoteEvent")
  97. Event.Name = "UserInput_Event"
  98.  
  99. --Fake event to make stuff like Mouse.KeyDown work
  100. local function fakeEvent()
  101. local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end}
  102. t.connect = t.Connect
  103. return t
  104. end
  105.  
  106. --Creating fake input objects with fake variables
  107. local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
  108. local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  109. local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  110. CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  111. end}
  112. --Merged 2 functions into one by checking amount of arguments
  113. CAS.UnbindAction = CAS.BindAction
  114.  
  115. --This function will trigger the events that have been :Connect()'ed
  116. local function te(self,ev,...)
  117. local t = m[ev]
  118. if t and t._fakeEvent and t.Function then
  119. t.Function(...)
  120. end
  121. end
  122. m.TrigEvent = te
  123. UIS.TrigEvent = te
  124.  
  125. Event.OnServerEvent:Connect(function(plr,io)
  126. if plr~=Player then return end
  127. if io.isMouse then
  128. m.Target = io.Target
  129. m.Hit = io.Hit
  130. else
  131. local b = io.UserInputState == Enum.UserInputState.Begin
  132. if io.UserInputType == Enum.UserInputType.MouseButton1 then
  133. return m:TrigEvent(b and "Button1Down" or "Button1Up")
  134. end
  135. for _,t in pairs(CAS.Actions) do
  136. for _,k in pairs(t.Keys) do
  137. if k==io.KeyCode then
  138. t.Function(t.Name,io.UserInputState,io)
  139. end
  140. end
  141. end
  142. m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  143. UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
  144. end
  145. end)
  146. Event.Parent = NLS([==[
  147. local Player = game:GetService("Players").LocalPlayer
  148. local Event = script:WaitForChild("UserInput_Event")
  149.  
  150. local UIS = game:GetService("UserInputService")
  151. local input = function(io,a)
  152. if a then return end
  153. --Since InputObject is a client-side instance, we create and pass table instead
  154. Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState})
  155. end
  156. UIS.InputBegan:Connect(input)
  157. UIS.InputEnded:Connect(input)
  158.  
  159. local Mouse = Player:GetMouse()
  160. local h,t
  161. --Give the server mouse data 30 times every second, but only if the values changed
  162. --If player is not moving their mouse, client won't fire events
  163. while wait(1/30) do
  164. if h~=Mouse.Hit or t~=Mouse.Target then
  165. h,t=Mouse.Hit,Mouse.Target
  166. Event:FireServer({isMouse=true,Target=t,Hit=h})
  167. end
  168. end]==],Player.Character)
  169. Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
  170. end
  171. Player = owner
  172. PlayerGui = Player.PlayerGui
  173. Cam = workspace.CurrentCamera
  174. Backpack = Player.Backpack
  175. Character = Player.Character
  176. Humanoid = Character.Humanoid
  177. RootPart = Character["HumanoidRootPart"]
  178. Torso = Character["Torso"]
  179. Head = Character["Head"]
  180. RightArm = Character["Right Arm"]
  181. LeftArm = Character["Left Arm"]
  182. RightLeg = Character["Right Leg"]
  183. LeftLeg = Character["Left Leg"]
  184. RootJoint = RootPart["RootJoint"]
  185. Neck = Torso["Neck"]
  186. RightShoulder = Torso["Right Shoulder"]
  187. LeftShoulder = Torso["Left Shoulder"]
  188. RightHip = Torso["Right Hip"]
  189. LeftHip = Torso["Left Hip"]
  190. local TIME = 0
  191. local sick = Instance.new("Sound",Torso)
  192. IT = Instance.new
  193. CF = CFrame.new
  194. VT = Vector3.new
  195. RAD = math.rad
  196. C3 = Color3.new
  197. UD2 = UDim2.new
  198. BRICKC = BrickColor.new
  199. ANGLES = CFrame.Angles
  200. EULER = CFrame.fromEulerAnglesXYZ
  201. COS = math.cos
  202. ACOS = math.acos
  203. SIN = math.sin
  204. ASIN = math.asin
  205. ABS = math.abs
  206. MRANDOM = math.random
  207. FLOOR = math.floor
  208.  
  209. --//=================================\\
  210. --|| USEFUL VALUES
  211. --\\=================================//
  212.  
  213. Animation_Speed = 3
  214. local FORCERESET = false
  215. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  216. local Speed = 25
  217. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  218. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  219. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  220. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  221. local DAMAGEMULTIPLIER = 1
  222. local ANIM = "Idle"
  223. local ATTACK = false
  224. local EQUIPPED = false
  225. local HOLD = false
  226. local COMBO = 1
  227. local Rooted = false
  228. local SINE = 0
  229. local KEYHOLD = false
  230. local CHANGE = 2 / Animation_Speed
  231. local WALKINGANIM = false
  232. local VALUE1 = false
  233. local VALUE2 = false
  234. local ROBLOXIDLEANIMATION = IT("Animation")
  235. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  236. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  237. --ROBLOXIDLEANIMATION.Parent = Humanoid
  238. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  239. WEAPONGUI.Name = "BanishV3Gui"
  240. local Weapon = IT("Model")
  241. Weapon.Name = "Adds"
  242. local Effects = IT("Folder", Weapon)
  243. Effects.Name = "Effects"
  244. local ANIMATOR = Humanoid.Animator
  245. local ANIMATE = Character:FindFirstChild("Animate")
  246. local UNANCHOR = true
  247. local TOBANISH = {}
  248. script.Parent = PlayerGui
  249. --//=================================\\
  250. --\\=================================//
  251. local Player = game:GetService("Players").XxVirtualSniperxX
  252. function RemoveOutlines(part)
  253. part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10
  254. end
  255. local Create = LoadLibrary("RbxUtility").Create
  256.  
  257. CFuncs = {
  258. ["Part"] = {
  259. Create = function(Parent, Material, Reflectance, Transparency, BColor, Name, Size)
  260. local Part = Create("Part"){
  261. Parent = Parent,
  262. Reflectance = Reflectance,
  263. Transparency = Transparency,
  264. CanCollide = false,
  265. Locked = true,
  266. BrickColor = BrickColor.new(tostring(BColor)),
  267. Name = Name,
  268. Size = Size,
  269. Material = Material,
  270. }
  271. RemoveOutlines(Part)
  272. return Part
  273. end;
  274. };
  275. ["Sound"] = {
  276. Create = function(id, par, vol, pit)
  277. coroutine.resume(coroutine.create(function()
  278. local S = Create("Sound"){
  279. Volume = vol,
  280. Pitch = pit or 1,
  281. SoundId = id,
  282. Parent = par or workspace,
  283. }
  284. wait()
  285. S:play()
  286. game:GetService("Debris"):AddItem(S, 6)
  287. end))
  288. end;
  289. };
  290. }
  291.  
  292. local toggleTag = true
  293. local txt = Instance.new("BillboardGui", Head)
  294. txt.Adornee = nil
  295. txt.Name = "NameDetect"
  296. txt.Size = UDim2.new(4, 0, 1.2, 0)
  297. txt.StudsOffset = Vector3.new(-8, 8/1.5, 0)
  298. local text = Instance.new("TextLabel", txt)
  299. text.Size = UDim2.new(10/2, 0, 7/2, 0)
  300. text.FontSize = "Size8"
  301. text.TextScaled = true
  302. text.TextTransparency = 0
  303. text.BackgroundTransparency = 1
  304. text.TextTransparency = 0
  305. text.TextStrokeTransparency = 0
  306. text.Font = "SourceSansItalic"
  307. text.TextStrokeColor3 = Color3.new(0.25,0.75,1)
  308. text.TextColor3 = Color3.new(0,0,0)
  309. text.Text = "The Sovereign"
  310.  
  311. local Char = Character
  312.  
  313. function RecolorTextAndRename(name,col1,col2)
  314. text.TextStrokeColor3 = col2
  315. text.TextColor3 = col1
  316. text.Text = name
  317. end
  318. RecolorTextAndRename("The Sovereign",Color3.new(0,0,0),Color3.new(0.25,0.75,1))
  319.  
  320. function chatfunc(text)
  321. local chat = coroutine.wrap(function()
  322. if Character:FindFirstChild("TalkingBillBoard")~= nil then
  323. Char:FindFirstChild("TalkingBillBoard"):destroy()
  324. end
  325. local naeeym2 = Instance.new("BillboardGui",Char)
  326. naeeym2.Size = UDim2.new(0,100,0,40)
  327. naeeym2.StudsOffset = Vector3.new(0,3,0)
  328. naeeym2.Adornee = Char.Head
  329. naeeym2.Name = "TalkingBillBoard"
  330. local tecks2 = Instance.new("TextLabel",naeeym2)
  331. tecks2.BackgroundTransparency = 1
  332. tecks2.BorderSizePixel = 0
  333. tecks2.Text = ""
  334. tecks2.Font = "SourceSansItalic"
  335. tecks2.TextSize = 64
  336. tecks2.TextStrokeTransparency = 0
  337. tecks2.TextColor3 = Color3.new(.6,0,0)
  338. tecks2.TextStrokeColor3 = Color3.new(0,0,0)
  339. tecks2.Size = UDim2.new(1,0,0.5,0)
  340. local tecks3 = Instance.new("TextLabel",naeeym2)
  341. tecks3.BackgroundTransparency = 1
  342. tecks3.BorderSizePixel = 0
  343. tecks3.Text = ""
  344. tecks3.Font = "SourceSansItalic"
  345. tecks3.TextSize = 72
  346. tecks3.TextStrokeTransparency = 0
  347. tecks3.TextColor3 = BrickColor.new("Hot white").Color
  348. tecks3.TextStrokeColor3 = Color3.new(0,0,0)
  349. tecks3.Size = UDim2.new(1,0,0.5,0)
  350. spawn(function()
  351. while wait() do
  352. tecks3.TextColor3 = BrickColor.random().Color
  353. tecks2.TextColor3 = BrickColor.random().Color
  354. end
  355. end)
  356. for i = 1,string.len(text),1 do
  357. CFuncs["Sound"].Create(Char, 1, 1)
  358. tecks2.Text = string.sub(text,1,i)
  359. tecks3.Text = string.sub(text,1,i)
  360. wait(0.01)
  361. end
  362. wait(2)
  363. for i = 1, 50 do
  364. Swait()
  365. tecks2.Position = tecks2.Position - UDim2.new(math.random(-1,1),math.random(-5,5),.05,math.random(-5,5))
  366. tecks2.Rotation = tecks2.Rotation - .8
  367. tecks2.TextStrokeTransparency = tecks2.TextStrokeTransparency +.04
  368. tecks2.TextTransparency = tecks2.TextTransparency + .04
  369. tecks3.Position = tecks2.Position - UDim2.new(math.random(-1,1),math.random(-5,5),.05,math.random(-5,5))
  370. tecks3.Rotation = tecks2.Rotation + .8
  371. tecks3.TextStrokeTransparency = tecks2.TextStrokeTransparency +.04
  372. tecks3.TextTransparency = tecks2.TextTransparency + .04
  373. end
  374. naeeym2:Destroy()
  375. end)
  376. chat()
  377. end
  378. function onChatted(msg)
  379. chatfunc(msg)
  380. end
  381. Player.Chatted:connect(onChatted)
  382.  
  383.  
  384.  
  385. --//=================================\\
  386. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  387. --\\=================================//
  388.  
  389. ArtificialHB = Instance.new("BindableEvent", script)
  390. ArtificialHB.Name = "ArtificialHB"
  391.  
  392. script:WaitForChild("ArtificialHB")
  393.  
  394. frame = Frame_Speed
  395. tf = 0
  396. allowframeloss = false
  397. tossremainder = false
  398. lastframe = tick()
  399. script.ArtificialHB:Fire()
  400.  
  401. game:GetService("RunService").Heartbeat:connect(function(s, p)
  402. tf = tf + s
  403. if tf >= frame then
  404. if allowframeloss then
  405. script.ArtificialHB:Fire()
  406. lastframe = tick()
  407. else
  408. for i = 1, math.floor(tf / frame) do
  409. script.ArtificialHB:Fire()
  410. end
  411. lastframe = tick()
  412. end
  413. if tossremainder then
  414. tf = 0
  415. else
  416. tf = tf - frame * math.floor(tf / frame)
  417. end
  418. end
  419.  
  420.  
  421. end)
  422.  
  423. --//=================================\\
  424. --\\=================================//
  425.  
  426. --//=================================\\
  427. --|| SOME FUNCTIONS
  428. --\\=================================//
  429.  
  430. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  431. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  432. end
  433.  
  434. function PositiveAngle(NUMBER)
  435. if NUMBER >= 0 then
  436. NUMBER = 0
  437. end
  438. return NUMBER
  439. end
  440.  
  441. function NegativeAngle(NUMBER)
  442. if NUMBER <= 0 then
  443. NUMBER = 0
  444. end
  445. return NUMBER
  446. end
  447.  
  448. function Swait(NUMBER)
  449. if NUMBER == 0 or NUMBER == nil then
  450. ArtificialHB.Event:wait()
  451. else
  452. for i = 1, NUMBER do
  453. ArtificialHB.Event:wait()
  454. end
  455. end
  456. end
  457.  
  458. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  459. local NEWMESH = IT(MESH)
  460. if MESH == "SpecialMesh" then
  461. NEWMESH.MeshType = MESHTYPE
  462. if MESHID ~= "nil" and MESHID ~= "" then
  463. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  464. end
  465. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  466. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  467. end
  468. end
  469. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  470. NEWMESH.Scale = SCALE
  471. NEWMESH.Parent = PARENT
  472. return NEWMESH
  473. end
  474.  
  475. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  476. local NEWPART = IT("Part")
  477. NEWPART.formFactor = FORMFACTOR
  478. NEWPART.Reflectance = REFLECTANCE
  479. NEWPART.Transparency = TRANSPARENCY
  480. NEWPART.CanCollide = false
  481. NEWPART.Locked = true
  482. NEWPART.Anchored = true
  483. if ANCHOR == false then
  484. NEWPART.Anchored = false
  485. end
  486. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  487. NEWPART.Name = NAME
  488. NEWPART.Size = SIZE
  489. NEWPART.Position = Torso.Position
  490. NEWPART.Material = MATERIAL
  491. NEWPART:BreakJoints()
  492. NEWPART.Parent = PARENT
  493. return NEWPART
  494. end
  495.  
  496. local function weldBetween(a, b)
  497. local weldd = Instance.new("ManualWeld")
  498. weldd.Part0 = a
  499. weldd.Part1 = b
  500. weldd.C0 = CFrame.new()
  501. weldd.C1 = b.CFrame:inverse() * a.CFrame
  502. weldd.Parent = a
  503. return weldd
  504. end
  505.  
  506.  
  507. function QuaternionFromCFrame(cf)
  508. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  509. local trace = m00 + m11 + m22
  510. if trace > 0 then
  511. local s = math.sqrt(1 + trace)
  512. local recip = 0.5 / s
  513. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  514. else
  515. local i = 0
  516. if m11 > m00 then
  517. i = 1
  518. end
  519. if m22 > (i == 0 and m00 or m11) then
  520. i = 2
  521. end
  522. if i == 0 then
  523. local s = math.sqrt(m00 - m11 - m22 + 1)
  524. local recip = 0.5 / s
  525. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  526. elseif i == 1 then
  527. local s = math.sqrt(m11 - m22 - m00 + 1)
  528. local recip = 0.5 / s
  529. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  530. elseif i == 2 then
  531. local s = math.sqrt(m22 - m00 - m11 + 1)
  532. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  533. end
  534. end
  535. end
  536.  
  537. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  538. local xs, ys, zs = x + x, y + y, z + z
  539. local wx, wy, wz = w * xs, w * ys, w * zs
  540. local xx = x * xs
  541. local xy = x * ys
  542. local xz = x * zs
  543. local yy = y * ys
  544. local yz = y * zs
  545. local zz = z * zs
  546. 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))
  547. end
  548.  
  549. function QuaternionSlerp(a, b, t)
  550. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  551. local startInterp, finishInterp;
  552. if cosTheta >= 0.0001 then
  553. if (1 - cosTheta) > 0.0001 then
  554. local theta = ACOS(cosTheta)
  555. local invSinTheta = 1 / SIN(theta)
  556. startInterp = SIN((1 - t) * theta) * invSinTheta
  557. finishInterp = SIN(t * theta) * invSinTheta
  558. else
  559. startInterp = 1 - t
  560. finishInterp = t
  561. end
  562. else
  563. if (1 + cosTheta) > 0.0001 then
  564. local theta = ACOS(-cosTheta)
  565. local invSinTheta = 1 / SIN(theta)
  566. startInterp = SIN((t - 1) * theta) * invSinTheta
  567. finishInterp = SIN(t * theta) * invSinTheta
  568. else
  569. startInterp = t - 1
  570. finishInterp = t
  571. end
  572. end
  573. 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
  574. end
  575.  
  576. function Clerp(a, b, t)
  577. local qa = {QuaternionFromCFrame(a)}
  578. local qb = {QuaternionFromCFrame(b)}
  579. local ax, ay, az = a.x, a.y, a.z
  580. local bx, by, bz = b.x, b.y, b.z
  581. local _t = 1 - t
  582. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  583. end
  584.  
  585. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  586. local frame = IT("Frame")
  587. frame.BackgroundTransparency = TRANSPARENCY
  588. frame.BorderSizePixel = BORDERSIZEPIXEL
  589. frame.Position = POSITION
  590. frame.Size = SIZE
  591. frame.BackgroundColor3 = COLOR
  592. frame.BorderColor3 = BORDERCOLOR
  593. frame.Name = NAME
  594. frame.Parent = PARENT
  595. return frame
  596. end
  597.  
  598. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  599. local label = IT("TextLabel")
  600. label.BackgroundTransparency = 1
  601. label.Size = UD2(1, 0, 1, 0)
  602. label.Position = UD2(0, 0, 0, 0)
  603. label.TextColor3 = TEXTCOLOR
  604. label.TextStrokeTransparency = STROKETRANSPARENCY
  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. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  621. local NEWWELD = IT(TYPE)
  622. NEWWELD.Part0 = PART0
  623. NEWWELD.Part1 = PART1
  624. NEWWELD.C0 = C0
  625. NEWWELD.C1 = C1
  626. NEWWELD.Parent = PARENT
  627. return NEWWELD
  628. end
  629.  
  630. local S = IT("Sound")
  631. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  632. local NEWSOUND = nil
  633. coroutine.resume(coroutine.create(function()
  634. NEWSOUND = S:Clone()
  635. NEWSOUND.Parent = PARENT
  636. NEWSOUND.Volume = VOLUME
  637. NEWSOUND.Pitch = PITCH
  638. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  639. NEWSOUND:play()
  640. if DOESLOOP == true then
  641. NEWSOUND.Looped = true
  642. else
  643. repeat wait(1) until NEWSOUND.Playing == false or NEWSOUND.Parent ~= PARENT
  644. NEWSOUND:remove()
  645. end
  646. end))
  647. return NEWSOUND
  648. end
  649.  
  650. function CFrameFromTopBack(at, top, back)
  651. local right = top:Cross(back)
  652. 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)
  653. end
  654.  
  655. --WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  656. function WACKYEFFECT(Table)
  657. local TYPE = (Table.EffectType or "Sphere")
  658. local SIZE = (Table.Size or VT(1,1,1))
  659. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  660. local TRANSPARENCY = (Table.Transparency or 0)
  661. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  662. local CFRAME = (Table.CFrame or Torso.CFrame)
  663. local MOVEDIRECTION = (Table.MoveToPos or nil)
  664. local ROTATION1 = (Table.RotationX or 0)
  665. local ROTATION2 = (Table.RotationY or 0)
  666. local ROTATION3 = (Table.RotationZ or 0)
  667. local MATERIAL = (Table.Material or "Neon")
  668. local COLOR = (Table.Color or C3(0,0.5,1))
  669. local TIME = (Table.Time or 45)
  670. local SOUNDID = (Table.SoundID or nil)
  671. local SOUNDPITCH = (Table.SoundPitch or nil)
  672. local SOUNDVOLUME = (Table.SoundVolume or nil)
  673. coroutine.resume(coroutine.create(function()
  674. local PLAYSSOUND = false
  675. local SOUND = nil
  676. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  677. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  678. PLAYSSOUND = true
  679. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  680. end
  681. EFFECT.Color = COLOR
  682. local MSH = nil
  683. if TYPE == "Sphere" then
  684. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  685. elseif TYPE == "Block" then
  686. MSH = IT("BlockMesh",EFFECT)
  687. MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  688. elseif TYPE == "Wave" then
  689. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  690. elseif TYPE == "Ring" then
  691. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  692. elseif TYPE == "Slash" then
  693. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  694. elseif TYPE == "Round Slash" then
  695. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  696. elseif TYPE == "Swirl" then
  697. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  698. elseif TYPE == "Skull" then
  699. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  700. elseif TYPE == "Crystal" then
  701. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  702. end
  703. if MSH ~= nil then
  704. local MOVESPEED = nil
  705. if MOVEDIRECTION ~= nil then
  706. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  707. end
  708. local GROWTH = SIZE - ENDSIZE
  709. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  710. if TYPE == "Block" then
  711. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  712. else
  713. EFFECT.CFrame = CFRAME
  714. end
  715. for LOOP = 1, TIME+1 do
  716. Swait()
  717. MSH.Scale = MSH.Scale - GROWTH/TIME
  718. if TYPE == "Wave" then
  719. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  720. end
  721. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  722. if TYPE == "Block" then
  723. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  724. else
  725. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  726. end
  727. if MOVEDIRECTION ~= nil then
  728. local ORI = EFFECT.Orientation
  729. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  730. EFFECT.Orientation = ORI
  731. end
  732. end
  733. if PLAYSSOUND == false then
  734. EFFECT:remove()
  735. else
  736. SOUND.Stopped:Connect(function()
  737. EFFECT:remove()
  738. end)
  739. end
  740. else
  741. if PLAYSSOUND == false then
  742. EFFECT:remove()
  743. else
  744. repeat Swait() until SOUND.Playing == false
  745. EFFECT:remove()
  746. end
  747. end
  748. end))
  749. end
  750.  
  751. function MakeForm(PART,TYPE)
  752. if TYPE == "Cyl" then
  753. local MSH = IT("CylinderMesh",PART)
  754. elseif TYPE == "Ball" then
  755. local MSH = IT("SpecialMesh",PART)
  756. MSH.MeshType = "Sphere"
  757. elseif TYPE == "Wedge" then
  758. local MSH = IT("SpecialMesh",PART)
  759. MSH.MeshType = "Wedge"
  760. end
  761. end
  762.  
  763. function SpawnTrail(FROM,TO,BIG)
  764. local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Cyan", "Trail", VT(0,0,0))
  765. MakeForm(TRAIL,"Cyl")
  766. local DIST = (FROM - TO).Magnitude
  767. if BIG == true then
  768. TRAIL.Size = VT(0.5,DIST,0.5)
  769. else
  770. TRAIL.Size = VT(0.25,DIST,0.25)
  771. end
  772. TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
  773. coroutine.resume(coroutine.create(function()
  774. for i = 1, 5 do
  775. Swait()
  776. TRAIL.Transparency = TRAIL.Transparency + 0.1
  777. end
  778. TRAIL:remove()
  779. end))
  780. end
  781.  
  782. Debris = game:GetService("Debris")
  783.  
  784. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  785. local DIRECTION = CF(StartPos,EndPos).lookVector
  786. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  787. end
  788.  
  789. function turnto(position)
  790. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  791. end
  792.  
  793. --//=================================\\
  794. --|| WEAPON CREATION
  795. --\\=================================//
  796.  
  797. local Particle = IT("ParticleEmitter",nil)
  798. Particle.Enabled = false
  799. Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,0),NumberSequenceKeypoint.new(1,1)})
  800. Particle.LightEmission = 0.5
  801. Particle.Rate = 10
  802. Particle.ZOffset = 0.2
  803. Particle.Rotation = NumberRange.new(-180, 180)
  804. Particle.RotSpeed = NumberRange.new(-180, 180)
  805. Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
  806. Particle.Color = ColorSequence.new(C3(255,150,127.5),C3(255,150,127.5))
  807. local Particle2 = IT("ParticleEmitter",nil)
  808. Particle2.Enabled = false
  809. Particle2.Texture = "http://www.roblox.com/asset/?id=1369397597"
  810. Particle2.Color = ColorSequence.new(C3(255,150,127.5),C3(255,150,127.5))
  811. Particle2.LightEmission = 0
  812. Particle2.RotSpeed = NumberRange.new(0, 180)
  813. Particle2.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,0),NumberSequenceKeypoint.new(1,1)})
  814. Particle2.LightEmission = 1
  815. Particle2.Rate = 1
  816. Particle2.RotSpeed = NumberRange.new(-20, 20)
  817. local Particle3 = IT("ParticleEmitter",nil)
  818. Particle3.Enabled = false
  819. Particle3.Texture = "http://www.roblox.com/asset/?id=1546470121"
  820. Particle3.Color = ColorSequence.new(C3(255,150,127.5),C3(255,150,127.5))
  821. Particle3.LightEmission = 0
  822. Particle3.RotSpeed = NumberRange.new(0, 180)
  823. Particle3.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.7),NumberSequenceKeypoint.new(0.3,.9),NumberSequenceKeypoint.new(1,1)})
  824. Particle3.LightEmission = 1
  825. Particle3.Rate = 5
  826. Particle3.RotSpeed = NumberRange.new(-20, 20)
  827. --ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
  828. function ParticleEmitter(Table)
  829. local PRTCL = Particle:Clone()
  830. local Speed = Table.Speed or 5
  831. local Drag = Table.Drag or 0
  832. local Size1 = Table.Size1 or 1
  833. local Size2 = Table.Size2 or 5
  834. local Lifetime1 = Table.Lifetime1 or 1
  835. local Lifetime2 = Table.Lifetime2 or 1.5
  836. local Parent = Table.Parent or Torso
  837. local Emit = Table.Emit or 2
  838. local Offset = Table.Offset or 360
  839. local Acel = Table.Acel or VT(0,0,0)
  840. local Enabled = Table.Enabled or false
  841. PRTCL.Parent = Parent
  842. PRTCL.Size = NumberSequence.new(Size1,Size2)
  843. PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
  844. PRTCL.Speed = NumberRange.new(Speed)
  845. PRTCL.VelocitySpread = Offset
  846. PRTCL.Drag = Drag
  847. PRTCL.Acceleration = Acel
  848. if Enabled == false then
  849. PRTCL:Emit(Emit)
  850. Debris:AddItem(PRTCL,Lifetime2)
  851. else
  852. PRTCL.Enabled = true
  853. end
  854. return PRTCL
  855. end
  856. function ParticleEmitter2(Table)
  857. local PRTCL2 = Particle2:Clone()
  858. local LockedToPart = Table.LTP or true
  859. local Speed = Table.Speed or 0
  860. local Drag = Table.Drag or 0
  861. local Size1 = Table.Size1 or 1
  862. local Size2 = Table.Size2 or 2
  863. local Lifetime1 = Table.Lifetime1 or 1
  864. local Lifetime2 = Table.Lifetime2 or 1
  865. local Parent = Table.Parent or Torso
  866. local Emit = Table.Emit or 100
  867. local Offset = Table.Offset or 360
  868. local Acel = Table.Acel or VT(0,0,0)
  869. local Enabled = Table.Enabled or false
  870. PRTCL2.Parent = Parent
  871. PRTCL2.Size = NumberSequence.new(Size1,Size2)
  872. PRTCL2.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
  873. PRTCL2.Speed = NumberRange.new(Speed)
  874. PRTCL2.VelocitySpread = Offset
  875. PRTCL2.Drag = Drag
  876. PRTCL2.Acceleration = Acel
  877. PRTCL2.Parent = Parent
  878. PRTCL2.Size = NumberSequence.new(Size1,Size2)
  879. PRTCL2.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
  880. PRTCL2.Speed = NumberRange.new(Speed)
  881. PRTCL2.VelocitySpread = Offset
  882. PRTCL2.Drag = Drag
  883. PRTCL2.Acceleration = Acel
  884. PRTCL2.LockedToPart = true
  885. if Enabled == false then
  886. PRTCL2:Emit(Emit)
  887. Debris:AddItem(PRTCL2,Lifetime2)
  888. else
  889. PRTCL2.Enabled = true
  890. end
  891. return PRTCL2
  892. end
  893. function ParticleEmitter3(Table)
  894. local PRTCL3 = Particle2:Clone()
  895. local Speed = Table.Speed or 0
  896. local Drag = Table.Drag or 0
  897. local Size1 = Table.Size1 or 1
  898. local Size2 = Table.Size2 or 2
  899. local Lifetime1 = Table.Lifetime1 or 1
  900. local Lifetime2 = Table.Lifetime2 or 1
  901. local Parent = Table.Parent or Torso
  902. local Emit = Table.Emit or 100
  903. local Offset = Table.Offset or 0
  904. local Acel = Table.Acel or VT(0,0,0)
  905. local Enabled = Table.Enabled or false
  906. PRTCL3.Parent = Parent
  907. PRTCL3.Size = NumberSequence.new(Size1,Size2)
  908. PRTCL3.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
  909. PRTCL3.Speed = NumberRange.new(Speed)
  910. PRTCL3.VelocitySpread = Offset
  911. PRTCL3.Drag = Drag
  912. PRTCL3.Acceleration = Acel
  913. PRTCL3.Parent = Parent
  914. PRTCL3.Size = NumberSequence.new(Size1,Size2)
  915. PRTCL3.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
  916. PRTCL3.Speed = NumberRange.new(Speed)
  917. PRTCL3.VelocitySpread = Offset
  918. PRTCL3.Drag = Drag
  919. PRTCL3.Acceleration = Acel
  920. if Enabled == false then
  921. PRTCL3:Emit(Emit)
  922. Debris:AddItem(PRTCL3,Lifetime2)
  923. else
  924. PRTCL3.Enabled = true
  925. end
  926. return PRTCL3
  927. end
  928.  
  929. local Handle = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.6,0.2),false)
  930. local RightArmGrasp = CreateWeldOrSnapOrMotor("Weld", Handle, RightArm, Handle, CF(0,-1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.21, 0))
  931. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
  932. MakeForm(Part,"Wedge")
  933. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.3, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0))
  934. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.3,0.2),false)
  935. MakeForm(Part,"Wedge")
  936. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(0), RAD(180)), CF(0, 0, 0))
  937. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.3,0.3),false)
  938. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  939. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.5,0.5),false)
  940. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  941. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.4,0.4,0.4),false)
  942. MakeForm(Part,"Cyl")
  943. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  944. for i = 1, 8 do
  945. local Piece = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0,0.35,0.41),false)
  946. CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0))
  947. end
  948. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.38,0.41,0.38),false)
  949. MakeForm(Part,"Cyl")
  950. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  951. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.37,0.5,0.37),false)
  952. MakeForm(Part,"Ball")
  953. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.3) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  954. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.7,0.4),false)
  955. MakeForm(Part,"Wedge")
  956. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.7, 0.5) * ANGLES(RAD(90), RAD(180), RAD(180)), CF(0, 0, 0))
  957. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.4,0.2),false)
  958. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  959. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.35,0.35,0.35),false)
  960. MakeForm(Part,"Cyl")
  961. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  962. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.5),false)
  963. MakeForm(Part,"Cyl")
  964. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  965. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.45),false)
  966. MakeForm(Part,"Cyl")
  967. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1.1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  968. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
  969. MakeForm(Part,"Wedge")
  970. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0))
  971. local LASTPART = Handle
  972. for i = 1, 10 do
  973. if LASTPART == Handle then
  974. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.2,0),false)
  975. LASTPART = Part
  976. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.1, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  977. else
  978. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.05,0),false)
  979. CreateWeldOrSnapOrMotor("Weld", Handle, LASTPART, Part, CF(0, 0.025, 0) * ANGLES(RAD(8), RAD(0), RAD(0)), CF(0, -0.025, 0))
  980. LASTPART = Part
  981. end
  982. end
  983.  
  984. local Barrel = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.15,2,0.15),false)
  985. MakeForm(Barrel,"Cyl")
  986. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Barrel, CF(0, -0.6, 1.8) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  987. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.25,1,0.25),false)
  988. MakeForm(Part,"Cyl")
  989. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, -0.6, 0), CF(0, 0, 0))
  990. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0.1,0.2),false)
  991. MakeForm(Part,"Wedge")
  992. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, 0.945, 0.1) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
  993. local Hole = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.125,0,0.125),false)
  994. MakeForm(Hole,"Cyl")
  995. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Hole, CF(0, 0.98, 0), CF(0, 0, 0))
  996. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0,0),false)
  997. local GEARWELD = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
  998. CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.8,0.8,1.5), VT(0,0,0.2))
  999. local Part = CreatePart(3, Weapon, "Metal", 0, 0.5, "Mid gray", "Eye", VT(0,0,0),false)
  1000. local GEARWELD2 = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
  1001. CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.9,0.9,0.3), VT(0,0,0.2))
  1002. coroutine.resume(coroutine.create(function()
  1003. while wait() do
  1004. GEARWELD.C0 = GEARWELD.C0 * ANGLES(RAD(0), RAD(0), RAD(5))
  1005. GEARWELD2.C0 = GEARWELD2.C0 * ANGLES(RAD(0), RAD(0), RAD(-5))
  1006. end
  1007. end))
  1008. --PARTICLES REEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
  1009. --[[
  1010. YEAH BOIIIIIIIII
  1011. PARTICLE TIME
  1012. --]]
  1013. ParticleEmitter({Speed = 0.2, Drag = 0, Size1 = 0.1, Size2 = 0, Lifetime1 = 0.3, Lifetime2 = 0.5, Parent = Hole, Emit = 100, Offset = 360, Enabled = true, Acel = VT(0,5,0)})
  1014. --ParticleEmitter3({Speed = 0, Drag = 0, Size1 = 20, Size2 = 25, Lifetime1 = 0.3, Lifetime2 = 1, Parent = Barrel, Emit = 100, Offset = 0, Enabled = true, Acel = VT(0,0,0)})
  1015. ParticleEmitter({Speed = 0.5, Drag = 0, Size1 = 0.2, Size2 = 0, Lifetime1 = 0.3, Lifetime2 = 0.7, Parent = Dangle, Emit = 100, Offset = 360, Enabled = true, Acel = VT(0,5,0)})
  1016. ParticleEmitter2({Speed = 0, Drag = 0, Size1 = .5, Size2 = 1, Lifetime1 = 1, Lifetime2 = 1, Parent = Hole, Emit = 20, Offset = 360, Enabled = true, Acel = VT(0,0,0)})
  1017. ParticleEmitter2({Speed = 0, Drag = 0, Size1 = 3, Size2 = 1, Lifetime1 = 1, Lifetime2 = 2, Parent = Handle, Emit = 100, Offset = 360, Enabled = true, Acel = VT(0,0,0)})
  1018. --Trails
  1019. local A1 = Instance.new("Attachment",Barrel)
  1020. local A2 = Instance.new("Attachment",Barrel)
  1021. local Trail = Instance.new("Trail",Barrel)
  1022. A1.Position = Vector3.new(0,1,0)
  1023. A2.Position = Vector3.new(0,-0.8,0)
  1024. Trail.Attachment0 = A1
  1025. Trail.Attachment1 = A2
  1026. Trail.LightEmission = 1
  1027. Trail.Color = ColorSequence.new(Color3.new(255,0,127.5),Color3.new(255,0,127.5))
  1028. Trail.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,.9),NumberSequenceKeypoint.new(1,1)})
  1029. for _, c in pairs(Weapon:GetDescendants()) do
  1030. if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
  1031. c.Material = "Glass"
  1032. c.Color = C3(0,0,0)
  1033. elseif c.ClassName == "Part" and c.Name == "Eye" then
  1034. c.Color = C3(0,1,0)
  1035. c.Material = "Neon"
  1036. end
  1037. end
  1038.  
  1039. Weapon.Parent = Character
  1040. for _, c in pairs(Weapon:GetChildren()) do
  1041. if c.ClassName == "Part" then
  1042. c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  1043. end
  1044. end
  1045.  
  1046. local SKILLTEXTCOLOR = C3(0,1,0)
  1047. local SKILLFONT = "Antique"
  1048. local SKILLTEXTSIZE = 7
  1049.  
  1050. Humanoid.Died:connect(function()
  1051. ATTACK = true
  1052. end)
  1053.  
  1054. local SKILL1FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.1, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
  1055. --[[local SKILL2FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.63, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
  1056. local SKILL3FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.215, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
  1057. local SKILL4FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.525, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
  1058. local SKILL5FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.90, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 5 Frame")
  1059. --]]
  1060. local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Banisher Bullet", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 1")
  1061. --[[local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Ability 2", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 2")
  1062. local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Ability 3", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 3")
  1063. local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Ability 4", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 4")
  1064. local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[X] Mercy", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 5")
  1065. --]]
  1066. function printbye(Name)
  1067. local MESSAGES = {"You cannot struggle, ","Your existance is an insult, ","Fade, ","Your existance is not desired, ","You are not permitted here, ","You are not to decide your fate, ","Be gone, ","You are already dead, ","Your live is an anomaly, ","Don't dare to return, ","Why are you resisting, ","You cannot exist here, ","Why are you struggling, ","Your fate was already decided, ","Goodbye, ","You cannot ignore my command, ","You cannot resist my command, ","You already died, "}
  1068. warn(MESSAGES[MRANDOM(1,#MESSAGES)]..Name..".")
  1069.  
  1070. end
  1071.  
  1072. workspace.ChildAdded:connect(function(instance)
  1073. for BANISH = 1, #TOBANISH do
  1074. if TOBANISH[BANISH] ~= nil then
  1075. if instance.Name == TOBANISH[BANISH] then
  1076. coroutine.resume(coroutine.create(function()
  1077. printbye(instance.Name)
  1078. instance:ClearAllChildren()
  1079. Debris:AddItem(instance,0.0005)
  1080. end))
  1081. end
  1082. end
  1083. end
  1084. end)
  1085.  
  1086. --//=================================\\
  1087. --|| DAMAGING
  1088. --\\=================================//
  1089.  
  1090. function Banish(Foe)
  1091. if Foe then
  1092. coroutine.resume(coroutine.create(function()
  1093. --if game.Players:FindFirstChild(Foe.Name) then
  1094. table.insert(TOBANISH,Foe.Name)
  1095. printbye(Foe.Name)
  1096. --end
  1097. Foe.Archivable = true
  1098. local CLONE = Foe:Clone()
  1099. Foe:Destroy()
  1100. CLONE.Parent = Effects
  1101. CLONE:BreakJoints()
  1102. local MATERIALS = {"Glass","Neon"}
  1103. for _, c in pairs(CLONE:GetDescendants()) do
  1104. if c:IsA("BasePart") then
  1105. if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
  1106. CreateSound(340722848, c, 10, 1, false)
  1107. end
  1108. c.Anchored = true
  1109. c.Transparency = c.Transparency + 0.2
  1110. c.Material = MATERIALS[MRANDOM(1,2)]
  1111. c.Color = C3(255,255,0)
  1112. if c.ClassName == "MeshPart" then
  1113. c.TextureID = ""
  1114. end
  1115. if c:FindFirstChildOfClass("SpecialMesh") then
  1116. c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
  1117. end
  1118. if c:FindFirstChildOfClass("Decal") then
  1119. c:FindFirstChildOfClass("Decal"):remove()
  1120. end
  1121. c.Name = "Banished"
  1122. c.CanCollide = false
  1123. else
  1124. c:remove()
  1125. end
  1126. end
  1127. local A = false
  1128. for i = 1, 35 do
  1129. if A == false then
  1130. A = true
  1131. elseif A == true then
  1132. A = false
  1133. end
  1134. for _, c in pairs(CLONE:GetDescendants()) do
  1135. if c:IsA("BasePart") then
  1136. c.Anchored = true
  1137. c.Material = MATERIALS[MRANDOM(1,2)]
  1138. c.Transparency = c.Transparency + 0.8/35
  1139. if A == false then
  1140. c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
  1141. elseif A == true then
  1142. c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
  1143. end
  1144. end
  1145. end
  1146. Swait()
  1147. end
  1148. CLONE:remove()
  1149. end))
  1150. end
  1151. end
  1152.  
  1153. function ApplyAoE(POSITION,RANGE,ISBANISH)
  1154. local CHILDREN = workspace:GetDescendants()
  1155. for index, CHILD in pairs(CHILDREN) do
  1156. if CHILD.ClassName == "Model" and CHILD ~= Character then
  1157. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1158. if HUM then
  1159. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1160. if TORSO then
  1161. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  1162. if ISBANISH == true then
  1163. Banish(CHILD)
  1164. else
  1165. if ISBANISH == "Gravity" then
  1166. HUM.PlatformStand = true
  1167. if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
  1168. local grav = Instance.new("BodyPosition",TORSO)
  1169. grav.D = 15
  1170. grav.P = 20000
  1171. grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  1172. grav.position = TORSO.Position
  1173. grav.Name = "V3BanishForce"..Player.Name
  1174. else
  1175. TORSO:FindFirstChild("V3BanishForce"..Player.Name).position = TORSO.Position+VT(0,0.3,0)
  1176. TORSO.RotVelocity = VT(MRANDOM(-25,25),MRANDOM(-25,25),MRANDOM(-25,25))
  1177. end
  1178. else
  1179. HUM.PlatformStand = false
  1180. end
  1181. end
  1182. elseif ISBANISH == "Gravity" then
  1183. if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
  1184. TORSO:FindFirstChild("V3BanishForce"..Player.Name):remove()
  1185. HUM.PlatformStand = false
  1186. end
  1187. end
  1188. end
  1189. end
  1190. end
  1191. end
  1192. end
  1193.  
  1194. --//=================================\\
  1195. --|| ATTACK FUNCTIONS AND STUFF
  1196. --\\=================================//
  1197.  
  1198. function Banisher_Bullet()
  1199. ATTACK = true
  1200. Rooted = false
  1201. for i=0, 0.4, 0.1 / Animation_Speed do
  1202. Swait()
  1203. turnto(Mouse.Hit.p)
  1204. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  1205. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  1206. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1207. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1208. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1209. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1210. end
  1211. repeat
  1212. for i=0, 0.2, 0.1 / Animation_Speed do
  1213. Swait()
  1214. turnto(Mouse.Hit.p)
  1215. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  1216. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  1217. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1218. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1219. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1220. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1221. end
  1222. local HIT,POS = CastProperRay(Hole.Position, Mouse.Hit.p, 1000, Character)
  1223. SpawnTrail(Hole.Position,POS)
  1224. if HIT ~= nil then
  1225. if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
  1226. Banish(HIT.Parent)
  1227. end
  1228. end
  1229. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = Hole.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(0,1,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1230. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = Hole.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,1,0), SoundID = 151776391, SoundPitch = 1, SoundVolume = 5})
  1231. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(0,1,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  1232. WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 0, Transparency2 = 1, CFrame = CF(POS,Hole.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,1,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  1233. for i=0, 0.3, 0.1 / Animation_Speed do
  1234. Swait()
  1235. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  1236. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.25 / Animation_Speed)
  1237. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(15), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1238. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1239. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1240. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.5 / Animation_Speed)
  1241. end
  1242. until KEYHOLD == false
  1243. ATTACK = false
  1244. Rooted = false
  1245. end
  1246.  
  1247. function AttackTemplate()
  1248. ATTACK = true
  1249. Rooted = false
  1250. for i=0, 1, 0.1 / Animation_Speed do
  1251. Swait()
  1252. 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)
  1253. 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)
  1254. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1255. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1256. 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)
  1257. 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)
  1258. end
  1259. ATTACK = false
  1260. Rooted = false
  1261. end
  1262.  
  1263. --//=================================\\
  1264. --|| ASSIGN THINGS TO KEYS
  1265. --\\=================================//
  1266.  
  1267. function MouseDown(Mouse)
  1268. if ATTACK == false then
  1269. end
  1270. end
  1271.  
  1272. function MouseUp(Mouse)
  1273. HOLD = false
  1274. end
  1275.  
  1276. function KeyDown(Key)
  1277. KEYHOLD = true
  1278. if Key == "z" and ATTACK == false then
  1279. Banisher_Bullet()
  1280. end
  1281.  
  1282. if Key == "b" and ATTACK == false then
  1283. end
  1284.  
  1285. if Key == "c" and ATTACK == false then
  1286. end
  1287.  
  1288. if Key == "v" and ATTACK == false then
  1289. end
  1290.  
  1291. if Key == "x" and ATTACK == false then
  1292. end
  1293. end
  1294.  
  1295. function KeyUp(Key)
  1296. KEYHOLD = false
  1297. end
  1298.  
  1299. Mouse.Button1Down:connect(function(NEWKEY)
  1300. MouseDown(NEWKEY)
  1301. end)
  1302. Mouse.Button1Up:connect(function(NEWKEY)
  1303. MouseUp(NEWKEY)
  1304. end)
  1305. Mouse.KeyDown:connect(function(NEWKEY)
  1306. KeyDown(NEWKEY)
  1307. end)
  1308. Mouse.KeyUp:connect(function(NEWKEY)
  1309. KeyUp(NEWKEY)
  1310. end)
  1311.  
  1312. --//=================================\\
  1313. --\\=================================//
  1314.  
  1315. function unanchor()
  1316. if UNANCHOR == true then
  1317. g = Character:GetChildren()
  1318. for i = 1, #g do
  1319. if g[i].ClassName == "Part" then
  1320. g[i].Anchored = false
  1321. end
  1322. end
  1323. end
  1324. end
  1325.  
  1326. --//=================================\\
  1327. --|| WRAP THE WHOLE SCRIPT UP
  1328. --\\=================================//
  1329.  
  1330. Humanoid.Changed:connect(function(Jump)
  1331. if Jump == "Jump" and (Disable_Jump == true) then
  1332. Humanoid.Jump = false
  1333. end
  1334. end)
  1335.  
  1336. local CONNECT = nil
  1337.  
  1338. while true do
  1339. Swait()
  1340. ANIMATE.Parent = nil
  1341. if Character:FindFirstChildOfClass("Humanoid") == nil then
  1342. Humanoid = IT("Humanoid",Character)
  1343. end
  1344. for _,v in next, Humanoid:GetPlayingAnimationTracks() do
  1345. v:Stop();
  1346. end
  1347. SINE = SINE + CHANGE
  1348. local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  1349. local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  1350. local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character)
  1351. local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
  1352. if ANIM == "Walk" and TORSOVELOCITY > 1 then
  1353. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / 2))) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1354. Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * 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)
  1355. RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1356. LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0.125 * COS(SINE / WALKSPEEDVALUE) +0.2+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1357. elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
  1358. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1359. Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1360. RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1361. LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1362. end
  1363. if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
  1364. ANIM = "Jump"
  1365. if ATTACK == false then
  1366. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1367. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1368. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1369. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  1370. 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)
  1371. 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)
  1372. end
  1373. elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
  1374. ANIM = "Fall"
  1375. if ATTACK == false then
  1376. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1377. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1378. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(45), RAD(0), RAD(25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1379. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  1380. 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)
  1381. 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)
  1382. end
  1383. elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  1384. ANIM = "Idle"
  1385. if ATTACK == false then
  1386. 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)
  1387. 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)
  1388. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.5, -0.5) * ANGLES(RAD(75), RAD(45), RAD(-25))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1389. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1390. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1391. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-50), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1392. end
  1393. elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  1394. ANIM = "Walk"
  1395. if ATTACK == false then
  1396. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1397. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 8 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1398. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.1, -0.4) * ANGLES(RAD(150), RAD(0), RAD(0))* RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1399. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 0.35 / Animation_Speed)
  1400. RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed)
  1401. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed)
  1402. end
  1403. end
  1404. unanchor()
  1405. Humanoid.MaxHealth = "inf"
  1406. Humanoid.Health = "inf"
  1407. if Rooted == false then
  1408. Disable_Jump = false
  1409. Humanoid.WalkSpeed = Speed
  1410. elseif Rooted == true then
  1411. Disable_Jump = true
  1412. Humanoid.WalkSpeed = 0
  1413. end
  1414. sick.Parent = Torso
  1415. sick:resume()
  1416. sick.Volume = 5
  1417. sick.Pitch = 1
  1418. sick.SoundId = "rbxassetid://398159550"
  1419. sick.Name = "BanishV3Music"
  1420. end
Advertisement
Add Comment
Please, Sign In to add comment