Advertisement
Oscar55555

Untitled

Mar 2nd, 2019
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 106.47 KB | None | 0 0
  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. script.Name = "BANISHER"
  153. --//====================================================\\--
  154. --|| CREATED BY SHACKLUSTER
  155. --|| EDIT BY NAME CLAN
  156. --|| TRANSFORM TO BANISHER GUN V.4
  157. --|| BY nguyenducloi123
  158. --\\====================================================//--
  159.  
  160. wait(0.2)
  161.  
  162. Player = game:GetService("Players").LocalPlayer
  163. PlayerGui = Player.PlayerGui
  164. chara = Player.Character
  165. Character = Player.Character
  166. Cam = workspace.CurrentCamera
  167. Backpack = Player.Backpack
  168. Character = Player.Character
  169. Humanoid = Character.Humanoid
  170. Mouse = Player:GetMouse()
  171. RootPart = Character["HumanoidRootPart"]
  172. Torso = Character["Torso"]
  173. Head = Character["Head"]
  174. RightArm = Character["Right Arm"]
  175. LeftArm = Character["Left Arm"]
  176. RightLeg = Character["Right Leg"]
  177. LeftLeg = Character["Left Leg"]
  178. RootJoint = RootPart["RootJoint"]
  179. Neck = Torso["Neck"]
  180. RightShoulder = Torso["Right Shoulder"]
  181. LeftShoulder = Torso["Left Shoulder"]
  182. RightHip = Torso["Right Hip"]
  183. LeftHip = Torso["Left Hip"]
  184. local sick = Instance.new("Sound",Character)
  185. sick.Parent = Character
  186. sick.SoundId = "rbxassetid://472032669"
  187. sick.Looped = true
  188. sick.Pitch = 1
  189. sick.Volume = 7
  190. sick:Play()
  191. Character.Archivable = true
  192. Humanoid.DisplayDistanceType = "None"
  193.  
  194. local naeeym = Instance.new("BillboardGui",chara)
  195. naeeym.Size = UDim2.new(0,100,0,40)
  196. naeeym.StudsOffset = Vector3.new(0,2,0)
  197. naeeym.Adornee = chara.Head
  198. local tecks = Instance.new("TextLabel",naeeym)
  199. tecks.BackgroundTransparency = 1
  200. tecks.BorderSizePixel = 0
  201. tecks.Text = "Super-Evolved Banish"
  202. tecks.Font = "Fantasy"
  203. tecks.FontSize = "Size24"
  204. tecks.TextStrokeTransparency = 0
  205. tecks.TextStrokeColor3 = Color3.new(170,0,0)
  206. tecks.TextColor3 = Color3.new(1,0,0)
  207. tecks.Size = UDim2.new(1,0,0.5,0)
  208.  
  209. IT = Instance.new
  210. CF = CFrame.new
  211. VT = Vector3.new
  212. RAD = math.rad
  213. C3 = Color3.new
  214. UD2 = UDim2.new
  215. BRICKC = BrickColor.new
  216. ANGLES = CFrame.Angles
  217. EULER = CFrame.fromEulerAnglesXYZ
  218. COS = math.cos
  219. ACOS = math.acos
  220. SIN = math.sin
  221. ASIN = math.asin
  222. ABS = math.abs
  223. MRANDOM = math.random
  224. FLOOR = math.floor
  225.  
  226. --//=================================\\
  227. --|| USEFUL VALUES
  228. --\\=================================//
  229.  
  230. Animation_Speed = 3
  231. local FORCERESET = false
  232. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  233. local Speed = 16
  234. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  235. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  236. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  237. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  238. local DAMAGEMULTIPLIER = 1
  239. local ANIM = "Idle"
  240. local ATTACK = false
  241. local EQUIPPED = false
  242. local HOLD = false
  243. local COMBO = 1
  244. local Rooted = false
  245. local Gun = IT("Model")
  246. Gun.Name = "Gun"
  247. local SINE = 0
  248. local KEYHOLD = false
  249. local CHANGE = 2 / Animation_Speed
  250. local WALKINGANIM = false
  251. local VALUE1 = false
  252. local VALUE2 = false
  253. local ROBLOXIDLEANIMATION = IT("Animation")
  254. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  255. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  256. --ROBLOXIDLEANIMATION.Parent = Humanoid
  257. local WEAPONGUI = IT("ScreenGui", PlayerGui)
  258. WEAPONGUI.Name = "BanishV3Gui"
  259. local Weapon = IT("Model")
  260. Weapon.Name = "Adds"
  261. local Effects = IT("Folder", Weapon)
  262. Effects.Name = "Effects"
  263. local ANIMATOR = Humanoid.Animator
  264. local ANIMATE = Character:FindFirstChild("Animate")
  265. local UNANCHOR = true
  266. local TOBANISH = {}
  267. script.Parent = PlayerGui
  268.  
  269. --//=================================\\
  270. --\\=================================//
  271.  
  272.  
  273. --//=================================\\
  274. --|| CUSTOMIZATION
  275. --\\=================================//
  276.  
  277. Class_Name = "Sharpshooter"
  278. Weapon_Name = "Add-ons"
  279.  
  280. Custom_Color_1 = BRICKC("Really black"); --1st color for the weapon.
  281. Custom_Color_2 = BRICKC("Maroon"); --2nd color for the weapon.
  282.  
  283. Custom_Color_3 = BRICKC("Really red"); --Color for the abilities.
  284. Custom_Color_4 = BRICKC("Institutional white"); --Color for the secondary bar.
  285. Custom_Color_5 = BRICKC("Institutional white"); --Color for the mana bar.
  286. Custom_Color_6 = BRICKC("Institutional white"); --Color for the health bar.
  287. Custom_Color_7 = BRICKC("Institutional white"); --Color for the stun bar.
  288.  
  289. Custom_Color_8 = BRICKC("Institutional white"); --Background for the mana bar.
  290. Custom_Color_9 = BRICKC("Institutional white"); --Background for the secondary mana bar.
  291. Custom_Color_10 = BRICKC("Institutional white"); --Background for the stun bar.
  292. Custom_Color_11 = BRICKC("Institutional white"); --Background for the health bar.
  293. Custom_Color_12 = BRICKC("Institutional white"); --Background for the abilities.
  294.  
  295.  
  296. Player_Size = 1 --Size of the player.
  297. Animation_Speed = 3
  298. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  299.  
  300. local Speed = 20
  301. local Effects2 = {}
  302.  
  303. --//=================================\\
  304. --|| END OF CUSTOMIZATION
  305. --\\=================================//
  306.  
  307.  
  308. --//=================================\\
  309. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  310. --\\=================================//
  311.  
  312. ArtificialHB = Instance.new("BindableEvent", script)
  313. ArtificialHB.Name = "ArtificialHB"
  314.  
  315. script:WaitForChild("ArtificialHB")
  316.  
  317. frame = Frame_Speed
  318. tf = 0
  319. allowframeloss = false
  320. tossremainder = false
  321. lastframe = tick()
  322. script.ArtificialHB:Fire()
  323.  
  324. game:GetService("RunService").Heartbeat:connect(function(s, p)
  325. tf = tf + s
  326. if tf >= frame then
  327. if allowframeloss then
  328. script.ArtificialHB:Fire()
  329. lastframe = tick()
  330. else
  331. for i = 1, math.floor(tf / frame) do
  332. script.ArtificialHB:Fire()
  333. end
  334. lastframe = tick()
  335. end
  336. if tossremainder then
  337. tf = 0
  338. else
  339. tf = tf - frame * math.floor(tf / frame)
  340. end
  341. end
  342. end)
  343.  
  344. --//=================================\\
  345. --\\=================================//
  346.  
  347. --//=================================\\
  348. --|| SOME FUNCTIONS
  349. --\\=================================//
  350.  
  351. function Clerp(a, b, t)
  352. local qa = {QuaternionFromCFrame(a)}
  353. local qb = {QuaternionFromCFrame(b)}
  354. local ax, ay, az = a.x, a.y, a.z
  355. local bx, by, bz = b.x, b.y, b.z
  356. local _t = 1 - t
  357. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  358. end
  359.  
  360. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  361. local frame = IT("Frame")
  362. frame.BackgroundTransparency = TRANSPARENCY
  363. frame.BorderSizePixel = BORDERSIZEPIXEL
  364. frame.Position = POSITION
  365. frame.Size = SIZE
  366. frame.BackgroundColor3 = COLOR
  367. frame.BorderColor3 = BORDERCOLOR
  368. frame.Name = NAME
  369. frame.Parent = PARENT
  370. return frame
  371. end
  372.  
  373. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  374. local label = IT("TextLabel")
  375. label.BackgroundTransparency = 1
  376. label.Size = UD2(1, 0, 1, 0)
  377. label.Position = UD2(0, 0, 0, 0)
  378. label.TextColor3 = TEXTCOLOR
  379. label.TextStrokeTransparency = STROKETRANSPARENCY
  380. label.TextTransparency = TRANSPARENCY
  381. label.FontSize = TEXTFONTSIZE
  382. label.Font = TEXTFONT
  383. label.BorderSizePixel = BORDERSIZEPIXEL
  384. label.TextScaled = false
  385. label.Text = TEXT
  386. label.Name = NAME
  387. label.Parent = PARENT
  388. return label
  389. end
  390.  
  391. function CreateDebreeRing(FLOOR,POSITION,SIZE,BLOCKSIZE,SWAIT)
  392. if FLOOR ~= nil then
  393. coroutine.resume(coroutine.create(function()
  394. local PART = CreatePart(3, Effects, "Plastic", 0, 1, "Pearl", "DebreeCenter", VT(0,0,0))
  395. PART.CFrame = CF(POSITION)
  396. for i = 1, 45 do
  397. local RingPiece = CreatePart(3, Effects, "Plastic", 0, 0, "Pearl", "DebreePart", BLOCKSIZE)
  398. RingPiece.Material = FLOOR.Material
  399. RingPiece.Color = FLOOR.Color
  400. RingPiece.CFrame = PART.CFrame * ANGLES(RAD(0), RAD(i*8), RAD(0)) * CF(SIZE, 0, 0) * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
  401. Debris:AddItem(RingPiece,SWAIT)
  402. end
  403. PART:remove()
  404. end))
  405. end
  406. end
  407.  
  408. function CreateFlyingDebree(FLOOR,POSITION,AMOUNT,BLOCKSIZE,SWAIT,STRENGTH)
  409. if FLOOR ~= nil then
  410. for i = 1, AMOUNT do
  411. local DEBREE = CreatePart(3, Effects, "Neon", FLOOR.Reflectance, FLOOR.Transparency, "Peal", "Debree", BLOCKSIZE, false)
  412. DEBREE.Material = FLOOR.Material
  413. DEBREE.Color = FLOOR.Color
  414. DEBREE.CFrame = POSITION * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
  415. DEBREE.Velocity = VT(MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH),MRANDOM(-STRENGTH,STRENGTH))
  416. coroutine.resume(coroutine.create(function()
  417. Swait(15)
  418. DEBREE.Parent = workspace
  419. DEBREE.CanCollide = true
  420. Debris:AddItem(DEBREE,SWAIT)
  421. end))
  422. end
  423. end
  424. end
  425.  
  426. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  427. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  428. end
  429.  
  430. function PositiveAngle(NUMBER)
  431. if NUMBER >= 0 then
  432. NUMBER = 0
  433. end
  434. return NUMBER
  435. end
  436.  
  437. function NegativeAngle(NUMBER)
  438. if NUMBER <= 0 then
  439. NUMBER = 0
  440. end
  441. return NUMBER
  442. end
  443.  
  444. function Swait(NUMBER)
  445. if NUMBER == 0 or NUMBER == nil then
  446. ArtificialHB.Event:wait()
  447. else
  448. for i = 1, NUMBER do
  449. ArtificialHB.Event:wait()
  450. end
  451. end
  452. end
  453.  
  454. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  455. local NEWMESH = IT(MESH)
  456. if MESH == "SpecialMesh" then
  457. NEWMESH.MeshType = MESHTYPE
  458. if MESHID ~= "nil" and MESHID ~= "" then
  459. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  460. end
  461. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  462. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  463. end
  464. end
  465. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  466. NEWMESH.Scale = SCALE
  467. NEWMESH.Parent = PARENT
  468. return NEWMESH
  469. end
  470.  
  471. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
  472. local NEWPART = IT("Part")
  473. NEWPART.formFactor = FORMFACTOR
  474. NEWPART.Reflectance = REFLECTANCE
  475. NEWPART.Transparency = TRANSPARENCY
  476. NEWPART.CanCollide = false
  477. NEWPART.Locked = true
  478. NEWPART.Anchored = true
  479. if ANCHOR == false then
  480. NEWPART.Anchored = false
  481. end
  482. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  483. NEWPART.Name = NAME
  484. NEWPART.Size = SIZE
  485. NEWPART.Position = Torso.Position
  486. NEWPART.Material = MATERIAL
  487. NEWPART:BreakJoints()
  488. NEWPART.Parent = PARENT
  489. return NEWPART
  490. end
  491.  
  492. local function weldBetween(a, b)
  493. local weldd = Instance.new("ManualWeld")
  494. weldd.Part0 = a
  495. weldd.Part1 = b
  496. weldd.C0 = CFrame.new()
  497. weldd.C1 = b.CFrame:inverse() * a.CFrame
  498. weldd.Parent = a
  499. return weldd
  500. end
  501.  
  502.  
  503. function QuaternionFromCFrame(cf)
  504. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  505. local trace = m00 + m11 + m22
  506. if trace > 0 then
  507. local s = math.sqrt(1 + trace)
  508. local recip = 0.5 / s
  509. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  510. else
  511. local i = 0
  512. if m11 > m00 then
  513. i = 1
  514. end
  515. if m22 > (i == 0 and m00 or m11) then
  516. i = 2
  517. end
  518. if i == 0 then
  519. local s = math.sqrt(m00 - m11 - m22 + 1)
  520. local recip = 0.5 / s
  521. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  522. elseif i == 1 then
  523. local s = math.sqrt(m11 - m22 - m00 + 1)
  524. local recip = 0.5 / s
  525. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  526. elseif i == 2 then
  527. local s = math.sqrt(m22 - m00 - m11 + 1)
  528. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  529. end
  530. end
  531. end
  532.  
  533. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  534. local xs, ys, zs = x + x, y + y, z + z
  535. local wx, wy, wz = w * xs, w * ys, w * zs
  536. local xx = x * xs
  537. local xy = x * ys
  538. local xz = x * zs
  539. local yy = y * ys
  540. local yz = y * zs
  541. local zz = z * zs
  542. 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))
  543. end
  544.  
  545. function QuaternionSlerp(a, b, t)
  546. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  547. local startInterp, finishInterp;
  548. if cosTheta >= 0.0001 then
  549. if (1 - cosTheta) > 0.0001 then
  550. local theta = ACOS(cosTheta)
  551. local invSinTheta = 1 / SIN(theta)
  552. startInterp = SIN((1 - t) * theta) * invSinTheta
  553. finishInterp = SIN(t * theta) * invSinTheta
  554. else
  555. startInterp = 1 - t
  556. finishInterp = t
  557. end
  558. else
  559. if (1 + cosTheta) > 0.0001 then
  560. local theta = ACOS(-cosTheta)
  561. local invSinTheta = 1 / SIN(theta)
  562. startInterp = SIN((t - 1) * theta) * invSinTheta
  563. finishInterp = SIN(t * theta) * invSinTheta
  564. else
  565. startInterp = t - 1
  566. finishInterp = t
  567. end
  568. end
  569. 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
  570. end
  571.  
  572. function Clerp(a, b, t)
  573. local qa = {QuaternionFromCFrame(a)}
  574. local qb = {QuaternionFromCFrame(b)}
  575. local ax, ay, az = a.x, a.y, a.z
  576. local bx, by, bz = b.x, b.y, b.z
  577. local _t = 1 - t
  578. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  579. end
  580.  
  581. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  582. local frame = IT("Frame")
  583. frame.BackgroundTransparency = TRANSPARENCY
  584. frame.BorderSizePixel = BORDERSIZEPIXEL
  585. frame.Position = POSITION
  586. frame.Size = SIZE
  587. frame.BackgroundColor3 = COLOR
  588. frame.BorderColor3 = BORDERCOLOR
  589. frame.Name = NAME
  590. frame.Parent = PARENT
  591. return frame
  592. end
  593.  
  594. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  595. local label = IT("TextLabel")
  596. label.BackgroundTransparency = 1
  597. label.Size = UD2(1, 0, 1, 0)
  598. label.Position = UD2(0, 0, 0, 0)
  599. label.TextColor3 = TEXTCOLOR
  600. label.TextStrokeTransparency = STROKETRANSPARENCY
  601. label.TextTransparency = TRANSPARENCY
  602. label.FontSize = TEXTFONTSIZE
  603. label.Font = TEXTFONT
  604. label.BorderSizePixel = BORDERSIZEPIXEL
  605. label.TextScaled = false
  606. label.Text = TEXT
  607. label.Name = NAME
  608. label.Parent = PARENT
  609. return label
  610. end
  611.  
  612. function NoOutlines(PART)
  613. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  614. end
  615.  
  616. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  617. local NEWWELD = IT(TYPE)
  618. NEWWELD.Part0 = PART0
  619. NEWWELD.Part1 = PART1
  620. NEWWELD.C0 = C0
  621. NEWWELD.C1 = C1
  622. NEWWELD.Parent = PARENT
  623. return NEWWELD
  624. end
  625.  
  626. local S = IT("Sound")
  627. function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
  628. local NEWSOUND = nil
  629. coroutine.resume(coroutine.create(function()
  630. NEWSOUND = S:Clone()
  631. NEWSOUND.Parent = PARENT
  632. NEWSOUND.Volume = VOLUME
  633. NEWSOUND.Pitch = PITCH
  634. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  635. NEWSOUND:play()
  636. if DOESLOOP == true then
  637. NEWSOUND.Looped = true
  638. else
  639. repeat wait(1) until NEWSOUND.Playing == false or NEWSOUND.Parent ~= PARENT
  640. NEWSOUND:remove()
  641. end
  642. end))
  643. return NEWSOUND
  644. end
  645.  
  646. function CFrameFromTopBack(at, top, back)
  647. local right = top:Cross(back)
  648. 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)
  649. end
  650.  
  651. --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})
  652. function WACKYEFFECT(Table)
  653. local TYPE = (Table.EffectType or "Sphere")
  654. local SIZE = (Table.Size or VT(1,1,1))
  655. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  656. local TRANSPARENCY = (Table.Transparency or 0)
  657. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  658. local CFRAME = (Table.CFrame or Torso.CFrame)
  659. local MOVEDIRECTION = (Table.MoveToPos or nil)
  660. local ROTATION1 = (Table.RotationX or 0)
  661. local ROTATION2 = (Table.RotationY or 0)
  662. local ROTATION3 = (Table.RotationZ or 0)
  663. local MATERIAL = (Table.Material or "Neon")
  664. local COLOR = (Table.Color or C3(1,1,1))
  665. local TIME = (Table.Time or 45)
  666. local SOUNDID = (Table.SoundID or nil)
  667. local SOUNDPITCH = (Table.SoundPitch or nil)
  668. local SOUNDVOLUME = (Table.SoundVolume or nil)
  669. coroutine.resume(coroutine.create(function()
  670. local PLAYSSOUND = false
  671. local SOUND = nil
  672. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
  673. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  674. PLAYSSOUND = true
  675. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  676. end
  677. EFFECT.Color = COLOR
  678. local MSH = nil
  679. if TYPE == "Sphere" then
  680. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  681. elseif TYPE == "Block" then
  682. MSH = IT("BlockMesh",EFFECT)
  683. MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  684. elseif TYPE == "Wave" then
  685. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  686. elseif TYPE == "Ring" then
  687. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  688. elseif TYPE == "Slash" then
  689. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  690. elseif TYPE == "Round Slash" then
  691. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  692. elseif TYPE == "Swirl" then
  693. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  694. elseif TYPE == "Skull" then
  695. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  696. elseif TYPE == "Crystal" then
  697. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  698. end
  699. if MSH ~= nil then
  700. local MOVESPEED = nil
  701. if MOVEDIRECTION ~= nil then
  702. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  703. end
  704. local GROWTH = SIZE - ENDSIZE
  705. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  706. if TYPE == "Block" then
  707. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  708. else
  709. EFFECT.CFrame = CFRAME
  710. end
  711. for LOOP = 1, TIME+1 do
  712. Swait()
  713. MSH.Scale = MSH.Scale - GROWTH/TIME
  714. if TYPE == "Wave" then
  715. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  716. end
  717. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  718. if TYPE == "Block" then
  719. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  720. else
  721. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  722. end
  723. if MOVEDIRECTION ~= nil then
  724. local ORI = EFFECT.Orientation
  725. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  726. EFFECT.Orientation = ORI
  727. end
  728. end
  729. if PLAYSSOUND == false then
  730. EFFECT:remove()
  731. else
  732. SOUND.Stopped:Connect(function()
  733. EFFECT:remove()
  734. end)
  735. end
  736. else
  737. if PLAYSSOUND == false then
  738. EFFECT:remove()
  739. else
  740. repeat Swait() until SOUND.Playing == false
  741. EFFECT:remove()
  742. end
  743. end
  744. end))
  745. end
  746.  
  747. local DECAL = IT("Decal")
  748. function MakeRing()
  749. local RING = CreatePart(3, Effects, "Neon", 0, 1, BRICKC("Really red"), "MagicRing", VT(0, 0, 0), true)
  750. local MSH = IT("BlockMesh", RING)
  751. local TOP = DECAL:Clone()
  752. local BOTTOM = DECAL:Clone()
  753. TOP.Parent = RING
  754. BOTTOM.Parent = RING
  755. TOP.Face = "Top"
  756. BOTTOM.Face = "Bottom"
  757. TOP.Texture = "http://www.roblox.com/asset/?id=127817121"
  758. BOTTOM.Texture = "http://www.roblox.com/asset/?id=127817121"
  759. local function REMOVE()
  760. coroutine.resume(coroutine.create(function()
  761. local SIZE = MSH.Scale.X
  762. for i = 1, 35 do
  763. Swait()
  764. MSH.Scale = MSH.Scale - VT(SIZE, 0, SIZE) / 60
  765. TOP.Transparency = TOP.Transparency + 0.02857142857142857
  766. BOTTOM.Transparency = BOTTOM.Transparency + 0.02857142857142857
  767. RING.CFrame = RING.CFrame * ANGLES(RAD(0), RAD(-5), RAD(0))
  768. end
  769. RING:remove()
  770. end))
  771. end
  772. return RING, MSH, REMOVE
  773. end
  774.  
  775. function MakeForm(PART,TYPE)
  776. if TYPE == "Cyl" then
  777. local MSH = IT("CylinderMesh",PART)
  778. elseif TYPE == "Ball" then
  779. local MSH = IT("SpecialMesh",PART)
  780. MSH.MeshType = "Sphere"
  781. elseif TYPE == "Wedge" then
  782. local MSH = IT("SpecialMesh",PART)
  783. MSH.MeshType = "Wedge"
  784. end
  785. end
  786.  
  787. function SpawnTrail(FROM,TO,BIG)
  788. local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Really red", "Trail", VT(0,0,0))
  789. MakeForm(TRAIL,"Cyl")
  790. local DIST = (FROM - TO).Magnitude
  791. if BIG == true then
  792. TRAIL.Size = VT(0.5,DIST,0.5)
  793. else
  794. TRAIL.Size = VT(0.25,DIST,0.25)
  795. end
  796. TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
  797. coroutine.resume(coroutine.create(function()
  798. for i = 1, 5 do
  799. Swait()
  800. TRAIL.Transparency = TRAIL.Transparency + 0.1
  801. end
  802. TRAIL:remove()
  803. end))
  804. end
  805. --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})
  806. function WACKYEFFECT(Table)
  807. local TYPE = (Table.EffectType or "Sphere")
  808. local SIZE = (Table.Size or VT(1,1,1))
  809. local ENDSIZE = (Table.Size2 or VT(0,0,0))
  810. local TRANSPARENCY = (Table.Transparency or 0)
  811. local ENDTRANSPARENCY = (Table.Transparency2 or 1)
  812. local CFRAME = (Table.CFrame or Torso.CFrame)
  813. local MOVEDIRECTION = (Table.MoveToPos or nil)
  814. local ROTATION1 = (Table.RotationX or 0)
  815. local ROTATION2 = (Table.RotationY or 0)
  816. local ROTATION3 = (Table.RotationZ or 0)
  817. local MATERIAL = (Table.Material or "Neon")
  818. local COLOR = (Table.Color or C3(1,1,1))
  819. local TIME = (Table.Time or 45)
  820. local SOUNDID = (Table.SoundID or nil)
  821. local SOUNDPITCH = (Table.SoundPitch or nil)
  822. local SOUNDVOLUME = (Table.SoundVolume or nil)
  823. coroutine.resume(coroutine.create(function()
  824. local PLAYSSOUND = false
  825. local SOUND = nil
  826. local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Really red"), "Effect", VT(1,1,1), true)
  827. if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
  828. PLAYSSOUND = true
  829. SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
  830. end
  831. EFFECT.Color = COLOR
  832. local MSH = nil
  833. if TYPE == "Sphere" then
  834. MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
  835. elseif TYPE == "Block" then
  836. MSH = IT("BlockMesh",EFFECT)
  837. MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X)
  838. elseif TYPE == "Wave" then
  839. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
  840. elseif TYPE == "Ring" then
  841. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
  842. elseif TYPE == "Slash" then
  843. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  844. elseif TYPE == "Round Slash" then
  845. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
  846. elseif TYPE == "Swirl" then
  847. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "1051557", "", SIZE, VT(0,0,0))
  848. elseif TYPE == "Skull" then
  849. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
  850. elseif TYPE == "Crystal" then
  851. MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
  852. end
  853. if MSH ~= nil then
  854. local MOVESPEED = nil
  855. if MOVEDIRECTION ~= nil then
  856. MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME
  857. end
  858. local GROWTH = SIZE - ENDSIZE
  859. local TRANS = TRANSPARENCY - ENDTRANSPARENCY
  860. if TYPE == "Block" then
  861. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  862. else
  863. EFFECT.CFrame = CFRAME
  864. end
  865. for LOOP = 1, TIME+1 do
  866. Swait()
  867. MSH.Scale = MSH.Scale - GROWTH/TIME
  868. if TYPE == "Wave" then
  869. MSH.Offset = VT(0,0,-MSH.Scale.X/8)
  870. end
  871. EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
  872. if TYPE == "Block" then
  873. EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
  874. else
  875. EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
  876. end
  877. if MOVEDIRECTION ~= nil then
  878. local ORI = EFFECT.Orientation
  879. EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
  880. EFFECT.Orientation = ORI
  881. end
  882. end
  883. if PLAYSSOUND == false then
  884. EFFECT:remove()
  885. else
  886. SOUND.Stopped:Connect(function()
  887. EFFECT:remove()
  888. end)
  889. end
  890. else
  891. if PLAYSSOUND == false then
  892. EFFECT:remove()
  893. else
  894. repeat Swait() until SOUND.Playing == false
  895. EFFECT:remove()
  896. end
  897. end
  898. end))
  899. end
  900.  
  901. function MakeForm(PART,TYPE)
  902. if TYPE == "Cyl" then
  903. local MSH = IT("CylinderMesh",PART)
  904. elseif TYPE == "Ball" then
  905. local MSH = IT("SpecialMesh",PART)
  906. MSH.MeshType = "Sphere"
  907. elseif TYPE == "Wedge" then
  908. local MSH = IT("SpecialMesh",PART)
  909. MSH.MeshType = "Wedge"
  910. end
  911. end
  912.  
  913. function SpawnTrail(FROM,TO,BIG)
  914. local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Really red", "Trail", VT(0,0,0))
  915. MakeForm(TRAIL,"Cyl")
  916. local DIST = (FROM - TO).Magnitude
  917. if BIG == true then
  918. TRAIL.Size = VT(0.5,DIST,0.5)
  919. else
  920. TRAIL.Size = VT(0.25,DIST,0.25)
  921. end
  922. TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0))
  923. coroutine.resume(coroutine.create(function()
  924. for i = 1, 5 do
  925. Swait()
  926. TRAIL.Transparency = TRAIL.Transparency + 0.1
  927. end
  928. TRAIL:remove()
  929. end))
  930. end
  931.  
  932. function SHAKECAM(POSITION, RANGE, INTENSITY, TIME)
  933. local TORSO = Torso
  934. local HUM = Humanoid
  935. if TORSO and RANGE >= (TORSO.Position - POSITION).Magnitude then
  936. coroutine.wrap(function()
  937. VT = Vector3.new
  938. MRANDOM = math.random
  939. local A = TIME
  940. local B = INTENSITY
  941. local C = true
  942. local HUMANOID = Humanoid
  943. local TIMER = A or 35
  944. local SHAKE = B or 5
  945. local FADE = C or true
  946. if HUMANOID then
  947. local FADER = SHAKE / TIMER
  948. for i = 1, TIMER do
  949. wait()
  950. HUMANOID.CameraOffset = VT(MRANDOM(-(SHAKE - FADER * i), SHAKE - FADER * i) / 10, MRANDOM(-(SHAKE - FADER * i), SHAKE - FADER * i) / 10, MRANDOM(-(SHAKE - FADER * i), SHAKE - FADER * i) / 10)
  951. end
  952. HUMANOID.CameraOffset = VT(0, 0, 0)
  953. end
  954.  
  955. end)()
  956. end
  957. end
  958.  
  959. function chatfunc(text)
  960. local chat = coroutine.wrap(function()
  961. if Character:FindFirstChild("TalkingBillBoard")~= nil then
  962. Character:FindFirstChild("TalkingBillBoard"):destroy()
  963. end
  964. local Bill = Instance.new("BillboardGui",Character)
  965. Bill.Size = UDim2.new(0,100,0,40)
  966. Bill.StudsOffset = Vector3.new(0,3,0)
  967. Bill.Adornee = Character.Head
  968. Bill.Name = "TalkingBillBoard"
  969. local Hehe = Instance.new("TextLabel",Bill)
  970. Hehe.BackgroundTransparency = 1
  971. Hehe.BorderSizePixel = 0
  972. Hehe.Text = ""
  973. Hehe.Font = "Bodoni"
  974. Hehe.TextSize = 40
  975. Hehe.TextStrokeTransparency = 0
  976. Hehe.Size = UDim2.new(1,0,0.5,0)
  977. coroutine.resume(coroutine.create(function()
  978. while Hehe ~= nil do
  979. Swait()
  980. Hehe.Position = UDim2.new(math.random(-.4,.4),math.random(-5,5),.05,math.random(-5,5))
  981. Hehe.Rotation = math.random(-2.5,2.5)
  982. Hehe.TextColor3 = Color3.new(MRANDOM(55,255),0,0)
  983. Hehe.TextStrokeColor3 = Color3.new(0,0,0)
  984. end
  985. end))
  986. for i = 1,string.len(text),1 do
  987. Swait()
  988. Hehe.Text = string.sub(text,1,i)
  989. end
  990. Swait(90)--Re[math.random(1, 93)]
  991. for i = 0, 1, .025 do
  992. Swait()
  993. Bill.ExtentsOffset = Vector3.new(math.random(-i, i), math.random(-i, i), math.random(-i, i))
  994. Hehe.TextStrokeTransparency = i
  995. Hehe.TextTransparency = i
  996. end
  997. Bill:Destroy()
  998. end)
  999. chat()
  1000. end
  1001.  
  1002. Debris = game:GetService("Debris")
  1003.  
  1004. function CastProperRay(StartPos, EndPos, Distance, Ignore)
  1005. local DIRECTION = CF(StartPos,EndPos).lookVector
  1006. return Raycast(StartPos, DIRECTION, Distance, Ignore)
  1007. end
  1008.  
  1009. function turnto(position)
  1010. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  1011. end
  1012.  
  1013. --//=================================\\
  1014. --|| RAGDOLL STUFF
  1015. --\\=================================//
  1016.  
  1017. function recurse(root,callback,i)
  1018. i= i or 0
  1019. for _,v in pairs(root:GetChildren()) do
  1020. i = i + 1
  1021. callback(i,v)
  1022.  
  1023. if #v:GetChildren() > 0 then
  1024. i = recurse(v,callback,i)
  1025. end
  1026. end
  1027.  
  1028. return i
  1029. end
  1030.  
  1031. function ragdollJoint(character, part0, part1, attachmentName, className, properties)
  1032. attachmentName = attachmentName.."RigAttachment"
  1033. local constraint = Instance.new(className.."Constraint")
  1034. constraint.Attachment0 = part0:FindFirstChild(attachmentName)
  1035. constraint.Attachment1 = part1:FindFirstChild(attachmentName)
  1036. constraint.Name = "RagdollConstraint"..part1.Name
  1037.  
  1038. for _,propertyData in next,properties or {} do
  1039. constraint[propertyData[1]] = propertyData[2]
  1040. end
  1041.  
  1042. constraint.Parent = character
  1043. end
  1044.  
  1045. function getAttachment0(character, attachmentName)
  1046. for _,child in next,character:GetChildren() do
  1047. local attachment = child:FindFirstChild(attachmentName)
  1048. if attachment then
  1049. return attachment
  1050. end
  1051. end
  1052. end
  1053.  
  1054. function ArtificialHitbox(Part)
  1055. local HITBOX = CreatePart(3, Part, "Metal", 0, 1, "Really black", "Hitbox", Part.Size/2, false)
  1056. HITBOX.CanCollide = true
  1057. HITBOX.CFrame = Part.CFrame
  1058. weldBetween(Part,HITBOX)
  1059. end
  1060.  
  1061. function R15Ragdoll(character,KeepArms)
  1062. character:BreakJoints()
  1063. coroutine.resume(coroutine.create(function()
  1064. recurse(character, function(_,v)
  1065. if v:IsA("Attachment") then
  1066. v.Axis = Vector3.new(0, 1, 0)
  1067. v.SecondaryAxis = Vector3.new(0, 0, 1)
  1068. v.Rotation = Vector3.new(0, 0, 0)
  1069. end
  1070. end)
  1071. for _,child in next,character:GetChildren() do
  1072. if child:IsA("Accoutrement") then
  1073. for _,part in next,child:GetChildren() do
  1074. if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then
  1075. local attachment1 = part:FindFirstChildOfClass("Attachment")
  1076. local attachment0 = getAttachment0(character,attachment1.Name)
  1077. if attachment0 and attachment1 then
  1078. local constraint = Instance.new("HingeConstraint")
  1079. constraint.Attachment0 = attachment0
  1080. constraint.Attachment1 = attachment1
  1081. constraint.LimitsEnabled = true
  1082. constraint.UpperAngle = 0
  1083. constraint.LowerAngle = 0
  1084. constraint.Parent = character
  1085. end
  1086. ArtificialHitbox(part)
  1087. elseif part.Name == "HumanoidRootPart" then
  1088. part:remove()
  1089. end
  1090. end
  1091. end
  1092. end
  1093.  
  1094. ragdollJoint(character,character.LowerTorso, character.UpperTorso, "Waist", "BallSocket", {
  1095. {"LimitsEnabled",true};
  1096. {"UpperAngle",5};
  1097. })
  1098. if character:FindFirstChild("Head") then
  1099. ragdollJoint(character,character.UpperTorso, character.Head, "Neck", "BallSocket", {
  1100. {"LimitsEnabled",true};
  1101. {"UpperAngle",15};
  1102. })
  1103. end
  1104.  
  1105. local handProperties = {
  1106. {"LimitsEnabled", true};
  1107. {"UpperAngle",0};
  1108. {"LowerAngle",0};
  1109. }
  1110. ragdollJoint(character,character.LeftLowerArm, character.LeftHand, "LeftWrist", "Hinge", handProperties)
  1111. ragdollJoint(character,character.RightLowerArm, character.RightHand, "RightWrist", "Hinge", handProperties)
  1112.  
  1113. local shinProperties = {
  1114. {"LimitsEnabled", true};
  1115. {"UpperAngle", 0};
  1116. {"LowerAngle", -75};
  1117. }
  1118. ragdollJoint(character,character.LeftUpperLeg, character.LeftLowerLeg, "LeftKnee", "Hinge", shinProperties)
  1119. ragdollJoint(character,character.RightUpperLeg, character.RightLowerLeg, "RightKnee", "Hinge", shinProperties)
  1120.  
  1121. local footProperties = {
  1122. {"LimitsEnabled", true};
  1123. {"UpperAngle", 15};
  1124. {"LowerAngle", -45};
  1125. }
  1126. ragdollJoint(character,character.LeftLowerLeg, character.LeftFoot, "LeftAnkle", "Hinge", footProperties)
  1127. ragdollJoint(character,character.RightLowerLeg, character.RightFoot, "RightAnkle", "Hinge", footProperties)
  1128. if KeepArms == true then
  1129. ragdollJoint(character,character.UpperTorso, character.RightUpperArm, "RightShoulder", "BallSocket")
  1130. ragdollJoint(character,character.RightUpperArm, character.RightLowerArm, "RightElbow", "BallSocket")
  1131. ragdollJoint(character,character.UpperTorso, character.LeftUpperArm, "LeftShoulder", "BallSocket")
  1132. ragdollJoint(character,character.LeftUpperArm, character.LeftLowerArm, "LeftElbow", "BallSocket")
  1133. end
  1134. ragdollJoint(character,character.LowerTorso, character.LeftUpperLeg, "LeftHip", "BallSocket")
  1135. ragdollJoint(character,character.LowerTorso, character.RightUpperLeg, "RightHip", "BallSocket")
  1136. Debris:AddItem(character,5)
  1137. end))
  1138. end
  1139.  
  1140. function Ragdoll(Character2,CharTorso,KeepArms)
  1141. coroutine.resume(coroutine.create(function()
  1142. Character2:BreakJoints()
  1143. local hum = Character2:findFirstChild("Humanoid")
  1144. hum:remove()
  1145. local function Scan(ch)
  1146. local e
  1147. for e = 1,#ch do
  1148. Scan(ch[e]:GetChildren())
  1149. if ch[e].ClassName == "Weld" or ch[e].ClassName == "Motor6D" then
  1150. ch[e]:remove()
  1151. end
  1152. end
  1153. end
  1154. local NEWHUM = IT("Humanoid")
  1155. NEWHUM.Name = "Corpse"
  1156. NEWHUM.Health = 0
  1157. NEWHUM.MaxHealth = 0
  1158. NEWHUM.PlatformStand = true
  1159. NEWHUM.Parent = Character2
  1160. NEWHUM.DisplayDistanceType = "None"
  1161.  
  1162. local ch = Character2:GetChildren()
  1163. local i
  1164. for i = 1,#ch do
  1165. if ch[i].Name == "THandle1" or ch[i].Name == "THandle2" then
  1166. ch[i]:remove()
  1167. end
  1168. end
  1169.  
  1170. local Torso2 = Character2.Torso
  1171. local movevector = Vector3.new()
  1172.  
  1173. if Torso2 then
  1174. movevector = CFrame.new(CharTorso.Position,Torso2.Position).lookVector
  1175. local Head = Character2:FindFirstChild("Head")
  1176. if Head then
  1177. local Neck = Instance.new("Weld")
  1178. Neck.Name = "Neck"
  1179. Neck.Part0 = Torso2
  1180. Neck.Part1 = Head
  1181. Neck.C0 = CFrame.new(0, 1.5, 0)
  1182. Neck.C1 = CFrame.new()
  1183. Neck.Parent = Torso2
  1184.  
  1185. end
  1186. local Limb = Character2:FindFirstChild("Right Arm")
  1187. if Limb and KeepArms == true then
  1188.  
  1189. Limb.CFrame = Torso2.CFrame * CFrame.new(1.5, 0, 0)
  1190. local Joint = Instance.new("Glue")
  1191. Joint.Name = "RightShoulder"
  1192. Joint.Part0 = Torso2
  1193. Joint.Part1 = Limb
  1194. Joint.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  1195. Joint.C1 = CFrame.new(-0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  1196. Joint.Parent = Torso2
  1197.  
  1198. local B = Instance.new("Part")
  1199. B.TopSurface = 0
  1200. B.BottomSurface = 0
  1201. B.formFactor = "Symmetric"
  1202. B.Size = Vector3.new(1, 1, 1)
  1203. B.Transparency = 1
  1204. B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  1205. B.Parent = Character2
  1206. local W = Instance.new("Weld")
  1207. W.Part0 = Limb
  1208. W.Part1 = B
  1209. W.C0 = CFrame.new(0, -0.5, 0)
  1210. W.Parent = Limb
  1211.  
  1212. end
  1213. local Limb = Character2:FindFirstChild("Left Arm")
  1214. if Limb and KeepArms == true then
  1215.  
  1216. Limb.CFrame = Torso2.CFrame * CFrame.new(-1.5, 0, 0)
  1217. local Joint = Instance.new("Glue")
  1218. Joint.Name = "LeftShoulder"
  1219. Joint.Part0 = Torso2
  1220. Joint.Part1 = Limb
  1221. Joint.C0 = CFrame.new(-1.5, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  1222. Joint.C1 = CFrame.new(0, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  1223. Joint.Parent = Torso2
  1224.  
  1225. local B = Instance.new("Part")
  1226. B.TopSurface = 0
  1227. B.BottomSurface = 0
  1228. B.formFactor = "Symmetric"
  1229. B.Size = Vector3.new(1, 1, 1)
  1230. B.Transparency = 1
  1231. B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  1232. B.Parent = Character2
  1233. local W = Instance.new("Weld")
  1234. W.Part0 = Limb
  1235. W.Part1 = B
  1236. W.C0 = CFrame.new(0, -0.5, 0)
  1237. W.Parent = Limb
  1238.  
  1239. end
  1240. local Limb = Character2:FindFirstChild("Right Leg")
  1241. if Limb then
  1242.  
  1243. Limb.CFrame = Torso2.CFrame * CFrame.new(0.5, -2, 0)
  1244. local Joint = Instance.new("Glue")
  1245. Joint.Name = "RightHip"
  1246. Joint.Part0 = Torso2
  1247. Joint.Part1 = Limb
  1248. Joint.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  1249. Joint.C1 = CFrame.new(0, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  1250. Joint.Parent = Torso2
  1251.  
  1252. local B = Instance.new("Part")
  1253. B.TopSurface = 0
  1254. B.BottomSurface = 0
  1255. B.formFactor = "Symmetric"
  1256. B.Size = Vector3.new(1, 1, 1)
  1257. B.Transparency = 1
  1258. B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  1259. B.Parent = Character2
  1260. local W = Instance.new("Weld")
  1261. W.Part0 = Limb
  1262. W.Part1 = B
  1263. W.C0 = CFrame.new(0, -0.5, 0)
  1264. W.Parent = Limb
  1265.  
  1266. end
  1267. local Limb = Character2:FindFirstChild("Left Leg")
  1268. if Limb then
  1269.  
  1270. Limb.CFrame = Torso2.CFrame * CFrame.new(-0.5, -2, 0)
  1271. local Joint = Instance.new("Glue")
  1272. Joint.Name = "LeftHip"
  1273. Joint.Part0 = Torso2
  1274. Joint.Part1 = Limb
  1275. Joint.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  1276. Joint.C1 = CFrame.new(-0, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  1277. Joint.Parent = Torso2
  1278.  
  1279. local B = Instance.new("Part")
  1280. B.TopSurface = 0
  1281. B.BottomSurface = 0
  1282. B.formFactor = "Symmetric"
  1283. B.Size = Vector3.new(1, 1, 1)
  1284. B.Transparency = 1
  1285. B.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0)
  1286. B.Parent = Character2
  1287. local W = Instance.new("Weld")
  1288. W.Part0 = Limb
  1289. W.Part1 = B
  1290. W.C0 = CFrame.new(0, -0.5, 0)
  1291. W.Parent = Limb
  1292.  
  1293. end
  1294. --[
  1295. local Bar = Instance.new("Part")
  1296. Bar.TopSurface = 0
  1297. Bar.BottomSurface = 0
  1298. Bar.formFactor = "Symmetric"
  1299. Bar.Size = Vector3.new(1, 1, 1)
  1300. Bar.Transparency = 1
  1301. Bar.CFrame = Torso2.CFrame * CFrame.new(0, 0.5, 0)
  1302. Bar.Parent = Character2
  1303. local Weld = Instance.new("Weld")
  1304. Weld.Part0 = Torso2
  1305. Weld.Part1 = Bar
  1306. Weld.C0 = CFrame.new(0, 0.5, 0)
  1307. Weld.Parent = Torso2
  1308. --]]
  1309. end
  1310. Character2.Parent = workspace
  1311. Debris:AddItem(Character2,5)
  1312.  
  1313. return Character2,Torso2
  1314. end))
  1315. end
  1316.  
  1317. --//=================================\\
  1318. --|| WEAPON CREATION
  1319. --\\=================================//
  1320.  
  1321. local Particle = IT("ParticleEmitter",nil)
  1322. Particle.Enabled = false
  1323. Particle.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,0.3),NumberSequenceKeypoint.new(0.3,0),NumberSequenceKeypoint.new(1,1)})
  1324. Particle.LightEmission = 0.5
  1325. Particle.Rate = 250
  1326. Particle.ZOffset = 0.2
  1327. Particle.Rotation = NumberRange.new(-180, 180)
  1328. Particle.RotSpeed = NumberRange.new(-180, 180)
  1329. Particle.Texture = "http://www.roblox.com/asset/?id=304437537"
  1330. Particle.Color = ColorSequence.new(C3(1,0,0),C3(1,0,0))
  1331.  
  1332. --ParticleEmitter({Speed = 5, Drag = 0, Size1 = 1, Size2 = 5, Lifetime1 = 1, Lifetime2 = 1.5, Parent = Torso, Emit = 100, Offset = 360, Enabled = false})
  1333. function ParticleEmitter(Table)
  1334. local PRTCL = Particle:Clone()
  1335. local Speed = Table.Speed or 5
  1336. local Drag = Table.Drag or 0
  1337. local Size1 = Table.Size1 or 1
  1338. local Size2 = Table.Size2 or 5
  1339. local Lifetime1 = Table.Lifetime1 or 1
  1340. local Lifetime2 = Table.Lifetime2 or 1.5
  1341. local Parent = Table.Parent or Torso
  1342. local Emit = Table.Emit or 100
  1343. local Offset = Table.Offset or 360
  1344. local Acel = Table.Acel or VT(0,0,0)
  1345. local Enabled = Table.Enabled or false
  1346. PRTCL.Parent = Parent
  1347. PRTCL.Size = NumberSequence.new(Size1,Size2)
  1348. PRTCL.Lifetime = NumberRange.new(Lifetime1,Lifetime2)
  1349. PRTCL.Speed = NumberRange.new(Speed)
  1350. PRTCL.VelocitySpread = Offset
  1351. PRTCL.Drag = Drag
  1352. PRTCL.Acceleration = Acel
  1353. if Enabled == false then
  1354. PRTCL:Emit(Emit)
  1355. Debris:AddItem(PRTCL,Lifetime2)
  1356. else
  1357. PRTCL.Enabled = true
  1358. end
  1359. return PRTCL
  1360. end
  1361.  
  1362. local Handle = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.6,0.2),false)
  1363. local RightArmGrasp = CreateWeldOrSnapOrMotor("Weld", Handle, RightArm, Handle, CF(0,-1, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0.21, 0))
  1364. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
  1365. MakeForm(Part,"Wedge")
  1366. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.3, 0.2) * ANGLES(RAD(0), RAD(180), RAD(0)), CF(0, 0, 0))
  1367. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.3,0.2),false)
  1368. MakeForm(Part,"Wedge")
  1369. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.4, 0) * ANGLES(RAD(0), RAD(0), RAD(180)), CF(0, 0, 0))
  1370. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.3,0.3),false)
  1371. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.5, 0.2) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  1372. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.5,0.5),false)
  1373. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  1374. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.4,0.4,0.4),false)
  1375. MakeForm(Part,"Cyl")
  1376. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1377. for i = 1, 8 do
  1378. local Piece = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0,0.35,0.41),false)
  1379. CreateWeldOrSnapOrMotor("Weld", Handle, Part, Piece, CF(0, 0, 0) * ANGLES(RAD(0), RAD((360/8)*i), RAD(0)), CF(0, 0, 0))
  1380. end
  1381. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.38,0.41,0.38),false)
  1382. MakeForm(Part,"Cyl")
  1383. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.5) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1384. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.37,0.5,0.37),false)
  1385. MakeForm(Part,"Ball")
  1386. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.3) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1387. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.7,0.4),false)
  1388. MakeForm(Part,"Wedge")
  1389. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.7, 0.5) * ANGLES(RAD(90), RAD(180), RAD(180)), CF(0, 0, 0))
  1390. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.3,0.4,0.2),false)
  1391. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  1392. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.35,0.35,0.35),false)
  1393. MakeForm(Part,"Cyl")
  1394. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1395. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.5),false)
  1396. MakeForm(Part,"Cyl")
  1397. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1398. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.5,0.1,0.45),false)
  1399. MakeForm(Part,"Cyl")
  1400. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 1.1) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1401. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.2,0.5,0.2),false)
  1402. MakeForm(Part,"Wedge")
  1403. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.55, 0.2) * ANGLES(RAD(-135), RAD(0), RAD(0)), CF(0, -0.3, 0))
  1404. local LASTPART = Handle
  1405. for i = 1, 10 do
  1406. if LASTPART == Handle then
  1407. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.2,0),false)
  1408. LASTPART = Part
  1409. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.1, 0.2) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1410. else
  1411. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.1,0.05,0),false)
  1412. CreateWeldOrSnapOrMotor("Weld", Handle, LASTPART, Part, CF(0, 0.025, 0) * ANGLES(RAD(8), RAD(0), RAD(0)), CF(0, -0.025, 0))
  1413. LASTPART = Part
  1414. end
  1415. end
  1416.  
  1417. local Barrel = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.15,2,0.15),false)
  1418. MakeForm(Barrel,"Cyl")
  1419. CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Barrel, CF(0, -0.6, 1.8) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
  1420. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0.25,1,0.25),false)
  1421. MakeForm(Part,"Cyl")
  1422. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, -0.6, 0), CF(0, 0, 0))
  1423. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0.1,0.2),false)
  1424. MakeForm(Part,"Wedge")
  1425. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Part, CF(0, 0.945, 0.1) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
  1426. local Hole = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Eye", VT(0.125,0,0.125),false)
  1427. MakeForm(Hole,"Cyl")
  1428. CreateWeldOrSnapOrMotor("Weld", Handle, Barrel, Hole, CF(0, 0.98, 0), CF(0, 0, 0))
  1429. local Part = CreatePart(3, Weapon, "Metal", 0, 0, "Mid gray", "Part", VT(0,0,0),false)
  1430. local GEARWELD = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
  1431. CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.8,0.8,1.5), VT(0,0,0.2))
  1432. local Part = CreatePart(3, Weapon, "Metal", 0, 0.5, "Mid gray", "Eye", VT(0,0,0),false)
  1433. local GEARWELD2 = CreateWeldOrSnapOrMotor("Weld", Handle, Handle, Part, CF(0, -0.6, 0.7), CF(0, 0, 0))
  1434. CreateMesh("SpecialMesh", Part, "FileMesh", 156292343, "", VT(0.9,0.9,0.3), VT(0,0,0.2))
  1435. coroutine.resume(coroutine.create(function()
  1436. while wait() do
  1437. GEARWELD.C0 = GEARWELD.C0 * ANGLES(RAD(0), RAD(0), RAD(5))
  1438. GEARWELD2.C0 = GEARWELD2.C0 * ANGLES(RAD(0), RAD(0), RAD(-5))
  1439. end
  1440. end))
  1441.  
  1442. ParticleEmitter({Speed = 0.35, Drag = 0, Size1 = 0.4, Size2 = 0, Lifetime1 = 0.3, Lifetime2 = 0.5, Parent = Hole, Emit = 100, Offset = 360, Enabled = true, Acel = VT(1,5,1)})
  1443. --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)})
  1444.  
  1445. for _, c in pairs(Weapon:GetDescendants()) do
  1446. if c.ClassName == "Part" and c.Name ~= "Eye" and c.Parent ~= Effects and c.Parent.Parent ~= Effects then
  1447. c.Material = "Glass"
  1448. c.Color = C3(0,0,0)
  1449. elseif c.ClassName == "Part" and c.Name == "Eye" then
  1450. c.Color = C3(1,0,0)
  1451. c.Material = "Neon"
  1452. end
  1453. end
  1454.  
  1455. Weapon.Parent = Character
  1456. for _, c in pairs(Weapon:GetChildren()) do
  1457. if c.ClassName == "Part" then
  1458. c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  1459. end
  1460. end
  1461.  
  1462. local SKILLTEXTCOLOR = C3(1,0,0)
  1463. local SKILLFONT = "Fantasy"
  1464. local SKILLTEXTSIZE = 5
  1465.  
  1466. Humanoid.Died:connect(function()
  1467. ATTACK = true
  1468. end)
  1469.  
  1470. 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")
  1471. 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")
  1472. 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")
  1473. 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")
  1474. 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")
  1475. local SKILL6FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.100, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 6 Frame")
  1476.  
  1477. local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Banish Shot", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 1")
  1478. local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[V] Shot", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 2")
  1479. local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[X] Go to Sleep", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 3")
  1480. local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[C] Bullet On Sky", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 4")
  1481. local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[T] Laugh", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 5")
  1482. local SKILL6TEXT = CreateLabel(SKILL6FRAME, "[F] Mercy", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 0.7, "Text 6")
  1483.  
  1484. function printbye(Name)
  1485. local MESSAGES = {"Stay until It's Over...... "}
  1486. warn(MESSAGES[MRANDOM(1,#MESSAGES)]..Name..".")
  1487. end
  1488.  
  1489. workspace.ChildAdded:connect(function(instance)
  1490. for BANISH = 1, #TOBANISH do
  1491. if TOBANISH[BANISH] ~= nil then
  1492. if instance.Name == TOBANISH[BANISH] then
  1493. coroutine.resume(coroutine.create(function()
  1494. printbye(instance.Name)
  1495. instance:ClearAllChildren()
  1496. Debris:AddItem(instance,0.0005)
  1497. end))
  1498. end
  1499. end
  1500. end
  1501. end)
  1502.  
  1503. --//=================================\\
  1504. --|| DAMAGING
  1505. --\\=================================//
  1506.  
  1507. function ApplyDamage(Humanoid,Damage,OneShot)
  1508. Damage = Damage * DAMAGEMULTIPLIER
  1509. local DEAD = false
  1510. if Humanoid.Health < 2000 and OneShot == false then
  1511. if Humanoid.Health - Damage > 0 then
  1512. Humanoid.Health = Humanoid.Health - Damage
  1513. else
  1514. Humanoid.Parent:BreakJoints()
  1515. DEAD = true
  1516. end
  1517. else
  1518. DEAD = true
  1519. Humanoid.Parent:BreakJoints()
  1520. end
  1521. if DEAD == true then
  1522. local PARTS = {}
  1523. for index, CHILD in pairs(Humanoid.Parent:GetChildren()) do
  1524. if CHILD:IsA("BasePart") then
  1525. table.insert(PARTS,CHILD)
  1526. end
  1527. end
  1528. coroutine.resume(coroutine.create(function()
  1529. wait(2)
  1530. repeat
  1531. Swait()
  1532. local PIECE = nil
  1533. if MRANDOM(1,5) == 1 then
  1534. for E = 1, #PARTS do
  1535. if MRANDOM(1,5) == 1 then
  1536. PIECE = PARTS[E]
  1537. table.remove(PARTS,E)
  1538. break
  1539. end
  1540. end
  1541. end
  1542. if PIECE ~= nil then
  1543. if PIECE.Name == "Head" then
  1544. WACKYEFFECT({Time = MRANDOM(10,30)*5, EffectType = "Box", Size = VT(PIECE.Size.Z,PIECE.Size.Y,PIECE.Size.Z), Size2 = (VT(PIECE.Size.Z,PIECE.Size.Y,PIECE.Size.Z))*MRANDOM(7,14)/10, Transparency = PIECE.Transparency, Transparency2 = 1, CFrame = PIECE.CFrame, MoveToPos = PIECE.Position+VT(0,MRANDOM(5,8)/1.5,0), RotationX = MRANDOM(-25,25)/35, RotationY = MRANDOM(-25,25)/35, RotationZ = MRANDOM(-25,25)/35, Material = "Neon", Color = C3(0.4,0,0), SoundID = 3264923, SoundPitch = MRANDOM(12,16)/10, SoundVolume = 2})
  1545. else
  1546. WACKYEFFECT({Time = MRANDOM(10,30)*5, EffectType = "Box", Size = PIECE.Size, Size2 = PIECE.Size*MRANDOM(7,14)/10, Transparency = PIECE.Transparency, Transparency2 = 1, CFrame = PIECE.CFrame, MoveToPos = PIECE.Position+VT(0,MRANDOM(5,8)/1.5,0), MRANDOM(-25,25)/35, RotationY = MRANDOM(-25,25)/35, RotationZ = MRANDOM(-25,25)/35, Material = "Neon", Color = C3(0.4,0,0), SoundID = 3264923, SoundPitch = MRANDOM(12,16)/10, SoundVolume = 2})
  1547. end
  1548. PIECE:remove()
  1549. end
  1550. until #PARTS == 0
  1551. end))
  1552. end
  1553. end
  1554.  
  1555.  
  1556. function ApplyDamage3(Humanoid,Damage,TorsoPart)
  1557. local defence = Instance.new("BoolValue",Humanoid.Parent)
  1558. defence.Name = ("HitBy"..Player.Name)
  1559. game:GetService("Debris"):AddItem(defence, 0.001)
  1560. Damage = Damage * DAMAGEMULTIPLIER
  1561. if Humanoid.Health ~= 0 then
  1562. local CritChance = MRANDOM(1,100)
  1563. if Damage > Humanoid.Health then
  1564. Damage = math.ceil(Humanoid.Health)
  1565. if Damage == 0 then
  1566. Damage = 0.1
  1567. end
  1568. end
  1569. Humanoid.Health = Humanoid.Health - Damage
  1570. end
  1571. end
  1572.  
  1573. function ApplyDamage3(Humanoid,Damage,TorsoPart)
  1574. local defence = Instance.new("BoolValue",Humanoid.Parent)
  1575. defence.Name = ("HitBy"..Player.Name)
  1576. game:GetService("Debris"):AddItem(defence, 0.001)
  1577. Damage = Damage * DAMAGEMULTIPLIER
  1578. if Humanoid.Health ~= 0 then
  1579. local CritChance = MRANDOM(1,100)
  1580. if Damage > Humanoid.Health then
  1581. Damage = math.ceil(Humanoid.Health)
  1582. if Damage == 0 then
  1583. Damage = 0.1
  1584. end
  1585. end
  1586. Humanoid.Health = Humanoid.Health - Damage
  1587. end
  1588. end
  1589.  
  1590. function ApplyAoE3(POSITION,RANGE,MINDMG,MAXDMG,FLING,INSTAKILL)
  1591. local CHILDREN = workspace:GetDescendants()
  1592. for index, CHILD in pairs(CHILDREN) do
  1593. if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then
  1594. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1595. if HUM then
  1596. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1597. if TORSO then
  1598. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  1599. if INSTAKILL == true then
  1600. CHILD:BreakJoints()
  1601. else
  1602. local DMG = MRANDOM(MINDMG,MAXDMG)
  1603. ApplyDamage(HUM,DMG,TORSO)
  1604. end
  1605. if FLING > 0 then
  1606. for _, c in pairs(CHILD:GetChildren()) do
  1607. if c:IsA("BasePart") then
  1608. local bv = Instance.new("BodyVelocity")
  1609. bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
  1610. bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
  1611. bv.Parent = c
  1612. Debris:AddItem(bv,0.05)
  1613. end
  1614. end
  1615. end
  1616. end
  1617. end
  1618. end
  1619. end
  1620. end
  1621. end
  1622.  
  1623. function CameraEnshaking(Length, Intensity)
  1624. coroutine.resume(coroutine.create(function()
  1625. local intensity = 1 * Intensity
  1626. local rotM = 0.01 * Intensity
  1627. for i = 0, Length, 0.1 do
  1628. Swait()
  1629. intensity = intensity - 0.05 * Intensity / Length
  1630. rotM = rotM - 5.0E-4 * Intensity / Length
  1631. Humanoid.CameraOffset = Vector3.new(RAD(MRANDOM(-intensity, intensity)), RAD(MRANDOM(-intensity, intensity)), RAD(MRANDOM(-intensity, intensity)))
  1632. Cam.CFrame = Cam.CFrame * CF(RAD(MRANDOM(-intensity, intensity)), RAD(MRANDOM(-intensity, intensity)), RAD(MRANDOM(-intensity, intensity))) * EULER(RAD(MRANDOM(-intensity, intensity)) * rotM, RAD(MRANDOM(-intensity, intensity)) * rotM, RAD(MRANDOM(-intensity, intensity)) * rotM)
  1633. end
  1634. Humanoid.CameraOffset = Vector3.new(0, 0, 0)
  1635. end))
  1636. end
  1637.  
  1638. function ApplyAoE4(POSITION,RANGE,BRUTAL)
  1639. local CHILDREN = workspace:GetDescendants()
  1640. for index, CHILD in pairs(CHILDREN) do
  1641. if CHILD.ClassName == "Model" and CHILD ~= Character then
  1642. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1643. if HUM then
  1644. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1645. if TORSO then
  1646. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  1647. if BRUTAL == true then
  1648. Kill(CHILD)
  1649. else
  1650. CHILD:BreakJoints()
  1651. end
  1652. end
  1653. end
  1654. end
  1655. end
  1656. end
  1657. end
  1658.  
  1659. function Kill(Char)
  1660. local NewCharacter = IT("Model",Effects)
  1661. NewCharacter.Name = "Ow im ded ;-;"
  1662. for _, c in pairs(Char:GetDescendants()) do
  1663. if c:IsA("BasePart") and c.Transparency == 0 then
  1664. c:BreakJoints()
  1665. c.Material = "Glass"
  1666. c.Color = C3(1,0,0)
  1667. c.CanCollide = true
  1668. c.Transparency = 0.3
  1669. if c:FindFirstChildOfClass("SpecialMesh") then
  1670. c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
  1671. end
  1672. if c.Name == "Head" then
  1673. c:ClearAllChildren()
  1674. c.Size = VT(c.Size.Y,c.Size.Y,c.Size.Y)
  1675. end
  1676. if c.ClassName == "MeshPart" then
  1677. c.TextureID = ""
  1678. end
  1679. if c:FindFirstChildOfClass("BodyPosition") then
  1680. c:FindFirstChildOfClass("BodyPosition"):remove()
  1681. end
  1682. if c:FindFirstChildOfClass("ParticleEmitter") then
  1683. c:FindFirstChildOfClass("ParticleEmitter"):remove()
  1684. end
  1685. c.Parent = NewCharacter
  1686. c.Name = "DeadPart"
  1687. c.Velocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))/15
  1688. c.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-15,85),MRANDOM(-45,45))
  1689. end
  1690. end
  1691. Char:remove()
  1692. Debris:AddItem(NewCharacter,5)
  1693. end
  1694.  
  1695. function ApplyAoE(POSITION,RANGE,BRUTAL)
  1696. local CHILDREN = workspace:GetDescendants()
  1697. for index, CHILD in pairs(CHILDREN) do
  1698. if CHILD.ClassName == "Model" and CHILD ~= Character then
  1699. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1700. if HUM then
  1701. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1702. if TORSO then
  1703. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  1704. if BRUTAL == true then
  1705. Kill(CHILD)
  1706. else
  1707. CHILD:BreakJoints()
  1708. end
  1709. end
  1710. end
  1711. end
  1712. end
  1713. end
  1714. end
  1715.  
  1716. function ApplyAoE(POSITION,RANGE,BRUTAL)
  1717. local CHILDREN = workspace:GetDescendants()
  1718. for index, CHILD in pairs(CHILDREN) do
  1719. if CHILD.ClassName == "Model" and CHILD ~= Character then
  1720. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1721. if HUM then
  1722. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1723. if TORSO then
  1724. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  1725. if BRUTAL == true then
  1726. Kill(CHILD)
  1727. else
  1728. CHILD:BreakJoints()
  1729. end
  1730. end
  1731. end
  1732. end
  1733. end
  1734. end
  1735. end
  1736.  
  1737. function Banish(Foe)
  1738. if Foe then
  1739. coroutine.resume(coroutine.create(function()
  1740. --if game.Players:FindFirstChild(Foe.Name) then
  1741. table.insert(TOBANISH,Foe.Name)
  1742. printbye(Foe.Name)
  1743. --end
  1744. Foe.Archivable = true
  1745. local CLONE = Foe:Clone()
  1746. Foe:Destroy()
  1747. CLONE.Parent = Effects
  1748. CLONE:BreakJoints()
  1749. local MATERIALS = {"Glass","Neon"}
  1750. for _, c in pairs(CLONE:GetDescendants()) do
  1751. if c:IsA("BasePart") then
  1752. if c.Name == "Torso" or c.Name == "UpperTorso" or c == CLONE.PrimaryPart then
  1753. CreateSound(138271815, c, 10, 1, false)
  1754. end
  1755. c.Anchored = true
  1756. c.Transparency = c.Transparency + 0.2
  1757. c.Material = MATERIALS[MRANDOM(1,2)]
  1758. c.Color = C3(1,0,0)
  1759. if c.ClassName == "MeshPart" then
  1760. c.TextureID = ""
  1761. end
  1762. if c:FindFirstChildOfClass("SpecialMesh") then
  1763. c:FindFirstChildOfClass("SpecialMesh").TextureId = ""
  1764. end
  1765. if c:FindFirstChildOfClass("Decal") then
  1766. c:FindFirstChildOfClass("Decal"):remove()
  1767. end
  1768. c.Name = "Banished"
  1769. c.CanCollide = false
  1770. else
  1771. c:remove()
  1772. end
  1773. end
  1774. local A = false
  1775. for i = 1, 35 do
  1776. if A == false then
  1777. A = true
  1778. elseif A == true then
  1779. A = false
  1780. end
  1781. for _, c in pairs(CLONE:GetDescendants()) do
  1782. if c:IsA("BasePart") then
  1783. c.Anchored = true
  1784. c.Material = MATERIALS[MRANDOM(1,2)]
  1785. c.Transparency = c.Transparency + 0.8/35
  1786. if A == false then
  1787. c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
  1788. elseif A == true then
  1789. c.CFrame = c.CFrame*CF(MRANDOM(-45,45)/45,MRANDOM(-45,45)/45,MRANDOM(-45,45)/45)
  1790. end
  1791. end
  1792. end
  1793. Swait()
  1794. end
  1795. CLONE:remove()
  1796. end))
  1797. end
  1798. end
  1799.  
  1800.  
  1801. function ApplyAoE(POSITION,RANGE,ISBANISH)
  1802. local CHILDREN = workspace:GetDescendants()
  1803. for index, CHILD in pairs(CHILDREN) do
  1804. if CHILD.ClassName == "Model" and CHILD ~= Character then
  1805. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1806. if HUM then
  1807. local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
  1808. if TORSO then
  1809. if (TORSO.Position - POSITION).Magnitude <= RANGE then
  1810. if ISBANISH == true then
  1811. Banish(CHILD)
  1812. else
  1813. if ISBANISH == "Gravity" then
  1814. HUM.PlatformStand = true
  1815. if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
  1816. local grav = Instance.new("BodyPosition",TORSO)
  1817. grav.D = 15
  1818. grav.P = 20000
  1819. grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  1820. grav.position = TORSO.Position
  1821. grav.Name = "V3BanishForce"..Player.Name
  1822. else
  1823. TORSO:FindFirstChild("V3BanishForce"..Player.Name).position = TORSO.Position+VT(0,0.3,0)
  1824. TORSO.RotVelocity = VT(MRANDOM(-25,25),MRANDOM(-25,25),MRANDOM(-25,25))
  1825. end
  1826. else
  1827. HUM.PlatformStand = false
  1828. end
  1829. end
  1830. elseif ISBANISH == "Gravity" then
  1831. if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then
  1832. TORSO:FindFirstChild("V3BanishForce"..Player.Name):remove()
  1833. HUM.PlatformStand = false
  1834. end
  1835. end
  1836. end
  1837. end
  1838. end
  1839. end
  1840. end
  1841.  
  1842. function SpawnSmite(POS)
  1843. local HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, Character)
  1844. local EMITPOS = HITPOS
  1845. if HITFLOOR ~= nil then
  1846. if HITFLOOR.Parent:FindFirstChildOfClass("Humanoid") then
  1847. HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent)
  1848. EMITPOS = HITPOS
  1849. elseif HITFLOOR.Parent.Parent:FindFirstChildOfClass("Humanoid") then
  1850. HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent.Parent)
  1851. EMITPOS = HITPOS
  1852. end
  1853. end
  1854. if HITFLOOR ~= nil then
  1855. ApplyAoE(EMITPOS,10)
  1856. WACKYEFFECT({EffectType = "Sphere", Size = VT(0,100000,0), Size2 = VT(10,100000,10), Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS) * ANGLES(RAD(MRANDOM(-15,15)), RAD(0), RAD(MRANDOM(-15,15))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 419011114, SoundPitch = 1, SoundVolume = 5})
  1857. WACKYEFFECT({EffectType = "Block", Size = VT(0,0,0), Size2 = VT(10,10,10)*2, Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
  1858. WACKYEFFECT({EffectType = "Block", Size = VT(0,0,0), Size2 = VT(10,10,10)*1.5, Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 5})
  1859. for i = 1, 5 do
  1860. local TOPOS = CF(EMITPOS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,12)
  1861. WACKYEFFECT({EffectType = "Slash", Size = VT(0,0,0), Size2 = VT(0.2,0,0.2), Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS,TOPOS.p) * ANGLES(RAD(90), RAD(0), RAD(0)), MoveToPos = TOPOS.p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = 419011114, SoundPitch = 1, SoundVolume = 5})
  1862. end
  1863. end
  1864. end
  1865.  
  1866. --//=================================\\
  1867. --|| ATTACK FUNCTIONS AND STUFF
  1868. --\\=================================//
  1869.  
  1870. function eh()
  1871. ATTACK = true
  1872. Rooted = false
  1873. Speed = 20
  1874. Swait()
  1875. local CHILDREN = workspace:GetDescendants()
  1876. for index, CHILD in pairs(CHILDREN) do
  1877. if CHILD.ClassName == "Model" and CHILD ~= Character then
  1878. local HUM = CHILD:FindFirstChildOfClass("Humanoid")
  1879. if HUM then
  1880. local TORSO = CHILD:FindFirstChild("Head")
  1881. if TORSO then
  1882. if (TORSO.Position - Head.Position).Magnitude <= 25 then
  1883. WACKYEFFECT({Time = 45, EffectType = "Sphere", Size = VT(1,1,1), Size2 = VT(5,5,5), Transparency = 0, Transparency2 = 1, CFrame = CF(TORSO.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1884. TORSO:remove()
  1885. if CHILD:FindFirstChild("Torso") then
  1886. Ragdoll(CHILD,Torso,true)
  1887. elseif CHILD:FindFirstChild("UpperTorso") then
  1888. R15Ragdoll(CHILD,true)
  1889. end
  1890. end
  1891. end
  1892. end
  1893. end
  1894. end
  1895. 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(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  1896. 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(1,0,0), SoundID = 136523485, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 1})
  1897. for i=0, 0.3, 0.1 / Animation_Speed do
  1898. Swait()
  1899. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 + MRANDOM(-5,5) - 4 * COS(SINE / 12)), RAD(MRANDOM(-5,5)), RAD(15)), 1 / Animation_Speed)
  1900. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.25 / Animation_Speed)
  1901. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.3) * ANGLES(RAD(180), RAD(0), RAD(0)) * ANGLES(RAD(0), RAD(45), RAD(0)) * RIGHTSHOULDERC0, 0.25 / Animation_Speed)
  1902. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.25 / Animation_Speed)
  1903. 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.25 / Animation_Speed)
  1904. 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.25 / Animation_Speed)
  1905. end
  1906. Speed = 20
  1907. ATTACK = false
  1908. Rooted = false
  1909. end
  1910.  
  1911. function Taunt()
  1912. ATTACK = true
  1913. Rooted = true
  1914. CreateSound("1238240145", Torso, 6, 0.9)
  1915. for i=0, 0.6, 0.1 / Animation_Speed do
  1916. Swait()
  1917. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1918. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + MRANDOM(-25,25) - 4 * COS(SINE / 12)), RAD(MRANDOM(-25,25)), RAD(0)), 1.5 / Animation_Speed)
  1919. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35, 0) * ANGLES(RAD(90), RAD(34), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1920. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(25), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1921. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1922. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1923. end
  1924. for i=0, 0.6, 0.1 / Animation_Speed do
  1925. Swait()
  1926. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1927. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + MRANDOM(-25,25) - 4 * COS(SINE / 12)), RAD(MRANDOM(-25,25)), RAD(0)), 1.5 / Animation_Speed)
  1928. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35, 0) * ANGLES(RAD(80), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1929. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(15), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1930. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1931. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1932. end
  1933. for i=0, 0.6, 0.1 / Animation_Speed do
  1934. Swait()
  1935. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1936. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + MRANDOM(-25,25) - 4 * COS(SINE / 12)), RAD(MRANDOM(-25,25)), RAD(0)), 1.5 / Animation_Speed)
  1937. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35, 0) * ANGLES(RAD(90), RAD(34), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1938. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(25), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1939. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1940. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1941. end
  1942. for i=0, 0.6, 0.1 / Animation_Speed do
  1943. Swait()
  1944. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1945. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + MRANDOM(-25,25) - 4 * COS(SINE / 12)), RAD(MRANDOM(-25,25)), RAD(0)), 1.5 / Animation_Speed)
  1946. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35, 0) * ANGLES(RAD(80), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1947. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(15), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1948. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1949. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1950. end
  1951. for i=0, 0.6, 0.1 / Animation_Speed do
  1952. Swait()
  1953. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1954. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + MRANDOM(-25,25) - 4 * COS(SINE / 12)), RAD(MRANDOM(-25,25)), RAD(0)), 1.5 / Animation_Speed)
  1955. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35, 0) * ANGLES(RAD(90), RAD(34), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1956. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(25), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1957. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1958. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1959. end
  1960. for i=0, 0.6, 0.1 / Animation_Speed do
  1961. Swait()
  1962. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1963. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + MRANDOM(-25,25) - 4 * COS(SINE / 12)), RAD(MRANDOM(-25,25)), RAD(0)), 1.5 / Animation_Speed)
  1964. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35, 0) * ANGLES(RAD(80), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  1965. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(15), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1966. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1967. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  1968. end
  1969. ATTACK = false
  1970. Rooted = false
  1971. end
  1972.  
  1973. function Shot()
  1974. ATTACK = true
  1975. Rooted = false
  1976. for i=0, 0.2, 0.05 / Animation_Speed do
  1977. Swait()
  1978. turnto(Mouse.Hit.p)
  1979. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  1980. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  1981. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1982. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1983. 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)
  1984. 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)
  1985. end
  1986. repeat
  1987. for i=0, 0.2, 0.05 / Animation_Speed do
  1988. Swait()
  1989. turnto(Mouse.Hit.p)
  1990. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  1991. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  1992. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  1993. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  1994. 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)
  1995. 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)
  1996. end
  1997. local HIT,POS = CastProperRay(Hole.Position, Mouse.Hit.p, 1000, Character)
  1998. SpawnTrail(Hole.Position,POS)
  1999. if HIT ~= nil then
  2000. if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
  2001. Banish(HIT.Parent)
  2002. end
  2003. end
  2004. 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(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2005. 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(1,0,0), SoundID = 136523485, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2006. 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(1,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2007. 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(1,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2008. Humanoid.CameraOffset = VT(MRANDOM(-5,5)/2.5,MRANDOM(-5,5)/2.5,MRANDOM(-5,5)/2.5)/30
  2009. for i=0, 0.2, 0.05 / Animation_Speed do
  2010. Swait()
  2011. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  2012. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.25 / Animation_Speed)
  2013. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(15), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  2014. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  2015. 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)
  2016. 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)
  2017. end
  2018. until KEYHOLD == false
  2019. ATTACK = false
  2020. Rooted = false
  2021. end
  2022.  
  2023. function Shot2()
  2024. ATTACK = true
  2025. Rooted = false
  2026. for i=0, 0.2, 0.05 / Animation_Speed do
  2027. Swait()
  2028. turnto(Mouse.Hit.p)
  2029. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  2030. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  2031. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  2032. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  2033. 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)
  2034. 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)
  2035. end
  2036. repeat
  2037. for i=0, 0.2, 0.05 / Animation_Speed do
  2038. Swait()
  2039. turnto(Mouse.Hit.p)
  2040. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  2041. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  2042. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  2043. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  2044. 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)
  2045. 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)
  2046. end
  2047. local HIT,POS = CastProperRay(Hole.Position, Mouse.Hit.p, 1000, Character)
  2048. SpawnTrail(Hole.Position,POS)
  2049. if HIT ~= nil then
  2050. if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then
  2051. Kill(HIT.Parent)
  2052. end
  2053. end
  2054. 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(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2055. 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(1,0,0), SoundID = 136523485, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2056. 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(1,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2057. 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(1,0,0), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2058. Humanoid.CameraOffset = VT(MRANDOM(-5,5)/2.5,MRANDOM(-5,5)/2.5,MRANDOM(-5,5)/2.5)/30
  2059. for i=0, 0.2, 0.05 / Animation_Speed do
  2060. Swait()
  2061. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  2062. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.25 / Animation_Speed)
  2063. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(15), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  2064. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  2065. 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)
  2066. 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)
  2067. end
  2068. until KEYHOLD == false
  2069. ATTACK = false
  2070. Rooted = false
  2071. end
  2072.  
  2073. function AttackTemplate()
  2074. ATTACK = true
  2075. Rooted = false
  2076. for i=0, 1, 0.1 / Animation_Speed do
  2077. Swait()
  2078. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
  2079. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.5 / Animation_Speed)
  2080. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
  2081. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
  2082. 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)
  2083. 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)
  2084. end
  2085. ATTACK = false
  2086. Rooted = false
  2087. end
  2088.  
  2089. function Finisher()
  2090. local TARGET = Mouse.Target
  2091. if TARGET ~= nil then
  2092. if TARGET.Parent:FindFirstChildOfClass("Humanoid") then
  2093. local HUM = TARGET.Parent:FindFirstChildOfClass("Humanoid")
  2094. local ROOT = TARGET.Parent:FindFirstChild("HumanoidRootPart") or TARGET.Parent:FindFirstChild("Torso") or TARGET.Parent:FindFirstChild("UpperTorso")
  2095. if ROOT and HUM.Health > 0 then
  2096. local FOE = Mouse.Target.Parent
  2097. ATTACK = true
  2098. Rooted = true
  2099. RootPart.CFrame = ROOT.CFrame*CF(-1.35,0,4)
  2100. ROOT.Anchored = true
  2101. CreateSound(670796769, Torso, 9999, 0.6, false)
  2102. CreateSound(362990415, Torso, 5, 1.08, false)
  2103. for i=0, 0.4, 0.1 / Animation_Speed do
  2104. Swait()
  2105. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2106. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2107. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(80), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2108. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2109. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2110. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2111. end
  2112. HUM.PlatformStand = true
  2113. ROOT.CFrame = ROOT.CFrame * CF(0,-2*ROOT.Size.Z,0) * ANGLES(RAD(-90), RAD(0), RAD(0))
  2114. coroutine.resume(coroutine.create(function()
  2115. Swait()
  2116. ROOT.Anchored = true
  2117. end))
  2118. RootPart.CFrame = RootPart.CFrame*CF(0,0,-0.6)
  2119. for i=0, 0.2, 0.1 / Animation_Speed do
  2120. Swait()
  2121. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
  2122. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
  2123. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -0.5) * ANGLES(RAD(90), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2124. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2125. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2126. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-50), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
  2127. end
  2128. 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(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2129. 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(1,0,0), SoundID = 136523485, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2130. for i=0, 0.2, 0.1 / Animation_Speed do
  2131. Swait()
  2132. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(15)), 1 / Animation_Speed)
  2133. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 1 / Animation_Speed)
  2134. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2135. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2136. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2137. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2138. end
  2139. 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(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2140. 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(1,0,0), SoundID = 136523485, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2141. local AMMO = 6
  2142. local FIRING = true
  2143. local SHOOTING = false
  2144. local TIMER = 70
  2145. CreateSound(147722227, GunPoint, 6, 1.3, false)
  2146. for i=0, 0.2, 0.1 / Animation_Speed do
  2147. Swait()
  2148. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
  2149. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
  2150. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(30), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2151. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2152. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2153. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-65), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
  2154. end
  2155. 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(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2156. 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(1,0,0), SoundID = 136523485, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2157. for i = 1, 6 do
  2158. local GUNPOS = Hole.CFrame*CF(0, 0, 0).p
  2159. local DISTANCE = (FOE.Head.Position - GUNPOS).Magnitude
  2160. 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(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2161. 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(1,0,0), SoundID = 136523485, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2162. HUM.Health = HUM.Health/1.5
  2163. for i=0, 0.2, 0.1 / Animation_Speed do
  2164. Swait()
  2165. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
  2166. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
  2167. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(70), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2168. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2169. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2170. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-65), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
  2171. end
  2172. 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(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2173. 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(1,0,0), SoundID = 136523485, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2174. for i=0, 0.2, 0.1 / Animation_Speed do
  2175. Swait()
  2176. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(45)), 1 / Animation_Speed)
  2177. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-45)), 1 / Animation_Speed)
  2178. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(30), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2179. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2180. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2181. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-65), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 1 / Animation_Speed)
  2182. end
  2183. end
  2184. 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(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2185. 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(1,0,0), SoundID = 136523485, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8})
  2186. ApplyDamage(HUM,0,true)
  2187. FOE:BreakJoints()
  2188. ROOT.Anchored = false
  2189. for i=0, 0.3, 0.1 / Animation_Speed do
  2190. Swait()
  2191. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2192. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25), RAD(0), RAD(15)), 1 / Animation_Speed)
  2193. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
  2194. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.525, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
  2195. RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2196. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
  2197. end
  2198. ATTACK = false
  2199. Rooted = false
  2200. end
  2201. end
  2202. end
  2203. end
  2204.  
  2205.  
  2206. --//=================================\\
  2207. --|| ASSIGN THINGS TO KEYS
  2208. --\\=================================//
  2209.  
  2210. function MouseDown(Mouse)
  2211. if ATTACK == false then
  2212. end
  2213. end
  2214.  
  2215. function MouseUp(Mouse)
  2216. HOLD = false
  2217. end
  2218.  
  2219. function KeyDown(Key)
  2220. KEYHOLD = true
  2221. if Key == "z" and ATTACK == false then
  2222. Shot()
  2223. end
  2224.  
  2225. if Key == "v" and ATTACK == false then
  2226. Shot2()
  2227. end
  2228.  
  2229. if Key == "x" and ATTACK == false then
  2230. Finisher()
  2231. end
  2232.  
  2233. if Key == "f" and ATTACK == false then
  2234. for i=0, 0.3, 0.1 / Animation_Speed do
  2235. Swait()
  2236. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 + MRANDOM(-5,5) - 4 * COS(SINE / 12)), RAD(MRANDOM(-5,5)), RAD(15)), 1 / Animation_Speed)
  2237. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.25 / Animation_Speed)
  2238. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.3) * ANGLES(RAD(180), RAD(0), RAD(0)) * ANGLES(RAD(0), RAD(45), RAD(0)) * RIGHTSHOULDERC0, 0.25 / Animation_Speed)
  2239. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.25 / Animation_Speed)
  2240. 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.25 / Animation_Speed)
  2241. 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.25 / Animation_Speed)
  2242. end
  2243. 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(1,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
  2244. 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(1,0,0), SoundID = 136523485, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 1})
  2245. TOBANISH = {}
  2246. end
  2247.  
  2248. if Key == "t" and ATTACK == false then
  2249. Taunt()
  2250. end
  2251.  
  2252. if Key == "c" and ATTACK == false then
  2253. eh()
  2254. end
  2255. end
  2256.  
  2257. function KeyUp(Key)
  2258. KEYHOLD = false
  2259. end
  2260.  
  2261. Mouse.Button1Down:connect(function(NEWKEY)
  2262. MouseDown(NEWKEY)
  2263. end)
  2264. Mouse.Button1Up:connect(function(NEWKEY)
  2265. MouseUp(NEWKEY)
  2266. end)
  2267. Mouse.KeyDown:connect(function(NEWKEY)
  2268. KeyDown(NEWKEY)
  2269. end)
  2270. Mouse.KeyUp:connect(function(NEWKEY)
  2271. KeyUp(NEWKEY)
  2272. end)
  2273.  
  2274. --//=================================\\
  2275. --\\=================================//
  2276.  
  2277.  
  2278. function unanchor()
  2279. if UNANCHOR == true then
  2280. g = Character:GetChildren()
  2281. for i = 1, #g do
  2282. if g[i].ClassName == "Part" then
  2283. g[i].Anchored = false
  2284. end
  2285. end
  2286. end
  2287. end
  2288.  
  2289.  
  2290. --//=================================\\
  2291. --|| WRAP THE WHOLE SCRIPT UP
  2292. --\\=================================//
  2293.  
  2294. Humanoid.Changed:connect(function(Jump)
  2295. if Jump == "Jump" and (Disable_Jump == true) then
  2296. Humanoid.Jump = false
  2297. end
  2298. end)
  2299.  
  2300. local FF = IT("ForceField",Character)
  2301. FF.Visible = false
  2302.  
  2303. INSTANT = false
  2304. Speed = 20
  2305.  
  2306. while true do
  2307. Swait()
  2308. SINE = SINE + CHANGE
  2309. ANIMATE.Parent = nil
  2310. local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
  2311. IDLEANIMATION:Play()
  2312. local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  2313. local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  2314. local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
  2315. local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
  2316. local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
  2317. if ATTACK == false and VALUE2 == false then
  2318. end
  2319. if ANIM == "Walk" and TORSOVELOCITY > 1 then
  2320. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / 2)) * Player_Size) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  2321. Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  2322. RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 0.875 * Player_Size - 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, -0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  2323. LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 0.875 * Player_Size + 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, 0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  2324. elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
  2325. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2326. Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2327. RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2328. LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2329. end
  2330. if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
  2331. ANIM = "Jump"
  2332. if ATTACK == false then
  2333. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2334. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 * Player_Size, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2335. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
  2336. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  2337. 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)
  2338. 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)
  2339. end
  2340. elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
  2341. ANIM = "Fall"
  2342. if ATTACK == false then
  2343. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2344. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2345. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
  2346. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  2347. 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)
  2348. 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)
  2349. end
  2350. elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  2351. ANIM = "Idle"
  2352. if ATTACK == false then
  2353. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 + MRANDOM(-5,5) - 4 * COS(SINE / 12)), RAD(MRANDOM(-5,5)), RAD(15)), 1 / Animation_Speed)
  2354. if MRANDOM(1,7) == 1 then
  2355. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + MRANDOM(-25,25) - 4 * COS(SINE / 12)), RAD(MRANDOM(-25,25)), RAD(0)), 1.5 / Animation_Speed)
  2356. end
  2357. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.25 / Animation_Speed)
  2358. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(180), RAD(0), RAD(0)) * ANGLES(RAD(0), RAD(45), RAD(0)) * RIGHTSHOULDERC0, 0.25 / Animation_Speed)
  2359. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.6, 0) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, 0.25 / Animation_Speed)
  2360. 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.25 / Animation_Speed)
  2361. 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.25 / Animation_Speed)
  2362. end
  2363. elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  2364. ANIM = "Walk"
  2365. if ATTACK == false then
  2366. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
  2367. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 + MRANDOM(-5,5) - 4 * COS(SINE / 12)), RAD(MRANDOM(-5,5)), RAD(15)), 1 / Animation_Speed)
  2368. if MRANDOM(1,7) == 1 then
  2369. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + MRANDOM(-25,25) - 4 * COS(SINE / 12)), RAD(MRANDOM(-25,25)), RAD(0)), 1.5 / Animation_Speed)
  2370. end
  2371. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35, 0) * ANGLES(RAD(0), RAD(180), RAD(180)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
  2372. 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)
  2373. RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1 - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed)
  2374. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.2+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed)
  2375. end
  2376. end
  2377. end
  2378. --end
  2379. Humanoid.DisplayDistanceType = "None"
  2380. SHAKECAM(999999, 25, 25)
  2381. Humanoid.CameraOffset = VT(MRANDOM(-5,5)/4.5,MRANDOM(-5,5)/4.5,MRANDOM(-5,5)/4.5)/60
  2382. unanchor()
  2383. Humanoid.MaxHealth = "inf"
  2384. Humanoid.Health = "inf"
  2385. if Rooted == false then
  2386. Disable_Jump = false
  2387. Humanoid.WalkSpeed = Speed
  2388. elseif Rooted == true then
  2389. Disable_Jump = true
  2390. Humanoid.WalkSpeed = 0
  2391. end
  2392. local MATHS = {"0","1"}
  2393. Humanoid.Name = MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]
  2394. Humanoid.PlatformStand = false
  2395. script.Parent = PlayerGui
  2396. Character.Parent = workspace
  2397. Humanoid.Parent = Character
  2398. --//=================================\\
  2399. --\\=================================//
  2400.  
  2401.  
  2402.  
  2403.  
  2404.  
  2405. --//====================================================\\--
  2406. --|| END OF SCRIPT
  2407. --\\====================================================//--
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement