Advertisement
Hermaxs

Untitled

Nov 8th, 2018
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 76.81 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,Mouse,mouse,UserInputService,ContextActionService = owner
  4. local RealPlayer = Player
  5. do print("FE Compatibility code by Mokiros")local a=RealPlayer;script.Parent=a.Character;local b=Instance.new("RemoteEvent")b.Name="UserInput_Event"local function c()local d={_fakeEvent=true,Functions={},Connect=function(self,e)table.insert(self.Functions,e)end}d.connect=d.Connect;return d end;local f={Target=nil,Hit=CFrame.new(),KeyUp=c(),KeyDown=c(),Button1Up=c(),Button1Down=c(),Button2Up=c(),Button2Down=c()}local g={InputBegan=c(),InputEnded=c()}local CAS={Actions={},BindAction=function(self,h,i,j,...)CAS.Actions[h]=i and{Name=h,Function=i,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function k(self,l,...)local d=f[l]if d and d._fakeEvent then for m,e in pairs(d.Functions)do e(...)end end end;f.TrigEvent=k;g.TrigEvent=k;b.OnServerEvent:Connect(function(n,o)if n~=a then return end;f.Target=o.Target;f.Hit=o.Hit;if not o.isMouse then local p=o.UserInputState==Enum.UserInputState.Begin;if o.UserInputType==Enum.UserInputType.MouseButton1 then return f:TrigEvent(p and"Button1Down"or"Button1Up")end;if o.UserInputType==Enum.UserInputType.MouseButton2 then return f:TrigEvent(p and"Button2Down"or"Button2Up")end;for m,d in pairs(CAS.Actions)do for m,q in pairs(d.Keys)do if q==o.KeyCode then d.Function(d.Name,o.UserInputState,o)end end end;f:TrigEvent(p and"KeyDown"or"KeyUp",o.KeyCode.Name:lower())g:TrigEvent(p and"InputBegan"or"InputEnded",o,false)end end)b.Parent=NLS([==[local a=game:GetService("Players").LocalPlayer;local b=script:WaitForChild("UserInput_Event")local c=a:GetMouse()local d=game:GetService("UserInputService")local e=function(f,g)if g then return end;b:FireServer({KeyCode=f.KeyCode,UserInputType=f.UserInputType,UserInputState=f.UserInputState,Hit=c.Hit,Target=c.Target})end;d.InputBegan:Connect(e)d.InputEnded:Connect(e)local h,i;while wait(1/30)do if h~=c.Hit or i~=c.Target then h,i=c.Hit,c.Target;b:FireServer({isMouse=true,Target=i,Hit=h})end end]==],Player.Character)local r=game;local s={__index=function(self,q)local t=rawget(self,"_RealService")if t then return typeof(t[q])=="function"and function(m,...)return t[q](t,...)end or t[q]end end,__newindex=function(self,q,u)local t=rawget(self,"_RealService")if t then t[q]=u end end}local function v(d,w)d._RealService=typeof(w)=="string"and r:GetService(w)or w;return setmetatable(d,s)end;local x={GetService=function(self,t)return rawget(self,t)or r:GetService(t)end,Players=v({LocalPlayer=v({GetMouse=function(self)return f end},Player)},"Players"),UserInputService=v(g,"UserInputService"),ContextActionService=v(CAS,"ContextActionService"),RunService=v({_btrs={},RenderStepped=r:GetService("RunService").Heartbeat,BindToRenderStep=function(self,h,m,i)self._btrs[h]=self.Heartbeat:Connect(i)end,UnbindFromRenderStep=function(self,h)self._btrs[h]:Disconnect()end},"RunService")}rawset(x.Players,"localPlayer",x.Players.LocalPlayer)x.service=x.GetService;v(x,game)game,owner=x,x.Players.LocalPlayer end
  6.  
  7.  
  8. --//====================================================\\--
  9. --|| CREATED BY SHACKLUSTER
  10. --\\====================================================//--
  11.  
  12.  
  13.  
  14. wait(0.2)
  15.  
  16.  
  17.  
  18. Player = game:GetService("Players").LocalPlayer
  19. PlayerGui = Player.PlayerGui
  20. Cam = workspace.CurrentCamera
  21. Backpack = Player.Backpack
  22. Character = Player.Character
  23. Humanoid = Character.Humanoid
  24. Mouse = Player:GetMouse()
  25. RootPart = Character["HumanoidRootPart"]
  26. Torso = Character["Torso"]
  27. Head = Character["Head"]
  28. RightArm = Character["Right Arm"]
  29. LeftArm = Character["Left Arm"]
  30. RightLeg = Character["Right Leg"]
  31. LeftLeg = Character["Left Leg"]
  32. RootJoint = RootPart["RootJoint"]
  33. Neck = Torso["Neck"]
  34. RightShoulder = Torso["Right Shoulder"]
  35. LeftShoulder = Torso["Left Shoulder"]
  36. RightHip = Torso["Right Hip"]
  37. LeftHip = Torso["Left Hip"]
  38.  
  39. IT = Instance.new
  40. CF = CFrame.new
  41. VT = Vector3.new
  42. RAD = math.rad
  43. C3 = Color3.new
  44. UD2 = UDim2.new
  45. BRICKC = BrickColor.new
  46. ANGLES = CFrame.Angles
  47. EULER = CFrame.fromEulerAnglesXYZ
  48. COS = math.cos
  49. ACOS = math.acos
  50. SIN = math.sin
  51. ASIN = math.asin
  52. ABS = math.abs
  53. MRANDOM = math.random
  54. FLOOR = math.floor
  55.  
  56. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  57. local NEWMESH = IT(MESH)
  58. if MESH == "SpecialMesh" then
  59. NEWMESH.MeshType = MESHTYPE
  60. if MESHID ~= "nil" and MESHID ~= "" then
  61. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  62. end
  63. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  64. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  65. end
  66. end
  67. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  68. NEWMESH.Scale = SCALE
  69. NEWMESH.Parent = PARENT
  70. return NEWMESH
  71. end
  72.  
  73. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE)
  74. local NEWPART = IT("Part")
  75. NEWPART.formFactor = FORMFACTOR
  76. NEWPART.Reflectance = REFLECTANCE
  77. NEWPART.Transparency = TRANSPARENCY
  78. NEWPART.CanCollide = false
  79. NEWPART.Locked = true
  80. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  81. NEWPART.Name = NAME
  82. NEWPART.Size = SIZE
  83. NEWPART.Position = Torso.Position
  84. NEWPART.Material = MATERIAL
  85. NEWPART:BreakJoints()
  86. NEWPART.Parent = PARENT
  87. return NEWPART
  88. end
  89.  
  90.  
  91. --//=================================\\
  92. --|| CUSTOMIZATION
  93. --\\=================================//
  94.  
  95. Class_Name = "Sharpshooter"
  96. Weapon_Name = "Add-ons"
  97.  
  98. Custom_Color_1 = BRICKC("Really black"); --1st color for the weapon.
  99. Custom_Color_2 = BRICKC("Maroon"); --2nd color for the weapon.
  100.  
  101. Custom_Color_3 = BRICKC("Really red"); --Color for the abilities.
  102. Custom_Color_4 = BRICKC("Institutional white"); --Color for the secondary bar.
  103. Custom_Color_5 = BRICKC("Institutional white"); --Color for the mana bar.
  104. Custom_Color_6 = BRICKC("Institutional white"); --Color for the health bar.
  105. Custom_Color_7 = BRICKC("Institutional white"); --Color for the stun bar.
  106.  
  107. Custom_Color_8 = BRICKC("Institutional white"); --Background for the mana bar.
  108. Custom_Color_9 = BRICKC("Institutional white"); --Background for the secondary mana bar.
  109. Custom_Color_10 = BRICKC("Institutional white"); --Background for the stun bar.
  110. Custom_Color_11 = BRICKC("Institutional white"); --Background for the health bar.
  111. Custom_Color_12 = BRICKC("Institutional white"); --Background for the abilities.
  112.  
  113.  
  114. Player_Size = 1 --Size of the player.
  115. Animation_Speed = 3
  116. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  117.  
  118. local Speed = 16
  119. local Effects2 = {}
  120.  
  121. --//=================================\\
  122. --|| END OF CUSTOMIZATION
  123. --\\=================================//
  124.  
  125. local function weldBetween(a, b)
  126. local weldd = Instance.new("ManualWeld")
  127. weldd.Part0 = a
  128. weldd.Part1 = b
  129. weldd.C0 = CFrame.new()
  130. weldd.C1 = b.CFrame:inverse() * a.CFrame
  131. weldd.Parent = a
  132. return weldd
  133. end
  134.  
  135. function createaccessory(attachmentpart,mesh,texture,scale,offset,color)
  136. local acs = Instance.new("Part")
  137. acs.CanCollide = false
  138. acs.Anchored = false
  139. acs.Size = Vector3.new(0,0,0)
  140. acs.CFrame = attachmentpart.CFrame
  141. acs.Parent = Character
  142. acs.BrickColor = color
  143. local meshs = Instance.new("SpecialMesh")
  144. meshs.MeshId = mesh
  145. meshs.TextureId = texture
  146. meshs.Parent = acs
  147. meshs.Scale = scale
  148. meshs.Offset = offset
  149. weldBetween(attachmentpart,acs)
  150. end
  151.  
  152. function createbodypart(TYPE,COLOR,PART,OFFSET,SIZE)
  153. if TYPE == "Gem" then
  154. local acs = CreatePart(3, Character, "Plastic", 0, 0, COLOR, "Part", VT(0,0,0))
  155. acs.Anchored = false
  156. acs.CanCollide = false
  157. acs.CFrame = PART.CFrame
  158. local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "9756362", "", SIZE, OFFSET)
  159. weldBetween(PART,acs)
  160. elseif TYPE == "Skull" then
  161. local acs = CreatePart(3, Character, "Plastic", 0, 0, COLOR, "Part", VT(0,0,0))
  162. acs.Anchored = false
  163. acs.CanCollide = false
  164. acs.CFrame = PART.CFrame
  165. local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "4770583", "", SIZE, OFFSET)
  166. weldBetween(PART,acs)
  167. elseif TYPE == "Eye" then
  168. local acs = CreatePart(3, Character, "Neon", 0, 0, COLOR, "Part", VT(0,0,0))
  169. acs.Anchored = false
  170. acs.CanCollide = false
  171. acs.CFrame = PART.CFrame
  172. local acs2 = CreateMesh("SpecialMesh", acs, "Sphere", "", "", SIZE, OFFSET)
  173. weldBetween(PART,acs)
  174. end
  175. end
  176.  
  177. createaccessory(Head,"rbxassetid://151313536","rbxassetid://188595215",VT(2.5,2.5,2.5),VT(0, 0.7, 0.2),BRICKC"Really black")
  178.  
  179. --//=================================\\
  180. --|| USEFUL VALUES
  181. --\\=================================//
  182.  
  183. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  184. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  185. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  186. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  187. local CO1 = 0
  188. local CO2 = 0
  189. local CO3 = 0
  190. local CO4 = 0
  191. local CHANGEDEFENSE = 0
  192. local CHANGEDAMAGE = 0
  193. local CHANGEMOVEMENT = 0
  194. local ANIM = "Idle"
  195. local ATTACK = false
  196. local EQUIPPED = false
  197. local HOLD = false
  198. local COMBO = 1
  199. local LASTPOINT = nil
  200. local BLCF = nil
  201. local SCFR = nil
  202. local STAGGERHITANIM = false
  203. local STAGGERANIM = false
  204. local SPRINTING = false
  205. local STUNANIM = false
  206. local CRITCHANCENUMBER = 0
  207. local IDLENUMBER = 0
  208. local DONUMBER = 0
  209. local HANDIDLE = false
  210. local SINE = 0
  211. local CHANGE = 2 / Animation_Speed
  212. local WALKINGANIM = false
  213. local WALK = 0
  214. local DISABLEJUMPING = false
  215. local HASBEENBLOCKED = false
  216. local STUNDELAYNUMBER = 0
  217. local MANADELAYNUMBER = 0
  218. local SECONDARYMANADELAYNUMBER = 0
  219. local KEYHOLD = false
  220. local ROBLOXIDLEANIMATION = IT("Animation")
  221. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  222. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  223. --ROBLOXIDLEANIMATION.Parent = Humanoid
  224. local WEAPONGUI = IT("ScreenGui", nil)
  225. WEAPONGUI.Name = "Weapon GUI"
  226. local WEAPONTOOL = IT("HopperBin", nil)
  227. WEAPONTOOL.Name = Weapon_Name
  228. local Weapon = IT("Model")
  229. Weapon.Name = Weapon_Name
  230. local Effects = IT("Folder", Weapon)
  231. Effects.Name = "Effects"
  232. local ANIMATOR = Humanoid.Animator
  233. local ANIMATE = Character.Animate
  234. local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
  235. local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
  236. local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
  237. local HITBLOCKSOUNDS = {"199148933", "199148947"}
  238. local UNANCHOR = true
  239.  
  240. --//=================================\\
  241. --\\=================================//
  242.  
  243.  
  244.  
  245.  
  246. --//=================================\\
  247. --|| DEBUFFS / BUFFS
  248. --\\=================================//
  249.  
  250. local DEFENSECHANGE1 = IT("NumberValue", ChangeStat)
  251. DEFENSECHANGE1.Name = "ChangeDefense"
  252. DEFENSECHANGE1.Value = 0
  253.  
  254. local MOVEMENTCHANGE1 = IT("NumberValue", nil)
  255. MOVEMENTCHANGE1.Name = "ChangeMovement"
  256. MOVEMENTCHANGE1.Value = 0
  257.  
  258. --//=================================\\
  259. --\\=================================//
  260.  
  261.  
  262.  
  263.  
  264.  
  265. --//=================================\\
  266. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  267. --\\=================================//
  268.  
  269. ArtificialHB = Instance.new("BindableEvent", script)
  270. ArtificialHB.Name = "ArtificialHB"
  271.  
  272. script:WaitForChild("ArtificialHB")
  273.  
  274. frame = Frame_Speed
  275. tf = 0
  276. allowframeloss = false
  277. tossremainder = false
  278. lastframe = tick()
  279. script.ArtificialHB:Fire()
  280.  
  281. game:GetService("RunService").Heartbeat:connect(function(s, p)
  282. tf = tf + s
  283. if tf >= frame then
  284. if allowframeloss then
  285. script.ArtificialHB:Fire()
  286. lastframe = tick()
  287. else
  288. for i = 1, math.floor(tf / frame) do
  289. script.ArtificialHB:Fire()
  290. end
  291. lastframe = tick()
  292. end
  293. if tossremainder then
  294. tf = 0
  295. else
  296. tf = tf - frame * math.floor(tf / frame)
  297. end
  298. end
  299. end)
  300.  
  301. --//=================================\\
  302. --\\=================================//
  303.  
  304.  
  305.  
  306.  
  307.  
  308. --//=================================\\
  309. --|| SOME FUNCTIONS
  310. --\\=================================//
  311.  
  312. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  313. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  314. end
  315.  
  316. function PositiveAngle(NUMBER)
  317. if NUMBER >= 0 then
  318. NUMBER = 0
  319. end
  320. return NUMBER
  321. end
  322.  
  323. function NegativeAngle(NUMBER)
  324. if NUMBER <= 0 then
  325. NUMBER = 0
  326. end
  327. return NUMBER
  328. end
  329.  
  330. function Swait(NUMBER)
  331. if NUMBER == 0 or NUMBER == nil then
  332. ArtificialHB.Event:wait()
  333. else
  334. for i = 1, NUMBER do
  335. ArtificialHB.Event:wait()
  336. end
  337. end
  338. end
  339.  
  340. function QuaternionFromCFrame(cf)
  341. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  342. local trace = m00 + m11 + m22
  343. if trace > 0 then
  344. local s = math.sqrt(1 + trace)
  345. local recip = 0.5 / s
  346. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  347. else
  348. local i = 0
  349. if m11 > m00 then
  350. i = 1
  351. end
  352. if m22 > (i == 0 and m00 or m11) then
  353. i = 2
  354. end
  355. if i == 0 then
  356. local s = math.sqrt(m00 - m11 - m22 + 1)
  357. local recip = 0.5 / s
  358. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  359. elseif i == 1 then
  360. local s = math.sqrt(m11 - m22 - m00 + 1)
  361. local recip = 0.5 / s
  362. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  363. elseif i == 2 then
  364. local s = math.sqrt(m22 - m00 - m11 + 1)
  365. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  366. end
  367. end
  368. end
  369.  
  370. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  371. local xs, ys, zs = x + x, y + y, z + z
  372. local wx, wy, wz = w * xs, w * ys, w * zs
  373. local xx = x * xs
  374. local xy = x * ys
  375. local xz = x * zs
  376. local yy = y * ys
  377. local yz = y * zs
  378. local zz = z * zs
  379. 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))
  380. end
  381.  
  382. function QuaternionSlerp(a, b, t)
  383. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  384. local startInterp, finishInterp;
  385. if cosTheta >= 0.0001 then
  386. if (1 - cosTheta) > 0.0001 then
  387. local theta = ACOS(cosTheta)
  388. local invSinTheta = 1 / SIN(theta)
  389. startInterp = SIN((1 - t) * theta) * invSinTheta
  390. finishInterp = SIN(t * theta) * invSinTheta
  391. else
  392. startInterp = 1 - t
  393. finishInterp = t
  394. end
  395. else
  396. if (1 + cosTheta) > 0.0001 then
  397. local theta = ACOS(-cosTheta)
  398. local invSinTheta = 1 / SIN(theta)
  399. startInterp = SIN((t - 1) * theta) * invSinTheta
  400. finishInterp = SIN(t * theta) * invSinTheta
  401. else
  402. startInterp = t - 1
  403. finishInterp = t
  404. end
  405. end
  406. 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
  407. end
  408.  
  409. function Clerp(a, b, t)
  410. local qa = {QuaternionFromCFrame(a)}
  411. local qb = {QuaternionFromCFrame(b)}
  412. local ax, ay, az = a.x, a.y, a.z
  413. local bx, by, bz = b.x, b.y, b.z
  414. local _t = 1 - t
  415. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  416. end
  417.  
  418. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  419. local frame = IT("Frame")
  420. frame.BackgroundTransparency = TRANSPARENCY
  421. frame.BorderSizePixel = BORDERSIZEPIXEL
  422. frame.Position = POSITION
  423. frame.Size = SIZE
  424. frame.BackgroundColor3 = COLOR
  425. frame.BorderColor3 = BORDERCOLOR
  426. frame.Name = NAME
  427. frame.Parent = PARENT
  428. return frame
  429. end
  430.  
  431. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  432. local label = IT("TextLabel")
  433. label.BackgroundTransparency = 1
  434. label.Size = UD2(1, 0, 1, 0)
  435. label.Position = UD2(0, 0, 0, 0)
  436. label.TextColor3 = C3(255, 255, 255)
  437. label.TextStrokeTransparency = STROKETRANSPARENCY
  438. label.TextTransparency = TRANSPARENCY
  439. label.FontSize = TEXTFONTSIZE
  440. label.Font = TEXTFONT
  441. label.BorderSizePixel = BORDERSIZEPIXEL
  442. label.TextScaled = true
  443. label.Text = TEXT
  444. label.Name = NAME
  445. label.Parent = PARENT
  446. return label
  447. end
  448.  
  449. function NoOutlines(PART)
  450. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  451. end
  452.  
  453.  
  454. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  455. local NEWWELD = IT(TYPE)
  456. NEWWELD.Part0 = PART0
  457. NEWWELD.Part1 = PART1
  458. NEWWELD.C0 = C0
  459. NEWWELD.C1 = C1
  460. NEWWELD.Parent = PARENT
  461. return NEWWELD
  462. end
  463.  
  464. function CreateSound(ID, PARENT, VOLUME, PITCH)
  465. coroutine.resume(coroutine.create(function()
  466. local NEWSOUND = IT("Sound", PARENT)
  467. NEWSOUND.Volume = VOLUME
  468. NEWSOUND.Pitch = PITCH
  469. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  470. Swait()
  471. NEWSOUND:play()
  472. game:GetService("Debris"):AddItem(NEWSOUND, 10)
  473. end))
  474. end
  475.  
  476. function CFrameFromTopBack(at, top, back)
  477. local right = top:Cross(back)
  478. 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)
  479. end
  480.  
  481. function Lightning(POSITION1, POSITION2, MULTIPLIERTIME, LIGHTNINGDELAY, OFFSET, BRICKCOLOR, MATERIAL, SIZE, TRANSPARENCY, LASTINGTIME)
  482. local MAGNITUDE = (POSITION1 - POSITION2).magnitude
  483. local CURRENTPOSITION = POSITION1
  484. local LIGHTNINGOFFSET = {-OFFSET, OFFSET}
  485. coroutine.resume(coroutine.create(function()
  486. for i = 1, MULTIPLIERTIME do
  487. local LIGHTNINGPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR,"Effect", VT(SIZE * Player_Size, SIZE * Player_Size, MAGNITUDE / MULTIPLIERTIME))
  488. LIGHTNINGPART.Anchored = true
  489. local LIGHTNINGOFFSET2 = VT(LIGHTNINGOFFSET[MRANDOM(1, 2)], LIGHTNINGOFFSET[MRANDOM(1, 2)], LIGHTNINGOFFSET[MRANDOM(1, 2)])
  490. local LIGHTNINGPOSITION1 = CF(CURRENTPOSITION, POSITION2) * CF(0, 0, MAGNITUDE / MULTIPLIERTIME).p + LIGHTNINGOFFSET2
  491. if MULTIPLIERTIME == i then
  492. local LIGHTNINGMAGNITUDE1 = (CURRENTPOSITION - POSITION2).magnitude
  493. LIGHTNINGPART.Size = VT(SIZE * Player_Size, SIZE * Player_Size, LIGHTNINGMAGNITUDE1)
  494. LIGHTNINGPART.CFrame = CF(CURRENTPOSITION, POSITION2) * CF(0, 0, -LIGHTNINGMAGNITUDE1 / 2)
  495. else
  496. LIGHTNINGPART.CFrame = CF(CURRENTPOSITION, LIGHTNINGPOSITION1) * CF(0, 0, MAGNITUDE / MULTIPLIERTIME / 2)
  497. end
  498. CURRENTPOSITION=LIGHTNINGPART.CFrame * CF(0, 0, MAGNITUDE / MULTIPLIERTIME / 2).p
  499. game.Debris:AddItem(LIGHTNINGPART, LASTINGTIME)
  500. coroutine.resume(coroutine.create(function()
  501. while LIGHTNINGPART.Transparency ~= 1 do
  502. --local StartTransparency = tra
  503. for i=0, 1, LASTINGTIME do
  504. Swait()
  505. LIGHTNINGPART.Transparency = LIGHTNINGPART.Transparency + (0.1 / LASTINGTIME)
  506. end
  507. end
  508. end))
  509. Swait(LIGHTNINGDELAY / Animation_Speed)
  510. end
  511. end))
  512. end
  513.  
  514. function MagicBlock(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
  515. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  516. EFFECTPART.Anchored = true
  517. EFFECTPART.CFrame = CFRAME
  518. local EFFECTMESH = CreateMesh("BlockMesh", EFFECTPART, "", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
  519. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  520. coroutine.resume(coroutine.create(function(PART, MESH)
  521. for i = 0, 1, delay do
  522. Swait()
  523. PART.CFrame = PART.CFrame * ROTATION
  524. PART.Transparency = i
  525. MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
  526. end
  527. PART.Parent = nil
  528. end), EFFECTPART, EFFECTMESH)
  529. end
  530.  
  531. function MagicSphere(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
  532. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  533. EFFECTPART.Anchored = true
  534. EFFECTPART.CFrame = CFRAME
  535. local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "Sphere", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
  536. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  537. coroutine.resume(coroutine.create(function(PART, MESH)
  538. for i = 0, 1, delay do
  539. Swait()
  540. PART.CFrame = PART.CFrame * ROTATION
  541. PART.Transparency = i
  542. MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
  543. end
  544. PART.Parent = nil
  545. end), EFFECTPART, EFFECTMESH)
  546. end
  547.  
  548. function MagicCylinder(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
  549. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  550. EFFECTPART.Anchored = true
  551. EFFECTPART.CFrame = CFRAME
  552. local EFFECTMESH = CreateMesh("CylinderMesh", EFFECTPART, "", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
  553. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  554. coroutine.resume(coroutine.create(function(PART, MESH)
  555. for i = 0, 1, delay do
  556. Swait()
  557. PART.CFrame = PART.CFrame * ROTATION
  558. PART.Transparency = i
  559. MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
  560. end
  561. PART.Parent = nil
  562. end), EFFECTPART, EFFECTMESH)
  563. end
  564.  
  565. function MagicHead(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
  566. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  567. EFFECTPART.Anchored = true
  568. EFFECTPART.CFrame = CFRAME
  569. local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "Head", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
  570. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  571. coroutine.resume(coroutine.create(function(PART, MESH)
  572. for i = 0, 1, delay do
  573. Swait()
  574. PART.CFrame = PART.CFrame * ROTATION
  575. PART.Transparency = i
  576. MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
  577. end
  578. PART.Parent = nil
  579. end), EFFECTPART, EFFECTMESH)
  580. end
  581.  
  582. function MagicRing(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
  583. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  584. EFFECTPART.Anchored = true
  585. EFFECTPART.CFrame = CFRAME
  586. local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "3270017", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
  587. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  588. coroutine.resume(coroutine.create(function(PART, MESH)
  589. for i = 0, 1, delay do
  590. Swait()
  591. PART.CFrame = PART.CFrame * ROTATION
  592. PART.Transparency = i
  593. MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
  594. end
  595. PART.Parent = nil
  596. end), EFFECTPART, EFFECTMESH)
  597. end
  598.  
  599. function MagicWave(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
  600. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  601. EFFECTPART.Anchored = true
  602. EFFECTPART.CFrame = CFRAME
  603. local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "20329976", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), VT(0, 0, (-0.1 * Z1)) + (OFFSET * Player_Size))
  604. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  605. coroutine.resume(coroutine.create(function(PART, MESH)
  606. for i = 0, 1, delay do
  607. Swait()
  608. PART.CFrame = PART.CFrame * ROTATION
  609. PART.Transparency = i
  610. MESH.Offset = VT(0, 0, (-0.1 * MESH.Scale.Z))
  611. MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
  612. end
  613. PART.Parent = nil
  614. end), EFFECTPART, EFFECTMESH)
  615. end
  616.  
  617. function MagicCrystal(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
  618. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  619. EFFECTPART.Anchored = true
  620. EFFECTPART.CFrame = CFRAME
  621. local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "9756362", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
  622. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  623. coroutine.resume(coroutine.create(function(PART, MESH)
  624. for i = 0, 1, delay do
  625. Swait()
  626. PART.CFrame = PART.CFrame * ROTATION
  627. PART.Transparency = i
  628. MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
  629. end
  630. PART.Parent = nil
  631. end), EFFECTPART, EFFECTMESH)
  632. end
  633.  
  634. function MagicSwirl(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
  635. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  636. EFFECTPART.Anchored = true
  637. EFFECTPART.CFrame = CFRAME
  638. local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1051557", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
  639. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  640. coroutine.resume(coroutine.create(function(PART, MESH)
  641. for i = 0, 1, delay do
  642. Swait()
  643. PART.CFrame = PART.CFrame * ROTATION
  644. PART.Transparency = i
  645. MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
  646. end
  647. PART.Parent = nil
  648. end), EFFECTPART, EFFECTMESH)
  649. end
  650.  
  651. function MagicSharpCone(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
  652. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  653. EFFECTPART.Anchored = true
  654. EFFECTPART.CFrame = CFRAME
  655. local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1778999", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
  656. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  657. coroutine.resume(coroutine.create(function(PART, MESH)
  658. for i = 0, 1, delay do
  659. Swait()
  660. PART.CFrame = PART.CFrame * ROTATION
  661. PART.Transparency = i
  662. MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
  663. end
  664. PART.Parent = nil
  665. end), EFFECTPART, EFFECTMESH)
  666. end
  667.  
  668. function MagicFlatCone(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
  669. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  670. EFFECTPART.Anchored = true
  671. EFFECTPART.CFrame = CFRAME
  672. local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1033714", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
  673. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  674. coroutine.resume(coroutine.create(function(PART, MESH)
  675. for i = 0, 1, delay do
  676. Swait()
  677. PART.CFrame = PART.CFrame * ROTATION
  678. PART.Transparency = i
  679. MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
  680. end
  681. PART.Parent = nil
  682. end), EFFECTPART, EFFECTMESH)
  683. end
  684.  
  685. function MagicSpikedCrown(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
  686. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  687. EFFECTPART.Anchored = true
  688. EFFECTPART.CFrame = CFRAME
  689. local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1323306", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
  690. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  691. coroutine.resume(coroutine.create(function(PART, MESH)
  692. for i = 0, 1, delay do
  693. Swait()
  694. PART.CFrame = PART.CFrame * ROTATION
  695. PART.Transparency = i
  696. MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
  697. end
  698. PART.Parent = nil
  699. end), EFFECTPART, EFFECTMESH)
  700. end
  701.  
  702. function MagicFlatCrown(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
  703. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  704. EFFECTPART.Anchored = true
  705. EFFECTPART.CFrame = CFRAME
  706. local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1078075", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
  707. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  708. coroutine.resume(coroutine.create(function(PART, MESH)
  709. for i = 0, 1, delay do
  710. Swait()
  711. PART.CFrame = PART.CFrame * ROTATION
  712. PART.Transparency = i
  713. MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
  714. end
  715. PART.Parent = nil
  716. end), EFFECTPART, EFFECTMESH)
  717. end
  718.  
  719. function MagicSkull(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
  720. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  721. EFFECTPART.Anchored = true
  722. EFFECTPART.CFrame = CFRAME
  723. local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "4770583", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
  724. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  725. coroutine.resume(coroutine.create(function(PART, MESH)
  726. for i = 0, 1, delay do
  727. Swait()
  728. PART.CFrame = PART.CFrame * ROTATION
  729. PART.Transparency = i
  730. MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
  731. end
  732. PART.Parent = nil
  733. end), EFFECTPART, EFFECTMESH)
  734. end
  735.  
  736. function ElectricEffect(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X, Y, Z, delay)
  737. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  738. EFFECTPART.Anchored = true
  739. EFFECTPART.CFrame = CFRAME
  740. local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "4770583", "", VT(X * Player_Size, Y * Player_Size, Z * Player_Size), OFFSET * Player_Size)
  741. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  742. local XVALUE = MRANDOM()
  743. local YVALUE = MRANDOM()
  744. local ZVALUE = MRANDOM()
  745. coroutine.resume(coroutine.create(function(PART, MESH, THEXVALUE, THEYVALUE, THEZVALUE)
  746. for i = 0, 1, delay do
  747. Swait()
  748. PART.CFrame = PART.CFrame * ROTATION
  749. PART.Transparency = i
  750. THEXVALUE = THEXVALUE - 0.1 * (delay * 10)
  751. THEYVALUE = THEYVALUE - 0.1 * (delay * 10)
  752. THEZVALUE = THEZVALUE - 0.1 * (delay * 10)
  753. MESH.Scale = MESH.Scale + VT(THEXVALUE * Player_Size, THEYVALUE * Player_Size, THEZVALUE * Player_Size)
  754. end
  755. PART.Parent = nil
  756. end), EFFECTPART, EFFECTMESH, XVALUE, YVALUE, ZVALUE)
  757. end
  758.  
  759. function TrailEffect(BRICKCOLOR, MATERIAL, CURRENTCFRAME, OLDCFRAME, MESHTYPE, REFLECTANCE, SIZE, ROTATION, X, Y, Z, delay)
  760. local MAGNITUDECFRAME = (CURRENTCFRAME.p - OLDCFRAME.p).magnitude
  761. if MAGNITUDECFRAME > (1 / 100) then
  762. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT(1, MAGNITUDECFRAME, 1))
  763. EFFECTPART.Anchored = true
  764. EFFECTPART.CFrame = CF((CURRENTCFRAME.p + OLDCFRAME.p) / 2, OLDCFRAME.p) * ANGLES(RAD(90), 0, 0)
  765. local THEMESHTYPE = "BlockMesh"
  766. if MESHTYPE == "Cylinder" then
  767. THEMESHTYPE = "CylinderMesh"
  768. end
  769. local EFFECTMESH = CreateMesh(THEMESHTYPE, EFFECTPART, "", "", "", VT(0 + SIZE * Player_Size, 1, 0 + SIZE * Player_Size), VT(0, 0, 0))
  770. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  771. coroutine.resume(coroutine.create(function(PART, MESH)
  772. for i = 0, 1, delay do
  773. Swait()
  774. PART.CFrame = PART.CFrame * ROTATION
  775. PART.Transparency = i
  776. MESH.Scale = MESH.Scale + VT(X * Player_Size, Y * Player_Size, Z * Player_Size)
  777. end
  778. PART.Parent = nil
  779. end), EFFECTPART, EFFECTMESH)
  780. end
  781. end
  782.  
  783. function ClangEffect(BRICKCOLOR, MATERIAL, CFRAME, ANGLE, DURATION, SIZE, POWER, REFLECTANCE, X, Y, Z, delay)
  784. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 1, BRICKCOLOR, "Effect", VT())
  785. EFFECTPART.Anchored = true
  786. EFFECTPART.CFrame = CFRAME
  787. local EFFECTMESH = CreateMesh("BlockMesh", EFFECTPART, "", "", "", VT(0, 0, 0), VT(0, 0, 0))
  788. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  789. local THELASTPOINT = CFRAME
  790. coroutine.resume(coroutine.create(function(PART)
  791. for i = 1, DURATION do
  792. Swait()
  793. PART.CFrame = PART.CFrame * ANGLES(RAD(ANGLE), 0, 0) * CF(0, POWER * Player_Size, 0)
  794. TrailEffect(BRICKCOLOR, MATERIAL, PART.CFrame, THELASTPOINT, "Cylinder", REFLECTANCE, SIZE * Player_Size, ANGLES(0, 0, 0), X * Player_Size, Y * Player_Size, Z * Player_Size, delay)
  795. THELASTPOINT = PART.CFrame
  796. end
  797. PART.Parent = nil
  798. end), EFFECTPART)
  799. end
  800.  
  801. --local list={}
  802. function Triangle(Color, Material, a, b, c, delay)
  803. local edge1 = (c - a):Dot((b - a).unit)
  804. local edge2 = (a - b):Dot((c - b).unit)
  805. local edge3 = (b - c):Dot((a - c).unit)
  806. if edge1 <= (b - a).magnitude and edge1 >= 0 then
  807. a, b, c=a, b, c
  808. elseif edge2 <= (c - b).magnitude and edge2 >= 0 then
  809. a, b, c=b, c, a
  810. elseif edge3 <= (a - c).magnitude and edge3 >= 0 then
  811. a, b, c=c, a, b
  812. else
  813. assert(false, "unreachable")
  814. end
  815. local len1 = (c - a):Dot((b - a).unit)
  816. local len2 = (b - a).magnitude - len1
  817. local width = (a + (b - a).unit * len1 - c).magnitude
  818. local maincf = CFrameFromTopBack(a, (b - a):Cross(c - b).unit, - (b - a).unit)
  819. if len1 > 1 / 100 then
  820. local sz = VT(0.2, width, len1)
  821. local w1 = CreatePart(3, Effects, Material, 0, 0.5, Color, "Trail", sz)
  822. local sp = CreateMesh("SpecialMesh", w1, "Wedge", "", "", VT(0, 1, 1) * sz / w1.Size, VT(0, 0, 0))
  823. w1.Anchored = true
  824. w1.CFrame = maincf * ANGLES(math.pi, 0, math.pi / 2) * CF(0, width / 2, len1 / 2)
  825. coroutine.resume(coroutine.create(function()
  826. for i = 0.5, 1, delay * (2 / Animation_Speed) do
  827. Swait()
  828. w1.Transparency = i
  829. end
  830. w1.Parent = nil
  831. end))
  832. game:GetService("Debris"):AddItem(w1, 10)
  833. --table.insert(list, w1)
  834. end
  835. if len2 > 1 / 100 then
  836. local sz = VT(0.2, width, len2)
  837. local w2 = CreatePart(3, Effects, Material, 0, 0.5, Color, "Trail", sz)
  838. local sp = CreateMesh("SpecialMesh", w2, "Wedge", "", "", VT(0, 1, 1) * sz / w2.Size, VT(0, 0, 0))
  839. w2.Anchored = true
  840. w2.CFrame = maincf * ANGLES(math.pi, math.pi, -math.pi / 2) * CF(0, width / 2, -len1 - len2 / 2)
  841. coroutine.resume(coroutine.create(function()
  842. for i = 0.5, 1, delay * (2 / Animation_Speed) do
  843. Swait()
  844. w2.Transparency = i
  845. end
  846. w2.Parent = nil
  847. end))
  848. game:GetService("Debris"):AddItem(w2, 10)
  849. --table.insert(list, w2)
  850. end
  851. --return unpack(list)
  852. end
  853.  
  854. --[[Usage:
  855. local Pos = Part
  856. local Offset = Part.CFrame * CF(0, 0, 0)
  857. local Color = "Institutional white"
  858. local Material = "Neon"
  859. local TheDelay = 0.01
  860. local Height = 4
  861. BLCF = Offset
  862. if SCFR and (Pos.Position - SCFR.p).magnitude > 0.1 then
  863. local a, b = Triangle(Color, Material, (SCFR * CF(0, Height / 2,0)).p, (SCFR * CF(0, -Height / 2, 0)).p, (BLCF * CF(0, Height / 2,0)).p, TheDelay)
  864. if a then game:GetService("Debris"):AddItem(a, 1) end
  865. if b then game:GetService("Debris"):AddItem(b, 1) end
  866. local a, b = Triangle(Color, Material, (BLCF * CF(0, Height / 2, 0)).p, (BLCF * CF(0, -Height / 2, 0)).p, (SCFR * CF(0, -Height / 2, 0)).p, TheDelay)
  867. if a then game:GetService("Debris"):AddItem(a, 1) end
  868. if b then game:GetService("Debris"):AddItem(b, 1) end
  869. SCFR = BLCF
  870. elseif not SCFR then
  871. SCFR = BLCF
  872. end
  873. --
  874. BLCF = nil
  875. SCFR = nil
  876. --]]
  877.  
  878. --//=================================\\
  879. --\\=================================//
  880.  
  881.  
  882.  
  883.  
  884. --//=================================\\
  885. --|| WEAPON CREATION
  886. --\\=================================//
  887.  
  888. local part = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Handle", VT(1.05*Player_Size,2.05*Player_Size,1.05*Player_Size))
  889. local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  890. local part = CreatePart(3, Weapon, "Metal", 0, 0, "Really black", "Handle", VT(1.07*Player_Size,1.07*Player_Size,1.07*Player_Size))
  891. local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  892. local part = CreatePart(3, Weapon, "Granite", 0, 0, "Maroon", "Handle", VT(1.07*Player_Size,0.5*Player_Size,1.07*Player_Size))
  893. local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0 * Player_Size, 0.85 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  894. local part = CreatePart(3, Weapon, "Granite", 0, 0, "Maroon", "Handle", VT(0.5*Player_Size,0.5*Player_Size,1.07*Player_Size))
  895. local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0.4 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  896. local part = CreatePart(3, Weapon, "Metal", 0, 0, "Really black", "Handle", VT(0.7*Player_Size,0.5*Player_Size,1.07*Player_Size))
  897. local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(-0.2 * Player_Size, 0.25 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  898. local part = CreatePart(3, Weapon, "Metal", 0, 0, "Really black", "Handle", VT(0.5*Player_Size,1.5*Player_Size, 0.5*Player_Size))
  899. local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0.35 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  900. local part = CreatePart(3, Weapon, "Metal", 0, 0, "Really black", "Handle", VT(0.5*Player_Size,1.5*Player_Size, 0.5*Player_Size))
  901. local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(-0.35 * Player_Size, 0.4 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  902. local part = CreatePart(3, Weapon, "Metal", 0, 0, "Maroon", "Handle", VT(0.5*Player_Size,0.5*Player_Size, 1.2*Player_Size))
  903. local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(-0.2 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  904.  
  905. local part = CreatePart(3, Weapon, "Metal", 0, 0, "Really black", "Handle", VT(0.2*Player_Size,0.2*Player_Size, 0.2*Player_Size))
  906. local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0.4 * Player_Size, 0.12 * Player_Size, -0.75 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180)), CF(0, 0, 0))
  907. local mesh = IT("SpecialMesh",part)
  908. mesh.MeshType = "FileMesh"
  909. mesh.MeshId = "http://www.roblox.com/asset/?id=55821108"
  910.  
  911. local part = CreatePart(3, Weapon, "Metal", 0, 0, "Really black", "Handle", VT(0.2*Player_Size,0.2*Player_Size, 0.2*Player_Size))
  912. local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0.4 * Player_Size, 0.12 * Player_Size, 0.75 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(0)), CF(0, 0, 0))
  913. local mesh = IT("SpecialMesh",part)
  914. mesh.MeshType = "FileMesh"
  915. mesh.MeshId = "http://www.roblox.com/asset/?id=55820516"
  916.  
  917. local part = CreatePart(3, Weapon, "Granite", 0, 0, "Really red", "Handle", VT(0.35*Player_Size,0.35*Player_Size, 1.25*Player_Size))
  918. local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(-0.2 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  919. local part = CreatePart(3, Weapon, "Metal", 0, 0, "Maroon", "Handle", VT(0.5*Player_Size,0.5*Player_Size, 1.2*Player_Size))
  920. local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(-0.2 * Player_Size, -0.7 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  921. local part = CreatePart(3, Weapon, "Metal", 0, 0, "Maroon", "Handle", VT(1.1*Player_Size,0.2*Player_Size, 1.1*Player_Size))
  922. local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0 * Player_Size, -0.7 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  923. local part = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Handle", VT(1.15*Player_Size,0.05*Player_Size, 1.15*Player_Size))
  924. local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0 * Player_Size, -0.7 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  925. local part = CreatePart(3, Weapon, "Granite", 0, 0, "Maroon", "Handle", VT(1*Player_Size,0.1*Player_Size,1*Player_Size))
  926. local weld = CreateWeldOrSnapOrMotor("Weld", part, RightArm, part, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  927. local mesh = IT("CylinderMesh",part)
  928.  
  929. local beampart = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Handle", VT(0.6*Player_Size,0.1*Player_Size,0.6*Player_Size))
  930. local weld = CreateWeldOrSnapOrMotor("Weld", beampart, RightArm, beampart, CF(0 * Player_Size, -1.02 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
  931. local mesh = IT("CylinderMesh",beampart)
  932.  
  933. for _, c in pairs(Weapon:GetChildren()) do
  934. if c.ClassName == "Part" then
  935. c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  936. end
  937. end
  938.  
  939. Weapon.Parent = Character
  940.  
  941. Humanoid.Died:connect(function()
  942. ATTACK = true
  943. end)
  944.  
  945. print(Class_Name.." loaded.")
  946.  
  947. --//=================================\\
  948. --\\=================================//
  949.  
  950.  
  951.  
  952.  
  953.  
  954. --//=================================\\
  955. --|| DAMAGE FUNCTIONS
  956. --\\=================================//
  957.  
  958. function StatLabel(LABELTYPE, CFRAME, TEXT, COLOR)
  959. local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
  960. STATPART.CFrame = CF(CFRAME.p + VT(0, 1.5, 0))
  961. local BODYGYRO = IT("BodyGyro", STATPART)
  962. local BODYPOSITION = IT("BodyPosition", STATPART)
  963. BODYPOSITION.P = 2000
  964. BODYPOSITION.D = 100
  965. BODYPOSITION.maxForce = VT(math.huge, math.huge, math.huge)
  966. if LABELTYPE == "Normal" then
  967. BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 6, MRANDOM(-2, 2))
  968. elseif LABELTYPE == "Debuff" then
  969. BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 8, MRANDOM(-2, 2))
  970. elseif LABELTYPE == "Interruption" then
  971. BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2,2), 8, MRANDOM(-2, 2))
  972. end
  973. game:GetService("Debris"):AddItem(STATPART ,5)
  974. local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
  975. BILLBOARDGUI.Adornee = STATPART
  976. BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
  977. BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
  978. BILLBOARDGUI.AlwaysOnTop = false
  979. local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
  980. TEXTLABEL.BackgroundTransparency = 1
  981. TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
  982. TEXTLABEL.Text = TEXT
  983. TEXTLABEL.Font = "SciFi"
  984. TEXTLABEL.FontSize="Size42"
  985. TEXTLABEL.TextColor3 = COLOR
  986. TEXTLABEL.TextStrokeTransparency = 1
  987. TEXTLABEL.TextScaled = true
  988. TEXTLABEL.TextWrapped = true
  989. coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
  990. wait(0.2)
  991. for i=1, 5 do
  992. wait()
  993. THEBODYPOSITION.Position = THEPART.Position - VT(0, 0.5 ,0)
  994. end
  995. wait(1.2)
  996. for i=1, 5 do
  997. wait()
  998. THETEXTLABEL.TextTransparency = THETEXTLABEL.TextTransparency + 0.2
  999. THETEXTLABEL.TextStrokeTransparency = THETEXTLABEL.TextStrokeTransparency + 0.2
  1000. THEBODYPOSITION.position = THEPART.Position + VT(0, 0.5, 0)
  1001. end
  1002. THEPART.Parent = nil
  1003. end),STATPART, BODYPOSITION, TEXTLABEL)
  1004. end
  1005.  
  1006. function dealdamage(hit,min,max,maxstrength,beserk,critrate,critmultiplier)
  1007. if hit.Parent ~= Character and hit.Parent:FindFirstChildOfClass("Humanoid") and hit.Parent:FindFirstChild("HitBy"..Player.Name) == nil then
  1008. local humanoid = hit.Parent:FindFirstChildOfClass("Humanoid")
  1009. local dmg = math.random(min,max)
  1010. if humanoid.Health > 0 then
  1011. if beserk == true then
  1012. humanoid.Health = 0
  1013. humanoid.Parent:BreakJoints()
  1014. StatLabel("Normal", hit.CFrame * CF(0, 0 + (hit.Size.z - 1), 0), "BESERK/inf", C3(255/255, 0, 0))
  1015. else
  1016. CreateSound("260430060", hit, 1.2, MRANDOM(7, 12) / 10)
  1017. hit.Velocity = CFrame.new(Torso.Position,hit.Position).lookVector*5*maxstrength
  1018. if math.random(1,100) < critrate+1 then
  1019. humanoid.Health = humanoid.Health - dmg*critmultiplier
  1020. StatLabel("Normal", hit.CFrame * CF(0, 0 + (hit.Size.z - 1), 0), "CRIT/"..dmg*critmultiplier, C3(255/255, 0, 0))
  1021. else
  1022. humanoid.Health = humanoid.Health - dmg
  1023. StatLabel("Normal", hit.CFrame * CF(0, 0 + (hit.Size.z - 1), 0), dmg, C3(0, 0, 0))
  1024. end
  1025. local defence = Instance.new("BoolValue",hit.Parent)
  1026. defence.Name = ("HitBy"..Player.Name)
  1027. game:GetService("Debris"):AddItem(defence, 0.5)
  1028. end
  1029. end
  1030. end
  1031. end
  1032.  
  1033. function AoEDamage(position,radius,min,max,maxstrength,beserk,critrate,critmultiplier,CanBeDodgedByJumping)
  1034. local dmg = (math.random(min,max)/5)
  1035. for i,v in ipairs(workspace:GetChildren()) do
  1036. local body = v:GetChildren()
  1037. for part = 1, #body do
  1038. if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
  1039. if(body[part].Position - position).Magnitude < radius then
  1040. if v.ClassName == "Model" then
  1041. if v:FindFirstChild("Humanoid") and v:FindFirstChild("HitBy"..Player.Name) == nil then
  1042. if CanBeDodgedByJumping == true then
  1043. if v.Humanoid.Jump == false then
  1044. if math.random(1,100) < critrate+1 then
  1045. v.Humanoid.Health = v.Humanoid.Health - dmg*critmultiplier
  1046. --StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), "CRIT/"..dmg*critmultiplier, C3(255/255, 0, 0))
  1047. else
  1048. v.Humanoid.Health = v.Humanoid.Health - dmg
  1049. --StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), dmg, C3(0, 0, 0))
  1050. end
  1051. local defence = Instance.new("BoolValue",v.Parent)
  1052. defence.Name = ("HitBy"..Player.Name)
  1053. game:GetService("Debris"):AddItem(defence, 0.5)
  1054. end
  1055. else
  1056. if beserk == true then
  1057. v.Humanoid.Health = 0
  1058. end
  1059. if math.random(1,100) < critrate+1 then
  1060. v.Humanoid.Health = v.Humanoid.Health - dmg*critmultiplier
  1061. --StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), "CRIT/"..dmg*critmultiplier, C3(255/255, 0, 0))
  1062. else
  1063. v.Humanoid.Health = v.Humanoid.Health - dmg
  1064. --StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), dmg, C3(0, 0, 0))
  1065. end
  1066. local defence = Instance.new("BoolValue",v.Parent)
  1067. defence.Name = ("HitBy"..Player.Name)
  1068. game:GetService("Debris"):AddItem(defence, 0.5)
  1069. end
  1070. end
  1071. end
  1072. body[part].Velocity = CFrame.new(position,body[part].Position).lookVector*5*maxstrength
  1073. end
  1074. end
  1075. end
  1076. if v.ClassName == "Part" then
  1077. if v.Anchored == false and (v.Position - position).Magnitude < radius then
  1078. v.Velocity = CFrame.new(position,v.Position).lookVector*5*maxstrength
  1079. end
  1080. end
  1081. end
  1082. end
  1083.  
  1084. --//=================================\\
  1085. --|| ATTACK FUNCTIONS AND STUFF
  1086. --\\=================================//
  1087.  
  1088. function turnto(position)
  1089. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
  1090. end
  1091.  
  1092. function CastRay(StartPos, Vec, Length, Ignore)
  1093. local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
  1094. local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Vec * Length), Ignore)
  1095. return RayHit, RayPos
  1096. end
  1097.  
  1098. function Shoot()
  1099. Rooted = true
  1100. ATTACK = true
  1101. for i=0, 1, 0.1 / Animation_Speed do
  1102. Swait()
  1103. turnto(Mouse.Hit.p)
  1104. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0.05 * Player_Size, 0 * Player_Size, -0.1 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(40)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed/5)
  1105. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-40)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1106. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1 * Player_Size, 0.5 * Player_Size, -1 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
  1107. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(10 - 2.5 * COS(SINE / 16)), RAD(0), RAD(-25 + 2.5 * SIN(SINE / 24))) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1108. RightHip.C0 = Clerp(RightHip.C0, CF(0.95 * Player_Size, -1 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(0), RAD(50), RAD(0)) * ANGLES(RAD(-1.25), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1109. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.9 * Player_Size, 0.25 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-2.5), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1110. end
  1111. --local RayHit, RayPos = CastRay(beampart.Position,Mouse.Hit.p,100,Character)
  1112. MagicBlock("Really red", "Neon", beampart.CFrame * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), ANGLES(RAD(MRANDOM(-5, 5)), RAD(MRANDOM(-5, 5)), RAD(MRANDOM(-5, 5))), VT(0, 0, 0), 0.25, 0.25, 0.25, 1.5, 1.5, 1.5, 0.05)
  1113. CreateSound("379225925", beampart, 3, 1.1)
  1114. local laser = IT("Part",Effects)
  1115. laser.CanCollide = false
  1116. laser.Anchored = true
  1117. local distance = (beampart.Position - Mouse.Hit.p).magnitude
  1118. laser.Size = Vector3.new(0.2, 0.2, distance)
  1119. laser.CFrame = CFrame.new(beampart.Position,Mouse.Hit.p) * CFrame.new(0, 0, -distance/2)
  1120. laser.Material = "Neon"
  1121. laser.BrickColor = BRICKC("Really red")
  1122. table.insert(Effects2,{laser,"Disappear",0.05,2,2,2,2})
  1123. AoEDamage(Mouse.Hit.p,5,25,35,12,false,10,2)
  1124. MagicSphere("Really red", "Neon", CF(Mouse.Hit.p) * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), ANGLES(RAD(MRANDOM(-5, 5)), RAD(MRANDOM(-5, 5)), RAD(MRANDOM(-5, 5))), VT(0, 0, 0), 0.25, 0.25, 0.25, 7.5, 7.5, 7.5, 0.05)
  1125. MagicBlock("Really red", "Neon", CF(Mouse.Hit.p) * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), ANGLES(RAD(MRANDOM(-5, 5)), RAD(MRANDOM(-5, 5)), RAD(MRANDOM(-5, 5))), VT(0, 0, 0), 0.25, 0.25, 0.25, 7.5, 7.5, 7.5, 0.05)
  1126. for i=0, 0.25, 0.1 / Animation_Speed do
  1127. Swait()
  1128. turnto(Mouse.Hit.p)
  1129. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0.05 * Player_Size, 0 * Player_Size, -0.1 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(50)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1130. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-50)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1131. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1 * Player_Size, 0.5 * Player_Size, -1 * Player_Size) * ANGLES(RAD(160), RAD(0), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
  1132. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(10 - 2.5 * COS(SINE / 16)), RAD(0), RAD(-25 + 2.5 * SIN(SINE / 24))) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1133. RightHip.C0 = Clerp(RightHip.C0, CF(0.95 * Player_Size, -1 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(0), RAD(60), RAD(0)) * ANGLES(RAD(-1.25), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1134. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.9 * Player_Size, 0.25 * Player_Size) * ANGLES(RAD(0), RAD(-100), RAD(0)) * ANGLES(RAD(-2.5), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1135. end
  1136. ATTACK = false
  1137. Rooted = false
  1138. end
  1139.  
  1140. function ChargeShot()
  1141. Rooted = true
  1142. ATTACK = true
  1143. for i=0, 1, 0.1 / Animation_Speed do
  1144. Swait()
  1145. turnto(Mouse.Hit.p)
  1146. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0.05 * Player_Size, 0 * Player_Size, -0.1 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(40)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed/5)
  1147. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-40)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1148. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1 * Player_Size, 0.5 * Player_Size, -1 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
  1149. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(10 - 2.5 * COS(SINE / 16)), RAD(0), RAD(-25 + 2.5 * SIN(SINE / 24))) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1150. RightHip.C0 = Clerp(RightHip.C0, CF(0.95 * Player_Size, -1 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(0), RAD(50), RAD(0)) * ANGLES(RAD(-1.25), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1151. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.9 * Player_Size, 0.25 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-2.5), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1152. end
  1153. local SIZE = 1
  1154. repeat
  1155. turnto(Mouse.Hit.p)
  1156. MagicSphere("Really red", "Neon", beampart.CFrame * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), ANGLES(RAD(MRANDOM(-5, 5)), RAD(MRANDOM(-5, 5)), RAD(MRANDOM(-5, 5))), VT(0, 0, 0), 0.25, 0.25, 0.25, SIZE, SIZE, SIZE, 0.05)
  1157. Swait()
  1158. SIZE = SIZE + 0.01
  1159. until KEYHOLD == false
  1160. --local RayHit, RayPos = CastRay(beampart.Position,Mouse.Hit.p,100,Character)
  1161. MagicBlock("Really red", "Neon", beampart.CFrame * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), ANGLES(RAD(MRANDOM(-5, 5)), RAD(MRANDOM(-5, 5)), RAD(MRANDOM(-5, 5))), VT(0, 0, 0), 0.25, 0.25, 0.25, SIZE*1.5, SIZE*1.5, SIZE*1.5, 0.05)
  1162. CreateSound("379225925", beampart, 3, 1.1)
  1163. local laser = IT("Part",Effects)
  1164. laser.CanCollide = false
  1165. laser.Anchored = true
  1166. local distance = (beampart.Position - Mouse.Hit.p).magnitude
  1167. laser.Size = Vector3.new(SIZE * 0.2, SIZE * 0.2, distance)
  1168. laser.CFrame = CFrame.new(beampart.Position,Mouse.Hit.p) * CFrame.new(0, 0, -distance/2)
  1169. laser.Material = "Neon"
  1170. laser.BrickColor = BRICKC("Really red")
  1171. table.insert(Effects2,{laser,"Disappear",0.05,2,2,2,2})
  1172. AoEDamage(Mouse.Hit.p,SIZE * 5,SIZE*10,SIZE*15,SIZE*5,false,10,2)
  1173. MagicSphere("Really red", "Neon", CF(Mouse.Hit.p) * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), ANGLES(RAD(MRANDOM(-5, 5)), RAD(MRANDOM(-5, 5)), RAD(MRANDOM(-5, 5))), VT(0, 0, 0), 0.25, 0.25, 0.25, SIZE * 7.5, SIZE * 7.5, SIZE * 7.5, 0.05)
  1174. MagicBlock("Really red", "Neon", CF(Mouse.Hit.p) * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), ANGLES(RAD(MRANDOM(-5, 5)), RAD(MRANDOM(-5, 5)), RAD(MRANDOM(-5, 5))), VT(0, 0, 0), 0.25, 0.25, 0.25, SIZE * 7.5, SIZE * 7.5, SIZE * 7.5, 0.05)
  1175. for i=0, 0.25, 0.1 / Animation_Speed do
  1176. Swait()
  1177. turnto(Mouse.Hit.p)
  1178. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0.05 * Player_Size, 0 * Player_Size, -0.1 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(50)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1179. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-50)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1180. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1 * Player_Size, 0.5 * Player_Size, -1 * Player_Size) * ANGLES(RAD(160), RAD(0), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
  1181. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(10 - 2.5 * COS(SINE / 16)), RAD(0), RAD(-25 + 2.5 * SIN(SINE / 24))) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1182. RightHip.C0 = Clerp(RightHip.C0, CF(0.95 * Player_Size, -1 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(0), RAD(60), RAD(0)) * ANGLES(RAD(-1.25), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1183. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.9 * Player_Size, 0.25 * Player_Size) * ANGLES(RAD(0), RAD(-100), RAD(0)) * ANGLES(RAD(-2.5), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1184. end
  1185. Rooted = false
  1186. ATTACK = false
  1187. end
  1188.  
  1189. function RayCast(Position, Direction, MaxDistance, IgnoreList)
  1190. return game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(Position, Direction.unit * (MaxDistance or 999.999)), IgnoreList)
  1191. end
  1192.  
  1193. function GroundUp()
  1194. local RayHit, RayPos = RayCast(Mouse.Hit.p, Vector3.new(0, -1, 0), (1), {Character})
  1195. local SpawnPosition = RayPos
  1196. if RayPos then
  1197. Rooted = true
  1198. ATTACK = true
  1199. CreateSound("588697034", RightArm, 2, 0.8)
  1200. for i=0, 1, 0.1 / Animation_Speed/6 do
  1201. Swait()
  1202. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -1 * Player_Size) * ANGLES(RAD(45), RAD(0), RAD(0)), 0.2 / Animation_Speed/8)
  1203. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1204. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 1 * Player_Size, 1 * Player_Size) * ANGLES(RAD(30), RAD(-690), RAD(2 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 24))) * RIGHTSHOULDERC0, 0.15 / Animation_Speed/8)
  1205. 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/8)
  1206. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed/8)
  1207. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.3 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(5), RAD(0)) * ANGLES(RAD(45), RAD(0), RAD(10)), 0.2 / Animation_Speed/8)
  1208. end
  1209. for i=0, 1, 0.1 / Animation_Speed*2 do
  1210. Swait()
  1211. RootPart.Anchored = true
  1212. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -1 * Player_Size) * ANGLES(RAD(45), RAD(0), RAD(0)), 0.2 / Animation_Speed*3)
  1213. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1214. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 1 * Player_Size, -1.4 * Player_Size) * ANGLES(RAD(30), RAD(-690), RAD(2 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 24))) * RIGHTSHOULDERC0, 0.15 / Animation_Speed*5)
  1215. 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)
  1216. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
  1217. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.3 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(5), RAD(0)) * ANGLES(RAD(45), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  1218. end
  1219. CreateSound("186772924", beampart, 5, 1)
  1220. local floor = IT("Part",Effects)
  1221. floor.Anchored = true
  1222. floor.Size = VT(15,0.2,15)
  1223. floor.Material = "Neon"
  1224. floor.BrickColor = BRICKC("Really red")
  1225. floor.CanCollide = false
  1226. local cyl = Instance.new("CylinderMesh",floor)
  1227. floor.CFrame = CF(beampart.Position.X,beampart.Position.Y-0.2,beampart.Position.Z)
  1228. AoEDamage(floor.Position,25,10,25,15,false,10,5,true)
  1229. local scale = 25
  1230. table.insert(Effects2,{floor,"Block1",0.05,1,0,1,2})
  1231. coroutine.resume(coroutine.create(function()
  1232. repeat
  1233. Swait()
  1234. scale = scale + 5
  1235. AoEDamage(floor.Position,scale,1,2,5,false,10,5,true)
  1236. until floor.Parent == nil
  1237. end))
  1238. end
  1239. ATTACK = false
  1240. Rooted = false
  1241. end
  1242.  
  1243. function fromabove()
  1244. Rooted = true
  1245. ATTACK = true
  1246. for i=0, 1, 0.1 / Animation_Speed do
  1247. Swait()
  1248. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(-20)), 0.15 / Animation_Speed/5)
  1249. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(15)), 0.15 / Animation_Speed)
  1250. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.75 * Player_Size, 0.5 * Player_Size, -1 * Player_Size) * ANGLES(RAD(70), RAD(0), RAD(-70)) * ANGLES(RAD(20), RAD(25), RAD(-15)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
  1251. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(10 - 2.5 * COS(SINE / 16)), RAD(0), RAD(-25 + 2.5 * SIN(SINE / 24))) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1252. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size - 0.05 * COS(SINE / 12) * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-2.5)), 0.15 / Animation_Speed)
  1253. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size - 0.05 * COS(SINE / 12) * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(-65), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(-15)), 0.15 / Animation_Speed)
  1254. end
  1255. CreateSound("132392101", Head, 10, 1.1)
  1256. Swait(175)
  1257. for i=0, 1, 0.1 / Animation_Speed do
  1258. Swait()
  1259. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0.05 * Player_Size, 0 * Player_Size, -0.1 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(40)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1260. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-40)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1261. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1 * Player_Size, 0.5 * Player_Size, -1 * Player_Size) * ANGLES(RAD(180), RAD(0), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
  1262. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1 * Player_Size, 0.2 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(25), RAD(25), RAD(90)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
  1263. RightHip.C0 = Clerp(RightHip.C0, CF(0.95 * Player_Size, -1 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(0), RAD(50), RAD(0)) * ANGLES(RAD(-1.25), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1264. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.9 * Player_Size, 0.25 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-2.5), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1265. end
  1266. local SIZE = 1
  1267. for i = 1, 70 do
  1268. MagicSphere("Really red", "Neon", beampart.CFrame * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), ANGLES(RAD(MRANDOM(-5, 5)), RAD(MRANDOM(-5, 5)), RAD(MRANDOM(-5, 5))), VT(0, 0, 0), 0.25, 0.25, 0.25, SIZE, SIZE, SIZE, 0.05)
  1269. Swait()
  1270. SIZE = SIZE + 0.06
  1271. end
  1272. MagicBlock("Really red", "Neon", beampart.CFrame * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), ANGLES(RAD(MRANDOM(-5, 5)), RAD(MRANDOM(-5, 5)), RAD(MRANDOM(-5, 5))), VT(0, 0, 0), 0.25, 0.25, 0.25, 1.5, 1.5, 1.5, 0.05)
  1273. CreateSound("379225925", beampart, 3, 1.1)
  1274. local laser = IT("Part",Effects)
  1275. laser.CanCollide = false
  1276. laser.Anchored = true
  1277. local distance = (beampart.Position - VT(beampart.Position.X,beampart.Position.Y+1000,beampart.Position.Z)).magnitude
  1278. laser.Size = Vector3.new(0.2, 0.2, distance)
  1279. laser.CFrame = CFrame.new(beampart.Position,VT(beampart.Position.X,beampart.Position.Y+1000,beampart.Position.Z)) * CFrame.new(0, 0, -distance/2)
  1280. laser.Material = "Neon"
  1281. laser.BrickColor = BRICKC("Really red")
  1282. table.insert(Effects2,{laser,"Disappear",0.05,2,2,2,2})
  1283. ATTACK = false
  1284. Rooted = false
  1285. local pos = Mouse.Hit.p
  1286. Swait(10)
  1287. for i = 1, 85 do
  1288. coroutine.resume(coroutine.create(function()
  1289. Swait(math.random(1,100))
  1290. local pos = VT(pos.X+math.random(-15,15),pos.Y,pos.Z+math.random(-15,15))
  1291. local laser = IT("Part",Effects)
  1292. laser.CanCollide = false
  1293. laser.Anchored = true
  1294. local distance = (pos - VT(pos.X,pos.Y+1000,pos.Z)).magnitude
  1295. laser.Size = Vector3.new(0.2, 0.2, distance)
  1296. laser.CFrame = CFrame.new(pos,VT(pos.X,pos.Y+1000,pos.Z)) * CFrame.new(0, 0, -distance/2)
  1297. laser.Material = "Neon"
  1298. laser.BrickColor = BRICKC("Really red")
  1299. MagicSphere("Really red", "Neon", CF(pos) * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), ANGLES(RAD(MRANDOM(-5, 5)), RAD(MRANDOM(-5, 5)), RAD(MRANDOM(-5, 5))), VT(0, 0, 0), 0.25, 0.25, 0.25, 7.5, 7.5, 7.5, 0.05)
  1300. MagicBlock("Really red", "Neon", CF(pos) * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), ANGLES(RAD(MRANDOM(-5, 5)), RAD(MRANDOM(-5, 5)), RAD(MRANDOM(-5, 5))), VT(0, 0, 0), 0.25, 0.25, 0.25, 7.5, 7.5, 7.5, 0.05)
  1301. table.insert(Effects2,{laser,"Disappear",0.05,2,2,2,2})
  1302. AoEDamage(pos,5,15,25,12,false,10,2)
  1303. end))
  1304. end
  1305. end
  1306.  
  1307.  
  1308.  
  1309.  
  1310. --//=================================\\
  1311. --|| ASSIGN THINGS TO KEYS
  1312. --\\=================================//
  1313.  
  1314. Humanoid.Changed:connect(function(Jump)
  1315. if Jump == "Jump" and (Disable_Jump == true or DISABLEJUMPING == true) then
  1316. Humanoid.Jump = false
  1317. end
  1318. end)
  1319.  
  1320. function MouseDown(Mouse)
  1321. if ATTACK == false then
  1322. --HOLD = true
  1323. Shoot()
  1324. end
  1325. end
  1326.  
  1327. function MouseUp(Mouse)
  1328. HOLD = false
  1329. end
  1330.  
  1331. function KeyDown(Key)
  1332. KEYHOLD = true
  1333. if Key == "e" and ATTACK == false then
  1334. ChargeShot()
  1335. end
  1336. if Key == "g" and ATTACK == false then
  1337. GroundUp()
  1338. end
  1339. if Key == "p" then
  1340. if SPRINTING == false then
  1341. SPRINTING = true
  1342. elseif SPRINTING == true then
  1343. SPRINTING = false
  1344. end
  1345. end
  1346. if Key == "x" and ATTACK == false then
  1347. fromabove()
  1348. end
  1349. if Key == "t" and ATTACK == false then
  1350. CreateSound("132392118", Head, 10, 1.1)
  1351. end
  1352. if Key == "g" then
  1353. CreateSound("907332525", Head, 10, 1.1)
  1354. end
  1355. end
  1356.  
  1357. function KeyUp(Key)
  1358. KEYHOLD = false
  1359. end
  1360.  
  1361. Mouse.Button1Down:connect(function(NEWKEY)
  1362. MouseDown(NEWKEY)
  1363. end)
  1364. Mouse.Button1Up:connect(function(NEWKEY)
  1365. MouseUp(NEWKEY)
  1366. end)
  1367. Mouse.KeyDown:connect(function(NEWKEY)
  1368. KeyDown(NEWKEY)
  1369. end)
  1370. Mouse.KeyUp:connect(function(NEWKEY)
  1371. KeyUp(NEWKEY)
  1372. end)
  1373.  
  1374. --//=================================\\
  1375. --\\=================================//
  1376.  
  1377.  
  1378. function unanchor()
  1379. if UNANCHOR == true then
  1380. g = Character:GetChildren()
  1381. for i = 1, #g do
  1382. if g[i].ClassName == "Part" then
  1383. g[i].Anchored = false
  1384. end
  1385. end
  1386. end
  1387. end
  1388.  
  1389. --//=================================\\
  1390. --|| WRAP THE WHOLE SCRIPT UP
  1391. --\\=================================//
  1392.  
  1393. Humanoid.Changed:connect(function(Jump)
  1394. if Jump == "Jump" and (Disable_Jump == true or DISABLEJUMPING == true) then
  1395. Humanoid.Jump = false
  1396. end
  1397. end)
  1398.  
  1399. Rooted = true
  1400. ANIMATE.Parent = nil
  1401. local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
  1402. IDLEANIMATION:Play()
  1403. Swait(15)
  1404. Rooted = false
  1405.  
  1406. while true do
  1407. Swait()
  1408. SINE = SINE + CHANGE
  1409. local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  1410. local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  1411. local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
  1412. local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
  1413. local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
  1414. if ANIM == "Walk" and TORSOVELOCITY > 1 then
  1415. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.1 * COS(SINE / (WALKSPEEDVALUE / 2)) * Player_Size) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1416. 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)
  1417. RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 0.875 * Player_Size - 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, -0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1418. LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 0.875 * Player_Size + 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, 0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1419. elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
  1420. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1421. 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)
  1422. 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)
  1423. 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)
  1424. end
  1425. if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
  1426. ANIM = "Jump"
  1427. if ATTACK == false then
  1428. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1429. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1430. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
  1431. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  1432. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, -0.3 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
  1433. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, -0.3 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  1434. end
  1435. elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
  1436. ANIM = "Fall"
  1437. if ATTACK == false then
  1438. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1439. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1440. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
  1441. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
  1442. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
  1443. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
  1444. end
  1445. elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  1446. ANIM = "Idle"
  1447. if ATTACK == false then
  1448. RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(-20)), 0.15 / Animation_Speed)
  1449. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(15)), 0.15 / Animation_Speed)
  1450. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.75 * Player_Size, 0.5 * Player_Size, -1 * Player_Size) * ANGLES(RAD(70), RAD(0), RAD(-70)) * ANGLES(RAD(20), RAD(25), RAD(-15)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
  1451. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(10 - 2.5 * COS(SINE / 16)), RAD(0), RAD(-25 + 2.5 * SIN(SINE / 24))) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1452. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size - 0.05 * COS(SINE / 12) * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-2.5)), 0.15 / Animation_Speed)
  1453. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size - 0.05 * COS(SINE / 12) * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(-65), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(-15)), 0.15 / Animation_Speed)
  1454. end
  1455. elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  1456. ANIM = "Walk"
  1457. WALK = WALK + 1 / Animation_Speed
  1458. if WALK >= 15 - (5 * (Humanoid.WalkSpeed / 16 / Player_Size)) then
  1459. WALK = 0
  1460. if WALKINGANIM == true then
  1461. WALKINGANIM = false
  1462. elseif WALKINGANIM == false then
  1463. WALKINGANIM = true
  1464. end
  1465. end
  1466. --RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 0.875 * Player_Size - 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, -0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1467. --LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 0.875 * Player_Size + 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, 0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1468. if ATTACK == false and SPRINTING == false then
  1469. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0.05 * COS(SINE / WALKSPEEDVALUE) * Player_Size, 0 * Player_Size, -0.1 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(-40)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1470. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(40)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1471. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.75 * Player_Size, 0.5 * Player_Size, -1 * Player_Size) * ANGLES(RAD(70), RAD(0), RAD(-70)) * ANGLES(RAD(20), RAD(25), RAD(-15)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
  1472. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(10 - 2.5 * COS(SINE / 16)), RAD(0), RAD(-25 + 2.5 * SIN(SINE / 24))) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1473. RightHip.C0 = Clerp(RightHip.C0, CF(0.95 * Player_Size, -1 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(0), RAD(130), RAD(0)) * ANGLES(RAD(-1.25 - 2.5 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1474. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.9 * Player_Size, 0.25 * Player_Size) * ANGLES(RAD(0), RAD(-50), RAD(0)) * ANGLES(RAD(-2.5 + 2.5 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1475. elseif ATTACK == false and SPRINTING == true then
  1476. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0.05 * COS(SINE / WALKSPEEDVALUE) * Player_Size, 0 * Player_Size, -0.1 * Player_Size) * ANGLES(RAD(20), RAD(0), RAD(-40)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1477. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(40)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1478. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.75 * Player_Size, 0.5 * Player_Size, -1 * Player_Size) * ANGLES(RAD(70), RAD(0), RAD(-70)) * ANGLES(RAD(20), RAD(25), RAD(-15)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
  1479. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-30 - 2.5 * COS(SINE / 16)), RAD(0), RAD(-25 + 2.5 * SIN(SINE / 24))) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
  1480. RightHip.C0 = Clerp(RightHip.C0, CF(0.95 * Player_Size, -1 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(0), RAD(130), RAD(0)) * ANGLES(RAD(-1.25 - 2.5 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1481. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.9 * Player_Size, 0.25 * Player_Size) * ANGLES(RAD(0), RAD(-50), RAD(0)) * ANGLES(RAD(-2.5 + 2.5 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
  1482. end
  1483. end
  1484. if #Effects2>0 then
  1485. for e=1,#Effects2 do
  1486. if Effects2[e]~=nil then
  1487. local Thing=Effects2[e]
  1488. if Thing~=nil then
  1489. local Part=Thing[1]
  1490. local Mode=Thing[2]
  1491. local Delay=Thing[3]
  1492. local IncX=Thing[4]
  1493. local IncY=Thing[5]
  1494. local IncZ=Thing[6]
  1495. local Part2=Thing[8]
  1496. if Thing[1].Transparency<=1 then
  1497. if Thing[2]=="Block1" then
  1498. Thing[1].CFrame=Thing[1].CFrame
  1499. Mesh=Thing[1].Mesh
  1500. Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
  1501. Thing[1].Transparency=Thing[1].Transparency+Thing[3]
  1502. elseif Thing[2]=="Cylinder" then
  1503. Mesh=Thing[1].Mesh
  1504. Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
  1505. Thing[1].Transparency=Thing[1].Transparency+Thing[3]
  1506. elseif Thing[2]=="Blood" then
  1507. Mesh=Thing[7]
  1508. Thing[1].CFrame=Thing[1].CFrame*CF(0,.5,0)
  1509. Mesh.Scale=Mesh.Scale+VT(Thing[4],Thing[5],Thing[6])
  1510. Thing[1].Transparency=Thing[1].Transparency+Thing[3]
  1511. elseif Thing[2]=="Elec" then
  1512. Mesh=Thing[1].Mesh
  1513. Mesh.Scale=Mesh.Scale+VT(Thing[7],Thing[8],Thing[9])
  1514. Thing[1].Transparency=Thing[1].Transparency+Thing[3]
  1515. elseif Thing[2]=="Disappear" then
  1516. Thing[1].Transparency=Thing[1].Transparency+Thing[3]
  1517. end
  1518. else
  1519. Part.Parent=nil
  1520. table.remove(Effects2,e)
  1521. end
  1522. end
  1523. end
  1524. end
  1525. end
  1526. unanchor()
  1527. Humanoid.MaxHealth = "inf"
  1528. Humanoid.Health = "inf"
  1529. if Rooted == false then
  1530. Disable_Jump = false
  1531. Humanoid.WalkSpeed = Speed
  1532. elseif Rooted == true then
  1533. Disable_Jump = true
  1534. Humanoid.WalkSpeed = 0
  1535. end
  1536. if SPRINTING == true then
  1537. Speed = 45
  1538. Humanoid.JumpPower = 100
  1539. elseif SPRINTING == false then
  1540. Speed = 16
  1541. Humanoid.JumpPower = 50
  1542. end
  1543. end
  1544.  
  1545. --//=================================\\
  1546. --\\=================================//
  1547.  
  1548.  
  1549.  
  1550.  
  1551.  
  1552. --//====================================================\\--
  1553. --|| END OF SCRIPT
  1554. --\\====================================================//--
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement